분류 전체보기

요즘 TDD를 조금 씩 실천해보고 있는 와중 이것 저것 해보다, JPA Repository테스트를 좀 더 가볍게 진행하기 위해 @DataJpaTest 어노테이션을 사용해 보았습니다. @DataJpaTest 어노테이션을 사용하게 되면 장점은 JPA 관련 테스트 설정만 로드하게 된다. 1번의 이유로 테스트가 좀 더 가벼워 진다. 내장형 인메모리 DB를 사용하여 실제 데이터 베이스를 사용하지 않고 테스트 할 수 있다. 기본 적으로 @Transactional 어노테이션을 포함하고 있다. 테스트가 끝난 후 롤백된다. 가 있고, 테스트 시에는 다른 DB를 사용하고 싶다면, test/resources/application.yml 파일을 만든 후 datasource를 설정합니다. // application.yml sp..
List 순서가 있고 중복을 허용합니다. 인덱스로 원소에 접근이 가능합니다. 크기가 가변적 입니다. ArrayList 단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다. 배열을 기반으로 데이터를 저장한다. 데이터 삽입, 삭제가 느리다. 데이터 검색이 빠르다. LinkedList 양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다. ArrayList보다 검색이 느리다. Map Key와 Value의 한쌍으로 이루어지는 데이터의 집합. Key에 대한 중복이 없으며 순서를 보장하지 않는다. 뛰어난 검색 속도를 가진다. 인덱스가 따로 존재하지 않기 때문에 iterator를 사용한다. HashMap Key에 대한 중복이 없으며 순서를 보장하지 않는다. Key와 Value 값으로 NULL을 허용한다. 동기화가 ..
방문 길이 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, "ULURRDLLU"로 명령했다면 1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다. 8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 중 캐릭터가 처음 걸어본 길의 길이를 구하려고 합니다. 예를 들어 위의 예시에서 게임 캐릭터가 움직인 길이는..
최근에 리팩토링과 TDD의 중요성을 많이 느끼게되어 유튜브에서 검색하게 되었다. 우연히 마틴 파울러의 키노트를 보게되었는데, 꽤 유익한 내용인 것 같아 글을 적어봤다. 해당 유튜브를 보고 개인적으로 이해하기로는 처음에는 리팩토링하는 과정으로 인해 생산성이 낮아질 수도 있는데 시간이 지날 수록 리팩토링 한 코드로 인해 유지보수성과 생산성이 리팩토링을 하지 않은 코드보다 높아진다고 한다. 리팩토링을 하지 않고 계속하여 추가개발만 진행한다면, 추후에 리팩토링을 해야된다고 느낄 때 그 서비스는 망한 서비스라 한다.  리팩토링을 해야하는 이유는 "깨끗한 코드를 만들기 위해, 퀄리티를 높이기 위해"도 아닌 "경제성" 때문이라고 한다. 리팩토링을 해야하는 이유를 "경제성" 때문이라고 하는 이유는 잘 관리된 코드는 ..
문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018 신입 개발자 뽑는다" 기사의 제..
AWS 인프라를 담당하고 있는 서비스에서 개발서버 테스트 중 메모리와 CPU를 프리티어 급 (cpu 0.25, 메모리 512mb)으로 잡아놨더니 사용률이 90프로가 넘어갔다. ECS의 작업정의 -> 새 개정 생성으로 컨테이너 성능을 스케일 업 한 후 서비스 업데이트 처리하여 스케일 업하여 정상 범위로 돌아올 수 있었고, 다시 테스트를 진행할 수 있었다.
SNAPSHOT 아직 개발 중인 버전 언제든지 기능이 추가되고 삭제될 수 있기 때문에 가장 불안정한 버전 M(Milestone build) 완전하지 않은 기능이 포함된 버전 SNAPSHOT보다는 안정적이나 여전히 문제가 있을 수 있음. 기능이 완성되자마자 공개되는 편 RC(Release Candidate) 출시 후보 기능이 가능하면 완전하고 안정적이여야 함 후보 버전이기 때문에 여전히 문제가 있을 수 있음 RC에서의 기능들은 대부분 그대로 GA로 배포 됨 GA(General availability) 최종 릴리즈 버전 기능이 완전하고 안정적 SR(Service Release) Major 버전 이후에 제공되는 후속 유지보수 릴리즈 버전
mac/linux 기준으로 ~/.aws/credentials windows 기준으로 %USERPROFILE%\.aws\credentials 파일을 수정하여 아래와 같이 프로필을 추가한다. [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY mac&Linux 기준으로 ~/.aws/config windows 기준으로 %USERPROFILE%\.aws\config 파일을..
Batch Insert란? # insert INSERST INTO TABLE_A(name, phone) VALUES ('test1', '01000000001') # batch insert INSERST INTO TABLE_A(name, phone) VALUES ('test1', '01000000001'), VALUES ('test2', '01000000001'), VALUES ('test3', '01000000001'), VALUES ('test4', '01000000001'), VALUES ('test5', '01000000001') 만약 10,000 건의 insert가 필요한 경우, 1건 씩 DB에 요청을 하게되면 10,000 건의 커넥션을 맺게 된다. 서버에서 DB서버로 요청과 응답을 10,000번..
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예numbersreturn [6, 10, 2]..
infitry
'분류 전체보기' 카테고리의 글 목록 (5 Page)