시작하기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. SpringBoot의 장점Spring 프레임워크는 웹 어플리케이션에서 사용되는 많은 기능을 제공합니다. 다만, 해당 기능을 제대로 사용하기 위해서는 많은 작업이 필요합니다. 따라서, 개발자는 프로젝트의 비즈니스 로직을 고민하는 것 외에 프레임워크 사용을 위해 아래와 같은 여러 작업을 진행해야 했습니다.라이브러리 추가 및 의존성 관리스프링 프레임워크가 처리할 작업 인지할 수 있도록 구성 및 설정 파일 작성 이런 불편함을 해소하기 위해 나온 것이 SpringBoot입니다. SpringBoot의 주요 장점은 아래와 같습니다. 하기 장점들을 통해 쉽고 빠르게 개발을 할 수 있게 되었습니다.프로젝트에 따라 자주 사용되..
분류 전체보기
LocalDate import할 패키지명 import java.time.LocalDate; 사용 예 LocalDate currentDate = LocalDate.now(); // 현재 날짜가 넣어진 LocalDate 객체 리턴(예: 2020-12-10) LocalDate startDate = LocalDate.of(2020,12,9); // of 메소드의 파라미터로 넘어간 값에 따라 날짜 저장된 LocalDate 객체 리턴 LocalDate 자료형 타입 변환 LocalDate → String (YYYYMMdd) LocalDate.of(2020,12,10).format(DateTimeFormatter.BASIC_ISO_DATE); LocalDate → String (원하는 형식 - 예: yyyy-MM-dd..
dao.xml 파일 내에 #을 쓰는 경우 SELECT TIME FROM SUMMARY_1HOUR WHERE 1=1 AND TIME >= #{ queryMap.startDate } AND TIME < #{ queryMap.endDate } ... #{ value }에는 bind된 값(value)이 들어가게 됩니다. parameter가 String 형태로 들어와 자동적으로 'parameter' 형태가 됩니다. 내부적으로는, preparedStatement 객체에서 #{ value }에 들어갈 파라미터 값을 set 하여 사용됩니다. 즉, DB에서 변수를 bind하여 #{ value } 값이 달라져도 동일한 쿼리로 인식하게 됩니다(쿼리의 컴파일된 내용 재사용 가능). 쿼리 주입을 예방할 수 있어 보안 측면에서 ..
·MAC
시작하기 전에Sidecar 기능을 사용하고자 Catalina로 OS를 업그레이드를 할 생각은 있었으나, 이렇게 무작정 포맷하고 사용할 생각은 없었습니다.. OS 업그레이드를 하다가 벽돌이 될 뻔 해서(애플의 install 서버 == 유리 서버) 그냥 포맷하고 최신 OS로 깔게 되어 의도치 않게 만나게 된 zsh이지만 나름대로 검색해보면서 환경 세팅도 변경해보고자 합니다.원래 terminal을 bash_profile 조금 편하게 변경하는 것(PS1, alias 설정 등) 외에는 따로 건들지 않고 사용하는 편이라, 이번에도 그러려고 했습니다. PS1이 zsh에서는 다르게 쓰이는 걸 알게 되면서, 기왕 이렇게 된 거 예쁘게 쓰자라는 마음으로 시작하게 되었습니다. 따라서, 아주 초보자의 terminal 세팅이라..
시작하기 전에이번에 맥북 프로 2019를 Mojave에서 Catalina로 OS 업그레이드를 하면서 JAVA 개발 환경을 구축해보았습니다.JDK 버전은 JDK LTS 버전 중 최신 버전을 사용할 예정이며 eclipse와 함께 사용하려 합니다.하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다.JAVA 개발용 폴더 만들기추후 해당 개발 내용을 공유할 때 편리하도록 디렉토리를 하나 지정해서 사용할 예정입니다. 저는 home폴더/Desktop/STUDY/로 폴더를 생성했습니다. 해당 폴더 내에 workspace 폴더를 생성하여 추후 eclipse 프로젝트들을 저장하도록 하겠습니다.JDK 설치하기현재 JDK는 15 버전까지 나와있는 것으로 보이나, LTS 버전을 사용하기 위해 JD..
605. Can Place Flowers 문제 긴 화단에 중간 중간 식물이 심어져 있다. 식물은 바로 붙어서 자랄 수 없어 적어도 한 칸씩 띄워서 자라야 한다. flowerbed라는 integer array는 0과 1로 구성되어 있으며, 0은 비어있음을 의미하고 1은 식물이 심어져 있음을 의미한다. n 값은 새로 심고자 하는 식물의 수이고, n개를 심을 수 있을 경우 true이고 심을 수 없을 경우 false를 반환한다. 풀이 답안1의 경우는 discuss를 보지 않고 처음 풀었을 때 나온 답안이라 좀 코드 자체가 복잡해 보인다. 답안1은 flowerbed를 0번째 인덱스부터 반복문을 돌 때, i번째의 위치가 맨 처음인지, 맨 마지막인지, 중간인지 나누어 풀었다. 만약 i가 0이라면, (i+1)번째가 0..
sort algorithm sort 알고리즘은 헤더 파일에 속해 있으므로, #include 을 하여 사용해야 합니다. sort(start, end)를 이용하여 [start,end) 범위에 속하는 인자들을 오름차순(default)으로 정렬할 수 있습니다. 따로 구현하지 않고 algorithm 헤더에 속한 sort을 사용하면, quick sort로 정렬된 결과를 얻을 수 있습니다. vector 정렬 예 오름차순 정렬 #include #include #include using namespace std; int main() { vector v = {1,3,2,4,6,8}; printf("Before sort:::\n"); for(int i = 0; i < v.size(); i++) printf("%d ", v[..
455. Assign Cookies 문제 i번째 아이는 g[i] 이상 사이즈의 쿠키를 받아야 만족하고, j번째 쿠키의 사이즈를 s[j]라고 한다. 이때, s[j] >= g[i]일 때 i번째 아이에게 j번째 쿠키를 줄 수 있다. 이 문제의 목적은 최대한 많은 아이들에게 만족할만한 쿠키를 나눠주는 것이다. 풀이 최대한 많은 아이들에게 쿠키를 나눠주어야 하므로, 각 아이들이 만족할만한 쿠키 사이즈 중 가장 작은 사이즈를 나눠줘야 한다. 따라서, 아이들이 만족할 쿠키 크기 벡터인 g 벡터를 오름차순으로 정렬하고 줄 수 있는 쿠키 사이즈 개수 벡터인 s 벡터를 오름차순으로 정렬해야 한다. 정렬된 벡터들의 값을 비교하면, 각 아이에게 줄 수 있는 최소 크기의 쿠키를 줄 수 있다. 답안 class Solution {..