본문 바로가기

전체 글86

VCS(Version Control System) - Subversion(svn), Git 특징 및 용어 정리 Version Control ? 파일의 변화를 시간에 따라 기록하여 과거 특정 시점의 버전을 다시 불러올 수 있다. 여러 사람이 수정한 소스코드의 병합(merge) 검증이 끝난 후 메인 코드에 통합할 수 있다. 개별 파일 도는 프로젝트 전체를 이전 상태로 되돌릴 수 있어서 문제가 생겨도 쉽게 복구할 수 있다. 소스코드의 변경 사항을 쉽게 추적할 수 있다. Subversion (SVN) 중앙 집중식 버전 관리 시스템으로 가장 많이 사용되던 버전 관리 도구 중 하나였다. 디렉터리를 Trunk/Branches/Tags로 구분하여 프로젝트에 영향을 최소화하며 변경할 수 있다. Trunk: 주요 개발 영역이다. Branches: Release 버전과 유지보수 버전을 분리하고 싶을 때 주로 사용한다. branch에.. 2019. 8. 30.
람다식(Lambda Expression) 아주아주 기초 문법 Lambda Expression 람다 표현식은 함수를 간결하게 표현할 수 있다. 프로그래밍 언어의 개념으로는 단순한 익명 함수 생성 문법이라 이해할 수 있다. 기존의 불필요한 코드를 줄이고 가독성을 향상시키는 것이 목적이다. -> 기호 ( parameters ) -> expression body // 하나의 명령문만으로 이루어진 경우에 {} 생략 가능 ( parameters ) -> { expression body } 가장 대표적인 예시로 Thread 실행이 있다. 람다식을 사용하지 않는 경우에는 아래와 같이 Runnable 인터페이스를 작성해서 매개변수로 입력해야 한다. new Thread(new Runnable() { @Override public void run() { System.out.print.. 2019. 8. 30.
tibero error JDBC 5014:Specified format code is invalid. Format을 잘못 지정하였을 때 발생하는 에러다. (SYSDATE Format이 잘못된 경우는 아래를 참고) DATE 형식 결과 설명 YYYY-MM-DD 2007-04-18 결과값의 해당하는 위치에 그대로 출력된다. D 3 일주일 중 몇 번째 날(1~7) DAY WEDNESDAY 요일 이름을 표기한다. DD 18 일자 표기(1~31) DDD 108 일 년 중 몇 번째 날 (1~366) DY WED 축약한 요일 이름 표기 MM 04 달을 표기 (1~12) MON APR 축약한 달 이름 표기 MONTH APRIL 달 이름 표기 Q 2 일년 중 몇 번째 분기 (1~4) YYYY 2007 연도 4 자리수 표기 YEAR TWO THOUSAND SEVEN 연도를 말로 풀어서 표기 TIME 형식 결과 설명 HH:M.. 2019. 8. 30.
[java] RejectExecutionHandler reject policy - 작업 큐(workQueue)가 full인 상태에서의 처리 정책 Thread Pool ? 병렬 작업 처리가 많아지면 Thread의 개수가 증가하고 그에 따른 Thread 생성과 스케줄링으로 인해 CPU가 바빠져서 메모리 사용량이 늘어난다. 따라서 애플리케이션의 성능이 저하된다. 이런 상황을 막기 위해 Thread Pool을 사용한다. Thread Pool은 작업 처리에 사용되는 Thread를 제한된 개수만큼 정해놓고 작업 큐에 들어오는 작업을 하나씩 Thread가 맡아서 처리한다. java.util.concurrent 패키지에 ExecutorService 인터페이스와 ExecutorService 구현 객체를 만들 수 있는 Executors 클래스를 제공해준다. ExecutorService 구현 객체는 newCachedThreadPool()나 newFixedThread.. 2019. 8. 30.
[java8] Stream 연산자 정리 Operations Stream을 이용한 코드는 계속해서 Dot 연산자로 method chaining을 일으킨다. Intermediate Operations (중간 연산자) 중간 연산자들은 모두 Stream을 반환하므로 연속적으로 사용할 수 있다. 단, Stream은 게으르므로(Lazy!) 최종 연산이 존재하지 않으면 중간 연산은 실행되지 않는다. filter Predicate에 해당하는 Stream 요소를 필터링한다. List list = new ArrayList(); list.add("item4"); list.add("item5"); list.add("item1"); list.add("item2"); list.add("item3"); list.stream().filter(s -> s.endsWith(.. 2019. 8. 30.
[java8] Stream vs Collection A java.util.Stream represents a sequence of elements on which one or more operations can be performed. Stream operations are either intermediate or terminal. While terminal operations return a result of a certain type, intermediate operations return the stream itself so you can chain multiple method calls in a row. Streams are created on a source, e.g. a java.util.Collection like lists or sets (.. 2019. 8. 30.