-
Delaunay Triangulation 구현
목차 1. 개요 2. 원리 3. 구현 4. 마무리 5. 참고자료 개요 이 포스트를 작성하게 된 계기 이 글을 쓰게 된 계기는 학부 과정에 수학과 과목을 몰래 훔쳐 들으려고 하던 중, 계산 기하학에 대해 공부하는 과목을 알게 되었다. 바로 혹해서 들었다가 후반부에 너무 어렵고 추상적인 수학 파트가 나와서 좌절했다가, 초반부의 Deluanay Triangulation 만큼은 흥미롭고 응용 분야가 넓어서 공유하면 좋겠다 싶어서 가져오게 되었다. 간단한 설명 Deluanay Triangulation, 한국어로 들로네 삼각분할은 간단히 말하면 2차원 평면에 분포하는 점들을...
-
Generative Adversarial Networks
서론 2014년, 머신 러닝 분야의 가장 유서깊고 권위 있는 학회인 NIPS에 ‘Generative Adversarial Networks’라는 한 편의 논문이 발표되었습니다. 이름만으로는 굉장히 난해해 보이는 이 논문의 제목은 한국어로 ‘생성 적대 망’ 정도로 해석할 수 있겠는데요. 이 논문은 기존의 머신 러닝 기술이 다소 약한 모습을 보였던 Generative 모델의 성능을 혁신적인 끌어올린 흥미로운 아이디어를 담고 있었습니다. 당시에는 한계점과 단점 또한 명확한 모델이라는 지적도 있었지만, 점차 단점을 개선한 후속 논문이 나오며 현재는 컴퓨터 비전 분야의 완전한 대세로 자리잡게 되었습니다. 핵심...
-
Parsedown Tablespan
들어가며 필자의 블로그는 이 글을 쓰는 지금 현재 Markdown을 PHP의 Parsedown을 통해 서비스하고 있다. 그런데 이 사용을 확대하려고 보니 표에서 rowspan, colspan 등으로 일컬어지는 셀 병합 기능을 나타낼 수 있는 문법이 없었다. 어느 서비스에서 개별적으로 사용하려고 대충 정해 놓은 것은 있지만 어쨌든 공식적으로는 존재하지 않는다. MultiMarkdown에서 제공하는 ‘Long Cell’ 문법#이 있으나 이를 빌드하기가 쉽지 않았다. 이에 나도 개인적으로 사용하기 위해 문법을 하나 만들어 보고 이에 맞추어 직접 Parsedown의 extension을 개발해 보기로 했다. 문법 원체 Markdown의...
-
2018 고려대학교 프로그래밍 경진대회 (KCPC) 출제 후기
이 포스트는 2018년 고려대학교 프로그래밍 경진대회 출제 과정에 있었던 일들과 대회의 지향점 및 결과 및 사견을 다룹니다. 원래 대회가 끝나고 바로 쓰고 싶었으나 대회 1주일 후가 기말고사이기도 했고 준비가 워낙에 힘들었기 때문에 한 달이 지난 지금 쓰게 되었습니다. 우선 본 대회를 성공적으로 마무리해주신 운영진과 출제진에게 감사하다는 말을 드리고 싶습니다. 또, 본 대회의 규모 확장에 필수불가결한 기여를 해주신 Startlink, sooho, wishket, NAVER D2, vcnc, 삼성 소프트웨어 멤버십, 고려대학교 정보대학 SW중심대학, 정보보호학부 및 정보보호대학원과 관계자 분들께 감사의...
-
Kotlin Basic
이번 포스팅에서는 기존에 자바로 개발하던 안드로이드 프로젝트를 2017년부터 정식으로 구글에서 안드로이드 언어로 채택된 코틀린을 사용하여 개발해보고자 기본 문법을 공부한 내용에 대해서 다루고 있습니다. 목차는 다음과 같습니다. [ 목차 ] Kotlin이란? Kotlin의 장점 Kotlin 기본 문법 Kotlin이란? Kotlin은 2011년에 IntelliJ를 만든 JetBrain이 공개한 프로그래밍 언어입니다. 안드로이드 개발 툴인 Android Studio는 IntelliJ를 기반으로 만들어진 프로그램입니다. 따라서 JetBrain이 만든 Kotlin을 완벽하게 지원합니다. 또한 2017년에 구글에서 안드로이드의 공식 언어로 채택되었습니다. Kotlin의 장점 간결한 문법 변수를 Nullable과 NotNull로 나눔 (Null...