일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 파이썬 소스
- 자바 프로젝트
- 오라클
- 리눅스
- oracle
- 자바
- auto configure
- 백준 알고리즘
- 파이썬
- SQL
- JVM
- jsp
- 유사코드
- 프로젝트
- 초대장
- 학점
- 오라클 디비
- dynamic query
- 운영체제
- 티스토리
- smart cast
- c#
- gradle
- 알고리즘
- 문법 정리
- K6
- hyperledger
- MongoDB
- resilience4j
- Today
- Total
목록Programming (154)
모종닷컴
메이븐, 스프링 부트 cli 설치 후 이클립스에서 spring boot 프로젝트를 만들 때 났었던 에러입니다. Error ====================================================================================ArtifactTransferException: Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:3.0.2 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of..
1. 람다식이란 무엇인가? 자바에서 함수적 프로그래밍을 위해 자바 8부터 람다식을 지원하게 되었다. 람다식을 사용함으로써 코드가 매우 간결해지고, 필터링을 통해 결과를 쉽게 집계할 수 있게 되었다. 람다식은 ()->{....};의 형식으로 괄호안에는 매개변수가, 중괄호 안에는 실행코드가 들어가게 된다. 2. 람다식은 인터페이스 변수에 대입이 가능하다. 람다식은 기본적으로 인터페이스의 익명 구현 객체를 생성하게 된다. 하지만 모든 인터페이스에 대하여 사용할 수는 없다. 두 개 이상의 추상 메소드가 존재하는 인터페이스는 람다식을 이용하여 구현할 수 없다(오직 한 개의 메소드만 있는 인터페이스만 가능하다는 소리) 3. 람다식은 클래스의 필드 , 메소드 및 로컬 변수를 사용할 수 있다. 클래스의 필드나 메소드의..
학습목표 커맨드 패턴을 통해 얻을 수 있는 이점에 대하여 생각해보자커맨드 패턴 = 요청을 객체의 형태로 캡슐화하여 사용한다 정도랄까? 예를 들어 게시판을 만들 때 요청을 생각해보자. 요청은 여러 개로 나뉠 수 있다. 삭제 요청, 삽입 요청, 수정 요청 등 등 .. 이를 아래와 같이 각 요청에 따라 다르게 수행할 수 있는 객체로 만들 수 있다. 다양한 요청들을 처리할 때는 요청을 받은 쪽은 Command의 어떠한 내부 흐름이 있는지 몰라도 되고, execute()만 실행해주면 된다. 이를 큐에 응용한다면 큐는 어떤 요청이 오더라도 execute()만 호출하면 될 것이다. [소스 : https://github.com/kimjongmo/DesignPattern/tree/master/021CommandPatte..
학습목표 프록시를 왜 사용하는지 이해해본다.proxy pattern = "대신 처리 해준다" 스프링의 AOP 개념을 듣다 보면 프록시라는 개념이 나옵니다. 핵심 기능과 공통 기능을 나누고 공통 기능과 다른 기능들을 설정해두고 프록시가 처리하도록 하는 패턴인 것 같습니다. 동영상에 "대리"라는 단어로 비유 하듯이 간단한 업무는 프록시(대리)에게 맡기는 것을 의미합니다. 구조도는 다음과 같습니다 [출처 : https://www.youtube.com/watch?v=Nc-3QUJicvo][소스 : https://github.com/kimjongmo/DesignPattern/tree/master/020ProxyPattern]
오라클XE를 설치하면 부팅시 자동으로 켜져서 은근히 불편함을 느끼게 된다.. 메모리도 많이 잡아먹고, 톰캣 포트랑도 엇갈려서 계속 바꿔주기도 귀찮고 ㅋ 시작 -> '서비스' 검색 -> OracleServiceXE 랑 OracleXETNSListener를 찾아서 자동에서 수동으로 변경시켜주자.
"Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter" 위의 에러가 난다면 다음을 통해 확인해봅시다. 1. cmd 혹은 terminal을 열고 2. java -version 명령어를 통해 버전 확인 3. java 9를 사용하고 계시다면 java 8버전으로 바꿔서 시도해 주시길 바랍니다. java 9에서 아직 작동하지 않는 것들이 많은가 봅니다..
학습목표 프로토 타입 패턴을 통해서 복잡한 인스턴스를 복사 할 수 있다. 다수의 객체 생성시에 발생되는 객체의 생성 비용을 효과적으로 줄인다 프로토타입 패턴의 장점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) 위의 로그인 과정, 등급 확인 과정, 연결 과정 들을 각 각 메..