보안 Black List 테이블의 Key 디자인: 억울한 이름

보안 Black List 테이블의 Key 디자인: 억울한 이름

세상에는 수많은 동명이인이 존재합니다. 대한민국에 김태완이라는 사람이 약 500명 정도는 있을 것 같습니다. 상단 이미지는 구글링으로 확인한 대한민국의 김태완입니다. 지난 몇 년간 고객사에서 제 이름 때문에 생겼던 웃지 못할 경험을 했고, 이 에피소드는 현재도 진행 중입니다. 이 에피소드는 2018년 1월 24일 페이스북에 올려 100명의 페친으로 부터 공감을 얻은 사건이 있었습니다. 그림 1: Facebook 원문: https://www.f ......
오픈소스 작명 센스: 아파치 플룸(Apache Flume)

오픈소스 작명 센스: 아파치 플룸(Apache Flume)

Flume에 대한 전체적인 개요를 정리한 문서입니다. Flume을 아직 잘 모르시는 분들에게 전체적인 Flume 이미지를 제공하는 목적으로 작성하였습니다. Flume이란? Apache Flume은 오픈소스 프로젝트로 개발된 로그 데이터를 수집 기술입니다. 여러 서버에서 생산된 대용량 로그 데이터를 효과적으로 수집하여, HDFS과 같은 원격 목적지에 데이터를 전송하는 기능을 제공합니다. 구조가 단순하고 유연하여 다양한 유형의 스트리밍 데이터 플로 ......
최초 Family Name 도메인 - kim

최초 Family Name 도메인 - kim

자기를 처음 소개를 할 때 직접 운영하는 홈페이지를 소개하는 것이 가장 효과적인 표현 수단이라고 생각합니다. 자기소개를 할 때 제 홈페이지는 taewan.kim 입니다. 라고 말하면 대부분 사람이 도메인 때문에 굉장히 신기해합니다. “kim“이라는 도메인이 있다는 것 자체를 신기하게 받아들입니다. 블로그를 자기 이름과 같은 도메인으로 운영하면 자기 홍보와 PR 측면에서 효과는 극대화됩니다. 여러분들은 kim 이라는 최상 ......
Spark: Collection의 flatMap을 이용한 비정상 패턴 처리

Spark: Collection의 flatMap을 이용한 비정상 패턴 처리

스칼라에서 map과 flatMap의 차이점을 파악하고 이해하는 것은 쉽지 않은것 같습니다. 이상 데이터 처리는 두 함수를 차아점을 구분하는 예제로 적합하다고 생가합니다. 이상 데이터 처리 예젤로 두 함수의 의미를 정리하겠습니다. 스칼라에서 컬렉션을 map함수로 변환시킬 때 어떤 것을 걸러 내야 할 때가 있습니다. val x = List("taewan 45", "minsu 6", "sunny 40&qu ......
'그날,바다' 후기 (노스포)

'그날,바다' 후기 (노스포)

오늘 ‘그날, 바다‘를 관람했습니다. 제 경우, 그날, 바다를 보기 위해서 극장에 들어가는 과정이 정말 어려웠습니다. 빨리 보고 싶다는 마음과 두려움이 함께 했습니다. ‘그날, 바다‘는 저에게 꼭 봐야 할 것 같은 영화지만, 두렵고 용기가 필요한 영화였습니다. 저와 같이 세월호에 대한 무게감에 영화 관람이 꺼려지시는 분들을 위해서 ‘그날, 바다’ 관람 후기를 작성합니다. 여러분들이 ......
미래와 추억을 자극하는 'Ready Player One' 관람 후기

미래와 추억을 자극하는 'Ready Player One' 관람 후기

지난 수요일 레디 플레이어 원 시사회에 다녀 왔습니다. 결론부터 말씀 드린다면 이 영화 강추합니다. 특히 다음과 같은 분들에게 추천합니다. 향후 10년쯤 후의 미래가 궁금하신 분 SF 혹은 일본 메카닉 애니메이션 좋아하시는 분 1990 ~ 2000년 대 초반의 멀티미디어를 즐기시고 추억하시는 분 IT 분야에 종사하시는 분 “인디아나 존스”의 21세기 버전을 보고 싶으신 분 정말 이번 레디 플레이어 원은 스티븐 스필버그 ......
구글 vs 오라클 Java 라이센스 전쟁

구글 vs 오라클 Java 라이센스 전쟁

지난 8년간 오라클과 구글의 자바 라이센스 분쟁이 끝났습니다. 재판 과정을 지켜보면서 제가 느낀 감정과 사견을 정리해 보겠습니다. 이 글은 전적으로 저 개인의 사견임을 먼저 밝힙니다. 재심에서 재판부는 구글은 오라클에 라이센스를 지급할 것을 판결했고, 구글의 대법원 상고 요청이 기각되었습니다. 실질적으로 최종 판결인 것으로 판단됩니다. 앞으로 라이센스 규모 산정 및 협상이 이루어질 것입니다. 그림 1: 구글, 지재권 소송서 오라클에 패배…자바 관련기사 링크: 구글, 지재권 소송서 오라클에 패배…자바 오라클 재판 승소 기사를 보면 다음과 같은 내용을 포함합니다.
Machine Learning 용어집

Machine Learning 용어집

머신러닝 관련 용어를 정리합니다. 머신러닝 원문 용어의 한글 맵핑과 관련 정보를 정리합니다. A Accuracy: 정확도 분류 성능 모델 성능 지표 다중 클래스 분류에서 정확도 $\frac{#True Positive}{#Total Examples}$ 이진 분류 정확도 $\frac{#True Positive + #True Negative}{#Total Examples}$ Activation function: 활성화 함수 Adam: A ......
Cloud Native Java:GraalVM (@Oracle Developer Meetup)

Cloud Native Java:GraalVM (@Oracle Developer Meetup)

2019년 2월 16일에 8번째 “Oracle Developer Meetup” 세미나에서 GraalVM을 소개하는 세션을 진행했습니다. GraalVM은 고성능 JIT Compiler, Native 컴파일러 및 여러 언어를 통합하는 Polyglot 특징을 제공하는 새로운 Java 입니다. OpenJDK와 함께 다양성 자바의 시작을 알리는 기술이라고 생각합니다. 여기서 GraalVM을 소개하는 100분 세미나를 진행했습니다. ......
파이썬 데이터 사이언스 Cheat Sheet: NumPy 기초, 기본

파이썬 데이터 사이언스 Cheat Sheet: NumPy 기초, 기본

파이썬 기반 데이터 분석 환경에서 NumPy1는 행렬 연산을 위한 핵심 라이브러리입니다. NumPy는 “Numerical Python“의 약자로 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공합니다. 특히 메모리 버퍼에 배열 데이터를 저장하고 처리하는 효율적인 인터페이스를 제공합니다. 파이썬 list 객체를 개선한 NumPy의 ndarray 객체를 사용하면 더 많은 데이터를 더 빠르게 처리할 수 있습니다. Nu ......
[번역] JShell 사용자 가이드

[번역] JShell 사용자 가이드

이 문서는 Java9의 오라클 공식 문서 중 JShell 사용자 가이드의 한글화 문서입니다. 원문 정보는 다음과 같습니다. 원문: https://docs.oracle.com/javase/9/jshell/toc.htm 제목: Java Platform, Standard Edition Java Shell User’s Guide: 1 Introduction to JShell 문서번호: E87478-01 배포: 2017년 09월 라이센스: 원본 ......
CNN, Convolutional Neural Network 요약

CNN, Convolutional Neural Network 요약

Fully Connected Layer1 만으로 구성된 인공 신경망의 입력 데이터는 1차원(배열) 형태로 한정됩니다. 한 장의 컬러 사진은 3차원 데이터입니다. 배치 모드에 사용되는 여러장의 사진은 4차원 데이터입니다. 사진 데이터로 전연결(FC, Fully Connected) 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야 합니다. 사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 수밖에 없습니다. 결과적으 ......
신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

제가 처음에 딥러닝을 학습할 때 가장 혼란스러웠던 것은 입력 레이어의 데이터와 가중치 W의 합 표현하는 “Z(Weighted Sum)” 수식이 문서마다 다른 것이었습니다. <식 1>. Z(Weighted Sum)을 표현하는 수식 $$ \begin{align} Z^{[l]} & = W^{[l]T}A^{[l-1]} & (1) \\ Z^{[l]} & = W^{[l]}A^{[l-1]} & ......
딥러닝 역전파 수식 행렬의 전치(Transpose) 기준?

딥러닝 역전파 수식 행렬의 전치(Transpose) 기준?

Backpropagation을 직접 구현하는 과정에서 이유 없이 갑자기 발생하는 행렬 전치(Transpose)와 관련된 의문점이 오랜 기간 절 괴롭혔습니다. Backpropagation을 하기 위해서 Cost Function을 해당 계층의 W(가중치)로 편미분 한 후, 현재 W를 수정하는 수식을 유도하는 과정에서 일부 행렬이 전치행렬로 갑자기 변경됩니다. 문제는 제가 행렬이 전치(Transpose)되는 근거와 기준을 이해할 수가 없다는 것입니다 ......
딥러닝을 위한 Norm, 노름

딥러닝을 위한 Norm, 노름

기계학습 자료에서 간혹 Norm과 관련된 수식이나 표기법을 나오면 당황스러울 때가 있습니다. 선형대수에 익숙하지 않다면 Norm이 이상하게 보일 수 있습니다. 본 문서에서는 인공신공망과 기계학습 일고리즘에서 사용되는 Norm을 이해하는 것을 목표로 최소한도의 Norm 개념을 정리합니다. 일반적으로 딥러닝에서 네트워크의 Overfitting(과적합) 문제를 해결하는 방법으로 다음과 같은 3가지 방법을 제시합니다. 더 많은 데이터를 사용할 것 C ......