목록전체 글 (254)
Joonas' Note

예전부터 만들어보고 싶었는데 미루고 미루다가 이번에 만들만한 이유가 생겨서 구현해보기로 했다. 회사 티타임 내기용 게임을 준비하는데, 아래와 같이 눈코입을 보고 누구인지 맞추는 게임을 쉽게 만들 수 있지 않을까했다. 얼굴에서 특징점을 추출하는 솔루션은 꽤 오래 전부터 있었기때문에, 어렵지 않게 찾을수 있을거라 생각했고 실제로도 그랬다. 우선은 이미지를 업로드하고 결과를 바로 보기에 웹이 편할 것 같고, 문제를 만드는 것을 포함해서 게임 UI 까지 구현하는 것도 고려해서 javascript 라이브러리로 찾아보았다. 처음에는 OpenCV-javascript 를 사용해보려고 했는데, 생각만큼 얼굴 사진에서 face landmark 를 잘 찾아내지 못했었다. 얼추 찾기는 하는데 만족스럽지는 못했다. 그래서 ML..

평소처럼 인터넷을 유영하다 세상에서 가장 작은 나라(micronation)라고 주장하는 시랜드(Sealand)라는 걸 발견했다. 어쩌다 이런 일을 벌였는지는 기억나지 않지만 분명 맨정신이었고 3월 어느 새벽에 재밌어보여서 시작했다. 결론부터 말하자면 시랜드 공국(Principality of Sealand)에 기사 작위를 신청했고 5월 쯤 되어서 소포가 도착했다. 일단 작위가 생긴다는 일 자체가 뭔가 재밌을 것 같아서 벌였는데, 시랜드는 매관매직으로 작위를 구매할 수 있으니 이런 매지컬한 일을 지나칠 수 없었다. 물론 시랜드 자체가 나라로 인정되지 않기 때문에..... 진짜로 책임이 없는 유희 그 자체다. 이해는 잘 안가지만 남작(Baron)보다 기사(Knight)가 더 비싸다. 흠... 우선 칭호에 있어..

git에 대한 기본적이면서 핵심이 되는 컨셉은 아래 글에서 정리했다. 원격 저장소에 대한 간단한 설명도 있으니 먼저 읽어보는 것을 권한다. All about git - 핵심 개념 정리 소스코드를 저장할 개념으로 학생때부터 git과 github을 꾸준히 사용했는데, 어느덧 거의 10년차가 되었다. 그렇다보니 주변에 git 에 대한 내용을 설명하는 경우가 많았는데, 사람들이 항상 혼란스 blog.joonas.io 함께 작업하기 여러 사람들과 하나의 레포지토리(repository)로 공동 작업하는 것은 여러 방법이 있다. 문제는 이 하나인 레포지토리의 코드가 가만히 있지 않다는 것이다. push 현재 내 로컬의 브랜치 상태를 원격 레포지토리(예를 들면 GitHub)에 업로드하고 싶은 경우, push 커맨드를 ..

git에 대한 기본적인 컨셉과 용어는 아래의 글에서 정리했다. All about git - 핵심 개념 정리 소스코드를 저장할 개념으로 학생때부터 git과 github을 꾸준히 사용했는데, 어느덧 거의 10년차가 되었다. 그렇다보니 주변에 git 에 대한 내용을 설명하는 경우가 많았는데, 사람들이 항상 혼란스 blog.joonas.io 그리고 commit 을 쌓기 위해 stage 컨셉에 대한 이해는 아래의 글에서 정리했다. All about git - 상태(status) 관리하기 git에 대한 개념과 용어가 헷갈리시는 분들은 아래 글을 참고해주세요. All about git - 핵심 개념 정리 소스코드를 저장할 개념으로 학생때부터 git과 github을 꾸준히 사용했는데, 어느덧 거의 10년차 blog.j..

git에 대한 개념과 용어가 헷갈리시는 분들은 아래 글을 참고하면 좋다. All about git - 핵심 개념 정리 소스코드를 저장할 개념으로 학생때부터 git과 github을 꾸준히 사용했는데, 어느덧 거의 10년차가 되었다. 그렇다보니 주변에 git 에 대한 내용을 설명하는 경우가 많았는데, 사람들이 항상 혼란스 blog.joonas.io 상태(status) git에는 파일의 상태(status)라는 개념이 있다. 아래의 명령어를 한번이라도 본 적이 있지만 자세히 생각해본적이 없다면, 이번 글은 무척 도움이 될 것이다. $ git status 이전 글에서 설명했듯이, git은 "파일이 변경된 기록"을 관리한다. 그리고 그 기록을 저장하는 단위이자 행위가 바로 커밋(commit)이다. commit은 실..

소스코드를 저장할 개념으로 학생때부터 git과 github을 꾸준히 사용했는데, 어느덧 거의 10년차가 되었다. 그렇다보니 주변에 git 에 대한 내용을 설명하는 경우가 많았는데, 사람들이 항상 혼란스러워 하는 부분을 이번 포스트 (어쩌면 시리즈)로 정리하고자 한다. Git vs. GitHub 가장 중요한 것은 git 과 github 의 차이부터 아는 것이다. 특히 수많은 IDE가 git의 기능을 지원하면서 github(또는 다른 서버)와의 연동 역시 당연하게 지원하다보니, 둘을 구분하지 못한 채 개발하는 경우가 많이 있었다. git 먼저, git은 온전히 "버전 관리 시스템(VCS; Version Control System)"이고 하나의 프로그램이다. 파일들의 변경 히스토리들을 기록하고 관리하는 것이 ..

Logit logit 함수를 이해하려면 odds 를 알아야한다. logit 함수는 logit(p)=log(odds) 이기 때문이다. Odds odds 는 어떤 사건이 발생할 확률과 발생하지 않을 확률을 비교한 값이다. 일반적으로는 성공 확률을 실패 확률로 나누어서 계산한다고 한다. odds=p1−p 여기에 로그를 씌운 함수를 logit function 이라고 부른다. logit(p)=log(odds)=log(p1−p) 이 logit function 을 x=[0, 1] 에 대해서 그래프를 그려보면 아래와 같이 생겼다. Sigmoid sigmoid 함수는 logit function의 역함수이다. 즉, x와 y를 뒤집은 그래프라는 ..

사실 블로그에 개발과 관련한 글을 올리는 건 2014년 구글 블로그를 시작으로 알고리즘 문제 풀이를 간단하게 올렸었다. Google Blogger 플랫폼 자체에 업데이트가 별로 없고, 자체적으로 통계를 내어주는 서비스도 없었다. (Google Analytics 스크립트를 별도로 삽입하면 가능) 그 외에도 여러 이유로 2017년 12월에 티스토리로 옮겼는 데, 정확한 이유는 기억이 나질 않는다. 2023년 6월 현재를 기준으로, 이제는 Google Blogger에 작성했던 170개의 글보다, 이 곳 티스토리 블로그에서 작성한 글이 220개로 더 많다. 최근 블로그에 유입하는 키워드나 내가 다루는 관심 주제들의 변화도 있었지만 블로그의 통계를 기록으로 남기는 것도 좋을 것 같아서 이렇게 포스팅을 한다. 먼저..