전체 글 (123) 썸네일형 리스트형 TLS1.3 (2) - SSL/TLS Handshake 앞선 포스팅에서 키 교환 프로토콜에 대해 간단히 설명했는데, 이를 기반으로 SSL/TLS handshake 과정을 자세히 살펴보자. 여기서 설명하는 SSL/TLS handshake 과정은 TLS 1.2 이하에 해당하는 과정이다. 위에 와이어샤크로 직접 캡쳐한 TLS 1.2 Handshake 트래픽을 참고하며 아래 설명을 해보자면, client--------------------------------------------------------------------------------------------server 1) client hello -> 5) finished (+ change cipher spec) -> TLS1.3 (1) - cipher suite, 키 합의 프로토콜, 완전 순방향 비밀성(PFS) TLS 1.3 에 대해 발표 준비를 해야해서 환경 구축부터, 기본 개념, 기존 TLS 들과의 차이를 조사하다보니 양이 꽤 나오게 되었다. 공부한 흐름대로 정리해서 포스팅을 쭉 해보고자 한다. TLS (Transport Layer Security ) 란, TLS 라는 명칭이 사용되기 전에는 SSL (Security Sockets Layer) 로 사용되던 명칭이다. 이름에서도 어떤 프로토콜인지 알 수 있듯, 네트워크 상의 통신 보안을 제공하는 암호 프로토콜이다. TCP/IP 네트워크 통신의 전송 계층 종단간 보안과 데이터 무결성 등을 보장해준다. 한마디로, 네트워크 망의 전송 계층에서 무결성 및 기밀성을 보장해주기 위해 사용하는 암호 프로토콜이라고 정리할 수 있다. 좀만 더 구체적으로 보면, TLS 는 이 .. [Python 프로그래머스] JadenCase 문자열 만들기 - level2 [연습 문제] 나의 풀이 > 이 문제도 매우매우 간단하지만 ! 문자열 맨 앞을 추출해서 대문자로 바꾸는 작업을 capitalize() 를 활용하여 간단하게 구현하는 것이 포인트였고, 문자열 중간 공백 개수, 시작 공백 개수, 마지막 공백 개수 모두 그대로 유지하는게 포인트라고 할 수 있을 것 같다. 그래서 중간에 주석처리된 로직을 보면 문자열 끝이 공백이면 변환된 answer 에도 공백을 유지하기 위해서 저렇게 접근했었는데 생각해보니 끝 공백이 한개가 아니라 여러개일 땐 저 방식이 좋지 않기 때문에 아예 입력과 변환된 answer 의 문자열의 길이를 비교해서 동일할 때까지 끝에 공백을 덧붙여주는 방식으로 변경하여 해결하였다. [Python 프로그래머스] 전화번호 목록 - level2 [해시] 나의 풀이> 정말 쉽게 접근해서 그대로 가볍게 풀 수 있었던 문제였다. 우선 가장 길이가 작은 객체 shortest 를 뽑아두고 * 값이 가장 작은 걸 찾기 위해선 min() 디폴트 사용 / 길이를 기준으로 가장 작은 걸 찾고 싶다면 key 같이 사용이 포인트 나머지 값의 인덱스 0에 shortest 가 존재한다면, 바로 False 변환 및 반복문 break. [Python 프로그래머스] 주식가격 - level2 [스택/큐] 나의 풀이 > 시도 1> : 이 입력 케이스는 [5,4,1,2,1,0] 이 바른 답 : 정확성은 통과했지만 효율성에서 1, 3번만 시간 초과였음 시도 2> : 이 소스로 수정 제출하여 효율성까지 통과 : 중간 for 문에서 list 에 기존 인덱스로 접근하는 방식이 아닌, 객체로 직접 가져오는 방식으로 해결 문제 이해가 어렵다거나 복잡한 문제가 아닌 단순한 문제여서 어렵지 않았던 문제였다. 그리고 역시 deque 를 활용하여 popleft 하고 리스트에 남은 값들을 쭉 검사하면서 복잡도를 줄이려고 한 것이 포인트였다. [Python 프로그래머스] 올바른 괄호 - level2 (스킬 테스트) [연습 문제] 나의 풀이 > 눈으로 보면 간단하지만 효율적으로, 간결하게 짤 수 있는 방법이 뭘까 고민했던 문제. '(' 과 ')' 쌍이 이루어져야하기 때문에 ')' 로 시작하는데 '(' 과의 개수가 동일하거나 작으면 우선 False 출력. 이런 식으로 이해하고 조건문을 작성했다. 요즘 list 에서 맨 앞 인덱스를 뽑아내 처리하는 문제 풀이 방식에 맛이 들려 deque 를 list 와 함께 적절히 잘 사용해서 문제를 푸는 중이다. [Python 프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 다트 게임 programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 이번에도 카카오 level1 문제 도전. 나의 풀이 이 문제는 손으로 간단하게 계산하면 매우 쉬운데 정수로 끊고 연산을 해야한다는게 조금 번거로웠던 것 같다. 요즘 deque 를 많이 사용하고 있어서인지 이 문제도 list 로 접근해서 풀어보았다. 소스가 살짝 노가다스럽고 긴 느낌이 있지만 그래도 효율성 테스트까지 통과하였으니 업로드하기로 결정 ! 이 문제풀이 외에 다른 간단한 접근이 분명히 있을 것 같아서 고민해서 다른 풀이도 작성해보려고 한다. programmers.co.kr/learn/courses/30/lessons/17682/solutio.. [Python 프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 비밀지도 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 나의 풀이 리스트에서 자릿수가 나머지보다 작을 경우, 맨 왼쪽에 0을 채우는 zfill 함수와 1과 0을 각각 변환해주는 replace 사용만으로 충분히 쉽게 풀 수 있는 문제였다. 이전 1 2 3 4 5 ··· 16 다음