·당근
내용에 문제가 있는 경우 삭제, 수정조치하겠습니다. 순식간에 2주차가 지나갔다.첫주차는 주저리주저리 다 적었다면 이제는 좀 간결하게 작성해볼 예정이다. 돌아보기전주에 개선이 필요한 것들부터 돌아보자. 문제가 무엇인지 정확히 파악할 것 (섣불리 코드를 먼저 살펴보지 말 것) 이전보다 확실히 문제를 파악하는 시간이 단축된 것 같다.이 과정에서 가장 도움이 됐던 두 가지는이걸 해결해서 어떤 것이 나아지는가를 생각해보는 것, 그리고 그것이 완료되면 문제를 잘게 쪼개는 것이었다.내가 하는 작업이 어떤 것을 개선시키고 어떤 가치를 가져오는지 파악하고자 할때 문제를 좀더 잘 정의할 수 있게 됐다.그리고 테스크에서 주어지는 문제들을 다시 잘게 쪼개어 개발 단위로 쪼갰을 때, 확실히 시간이 단축되는 것을 느꼈다.  Co..
·당근
내용에 문제가 있는 경우 삭제, 수정조치하겠습니다. 드디어 당근에서 일해보다나에게 당근은 꼭 일하고 싶은 회사였다.기술적인 부분도 분명 있지만, 무엇보다 프로덕트 자체가 로컬 플랫폼이기에, 삭막해져가는 사회에 동네라는 가치를 만들고 사람들과 사람들을 이어준다는 가치에 크게 공감하고 있기 때문이다. 이건 있다 설명할 당근에서의 이름인 Manolin과도 이어진다.또한, 내가 유튜브, 인스타 다음으로 많이 사용하는 앱이기도 하기 때문에 제품에 대한 애정과 오너십을 가질 수 있겠다는 생각에서 재작년 12월부터 계속해서 공고가 올라올때마다 도전하고 있었다.  세 번의 면접 불합격그래서 그전까지 인턴 포지션이 열릴 때마다 지원했다.아마 이번에 떨어졌어도 또 적었을 것이다.하지만 되돌아보면 불합격도 하나의 피드백이었..
·회고
벌써 2024년의 마지막날이다.되돌아보면 이번년도는 꽤 많은 일이 있던 1년이었다.연초부터 창업 프로젝트가 좌초되고, 수 많은 탈락을 겪기도하고하필 내가 인턴을 시작했을때 업무강도나 역대급으로 강해지거나... 하는 식이었다.상반기 목표로 하반기 돌아보기회사/팀/프로덕트에 기여하기이 부분은 정말 잘해냈다고 생각한다. 짧은 기간이었음에도 불구하고, 많은 양의 업무를 해낼 수 있었다.더불어 회사의 lint룰이나, multi-starter cli를 만들어 생산성을 향상시키는 등의 기여를 할 수 있었고, 덕분에 좋은 피드백도 받을 수 있었다. 회사에서 한 경험을 잘 기록하기이 부분은 완전히 잘한 것은 아니지만, 휘발되지 않을 정도의 정보는 기록해두어서 나의 경험으로 만들어내는데에는 성공한 것 같다. 경험을 블로그..
·문제 해결기
배경여러 번의 리젝과 끝없는 기다림 끝에 개인 프로젝트인 dev-feed을 playstore와 appstore에 배포하는데 성공했다...! 그러나 배포가 끝이 아니다. 나는 앞으로도 컨텐츠를 추가할 생각이다. 그중에 하나가 인기 블로그를 제공하는 것인데, 우선 데이터를 모아보고 싶어 analytics로 해당 데이터들을 모으고자 했다. dev-feed는 react-native로 만들었기에 @react-native-firebase/analytics를 사용하여 google-analytics를 통해 어떤 블로그를 구독했는지를 수집하기로 했다. 그런데, 조금 있다가, 인기 글도 제공하고 싶어졌다. 그래서 뒤늦게 코드를 추가하려다보니, 글조회, 구독 등등... 전반적인 앱의 핵심 기능과 로깅이 붙어있는걸 발견할 수..
고민의 시작이전부터 좋은 코드란 무엇인지 고민해왔다.이런 고민은 팀원과 함께 협업하여 개발해야했던 인턴을 진행하면서 좀 더 심해졌고, 정리되지 않은 상태였다.이번 글로 하여금 생각을 정리해보고자한다. 좋은 코드를 작성하는 방법이라기보다는, 조금 더 근본적인 이해와 내가 해야하는 노력에 대한 글이다. 좋은 코드?좋다라는건 참 모호하다. 좋은 사람은? 좋은 인생은? ~에가 빠진 좋다 라는 가치판단은 머리를 점점 혼란스럽게 할 뿐이다. 목적을 따져보기목적을 따져보자. 코드는 왜 쓰는가? 코드는 불편한 문제를 해결하고, 자동화하여 가치를 제공하기 위해 만들어진다.이런 관점에서는 좋은 코드를 따질 필요는 없다. 왜냐하면 완벽한 제품을 한번 만들면, 더이상 바꿀 필요가 없기때문이다. 하지만, 현대 사회에서 불편한..
요즘 OS수업을 듣고 있는데, 프로세스 스케줄링 관련 부분을 배우고 있다.그러다가 문득, 최근 면접에서 받은, 그리고 제대로 답하지 못했던 이벤트루프는 왜 그런 우선순위로 작업을 실행시킬까? 라는 질문이 떠올라 지금에라도 작성해본다.서론동시성Concurrency(동시성)와 Parallelism(병렬성)동시성과 병렬성은 같은 단어 같지만, 분명히 다른 단어이다.동시성은 동시에 실행되는 것 같이 보이는것병렬성은 실제로 여러 작업이 동시에 처리되는 것이다.동시성에 대해 말할 것이다. 과거, 코어가 하나인 CPU에서 동시성을 해결하는 것은 매우 중요했다.안그러면, 하나의 프로세스만 돌릴 수 있을테니까. JS도 마찬가지다.Javascript는 싱글 스레드이다. 코어가 하나인 CPU인 것이다.여기서 우리는 로직 수..
·문제 해결기
배경2024 관광데이터 활용 공모전에 프론트엔드 개발자로 참여하여 프로젝트를 진행중이다. 앱을 1차적으로 릴리즈하고, 다음 업데이트를 한번 해보니, 스토어 심사를 진행하는 것이 생각보다 시간이 걸리고 불편한 일이라는 것을 느낄 수 있었다. 이런 부분들은 이미 알고는 있었으나, 실제로 경험해보니 더욱 체감이 되었다. 웹뷰를 사용하면 해결할 수 있었겠지만, 초기에 웹뷰를 사용하지 않고, RN으로만 진행하기로 하였기때문에, 다른 방법을 탐색해야했다. 그러다 찾은 것이 Code push다. 어떻게 가능한가?이것을 이해하기 위해서는 RN의 원리에 대해 간단하게 나마 알아보아야한다. React native의 스레드React native는 메인스레드, JS스레드, 백그라운드 스레드(Shadow 스레드)로 구성된다. ..
·회고
엘리스에서 현장실습으로 프론트엔드 인턴십을 진행했다.중간에는 정리하지 못했으나, 끝난 지금 제대로 정리해보고자 한다. 진행한 일들팀원들께서 말씀하시기를... 나는 역대급으로... 바쁠때 들어왔다고 한다.일이 굉장히 많았고(거의 쏟아졌던...), 그래서 밤을 새워가며 개발을 하기도 했지만, 그래도 그만큼 압축적인 경험을 통해 성장할 수 있었다고 믿는다.  나는 크게 네 가지 일들을 진행했다.1. 기존 프로젝트의 우선순위가 높은 버그 픽스들2. 커뮤니티 기능 및 UI개선 스프린트, 버그 픽스3. 커뮤니티 신규 기능 개발4. 디지털 교과서를 위한 클래스룸 신규기능 개발   느낀 점규모가 다르다.가장 크게 느낀 부분은 규모가 다르다..! 라는 것이었다.모듈이 10만개가 넘어가는 거대한 레포지토리에서 작업한다는 ..
·문제 해결기
배경여러가지 라이브러리를 만들어보며, 지금까지 항상 npm에 임의로 버전을 올리고, 패키지를 다운받은 이후에 테스트했었다.그런데 인턴을 하다, eslint룰을 추가하고 잘 적용됐는지 확인해볼 일이 생기게 됐고, 회사 사내의 라이브러리였기에 이때도 이렇게 진행할 수는 없었다. yarn link설명하기에 앞서, 로컬에서 수정하여 프로젝트에 적용시키고자하는 것을 패키지, 실제로 변경된 패키지를 테스트되는 곳을 프로젝트라고 하겠다. yarn link를 사용해서 패키지와 프로젝트를 연결하면 프로젝트의 node_modules/ 와 실제 로컬의 폴더 간의 심볼릭 링크가 생성된다.이 말인 즉슨, 수정한 패키지를 프로젝트에 추가하기 위해 추가적인 배포나 설치과정이 필요하지 않다는 것이다. 그러나 이 때 두 가지 패키지 ..
·회고
되돌아보기2024년이 반이나 지나갔다.세상에,이번 6개월은 눈 깜짝할 새에 지나갔다. 2023 하반기 목표 돌아보기독서량 늘리기2023하반기에서 책을 많이 읽는 것을 목표로 세웠었는데, 운 좋게도 책읽기와 상상력이라는 교양수업을 들을 수 있었고 덕분에 많은 책들을 읽을 수 있었다. 덕분에 최근에는 새로운 취미로 민음사 책들을 모으고 있다.이번 상반기를 통해 책은, 특히 민음사 전집과같은 고전은 때로는 약으로, 때로는 예방주사로 작용할 수 있다는걸 알게 됐다.지식의 전달이라는 관점보다는 경험과 가치를 보다 온전한 형태로 전달받는다는 점에서 더 좋다고 느끼게 됐다. 운동하기근력운동은 아니지만, 틈날 때마다, 한강도로 근처라면 따릉이를 빌려서 타고있다.사실 운동해야한다는 마음가짐보다는 좀 여유를 느끼고, 자전..
_0422
_0422의 생각