- ObjectMapper, maven, gradle 등 한 주간 업무시간이나 영상 등에서 배운 것들을 간단하게 정리하였습니다.
1. 적당한 스트레스는 원동력이다!
이직한지 어느새 한달이 다 되어간다. 뭔가 한 것 같은데 하지 않은 것 같기도 하고..
아직도 모르는 게 너무 많아서 좀 벅찬 느낌이 있다. 뭐 한달도 안 되었는데 얼마나 알겠냐는 친구의 조언도 있었지만 역시 나는 인프제(INFJ)라 그런지 신경이 많이 쓰이고 빨리 정상궤도(?)에 올라야겠다는 강박이 든다.
뭐 항상 조급하다고 바뀌는 게 없는 걸 알고 있기 때문에, 요런 스트레스는 긍정적으로 공부할 수 있느 원동력으로 전환시키려고 한다. 이직했는데 너무 쉬워도 이상하니까..
그나저나 최근에 건강 목적으로 탄수화물을 좀 줄이고 있는데 쉽지 않다..의도하지 않게 살이 빠지네.
쨋뜬 제목은 TIL이지만 며칠에 걸쳐 알게 된 것들이나 디테일하게 알아야 할 것들에 대해 간단히 정리하려고 한다.
2. 학습 기술 및 개념 등
1) amqp
운영 서비스가 rabbitMQ를 사용하여 이것저것 검색하다가 알게 되었다.
Advanced Message Queing Protocol라고 한다. MQ 오픈소스에 기반한 표준 프로토콜이다. 클라이언트와 서버 사이에서 사용되는 미들웨어로 메시지를 발행하고 제어하는 MQ 오픈소스들이 기반하는 프로토콜이라고 할 수 있겠다. 애플리케이션과 DB서버가 강하게 결합되어 있는 설계에서는 DB장애 발생시 애플리케이션에 영향을 주지만, rabbitMQ같은 오픈소스 기술을 적용하면 중간에서 결합도를 낮출 수 있다.
2) SSO
어설프게만 알고 있다가 이번에 SSO 인증 시스템을 건드려야 해서 다시 학습했다. SSO는 시스템 간의 로그인 방식을 간단하게 할 수 있다. A서비스가 B서비스 링크로 이동할 때 SSO를 구현하면 B서비스에서 로그인할 필요 없이 서비스를 사용할 수 있다. 서비스마다 구현 방식이 조금씩 다르겠지만 운영 중인 서비스에서는 다음과 같은 방식으로 이용한다.
- 1.A서비스 로그인 시 SSO 인증 서버에서 토큰키 발급
- 2.B서비스 이동시 A서비스가 받은 토큰키와 회원정보 등을 암호화 해서 B서비스에 넘겨줌
- 3.B서비스는 SSO 인증 서버에 A서비스에서 받은 토큰키와 정보를 넘겨 인증을 요청함
- 4.인증 성공하면 바로 메인페이지 이동
3) 명령어(nslookup)
DNS에 질의하여 도메인의 IP를 확인할 수 있다. 네트워크 디버깅에 자주사용된다고 한다. nslookup만 입력하면 질의한 DNS서버만 나온다. nslookup 도메인주소라고 입력해야 ip를 확인할 수 있다.
4) maven, gradle관련
김영한님 강의 보면서 찾아보다가 몇가지 정리한다.
(1) maven scopes
우선 maven scopes는 다음과 같다.
- compile : scope명시하지 않을 때. 컴파일시 의존성 설정 해줌
- provided : 최종 build artifact에 포함되지 않을 때 사용.
- runtime : 컴파일 때 말고 실행 시에만 필요한 의존성일 경우 사용
- test : 테스트 시에만 의존성 필요한 경우 사용. JUnit, Mockito, AssertJ 등
(2) gradle compile vs implementation
dependencies에 의존성 추가할 때 compile을 사용하면 deprecated 경고가 뜬다. gradle 7.0버전 이상부터 사용할 경우 build가 제대로 안 될 수 있다. compile은 implementation으로 대체 가능하다.
5) ObjectMapper
JSON 데이터를 자바 POJO로 역직렬화, 자바POJO를 JSON으로 직렬화 가능하다.
ObjectMapper objectMapper = new ObjecctMapper();
objectMapper.writeValueAsString(Object); //Object를 json String으로 변환(직렬화)
objectMapper.readValue(jsonString값, Object.class); //jsonString값을 Object로 변환(역직렬화)
추후 디테일한 것은 따로 포스팅해야겠다.
출처
http://egloos.zum.com/killins/v/3025514 (amqp 관련)
https://olivejua-develop.tistory.com/59 (maven, gradle 관련)
https://velog.io/@zooneon/Java-ObjectMapper%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-JSON-%ED%8C%8C%EC%8B%B1%ED%95%98%EA%B8%B0 (ObjectMapper 관련)
'개발자 일지 > 기타' 카테고리의 다른 글
[회고]2022년 상반기 회고 (4) | 2022.06.26 |
---|---|
[TIL]학습내용 정리(nslookup, AES256) (0) | 2022.06.25 |
[IntelliJ]깃허브 연동 및 commit and push 테스트 (0) | 2022.05.15 |
[ WIL]한 주간 배운 것 정리 및 느낀점 (0) | 2022.04.21 |
[기타]개발 관련 추천 유튜브 채널 모음 (0) | 2022.01.23 |
[면접 복기] 기술면접 질문 모음 (백엔드 개발자) (0) | 2021.12.19 |
[TIL]try-catch-resource, JWT, equalsgnoreCase() 등 (0) | 2021.12.04 |
[TIL]이번 주 학습 내용들 (0) | 2021.11.26 |