본문 바로가기

전체 글

(68)
반응형에 대해 깊이 알아보기 (Vue.js 2.x) 이제 조금 더 깊게 알아볼 차례입니다. Vue의 가장 두드러진 특징 중 하나는 눈에 잘 띄지 않는 반응형 시스템입니다. 모델은 단순한 JavaScript 객체입니다. 수정함녀 화면이 갱신됩니다. 스테이트 관리를 간단하고 직관적으로 만들어주지만, 몇 가지 흔한 함점을 피하려면 어떻게 작도하는지 이해하는 것도 중요합니다. 이 섹션에는 Vue의 반응형 시스템의 세부사항을 다룹니다. 변경 내용을 추척하는 방법 Vue 인스턴스에 JavaScript 객체를 data 옵션으로 전달하면 Vue는 모든 속성에 Object.definProperty를 사용하여 getter/setters로 변환합니다. 이는 Vue가 ES5를 사용할 수 없는 IE8를 지원하지 않는 이유입니다. getter / setter 는 사용자에게 보이지..
스프링 배치 실행 - start() / next() public Job batchJob() { return jobBuilderFactory.get("batchJob") .start(Step) //처음 실행 할 Step 설정, 최초 한번 설정, SimpleJobBuilder가 생성되고 반환한다. .next(Step) //다음에 실행 할 Step 들을 순차적으로 연결하도록 설정, //여러번 설정이 가능하며 모든 next() 의 Step이 종료가 되면 Job이 종료된다. .incrementer() .validator() .preventRestart() .listener() .build(); } SimpleJobLauncher가 SimpleJob을 실행시킨다.
HashMap 동작 방식에 대해 설명하세요. HashMap이란 객체를 Map에 넣는 것이다. key-value쌍 하나만 넣는 것이 가장 기본적이며, 배열의 한 요소를 bucket이라고 한다. (자바에서는, 키와 값의 타입은 클래스 및 인터페이스 타입만 가능하다. 기본 타입은 사용 할수 없음) 또한, HashMap에서의 key는 unique해야합니다. (key는 중복 불가, value는 중복 가능) key-value쌍이 들어가는 위치는, key의 Hash (HashCode) 이며, 이로 인해 데이터를 탐색하는데 O(1)로 가능하다. 이때, 동일하지 않은 두 객체가 같은 위치에 들어가려고 하는 경우를 Collision 이라고 하는데, Collision은 Map의 성능에 큰 영향을 미치므로, 어떤 Hash 함수를 사용하는 가에 따라서 더 나은 Map이 ..
스프링 배치 실행 - 개념 및 API 소개 1. 기본개념 -SimpleJob은 Step을 실행시키는 Job 구현체로서 SimpleJobBuilder에 의해 생성된다. -여러 단계의 Step으로 구성할 수 있으며 Step을 순차적으로 실행시킨다. -모든 Step의 실행이 성공적으로 완료되어야 Job이 성공적으로 완료된다. -맨 마지막에 실행한 Step의 BatchStatus가 Job의 최종 BatchStatus가 된다.
스프링 배치 실행 - JOB [스프링 배치 실행 - 배치 초기화 설정] 1.JobLauncherApplicationRunner -Spring Batch 작업을 시작하는 ApplicationRunner로서 BatchAutoConfiguration에서 생성됨 -스프링 부트에서 제공하는 ApplicationRunner의 구현체로 어플리케이이 구동되자 마자 실행됨 -기본적으로 빈으로 등록된 모든 job을 실행시킨다. 2.BatchProperties -Spring Batch의 환경 설정 클래스 -Job이름, 스키마 초기화 설정, 테이블 Prefix 등의 값을 설정할 수 있다. -application.properties or application.yml 파일에 설정함 -batch: job: name: ${job.name:NONE} initia..
스프링 배치 도메인 이해 [프로젝트 구성 및 의존성 설정] 스프링 배치 초기화 설정 클래스 1.BatchAutoConfiguration -스프링 배치가 초기화 될 때 자동으로 실행되는 설정 클래스 -Job을 수행하는 JobLauncherApplicationRunner 빈을 생성 2.SimpleBatchConfiguration -JobBuilderFactory와 StepBuilderFactory 생성 -스프링 배치의 주요 구성 요소 생성 - 프록시 객체로 생성됨 3.BatchConfigurerConfiguration 3-1.BasicBatchConfigurer -simpleBatchConfiguration에서 생성한 프록시 객체의 실제 대상 객체를 생성하는 설정 클래스 -빈으로 의존성 주입 받아서 주요 객체들을 참조해서 사용할 수..
Strict Mode(엄격모드) 자바스크립트는 꽤 오랫동안 호환성 이슈 없이 발전해왔습니다. 기존의 기능을 변경하지 않으면서 새로운 기능이 추가되었죠. 덕분에 기존에 작성한 코드는 절대 망가지지 않는다는 장점이 있었습니다. 하지만 자바스크립트 창시자들이 했던 실수나 불완전한 결정이 언어 안에 영원히 박제된다는 단점도 생겼습니다. 이런 상황은 ECMAScript5(ES5)가 등장하기 전인 2009년까지 지속되었습니다. 그런데 새롭게 재정된 ES5에서는 새로운 기능이 추가되고 기존 기능 중 일부가 변경되었습니다. 기존 기능을 변경하였기 때문에 하위 호환성 문제가 생길 수 있겠죠? 그래서 변경사항은 대부분 ES5의 기본 모드에선 활성화되게 해놓았습니다. *use strict 지시자 "use strict", 혹은 'use strict'는 단순..
백준_수 정렬하기 3(10989) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 데이터가 천 만개이고, 데이터의 범위는 10,000 보다 작거나 같은 자연수의 데이터들을 일일이 정렬하면 시간이 엄청나게 걸립니다. 물론 Arrays.sort를 사용하여 풀 수는 있습니다. 하지만 아슬하게 통과하게 됩니다. (사실 최악의 경우 시간복잡도가 O(n^2)까지 나오게 되는데 이번 문제는 저격데이터는 없는거 같습니다.) import java.io.BufferedReader; import java.io.IO..