전체 글
-
[DynamoDB (1)] DynamoDB란? DynamoDB 사용 조건, DynamoDB 핵심 개념 설명AWS 2023. 2. 16. 18:05
1. 정의 1.1. DynamoDB란? DynamoDB는 무한대에 가까운 items 속에서 하나 혹은 몇개의 items을 primary key로 빠르게 찾는 것을 잘하는 AWS NoSQL 서비스 서버 구성, 확인, 용량 기획 등이 필요 없다. (Fully Managed Serverless) 규모에 따른 스케일링 기능을 제공한다. 모든 규모에서 10ms 미만 성능을 제공한다. 읽기, 쓰기 용량이 증가함에 따라, 성능도 같이 증가한다. PutItem, GetItem은 항상 10ms 이내로 응답 되고, Query는 20~30ms내에 리턴된다. 초당 수천, 수백만개 요청 가변적으로 처리할 수 있다. 전역 테이블 사용하여 전역 복제 자동화 제공 (글로벌 레플리케이션 생성/삭제 간편) 1.2. DynamoDB 사용..
-
[사내 shedlock 적용기] Spring Scheduler로 Hard delete 구현하기Spring Boot/스케쥴러 2023. 1. 9. 21:41
사내 프로젝트 마이그레이션을 진행하면서 이전에 Spring Quartz 로 되어있던 배치성 작업을 없애기로 결정했다. 결정한 이유는 다음과 같다. 이전 사수분이 알림과 데이터 물리삭제 용도로 Quartz 테이블, 설정만 구성중에 퇴사하여 실제로는 동작하지 않던 상태. 동작하도록 만들기 위해서는 Quartz에 대한 학습, 기존 구현 로직 분석 등의 학습 곡선 현재는 정기적인 배치성 물리 삭제 기능만 요구사항으로 있는 상태 즉, 미완성인 배치성 기능을 수정하여 고치기엔 학습이 필요한 무거운 작업인데, 필요한 요구사항은 단순해서 현재의 최선은 Spring에서 제공하는 Scheduler 어노테이션을 활용해 해결하기로 했다. 1. Spring-annotations for scheduler 사용하기 스프링에서 제공..
-
[사내 TestContainer 적용] Spring boot 통합테스트 도입기Spring Boot/테스트 2023. 1. 6. 00:38
개발자가 되고 가장 고된 작업으로 기억에 남을 통합테스트 작성 과정을 기록에 남긴다. 작년 3월 입사하고 백엔드 시니어님의 갑작스러운 퇴사로, 익숙하지 않은 지식들을 내것으로 만들기 위해 또는 살아남기 위해 씨름하던 중, 작년 하반기 무렵 드디어 회사에 새로운 시니어님이 입사하셨다. 직장 상사 보다는 동료로, 그리고 굉장히 능력있는 분이 오셔서 내게는 작년중 가장 큰 행운이었다고 할 수 있다. 그리고 작년 9월부터 새로온 분과 기존 Mybatis와 Postgres로 되어있던 프로젝트를 다른 기술 spec으로 처음부터 다시 구축하기로 결정했다. (처음에는 Logging 작업을 진행한 후에, 점진적으로 프로젝트를 개선하려고 했지만, 일주일 정도를 작업해보시고는 처음부터 다시 만드는 쪽이 속도가 더 나올 것 ..
-
[TEST 시리즈 1]단위테스트란? Unit 테스트 정의Spring Boot/테스트 2022. 11. 18. 02:07
회사에서 단위테스트를 추가하는 업무를 맡았다. 그 동안 내가 알고 있던 Unit Test와 시니어님이 요청하신 Unit Test의 정의가 달라서 일주일이 날아갔다. 이것은 고통과 함께한 단위테스트 기록이다. 단위테스트의 정의 마틴 파울러씨는 다음과 같이 말했다. (출처 : https://martinfowler.com/bliki/UnitTest.html) Unit testing is often talked about in software development, and is a term that I've been familiar with during my whole time writing programs. Like most software development terminology, however, it's..
-
정규식 표현 (자바, 코틀린) - 전화번호, 우편번호, 이메일JAVA/자바공부 2022. 10. 14. 00:26
출처 정규식 test 해볼 수 있는 사이트 : https://regexr.com/ 정규식 기본 강의 : https://www.youtube.com/watch?v=rhzKDrUiJVk 정규식 표현식 정리 : https://codechacha.com/ko/java-regex/ 자바 정규식 : https://vogella.com/tutorials/JavaRegularExpressions/article.html 코틀린 정규식 : https://codechacha.com/ko/kotlin-how-to-use-regex/ https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/matches.html 우편번호 정규식 /* * 우리나라 우편번호 정규식 */ // 1988 ..
-
내가 자주쓰는 GIT 명령어GIT 2022. 10. 9. 12:48
- 0222 : reset과 revert 차이와 reset에 대한 옵션 기록 추가 기본 명령어 (깃 add, push, merge, reset, branch) // 깃 상태 확인 git status // 파일의 바뀐 부분 확인 git diff {/경로/파일이름} // 커밋 git add {/경로/파일이름} git add . git commit -m "커밋내용" // 설정 git config —local user.name "커밋하는 사람" git config —local user.email "커밋맨 이메일" // 브랜치 만들기, 확인 git checkout -b newbranch git branch git push —set-upstream origin newbranch (—set-upstream `==` ..
-
자바 17로 바꿔야 할까? (자바 JDK 10 ~ 17 정리)JAVA/자바공부 2022. 10. 1. 00:16
잠이 안 와서 유튜브에 보는데 intellij conf에 자바 17에 대한 발표가 있었다. 정리해 본다. 출처 Project Repo : github Intelij Conf 2022 : youtube 🧑🏫 발표자가 생각하는 Java 17 요약 17 오면서 성능 향상 (빠르다, 메모리 조금 쓴다), 새로운 기능 추가 됨 자바 8 쓰는 중이라면 11 건너뛰고 바로 17로 가자 (라이브러리 버전들이 영향받을 것…그렇지만) JDK 17은 발표된 지 1년 지났고 라이브러리들 안정화된 것 같음 (17은 Sept 2021 발표) JDK 19도 이미 출시 JDK 21(LTS) 출시 예정 (Sept 2023, LTS 출시가 2년 주기로 바뀜 관련 기사) JDK 17은 6년 이상 지원 될 것 1. 발표자 Nikhil N..
-
OpenJDK란? JDK 종류와 LTS 버전JAVA/자바설치 2022. 8. 19. 01:23
OpenJDK는 뭐고 뭘 설치해야할지 정리 Open JDK vs Oracle JDK 자바는 1995년 등장한 언어로 2011년 오라클에서 인수하여 유료화가 되었다. - Oracle JDK -> 상업적으로 이용하기 위해서는 비용을 지불해야한다.(단, 일반적인 목적으로 개인이 사용하는 것은 무료) - Open JDK -> 자바를 컴파일(JDK)하고 실행(JVM)하는 기능을 지원하는 JDK로 무료이다. Open JDK 그리고 Vendor OpenJDK의 명세는 JCP(오라클, IBM, SAP 등으로 구성)에 의해서 결정된다. (https://jcp.org/en/jsr/overview) JCP에 의해서 OpenJDK의 스펙 JSR(Java Specification Request)이 결정된다. OpenJDK는 결..