- [ Java ][JAVA] 람다식 (Lambda)2021-02-24 17:25:08람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 람다의 특징 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링 (Curring) 익명함수? 익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다. 이 일급 객체란..
- [ Web ][Web] HTTP 와 HTTPS 차이점2021-02-24 16:58:501. HTTP란? [ HTTP(Hyper Text Transfer Protocol)란? ] HTTP(Hyper Text Transfer Protocol)란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있다. 따라서 HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. HTTP는 1989년 팀 버너스 리(Tim Berners Lee)에 의해 처음 설계되었으며, WWW(World-Wide-Web) 기반에서 세계적인 정보를 공유하는데 큰 역할을 하였다. [ HTTP의 구조 ] HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한..
- [ Java ][JAVA] NIO 패키지2021-02-24 16:48:381. NIO 소개 자바 4부터 새로운 입출력(NIO: New Input/Output)이라는 뜻에서 java.nio 패키지가 포함되었는데, 자바 7로 버전업하면서 자바 IO와 자바 NIO 사이의 일관성 없는 클래스 설계를 바로 잡고, 비동기 채널 등의 네트워크 지원을 대폭 강화한 NIO.2 API가 추가되었습니다. NIO.2는 java.nio2 패키지로 제공되지 않고 기존 java.nio의 하위 패키지(java.nio.channels, java.nio.charset, java.nio.file)에 통합되어 있습니다. 아래는 NIO에서 제공하는 패키지에 대해 간략히 설명한 표입니다. NIO 패키지 포함되어 있는 내용 java.nio 다양한 버퍼 클래스 java.nio.channels 파일 채널, TCP 채널,..
- [ Java ][JAVA] 자바7 자바8 차이2021-02-24 16:35:41Java7 String in Switch Swtich문 내에서 문자열 사용이 가능 Type Inference 제네릭 타입 파라미터를 선언과 생성시에 중복해서 써줘야 했지만 이제는 그럴 필요 없음 //Before Jdk 7 List primes = new ArrayList(); //Jdk7 List primes = new ArrayList(); Underscore in Numberic literal 실수, 정수형에 ‘_’ 문자열을 사용할수있음 int money = 1_000; int moneymoney = 100_000; Catching Multiple Exception Type in Single Catch Block 단일 catche 블록에서 여러개의 예외처리(Exception) 가능 NIO 2.0 패키..
- [ Java ][JAVA] 컬렉션(Collection) 정리2021-02-24 15:59:20Java Collections Framework(JCF) Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미하며 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 다음은 Java 컬렌션 프레임워크의 상속구조를 나타낸다. Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류할 수 있다. 그리고 여기에 Map의 경우 Collection 인터페이스를 상속받고 있지 않지만 Collection으로 분류된다. 인터페이스 구현클래스 특징 Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. Lis..
- [ Java ][JAVA] Decial format(#,##0 / #,### / 0,000)2021-02-16 10:09:11'0'은 유효하지 않은 0도 표시를 한다는 의미고, '#'은 유효하지 않은 0을 생략한다는 의미이다. EX1) 값 : 1000 #,##0 -> 1,000 #,### -> 1,000 0,000 -> 1,000 EX2) 값: 0 #,##0 -> 0 #,### -> 0,000 -> 0 0,000.00 -> 0.00 EX3) 값 : 1000 #,##0.00 -> 1,000.00
- [ Jasper 리포트(5.6.0) ][iReport] 구조 (band)2021-01-28 17:54:001. Background band - 보고서의 배경 설정을 할 수 있다. 2. Title band - 가장 먼저 보여주는 band로 보고서 전체 페이지중 단 한번만 출력되는 band로 주로 보고서의 Title을 기재하는데 사용된다. 3. Page header band (Page footer band) - 한번 정의되면 보고서 전체 페이지의 헤더 부분에 똑같은 위치와 크기로 페이지마다 반복 출력 된다.(Page footer band는 전체 페이지의 하단에 반복 출력된다.) 4. Column header band (Column footer band) - 각 Detail band의 column 항목의 Title 영역으로 사용된다. 역시 페이지마다 출력 된다. 5. Group header band (Group ..
- [ Git ][형상관리] SVN vs GIT2021-01-28 15:34:541. GIT과 SVN 1-1.SVN 소스코드의 효율적인 관리를 위한 형상 관리 도구 중앙 집중식 소스 관리 (개념적으로 사용하기 쉬움 SVN은 보통 대부분의기능을 완성해놓고 소스를 중앙 저장소에 COMMIT한다 개발자가 자신만의 version history를 가질 수 없다. (local history를 사용하지만 일시적, 내가 몇일전 까지 했던 작업 내역을 확인 가능하지만 버전관리가 되지 않는다.) 프로젝트 소스는 SVN 서버의 Trunk라는 곳에 위치 -> 자신의 Local에 Trunk의 소스를 다운 받아(update) 수정 및 추가 후 다시 업로드(commit)하는 방식자신만의 소스를 다른 개발자들과 떨어져서 작업하려면 Branch(원 소스의 나뭇가지)를 만들어 작업 후 자기자신만 접근하여 개발하며 ..