기타/IT관련 정보 6

Slash 24 - 보상 트랜잭션으로 분산 환경에서 안전하게 환전하기 세션을 보고 간단히 정리해 봤다.

https://www.youtube.com/watch?v=xpwRTu47fqY&t=1101s기존에 모놀리식으로 되어있었긴 한데 이거를 MSA로 바꿈원화 계좌 -> 기존에 있던 로직들이 조금씩 옮겨감외화 계좌 -> 기존에 없던 신규 상품은 아예 DB도 다르게 해서 개발중환전은 DB계좌가 분리된 원화서버 / 외화서버에서 개발되어야 한다.이렇게 되면 Transaction을 할 수 없다.분산 트랜잭션2PCTwo Phase CommitSaga PatternTwo Phase Commit두 단계로 나눠 커밋 진행VotingCoordinator 가 각 트랜잭션 참가자에게 커밋 가능 여부를 질의한다.그래서 각 트랜잭션은 열고 가능 여부 응답한다.Commit모든 참여자가 커밋 가능한 경우 트랜잭션을 진행한다.하나라도 실패..

AI기반 검색엔진 Perplexity pro 나쁘지 않다

요즘 참 AI기반한 뭔가가 많은데, 그 중에서도 일반적으로도 잘 활용될 수 있는 검색엔진 퍼플렉시티에 대해 간략히 알아본다. 사실 알아볼것도 없다. 그냥 검색엔진임.근데 이거 pro를 잠깐 찍먹해봤는데(회사분이 무료 이용 가능 꿀팁을 주셨다.) 활용법 자체가 너무 좋다.개발 시에도 활용할 수 있고 그냥 평소에 나같은 검색 못하는 녀석들한테는 진짜 장난아니게 좋은 느낌이다. 예를 들어 요즘 핫한 흑백요리사(사실 요즘은 전보다는 좀 덜 핫하다. warm 정도?) 레스토랑을 예약을 좀 잘 하고 싶으면 흑백요리사 레스토랑 예약 꿀팁 대충 이렇게 칠 것이다. 아마 나같은 검색 초보는 이럴거다.근데 그러면   대충 이런 식으로 나온다.무슨 정보를 찾아야할지 잘 모르겠다는 느낌이다.그리고 정작 블로그 들어가서 보면 ..

HTTP1.1, HTTP2, QUIC

웹 성능과 프로토콜의 관점에서 알아본다. 웹/네트워크에서 성능 하락의 가장 큰 요인 대역폭(Bandwidth)와 지연시간(latency)에 대하여 2010년에 구글의 Mike Belshe라는 사람이 실험을 하였는데 대역폭의 경우는 1Mbps에서 2Mbps로 갈 때에는 페이지 로드 타임이 절반으로 줄지만, 그 이상에서는 큰 차이가 없고 지연시간은 감소될 때 마다 페이지 로드 타임이 계속해서 감소하는 것을 볼 수 있는 것을 볼 수 있었다. 이를 통해 대역폭보다는 지연시간을 줄이는 것이 성능향상에 중요하다 는 사실을 알 수 있다. HTTP OSI7계층에서 HTTP는 어플리케이션 계층에 포함되어 있다. 그리고 이는 TCP위에서 작동을 하게 되는데, http의 표준 명세에서 전송계층의 프로토콜로 TCP만을 명시하..

보일러플레이트란 무엇일까?

보일러 플레이트란? 먼저 보일러 플레이트는 신문사업에서 나온 말인데, 본래 텍스트 인쇄판은 납같은 부드러운 것으로 찍었는데, 광고나 칼럼 등 한번 만들어놓고 계속해서 사용되는 내용에 관한 판은 계속해서 사용할 수 있도록 강철로 찍어서 출시했다. 그것을 Boilerplate라고 불렀고, 이는 한번 만들어두고 여러번 사용할 수 있도록 한 것이다. 우리는 한국인이니까 대충 금속활자같은걸 생각하면 될것같다. ㄱㄴㄷㄹㅁㅂㅅ 이런 자주 쓰이는것을 금속으로 만들어두면 계속 쓸수있는 느낌이다. 개발에서의 보일러 플레이트는? 예전에는 개발을 할 때에 Getter이나 Setter을 모든 변수에 대해 하나하나 세팅을 해주었다. 이런식으로 세팅하는것은 굉장히 귀찮고 솔직히 도움도 되지 않았다. 그리고 @Getter, @Set..

디프만 11기 면접 후기

신입 개발자로 취직하기 위해서 준비해야 하는것이 무엇이 있을까? 요즘 기업들은 코딩테스트를 많이 보기 때문에 알고리즘 관련 공부를 해야 할 것이고, 면접을 위한 CS나 개발 내용을 알아야 할 것이다. 그런데 최근들어 여러 대기업에서 코딩테스트보다는 포트폴리오에 더 관심을 많이 두는 것 같다. 그렇기 때문에 내 실력을 어필할 수 있는 포트폴리오가 중요할 것이다. 또, Git과 같은 형상관리 사용법을 알고 있는지, 다른 사람들과 어떻게 의사소통하여 프로젝트를 하는지 등 협업에 관한 요구도 많을 것이다. 이때에 가장 도움이 되는것이 바로 개발자 동아리라고 생각한다. 디프만은 [디자이너와 프로그래머의 만남] 의 줄임말로 말그대로 디자이너와 프로그래머가 함께 프로젝트를 진행하는 동아리이다. 서류 접수 서류는 자기..

Log4j 보안 취약점에 관하여

Log4j 보안 취약점 Log4j란? Log4j란 java/kotlin등의 코딩 도중 해당 프로그램의 로그를 기록해주는 라이브러리이다. 해당 보안 취약점이 일어난 배경 Log4j는 위에서 설명했듯, 코딩 도중에 프로그램의 로그를 기록해 준다. 그런데 이 방법은 JNDI(java naming and directory interface)를 사용하여 자바가 디렉토리를 통해 데이터를 찾을 수 있도록 하는 방식을 사용한다. 이 JNDI에서 LDAP가 문제가 되었는데, Log4j 에서 ${jndi:}를 사용하면 hello 객체를 실행하게 한다. 그리고 이를 사용하면 log4j로그가 남겨질 수 있는 모든 곳에 해당 방식을 사용하여 공격이 가능해지게 된다. 그래서 어떤 문제가 생기는가? 먼저 Log4j는 굉장히 많은 ..