전체 글
-
Exact Optional Property Types프로그래밍/typescript 2022. 4. 20. 20:52
초기 TypeScript에서 optional property에 undefined 타입이 자동으로 지정이 되었습니다. 이러한 방식은 JavaScript 런타임 시, 값이 objct에 property가 실제로 존재하는지 아닌지 여부에 따라 error가 발생할 수 있습니다. interface Person { name: string; age?: number; } const p: Person = { name: "Daniel", age: undefined, // This is okay by default. }; TypeScript 4.4부터 새로운 플래그인 exactOptionalPropertyTypes 는 optional property type을 쓰여있는 그대로 사용합니다. // With 'exactOption..
-
VSC debugg 셋팅프로그래밍/etc 2022. 4. 14. 15:43
(서론) console.log에서 벗어나고자 미루고 미루던 vsc debugging 셋팅을 이제서야 합니다. Even if you are developing only a small application or have little experience with TypeScript altogether, debugging with VS Code will be inevitable. Not to mention larger projects (본론) 1. launch.json 파일 만들기 Ctrl + Shift + D를 누릅니다. launch.json이 없으면 아래 사진처럼, launch.json을 생성할 수 있습니다. launch.json 설정하기 //launch.json { // Use IntelliSense to..
-
Sentry on premise 적용하기프로그래밍/opensource 2022. 4. 13. 11:22
0. 시작하기 현재 개발하고, 사용중인 앱의 성능을 측정할 수 있는 기능이 필요하였습니다. 여러 솔루션 서비스와 기능들을 검색 중, opensource인 sentry on premis를 적용 해보았습니다. 총 3단계로 나누어서 profile을 합니다. 서버 총응답시간 컨트롤러 처리 시간 DB 쿼리시간 1. ec2 환경 설치하기 ec2환경에서 docker로 sentry를 실행시킵니다. ㄱ. Sentry 설치 시 요구사항 (2022-04-10일 기준) Docker 19.03.6+ Compose 1.28.0+ 4 CPU Cores 8 GB RAM 20 GB Free Disk Space ㄴ. ec2 linux sentry 실행 //yum 업데이트 sudo yum update //도커 설치 sudo yum ins..
-
var, let, const프로그래밍/Js 2022. 3. 23. 14:58
서론) 현재 JS로 진행 중인 ‘우주두잇’ 프로젝트에 여러 명의 개발자가 참여하고 있습니다. 각자의 코드 스타일이 있기 때문에 코드가 난잡해졌습니다. 그 중에서도 const, let을 구분하지 않고 사용하는 경향이 있었습니다. 사실, 저는 var의 사용을 지양하고 let과 const를 적극 사용하고 있었는데, const와 let을 구분 해야 하는 정확한 이유를 몰랐습니다. (단순히 상수 선언에만 const로 선언을 해야한다라고 생각했었음). 그래서 이번 기회에 위 세 키워드의 차이점을 공부하고, 정리하는 시간을 갖습니다. 최종적으로 const와 let 중 언제, 무엇을 사용해야 하는 지를 알 수 있을 것입니다. 본론) var var youCanChangeMe = 'flexible'; if(true) va..
-
Git Flow vs Github Flow프로그래밍/etc 2022. 3. 22. 18:28
회사 내에서 진행 중인 프로젝트는 Git을 통해 소스관리가 이루어 집니다. 특별히 이번에 Git을 통해 프로젝트를 관리하는 방법에 대해 공부를 하는 시간을 가졌습니다. 그 중 Git Flow와 Github Flow에 대해서 알아봅시다. 1. Git Flow Git Flow는 소프트웨어 개발의 각 단계를 쉽게 관리하기 위해 여러가지 브랜치를 갖습니다. ( 만들어진 기능을 쉽게 추적. 릴리즈 단계가 있어 프로덕션 문제를 신속하게 수정하는 데 도움. 빠르게 버그를 고치는 데 도움.) 이 방법은 ‘release’라는 단계가 있는 소프트웨어를 개발할 때 효율적입니다. 만약, 지속적인 배포 환경이라면 맞지 않는 방법입니다. 보통 명확한 버전이 있는 소프트웨어를 구축할 때, 사용되어지는 방법입니다. 주된 브랜치는 다..
-
업무를 처리하는 방법기타/왕초보에서초보로 2022. 2. 8. 19:02
1. 맡겨진 업무를 정확히 파악 하자. => 정확히 파악할 때 까지 계속 질문하는 것이 중요.(질문하는 것을 두려워하지 말자) 2. 맡겨진 업무가 완료 될 대략적인 시간을 알려 주자. *가장 중요!!!!! 러프하게 시간을 추산하자. 정확하지 않아도 된다. 시간 오차범위를 계속 좁혀나가자. 3. 업무가 완료되면 무조건 문서를 작성하자. (간단한 업무라도...) *문서를 작성하는 방법: 보는 사람이 바로 알 수 있도록, 결론(요약)을 보여주고, 상세 내용을 보여주자
-
쉽게 배우는 운영체제책 2022. 1. 17. 11:12
좋은 개발자가 되기 위해서, 대체하기 어려운 개발자가 되기 위해서, 기본이 정말 중요하다.(단순 라이브러리를 사용해서 코딩하는 개발자가 되기 싫다) 좋은 개발자가 되기 위해서 기본을 갖추고자 내가 선택한 방법은 책을 통해 지식을 습득하는 것이다. 어찌 어찌 책은 다 읽었지만, 모르는 내용이 수두룩...... 그래도 컴퓨터과 어떻게 작동하는 지 조금은 이해한 듯 싶다. (그냥 내 느낌....) 책을 읽으면서 읽은 내용을 요약하고 정리할려고 하였는데, 게으른 나의 천성을 이기지 못하고, 요약하지 못할 때가 너무 많았다. 이 점을 반성한다. 읽은 내용을 밖으로 끄집어 내자. 조금씩 요약하고 정리하자. 어쨋든, 끝까지 책을 읽을 수 있어서 감사 1. 운영체제란? 운영체제가 무엇인가요? 컴퓨터의 자원을 관리하는 ..
-