Go 언어의 매력
@waterglasstoon 평소 Python으로 일상생활에 필요한 프로그램을 만들어 왔다. 하지만 실행 속도가 아쉽다 생각했고, 그 대안으로 C++, Go를 둘러보던 중 Go에 제대로 빠졌다. 우리의 귀여운 Gopher다. 마스코트는 어벙해보이지만 성능은 야무지다. Why Go? Python을 메인으로 사용하며 아래 조건을 만족하는 ...
@waterglasstoon 평소 Python으로 일상생활에 필요한 프로그램을 만들어 왔다. 하지만 실행 속도가 아쉽다 생각했고, 그 대안으로 C++, Go를 둘러보던 중 Go에 제대로 빠졌다. 우리의 귀여운 Gopher다. 마스코트는 어벙해보이지만 성능은 야무지다. Why Go? Python을 메인으로 사용하며 아래 조건을 만족하는 ...
실시간 얼굴 인식을 활용한 프로젝트를 진행할 당시, 여러 얼굴 인식 모델을 찾고 테스트했다. 영상 정보를 실시간으로 처리해야 했기 때문에 빠르고 정확한 모델이 필요했다. 여러 모델이 있지만 준수한 성능을 보였던 두 모델에 대해 적어보았다. 이 글에서 ‘모델이 성능이 준수하다’의 기준은 ‘실시간으로 얼굴을 인식하고 처리할 수 있는가’이다. 예를 들어,...
Attention Is All You Need 본 글은 “Attention is All You Need” 논문을 번역 및 분석했다. 일부 문장은 맥락에 따라 의역되었으며, 명확한 이해를 위해 부분적으로 설명을 추가했다. 주요 용어는 정확한 의미 전달을 위해 영문 그대로 작성했다. (예: recurrent, convolutional 등) Abstra...
지금 보고 있듯이 Chirpy은 정말 깔끔한 Jekyll 테마이다. 하지만 막상 시작하려니 계속 문제가 생겨서 5시간 정도를 허무하게 날렸다. 모드 변경도 안 되고 난리도 아니였다. 심지어 Local PC를 사용할 수 없는 상황이라 Ruby를 설치하고 build를 할 수 없어 더 골치 아팠다. 결국 이미 Chripy로 블로그를 운영 중이신 otzsla...
PySet은 아주 유용한 자료구조이다. 이를 Go로 Go스럽게 구현하기 위해 CPython의 소스코드와 golang 소스코드를 살펴보았다. set과 map이 뒤에서 어떻게 작동하는지를 살펴보고 가장 합리적인 방법으로 집합을 구현해보려 한다. 문제 Python에는 집합이라는 아주 유용한 구조가 있다. set 객체는 크게 2가지 역할이 있는데, 중...
Linear SVM Support Vector Machine은 분류 문제를 해결하는 머신러닝 기법이다. 대체적으로 준수한 성능을 보이며 SVM 또는 SVC(Support Vector Classifier)라고 부른다. 아이디어 직선으로 두 종류의 클래스를 분류하는 문제는 어렵지 않다. 그런데 과연 “어떤 경계가 가장 잘 분류했다고 할 수 있을까...
Go를 시작한 나는 Go뽕을 느끼기 위해 백준 문제를 Go로 풀어봤다. 그런데 일부 문제는 Python 풀이보다 더 느린 결과를 보였다. 뭔가 잘못됐음을 직감했고, 백준에 제출된 고인물들의 코드를 살펴봤다. 그렇게 삽질이 시작됐다. 삽질 결과: 속도 향상 공간 확보: 1.2x 빠른 입력: 17x 문자열 합치기: 71x 정규 표현식:...