Home
TaemHam
취소

[알고리즘|파이썬] 코드트리: 싸움땅

문제 [원문 링크] 해설 과정들을 그대로 구현만 해주면 되는 간단한 문제였다. 플레이어의 상태를 보다 쉽게 관리하기 위해 Player 클래스로 만들었고, 한 턴에 하는 행동들을 모두 메서드로 구현했다. 플레이어들을 순서대로 진행시키기 위해 배열에 인스턴스들을 저장했다. 총을 주울 때 어떤 총이 가장 쎈 총인지 빠르게 구분하기 위해 최대힙...

[백엔드|스프링부트] Lombok으로 코드 다이어트

Lombok 로고1 자바로 DTO나 Entity 같은 객체를 만들면, Getter/Setter나 toString 등 비즈니스 로직이 아님에도 코드가 길어지도록 하는 메서드들이 있다. 이런 반복되는 코드들을 없애고, 어노테이션 하나로 간단하게 만들 수 있도록 도와주는 플러그인이 바로 이번에 소개할 롬복 이다. 이렇게 편리한 기능을 제공해주는 롬복을 ...

[백엔드|스프링부트] Logback으로 로깅하기

Logback 로고1 운영 중인 웹 어플리케이션이 문제가 발생했을 경우, 문제의 원인을 파악하려면 문제가 발생했을 때 당시의 정보가 필요하다. 이런 정보를 얻기 위해서 Exception이 발생했거나, 중요 기능이 실행되는 부분에서는 적절한 로그를 남겨야한다. 자바에서는 이런 로깅을 도와주는 툴로 log4j나 Logback을 많이 사용한다. Logb...

[백엔드|스프링부트] 스프링부트에 Swagger 적용하기

Swagger 로고1 API는 간단하게 설명하자면 함수와도 비슷한 것이다. 특정 데이터를 넣으면, 함수가 처리한 값을 되돌려주는 것이다. 하지만 이런 함수는 그냥 무턱대고 쓸 수는 없다. 숫자를 받아 +1한 값을 반환해주는 함수에 a를 넣을 수는 없다. 이렇게 함수를 사용하려면, 이 함수가 무슨 값을 받는지, 이 값을 처리하면 무엇이 반환 되는지 등...

[백엔드|스프링부트] 스프링 기본 개념

스프링 부트 웹 어플리케이션 개발에 앞서 알고 있어야 할 기초 지식에 대해 다루어보자. 마이크로서비스 아키텍처 어떤 포털 사이트에서 블로그, 카페, 메일 등 지원하는 서비스들을 하나의 어플리케이션에 통합해 개발한다고 가정하자. 만약 이렇게 구성한다면, 서버를 업데이트 하거나 어플리케이션 유지보수를 할 때마다 모든 서비스를 중단하고 작업을 진행할 ...

[백엔드|스프링부트] 스프링 WEB 관련 모듈

스프링 프레임워크의 모듈1 이전 포스트에서도 언급했듯이, 스프링 프레임워크는 기능별로 구분된 약 20여 개의 모듈을 제공한다. 이 중에서 웹과 관련된 모듈들은 다음과 같다: spring-web spring-webmvc spring-websocket spring-webmvc-portlet 오늘은 이 네가지 모듈들이 각각 무엇인지,...

[백엔드|스프링부트] 스프링부트란?

백엔드 개발자로 웹 개발을 할 때 알야야 할, 특히 한국에서라면 거의 필수가 되는 기술 스택인 SpringBoot. 앞으로 몇 주간은 이에 대해 배우며, 공부한 내용을 포스팅 할 계획이다. 첫 포스트인만큼, 먼저 SpringBoot가 무엇인지 알아보자. 스프링 프레임워크 스프링 로고1 스프링부트는 스프링을 더욱 쉽게 사용할 수 있도록 하기 위해...

[알고리즘|파이썬] 2차원 그래프 탐색을 빠르게 돌리는 법

개요 백준 사이트에서 알고리즘 문제를 풀면서 생겼던 의문이 있었다. graph2D[x][y] = 0 # 인덱스 x와 y에서 각각 한 번씩, 총 두 번 호출 graph1D[xy] = 0 # 인덱스 xy에서 한 번 호출 위와 같이 2차원 그래프 graph2D에서 x행 y열의 원소를 접근 할 때, x 인덱스와 y 인덱스 두 번을 호출 하...

[백준] 3109번: 빵집

문제 [원문 링크] 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 중에, 가스비가 제일 크다는 것을 알게되었다. 따라서 원웅이는 근처 빵집의 가스관에 몰래 파이프를 설치해 훔쳐서 사용하기로 했다. 빵집이 있는 ...