본문 바로가기

분류 전체보기

(224)
[TIL] Spring Boot(intellij) - AOP 1. AOP란? - AOP(Aspect-Oriented Programming)는 부가 기능을 모듈화하여 재사용할 수 있도록 지원함으로써 핵심 로직과 부가기능을 분리할 수 있게 하는 기능이다. - 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) - 공통 기능이 하나의 장소에서 관리되기 때문에 유지 보수에 용이하다. ex) 모니터링, 로깅, 동기화, 오류 처리, 성능 최적화 등 2. memberService에서 회원 조회 시간 측정 로직 추가 [memberService] public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMembe..
[python] 12904- A와 B 12904번: A와 B (acmicpc.net) 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문자열 구현 문제이다. A와B로만 이루어진 문자열 2개가 주어지고 문자열 s를 문자열 t로 바꿀 수 있는지 판별하는 문제로 가능한 연산은 두 가지가 있다. 1. 문자열의 뒤에 A를 추가 2. 문자열을 뒤집고 뒤에 B를 추가 그런데, s에서 연산을 해서 t로 만드는 방법은 너무 많지않은가? 그래서 반대로 생각해보기로 했다. 이미 완성된 문자열에서 적용했던 연산을 거꾸로 한다면? t..
[python] 중복 순열과 중복 조합 중복순열(Permutation with repetition) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하면서 중복하여 뽑는 경우의 수 (n의r승) - ex) A,B,C가 있다고 할 때 순서를 고려하면서 2개를 중복하여 뽑는 모든 경우의 수는 다음과 같다. AA AB AC BB BA BC CC CA CB 3**2=9 총 9가지 중복조합(Combination with repetition) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하지 않고 중복하여 뽑는 경우의 수 (n+r-1Cr) - ex) A,B,C가 있다고 할 때 순서를 고려하지 않고 2개를 중복하여 뽑는 모든 경우의 수는 다음과 같다. AA AB BB CC AC CA 4C2 = 4P2/2! = (4*3)/(2*1) = 6 총 6가..
[python] Permutations와 Combinations (순열과 조합) 순열(Permutations) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하여 중복없이 뽑는 경우의 수 (nPr = n! / (n-r)!) - ex) A,B,C가 있다고 할 때 순서를 고려하여 2개를 중복 없이 뽑는 모든 경우의 수는 다음과 같다. AB AC BA BC CA CB 3! / (3-2)! = 6 총 6가지 조합(Combinations) - 서로 다른 n개에서 r개를 선택할 때 순서를 고려하지 않고 중복없이 뽑는 경우의 수(nCr = n! / r! (n-r)!) - ex) A,B,C가 있다고 할 때 순서를 고려하지 않고 2개를 중복 없이 뽑는 모든 경우의 수는 다음과 같다. AB AC CA 3! / 2! (3-2)! = 3 총 3가지 python의 순열과 조합 python에서는 순열과..
[python] 11559 - Puyo Puyo 11559번: Puyo Puyo (acmicpc.net) 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 보자마자 지난번에 풀었던 카카오 프렌즈 블록 문제랑 비슷하다고 생각했다. 그래서 일부 필요한 부분의 로직을 적용하였다. 우선 접근 단계는 다음과 같다. 1. 같은 색의 뿌요들이 4개 이상 모일 경우 터뜨린다. 2. 뿌요들이 터지면 아래가 비지 않게 하기 위하여 아래로 떨어트린다. 3. * 뿌요가 여러 그룹이 있다면 동시에 터져야 하고 여러 그룹이 터지더라도 연쇄는 한 번이다. 3번 ..
[python] 14891 - 톱니바퀴 14891번: 톱니바퀴 (acmicpc.net) 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 문제 접근의 시작은 어떤 구조를 쓸지 파악하는 것이었다. 1. 리스트를 사용해야하는데 회전해야한다? -> deque을 사용! 2. 회전시키는 톱니바퀴를 기준으로 하여 좌우 톱니바퀴들을 돌려주어야한다. 2-1. 톱니바퀴를 돌릴지 안돌릴지 판단하자. 2-2. 톱니바퀴를 돌려야 한다면 재귀를 사용하자. 여기까지가 처음 시작한 접근이었다. 톱니바퀴의 개수는 4개로 주어져 있기 때문에 각각 비교해야하는 톱니바퀴의 맞물리는..
[TIL] Spring Boot(intellij) - [DB-5] JPA와 스프링 데이터 JPA * 인프런 김영한 강사님의 스프링 입문 강의 정리 6. 스프링 데이터 JPA 환경 설정은 앞 포스팅의 JPA 환경설정과 동일하다. 6-1 스프링 데이터 JPA Repository 생성 repository 폴더 하위에 SpringDataJpaMemberRepository 인터페이스를 생성한다. * 클래스 파일이 아닌 인터페이스! * 스프링 데이터 jpa를 사용하면 인터페이스만으로 구현이 가능하다..! [SpringDataJpaMemberRepository] package myStudyspring.myStudyspring.repository; import myStudyspring.myStudyspring.domain.member; import org.springframework.data.jpa.reposit..
[TIL] Spring Boot(intellij) - [DB-4] JPA와 스프링 데이터 JPA * 인프런 김영한 강사님의 스프링 입문 강의 정리 JPA 와 스프링 데이터 JAP를 학습하였다. 이전 실무에서 Mybatis로 직접 쿼리를 작성하여 db 데이터를 처리하는 프로젝트를 많이 다뤘었는데 JPA는 직접 쿼리를 작성하지 않아도 알아서 해준다니..? 내용이 너무나도 방대하다고 하지만 잠깐 살펴본 것 만으로도 새로운 세계를 본 것만 같았다. JPA(Java Persistent API) - java ORM(Object Relational Mapping) 기술에 대한 api 표준 명세를 뜻한다. - 인터페이스이므로 구현체가 필요하다. - 대표적인 구현체로 Hibernate가 있다. - 데이터 중심의 설계에서 객체 중심의 설계로 전환할 수 있다. -> 생산성을 높일 수 있다. Spring Data JPA..

728x90