기타/IT관련 정보 4

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는 굉장히 많은 ..