전체 446

[코딩테스트] 프로그래머스 카카오 코딩테스트 기출 복기1

1. 신규 아이디 추천 (*) https://programmers.co.kr/learn/courses/30/lessons/72410?language=python3 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr re 사용법 []와 ^ 사용 [^ ] 리스트 슬라이싱 길이가 16 이상일 때 길이 15로 만들기 -> string[:15] 2. 메뉴 리뉴얼 (**) https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 ..

코딩테스트 2022.03.10

[인프런][스프링 입문] 25~27 강

AOP가 필요한 상황 AOP 적용 다음으로 * 시나리오 - [목표] 모든 메서드의 호출 시간을 측정하고 싶음 - [방안] 각 메서드마다 시간 측정 로직을 추가함 - [참고] 이 때 exception이 발생해도 실행되어야 하기 때문에 finally에 작성 - [문제1] 시간 측정 코드는 핵심 비즈니스 로직이 아니고 공통 관심 사항이므로, 핵심 관심 사항과 공통 관심 사항이 섞여 유지보수가 어려워짐 - [문제2] 시간 측정 로직은 별도 공통 로직으로 만들기 어려움 - [문제3] 시간 측정 로직을 변경하기 어려움 * 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항 (core concern) * AOP (Aspect Oriented Programming) - 공통 관심 사항과 핵심..

[IntelliJ] Windows 단축키

New File Alt + Insert Rename Shift + F6 Constructor / Getter / Setter Alt + Insert Settings Ctrl + Alt + s implements interface시 자동 Override 입력 Alt + Insert Static 생략 (Assertions) Alt + Enter 자동 저장 변수 생성 Ctrl + Alt + v Refactoring 메뉴 Ctrl + Alt + Shift + t Extract method Ctrl + Alt + m 파일 검색해서 이동하기 Shift + Shift 최근 파일 Ctrl + e inline (생략 가능한 라인 하나로 병합) Ctrl + Alt + n

툴/IntelliJ 2022.03.09

[Daily Report] 22.03.08 - 의존 자동 주입, @Transactional과 JPA, 코테 복기

Memo Mamacoco 이슈 정리 l Category Parent - [환경] DB는 블로그에 종속된 정보를 분리하여 스키마를 설계 (ex. Category / TistoryCategory) - [환경] 따라서 새로운 TistoryCategory가 생기면 Category id가 생성됨 - [상황] 비교를 위해 Tistory API에서는 tCatId/tParent를, DB에서는 tCatId/Parent를 가져옴 - [비교] 비교해야하는 것은 카테고리의 Parent가 바뀌었는지 - [시나리오] 그런데 Parent가 새로 생성된 카테고리라서 CatId가 없다면? - 계속 정리하기… 스프링 책 l 의존 자동 주입 - @Autowired : 타입으로 찾음 - @Qualifier - 상속 주의 - @Autowir..

정리하기/DR 2022.03.09

[인프런][스프링 입문] 21~24강

스프링 통합 테스트 스프링 JdbcTemplate JPA 스프링 데이터 JPA * Spring boot 테스트 작성법 - [애노테이션] @SpringBootTest, @Transactional 애노테이션이 추가되어야 함 - [참고] 테스트에서 정도는 필드 @Autowired를 사용해도 된다 (편하다) * @SpringBootTest - 스프링 컨테이너와 테스트를 함께 실행 - 진짜 스프링을 띄워서 테스트를 함 * @Transactional - DB 연동 테스트시 테스트 전 상태로 rollback해줌 - afterEach가 필요 없음! - [이유] 트랜잭션을 commit하기 전에 rollback해버림 * 단위 테스트는 필요 없는가? - 스프링 컨테이너를 실행하는 테스트를 통합 테스트라고 함 - 통합 테스트..

[스프링5 프로그래밍 입문][chap04] 의존 자동 주입

1. 예제 프로젝트 의존 자동 주입 의존 대상을 설정코드에서 직접 주입하지 않고, 스프링이 자동으로 객체를 주입하는 기능 의존 주입 관련 애노테이션 @Autowired @Resource : 자바에서 제공하는 애노테이션 2. @Autowired 애노테이션을 이용한 의존 자동 주입 @Autowired 의존을 주입할 대상에 붙이는 애노테이션 필드나 세터 메서드에 붙이면 스프링은 타입이 일치하는 빈 객체를 찾아서 주입 설정 파일에서 사용하기 위해 기본 생성자가 필요 @Bean public MemberDao memberDao() { return new MemberDao(); } 세터 메서드의 자동 주입 구현 과정 기본 생성자를 추가 세터 메서드에 @Autowired 추가 설정 파일에서 기본 생성자로 return ..

책읽기 2022.03.08

[Daily Report] 22.03.04 - 스프링 책 chap.3 / 스프링 인강 17~20강

Memo 스프링 책 l 챕터 3 복습 - [주제] DI – 의존 주입 - [요약1] 의존하는 객체를 직접 생성하지 않고 사용 - [요약1] 객체를 생성하여 주입시켜주는 객체를 어셈블러라고 함 - [요약2] 스프링 또한 어셈블러 역할 - [요약2] DI의 2가지 방식 (생성자, setter) - [요약2] @Autowired로 등록된 빈을 자동으로 주입 l 챕터 3 - @Import - getBean() 스프링 인강 l 17~20강 - Jdbc와 H2를 이용한 회원 등록/조회 - MemoryMemberRepository에서 JdbcMemberRepository로 설정 클래스를 통해 쉽게 바꿈 - Open-Close Principle 확장엔 Open, 수정엔 Close New Intellij 단축키 l 파일..

정리하기/DR 2022.03.05

[백준][문자열] 찾기

BAEKJOON Online Judge(BOJ) 문제입니다. https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 문제 https://www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net 내가 작성한 코드 import sys read = sys.stdin.readline def get_data(): ..

코딩테스트 2022.03.05

[인프런][스프링 입문] 17~20 강

회원 웹 기능 - 등록 회원 웹 기능 - 조회 H2 데이터베이스 설치 순수 JDBC https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are test tutorial codes be..