본문 바로가기

전체 글

(23)
Lob 데이터베이스에서 VARCHAR 보다 큰 데이터를 담고 싶을 때 사용한다. 특징 속성이 없다. 매핑하는 필드의 타입에 따라 DB의 BLOB, CLOB과 매핑된다. - 문자열인 경우 (String, char[], java.sql.CLOB): CLOB - 그 외 (byte[], java.sql.BLOB): BLOB
7장. 람다와 스트림 - (1) 람다 자바 8에서 함수형 인터페이스, 람다, 메서드 참조라는 개념이 추가되면서 함수 객체를 더 쉽게 만들 수 있게 되었습니다. 먼저, 람다에 대해서 알아보겠습니다. 아이템 42. 익명 클래스보다는 람다를 사용하라 JDK 1.1 이후에는 함수 객체를 만드는 주요 수단은 익명 클래스였습니다. 하지만 익명클래스 방식은 코드가 길기 때문에 8버전 이전 자바는 함수형 프로그래밍에 적합하지 않았습니다. 자바8에 람다가 등장하면서 함수형 인터페이스라 부르는 인터페이스들의 인스턴스를 람다식을 사용하여 만들 수 있게 되었습니다. ## AS-IS Collection.sort(words, new Comparator() { public int compare(String s1, String s2) { return Integer.co..
스프링5 웹플럭스와 테스트 전략 - 이일민 (토비) [ifkakao-2018] web flux spring 5.0에 새로 등장한 웹 프레임워크 + 리액티브 스펙 spring mvc와 두 개의 웹 기술 트랙 초기 이름은 스프링 웹 리액티브 플럭스-리액티브 Sprint Data Reactive Repository Mongo, Cassandra, Redis, Couchbase 스프링 웹 플럭스 도입 이유 100%(I/O, 데이터 처리) 논블록킹 개발 확장성과 고효율성이 매우 중요 업, 다운 스트리밍과 Back pressure가 필요 고속 서비스 오케스트레이션 개발 유사한 프로그래밍 모델의 경험 유연하게 커스터마이징이 가능한 웹 프레임워크 구성 본격적인 함수형 프로그래밍 모델 사용 스프링 웹 플럭스를 사용하지 않는게 좋은 이유 웹 플럭스가 왜 필요한지 분명하게 모름 블로킹이 서버, 코드,..
Node.js 동작원리 node.js 란? Javascript를 브라우저 밖에서도 실행 할 수 있도록 하는 Javascript의 런타임 비동기(Asynchronous), 이벤트 주도(Event-driven), Non-Blocking I/O, 확장성 런타임 ? 특정 언어로 만든 프로그램을 실행할 수 있는 환경 프로세스 메모리에 올라와 실행되고 있는 프로그램의 인스턴스. 실행되고 있는 프로그램(독립적인 개체) 스레드 프로세스 내에서 할당받은 실행의 단위. 스레드는 프로세스 당 CPU의 코어 개수만큼 생성될 수 있다. * 스레드는 프로세스 내의 메모리 공간을 공유하지만, 각각의 프로세스는 별도의 메모리 공간을 갖는다.싱글스레드 논블로킹 모델 하나의 스레드로 동작하지만, 비동기 I/O 작업을 통해 요청들을 서로 블로킹하지 않는다. 즉..
Git - 기본적인 내용 정리2 브랜치 커밋을 하게되면 Git 은 현 Staging area에 있는 데이터의 스냅샷에 대한 포인터, 저자나 커밋 메시지 같은 메타 데이터, 이전 커밋에 대한 포인터 등을 포함하는 커밋 객체(commit Object) 저장 최초 커밋을 제외한 나머지 커밋은 이전 커밋 포인터가 적어도 하나씩 있고 브랜치를 합친 Merge 커밋 같은 경우에는 이전 커밋 포인터가 여러 개 있다. 파일을 Stage 하면 Git 저장소에 파일을 저장하고(Blob) Staging Area에 해당 파일의 체크섬을 저장한다. HEAD : 지금 작업하는 로컬 브랜치를 가리킨다. git log --oneline --decorate - 브랜치가 어떤 커밋을 가리키는지 확인 git log --oneline --decorate --graph -..
Git - 기본적인 내용 정리 Tracked file - 한번이라도 저장소에 들어갔던 파일 Uuntracked file - 한번도 저장소에 들어가지 않은 파일 Working Area - 작업 공간 Staging Area - 커밋에 대상이 되는 파일이 저장소에 들어가기 직전의 상태 - git add 를 사용하게 되면 staging area 로 들어감 git diff - working area와 staging area 상태를 비교하는 명령어 git diff --staged - staging area와 저장소 상태를 비교하는 명령어 git add -u . - tracked 파일들만 add 하겠다라는 명령어 git commit --amend - 마지막 커밋 취소 git reset --hard - 마지막 작업햇던 커밋으로 돌아가기 (아몰라 다..
Lodash JS 개발에 많이 사용되는 javascript 라이브러리 lodash에 대해서 알아보고, 자주 사용되는 기능 몇 가지를 정리해 보았습니다. lodash 란? 자바스크립트 유틸리티 라이브러리 유틸리티 라이브러리로 array, collection, date, number, object 등이 있으며, 데이터를 쉽게 다룰 수 있도록 지원 (예를들면, 배열 안에 중복 값을 제거하기 / object 배열 안에 특정 값만 추출하기 등..) 특히, 자바스크립트에서 배열 안의 객체들의 값을 핸들링할때 유용 설치 & 사용법 npm install lodash const _ = require("lodash"); 자주 사용되는 기능 filter 배열 안에 요소들 중, 특정 값만 filtering하고 싶을때 사용 var user..
Moment.js 개발에서 많이 사용하는 데이터 중 하나는 날짜 관련 데이터 입니다. JS에서는 Moment 라는 라이브러리가 있는데 이 라이브러리의 사용법에 대해서 정리해 보았습니다. 설치 방법 npm install --save monent 모듈 선언 const moment = require('moment'); 사용 방법 현재 시각 console.log(`moment => ${moment()}`); // moment => Fri Oct 09 2020 11:38:30 GMT+0900 포맷을 지정하여 출력 console.log(`포맷 지정 출력 => ${moment().format("YYYY년 MM월 DD일")}`); 포맷 지정 출력 => 2020년 10월 09일 console.log(`포맷 지정 출력 => ${moment..