Zero to Hero
article thumbnail
210. Course Schedule II
Algorithm 2021. 7. 28. 09:23

Course Schedule II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이전에 풀었던 문제와 비슷하지만 이번에는 가능한 수강 순서 중 하나를 반환하는 문제다. 1. 위상 정렬 from typing import * from collections import defaultdict, deque class Solution: def findOrder(self, numCourses: int, prerequisites: List[List[int]]) -> Lis..

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Review 2021. 7. 26. 12:25

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 - 인프런 | 강의 스프링 부트와 JPA를 활용해서 API를 개발합니다. 그리고 JPA 극한의 성능 최적화 방법을 학습할 수 있습니다., 본 강의는 자바 백엔드 개발의 실전 코스에 있는 활용2 강의 입니다. 스프링 부트와 J www.inflearn.com 후기 JPA를 활용한 CRUD 중 R(Read)에 초점을 맞춘 성능 최적화 관련 내용을 다룬다. 강의 자체가 선수 강의를 수강했다는 전제 하에 진행된다. (선수 강의 관련된 후기는 여기) 여전히 구현에는 JpaRepository를 사용하지 않는다. DB에 접근해서 Entity를 불러오는 것은 결국 내부적으로 DB에 쿼리를 날린다는 뜻이고, 쿼리의 호출 수가 적을수록, 쿼리 자체가 성능이 ..

article thumbnail
307. Range Sum Query - Mutable
Algorithm 2021. 7. 25. 10:59

Range Sum Query - Mutable - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 정수로 이루어진 list가 주어질 때 주석으로 된 코드가 작동하도록 메서드를 구현하는 문제다. class NumArray: def __init__(self, nums: List[int]): # 자유롭게 사용 def update(self, index: int, val: int) -> None: # nums[index]의 값을 val로 바꾸시오 def sumRange(s..

article thumbnail
1769. Minimum Number of Operations to Move All Balls to Each Box
Algorithm 2021. 7. 24. 21:54

Minimum Number of Operations to Move All Balls to Each Box - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1과 0으로 이루어진 문자열이 주어진다. 특정 index로 문자열의 모든 1을 이동시켰을 때의 비용 값을 반환하는 문제다. 한 칸 움직이는 비용은 1이다. Input: boxes = "001011" Output: [11,8,5,4,3,4] 0번 인덱스로 모든 1을 옮기려면 2,4,5번 인덱스의 1을 0번 인덱..

article thumbnail
파세코 3세대 창문형 에어컨 PWA-3300WG 리뷰
Review 2021. 7. 22. 00:30

방이 서향이어서 여름은 항상 힘들었다. 그래도 두 달만 버티면 되지 라는 생각으로 10년 넘게 버텼는데 코로나로 인한 재택근무가 길어지면서 에어컨을 알아보게 되었다. 구조상 실외기를 설치할 수 없어서 서큘레이터나 창문형 에어컨 말곤 선택지가 없었다. 파세코샵 산지에서 해외까지, 생생한 리얼쇼핑 shoppinglive.naver.com 그러다 네이버 라이브 쇼핑에서 파세코의 창문형 에어컨을 좋은 가격에 구매하게 되었다. 듣자 하니 21초마다 한 대씩 에어컨이 팔리고 있는 대박 난 회사라고... 심지어 리뷰수는 1위인 S사 제품보다 많다는 건 나름대로 검증되었다고 생각해서 라이브 방송 시간에 맞추어 비교적 저렴하게 구매했다. 네이버 페이 멤버십에 가입되어있었기 때문에 포인트를 꽤 쏠쏠하게 쌓으면서 구매했다...

Mockito.doNothing()
Programming 2021. 7. 21. 16:36

비즈니스 로직 구현상의 편의와 하위 호환성을 위해 아무것도 하지 않는 메서드를 호출하게 되는 경우가 있다. public abstract class Beer { private String name; private LocalDateTime expirationDate; abstract void addAlcohol(int amount); } 주류회사의 서비스이고, Beer 클래스의 구현체가 굉장히 많다고 가정하자. 비즈니스 로직에는 반드시 addAlcohol()을 호출하고 있다. public class Coffee extends Beer { @Override void addAlcohol(int amount) { // do nothing } } 그런데 갑자기 커피를 만들어 팔려고 한다면...? 커피는 알코올이 들..