전체 글 87

우리의 약속, 코드 컨벤션 (Coding Conventions)과 보풀 제거기 Lint

우리의 인생에는 '상식' 이라는게 있다. 국어사전에 따르면 '상식' 이란 사람들이 보통 알고 있거나 알아야 하는 지식. 일반적 견문과 함께 이해력, 판단력, 사리 분별 따위가 포함된다. 라고 설명되어 있는데, 우리가 코드를 작성함에 있어도 '상식' 이라는게 있다. 코드를 작성하는 규칙을 잘 지키는 것은 개발자들간에 상식이다. 이것을 'Coding Convention' 이라고 부르는 것이다. 대부분의 코드를 보다보면 변수명은 소문자(name, age, weight 등)로, 클래스는 첫글자가 대문자(Human, Student 등)로 시작하는 모습을 볼 수 있는데, 이런것들은 내가 그냥 쓰고싶은대로 쓴게 아니라, 모두 일반적인 코딩 컨벤션을 따른 것이다. 우리가 앞으로 코드를 작성하는데 이러한 컨벤션을 따르지..

빠르게 실패하기, 어차피 한 번에 성공할 수 없다.

우아한 테크코스 프리코스 2주 차를 보내며 어느덧 3주차가 진행되고 있다. 벌써 세 번째 Fork를 하고 있으며, 이제는 미션을 대하는 자세가 제법 어색하지 않다. 두 번의 PR을 했고, 두 번의 피어리뷰를 진행하며 생각보다 많은 감정들을 지나쳐가게 되는 것 같다. 내가 잘했다고 생각하는 부분이 알고 보면 불필요한 부분이었다던가, 혹은 제대로 의미를 깊이 있게 파악하지 않고 사용했다던가 등 예상치 못하는 일들이 벌어지고 있다. 그 속에서 감정의 소용돌이에 본인을 몰아넣고 있을 누군가에게 응원과 열정을 다시 부어줄 수 있는 감동적인 내용이 있어 소개하려고 한다. 제 전략은 항상 똑같습니다. 가능한 한 빨리 실패해버리자는 거죠. 즉, 망치는 것을 피할 수 없으니 이점을 인정하자는 겁니다. 두려워해서는 안 돼..

[우테코] 2주차 프리코스 회고록

서론 지난 1주차의 엄청난 반성과 깊은 깨달음을 토대로 2주차를 시작했다. 2주차 미션에 앞서 우테코에서 2주차를 설계하며 우테코 코치와 포비가 시사하고자 하는 경험과 목표를 파악하는 것에 중점을 두었다. 2주차 목표 1주차에서 학습한 것에 더해 함수를 분리할 것 각 함수별로 테스트를 작성하는 것 테스트가 처음이라면, 언어별 테스트 도구를 학습해보기 작은 단위의 기능부터 작성해보기 단순하고, 있어보이지 않아도 기본에 충실한 테스트케이스 만들기 요구사항을 잘 파악하기 최대한 스스로 해결해볼 것 무작정 다른 사람의 도움을 받는 것은 지양하기(커뮤니티도 되도록 피하기) 기능을 구현하기 전 기능목록을 만들고, 기능 단위로 commit 하기 commit 컨벤션 지키기 프리코스, 너는 이런녀석이었구나(?) 1주차 ..

#6. 이직, ‘좋은 스타트업’을 고르는 방법

리멤버에 누가 올린 내용이었는데 실제로 스타트업으로 이직하며, 공감했던 부분이라 포스팅하게 되었습니다. 개발자한테 좋은 스타트업은 어떤 곳인가요? 라는 질문을 던지면 보통 개발문화가 좋은곳, 개발자로써 성장할 수 있는 곳이라는 답변을 많이 듣습니다. 그보다도 조금 더 근본적으로 좋은 스타트업에 대해 개인적인 생각을 적어주신 글을 가져와 공유드립니다. 🚴‍♂️ 먼저 스타트업이란 ? 스타트업은 말 그대로 이제 막 스타트한 신생기업을 의미합니다. 그러나 막 오픈한 자영업이나 프렌차이즈를 스타트업이라고 부르지 않습니다. 또한 기술력이 있다고 약국이나 병원을 스타트업이라고도 하지 않습니다. 창의적인 아이디어와 혁신적인 기술을 바탕으로 시작했을 때 스타트업이라고 부릅니다. 🏋️‍♀️ 스타트업의 성공 요건 창의적인 ..

Life.log 2023.11.01

equals() 와 hashCode() 동일성과 동등성, 완전범죄하기

자바의 모든 클래스는 Object 클래스를 상속받습니다. 그리고 Object클래스에는 equals() 와 hashCode() 라는 메소드가 선언되어 있습니다. 이 메소드들은 각각 어떤 역할일까요? 이 둘의 차이점은 무엇일까요? equals()와 hashCode() 메서드는 객체 지향 프로그래밍에서 중요한 메서드로, 객체 간의 동일성과 동등성을 다루는 데 사용됩니다. 들어가기 전에 동일성은 Identity = 메모리 내 주소값이 같은지 비교합니다. 동등성은 Equality = 논리적 지위가 동등한지 비교합니다. 예를들어, 애플  아이폰이 2대있다. 두 휴대폰은 기종도 같고 동일한 색상 동일한 스펙을 가지고 있다. 이 두 개의 휴대폰은 동일한가? 답은 아니다. 휴대폰은 각 기기마다 고유 주소가 있고 아이폰..

#5. 개발에 쫓기지 말자, 개발자가 도망자가 되는 이유

이번 포스팅은 우연히 커리어 플랫폼에서 대기업 시니어 개발자분이 남겨주신 명조언을 보게 되어 공유합니다 :) 요즘 많은 분들이 너무 쫓기듯이 개발을 생각하는 것 같습니다. 더 좋은 회사로 가야 할 것 같고, 네카라쿠배(네이버, 카카오, 라인, 쿠팡, 배민)로 가야 할 것 같고 거기로 가기 위해서는 알고리즘 공부도 하고 유명한 스택도 써봐야 하고, 멘토링도 받아야 하고 이력서 컨설팅도 받아야 하고... 이렇게 생각하시는 것 같습니다. 이런 분들을 많이 보고 있지만 주객이 전도된 것 같습니다. 근본적으로 개발이라는 행위 자체를 보면 개발은 알고리즘을 잘 짜는 것, 유명한 스택을 사용하는 것이 본질이라고 보기는 어렵습니다. 개발이라는 것은 사람들의 행위를 바뀌기 위해(세상을 바뀌기 위해) 필요한 것을 만드는 ..

Life.log 2023.10.30

#4. 열정주의, 번아웃 주의보 :(

요즘 MBTI 가 밈처럼 번져 이성적인 성격유형을 본다면 "너 T야?"라는 말이 아주 핫하다🔥다행히 나는 T가 아니니까 블로그를 쓸거다!! 2023년이 거의 지나가고 10월 30일이 된 지금,, 나는 F 다운 감성 Life.log를 남겨보려고 한다 :D 블로그를 시작하기 전엔 정말 앞길이 막막하고 어떤 개발자가 되어야 할지 난감했었는데 어느덧 지금은 내면적으로도, 업무적으로도 성장한 것 같다. 힘들게 고생하고 많은 일이 주어졌던 만큼.. ◠‿◠ 다만, 그 조차 나의 것으로 만들 수 있는 시간이 되어주어 감사할 따름이다. 여전히 모든 것이 현재진행형이다. 이직도, 열정도. 다만, 열정이 유지되기 위해서는 나의 단단함이 뒷받침 되어야 한다. 긴 인생은 아니었지만, 살면서 두 번 번아웃이 왔었다. 대학교 2학..

Life.log 2023.10.30

[우테코] 1주차 프리코스 회고록

*프리코스(precourse)란 프리코스에 대해 모르는 분들을 위해 소개하자면 '우아한 테크코스'에서 시작한 프로그램으로서, 본 교육 프로그램을 진행하기 전 말 그대로 pre(미리) 경험해 보는 온보딩 코스이다. 프리코스로 정해진 기간 동안 참가자에게 매주 미션이 주어지며, 이 미션에는 3가지 요구사항이 함께 전달된다. 참가자는 각자 역량대로 3가지 요구사항을 만족시키는 미션을 수행하여 제출하면 프리코스에 참여하게 된다. 📚프로그래밍 요구사항 📚기능 요구사항 📚과제 진행 요구사항 서론 : 설렘 반, 걱정 반 드디어 우아한 테크코스의 특별한 교육과정 프리코스(pre-course)를 시작했다. 사실 운 좋게도 합격한 소수의 인원만 온보딩 형태로 참여가 가능한 코스였던 작년과 달리 모든 지원자가 프리코스를 경..

클린코드 작성 1원칙, 데드 코드(사용하지않는 코드)청소하기

클린코드 작성하고 싶다.. 어떤 것부터 시작해야할까? 실행되지 않는 코드는 모두 삭제하는 것이 정리의 시작입니다. 프로젝트를 새로 만들면 생겨나는 여러 함수와 주석들을 삭제하는 습관을 들이면 좋습니다. 개발자의 시간, 노력, 눈물이 들어간 코드와 조직의 비용이 지불된 가치를 삭제하는 것이 아깝게 느껴질 수 있지만, 이런 사용하지 않는 코드가 프로젝트에 존재하는 것만으로 발생하는 비용의 문제가 있으므로 꼭 삭제하는 습관을 들여야 합니다. 실제로 코드리뷰에서 이 지점에서 발생하는 비용이 적지 않습니다. 구글 코드리뷰 가이드라인에서는 CL의 모든 줄을 리뷰해야 하는 것을 원칙으로 삼고 있습니다. 물로 코드의 중요도에 따라 훑어만 봐도 괜찮은 코드와 주의 깊게 살펴야 하는 코드는 나뉘겠지만, 기본적으로 모든 줄..

GitHub, 공대생처럼 안보이는 README.md 작성법

공대도 README 예쁘게 쓰고 싶다... 1. 마크다운에 관하여 1.1. 마크다운이란? **Markdown**은 텍스트 기반의 마크업언어로 2004년 존그루버에 의해 만들어졌으며 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하다. 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다. 마크다운이 최근 각광받기 시작한 이유는 깃헙(https://github.com) 덕분이다. 깃헙의 저장소Repository에 관한 정보를 기록하는 README.md는 깃헙을 사용하는 사람이라면 누구나 가장 먼저 접하게 되는 마크다운 문서였다. 마크다운을 통해서 설치방법, 소스코드 설명, 이슈 등을 간단하게 기록하고 가독성을 높일 수 있다는 ..