전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
2021년 하반기 총평 2021년 초 주식을 시작하고 이제 1년 정도 지났다. 상반기 회고록 작성 이후로 주식 시장에도 많은 일이 있었다. 우선 국내 장의 경우는 코스피가 올해 7월 1일 기준 3297 포인트에서 12월 27일 현재 2999 포인트로 9% 정도 떨어졌다. 한국은행은 11월 기준금리를 0.75%에서 1.00%로 올린다고 발표를 했다. 미국 장의 경우는 조금 다른데 나스닥이 7월 1일 기준 14522 포인트에서 12월 27일 기준 15653 포인트로 8% 정도 상승했다. 미 연준은 11월 테이퍼링(자산 축소 매입)을 발표했으며, 처음에 8개월 정도 채권 매입 축소를 진행한다고 하였으나 12월에는 이를 내년 3월까지 조기종료하는 것으로 수정했다. 한국과 미국 모두 변이 바이러스 확산 및 오미크..
현업에서 개발을 하면서 테스트 코드를 짤 때 여러가지 도구들을 리서치 하다가 테스팅 라이브러리에 대해서 알게 되었고, 개인적으로 공부도 필요하고 정리할 겸 포스팅을 하게 되었습니다. 기본적인 내용은 모두 공식 문서에 있으므로 더 자세한 내용을 알기 원하시면 참고해 주시면 감사하겠습니다. 시작하며 @testing-library는 UI 컴포넌트를 사용자 친화적으로 테스트할 수 있게 도와주는 패키지 묶음이다. 우리는 테스트의 목적 중 하나로 구현의 세부사항들을 포함시키지 않는 것을 가지고 있다. 그래서 리팩터링 시에 테스트를 깨트리지 않아야 하고 팀의 속도를 항상 유지시켜야 한다. 코어 라이브러리인 DOM Testing Library는 웹 페이지를 테스트 할 수 있는 경량 솔루션으로 쿼리와 (JSDOM/Jes..
깃에서 다른 사람의 코드에 내 코드를 통합할 때(integration) 쓰는 대표적인 두 가지 방법을 비교해 보고 언제 어떤 방식을 써야 하는지 알아 보려고 한다. 머지(Merge) 머지(병합, merge) 는 두 개 이상의 개발 히스토리를 하나로 합치는 작업을 의미한다. merge를 하게 되면 각각의 개발자가 작업한 히스토리가 모두 보존(preserve)된다는 특징이 있다. 예제를 한 번 살펴보자. 두 명의 개발자 Ada와 Satoshi가 각각 feature-1, feature-2를 작업한다. Ada는 작업을 완료해서 master 브랜치에 머지를 한 상태고, 이후 Satoshi가 master 브랜치는 feature-2 브랜치에 머지를 한다고 가정해 보자. 결과는 다음과 같다. Satoshi가 작업한 C..
올해 초 주식투자를 시작하면서 구입한 책이다. 이전부터 뉴욕주민님 유튜브 채널을 통해 많은 인사이트를 얻었던 것 같다. 후원하는 마음으로 이 책을 샀다. 이번 포스팅에서는 이 책을 읽고 정리한 내용을 적어 보려고 한다. CH01 비무장 상태로 미국 주식 시장에 뛰어들지 마라 바이사이드와 셀사이드 그리고 SEC 미국 주식시장의 3개의 시장 플레이어 미국증권거래위원회(SEC) : 규제 당국, 관리 감독 및 규제를 담당 셀사이드(Sell-side) : 유가 증권 유통은 특정 수준의 신용도와 자격을 갖춘 주체만 할 수 있는데 그러한 조건을 갖추고 유통과정을 실행하는 주체 증권사, 투자은행(IB) 등 바이사이드(Buy-side) : 투자 대상을 분석, 선별해 자산을 투자하거나 관리하는 운용 주체 헤지펀드, 사모펀..
이번 포스팅에서는 테스트에 대한 이야기를 해보려고 한다. 첫 번째 주제는 단위 테스트이다. Jest 설치하기 유닛 테스트를 할 수 있는 라이브러리는 여러 가지가 있지만, 나는 jest가 지금 시점에서는 가장 좋은 옵션이라고 생각을 한다. 자바스크립트를 사용하는 프론트엔드, 백엔드 모두 활발하게 쓰이고 있으며, test runner와 test matcher, test mock 등을 별도의 여러 개의 라이브러리를 설치해 주지 않고 이 jest 프레임워크 안에서 한꺼번에 할 수 있기 때문이다. 그러면 jest 를 프로젝트에 설치하는 과정부터 하나씩 살펴보도록 하자. 먼저 jest 라이브러리를 설치한다. yarn add --dev jest 설치 후에는 package.json 파일에 다음과 같이 스크립트를 추가해..
오늘은 오랜만에 제품 리뷰 포스팅을 하려 한다. 내가 약 2달 전쯤에 구매했던 뱅앤올룹슨 베오사운드 A1 2세대 블루투스 스피커이다. 참고로 이 포스팅은 어떠한 대가도 받지 않고 작성하는 솔직. 담백. 리뷰임을 먼저 밝힌다. 나는 이전에 JBL의 Pulse 3 스피커를 사용했다. 그 스피커도 나에겐 충분히 좋았다. 개인적인 사정으로 그 스피커를 다른 사람에게 넘겨주게 된 이후, 한동안은 블루투스 스피커 없이 살았다. 예를 들면 맥북 내장 스피커, 아이패드 스피커, 갤럭시 폰 스피커 등등... 나쁘진 않았지만 뭔가 아쉬움이 있었고, 그래서 여러가지 블루투스 스피커를 알아보기 시작했다. 10만원 이하의 스피커부터 100만원 이상까지 정~말 다양한 종류의 스피커가 있었다. 개인적으로 한 번도 안 써본 브랜드의..
아이템 1. 타입스크립트와 자바스크립트 관계 이해하기 타입스크립트는 문법적으로 자바스크립트의 상위집합. → 자바스크립트 프로그램에 문법 오류가 없다면, 유효한 타입스크립트 프로그램이라고 할 수 있다. → 자바스크립트 프로그램에 어떤 이슈가 존재한다면 문법 오류가 아니라도 타입 체커에게 지적당할 가능성이 높다. → 문법의 유효성과 동작의 이슈는 독립적인 문제 타입 시스템의 목표 중 하나는 런타임에 오류를 발생시킬 코드를 미리 찾아내는 것이다. → 그러나 타입 체커가 모든 오류를 찾아내지는 않음 → 타입 체커를 통과하면서 런타임 오류를 발생시키는 코드는 충분히 존재. 타입스크립트 타입 시스템은 자바스크립트의 런타임 동작을 '모델링' 한다. const x = 2 + '3'; // 정상, string const..
4. 영지식 증명에 대해 어린아이에게 설명해 준다고 생각하고 본인만의 언어로 설명해주세요. 영지식 증명은 말 그대로 지식이 없이 해당 내용을 증명하는 것이다. 비유를 통해 설명을 해 보도록 한다. 증명자 재석은 어떤 동굴 안에 비밀의 문을 열 수 있는 열쇠를 가지고 있다. 동굴은 다음과 같은 고리 모양으로 되어 있으며 가운데 비밀의 문이 있다. 입구에서는 비밀의 문이 보이지 않는다. 검증자 명수는 키를 가지고 있을 수도 있고, 아닐 수도 있다. 명수가 키를 가지고 있는지 여부를 재석은 알아내야 하지만 명수는 그 사실을 알려주지 않는다. 이러한 상황 속에서 명수가 아무런 정보도 주지 않고 키를 가지고 있는지 재석이 증명하려면 다음과 같이 해볼 수가 있다. 먼저 명수가 A 또는 B 문으로 들어간다. 재석은 ..
DevOwen
오웬의 개발 이야기