본문 바로가기

회고

20200624 회고 - 배치 프로세스 및 데이터베이스 1. 상황 휴면회원에 대한 기록을 쌓는 배치 프로세스에 대하여 쿼리를 작성 중이었다. 프로세스 흐름도는 다음과 같다. 2. 문제점 - 연관성이 없는 각 select에 대해 단일 스레드를 통해서 순차적으로 쿼리를 실행하였기 때문에, 현재 상황보다 더 많은 테이블에 대해 작 업을 할 경우, 많은 시간이 소모된다. - @Transactional이 동작하는 사이클에 대해서 제대로 알고 쓰지 못하였기 때문에, rollback이 제대로 되지 않고 있다. - Spring Boot Batch Starter가 있음에도 불구하고 일반 절차 함수를 작성하듯이 프로그램을 작성하였다. - 후에 내가 작성한 프레임워크에 다른 배치 프로세스가 추가적으로 작성하는 것을 잘 몰랐기 때문에, 확장성이 덜 고려된 공통 코드를 작성하였다... 더보기
2019 회고 1. 올해 첫 직장에 입사하며 다룰 수 있었던 기술 1-1. AWS 기존의 알던 온프레미스 환경에서 벗어나 클라우드를 접하였다. 쓴만큼 지불한다는 개념이 존재하였기 때문에 각 클라우드 제품을 사용하는 것에 대한 최적화, 기반 기술, 한계점, 단위 비용에 대해 명확히 알고 있어야만 설계가 가능했다. 그러므로, 일반 개발자보다 훨씬 더 많은 학습을 통해 deep하게 공부를 할 필요성을 인지하였다. 중점적으로 사용한 서비스로는 Lambda, EC2, S3, API Gateway, EKS이다. 2020에는 EKS, MSK, Elastic Search 등 더욱 많은 서비스를 경험하여 내 것으로 만들 것이며 기반 기술에 대해 심도 있는 공부를 할 예정이다. 1-2. Kubernetes & Docker 입사 후 AW.. 더보기
20191126 회고 - 프로그래밍 패턴 1. 예외 처리 def S3ObjectDownload(bucket, key): # S3에 자원에 접근 할 access key와 secret key를 입력합니다. s3 = boto3.resource('s3', aws_access_key_id='', aws_secret_access_key='YOUR_SECRET_KEY') # 추출 된 key에서 경로 값을 제외한 순수 파일 명을 얻기 위한 작업 preOutPutName = key.split('/') outPutName = preOutPutName[-1] # 파라미터로 받은 값을 이용하여 가장 최근에 올린 파일을 EC2로 다운로드 s3.Bucket(bucket).download_file(key, outPutName) print("Download successf.. 더보기