-
RSA
대칭키와 공개키 데이터의 암호화에 있어서 가장 널리 사용되는 기법을 고르라면 반드시 대칭키와 공개키 암호화 기법이 꼽힌다. 이 중 대칭키는 우리의 일상에서도 흔히 보는 열쇠와 개념이 비슷하기 때문에 대칭키라는 기본 개념을 이해하는건 그리 어려운 일이 아니다. 그러나 공개키의 경우 일상에서 비슷한 개념을 접할 일이 없기 때문에 처음 공개키를 접할 때엔 알쏭달쏭하기 마련이다. 이번 포스트에서는 공개키 암호화 방식과 RSA에 대해서 아주 간단히 이야기 해보고자 한다. 공개키, 개인키 공개키에 대해 알아보기 시작하면 외부로 공개되는 공캐키니 소유자만 알아야 하는...
azooasul's profile imageazooasul
2021-10-28 10:00
-
Null
null 은 대체 뭔가? 코딩공부를 시작한지 얼마 안된 사람에게 ‘null이란 무엇인가?’ 라고 질문 받는다면 개발자 거의 대부분이 ‘null 은 null 이다.’ 라고 대답할 것이다. 조금 더 구체적으로 설명하고자 하면 ‘없음’, ‘아무것도 아님’, ‘참조하고 있지 않음’ 등등을 나타내는 키워드라고 설명해줄 지도 모른다. 이런 개념들을 하나로 추상화한 개념이 null 이기 때문에 null을 모르는 초심자에게 해당 개념을 설명하는 것은 꽤나 어려운 일이다. 이번엔 그 null 에 대한 쓰잘데기 없는 이야기를 잠깐 해볼까 한다. 10억달러 짜리 실수 null 개념을...
azooasul's profile imageazooasul
2021-08-19 10:00
-
모바일 게임서버 구축 시의 쓰기 문제
## 모바일 게임 서버의 경우 웹서버를 게임서버로 이용하는 경우가 많지만 그렇다고 일반적인 웹서비스와 동일하게 구성하기엔 몇몇 문제점들이 뒤따른다. 여기에서는 그 중 쓰기 문제에 대해서 다뤄본다. 매우 많은 쓰기 작업 일반적인 웹서비스와 가장 큰 차이가 무엇인가라고 질문을 받는다면 나는 주저없이 쓰기 작업의 빈도 수라고 대답한다. 웹서비스의 경우 조회:쓰기의 비율이 높게 잡아도 10:1 정도일 정도로 조회 요청이 요청의 대부분을 차지한다. 하지만 게임 서비스의 경우, 조회:쓰기 비율은 거의 1:1 에 가까우며 쓰기 작업이 조회 작업의 비율보다 높을 때도...
azooasul's profile imageazooasul
2021-06-10 10:00
-
코딩 조기교육과 미래의 변화?
시작하며 우선 이번 포스트는 철저히 나 개인적인 생각일 뿐이라는 것을 명확히 해둔다. 몇 년 전부터 많은 나라들이 코딩 조기교육을 실시하고 있고 한국 역시 마찬가지다. 나는 이것을 ‘굳이 코딩을 왜 조기에…’ 또는 ‘개발자를 얼마나 많이 늘릴려고…’ 라고 가볍게 치부하고 넘어가기 마련이었다. 하지만 과연 이게 그렇게 단순하게 치부하고 넘어갈 일일까라는 생각이 문득 들기 시작했다. 조금 진지하게 생각해보니 꽤나 파급력이 커질 일이라는 생각이 들었으며, 하여 포스트를 작성하여 내 생각을 정리해본다. 코딩 인재를 늘리고 싶어하는 국가 코딩이 가능한 사람...
azooasul's profile imageazooasul
2021-04-01 10:00
-
트리와 스킵리스트
시작하며 이번 포스팅에서는 간단하게 B- 트리, B+ 트리와 스킵리스트에 대해 짤막하게 소개해보고자 한다. 트리란? 트리란 노드와 간선을 이용하여 데이터를 계층적으로 표현하는 비선형 추상 자료구조 중 하나이다. 노드와 간선으로 이루어져있다는 점에서 알 수 있듯이 본질은 그래프이며, 트리는 그래프의 한 형태이다. 트리, 특히 이진트리를 이용할 경우 원하는 데이터를 찾고자 할 때 크나큰 강점이 있기 때문에 매우 널리 쓰이며 수많은 변형 구조가 있는걸로도 유명하다. 트리는 왜 검색에 유리한가? 간단히 말해 데이터가 삽입될 때부터 애초에 정렬되어 삽입되기 때문이다. 배열이나...
azooasul's profile imageazooasul
2021-01-21 13:00
-
Key value 자료구조
시작하며 Key value 구조의 장점은 명확하다. 개발적으로는 데이터 집합 내의 요소들을 key 로 구분하여 알아보기 쉽게 해주며, 자료구조적으로는 O(1)에 가까운 접근 시간을 가진다. 즉 알아보기도 쉽고 사용하기도 쉬우면서 심지어 매우 빠르다. 이렇게 만능인 자료구조이지만 그 댓가로 메모리 사용량이 높다. 자바의 HashTable, HashMap, C#의 Dictionary, 자바스크립트의 Object 등등 거의 대부분의 언어들은 어떤 식으로든 Key value 자료구조를 제공하고 있으며 사용하기도 매우 쉽다. 이번 포스팅에서는 이 Key value 자료구조의 작동 원리를 간단하게나마 이야기 해보도록 한다. 메모리는 1차원 배열...
azooasul's profile imageazooasul
2020-11-05 13:30
-
CPU 비트와 그에 따른 과거의 문제들
시작하며 64bit 시대를 살고 있는 지금, 개발 - 특히나 웹개발을 하면서 CPU를 신경써가면서 개발하는 경우는 거의 없다. 개발을 도와주는 언어, 컴파일러 등등의 서포트 덕분이기도 하나 CPU의 발전도 개발을 편하게 해주는데 큰 영향을 끼쳤다. 과거에는 CPU의 한계때문에 어떤 문제가 있었는지 간략하게나마 알아보자. 알아보기 앞서 아주 대충 알아보는 CPU의 구조 CPU 는 각 제품마다 아키텍쳐가 워낙 다르고 또한 미친듯이 복잡해서 사실 CPU는 이런 구조다하고 정의 내리기 힘든 면이 있다. 하지만 그래도 공통적인 부분은 대략 아래와 같이 설명할...
azooasul's profile imageazooasul
2020-08-10 13:30
-
OSI 각 계층의 정의
시작하며 보통 웹개발을 하면서 OSI 모델을 신경써야 할 일은 거의 없다. 실제로도 네트워크 어플리케이션을 개발할 때에는 TCP/IP 모델로 개발되는 것이 절대 다수이며 OSI 모델을 준수하여 개발되지는 않는다. 그래도 한 번씩 궁금해서 인터넷에서 OSI 관련 자료를 뒤져보면 뭔가가 부족하다.각 계층에서 어떤 일을 하는지에 대해서는 찾기 쉬우나 의외로 각 계층의 정의에 대해서 명확하게 적어놓은 문서가 잘 없다. 그러다보니 각 계층 간의 차이를 한 번에 명확하게 이해하기가 힘들다. 특히 2~6계층이 그렇다. 그래서 여기에서는 각 계층이 결국 무엇인가에 대해서...
azooasul's profile imageazooasul
2020-06-11 13:30
-
클라우드 게이밍 이야기
시작하며 명색이 게임업계에서 일하고 있음에도 클라우드 게이밍에 한 번도 진지하게 생각해본 적이 없었다. 이것이 얼마나 거대한 파도가 될지 뻔히 알고 있음에도. 구글 스태디아는 이미 서비스를 시작하였고 MS의 xCloud 도 서비스를 조만간 시작할 시기인 지금, 한 번쯤은 클라우드 게이밍에 대해 생각해봐도 좋지 않을까. 그런 생각을 하며 글을 적어본다. 이번 포스팅도 기술 관련 내용은 거의 없다. 딱히 영양가 있는 글은 아니고 그냥 뻘글이 되겠다. 네트워크 환경은 충분하다 지금까지의 게임들은 보통 네트워크 플레이를 할 때 대역폭이 아주 중요한...
azooasul's profile imageazooasul
2020-03-19 11:10
-
MySQL 이야기
시작하며 이번에는 MySQL 에 대한 잡다한 이야기를 적어보고자 한다. 알아도 별 것 없는, 몰라도 아무래도 좋은 그런 이야기가 되겠다. 많은, 어쩌면 대부분의 프로그램들이 이전에 비슷한 목적으로 사용되던 다른 프로그램들의 문제점, 또는 불편함을 해소하기 위해 등장한다. MySQL 역시 마찬가지로 mSQL 의 문제점을 해결하기 위해 등장하였다. 그럼 대체 mSQL은 뭐였냐면… mSQL mSQL 역시 기존에 사용하던 어떤 프로그램의 문제를 해결하기 위해 등장하였다. 그 프로그램이 무엇이냐면 Postgres 라고 하는, 지금도 MySQL과 더불어 오픈소스 RDB의 양대산맥인 PostgresSQL 의 그 Postgres...
azooasul's profile imageazooasul
2020-01-02 12:00
-
자바 잡설
시작하며… 개발자로 인생을 보내면서 프로그래밍 언어에 대해 관심을 갖는 것은 지극히 당연한 일이다. 그 관심의 대부분은 기능성, 미래, 또는 나에게 밥벌이가 될 것인가의 등등에 집중되는 것 또한 당연한 일이다. 나 또한 그러하다. 하지만 가끔은 개발자의 관점에서 벗어난 시각으로 프로그래밍 언어의 과거나 배경에 대해서 살펴보는 것도 재미있지 않을까 싶은 생각이 들어 이번 기회에 한 번 정리해 보았다. 이 포스트에서 다룰 언어는 부동의 시장점유율 1위, 자바다. 자바의 등장 보통 하나의 프로그래밍 언어가 일정 이상의 인지도와 시장 점유율을...
azooasul's profile imageazooasul
2019-10-24 11:00