일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- IntelliJ
- JavaScript
- OAuth
- 도커
- 스프링
- map
- map()
- Spring Cloud
- STS
- 스프링 클라우드
- 프로그래머스
- 스프링부트
- jQuery
- 코딩테스트
- leetcode
- EUREKA
- spring boot
- Java
- 자바
- GIT
- JS
- 유레카
- SpringBoot
- docker
- date
- Spring
- gitlab
- spring security
- 자바스크립트
- 비동기
- Today
- Total
목록DEV (98)
RATSENO
최신 버전의 브라우저들은 ES6가 동작을 합니다. 하지만 프로젝트가 진행되는 사이트마다 브라우저 버전이 낮은 경우(또는 IE....) ES6가 동작하지 않을 때가 많습니다. 이럴 때는 ES6에서 사용하고 싶은 메서드를 우리가 작성하고 있는 소스에 적용하거나, 프로젝트마다 공통으로 작성되는 JS파일에 해당 메서드를 작성하면 됩니다. developer.mozilla.org MDN Web Docs Hacks Blog Read more at hacks.mozilla.org Nearing the end of March now, and we have a new version of Firefox ready to deliver some interesting new features to your door. This mo..
ratseno.tistory.com/100 CompletableFuture -1 CompletableFuture를 간단하게 정리하기 전에, 속성으로 동기, 비동기에 대해서 정리하겠습니다. 저도 이해하기 편하도록 식당을 예를 들어 설명해보겠습니다. 동기 : 식당에 갔습니다. 음식을 점원 ratseno.tistory.com 이전 포스팅에 이어서, 논블로킹 방식으로 사용하기 위한 콜백 방식에 대해서 정리해보겠습니다. 이전까지는 비동기로 호출하였지만, get() 또는 join()을 호출함으로써 응답 값을 받을 때까지 블로킹이 되었습니다. 하지만 이러한 동작은 저희가 원하는 모습이 아닙니다. 흐름을 방해 받고 싶지 않습니다. 그래서 저희는 응답값이 리턴되면, 어떠한 행위를 하도록 정의할 것입니다. 이러한 것을 콜..
package example.leetcode; public class P70 { public int climbStairs(int n) { /* n=0 ------------->0 n=1 1 ------------->1 n=2 1,1 2 ------------->2 n=3 1,1,1 1,2 2,1 ------------->3 n=4 1,1,1,1 1,1,2 1,2,1 2,1,1 2,2 -------------->5 n=5 1,1,1,1,1 1,1,1,2 1,1,2,1 1,2,1,1 2,1,1,1 1,2,2 2,1,2 2,2,1 --------------->8 피보나치 수열 */ // base cases if(n
public class P67 { private static String addBinary(String a, String b) { StringBuilder sb = new StringBuilder(); int i = a.length() - 1; int j = b.length() -1; int carry = 0; while (i >= 0 || j >= 0) { int sum = carry; if (j >= 0){ sum += b.charAt(j--) - '0'; } if (i >= 0){ sum += a.charAt(i--) - '0'; } sb.append(sum % 2); carry = sum / 2; } if (carry != 0){ sb.append(carry); } return sb.reverse..
어노테이션만 붙이면 자동으로 getter, setter, 생성자 등등 여러 가지를 생성해주는 Lombok을 자주 사용합니다. IDE에서 자동생성으로 작성하는 경우도 있지만, 개발 편의성을 위해 Lombok을 쓰는 편입니다. 속성 값으로 boolean을 사용하며 네이밍을 is"XXXX" 로 사용할 경우 IDE에서 생성되는 getter, setter의 모습 Lombok을 이용하여 생성되는 getter, setter의 모습이 다릅니다. 이러한 경우 때문에, 간단하게 자주 사용되는 Mybatis(마이바티스)에서 해당 속성 값을 찾을 때 문제가 발생하곤 합니다. boolean - IDE 자동생성 public class Member { private boolean isNew; public boolean isNew(..
CompletableFuture를 간단하게 정리하기 전에, 속성으로 동기, 비동기에 대해서 정리하겠습니다. 저도 이해하기 편하도록 식당을 예를 들어 설명해보겠습니다. 동기 : 식당에 갔습니다. 음식을 점원분께 주문하고 저는 음식이 나오면 제가 직접 세팅을 해야 되기 때문에 나올 때까지 기다립니다. 아무것도 하지않고 비동기 : 식당에 갔습니다. 음식을 점원분께 주문하고 식탁 위에 세팅을 해달라고 미리 말씀드려놨습니다.(callback) 음식이 나올 때까지 저는 기다리지 않고 다른 일 할 수 있었습니다. 이어서 블로킹, 논블로킹도 정리해보겠습니다. 음식을 가져다주시는 점원분의 입장에서 보시면 편합니다. [동기, 비동기] + 블로킹 : 점원분은 제가 주문을 한 순간, 음식이 다 나올 때까지 저를 붙잡고 아무것..
두 개의 array가 있습니다. 묘하게 비슷하게 생겼지만, arr2의 요소들은 추가적으로 job, addres 속성이 있습니다. var arr = [ { id : 1, name : "철수", age : 30 }, { id : 2, name : "철수2", age : 30 } ]; var arr2 = [ { id : 1, name : "철수", age : 30, job : "개발자", addres : "서울" }, { id : 2, name : "철수2", age : 30, job : "디자이너", address : "부산" } ]; 두 array중 arr1에 arr2요소들 중 id(키값)이 같은 요소를 병합하고 싶습니다. 그중에 arr2요소 중 job속성만 있었으면 합니다. var mergedList =..
json array에서 중복된 객체를 제거하는 여러 가지 방법에 대해서 작성해보겠습니다. 먼저 샘플로 사용할 json array입니다.(list) var arr = [ { id : 1, name : "철수", age : 30 }, { id : 1, name : "철수", age : 30 } ]; 중복된 객체를 제거하기 위해, 비교하기 위한 키 값으로 id를 선택하겠습니다. 1. filter(), findIndex()를 사용하여 중복된 객체 제거. var result = arr.filter(function(item1, idx1){ //filter() 메서드는 콜백함수에서 정의한 조건이 true인 항목만 리턴한다.(필터링) return arr.findIndex(function(item2, idx){ //fi..
OAuth2.0의 기본 구성과 flow 설명 JWT토큰에 대해서 설명 JWT토큰 탈취 대처 방안 spring ioc에 대해서 설명 객체가 필요한 의존성을 스스로 생성하는 것이 아닌, 제어권을 스프링에게 위임하여 스프링이 만들어 놓은 객체를 주입받는다. 객체를 직접 생성하는 것이 아닌 외부에서 생성한 후 주입 시켜주는 방식이다. 스프링이 모든 의존성 객체를 스프링이 실행될 때 생성하여 필요한 곳에 주입함으로써 빈(Bean)들은 싱글턴 패턴의 특징을 가지며 제어의 흐름을 사용자가 컨트롤 하는 것이 아닌 스프링에게 맡겨 작업을 처리하게 된다. spring di에 대해서 설명 생성자 기반의 주입 세터 기반/메소드 기반의 주입 필드 기반의 주입 객체를 직접 생성하는게 아니라 외부에서 생성한 후 주입 시키주는 방식..
먼저 npm을 이용하여 vue-cli를 설치합니다. 현재 기준으로 vue-cli는 4.5.x 버전 입니다. vue-cli 4.5.x 버전 기준으로 프로젝트를 생성하겠습니다. vue-cli 설치 npm install -g @vue/cli 설치 확인 vue -V vue --version 프로젝트 생성 vue create hello-world Default ([Vue 2] babel, eslint)를 선택합니다. 현재 vue3가 나왔지만 언제나 그랬듯 사용하려면 기다림의 시간이 필요합니다. npm에서 프로젝트에 필요한 패키지들을 다운 및 인스톨까지 같이 진행되기 때문에, 약간의 시간이 걸립니다. 프로젝트 설치 확인 (로그) 로그상의 명령어를 실행해 봅시다. cd hello-world //생성된 프로젝트로 이동..