TLS란? 인터넷 보안을 책임지는 SSL의 다음 세대
20여 년 전, 2000년대 초반. PC가 보급되고, 온라인 게임 시장이 활발하던 시기.해킹사건이 굉장히 많았다.생각해 보면 그때는, 지금의 필수인 https:// 가, 당연한 것이 아닌, 신뢰의 상징이 아니었나 싶을 정도로,http:// 를 많이 사용하고 있었는데, 이 때문에 일반인들이 여기저기서 비밀번호를 해킹당하지 않았을까 싶다.예전에는 학습 진입 장벽이 어려웠을 뿐이지, 기본 원리만 이해하면 해킹이 무척 쉬웠을 것이다.해커를 비롯한 보안 종사자들은, 기술이 발전할수록 더 머리가 아파지겠다. TLS란?TLS(Transport Layer Security)란, 인터넷에서 데이터를 안전하게 주고받기 위한 보안 프로토콜이다. 이전에는 SSL(Secure Sockets Layer)이라는 명칭이 더 익숙했지만..
2025. 4. 17.
디버깅이란? IT 개발자가 문제를 개선하는 가장 효율적인 방법?
뭐가 잘못된 거지?요즘에는 AI 한테 뭐가 잘못된 건지 물어보는 경우가 많아져서 덜하지만,프로그래머, 개발자로 처음 입문했을 때, 신입 직원들은 회사의 프로그램이나 본인이 만든 프로그램이 어디서 문제가 생겼는지 알기 어려웠다.컴퓨터 앞에 앉아 수십 분, 심하면 몇 시간 동안 같은 질문, 혼잣말을 반복하면서 머리를 싸매고 스트레스를 받는다.분명히 맞게 짰다고 생각했던 코드가 제대로 안 돌아가고, 오류를 내뿜는 것이다.이때, 가장 문제를 쉽고 빠르게, 논리적으로 해결할 수 있는 방법 중 하나가 디버깅(Debugging)이다. 디버그(Debug)와 디버깅(Debugging)디버깅(Debuging)이란, 디버그(Debug)라는 동사에 '~하는 행위'를 뜻하는 접미사 ing가 붙은 단어다.디버그(Debug)는, ..
2025. 4. 13.
토폴리지란? 장소의 연구, 네트워크에서 많이 쓰이는 용어
세상을 이해할 때, 형태와 구조를 파악하는 것은 아주 중요한 일이다.특정한 장소에 대한 이해와 연구, 방식이 여러 분야에서 사용되는데,이런 것들을 설명할 수 있는 개념 중 하나가 토폴리지(Topology)이다.토폴리지는, 별(*)거 아닌 것 같지만, 정말 중요한 기본 개념 중 하나이다. 토폴로지(Topology)란?토폴로지는 다양한 의미를 가지고 있지만, 구성 요소 간의 연결 관계를 중심에 두고 있다. 토폴로지라는 용어 자체는 그리스어 topos(장소)와 logos(학문)에서 유래했다.직역하자면, 장소의 연구라는 뜻이지만, 실제로는 연결 방식에 더 초점을 두는 용어이다.형태가 변해도 본질적으로 연결 구조가 변하지 않으면, 같은 토폴로지로 간주된다. 네트워크에서 많이 사용하는 토폴로지컴퓨터 공학을 공부하거..
2025. 4. 12.
소켓 프로그래밍이란? 네트워크 통신 프로그래밍의 핵심 기본 기술
컴퓨터 공학, 프로그래밍, 네트워크, 보안 등프로그래밍과 관련된, IT 쪽 전문가가 되려는 사람이 커리큘럼을 찾아본다면,이런 순서로 공부하고, 이다음에는 소켓 프로그래밍을 공부하세요.라는 말을 들어본 적이 있을 것이다.소켓 프로그래밍(Socket Programming)은 뭘까? IT와 관련 없는 사람이 들으면,나사를 렌치 같은 공구로 연결하는 소켓을 떠올리며, 연관을 지어보면서 의문점을 가지게 된다. 네트워크 통신의 기본인터넷 기반 프로그램은 대부분 네트워크를 통해 데이터를 주고받는다. 매일 사용하는 웹 브라우저, 메신저, 온라인 게임, 스트리밍 서비스 등 모두 네트워크 통신을 기반으로 작동하는 것이다.이때 통신에 사용하는 통신 기술 중 가장 기본적이면서도 핵심인 것이 소켓(Socket)이고, 이 소켓(..
2025. 4. 10.
마이크로 서비스란? 조각 서비스를 제공할 수 있다?
넷플릭스(Netflix)에는 다양한 마이크로 서비스가 들어있다.단순히 영상을 찾아서 보는 것 같지만, 사용자 계정을 관리하거나, 영상을 추천해 주거나, 영상을 재생 또는 스트리밍 하거나, 구독료를 납부하기 위한 결제를 하는 서비스 등이 각각 독립적인 서비스로 운영되고 있다.가짜인 짭플릭스(Jobflix)를 하나 만든다고 하자, 넷플릭스를 따라 보이는 대로 만들어서, 검색도 가능하고, 영상을 재생할 수도 있지만, 독립적이지 않을 수 있다. 이때 짭플릭스는 마이크로 서비스를 제공한다고 하기 어려울 수 있을 것이다.검색과 재생, 2개의 서비스는 똑같이 제공되는데, 마이크로 서비스는 어떻게 구분하는 게 좋을까? 마이크로 서비스 아키텍처(Microservices Architecutre)란?마이크로 서비스 또는 마..
2025. 4. 5.
쇼어 알고리즘이란? 양자 컴퓨팅을 사용한 혁신 알고리즘
소인수 분해를 기억하는가?1보다 큰 자연수를 소수인 인수들만의 곱으로 나타내는 방법이다.즉, 자연수가 소수인 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 37,... 의 곱으로 나타낸 방법이다.소수는 무한히 큰 수가 있는데, 이러한 큰 수의 소인수분해를 빠르게 할 수 있는 알고리즘이 없다.고전 알고리즘에서, 소인수 분해하는데 드는 시간은 기하급수적으로 커진다.이러한 특징을 이용해 암호학에서 소인수 분해를 많이 사용한다.이러한 소인수 분해를 다루는 알고리즘 중 하나가 쇼어 알고리즘이다. 쇼어 알고리즘이란?쇼어 알고리즘(Shor's algorithm)은 1994년, 수학자 피터 쇼어(Peter Shor)가 제안한 알고리즘이다.이 알고리즘은 양자 컴퓨터를 이용해 큰 정수의 소인수 분해를 효..
2025. 4. 4.