목록제로베이스 (13)
밍쎄의 코딩공간
4.1 프로젝트 생성 4.1.1 인텔리제이 IDEA에서 프로젝트 생성하기 4.1.2 스프링 공식 사이트에서 프로젝트 생성하기 4.2 pom_xml 살펴보기 4.2.1 빌드 관리 도구 4.2.2 메이븐 4.3 Hello World 출력하기 4.3.1 컨트롤러 작성하기 4.3.2 애플리케이션 실행하기 4.3.3 웹 브라우저를 통한 동작 테스트 4.3.4 Talend API Tester를 통한 동작 테스트 spring initiailizr을 사용한다. 스프링 공식 사이트에서 제공하는 스프링 부트 프로젝트 생성 기능인데, 인텔리제이 IDEA에도 내장돼 있다. 설정이 필요한 항목들이 나온다. 위와 같이 설정을 해준다. 의존성을 추가할 수 있다. 초기에 추가할 수도 있고 개발을 진행하는 중에도 추가할 수 있다. 인..
[백준 장학금] 목표 1. 1일 1 코딩테스트 2. 공부한 내용 개념 업로드 (1주 3개 ) : 알고리즘, 자료구조, 운영체제 -> 위에 적어놓은 개념뿐만 아니라 스프링 부트를 시작하면서 알게된 것들을 기재함 3. 2일 1 스크랩 4. 1주 1독서 (4주 4개) : 객체지향의 사실과 오해 + 클린코드+ 실용주의 프로그래머 (추가했다) +) 스프링부트 핵심가이드 (5주차) 나의 2주차 회고록 https://back-end-ming.tistory.com/39 [백준장학금] 2주차 회고록 [백준 장학금] 목표 1. 1일 1 코딩테스트 2. 공부한 내용 개념 업로드 (1주 3개 ) : 알고리즘, 자료구조, 운영체제 3. 2일 1 스크랩 4. 1주 1독서 (4주 4개) : 객체지향의 사실과 오해 2주차의 회고록은..
문제 설명 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때,..
깊이 우선 탐색(DFS, Depth-First Search)은 그래프를 탐색하는 알고리즘 중 하나로, 한 경로를 따라 최대한 깊이까지 탐색한 후, 다음 경로로 이동하는 방식이다. DFS는 스택(Stack)이나 재귀(Recursion)를 사용하여 구현할 수 있다. 주로 그래프의 탐색, 경로 찾기, 연결 요소 확인 등에 활용된다. DFS의 작동 방식 출발 노드 선택: 시작 노드를 선택하고, 해당 노드를 방문한 것으로 표시한다. 인접한 미방문 노드 탐색: 선택한 노드의 인접한 미방문 노드 중 하나를 선택한다. 선택한 노드로 이동: 선택한 노드로 이동하여 그 노드를 방문한 것으로 표시한다. 이동한 노드의 인접 미방문 노드 탐색: 이동한 노드의 인접한 미방문 노드 중 하나를 선택하여 이동한다. 반복: 이동한 노드..
자바에서의 그리디(Greedy) 알고리즘은 최적해를 찾는 문제를 해결하기 위한 한 가지 접근 방법이다. 그리디 알고리즘은 각 단계에서 가장 최선의 선택을 하여 전체 문제의 최적해를 찾아내는 방식으로 작동한다. 그리디 알고리즘의 일반적인 구현 단계 문제 이해 및 모델링: 문제를 잘 이해하고, 최적해를 찾기 위한 그리디 전략을 정의한다. 탐욕 선택 기준 정의: 각 단계에서 가장 좋은 선택을 어떤 기준으로 판단할 것인지 정의한다. 이 선택 기준은 문제의 특성에 따라 다를 수 있다. 탐욕적 선택 수행: 정의한 선택 기준에 따라 각 단계에서 최선의 선택을 수행한다. 유효성 검사 및 해 검증: 선택한 해가 문제의 조건을 만족하는지 검사하고, 전체 해가 올바른지 검증한다. 밑 예제는 거스름돈을 줄 때 가장 적은 동전..
어노테이션이란? 어노테이션이란 과연 무엇일까요? 단순히 앞에 골뱅이(@) 기호를 붙인 것일까요? 사용법으로는 맞지만, 우리가 원하는 어노테이션의 정의와는 조금 다를 겁니다. 어노테이션은, 소스코드에 추가해서 사용할 수 있는 메타데이터의 일종입니다. 메타데이터는 또 뭘까요? 바로 다른 정보를 설명해주는 데이터입니다. 풀어쓰자면, 어노테이션은 소스코드에 추가해서 사용할 수 있는 소스코드를 설명해 주는 데이터라고 볼 수 있겠네요. 어노테이션은 다음과 같은 상황에서 쓸 수 있습니다. 컴파일러에게 어떠한 정보를 제공할 때 컴파일할 때와 설치 시 작업을 지정할 때 실행 시 별도의 처리가 필요할 때 https://ducktopia.tistory.com/m/98 @Getter 어노테이션을 이해해보자 자바 언어로 개발하..