ziglog

    Search by

    7월 4주차 기록

    July 29, 2023 • ☕️ 6 min read

    더위와 열이 폭발해 버린날 😡


    배워가기

    git 명령어 이모저모

    • git gc
      • 버전관리를 하면서 생긴 불필요한 데이터는 저장소의 용량을 차지하고, 성능 저하를 유발할 수 있다.
      • git gc로 용량을 절약하고 성능을 개선할 수 있다. 주기적으로 실행하면 좋다고 한다.
    • git clean
      • 추적되지 않는 파일을 삭제한다.
    • git grep [검색어]
      • 저장소 전체에서 해당 검색어와 일치하는 모든 라인을 보여줌
    • git notes add -m "메모내용" <커밋 해시>
      • 커밋에 대해 메모를 남길 수 있다.
    • git notes show <커밋 해시>
      • 노트를 볼 수 있다.
    • git worktree
      • 깃 저장소에서 동일한 브랜치나 커밋을 여러 개의 작업 디렉토리로 복사하고 동시에 여러작업을 가능하게 해주는 기능
      • hotfix를 위한 브랜치 이동에서 좋다.
      • git worktree add <디렉토리 경로> <브랜치 또는 커밋 해시> : 새 워크트리 생성, 해당 경로에 작업 디렉토리가 복사된다.
      • git worktree list : 어떤 워크트리가 있는지 볼 수 있다.

    pnpm update 명령어 이모저모

    • pnpm up (pnpm upgrade)
      • package.json에 명시된 버전을 준수하면서 모든 디펜던시를 업데이트한다.
    • pnpm up --latest
      • package.json에 명시된 버전을 무시하고 모든 디펜던시를 업데이트한다.
    • pnpm up woowa@2
      • woowa 패키지의 2버전 중 가장 최신 버전으로 디펜던시를 업데이트한다.
    • pnpm up "woowa/\*"
      • woowa/ 스코프 하위에 있는 모든 디펜던시를 업데이트한다.

    nest.js 요청 라이프사이클

    1. request
    2. middleware
    3. guard
    4. interceptor(pre-controller)
    5. pipe
    6. route handler(controller)
    7. interceptor(post-request)
    8. exception filter
    9. response

    뭐가 엄청 많기도 하다!

    Ref Request lifecycle

    Apps Script 웹앱

    • 스크립트의 사용자 인터페이스를 빌드하는 경우 스크립트를 웹 앱으로 게시할 수 있다.
    • 스크립트에 doGet(e) 또는 doPost(e) 함수가 포함되어 있어야 한다.
    • 이 함수는 HTML 서비스 [HtmlOutput](https://developers.google.com/apps-script/reference/html/html-output?hl=ko) 객체 또는 콘텐츠 서비스 [TextOutput](https://developers.google.com/apps-script/reference/content/text-output?hl=ko) 객체를 반환한다.
    • https://developers.google.com/apps-script/guides/web?hl=ko

    쿠콘(coocon)

    • 인터넷 뱅킹이나 관공서 같은 사이트를 사용할 때 컴퓨터에 추가적으로 설치되는 프로그램
    • 쿠콘 API를 사용하여 개인정보를 확인할 수 있다(ex.외국인등록증)

    코쿤이랑 엄청 헷갈린다.

    eslintrc의 plugin vs extends

    • plugin
      • eslint 기본 제공 규칙(rule) 이외에 추가 규칙(rule)을 사용할 수 있도록 제공
      • 프로젝트에 해당 플러그인을 devDependency로 설치
        • 일반적으로 eslint-plugin-xxx 의 이름
      • plugin은 새로운 rule을 ‘설정 가능한 상태’로 만들어주기만 할 뿐, 실제 해당 rule을 적용하는 것은 extendsrules 옵션을 통해서 가능하다
    • extends
      • google, facebook, airbnb 등의 기업들이 공개해놓은 설정을 그대로 가져와 사용할 수 있음
        • ex) eslint-config-airbnb{ extends: ['airbnb'] }
      • 패키지명이 eslint-config-로 시작하는 경우 위와 같이 prefix를 생략해도 된다

    Ref https://www.daleseo.com/eslint-config/

    eslint-import-resolver-typescript

    eslint-plugin-import의 typescript 지원용 패키지로, tsconfig.json에 정의된 paths를 사용한다. 이 옵션으로 프로젝트의 절대경로를 정의할 수 있다.

    eslintrc의 settings 옵션에 다음과 같이 typescript 설정을 추가할 수 있다.

    Copy
    settings: {
      'import/resolver': {
        typescript: {
          project: [
            './apps/**/tsconfig.app.json',
            './libs/**/tsconfig.lib.json',
            'tsconfig.json',
          ],
        },
      },
    },

    Ref https://www.npmjs.com/package/eslint-import-resolver-typescript

    tsconfig.json의 isolatedModules: true 옵션

    프로젝트 내에 모든 각각의 소스코드 파일을 모듈로 만든다. 즉 타입 체크를 하지 않고 각 파일을 개별 모듈로 컴파일한다.

    🤔 jest에서 isolatedModules를 사용하면 테스트 실행이 왜 빨라질까?

    • 빠른 개발과 테스트: 개별적인 파일 컴파일은 변경 사항을 빠르게 반영할 수 있으므로 개발 및 테스트 단계에서 시간을 절약할 수 있습니다.
    • 병렬 처리 각 파일이 독립적으로 처리되므로, 병렬화가 가능해집니다. 대규모 프로젝트에서는 이를 통해 컴파일 시간을 단축할 수 있습니다.

    Ref


    이것저것

    • next build 명령어 실행 시 CSS는 minify 되버린다. 그래서 빈 애니메이션을 작성하면 코드가 아예 사라져버린다. Ref
    • 역참조(dereference)
      • 프로그래밍에서 데이터가 저장된 주소로 가서, 그 주소에 해당하는 데이터 값에 접근하는 것을 말한다.
      • 포인터(pointer)는 데이터가 저장된 주소값을 가리키지만, 역참조는 그 반대로 주소를 통해 데이터에 접근한다.

    기타공유

    Dan의 페이스북 퇴사

    퇴사한다고 이슈까지 되고 피곤한 삶이겠다.

    Ref https://twitter.com/dan_abramov/status/1682029195843739649

    arc 브라우저 1.0

    브라우저치고 이쁘당.

    근데 이뻐서 왠지 기능은 다른 브라우저보다 별로일 것 같은 느낌이랄까?

    게다가 유료라네 💸

    Ref https://arc.net/

    애플 GPT, AJAX

    이름을 왜 또 헷갈리게 지어놨는지~

    Siri가 더 똑똑해질까?

    요즘 누가 Siri 쓰려는지 모르겠다.

    Ref https://www.aitimes.com/news/articleView.html?idxno=152529

    애플 비전 프로 개발자 키트

    비전 프로를 개발용으로 대여해준다고 한다.

    비전 프로 나왔을 때 ‘적당히 좀…’ 이라고 생각했지만 궁금하긴 하네

    Ref https://developer.apple.com/visionos/developer-kit/

    RFC 3339 vs ISO 8601

    날짜를 표기하는 두 가지 방식을 표기해놨다.

    정말 개발자들은 별 걸 다 만든다.

    Ref https://ijmacd.github.io/rfc3339-iso8601/


    마무리

    정말 올해 여름이 유난히 덥긴 한게 맞겠지 🥵

    지쳐 쓰러질 것 같다. 너무 덥고 지치니까 예민해지고 화도 짜증도 많아졌다.

    이제 한국 여름 못 견디겠다. 빠른 시일 내 캐나다 이민 가야지


    Relative Posts:

    8월 1주차 기록

    August 5, 2023

    7월 3주차 기록

    July 21, 2023

    zigsong

    지그의 개발 블로그

    RotateLinkImg-iconRotateLinkImg-iconRotateLinkImg-icon