전체 글
![[체크카드 추천] 우리카드 010pay 추천인(추천코드: XEDG6784)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYTzR2%2FbtrDdJt7qqS%2FdkIfPuhJEIJHuBhkPexp6K%2Fimg.png)
[체크카드 추천] 우리카드 010pay 추천인(추천코드: XEDG6784)
초대코드: XEDG6784 이번에 체크카드를 뭘 발급받지 고민하다가, 우리 카드의 010PAY 체크카드를 발급받았다. 그 이유는 결제건당 떨어지는 랜덤 뽑기때문.. 어차피 1% 포인트나 할인 해봤자 얼마 안될텐데, 인생 한방이나 노려보는게 좋을 것 같았다. 곧 7월부터는 천만원, 백만원 당첨은 없어진다고 한다..ㅠ 체크카드를 발급받고, 슥슥 넘어가는데, 010pay라는 앱을 설치해야 하더라. 보니까 행운박스도 여기서 까는 거 같고, 페이 기능을 탑재한 앱테크 앱인 것 같았다. 설치하고 가입하려고 보니 초대 코드를 입력하면 1000원을 준다고 하길래, 구글링해서 나오는 첫 번째 사람의 초대코드를 입력했다. 결론적으로 이 포스트를 쓴 이유는, 나처럼 지나가다가 들르는 분이 계시지 않을까? 해서 써본다 ㅎㅎ ..
![[주저리주저리] 뒤 늦은 2021년의 결과 (카카오 인턴, 각종 공채 후기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9P7vc%2Fbtry7uVlJFE%2F9Fk7lkEa22Arsugvk9SLr1%2Fimg.png)
[주저리주저리] 뒤 늦은 2021년의 결과 (카카오 인턴, 각종 공채 후기)
2021년 요약 1. 2021 프로그래머스 여름 인턴(휴먼스케이프): 1차 코테 -> 2차 코테 -> 면접 -> 합격했으나 카카오 선택 2. 2021 카카오 여름 인턴: 1차 코테 -> 1차 면접 -> FE 최종합격 -> 2개월 인턴생활 -> 전환 면접 탈락 3. 2021 넷마블 하반기 공채: 1차 코테 -> 넷마블 테스트 -> 1차 면접 탈락 4. 2021 NHN 하반기 공채: 1차 Pre-Test(코테) -> 2차 Pre-Test -> 1차 면접 불참 5. 2021 네이버 하반기 공채: 1차 코테 -> 1차 면접 탈락 6. 2021 삼성전자 하반기 공채: 자소서 -> 코딩테스트 -> 면접 불참 7. 2021 카카오 하반기 공채: 1차 코테 -> 2차 코테 -> 1차 면접 -> 2차 면접 -> 최종 합..

14. 테스트와 가독성
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 읽거나 유지보수하기 쉽게 테스트를 만들어라 -> 테스트 코드: 실제 코드가 어떻게 동작하며 어떻게 사용되어야 하는지에 관한 비공식적인 문서 -> 테스트 코드가 읽기 쉬우면, 사용자는 실제 코드가 어떻게 동작하는지 그만큼 더 쉽게 이해할 수 있다. -> 다른 프로그래머가 수정하거나 새로운 테스트를 더하는 걸 쉽게 느낄 수 있게 테스트 코드는 읽기 쉬워야 한다. 2. 테스트를 읽기 쉽게 만들기 -> 덜 중요한 세부 사항은 사용자가 볼 필요 없게 숨겨서 더 중요한 내용이 눈에 잘 띄게 해야 한다. -> 초기화에 필요한 부분은 헬퍼 함수를 사용해 감추고, 테스트 자체..

13. 코드 분량 줄이기
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 요구사항에 질문을 던지고 질문을 잘게 나누어 분석하라. -> 예외처리를 무조건적으로 적용하는 것이 아니라, 요구사항에 맞는지 생각한다. -> 불필요한 요구사항을 제거하라. -> 제품에 꼭 필요하지 않는 기능을 제거하고, 과도한 작업을 피한다. -> 요구사항을 다시 생각해서, 가장 단순한 형태의 문제를 찾아본다. 2. 코드베이스를 작게 유지하기 -> 코드베이스를 최대한 작고 가볍게 유지한다. -> 일반적인 '유틸리티'를 많이 생성하여 중복된 코드를 제거하라. -> 사용하지 않는 코드 혹은 필요없는 기능을 제거하라. -> 프로젝트가 서로 분리된 하위 프로젝트로 구..

12. 생각을 코드로 만들기
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 논리를 명확하게 설명하기 -> 부정문을 최소화하여 조건을 분기한다. 2. 라이브러리를 알면 도움이 된다. -> 라이브러리가 제공하는 기능을 잘 활용하자. 3. 논리를 쉬운 말로 표현하는 방법을 더 큰 문제에 적용하기 -> 지저분한 논리를 감춘다.

11. 한 번에 하나씩
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 작업은 작을 수 있다. 2. 객체에서 값 추출하기 -> 한 번에 하나의 작업! -> 동일한 if가 여러번 쓰일 경우, 묶어준다. -> 헬퍼 함수: 다른 함수 안에서 특정 기능을 하고 있는 함수

10. 상관없는 하위문제 추출하기
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 순수한 유틸리티 코드 2. 일반적인 목적의 코드 -> 목적과 상관없는 하위문제 따로 빼기 -> 이 경우 하위문제 코드의 테스팅 및 개선 용이 3. 일반적인 목적을 가진 코드를 많이 만들어라 4. 특정한 프로젝트를 위한 기능 -> 기본적으로 하위문제는 전체 프로젝트를 몰라야 하지만, 설령 안다고해도 추출해내는 것만으로 가독성을 향상시킬 수 있다. 5. 기존의 인터페이스를 단순화하기 -> 자신이 사용하는 인터페이스가 깔끔하지 않다면, 새로운 함수로 둘러싸서 깔끔하게 만들어라 6. 자신의 필요에 맞춰서 인터페이스의 형태를 바꾸기 -> 접착코드(glue code): ..

9. 변수와 가독성
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 변수 제거하기 -> 불필요한 임시변수 제거 -> 중간 결과 삭제하기 -> 흐름 제어 변수 제거하기 2. 변수의 범위를 좁혀라 -> 전역변수는 최대한 멀리할 것! -> 변수가 적용되는 범위를 최대한 좁게 만들기 -> 많은 메소드를 정적 메소드로 바꾸는 것도 좋다. -> 커다란 클래스를 여러 개의 작은 클래스로 -> JS의 경우 변수를 전역이 아닌 클로져 내부에 선언해주는 것이 좋다. 3. 값을 한 번만 할당하는 변수를 선호하라 ->변수 값이 달라지는 곳이 많을수록 현재 값을 추측하기 더 어려워진다.

8. 거대한 표현을 잘게 쪼개기
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 설명변수 -> 작은 하위표현을 담을 변수 if line.split(':')[0] == 'root': ... # --------------- # 설명변수 사용 username = line.split(':')[0] # 여러개의 코드 덩어리를 짧은 이름으로 교체 if(request.user.id === document.owner.id){ ... } // ----------------- // 요약변수 사용 const user_owns_document = request.user.id; // not을 분해하고 and/or를 바꾼다. -> !(A&B) 대신 !A || !B..

7. 읽기 쉽게 흐름제어 만들기
이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다. 1. 조건문에서 인수의 순서 -> 왼쪽이 주체, 오른쪽이 고정 값. // good if(length > 0) { ... } // bad if(0 if(긍정) else : 일반적으로 좋음! -> 간단한 것을 먼저하는 것 좋음 -> 더 흥미롭고, 확실한 것 먼저하는 것 좋음 3. 삼항 연산자를 사용하는 것 -> 기본적으로 if/else를 사용하고, 삼항 연산자는 매우 간단할 때만 사용한다. -> 짧은 코드 < 다른 사람이 이해하기 쉬운 코드 4. do/while 루프를 피하라 5. 함수 중간에서 반환하..