728x90 분류 전체보기286 level 3. 1~2 주차 회고 뭘 했다고 벌써 레벨 3인지 참... 우테코 기간이 더 길었으면 좋겠다... 거의 레벨 3 시작과 동시에 금연도 같이 시작했다. 첫 10일 정도는 정말 담배가 눈앞에 둥둥 떠다녔다. 그래도 시간 지나니 정신도 돌아오고, 담배생각도 좀 덜나네. 술마시거나 문뜩 생각나긴 하지만 참아야지.. 레벨 3에서 같이 프로젝트를 할 팀원들이 너무 좋다. 다 소프트스킬 좋고, 개발 실력 좋고, 프로젝트 아이디어도 좋고. 좋은 프로젝트가 하나 나올거 같다. 근데 이렇게 프로젝트를 하니까 그동안 혼자 해온 프로젝트들이 쓰래기처럼 보인다. 이력서에 넣기도 부끄럽다. 이번 레벨에서 공부할 것 중 하나로 네트워크를 선택했다. CS 지식이야 학교 수업에서도 배울 수 있지만 학교의 모든 시스템을 믿지를 못하니, 따로 공부해야 겠다는.. 2022. 7. 10. Proof Key for Code Exchange(PKCE) 프로젝트에서 OAuth 로그인을 구현하기 위해 OAuth 플로우를 찾아보던 중 여러 플로우가 존재하는 것을 알게 되었다. 그 중, 이번 프로젝트에 사용할 방식인 PKCE를 정리해보려 한다. PKCE는 클라이언트가 네이티브 앱이나 SPA일때 추천되는 방식이다. 퍼블릭 클라이언트가 엑세스 토큰을 요청했을 때, 인증 절차만으로는 해결할 수 없는 보안 문제에 노출된다. 이는 네이티브앱과 SPA가 가진 특징 때문이다. 네이티브 앱들은 다음과 같은 문제를 가지고 있다. 1. client secret을 안전하게 저장할 수 없다. 앱을 디컴파일링 하면 클라이언트 암호가 노출된다. 2. Custom URL scheme을 통해 리다이렉트를 캡쳐해 악의적 애플리케이션이 인증 서버에서 인증 코드를 받을 수 있다. SPA는 다.. 2022. 7. 10. Story 3. 전 세계의 DNS 서버가 연대하다. DNS 서버의 기본 동작 DNS 서버의 기본적인 동작은 클라이언트에서 조회 메시지를 받고 조회 내용에 응답하는 형태다. 조회 메시지는 다음과 같은 정보를 포함한다. 이름 서버나 메일 배송 목적지(메일 주소에서 @ 뒷부분의 이름)와 같은 이름이다 클래스 네트워크의 종류를 나타낸다. 현재는 인터넷 외의 네트워크가 소멸되었으므로 항상 인터넷을 나타내는 'IN'이 값이 된다. 타입 이름에 어떤 타입의 정보가 지원되는 지를 나타낸다. 타입에 따라 클라이언트에 응답하는 정보의 내용이 달라진다. 대표적인 타입과 용도는 다음과 같다. 타입 용도 A IP 주소 조회 MX 메일 배송 목적지 조회 PTR IP 주소에서 이름 조사할 때 CNAME 이름에 닉네임(alias)을 붙일 때 NS DNS 서버의 IP 등록 SOA 도메.. 2022. 7. 10. 영속성 컨텍스트 엔티티 매니저는 엔티티를 저장하고, 삭제하는 등 엔티티와 관련된 모 든 일을 처리한다. 개발자 입장에서 엔티티 매니저는 엔티티를 저장하는 가상의 DB이다. 엔티티 매니저 팩토리와 엔티티 매니저 DB를 하나만 사용하는 애플리케이션은 통상적으로 EntityManagerFactory를 하나만 생성한다. 엔티티 매니저 팩토리를 생성하는 비용은 상당히 크다. 그때문에 한 개만 만들어 애플리케이션 전체가 공유하게 설계되 있다. 반면, 엔티티 매니저를 생성하는 비용은 크지 않다. 엔티티 매니저 팩토리는 thread-safe 하므로 스레드 간에 공유가 가능하다. 엔티티 매니저는 멀티 스레드 환경에서 동시성 문제가 존재하므로 스레드 간의 공유가 안된다. 엔티티 매니저는 DB 연결이 꼭 필요한 시점까지 커넥션을 얻지 않는.. 2022. 7. 4. 이전 1 ··· 3 4 5 6 7 8 9 ··· 72 다음 728x90