학습
-
계속 바뀌었던 제휴사 연동 모듈의 로그 적용기학습/회고록 2024. 11. 23. 11:59
PM: Production에는 로그를 적재하고 있지않아요! p4..쯤 안정화되면 적용할께요!! 예..? Q. staging 에는 로그가 있는데요? 그대로 쓰면 안되나요..?Team: 아... 로그 보안정책을 다 제대로 체크하지 못했어요.. Q. staging 서버는 어떻게 적용이 됐나요..?PM: 데이터독 서버가 해외라 staging은 암호화처리를 하고 production은 적재하지 않는 방식으로 가기로 했어요. 그렇다.데이터독 서버는 2019년 9월에 9조 이상 가치로 미국 나스닥 시장에 상장한 해외서버였다. 여러 제휴사를 붙이고 제휴사마다의 규격을 통일화 한뒤 코드의 모듈자체에 로그 컨벤션을 완성했다.production의 로그는 휘발성으로 남겨둔채로 DB에 적재된 통신로그에러메세지만 보다가 한계가..
-
[회고] 제휴사 연동 서버 개발학습/회고록 2024. 11. 23. 11:21
신규 제휴사 연동이 많아지면서 대출 처리 서버에서 제휴사 연동 모듈서버를 따로 분리하는 작업을 맡게되었다. 개발스펙은 기존 프로젝트는 Go Lang을 사용하고 있었으나, 제휴사 연동 모듈은 Spring Boot + Java 로 개발된다고 하여 투입을 진행했다. MSA 환경답게 쿠알못인 나에게 쿠버네티스를 접할기회가 생겼고 데이터독과 AWS를 다룰 수 있는 기회도 생겼다. 그 밖에도 회사는 스타트업 답게 데이터독 대시보드와 스노우플레이크를 잘 활용하고 메인 언어를 golang 으로 가져가고 있었다. 처음 계약 3개월동안은 대출 도메인을 공부하면서 코드스타일을 맞춰가려고 노력했다.가장 좋은점은 팀원들의 빠른 리뷰문화와(리뷰먼저 처리) 슬랙을 사용한 업무소통이 빠른 업무처리를 만들어내는 조직으로 자리잡고 있다..
-
[프로젝트] 클라우드 로컬에서 실행되도록 만들기학습/프로젝트 2024. 7. 5. 15:51
# 프로젝트 환경쿠버네티스 # 외부 연결된 어플리케이션- 메세지 큐 [ sqs, sns ]- Grpc - 로깅 DataDog / Cloud watch- rds mysql- apn2 redis # TODO프로젝트를 로컬에서 실행되도록 개선 # 외부 연결된 어플리케이션1. 로컬에서 연결이 가능한 외부 어플리케이션 정리- 데이터베이스 (redis, mysql) - Grpc (다른 프로젝트) 2. 로컬에서 대체가능한 어플리케이션 정리- 로깅 -> 로컬에서 쓰도록 설정 추가 3. 대체가 안되는 어플리케이션 정리- AWS의 모든 어플리케이션 # logback에 로컬 로깅 적용# logback-spring.xml # AWS 모킹테스트 코드에서만 정상적으로 작동되도록 aws 설정을 모킹 후 결과값을 반환하도록 작성되..
-
[SAP 시험관리] 프로젝트 DEV 서버 구축일기.학습/프로젝트 2024. 4. 24. 08:36
프로젝트 구축 회고: 팀 작업과 기술 선택의 중요성프로젝트 개요프로젝트는 테스트 응시자 관리 시스템을 개발응시자의 계정 발급, 시험 성적 관리, 시험 문제 관리 등 백오피스 개발팀 구성과 역할퍼블리셔: UI 구현프론트엔드 개발자: React를 사용한 클라이언트 사이드 로직 구현백엔드 개발자 (나): 서버 사이드 로직 및 데이터베이스 관리기술스택프론트엔드: React(프론트엔드)백엔드: Spring Boot 3, MybatisDB: MySQL기술 선택 이유프론트엔드: 팀원 중 React에 능숙한 개발자가 있어 선택.백엔드: 복잡한 도메인 로직 관리가 필요 없어 JPA 대신 MyBatis 선택.JWT 토큰: 시스템 간 통신과 인증에 JWT를 사용하여 보안 강화.기술 스..
-
[JWT] 어디에 저장하는게 좋을까?학습/개발노트 2022. 10. 28. 22:35
사전 준비 Authentication Server에서 API서버에 AccessToken과 RefreshToken을 발급한 상태 클라이언트에 저장방법 1. SessionStorage 세션 변수로써 새창, 새로고침 등에 추가로직이 필요함 2. Localstorage 글로벌 변수 XSS 취약점 : 방어 불가능 ex) 공격예제 3. 로컬변수 새로고침 시 토큰이 사라짐 4. 쿠키 XSS 취약점 : HttpOnly 속성 사용으로 방어 가능 alert(document.cookie); 스니핑 : Secure 속성 사용으로 방어 가능 https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EB%B6%84%EC%84%9D%EA%B8%B0 패킷 분석기 - 위키백과, 우리 모두의 백과사전 위..
-
OAUTH 2.0 정리학습/개발노트 2022. 10. 19. 21:09
용어 정리 ex) 티스토리에서 카카오 로그인 [ Target ] Resource Owner : 유저, 사용자 Client Server : 애플리케이션 제공서버 ( 티스토리 ) Resource Server : 인증, 권한 부여 서버 ( 카카오 ) [ Jargon ] Client Id : Client Server의 고유 ID Client Secret : Client Server의 비밀번호 Redirect URL : Client Server에서 Resource Server에 인증을 요청한 이후 Resource Server가 Client Server에 응답값을 전송하기 위한 URL Scope list: 권한 목록 Authorization code : Resource Server가 승인한 코드 티스토리 카카오톡 ..
-
FINAL 키워드의 집착을 버려본다.학습/개발노트 2022. 10. 14. 00:07
final 변수가 불변이라는 사실을 명확하게 알 수 있다. Builder 패턴을 통해 vo를 불변객체라고 명확하게 알려주었다. @Getter public class UserInfo { private final Long id; private final String password; private final String name; private final String gradeCode; private final LocalDateTime createdAt; private static final Long PASSWORD_MIN_LENGTH = 6L; private static final Long PASSWORD_MAX_LENGTH = 18L; @Builder public UserInfo(Long id, Stri..
-
이직 전에 받았던 질문 정리학습/회고록 2022. 10. 11. 15:19
3년동안 뭐했어? 1년차 - 회사 프레임워크 및 회사 도메인 이해 - 주 업무 인 가상계좌 시스템 유지보수 파악 - 사내 서비스 대부분은 JSP, JavsService64로 구성된 배치프로그램으로 구성 - 사내 프레임워크로 개발 - 서비스 유지보수 무엇을 배웠나? - 주석 - 로직상 문제가 없는 코드 2년차 - 사내 서비스의 문제점 개선 1년차에서 하고있던 유지보수들을 개선 - 이중수납 개선 - 메일 자동화 작성 - 모니터링 알람 설정 - 로그 추가 등 기존 유지보수들은 서비스의 문제로 생기는 것들이 대부분이였고, 서비스를 개선하다보니 유지보수의 양이 줄어들었다. - 이직 준비 무엇을 배웠나? - 서비스에 대한 이해 3, 4년차 - 신규 프로젝트 이직 면담 - 사내 서비스 개선에만 몰두 - 개발자 공부에..