profile
개발에 재미를 느끼며 꾸준히 성장하는 개발자 김종완 입니다.

T2 vs T3 비교

공통점auto scailing을 적용할 수 있음단기간 높은 트래픽이 발생할 때 cpu성능을 일시적으로 확장 가능일정하고 높은 트래픽을 상시 유지해야되는 환경에 부적합장점저렴한 비용으로 이용가능t2.micro를 사용할 경우 12개월 무료 이용 가능저전력 인스턴스로 전기

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

detached entity passed to persist

이 오류는 Hibernate 영속성 컨텍스트에서 분리(detached)된 엔티티를 'persist'메서드에 전달하려고 할 때 발생합니다. 'persist' 메서드는 새로운 엔티티를 영속성 컨텍스트에 추가하기 위해 사용되는데, 분리된 엔티티는 이미 다른 상태에 있어서 '

2023년 5월 26일
·
0개의 댓글
·

initMocks 와 openMocks 의 차의점

initMocks()와 MockitoAnnotations.openMocks() 모두 Mockito 라이브러리에서 목 객체를 초기화하는 데 사용된다. 하지만 initMocks()는 MockitoJUnitRunner나 MockitoRule을 사용하지 않는 경우에 사용되는

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

📝9장 단위 테스트

첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.둘째 법칙: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.테스트 코드는 작성만 하면 괜

2023년 5월 7일
·
0개의 댓글
·

📚 4장 주석

모듈을 짜고 보니 짜임새가 엉망이고 알아먹기 어렵다. 지저분한 모듈이라는 사실을 자각한다. 그래서 자신에게 이렇게 말한다. “이런!주석을 달아야겠다!” 아니다! 코드를 정리해야 한다.다음 코드 예제 두 개를 살펴보자.다음 코드는 어떤가?코드로도 대다수의 의도를 표현할

2023년 5월 7일
·
0개의 댓글
·

🤧7장 오류 처리 코드

오류 코드를 사용하게 되면 논리가 오류 처리 코드와 섞이게 되어 코드가 복잡해진다. 차라리 예외를 사용하는 것이 낮다.try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. 그러므로 예외가 발생할 코드를 짤 때는 try-cat

2023년 5월 1일
·
0개의 댓글
·

🪟 5장 형식 맞추기

오늘 구현한 기능은 시간이 지나면서 변하게 될 수 있다. 오늘 작성한 코드는 앞으로 유지보수할 코드의 품질에 지대한 영향을 미칠 수 있다. 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준

2023년 4월 29일
·
0개의 댓글
·

🦾3장 함수

작게만들어라저자는 함수를 만들 때 가능하면 짧게 만들라고 조언한다. 함수를 이해하기 쉽게 하고 의도를 분명히 하고 프로그램 내부를 직관적으로 파악하려면 어떻게 해야 하는가? 저자는 매우 단순한 해결책을 제시한다. 함수 코드를 가능한 한 작게 만드는 것이다. 2개의 함수

2023년 4월 29일
·
0개의 댓글
·

🧼 1장 깨끗한 코드

개발자로 살아가면서 적은 시간이 주어지고 해당 시간 안에 개발을 완료해야 하는 상황이 종종 찾아온다. 그럴 때마다 좋은 코드를 짜기 위한 노력은 코드를 일단 동작하도록 만든다는 생각보다 우선순위가 뒤처지게 된다. 이러한 코드는 당장의 문제를 제기하지 않는다. 서비스가

2023년 4월 29일
·
0개의 댓글
·

깃허브 잔디 안심어질 때

깃허브에 열심히 잔디를 심던중 잔디가 심어지지 않는 현상을 발견했습니다.구글링을 해보니 git log를 살펴보았고 username과 email이 다른 계정으로 push 되고 있어서 잔디가 심어지지 않고 있었습니다. 확인 명령어Git에서 커밋에 등록된 이름과 이메일을 수

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

📉중복 체크로직 성능 개선하기 by HashSet

나는 위와같이 코드를 작성하였다. 코드를 설명하기 전에 상황을 설명하자면 이렇다.토스페이먼츠를 통해 결제 취소 로직을 작성하고 있었다.토스는 결제 관련 api를 호출하면 반환값으로 payment를 반환하는데 부분 취소를 여러번 하면 cancels 값 안에 여러개의 ca

2023년 3월 3일
·
0개의 댓글
·

서버 이미지를 위한 도커 파일 개선

현재 젠킨스 ci/cd 파이프라인을 사용하면서 도커 파일을 아래와 같이 작성하고 있었습니다. 위 코드는 Docker 이미지를 빌드하기 위한 Dockerfile입니다. 이 Dockerfile은 openjdk:11 베이스 이미지를 사용하며, 8080 포트를 노출시킵니다.

2023년 2월 28일
·
0개의 댓글
·
post-thumbnail

비사이드 회고 #1

비사이드를 진행하면서 시간이 많이 부족함을 느꼈다. 비사이드를 시작하기 전 회사에서 개발자로 성장할 수 있는 요소가 부족하다 느꼈다. 개발자로서 성장할 수 있는 요소를 찾던 중 비사이드를 만나게 되었고 13기에 선정되었다. 나는 백엔드 개발자 포지션으로 지원했다. 이번

2023년 2월 13일
·
0개의 댓글
·

[맥] 사용중인 포트 kill하는 간단한 방법

우선 8080 포트를 어떤 프로세스가 사용중인지 PID를 아래 명령어로 알아낸다.그리고 해당 프로세스를 죽인다.https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000

2023년 1월 31일
·
0개의 댓글
·

다른 테이블의 데이터를 특정 테이블로 가져오기

이번에 비사이드 프로젝트를 진행하면서 학교 정보를 수집할 필요가 있었다. 학교 정보를 통해서 각각의 학교 동창들과 만나게 할 수 있는 기능을 제공하기 위해서 학교 정보 csv 파일을 인터넷을 통해 구했다. 처음에는 csv로 추출해야 되겠다 생각을 했지만 csv 파일로

2023년 1월 24일
·
0개의 댓글
·

querydsl No property '' found for type ''

querydsl을 사용하여 쿼리를 작성하던 중 아래의 에러를 만났다.No property 'firstMatching' found for type 'Account'해당 에러의 해결책으로 많이 제시되는 방법은 2가지가 존재했다.첫 번째로, 테이블의 컬럼이 스네이크 케이스로

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

You have not concluded your merge (MERGE_HEAD exists)

You have not concluded your merge (MERGE_HEAD exists)머지 명령어를 입력 후 메세지를 남길 때 :q로 빠져나와야 되는데 :ㅂ 한글로 입력했더니 위와같은 상태가 되어버렸다..해결책아래 명령어로 머지를 취소 시킨 뒤 다시 머지를 수

2023년 1월 4일
·
0개의 댓글
·
post-thumbnail

QueryDsl ~is not a root path

QueryDsl을 사용하면서 ~is not a root path 에러를 만나게 되었다.아래 부분에서 해당 오류를 만났다.account 와 xcuinfo에 있는 xcubator(타입 account) 을 조인하는 부분에서 해당 에러를 만나게 되었다.단순하게 xcuinfo에

2022년 12월 29일
·
0개의 댓글
·

코틀린 IndexOutOfBoundsException

코틀린/스프링을 사용하면서 아래와 같은 에러를 만났다.nested exception is java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1아래 for 문에서 해당 문제가 발생하였다.위 for

2022년 12월 26일
·
0개의 댓글
·

jjwt #1

JJWT는 JVM과 Android 위에서 JSON Web Tokens (JWTs)를 식별하고 생성하기 위한 라이브러리를 이해하고 사용하기 가장 간편하도록 하는데 초점을 맞췄습니다.JJWT는 순수 Java 구현체로 생성되었으며 Apache 2.0 License를 따르는

2022년 11월 26일
·
0개의 댓글
·