두두의 IT (172) 썸네일형 리스트형 Nodebird 백엔드 노드 서버 구축하기 4-1. 노드로 서버 구동하기app.js 추가npm initnode app.jsnode자바스크립트 코드를 실행할 수 있게 해주는 프로그램서버가 아님res.end는 마지막에 한 번만 사용. createServer()가 요청을 받는 메서드임 4-2. 익스프레스로 라우팅하기npm i expressapp.js 수정node appget 가져오다post 생성하다put 전체 수정delete 제거patch 부분 수정options 찔러보기head 헤더만 가져오기 4-3. 익스프레스 라우터 분리하기routes/post.js 수정app.js 수정4-4. MySQL과 시퀄라이즈 연결하기 4-5. 시퀄라이즈 모델 만들기 4-6. 시퀄라이즈 관계 설정하기 4-7. 시퀄라이즈 sync+nodemon 4-8. 회원가입 구현하기fro.. Node.js (임시 메모) 이벤트로 api를 다룸비동기로 관리를 하다 보니까 싱글코어라서.. 톰캣과 다르게 나중에 그 부분은 관리를 해야 함.. 이벤트 드리븐비동기 처리하되, 우선순위로 처리함스레드가 하나 [Spring Batch] 12. Multi Thread Processing 단일스레드 vs 멀티 스레드프로세스 내 특정 작업을 처리하는 스레드가 하나일 경우 단일 스레드, 여러 개일 경우 멀티 스레드로 정의할 수 있다작업 처리에 있어서 단일 스레드와 멀티 스레드의 선택 기준은 어떤 방식이 자원을 효율적으로 사용하고 성능 처리에 유리한가 하는 점이다일반적으로 복잡한 처리나 대용량 데이터를 다루는 작업일 경우 전체 소요 시간 및 성능상의 이점을 가져오기 위해 멀티 스레드 방식을 선택한다멀티 스레드 처리 방식은 데이터 동기화 이슈가 존재하기 때문에 최대한 고려해서 결정해야 한다. 스프링 배치 스레드 모델스프링 배치는 기본적으로 단일 스레드 방식으로 작업을 처리한다성능 향상과 대규모 데이터 작업을 위한 비동기 처리 및 Scale out 기능을 제공한다Local과 Remote 처리를 .. [Spring Batch] 02. Spring Batch 시작 스프링 배치 활성화: @EnableBatchProcessing 스프링 배치가 작동하기 위해 선언해야 하는 어노테이션총 4개의 설정 클래스를 실행시키며 스프링 배치의 모든 초기화 및 실행 구성이 이루어진다스프링 부트 배치의 자동 설정 클래스가 실행됨으로 빈으로 등록된 모든 job을 검색해서 초기화와 동시에 job을 수행하도록 구성됨 스프링 배치는 프로젝트를 새로 따야 하는건가? 스프링 배치 초기화 설정 클래스BatchAutoConfiguration스프링 배치가 초기화 될 때 자동으로 실행되는 설정 클래스Job을 수행하는 JobLauncherApplicationRunner 빈을 생성SimpleBatchConfigurationJobBuilderFactory와 StepBuilderFactory 생성스프링 배치의.. Spring Batch 개요 ? Chunk 단위 - 통합. 대용량 처리할 때 지정된 데 까지는 저장이 가능Task 단위 - 분리. 한번 취소 하면 한꺼번에 다 취소됨GPP는 대용량 처리가 없을 거 같아서 Task 단위로 PoC 진행 ..키스라인은 Chunk 단위. 통신문제인지 DB 처리문제인지 디버깅하면서 체크 필요 스프링 배치를 사용할 때 로깅 역할을 하는 6개 테이블이 정해져 있음 퀴츠 + 자바 : 정확한 시간에 돌아야 할 때 사용스프링배치 + 젠킨스 서버 : 조금 딜레이 돼도 될 때, 편리함 url 파라미터로 받을 때 쿼츠를 사용 ?동일한 테이블을 바라볼 때는 시간차를 두는 게 나음 Table 컬럼명에서 Schedulerlockname은 job당 있고, Locked_by는 호스트(서버)당이다. static / final / 상수 static 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드 인스턴스에 속한 멤버가 아니라 클래스에 속한 멤버 상수 (Constant) 변하지 않거나 일정한 값을 가진 수나 양 프로그램이 실행과 동시에 선언하여 실행되는 동안은 변하지 않는 용도로 사용 초기값이 저장되면 최종적인 값이 되어서 프로그램 실행 도중에 수정 불가. 프로그램에서 사용하는 공통코드나, 자주사용하는 문자 또는 숫자는 필드를 따로 선언합니다. 하드코딩 방지 각각 자주사용하는 문구나 숫자를 한곳에서 볼 수 있어서 유지보수에도 유용 예약어 final로 사용 변수 선언과 동시에 초기화를 해도 되지만 선언만 해놓고 밑에서 값을 지정해 줄 수 있음 static final 상수 객체마다 저장되지 않고, 클래스에만 포함.. Builder와 Getter/Setter 1. 점층적 생성자 패턴 : 생성자로 필드를 세팅, ex) new UserInfo(userId, password); 2. 자바빈 패턴 : Setter 메서드로 필드를 세팅, ex) userInfo.set(userId); 3. 빌더 패턴 : @Builder Builder Class 객체 생성에서 주입하는 것에 대한 방식 코드에서 파라미터에 대한 정확성과 오류를 찾기 쉽게하는 어노테이션 @Builder를 사용하는 이유 코드의 가독성이 높아진다. 더욱 유연한 코드 작성에 용이하다. getter/setter를 무작정 생성하는 경우, 해당 클래스의 인스턴스 값들이 언제 어디서 변경되는지 코드상으로 명확하게 구분할 수 없어 차후 기능 변경 시 불편하다. 유동적으로 필요한 데이터만 필드에 설정할 수 있음 객체를 생성.. int, Integer 차이 + 변수(variable) : 값을 저장할 수 있는 메모리 상의 공간 + 자료형 data의 type에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것 변수의 타입 = data type = 자료형 기본형(primitive type) 산술 연산 가능 null 로 초기화 불가능 0으로 초기화 가능 기본형에는 다음과 같은 종류가 있습니다. Wrapper Class 자료형 데이터 메모리 크기 표현 가능 범위 Boolean boolean 참/거짓 1 byte true, false Character char 문자 2 byte 모든 유니코드 문자 Byte byte 정수 1 byte -128~127 Short short 정수 2 byte -32768~32767 Integer int 정수 4 byte -214748.. 이전 1 2 3 4 ··· 22 다음