본문 바로가기

개발

(7)
매우 만족한 클린 아키텍처 스터디 후기 서론 1월부터 5월까지 동료분들과 함께 '클린 아키텍처' 책을 스터디했다. 총 34장인 책을 일주일에 2~3장 정도 읽어오고, 각자의 생각들을 공유해보는 식이었다. 처음에는 스터디에 대해 회의적인 생각을 가지고 있었다. 좀 귀찮을 것 같기도 했기 때문이다. 약간 딴 이야기를 하자면, 컴퓨터 관련 서적은 좋아하지 않는다. 특히 언어나 프로그램에 관련된 서적은 업데이트에 취약하기 때문이다. 집에 있는 'Node.js 교과서' 라는 책은 2018년 8월에 나온 책이다. 이 책은 Node.js 10을 다루고 있는데, 불과 4년만에 유용성이 많이 떨어졌다. (물론 개정판이 나온 것으로 알고 있다.) 그런 경향이 있었기 때문에 스터디를 고민 했었다. 딴 이야기가 길었다. 위에서 이야기한 회의적인 생각이나 고민은 과..
4/26 - 블록 경제화와 개발자 2018년, 미국-중국 무역 전쟁 미국은 중국에게 보복관세를 부여했다. 블록 경제화의 시작은 여기서부터 시작되었다고 생각한다. 미국의 관세부여는 주변국들로 하여금 경제적인 이득보다 안정성을 추구하게 하는 조치였다고 생각한다. 이 조치 이후에는, 미국과 긴밀한 연결에 있으면서 중국에 대한 노출이 많은 경우는 잠재적인 리스크를 안게 되었다. 함께하거나 싸우거나 러시아의 우크라이나 침공은 러시아와의 관계에 대해 회색지대를 없애버렸다. 이전까지는 정치와 경제를 별개로 두어, 러시아와 무역을 하는 것이 큰 문제가 되지 않았다. 하지만 적어도 전쟁이 계속되는 한 러시아와 함께하는 것은 어려운 일이 되었다. 회색지대는 러시아뿐만이 아니라, 중국도 있다. 중국과는 회색지대라 하기도 어려울 정도로 대부분의 국가가 경제적..
커밋을 잘게 쪼개자 - 커밋은 언제 하는 것이 가장 좋을까? "깃 커밋은 언제 하는 것이 가장 좋을까?" 들어가면서 커밋의 단위는 개발자들마다 생각이 각기 다를 것이다. 누구는 크게, 누구는 작게 말이다. 이 글에서는 커밋을 어느 단위로 할지에 대해 이야기한다. 다만 웹 프론트엔드 개발에 한정한다. 이는 웹 백엔드나 기타 다른 응용 프로그램 개발에서는 또 다른 원칙이 적용될 수도 있기 때문이다. 커밋의 기본 원칙 커밋의 기본 원칙은 '1 Action, 1 Commit'이라고 생각한다. 이는 추후에 혹시나 모를 revert 등을 통한 롤백을 쉽게 하기 위함이기도 하다. 하나의 액션, 하나의 커밋 하나의 액션은 커밋 메시지 한 줄이다. 예를 들면 "카드 컴포넌트 내부에 말 줄임표 처리", "font-size를 16px에서 14px로 조정", "Item이란 용어를 Ca..
API는 인터페이스다 - 프론트 개발과 API API는 인터페이스다. 왜냐하면 API는 Application Programming Interface이기 때문이다. API는 인터페이스입니다. 그것이 Interface이니깐. API가 인터페이스라는 것은 중요하다. 이 글은 프론트 개발에서 이러한 점을 활용하여 작업 대기 시간을 줄이는 것에 이야기 할 것이다. API라는 단어를 여러 의미로 사용하게 될 것 같다. 백엔드와 관련지어 API라는 단어가 나오는 것은, 주로 백엔드 구현체를 말하는 것이고, 그 외에는 대부분 API 명세를 말한다. 일반적으로 프론트 개발 과정에서 백엔드에 의해 작업이 lock되는 경우는 대부분 API의 구현을 기다리는데 쓰는 경우가 많다. 이런 루트를 타는 것이다. "백엔드 API가 나오지 않았다 → 프론트 모델을 짤 수가 없다 ..
이슈 리오픈은 개발자에게 있어서 부끄러운 일 (4/20) 이슈 리오픈은 개발자에게 있어서 부끄러운 일월요일에 대시보드를 확인하니 이슈 2건이 리오픈 되어있었다. 첫번째 버그가 리오픈 된 원인은 부끄러운 것이었다. 해당 페이지에는 팝업이 2가지 종류가 있었는데, A 팝업은 수정하고, B 팝업은 수정 하지 않은 것이었다. 두번째 버그는, XX하고 YY 한 것이 문제였는데, XX한 것만 고치고 YY한 것에 신경쓰지 않았기 때문이었다.훌륭한 개발자는 꼼꼼하게 이슈를 처리한다버그의 갯수보다, 이슈의 리오픈 횟수가 적은 개발자가 더 훌륭한 개발자라 생각한다. 보통 버그의 갯수가 적은 개발자가 리오픈 횟수도 적긴하다. 버그 리오픈이 발생하는 이유는 대부분 버그 처리 중 놓친 부분이 존재한 채 Resolved 했기 때문이다. 버그의 리오픈은 많은 비용을 초래한다. 간단히 생..
매력적인(흥미로운) 코드 (1) 매력적인 코드란? 주석을 보지 않더라도 읽기 쉬우면서, 읽으면서도 코드 내용에 흥미가 가도록 만들어져 있는 코드가 매력적인 코드라고 생각한다. 주석을 보지 않더라도 읽기 쉬운 코드가 중요하다는 것은 오랫동안 강조되어 왔다. 그러나 많은 사람들이 이번에 이야기하는 흥미로운 코드에 대해서는 잘 들어보지 않은 이야기일 수도 있다. 흥미로운 코드 흥미로운 코드는 어떤 것일까? 일단, 무슨 생각으로 이런 코드를 짰는지 궁금하게 만드는 코드는 제외한다. 반복적이지 않은 코드 어떤 파일이 엄청난 Getter와 Setter로 가득차 있었다고 한다고 먼저 가정을 하겠다. 이코드가 분명 지정된 양식에 맞춰서, 은닉화도 잘 되어있는 코드라면, 좋은 코드라고 할 수 있을 것이다. 그러나, 무의미한 getter와 setter로..
주식 시세 라이브러리 krx-stock-api 공개 KRX(한국거래소)의 주식 시세 API를 사용하기 쉽게 라이브러리로 만들었습니다. ※ 라이브러리 사용에 따른 책임은 사용자 본인에게 있습니다. https://www.npmjs.com/package/krx-stock-api