사이드 프로젝트 로컬 캐시 (Caffeine) 도입기

사이드 프로젝트에 로컬 캐시를 도입한 배경과 과정을 공유하고자 합니다. 글로벌 캐시와 로컬 캐시 중 왜 로컬 캐시를 선택했는지, 간단한 적용 방법, 그리고 로컬 캐시를 적용했을 때와 그렇지 않았을 때의 어느 정도의 성능 차이가 나는지 살펴보겠습니다.캐시 전략은 크게 두

2023년 9월 25일
·
0개의 댓글
·

JAVA String 클래스의 compareTo() 살펴보기

String 클래스의 compreTo() 메서드는 두 문자열을 character 단위로 비교한 후 다른 문자가 있으면 문자끼리 뺀 값을 리턴합니다. 결과값은 아주 간단합니다. 하지만 개인적으로 두 개의 문자열의 위치가 바뀌었을 때 어떤 값이 나올 지 유추가 안 됐습니다

2023년 9월 23일
·
0개의 댓글
·

JPA를 이용한 조회수 증가 동시성 테스트 기록

혼자 간단한 토이프로젝트를 진행하던 중 동시성을 처리하는 방법에 대해 조사하고 조사한 방법을 테스트한 글을 남깁니다.프로젝트는 사용자들의 링크를 저장하고 저장한 링크를 조회할 수 있는 프로젝트이고, 링크를 저장 시 태그를 부여해서 사용자가 지정한 태그별 링크를 조회할

2023년 9월 22일
·
0개의 댓글
·

탑코더 알고리즘 트레이닝 01. 키위주스

타로는 맛있는 키위 주스를 준비했습니다. 타로는 0부터 N-1이라는 이름을 붙인 N개의 병에 키위 주스를 넣었습니다. 이때 i 번째의 병의 용량은 capacitiesi 리터이며 타로가 i 번째 병에 넣은 키위 주스의 양을 bottlesi 리터라고 합니다.타로는 병에 키

2023년 9월 13일
·
0개의 댓글
·
post-thumbnail

Leetcode 347. Top K Frequent Elements

347\. Top K Frequent ElementsGiven an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

LeetCode 49. Group Anagrams

49\. Group AnagramsGiven an array of strings strs, group the anagrams together. You can return the answer in any order.An Anagram is a word or phrase

2023년 9월 11일
·
0개의 댓글
·
post-thumbnail

LeetCode 209. Minimum Size Subarray Sum

209. Minimum Size Subarray Sum 문제 주어진 양의 정수 배열(nums)과 양의 정수(target)가 있을 때, 합이 target 이상인 부분 배열의 최소 길이를 반환하십시오. 만약 그러한 부분 배열이 없으면 대신 0을 반환하십시오. 부분

2023년 8월 29일
·
0개의 댓글
·
post-thumbnail

LeetCode 125. Valid Palindrome

125\. Valid Palindrome팰린드롬은 모든 대문자를 소문자로 변환하고 영숫자가 아닌 모든 문자를 제거한 후에도 앞으로 읽을 때와 뒤에서 읽었을 때 동일한 경우를 말합니다. 여기서 영숫자 문자란 무낮와 숫자를 의미합니다.문자열 s가 주어졌을 때 s가 팰린드롬

2023년 8월 26일
·
0개의 댓글
·
post-thumbnail

LeetCode 121. Best Time to Buy and Sell Stock

121.Best Time to Buy and Sell Stock주어진 배열 prices는 pricesi가 i번째 날의 특장 주식 가격을 나타냅니다.당신은 한 주식을 사는 날과 미래의 어느 다른 날에 그 주식을 판매하여 이윤을 극대화하려고 합니다.이 거래로부터 얻을 수

2023년 8월 26일
·
0개의 댓글
·
post-thumbnail

LeetCode 189. Rotate Array

189.Rotate Array주어진 정수 배열 nums를 k번 만큼 rotate 하세요. k는 음수가 아님이 보장됩니다.소요시간: 4시간결국 풀지 못함, 하나의 케이스를 맞추면 다른 케이스가 깨지기를 반복배열의 reverse가 핵심 개념!1차 시도 - 시간 초과leet

2023년 8월 24일
·
0개의 댓글
·
post-thumbnail

LeetCode 169. Majority Element

169\. Majority Element크기가 n인 배열 nums의 majority element를 리턴하시오.majority element는 배열에서 n / 2 번 이상 포함된 요소를 의미합니다. (과반 요소)항상 majority element가 있다고 가정해도 좋습

2023년 8월 24일
·
0개의 댓글
·
post-thumbnail

LeetCode 80. Remove Duplicates from Sorted Array II

80.Remove Duplicates from Sorted Array ll정수 배열 nums가 오름차순으로 정렬되어 있습니다. 이 배열에서 각 고유한 요소가 최대 두 번 나타나도록 중복된 요소를 제거하여야 합니다. 요소의 상대적인 순서는 유지되어야 합니다.일부 언어에서

2023년 8월 24일
·
0개의 댓글
·
post-thumbnail

LeetCode 26. Remove Duplicates from Sorted Array

26\. Remove Duplicates from Sorted Array주어진 정수 배열 nums가 오름차순으로 정렬되어 있을 때, 중복된 요소를 그 자리에서 제거하여 각 고유한 요소가 한 번씩만 나타나도록 합니다. 요소들의 상대적인 순서는 유지되어야 합니다. 그 후

2023년 8월 24일
·
0개의 댓글
·
post-thumbnail

LeetCode 27. Remove Element

27.Remove Element정수 배열 nums와 정수 val이 주어지며, nums에서 val의 값과 같은 요소를 모두 제거하세요. 그런 다음, nums 배열에서 val과 값이 같지 않은 요소의 개수를 리턴하세요.nums에서 val과 다른 요소의 개수를 k라고 할 때

2023년 8월 22일
·
0개의 댓글
·
post-thumbnail

LeetCode 88. Merge Sorted Array

88.Merge Sorted Array두 개의 정수 배열 nums1과 nums2가 오름차순으로 정렬되어 있으며, 또한 정수 m과 n이 주어지는데, 이는 각각 nums1과 nums2의 요소 개수를 나타냅니다.nums1과 nums2를 오름차순으로 정렬된 하나의 배열로 병합

2023년 8월 22일
·
0개의 댓글
·

gradlew을 이용하여 ec2에 spring boot 서버 배포하기 (feat. jasypt)

spring boot 프로젝트를 EC2에 배포하면서 알게된 내용을 요약 정리하는 글입니다.application.yml에는 데이터베이스 커넥션을 위한 DB정보들이 담깁니다.실제 운영서버에서는 어떻게든 이 DB 정보들을 외부로 노출시키지 않아야합니다.그러기 위해서 Jasy

2023년 8월 17일
·
1개의 댓글
·
post-thumbnail

Java 람다 캡쳐링, final, effectively final

위의 코드는 숫자야구게임을 구현하는 프로젝트 내에서 세 개의 랜덤 숫자 리스트를 받아서 Ball 객체를 초기화하고 tmpBalls 배열에 할당하는 코드이다.위의 코드로 작동은 했지만 람다식을 이용해서 같은 기능을 하는 코드를 구현하고 싶었다.충분히 그럴싸해보인다. 하지

2023년 7월 6일
·
0개의 댓글
·
post-thumbnail

ArrayList

ArrayList는 Java Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.List 인터페이스의 구현 중 하나로 Resizable한 것이 특징이다. (확장 가능한 배열)ArrayList는 Thread safe하지 않고, Vector는

2022년 7월 31일
·
0개의 댓글
·
post-thumbnail

Clean Code

DAY 1 🔖 오늘 읽은 범위 : 시작 ~ 들어가면서, 처음 ~ p.36 > 📌 책에서 기억하고 싶은 내용 사소한 곳에서 발휘하는 정직은 사소하지 않다.(p.12) 시란 영원히 미완성이라 끝없는 재작업이 필요하며 포기할 때에만 끝난다. - 폴 발레리(p.16)

2022년 1월 21일
·
0개의 댓글
·

Nestjs@cli가 내 6시간을 뺏어갔어요.

어쩌다가 그런 일이.. 최근 Nest.js에 관심이 생겨서 강의와 자료들을 찾아서 공부해보고 있습니다. 제일 먼저 진행했던 컨텐츠는 노마드코더님의 NestJS로 API 만들기였습니다. Nest.js는 Express.js와 다르게 처음부터 프로젝트 구조를 생성할 필요가

2022년 1월 10일
·
1개의 댓글
·