일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 노마드코더
- restful
- 노마드코드
- 북클럽
- trouble shooting
- Cache
- 투자
- Race Condition
- redis
- 사업
- 노개북
- Python
- HTTP
- redis transaction
- memcached
- 레일즈 캐시
- rails cache
- iamport
- Rails
- 주식
- 경제
- 아임포트
- django
- CU
- API
- 레일즈
- Watcha pedia
- 재태크
- transaction
- Today
- Total
목록전체 글 (45)
Stay hungry, Stay foolish
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8..

저희 회사 프로젝트는 docker 에 올라가 있지 않았습니다.. 따라서 찾아오는 새로운 개발 팀원이 들어올때마 겪는 환경 셋팅의 고통들... 그러다 사수님께서 docker를 제안해주셨고 본격적으로 이 레거시 같은 rails 환경을 docker에 올려놓고자 공부를 시작해봅니다. docker란? 그리고 이걸 왜 써야 하는걸까요? - docker는 애플리케이션을 빠르게 구축, 테스트, 배포 할 수 있는 소프트 웨어 플랫폼 docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징 하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. 도커를 써야하는 이유를 간단하게 이해하자면 우리의 운영체제 하나에서 여러 어플리케이션을 돌리고자 ..
😃 책에서 기억하고 싶은 내용을 써보세요. 클래스는 작아야한다. 클래스 규칙은 크기, 작아야한다. 함수의 크기는 행수로 판단했지만, 클래스 크기는 맡은 책임의 갯수로 판단한다. 클래스 작명을 명확하게 하기 어렵다면 크기가 너무 커서 그렇다, 맡은 책임이 많은것이다. 여러일을 하는 만능 클래스를 단일 책임 클래스 여려개로 분리하는 일을 하지 않는 개발자가 많다. 그들은 단일 책임 클래스가 여러개면 이 클래스 저 클래스 넘나들며 이해하기 어려워진다고 걱정한다. 하지만 큰클래스 하나든 작은클래스 여러개든 익힐 내용은 그 양이 비슷하다. 결론은 큰 만능 클래스 하나 보다 단일 책임 클래스 여러개가 바람직하다 응집도 클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 ..
자바스크립트를 이해하려면,,, 로우 레벨 영역까지 알아야 한다 자바스크립트에서 실행중인 함수 , 코드블록, 스크립트 전체는 렉시컬 환경이라 불리는 내부 숨김 연관 객체를 갖는다. 이걸 알아들으려면 일단 스코프가 무엇인지 정리해보고 넘어가야한다. 스코프(scope)? scope 는 범위, 영역을 말하는데 JS 에서 변수나 함수가 유효한 범위를 말한다. let x = 'jay'; function call() { let x = 'jake'; console.log(x) } call(); console.log(x) 이렇게 했을때 call() 함수를 호출했을때 나오는 x 값과 맨 하단의 x 값은 다른 변수값을 호출 하는것을 볼 수 있는데 그 이유가 해당 변수들이 바라보는 스코프가 다르기 때문이다. 즉 스코프는 변수..
😃 책에서 기억하고 싶은 내용을 써보세요. TDD 법칙 세 가지 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 진행한다. 3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. -> 이렇게 일 하면 사실상 실제 코드를 전부 테스트 해볼 수 있다. 테스트 코드도 깨끗하게 유지하기 당연히 테스트 코드도 실제 코드처럼 변수명, 함수의 기능 등을 신경써서 작성하여야 한다. 더러운 테스트 코드는 프로젝트의 사이즈가 커질 수록 병목의 원인이 되고 결국은 테스트 코드를 폐기하게 된다. 그러면 결함율이 높아지고 결국은 코드가 망가지기 시작하는 것이다. 따라서 테스트 코드도 막짜면 안된다. 코드에 유연성, ..
😃 책에서 기억하고 싶은 내용을 써보세요. 오류코드보다 예외처리를 try-catch 뒀다가 뭐하나 작성해라 먼저 강제로 예외를 일으키는 테스트 케이스를 작성 후 테스트를 통과하게 코드를 작성해봐라 null을 반환하지 마라 null을 반환하는 것은 호출자에게 에러를 떠넘기는 행위다 또한 메서드에서 null을 인수로 전달하지도 마라 오류처리를 프로그램 논리와 분리해서 독립적으로 구성한다면 더욱 안정적이고 깨끗한 코드를 짤 수 있다. 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 나는 예외처리를 잘 사용하고 있는가..? null을 반환하거나 인수로 전달하는 api를 짠적이 있던가,,? 생각해봐야겠다
😃 책에서 기억하고 싶은 내용을 써보세요. 자료 추상화 클래스에 getter, setter 를 추가한다고 추상화가 이루어 지는것은 아니다. 객체가 포함하는 자료를 표현할 가장 좋은 방법을 생각해 봐야한다. 객체와 자료구조 객체는 추상화 뒤로 자료름 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
😃 책에서 기억하고 싶은 내용을 써보세요. 신문기사처럼 작성하라 기사는 최상단에 기사를 몇마디로 요약하는 표제가 나온다. 독자는 표제를 보고 어떤 기사구나 유추하고, 읽을지 말지 생각한다. 코드도 똑같다 모듈 이름만 보고도 적절한 모듈인지 파악할 수 있어야 한다. 개념은 빈 행으로 분리하라 패키지 선언부, import 문, 각 함수 등의 사이에 빈 행을 넣어주자. 빈 행을 추가하는 것 만으로도 가독성이 좋아진다 세로 밀집도 줄 바꿈이 개념의 분리라면, 세로로 밀집시키는 것은 연관성을 의미한다. 서로 밀접한 코드 행은 세로로 가까이 놓아야 한다. 수직 거리 함수나 변수가 정의된 코드를 찾기 위해 미로를 찾아 헤맨적이 있는가, 서로 밀접한 개념은 세로로 가까이 둬야 한다. 변수 선언 변수는 사용하는 위치에 ..
4단원은 주석에 관한 내용을 이야기한다. 😃 책에서 기억하고 싶은 내용을 써보세요. 주석은 나쁜코드를 보완하지 못한다 -> 지저분한 모듈을 설명하기 위해 주석을 작성한다고 그 지저분한 모듈이 좋아지진 않는다. 난장판을 주석으로 설명하는 시간에 지저분한 난장판을 깨끗이 치우는데 시간을 보내라 코드로 의도를 표현하라! -> 코드만으로 의도를 설명하기 어려운 경우가 있어 주석으로 설명하는 경우가 있다. 하지만 이 주석의 설명을 바탕으로 함수를 구현하고 표현하는 방법도 있다. 물론 좋은 주석도 있다. -> 물론 불문율은 좋은 주석이란 주석을 다지 않아도 되는 방법을 찾은 주석이다. 그 외에는 법적인 주석, 추상화의 기본적인 정보를 설명해주는 주석, 저자의 의도를 명료하게 설명해주는 주석, 결과를 경고하는 주석,..
22.01.27 😃 책에서 기억하고 싶은 내용을 써보세요. 명령과 조회를 분리하라! - 함수는 수행 하거나 답하거나 둘 중 하나만 해야 한다. 예를 들어 객체 상태를 변경하거나 반환하거나 둘 중 하나 말이다. 오류 코드보다 예외를 사용하라! - 오류 코드를 보내지 말고 예외처리를 사용하자! - 대표적인 예외처리 try/catch ? 추하다. 정상동작과 오류 동작을 뒤섞여있다. 별도의 함수로 뽑아내는것이 낫다. - 오류 처리도 한 가지 작업에 속한다. 반복하지 마라! - 보고서에 같은 단어나 문장이 계속 반복되면 가독성이 떨어진다, 함수에도 반복되는 알고리즘이 사용된다면? 가독성이 떨어진다. 관계형 db의 정규형식이나 객체지향 프로그래밍, 구조적 프로그래밍 모두 중복을 제거하기 위한 목적으로 만들어졌다. ..