드디어 티스토리 개인 블로그에도 HTTPS가 적용되었습니다.
이전에 티스토리 측에 HTTPS 적용과 관련하여 문의를 넣었는데, 답변이 비교적 긍정적이었다는 글을 쓴 적이 있습니다.티스토리 마크다운, HTTPS 관련 질문 & 개인적 생각요즘(이 아니라 예전부터...!!) 티스토리 활동을 자주 하지 않아서 별 기대는 하지 않았는데, 우연히 티스토리 블로그임에도 TLS 인증서가 보이는 곳을 발견하여 확인해 본 결과, 9월 초 쯤 HTTPS 연결을 설정하는 메뉴가 신설되었습니다.더 안전한 티스토리를 위해 - ..
[VS2017] E1696, C1083 오류
어제 저녁에 AES-128, 192, 256의 암호화 및 복호화 코드를 구현했습니다. 워낙 잘 알려진 암호화 방법이라서 제가 구현한 방법보다 더 효율적인 코드가 넘쳐나겠지만 구현에 의의를 두고 재밌게 짜봤습니다. 예전에 128비트 AES는 GF(Galois Field) 2의 8승에서 irreducible polynomial과 affine transformation시 더해지는 column vector를 다르게 하여 구현해 본 적이 있었지만, 키 스케줄..
티스토리 마크다운, HTTPS 관련 질문 & 개인적 생각
얼마 전 세운상가에서 개최한 네코제를 다녀왔습니다. 토, 일 양일간 진행된 행사에서 전 토요일에 갔다왔는데요, 네코제의 밤이 제일 재미있었던 것 같습니다. 아티스트 분들의 끼와 재능, 그리고 열심히 준비하신 모습이 다 보이는 것 같았습니다. 내년 네코제에서도 다시 뵈었으면 좋겠습니다.네코제를 즐기는 도중 한 시간정도 여유가 생겨 근처 스타벅스에서 시간을 때우고 있었습니다. 물론 커피만 마시면 재미가 없어서 집에서 주로 노래틀때나 쓰는 인민에어를 켜고..
Move Semantics (이동 의미론)
1. 복사 전달과 참조 전달 C를 계승한 C++역시 C와 마찬가지로 데이터를 어떤 함수로 넘길 때나 함수에서 반환할 때, 기본 동작을 (얕은) 복사로 정의하였다. 예를 들어 다음 함수 append_smile은 문자열을 취급하는 std::string 타입의 객체를 전달받아 같은 타입으로 리턴한다. 이 때, 이 함수가 문자열을 전달받을 때와 리턴할 때 모두 값을 복사하여 주고 받는다. 즉, 복사 전달을 수행한다. #include <string>..
huffman coding
#include <map>#include <string>#include <vector>#include <iostream>#include <algorithm>#include <functional>struct Triple { char ch; int count; std::string code;};std::vector<Triple> huffman(const std::..
Nested Classes
Nested Classes 클래스 안에 또 다른 클래스를 선언(정의)할 수 있다. 이를 두고 중첩된 클래스(nested classes)라고 한다. 1. Terms nested class(혹은 inner class) : 클래스 안에 또 다른 클래스를 정의할 때, 안쪽에 위치한 클래스이다.enclosing class(혹은 outer class) : nested class를 둘러 싸고 있는 클래스이다. 2. Features nested class에서는 몇..
가속효과 스크립트입니다.
지금으로부터 약 2년 전에 블로그를 찾아주신 한 분께서 가속기능이 있는 코드를 요청하셨습니다. 당시에 저는 군 복무 중이었고, 당장 제가 찾아볼 수 있는 클라우드에서는 보이지 않아 구해드리기 어렵다는 답변을 드렸습니다.시간이 지나고 전역을 한 이후에, 모 업체의 클라우드 서비스가 휴면계정으로 들어간다는 메일을 받고 해당 클라우드에 들어가게 되었는데, 우연히 가속 기능이 들어있는 파일을 발견했습니다. 제가 앞서 배포한 몇 안되는 코드는 전부 확장자가 ..
테트리스 소스 코드
잠결에 주먹구구식으로 만들었는데 더 다듬어야 겠습니다.지금 보니 마음에 안드는 부분이 너무 많아요.. 아무리 대충 짠거라지만 걸레짝이 다름없군요.강좌 식으로는 일 벌린 것들 마무리 하는대로 올리겠습니다. 일단 초안 올립니다. #include <time.h> #include <stdio.h> #include <stdlib.h> #include <Windows.h> typedef unsigned long lo..
안전한 정수 처리
사람들이 [컴퓨터]를 [전자계산기]로 부르던 시절부터 CPU에 의한 정수 연산은 당연히 요구되는 기능 중 하나였습니다. 지금도 그 때와 다르지 않기 때문에 CS에서는 전산학 개론(Introduction to CS)과 같은 시간에 정도의 차이는 있을지라도 정수를 다루는 개념을 기본적으로는 다루고 있습니다. 이는 프로그래밍 언어에서도 별반 다르지 않습니다. 프로그래밍 언어에서는 기본적으로 자료에 대한 타입(type)을 정하고, 경우에 따라서는 ..
Win32 Application Wizard 관련
최근 DX3D11을 배우는 과정에서 VS 2017 Community를 업데이트 하게 되었습니다. 처음에 설치한 다음 필요할 때만 가끔씩 쓰다가 진행한 업데이트라 그런지 시간도 꽤나 잡아먹었던 것 같습니다. 여차여차 업데이트를 두 번이나 마치고 오늘 간만에 MD5 관련 코딩을 잠깐 하려고 했는데 이상한 현상을 목격했습니다. Win32 응용 프로그램 마법사(Win32 Application Wizard)가 콘솔 응용 프로그램(Console App..
JAVA MP3 플레이어 만들기 (3)
저번 시간에 Player.play 메소드와 Player.decodeFrame 메소드를 분석해 보았습니다. 좀 횡설수설해서 명쾌한 답이 되지 않았는데, 일단 두 메소드의 흐름, 다시말해 언제 무슨 과정을 거치며 무슨 객체를 사용하는지만 체크하신 정도라면 충분합니다. 저도 미처 생각하지 못한 부분이 있으면 다시 생각하면서 글을 써가기 때문에 복잡할 수 있습니다. 수정할 곳이 있으면 지적해주세요. 저도 계속 검토하면서 추가하거나 수정해야 할 부분이 있으면..
JAVA MP3 플레이어 만들기 (2)
앞선 포스트인 JAVA MP3 플레이어 만들기 (1) 에서 JLayer 1.0.1을 가지고 MP3 파일을 출력해 보았습니다. 자체적으로 재생하는 Player 객체로 재생하는 것이었는데요. 이 객체의 play 메소드는 편리하게 재생할 수 있게끔 설계되어 있습니다. 하지만 play 메소드는 파일 스트림에 있는 모든 음원(MP3에서는 프레임으로 이루어진 샘플링 값)이 사운드 출력 장치 버퍼로 출력할 때까지 리턴하지 않습니다. 흔히 이를 atomi..