본문 바로가기

분류 전체보기

(397)
백준(BOJ) 9461: 파도반 수열 출처: https://www.acmicpc.net/problem/9461 최적해를 어떻게 하면 부분해를 이용해서 점화식으로 세울수 있을지를 고민해야 한다. 만약 수열이라는 것이 주워지면 문제가 다 풀린것이나 마찬가지다. 최적해와 부분해의 관계를 가진 점화식을 세우기가 한결수월해 진다. 그리고 주워진 그림과 그 수열을 함께 가지고 생각한다면 점화식은 더 쉽게 얻어진다. 처음에는 예외가 존재하지만 나중으로가면 결국은 최적해는 이전의 두개의 삼각형의 변을 합한 것이 된다는 것을 쉽게 찾을 수 있다. 즉 n=6이상에서 점화식은 An=An-1+An-5가 된다. 마지막으로 주의할 것은 자료형이 커버할 수 있는 범위이다. n=100일때 그답은 int 형으로 커버할수 없어 틀렸다고 나왔다.(Overflow나 다른 에러..
백준(BOJ) 11726: 2×n 타일링 https://www.acmicpc.net/problem/11726 최적해의 부분해가 또다시 그것의 부분문제의 최적해가 되는 점화식을 쉽게 찾을수 있어 하급문제다. 왜 이와 같은 점화식이 성립할까? 물론 일일히 다 그려가면 왜 가능한지 알수 있지만 글로 풀자면 애초부터(N=1, N=2일때)다른 모양의 타일을 쌓는데서 시작하므로 타일의 모형은 서로 겹치지 않게 되는 것이다. 이문제에 관련된 해설이 넘쳐나는데 그거 보고 있자면 혼동만 가중된다. 분명 나는 훗날에 이 문제를 다시 보고 다른 문제와 비교할 것이다. 그 때 문제들을 잘 정리하기 위해선 기준이 필요하다. 지금 생각하는 이 기준이 나중에도 맞다고 생각할지 모르겠지만 그래도 글로 남겨본다. "부분해로 이루어지는 최적해의 점화식을 찾아야 한다. 그럼 부..
CQS(Command Query Separation)에 대해서 참고: https://velog.io/@yena1025/CQS-Command-Query-Separation 강의도중 아래와 같은 save메서드에서 왜 반환값을 그냥 회원객체로 반환하는것이 좋지 않은지에 대한 설명이 있었다. 결론만 말하면 save의 기능은 저장의 기능이기 때문에 굳이 회원객체를 반환하여 그 객체를 수정할 수 있는 여지가 아예 없도록 CQS패턴을 적용하여 save메서드를 구현하는 게 좋다는 것이다. 아래는 CQS에 대한 소개이다. CQS는 'Command Query Separation', 즉 Command와 Query를 분리하자는 개념을 말한다. Command는 상태를 변경하는 메서드이며, Query는 상태를 반환하는 메서드를 지칭한다. CQS는 패턴이다 CQS는 디자인 패턴 중에 하나이다..
@PersistenceContext와 EntityManager, 그리고 영속성(Persistence) https://flexyduck.tistory.com/178 https://colevelup.tistory.com/21 이전에 위 링크에서 JPA에 대해서 배웠던 것중 "JPA는 영속성 컨텍스트를 가진다." 라는 특징이 있었다. 정말 이 JPA특징을 생각하면 @PersistenceContext 라는 어노테이션은 오직 JPA의 EntityManageer 클래스만을 위한 어노테이션 같다는 느낌을 받는데 정말 그럴까? JPA와 ORM에 대한 간략한 정의와 JPA에서 중요한 영속성 컨텍스트(Persistence Context)와 엔티티 매니저(Entity Manager), 영속성 컨텍스트 타입(Persistence Context type), 영속성 컨텍스트(Persistence Context)의 장점등에 대해서..
DB 컨넥션 풀과 Hikari Connection pool 에 대해서 출처: https://velog.io/@miot2j/Spring-DB%EC%BB%A4%EB%84%A5%EC%85%98%ED%92%80%EA%B3%BC-Hikari-CP-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0 https://velog.io/@dongvelop/Spring-Boot-Hikari-CP-%EC%BB%A4%EC%8A%A4%ED%85%80%EC%9C%BC%EB%A1%9C-%EC%84%B1%EB%8A%A5-%EC%B5%9C%EC%A0%81%ED%99%94%ED%95%98%EA%B8%B0 실무환경에서 DataBase 성능 최적화 및 ORM에 대해 이야기 할때 커넥션풀이라는 단어가 자주 등장하여 한번 정리가 필요할 것 같아 정리한 포스트 입니다. 🍌 JDBC란? Hikari C..
Spring과 MySQL 연동에서의 application.properties설정 출처: https://velog.io/@ddusi/Spring-1 2020-03-18 spring에 MySQL 연동하기 Spring boots를 하면서 기존에 수업때는 H2라는 데이터베이스를 사용하였다. 하지만, 이번에는 MySQL을 연동하기 위해서 MySQL driver를 설치하여 사용하려고 했는데, 자동적으로 연결이 안되서 매우 고생했다.. ㅠㅠ 프로젝트 시작시 MySQL driver 라이브러리 포함하여 시작. dependencies { implementation 'org.springframework.boot:spring-boot-starter' runtimeOnly 'mysql:mysql-connector-java' testImplementation 'org.springframework.boot:s..
Logback로깅 프레임워크 출처: https://goddaehee.tistory.com/206 이 글 읽기전 알아야 할 사전지식: https://flexyduck.tistory.com/245 [스프링부트 (5)] Spring Boot Log 설정(1) - Logback 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 Log 설정 - 로그백] 입니다. : -) 1. Logback 이란? 특징? - 자바 오픈소스 로깅 프레임워크, SLF4J의 구현체 - 스프링 부트의 기본으로 설정되어 있어서 사용시 별도로 라이브러리를 추가하지 않아도 된다. - log4j, log4j2 등과 성능을 비교했을 때에도 logback이 더 훌륭한 성능을 보여준다. - spring-boot-starter-web 안에 spring-boot-start..
배포환경과 Spring Boot Profile적용 참고: https://deveely-log.netlify.app/2020-03-21-spring-boot-profiles/ 글에 들어가기에 앞서 용어정리부터 해보기로한다. 나는 profile이란 말이 생소하여 검색하였더니 다의어로 확인되었고 여러 포스팅을 읽고 profile이 "윤곽", "개요"라는 의미로 쓰인다는 것을 파악하였다. 본격적으로 들어가기전 Framework에 대한 특성 하나를 remind하고자 한다. 알고 있듯이 프래임워크를 사용한다는 것은 기존에 이미 만들어져 있는 틀안에 내가 코드를 입력하는 형식으로 주도권은 Framework가 갖는다. 리마인드 하고싶은것은 그게 타이핑 몇글자에 불과한 대상도 철저히 그 틀이 형성되어 있다는 사실이다! 아래는 resources 폴더 안의 applicat..