본문 바로가기

분류 전체보기

(175)
매우 만족한 클린 아키텍처 스터디 후기 서론 1월부터 5월까지 동료분들과 함께 '클린 아키텍처' 책을 스터디했다. 총 34장인 책을 일주일에 2~3장 정도 읽어오고, 각자의 생각들을 공유해보는 식이었다. 처음에는 스터디에 대해 회의적인 생각을 가지고 있었다. 좀 귀찮을 것 같기도 했기 때문이다. 약간 딴 이야기를 하자면, 컴퓨터 관련 서적은 좋아하지 않는다. 특히 언어나 프로그램에 관련된 서적은 업데이트에 취약하기 때문이다. 집에 있는 'Node.js 교과서' 라는 책은 2018년 8월에 나온 책이다. 이 책은 Node.js 10을 다루고 있는데, 불과 4년만에 유용성이 많이 떨어졌다. (물론 개정판이 나온 것으로 알고 있다.) 그런 경향이 있었기 때문에 스터디를 고민 했었다. 딴 이야기가 길었다. 위에서 이야기한 회의적인 생각이나 고민은 과..
6/6 - 편의점에서 명품을 사는 것이 과연 득일까? (뉴스 다시보기) 참고기사는 2022.06.06 17:10:31에 작성된 매일 경제의 1층에선 게임하고 2층에선 명품 사고…"여기 편의점 맞아?"이다. 물론 위 검은사막의 예시는 실제로 명품을 들고 나올 수 있는 것이 아니라, 구경만 가능하고, 사는 것은 앱으로 하는 것이긴 하기 때문에 조금 다른 이야기이긴 하다. 편의점 들렸다가 사가지고 오는 명품백의 가치는 그렇게까지 높을 것이라고는 생각되지 않는다. 오히려 브랜드 가치를 하락시키기 때문에, 유명한 명품은 입점하지 않거나 잠깐하더라도 그만둘 것이라 생각한다. 명품에 있어서 당장의 매출을 위해 브랜드 가치를 깎는 것은 장기적으로 좋지 않은 행동이기 때문이다. 결론적으로 명품의 판매처 확대는 브랜드와 구매자 모두에게 손실로 다가올 것이라 생각하기에 그리 오래가지 못할 방식..
1분만에 하는 터미널 실행 시 날씨 정보 보기 설정(wttr.in) 리눅스에서 백그라운드(&)를 Done 없이 깔끔하게 실행하기에서 wttr.in의 날씨정보를 터미널을 열때마다 뿌리고 있다고 했는데, 오늘은 그 방법에 대해 소개하고자 한다. 먼저, wttr.in은 wego의 래핑으로 시작한 프로젝트로 콘솔 지향 기상 예보 서비스다. 이미지 없이 Text만으로도 멋진 날씨 정보를 볼 수 있는 서비스다. 자세한 정보는 https://github.com/chubin/wttr.in를 참조하면 된다. 설정 방법 여기서는 curl을 사용하지만, 다른 http 클라이언트를 사용해도 무방하다. 1. .bashrc나 .zshrc 파일을 연다. (사용하는 쉘에 맞게) 2. 빈 줄에 다음 명령어을 추가한다. (도시를 생략하면 현 위치 기반으로 동작) `(curl -s "ko.wttr.in/..
리눅스에서 백그라운드(&)를 Done 없이 깔끔하게 실행하기 리눅스에서 '&' 명령어를 사용하여 작업을 백그라운드에서 시작하면, 아래와 같이 PID와 작업이 완료되었을 때의 + Done 메시지가 뿌려진다. 하지만 필요없는 경우도 있다. WSL2를 사용하면서, curl로 wttr.in의 날씨정보를 터미널에 뿌리고 있는데, 이를 백그라운드로 실행하자, 날씨정보 앞뒤로 저 메시지가 뜨게 됐었다. 처음에는 output을 /dev/null로 보내는 글만 있었는데, 당연하지만 날씨 정보만 보고 싶은거지, 모든 output을 버리고 싶었던건 아니었다. 서론이 길었다. 답은 명령을 괄호로 감싸는 것이다. 괄호로 감싸게 되면 subshell에서 실행되기 때문에 위 두 메시지가 보이지 않는다고 한다. 예) (curl wttr.in &) 참고자료 : https://stackoverf..
4/26 - 블록 경제화와 개발자 2018년, 미국-중국 무역 전쟁 미국은 중국에게 보복관세를 부여했다. 블록 경제화의 시작은 여기서부터 시작되었다고 생각한다. 미국의 관세부여는 주변국들로 하여금 경제적인 이득보다 안정성을 추구하게 하는 조치였다고 생각한다. 이 조치 이후에는, 미국과 긴밀한 연결에 있으면서 중국에 대한 노출이 많은 경우는 잠재적인 리스크를 안게 되었다. 함께하거나 싸우거나 러시아의 우크라이나 침공은 러시아와의 관계에 대해 회색지대를 없애버렸다. 이전까지는 정치와 경제를 별개로 두어, 러시아와 무역을 하는 것이 큰 문제가 되지 않았다. 하지만 적어도 전쟁이 계속되는 한 러시아와 함께하는 것은 어려운 일이 되었다. 회색지대는 러시아뿐만이 아니라, 중국도 있다. 중국과는 회색지대라 하기도 어려울 정도로 대부분의 국가가 경제적..
당신이 몰랐던 마진 상쇄(겹침)현상의 이유 들어가며 종종 블록 요소나 빈 요소의 마진이 겹쳐진 것처럼 사라지는 경우가 생긴다. 이는 마진 상쇄(margin collapsing)이라 부르는 현상으로, 가장 큰 한 가지 마진 값으로 합쳐지는 현상이다. W3C의 CSS 스펙를 찾아봐도 왜 이런 현상을 규정했는지에 대해 명확한 이유가 나타나지는 않는다. 그리고 대부분의 한국어 문서에서 마진 상쇄가 어떤 경우에 일어나는지와 해결책만이 적혀 있기에 "왜 마진 상쇄를 규정했는지"에 대한 궁금증을 해소하기에는 부족했다. 그러던 중 stackoverflow에서 이를 잘 설명 해준 멋진 글을 하나 발견했다. HTML과 CSS HTML은 Hyper Text Markup Language다. 그리고 기본적으로 HTML을 통해 만드는 것은 '문서'다. 지금은 게임을 비롯..
자바스크립트로 만 나이, 연 나이, 세는 나이 한번에 구하기 연단위로 나이를 세는 경우, 만 나이, 연 나이, 세는 나이 이렇게 3가지가 나올 수가 있다. 각각 나이의 사용은 다음과 같다. 만 나이 : 법적 나이로, 법률 및 공문서 등에는 만 나이를 사용해야 한다. 연 나이 : 연도를 제외한 생일을 모를 때 사용할 수 있다. 또한 청소년 보호법 등에서, "n세가 되는 해의 1월 1일을 맞이한 사람"처럼 우회적으로 사용하기도 한다. 세는 나이 : 주로 일상 생활에서 사용하는 나이로, 연 나이에 한 살을 더한 값인 '햇수'다. 다음 함수는 2022년 4월 13일 기준으로 1970년 12월 31일생의 나이를 {age: 51, yearAge: 52, countingAge: 53}으로 반환한다. 아래 코드를 사용하면 나이 계산을 만나이, 연나이, 세는나이를 한번에 할 수 ..
모바일 디바이스를 위한 웹 최적화가 필요한 이유 원래는 애플의 아이폰과, 최신 플래그십 안드로이드 스마트폰의 성능은 급속도록 증가하고 있다. 이에 맞춰 모바일 디바이스를 위한 웹 성능 최적화 전략이 수정될 가능성이 있다. 느린 핸드폰을 지원하기 위한 자바스크립트 성능 최적화보단, 120Hz 스크린을 위한 애니메이션 지원이 더 중요해질 수 있다. 물론 모바일 디바이스는 배터리라는 한계점을 안고 있기 때문에, 여전히 자바스크립트 성능 최적화는 중요하다. ―라고 생각했었다. 현실은 달랐다. 이 글에 따르면 모바일 성능 격차는 매우 크다. 특히 안드로이드와 iOS의 성능 격차는 크며, 플래그십 안드로이드와 중저가 안드로이드 스마트폰의 성능 격차는 충격적으로 크다. 원래 위와 같이 생각했던 이유는 구글에서는 평균적인 모바일 기기를(라이트하우스등) 2016년에 ..