본문 바로가기

전체 글

(430)
정신없었던 새해 첫달을 보내면서(2021.01.24) 새해 이야기 2021년이 시작되면서 많은 일들이 있었다. 날짜를 쓸 때, 습관적으로 2020년을 썼다가 지우는 실수가 줄어들 때 쯤이 되서야 다사다난했던 2021년 1월을 정리하려고 글을 쓴다!무엇보다도 가장 큰 일은 다시 한 번 퇴사를 하게 된 일이다. 직장을 옮기게 된 지 1달도 안된 시점에서 다시 한 번 직장을 옮기게 되었다. 처음 이직을 결심했던 이유와 새로운 직장(이제는 전직장...)은 연관성이 크게 없었다. 하고 싶은 업무와 더 많은 것들을 배울 수 있는 환경을 찾아 이직을 결심했는데 그런 측면에서 옮기게 된 직장은 정말 그런지 확신이 안섰다. 이직을 결심했으면 빠르게 결실을 맺어야겠다는 생각도 어느 정도 있었고 여러 가지 조건들도 더 나아보여서 이직을 하게 되었지만 스스로도 처음 이직 결심의..
주소 인식과 날짜 인식을 위한 삽질의 기록 개요 2021.01.02 ~ 2021.01.05 혼자 당근마켓 거래 채팅방 중에 주소를 입력하면 이를 인식하여 안내 알람을 보내주는 기능이 있었습니다. 당근마켓 팀 블로그 내 해당 기능과 관련된 구현 이야기를 보니 흥미로웠습니다. 그래서 저도 따라 만들어보고자 했습니다. 주소 인식을 위한 삽질의 기록 당신의 안전을 위해서라면 뭐든지 할 거예요. 그게 삽질이라도… medium.com 그리고 주소 인식 뿐만 아니라 약속 날짜나 시간을 이야기하면 해당 데이터도 인식하여 재밌는 기능들도 넣어볼 수 있지 않을까 생각했습니다. 여담으로 저의 일화를 소개해드리자면... 평일 저녁 8시에 갤럭시 버즈 기기를 판매하기로 약속을 했었습니다. 그런데 약속 당일에 정신없이 하루를 보내다보니 시간이 임박해왔던 걸 몰랐습니다. ..
생일에 퇴사하는 사람(2020.12.22) 생일에 퇴사하는 사람 12월 22일, 내 생일이자 첫 직장을 퇴사하는 날이다. 첫 직장에서 인턴부터 퇴사까지 거의 1년의 시간을 보냈다. 학교를 다니던 마지막 학기에는 취업 걱정을 정말 많이 했다(물론 걱정한만큼의 노력은 하지 않았던 것 같다). 그런데 운좋게 한 곳에 합격하여 입사하게 되었고 다달이 통장에 돈이 들어오는 것을 보며 신기하고 행복했다. 그래서 개인적인 개발, 공부, 블로그 같은 것들을 조금은 잊고(?) 살았던 것 같다. 그렇게 반년이라는 시간이 흐르고 조금은 여유가 생길 때쯤 잊고 있었던 것들이 눈에 들어왔다. 잘하지는 못하지만 개발하는 것을 좋아했고 공부한 것들을 정리하는 것도 참 좋아했었다. 조금씩 잊고 있던 것들을 다시 해보려 했지만, 회사 - 집 - 회사 - 집 의 수레바퀴에서 조..
미니 1942 게임 만들기(Unity) 2020.12 혼자 개요 게임개발에는 다양한 게임엔진들이 활용된다. 게임개발에도 여느 프로그래밍 언어, 프레임워크 처럼 각자의 특징, 장단점들이 있다. (참조 : https://brunch.co.kr/@iimjae123#articles) 이 분의 게임개발 관련된 글은 재밌고 유익했다 플랜트블랙의 브런치 학생 | 언젠가 이 소개란에 제가 만든 게임 제목이 올라올 날을 꿈꿉니다. brunch.co.kr 플랫폼 독립적이고 빠르게 제작 가능하지만 라이센스나 프로그래밍 지식이 많이 요구되는 엔진들도 있고 이와 반대되는 엔진들도 있다. 다양한 엔진들 속에서 가장 대중적이고 인기있는 게임엔진을 사용해보고 싶기도 했고 게임 개발에 도전(?)해보고 싶다는 생각이 있었다. 그런데, 마침 재밌어보이는 교재가 있어 읽어보면서..
레드블랙 트리(Red Black Tree) (변형이진탐색트리) 레드 블랙 트리는 효율적인 탐색을 위해 BST의 height를 낮추는방식으로 고안된 트리이다.다음의 3 가지 조건을 만족해야 한다. 루트 노드와 외부 노드는 Black 노드이다Red 노드가 연속해서 올 수 없다루트로부터 외부 노드로 까지의 가는 경로에서 count 되는 Black 노드의 수는 같다 (최대 경로는 최소 경로의 두배 이하이다) 그리고 이러한 조건을 만족시키기 위해 삽입 시에는 Red 노드로 삽입을 고정시키는 것이 유리하다(블랙 노드로 삽입시 조건 3을 위배시키기 쉬워서 이런 경우에는 복잡한 처리를 수행해야 하기 때문) Red 노드로 삽입 후에는 조건 2만 체크를 하면 된다. 조건 2를 만족시키기 위해 4가지 Case가 있는데 다음과 같다.(right에 삽입되었을 경우를 합치면 총 8가지 ca..
AVL Tree(변형 이진탐색트리) AVL Tree 이진탐색트리(BST, Binary Search Tree)의 효율성은 최대한의 높이(height)를 낮추는 것에 있다. 탐색, 삽입, 삭제와 같은 연산 시의 시간복잡도는 O(h)일 만큼 height에 달려있기에 height를 낮추는 것이 이진탐색트리의 효율성을 높이는 방법이 될 수 있다. 그래서 이진탐색트리(이하 BST)의 효율성을 최대로 살리기 위해 height를 낮추는 방법 중 가장 대표적인 방법으로 AVL 트리를 들 수 있다. 초기에 제안되었던 방식으로 G.M. Adelson-Velskii와 E.M. Landis가 자신들의 이름을 따서 AVL Tree로 명하였다. 핵심은 높이를 낮추는 것으로 Balanced Factor(bf, 또는 높이)를 비교하여 좌측 서브트리와 우측 서브트리의 높..
이진탐색트리(Binary Search Tree, BST) 이진탐색트리(BST) 이진탐색트리는 트리의 대표적인 형태로 말 그대로 이진트리 중에서도 탐색에 특화된 트리이다. 탐색에 특화된 이유는 트리 내부 부모노드의 값은 왼쪽 자식노드의 값보다 크고 오른쪽 자식노드의 값보다 작다는 특성을 지니고 있기 때문이다. 그래서 실제 값이 들어있는 이진탐색트리를 살펴보면 아래와 같다. 이 트리를 전위순회방식으로 탐색하면 "1 3 4 6 7 8 10 13 14" 로 값을 오름차순으로 출력할 수 있다. 즉 아까의 특성 때문에 값을 찾기 쉽기 때문에 이진탐색트리라고 한다. 이진탐색트리는 Node와 NodePointer를 통해서 구현할 수 있는데, 아까의 특성을 지키기 위해 아래의 로직으로 구현할 수 있다. 삽입은 삽입하고자 하는 값이 부모노드보다 작으면 왼쪽 자식노드로, 크면 오..
ENFJ + 호구 의 11월(2020.11.24) ENFJ+호구 안쓴지 조금 된듯해서 간만에 다시 써본다. 제목에서 알 수 있듯이, 나는 ENFJ이자 호구이다. MBTI가 참 신기한게 거의 1년째 한두달에 한번씩 해보는데, 늘 같은 결과가 나온다. ENFJ가 맨날 나온다. 처음에 친한 동생이 알려줘서 해보고 ENFJ가 나왔다고 하니 오 딱 나라고 그랬었는데, 처음엔 좋은 건줄 알았다. 좋고 나쁘고 그런건 아니고 그냥 성격인 듯하다. 그리고 남자는 전세계의 0.5% 일만큼 가장 희귀한 유형이라고 한다(희귀하면 뭔가 좋은 것 같아서 자랑해봤다ㅎㅎ;). 그리고 오늘 호구검사가 유행하길래 해봤다. 솔직히 스스로 호구끼가 조금 있어서, 호구 아닌척 검사했는데 어림도 없었다. a++ 흑우 나와서 찾아보니 테스트 응시자 35%가 흑우로 나왔다고 한다. 그래서 조금 ..