일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 리눅스
- spring
- dynamic query
- c#
- gradle
- 파이썬
- 티스토리
- 문법 정리
- smart cast
- oracle
- auto configure
- K6
- jsp
- 파이썬 소스
- 오라클
- 알고리즘
- 자바
- 운영체제
- 학점
- 초대장
- 프로젝트
- 자바 프로젝트
- resilience4j
- 오라클 디비
- JVM
- 유사코드
- hyperledger
- SQL
- MongoDB
- 백준 알고리즘
- Today
- Total
목록목차 (231)
모종닷컴
학습목표 프로토 타입 패턴을 통해서 복잡한 인스턴스를 복사 할 수 있다. 다수의 객체 생성시에 발생되는 객체의 생성 비용을 효과적으로 줄인다 프로토타입 패턴의 장점1. 객체를 생성해 주기 위한 별도의 객체 생성 클래스가 불필요하다2. 객체의 각 부분을 조합해서 생성되는 형태에도 적용 가능하다. 프로토타입 패턴의 단점1. 생성될 객체들의 자료형인 클래스들이 clone()메서드를 구현해야 한다. [소스 : https://github.com/kimjongmo/DesignPattern/tree/master/006ProtoType][참고 : http://leetaehoon.tistory.com/55 https://www.youtube.com/watch?v=oWsS67joKJA&t=401s]
학습목표하나의 인스턴스만 생성하고 이용할 수 있도록 하는 것 구조도는 다음과 같습니다. 대표적인 싱글톤 예제는 DBCP가 있습니다. private static LogonDBBean instance=null; public static LogonDBBean getInstance() { if(instance==null) instance = new LogonDBBean(); } 객체 생성을 줄임으로서 Heap 영역의 메모리가 줄었고, 하나의 인스턴스만 공유할 수 있게 되었다. 개인적으로 조금 주의를 가해야 한다는 생각은 자원을 공유한다는 것이기 때문에 멀티 스레드 같은 환경에서는 동기화를 시켜서 사용해야 할 것 같습니다. (그냥 Synchronized보다는 좀 더 효율적으로 만들순 없을까나... 훔...) 또 ..
학습목표 팩토리 메소드 패턴에서 템플릿 메소드 패턴의 사용됨을 안다. 팩토리 메소드 패턴에서의 구조와 구현의 분리를 이해하고 구조와 구현의 분리의 장점을 안다. 빨간 구역은 framework 패키지파란 구역은 concrete 패키지입니다. 설명에서도 템플릿 메소드가 나오듯이 두 가지 패턴이 굉장히 헷갈리는 패턴입니다. 강의 외에 두 가지가 차이가 잘 이해가 가지 않아서 좀 더 찾아본 결과 제 결론은 이렇습니다 템플릿 메소드 : 슈퍼클래스에서 로직의 흐름을 정하고, 서브클래스는 상속받은 로직의 흐름을 유지하고 , 기능을 구체화 시킵니다. Ex) 로직의 흐름 : (A에서 B로 갈꺼다) 기능 정의 : C와 D를 거쳐 A에서 B로 간다, C와 E를 거쳐 A에서 B로 간다. 팩토리 메소드 : 서브클래스에서 오브젝..
학습 목표일정한 프로세스를 가진 요구사항을 템플릿 메소드 패턴을 이용하여 구현 탬플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴. -> 변하지 않는 기능은 슈퍼클래스에서 만들어주고 자주 변경되어 확장할 기능은 서브클래스에서 만든다. 언제 쓰일까? - 구현하려는 알고리즘이 일정한 프로세스가 있다. - 구현하려는 알고리즘이 변경 가능성이 있다. 어떤 단계로 써야 할까? - 알고리즘을 여러 단계로 나눈다. ex) 게임에 접속 시 아이디 비밀번호 로그인 과정, 해당 회원의 등급(회원, 관리자) 확인 과정, 연결 과정 - 나눠진 알고리즘의 단계를 메소드로 선언한다. ex) 위의 로그인 과정, 등급 확인 과정, 연결 과정 들을 각 각 메..
학습 목표알고리즘을 요구사항에 맞게 사용할 수 있다. 상황을 예시로 들자면 "A라는 알고리즘을 돌리게 되면 효율이 매우 떨어진다는 것을 알게 되었고, B라는 알고리즘으로 대체를 하는 상황"이 가장 적절하다고 생각한다. 클래스의 구성은 다음과 같이 되어있다. AdapterImpl.class에서는 sort()라는 메소드안에 Sort.class의 알고리즘을 장착하고, Main.class에서는 이 AdapterImpl.class의 sort 메소드를 사용한다. 1. 버블 소트를 사용하고 있을 때 2. 버블 --> 퀵 다음 사진에서 볼 수 있듯이 Main.class에는 어떠한 변경도 일어나지 않았지만 전혀 다른 알고리즘으로 바꿀 수 있게 되었다. [출처 : https://www.youtube.com/watch?v=..
[출처 : https://hyperledger.github.io/composer/latest/tutorials/developer-tutorial] Step 1: 비즈니스 네트워크 구조 만들기 하이퍼레저 컴포저의 핵심 개념은 BND(Business network definition,비즈니스 네트워크 정의)입니다. BND는 데이터 모델, 트랜잭션 로직, 우리의 블록 체인 룰을 정의합니다. 쉽게 시작하는 방법은 Yeoman generator를 사용하여 비즈니스 네트워크 뼈대를 만드는 것입니다. Yeoman generator는 모든 비즈니스 네트워크의 구성을 포함하는 폴더를 만들것입니다. 1. yo hyperledger-composer:businessnetwork 2. 네트워크의 이름, 설명, 작성자 이름, 작..
학습 목표 인터페이스 개념 델리게이트 개념 전략 패턴 이해 인터페이스 : 기능의 선언과 구현으로 분리시킨다. public interface Ainterface { public void funcA();//기능의 선언 } public class AinterfaceImpl implements Ainterface{ //기능의 구현 public void funcA() { System.out.println("A"); } } 델리게이트 : 특정 객체의 기능을 사용하기 위해 다른 객체를 호출하는 것. public class AObj { private Ainterface inter; public AObj() { inter = new AinterfaceImpl(); } public void funcA() { //다른 객체..
*설치 전 준비사항 - 운영체제 : 우분투 14.04 LTS 64bit / 우분투 16.06 LTS 64bit 또는 Mac OS 10.12 - 도커 엔진 : v17.03 또는 그 이상버전 - 도커 컴포즈 : v1.8 또는 그 이상버전 - nodejs : v8.9 또는 그 이상버전 - npm : v5.x - git : v2.9.x 또는 그 이상 - 파이썬 : 2.7.x - 코드 에디터, 여기서는 VSCode를 추천한다고 합니다. (설치는 --> https://code.visualstudio.com/docs/setup/linux ) 우분투에 설치는 지원해주는 쉘 스크립트를 사용하시면 될 것 같습니다. 쉘 스크립트 실행하시기 전에 주의하실 점은 -일반 유저로 로그인-prerequisites할때는 curl을 사..
Flag parameter Type Explain -asOrg string parameter로 받은 조직 이름(Org name)으로 구성 생성을 수행하며, 해당 조직에 대해 설정할 권한이 있는 쓰기 집합의 값만 포함함 -channelID string configtx에서 사용한 채널 ID 기본값은 testchainid -inspectBlock string 지정된 경로에 있는 블록에 포함 된 구성을 인쇄 -inspectChannelCreateTx string 트랜잭션에 포함 된 구성을 지정된 경로에 인쇄 outputAnchorPeersUpdate string config update를 만들어 앵커 피어를 업데이트합니다(기본 채널 생성과 첫 번째 업데이트에만 적용) -outputBlock string gene..
genesis블록 구성을 위해서 기본으로 제공해주었던 configtx파일에 추가적으로 Oraganization에 Org3를 추가하고.. configtxgen으로 생성하려는데.. "~found character that cannnot start any token." 뭐지 왜 에러가 나는 것일까 아...오.. 기본적으로 파일 profile에서 제공하는 TwoOrgsOrdererGenesis헤더로 쭉 진행하고 후에 추가하는 방법도 있지만.. 이왕 하는 거 정확히 알고 넘어가고 싶어서 찾아봤다.. (*후에 추가하는 방법을 알고싶다면 --> 클릭) 역시 겁나 안나온다. hyperledger는 정보가 너무 없다 후우.. 그래도 갓스택오버플로우로 어찌어찌 비슷한 내용의 에러가 있어서 보다가 엄청난 걸 알게되었다. "..