일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- spring
- 자바 ORM 표준 JPA 프로그래밍 7장
- 백준
- 13460 구슬탈출 2
- 코틀린인액션
- 스프링 핵심 원리 - 기본편
- KotlinInAction
- 컨베이어 벨트 위의 로봇 Python
- Kotlin in action 3장
- 백준 20055 컨베이어 벨트 위의 로봇
- Kotlin in action 5장
- 20055
- 기능개발 python
- 백준 13460 Python
- kotlin in action 정리
- Kotlin
- Python
- 고급매핑
- 코틀린
- 스프링 핵심 원리
- 스프링 핵심 원리 이해
- 싱글톤 컨테이너
- Kotlin in action 6장
- Kotlin in action 10장
- 객체 지향 설계와 스프링
- 20055 컨베이어 벨트 위의 로봇
- Kotlin In Action
- 7장 고급매핑
- 코틸린인액션
- 스프링 컨테이너와 스프링 빈
- Today
- Total
목록분류 전체보기 (159)
기록하는 습관

공부해볼 디자인 패턴 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 디자인패턴 공부시, 가장 중요한 것은 바로 디자인패턴의 의도이다. 의도 생각하면서 공부할 것. 1. 템플릿 메서드 패턴 정의: 작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변경하지 않고도 알고리즘의 특정 단계를 재정의할 수 있습니다. [GOF] 변하는 것과, 변하지 않는 것을 분리 단일 책임 원칙을 잘 지킨 패턴 Single Responsibility Principle 단일 책임 원칙은, 변경이 있을 때 가장 잘 드러나게 된다. (SRP를 잘 지켰다면 변경 최소) 템플릿 패턴은 변경 지점을 하나로 모아, 변경에 쉽게 대처하도록 함. 추상 클래스에 공..
스프링 핵심 디자인 패턴 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 프록시 패턴 데코레이터 패턴 데이터 동기화 방법 Parameter 동기화 개념: 데이터를 함수 파라미터로 넘겨주어 동기화 시킴. 문제점: 동기화를 위해 관련 method의 모든 parameter를 수정해야 한다. (만약, 인터페이스가 있다면 인터페이스까지 모두 고쳐야 함) Field 동기화 개념: 객체 내의 필드로 초기화 시키고 값을 변경하면서 동기화 시킴. 문제점: 동시성 문제가 발생. 필드 객체가 singleton으로 등록된 spring bean이기 때문이다. 이 인스턴스의 필드를 여러 thread가 동시에 접근하게 되기 때문에 문제가 발생한다. 싱글톤 객체의 필드를 사용하면서 동시성 문제를 해결하려면? -> ThreadLoca..
1. 문제 링크 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 2. 코드 - 문제 소요 시간: 1시간 30분 import math from collections import deque state = [deque(list(map(int, input()))) for _ in range(4)] n = int(input()) rotate = [list(map(int, input().split())) for _ in range(n)] q = deq..
1. 문제 링크 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 2. 코드 - 문제 소요 시간: 1시간 37분 import sys sys.setrecursionlimit(100000) N, L, R = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(N)] dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] answe..
1. 문제 링크 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 2. 코드 - 문제 소요 시간: 1시간 10분 from collections import deque N, M = map(int, input().split()) r, c, d = map(int, input().split()) dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1] # 북, 동, 남, 서 graph = [] for _ in range(N): graph.a..
1. 문제 링크 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 2. 코드 이 문제는 총 2가지 풀이 방법이 있다. 1. 순열 구한 후, 완전 탐색으로 풀기 -> 이중 for문으로 시간복잡도 log(N^2) -> 백준 Python3로는 시간초과 발생. PyPy3는 통과. - 문제 소요 시간: 30분 from itertools import permutations N = int(input())..
나는 Python으로 코딩 테스트를 준비해왔지만, 간혹 일부 회사에서 Java를 요구할 때가 있다. 이 때, Java로 알고리즘을 풀기 위해 속성으로 준비할 수 있는 링크를 정리해두기로 했다.!! 1. 기본 문법 (String ~ 자료구조) https://velog.io/@alstjdwo1601/Java-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%ED%8C%81 Java 코딩테스트 관련 팁 ArrayList를 선언하고 , 특정 값이 value라고 할 때If( ArrayList.indexOf(value) < 0 ) Arraylist.add(value);이런 식으로 해야함. indexOf는 특정 value가 없으면 -1을 리턴하기 때..
참고) Reindex 관련 글: https://flexiblecode.tistory.com/157 Elasticsearch (3) - reindex ** Elasticsearch를 공부하며 정리한 글입니다. Elasticsearch에서는 인덱스 매핑 정보가 바뀌면 업데이트 하는 과정이 어렵다. reindex를 통해 다시 인덱스 생성을 한 후 reindex api 호출을 통해 기존 인덱 flexiblecode.tistory.com Update By Query 기능 조건에 맞는 필드를 탐색 후 업데이트 사전을 반영하는 문서 재색인 ES 사전 반영을 위해서는 2가지 방법을 사용할 수 있다. Update By Query API 사용 사전 반영을 위해서 update by query API 호출 전 index를 c..