본문 바로가기

전체 글286

개인정보처리방침 ('https://jjester.tistory.com/'이하 'jjester')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2021년 12월 20부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://jjester.tistory.com/'이하 'jjester')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 .. 2021. 12. 20.
내 소스코드 한 줄은 얼마일까? 예전에 진행했던 외주개발로 계산해보자. 후배네 회사에 머물렀던 시절에 알게된 회사에서 진행한 기능 개발 건이다. 최초 commit에서 PR을 생성해봤다. 300줄…? 회사에서 최근 진행한 신용카드 결제 API 변경 이슈가 2500줄인 것에 비하면 아무것도 아니다. 그때 받았던 돈은 세전 400만원, 한 줄에 1.3만원 꼴이었다. 아무리 생각해봐도 너무 비싸다(나야 좋았지만). 그러면 그 대표는 왜 비싼 돈을 지불해야 했을까? 그 회사에 개발자가 없었기 때문이다. 대표가 데모를 진행하는데 자기 제품의 기능조차 파악하지 못하고 있었다. 내가 전달받은 필요한 기능 중에는 이미 소스코드에는 구현되어 있었던 경우도 있었다. 이런 정보의 비대칭에서 오는 비용이라고 생각한다. 최근에도 새로운 프로젝트를 진행하는지 나.. 2021. 12. 4.
WSL(Window Subsystem Linux) Root Directory WSL 환경 내에서 /mnt/c 경로는 Window의 C: 즉, C드라이브다. WSL의 root directory는 다음과 같다. C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\ nginx 폴더 경로를 예를 들면, WSL /etc/nginx Window C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\etc\nginx 2021. 11. 27.
30살 전에 1억 모으기 후기 사회생활 5년 내에 1억을 모아라.이 영상에서 강환국 형님이 하는 말이다. 나도 그렇게 생각했다. 최대한 시드머니를 빨리 모아야 한다고 생각했기 때문이다. 그래서 30살이 되기 전에 1억을 모으기로 결심했다.그렇다면 어떻게 모을 것인가?당시 연이율 5%, 6개월짜리 적금이 유행하고 있었다. 내가 받게 될 이자는 몇 퍼센트일까? 정답은 2%도 안 된다.결국 나에게 자신있는 것은 주식밖에 없었다. 대학생 때 처음 주식을 시작하고 대선 테마주도 해보고, 리딩방에도 들어가 보고, 친구의 말만 듣고 사서 때로는 익 절도하고 손절도 해보면서 감을 잡은 듯했다. 적어도 연 5%는 벌 수 있다는 자신이 있었다.2018년사회생활 1년 후 내 수익률은 15%를 기록했다. (지금 생각해보면 SPY나 살껄 후회되지만) 연 2.. 2021. 11. 20.
Github profile Wakatime 연동하기 Github profile에 Wakatime을 연동했다. https://wakatime.com/ VS, VSC, SSMS 등에서 Extensions을 설치하면 프로그래밍 시간을 측정해준다. github profile에 연동된 것을 볼 수 있다. 이번주는 이관업무 때문에 SQL이 압도적이다. 😂 연동하는 법은 아래 링크를 참고하면 된다. https://github.com/anuraghazra/github-readme-stats#wakatime-week-stats 꼭!! wakatime profile 설정에서 다음과 같이 공개 설정해두어야 github에서 볼 수 있다. 2021. 11. 18.
[Chrome] NET::ERR_CERT_DATE_INVALID 에러 언제부터인가 Let's Encryp의 SSL을 사용하는 사이트에서 NET::ERR_CERT_DATE_INVALID가 발생했다(고 한다). 크롬도 재설치해보고 이것저것을 시도해본 후 결국 드디어 해결방법을 찾았다. 1. win + r 로 certmgr.msc를 입력한다. 2. 아래에서 R3 인증서를 찾아서 제거한다. - 신뢰할 수 있는 루트 인증 기관 - 중간 인증 기관 - 타사 루트 인증 기관 3. 새로운 인증서를 다운 받는다(https://letsencrypt.org/certs/isrgrootx1.der). - 로컬 컴퓨터 - 모든 인증서를 다음 저장소에 저장 - 찾아보기 버튼을 눌러서 "신뢰할 수 있는 루트 인증 기관"에 설치 4. 재부팅한다. 2021. 11. 15.
[MS-SQL] JSON Parsing하기 DB에 저장된 JSON string을 다루는 밥법에 대한 Documentation -- JSON_VALUE를 사용하면 원하는 value를 가져올 수 있다. SELECT JSON_VALUE('{"columns": [{ "name": "1" },{ "name": "2" }]}', '$.columns[1].name'); -- JSON_MODIFY로 수정을 할 수 있다. -- append를 사용하면 원하는 value를 추가할 수도 있다!🤗 SELECT JSON_MODIFY('{"columns": [{ "name": "1" },{ "name": "2" }]}', 'append $.columns', JSON_QUERY('{"name": "3" }')); 다음과 같이 결과를 확인할 수 있다. PostgreSQL 14.. 2021. 11. 11.
[MS-SQL] 대소문자 구별해서 치환하기 REPLACE() 사용 시 Case-sensitive 하게 Replace 하기 위해서 COLLATE SQL_Latin1_General_CP1_CS_AS 를 사용하면 된다. SELECT REPLACE('NULL and null' COLLATE SQL_Latin1_General_CP1_CS_AS, 'NULL', ''); NULL 과 null 중에 대문자 NULL 만 replace 된 것을 확인할 수 있다. 2021. 11. 6.
David Fowler https://youtu.be/8akvvwQoGjs 시총 1위를 탈환한 MS의 엔지니어 David Fowler의 인터뷰 얼마 전 회사 시니어 개발자분이 이 사람을 팔로우하면 좋을 것 같다고 말해줬다. github에서 여러 .NET contributor를 팔로우하고 며칠을 지켜보고 있는데… 많이 보던 외국 블로거(Rick Strahl) 아재와도 활발하게 교류하고 있었다. 역시 잘 나가는 개발자들은 서로 커뮤니케이션도 잘하나보다. 아직 나의 Follower는 0이지만 나도 열심히 하다 보면 늘겠지…😂 2021. 11. 4.