목록KimJinHwan (32)
ecsimsw
Web server with socket API Socket API를 이용하여 Http 형식의 요청을 처리, 응답할 수 있는 웹 서버를 제작한다. github : https://github.com/ecsimsw/multiplexing-server Steps 1. Socket API를 구현한 간단한 Socket Server를 제작한다. - Socket server를 구현하고 client 연결, 메시지를 처리한다. - Http 요청, 응답 포맷을 확인하고 Socket Server가 이를 해석, 처리, 반환할 수 있도록 한다. - Jsoup을 이용하여 html 파일을 변환, 사용자의 접근에 따른 동적인 페이지를 반환한다. 2. Multi-Threading을 이용한 비동기 요청 처리를 구현한다. 3. Selec..
라인의 오픈소스 행사 최근에 LINE의 테크 블로그에서 `Open Source Sprint 2021: 오픈소스에 잘 기여하는 문화 만들기`라는 오픈소스 기여를 위한 행사가 주최된 후기를 읽을 수 있었다. 라인에서 공개하고 사용하고 있는 오픈소스 프로젝트에, 제1사용자인 라인 개발자들이 좀 더 편하게 기여할 수 있도록 또는 활동에 동기를 줄 수 있도록 하기 위한 행사인 것 같았다. 그리고 언제나처럼 그들에 대한 동경심과 개발 욕구?가 불타서 한 동안 내가 기여할 수 있는 오픈 소스를 알아봤었다. 솔직히 아무것도 모르고 Spring boot 저장소의 PR을 보면서 `나도 한번?`이라는 감히 큰 꿈도 가졌었는데, 너무 어려워서 점점 탐색하는 프로젝트 규모가 작아졌던 웃픈 기억이 있다. 🥲 이런 행사들과 기업이..
클릭 위치가 부채꼴 안에 포함되어 있는지 알고 싶어요! 옆 회의실에서 '프롤로그'팀이 수학 문제 푸는 거를 보고 재밌어 보여 나도 참여해보았다. 라이브러리 없이 직접 확률에 따른 사잇각을 구하고 영역 클릭시 해당 내용을 확인할 수 있는 기능을 구현 중이었고, 사용자 클릭 이벤트가 주어졌을 때 그 좌표가 해당 영역에 포함되어 있는지 확인할 수 있는 로직이 필요했다. 1. 클릭 범위 확인 우선 클릭할 수 있는 범위가 맞는지를 확인했다. 아래 그림에서 빨간색으로 표시한 부분을 말한다. 간단히 작은 원보다 밖에 있고, 큰 원 안에 있는지를 확인하면 된다. 2. 각도 확인 이번에는 좌표가 A 영역 부채꼴 안에 포함되었는지를 확인할 것이다. 영역 시작 선을 a, 영역 끝 선을 b이라고 한다. x축과 a가 이루는 각..
좋아하는 것어렸을 때부터 문제를 해결하는 것을 좋아했다. 책장에는 추리 소설이나 퀴즈 책만 있었고, 장기, 체스가 세상에서 가장 재밌는 게임이었으며, 수학 문제를 푸는 희열에 중고등학교 때는 솔직히 수학만 했다. 풀이를 고민하고 딱 해결했을 때의 그 쾌감, 그리고 그걸로 주변 친구들에게 받던 인정이 그렇게 좋았던 것 같다. 다른 어느 때보다 재밌었다. 문제 푸는 것만큼이나 뭔가를 만드는 것을 좋아했다. 죄다 과학자나 대통령을 꿈꾸던 주변 친구들이 하나둘씩 현실적인 장래희망을 갖게 될 때 까지도 나는 발명가를 꿈꿨다. 매일 작은 수첩과 그 크기의 샤프를 들고 다녔던 기억이 난다. 갑자기 드는 생각을 기록하고 싶어서. 그 작은 샤프도 내가 만들었었다. 그리고 사람을 좋아한다. 그냥 사람들과 함께 하는게 너무..
이끌기 위한 용기는 없고, 따르기 위한 존중도 없고.'이끌든지, 따르든지, 비키든지'. CNN 창업자 테드 터너가 한 말이라고 한다. 이전까지는 이렇게까지 와닿지 않았는데, 이번 팀 미션을 하면서 크게 공감한 말이다. 저 한 문장은 내 잘못된 태도와 앞으로 어떻게 바뀌어야 하는지를 모두 포함하고 있었다. 프로젝트 초반에 열정이 앞서 의견을 마구마구 내었다. 물론 의견을 잘 내주고 대화에 참여해주는 것은 중요하다고 생각한다. 문제는 나는 비판만을 말했다. 스스로도 모호하고, 정확히 알지 못하면서, 투덜대기만 했다. 성장을 위해서 비판이 분명히 필요한 것은 맞지만, 내 비판은 성장을 위하지 않았다. 그저 '뭔가 거슬리고, 내 것과 다르다' 라는 생각 아래 문제점을 찾았던 것 같다. 어느 순간부터 내가 문제 ..
Flyway 소개하기https://www.youtube.com/watch?v=pxDlj5jA9z4 DB MigrationDB Migration의 필요를 모를 수 있다. 솔직히 나는 몰랐다. 배포 후 데이터를 관리해본 경험이 없었고, 유지 보수 중 스키마 구조가 바뀌는 상황에 어떻게 대처하는지 생각해본 적 없었다. 사실 flyway를 검색하면 사용 방법이 아주 자세히 잘 나와있다. 그런데도 내가 이 글을 쓰는 이유는 배포 후 DB를 관리하고 유지 보수 해본 경험이 전혀 없는 학생들에게 '당신에게 곧 이런 문제 사항이 생길 것이고, flyway라는 툴은 이걸 이렇게 풀어준다.'를 소개하고 싶었다. 나중에 그런 경험을 만났을 때, 'DB Migration 또는 Flyway tool 라는 키워드가 있었던 거 ..
프론트 앱 서버의 포트가 자동으로 변경된다? 되게 신기한 경험을 했다. Vue (webpack dev server)와 Spring boot (톰캣)를 띄웠는데 이 둘을 실행하는 순서에 따라 webpack dev server가 다른 포트로 뜨고, 작동하지 않는 경우도 있었다. 시나리오는 다음과 같다. 프론트 서버, 백 서버 모두 8080으로 설정한 상태이다. 1. 백 서버를 띄우고 프론트 서버를 띄우면 프론트-백 각각 localhost:8081 / localhost:8080으로 뜨고, 정상 작동한다. 2. 프론트 서버를 띄우고 백 서버를 띄우면 프론트-백 각각 localhost:8080 / localhost:8080으로 뜨고, 프론트 앱 서버가 무시된다. 1번 프론트서버가 8081로 뜬 이유 / Vue c..
대화하기 위한 프론트엔드 공부 Vue를 하나도 모른다. Vue 뿐만 아니라 프론트 앤드 앱이 어떻게 동작하고 배포되는지도 전혀 모르는다. 이런 표현이 맞는지 조차 모르겠다. 우아한테크코스 지원 플랫폼 제작에 참여하고, 코스 안에서 프론트 앤드 크루들과 협업하는 미션을 진행하면서, 프론트 앱이 어떻게 배포되었는지 모른 채로 너무 당연히 넘어갔다. 어떻게 배포했는지, firebase가 뭐고, netflify가 뭔지. 나는 서비스 전체를 제작하고 배포, 운영하고 싶다. 솔직히 직접적인 웹 화면, 모바일 앱 개발까진 아니더라도 적어도 그 파트를 맡는 개발자들의 말을 이해할 수 있는, 서비스의 전체적인 구조는 그릴 수 있는, 한 서비스를 운영하려면 어떤 컴포넌트들이 필요한 지는 알고 주문할 수 있는, 그런 사람이..