전체 글

개발, PO, PM, 기획과 관련된 서비스 관련 업무에 관심이 있습니다. 또한 성장,교육과 관련된 주제에 대해서도 관심이 많습니다. 티타임을 좋아하는 사람으로써, 혹시 티타임에 관심이 있으신 분은 ksy90101@gmail.com로 메일 보내주시면 감사하겠습니다 :)
· Backend/SQL
[프로그래머스] 여러 기준으로 정렬하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYP NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION ARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UP..
· Common/Web
Cookie vs Session HTTP의 특징 Connectionless(비연결지향) Client에서 Server에 Request를 보내면 Server는 Client에 Response를 하고, 접속을 끊음 Stateless(무상태) 비연결지향(Connectionless)로 인해 Client의 상태정보에 대해 알 수 없음 쿠키(Cookie) Client Local에 저장되는 Key-Value쌍의 작은 데이터 파일 구성 요소 이름, 값, 만료시간, 전송할 도메인명, 전송할 경로, 보안연결여부, HttpOnly여부 HttpOnly : 서버로 http Request 요성시에만 cookie를 전송, 스크립트 언어로 브라우저의 cookie를 호출했을때 브라우저가 응답하지 않음 동작방식 Clinet가 Server에..
SpringBootTest webEnvironment DEFINED_PROT 지정된 포트로 실제 서블릿 컨테이너를 띄운다. 이때 PORT의 값은 application.properties에 설정된 값 또는 기본값인 8080이다. MOCK(기본값) 실제 서블릿 컨테이너를 띄우지 않고 서블릿 컨테이너를 mocking해서 실행된다. 이때 속성값을 사용할때는 보통 MockMvc를 주입받아 테스트한다. 서블릿 API들이 classpath가 없다면 ApplicationContext를 생성한다. MockMvc 기반의 어플리케이션 테스트를 위해 @AutoConfigureMockMvc의 주입과 함께 사용된다. NONE ApplicationContext가 로드되지만 실제 서블릿 컨테이너를 동작시키지 않는다. RANDOM_P..
· Backend/SQL
[프로그래머스] 동물의 아이디와 이름 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_U..
배열 내 특정 값 삭제하기 Array.prototype.indexOf() 배열 내의 특정 값의 인덱스를 찾는 메서드로 해당 값이 존재하지 않으면 -1을 반환합니다. 여기서 특징은 엄격한 동등성(===)을 사용하여 값을 찾아냅니다. 예를들어 배열에 "1"이라는 문자열이 있는데 1이라는 숫자형을 찾으려고 하면 찾을수가 없습니다. const arr = [4,3,2,1]; arr.indexOf(4) // 1 Array.prototype.splice() 배열의 기존 요소를 삭제,변경 또는 새 요소를 추가하여 배열 내용을 변경합니다. const arr = [4,3,2,1]; arr.splice(1, 1); // [3] console.log(arr); // [4, 2, 1] 첫번째 인자는 배열 변경을 시작할 인덱스이..
배열 내의 최대값 최소값 찾기(Math.min.apply(), Math.max.apply()) Math.min() 인자로 들어온 값 중에서 가장 작은 값을 반환하는 함수 Math.min(10, 20); // 10 Math.max() 인자로 들어온 값 중에서 가장 작은 값을 반환하는 함수 Math.max(10,20); // 20 Function.prototype.apply() 함수가 실행될 때 내부 콘텍스트의 this는 객체 자신 또는 window 객체를 가르킨다. 이때 this가 가리키는 대상 바꾸는 방법 중 하나입니다. apply()는 인자로 배열(또는 유사 배열 객체)로 제공되는 arguments로 함수를 호출한다. 최소값과 최대값 찾기 const arr = [4,3,2,1]; const minNum..
Spring Rest Docs 정적 파일 만들기 예제코드 Spring Rest Docs란? RESTful 서비스를 문서화 할 수 있게 도와주는 도구입니다. 기본적으로 Asciidoc을 사용해 작성된 코드에 의해 html파일을 생성해준다.(markdown도 가능하지만 제한이 있음.) Test로 자동 생성된 스니펫과 자신이 원하는 문서를 결합해서 사용할 수 있습니다. 따라서 Test가 통과되어야 문서가 작성된다는 장점이 있습니다. 이번 글은 Spring Rest Docs를 어떻게 사용하는지가 아닌, 정적 파일을 생성하여 빌드 후에 문서를 볼수 있게 하는게 주제이니, 자세히는 설명하지 않겠습니다. Build Gradle 설정 plugins { id 'org.springframework.boot' version..
Spring Intializr프로젝트가 spring-boot-starter-test 에서 junit-vintage-engine가 exclude되어 있는 이유 testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } Spring Intiializr로 프로젝트를 만들면 spring-boot-starter-test 에서 항상 junit-vintage-engine은 exclude가 되어있다. vintage가 무엇이고 junit-vintage-engine이 무엇이길래 exclude가 되는지 알아보자. Junit5 JU..
@Value와 @ConfigurationProperties를 이용해 yaml 파일 매핑하기 예제코드 1. 환경 프로퍼티 파일 설정하기 프로퍼티 파일은 설정 관련 및 기타 정적 값을 key-value으로 관리한다. 기존에는 XML을 이용하여 설정할 수 있었지만, 지금은 yaml, properties를 이용해 간단하게 파일을 설정할 수 있다. 확장자는 .yml을 사용한다. 이번 글에서는 ymal을 이용해 프로퍼터 값을 관리해볼 것이다. 1.1. ymal이란? YAML Ain’t Markup Language 최근 스프링과 쿠버네티스 같은 프로그램의 설정 파일로 사용하고 있다. server: port:80 위의 예제는 스프링의 포트 값을 설정하는 것으로 들여쓰기를 이용해 계층 구조를 쉽게 파악할 수 있기 때문에..
Spring H2 Database Properties 위의 사진과 같이 Spring에서 제공해주는 h2의 Properties는 4개입니다. 각각의 Properties를 알아보도록 하겠습니다. 각 Property의 앞에서 보듯이 모두 console에 대한 Property만 존재한다. spring.h2.console.enabled 기본값 : false 위의 사진과 같이 h2 Database의 접속하여 스키마들을 볼수 있는 console을 활성화 시키는 값이다. 기본값은 false이기 때문에 설정을 하지 않는다면 위의 사진처럼 console을 사용할 수 없다. console을 사용하여 테스트를 해야 할 경우에는 무조건 true를 사용하는 것이 좋다. spring.h2.console.path 기본값 : /h2-..
Seyun(Marco)
Enthusiastically, Steady, Slowly