Skip to content

TIL - 2025-01-24 #7

@Sewoni

Description

@Sewoni

Name: TIL
About: Today I Learned
Title: "TIL - 2025-01-24"
Labels: TIL- Documentation
Assignees: ''

TIL - 2025-01-24

오늘 배운 내용 (Today I Learned)

1. GitHub Actions를 이용한 자동화 워크플로 구현

  • 목적: GitHub Actions를 활용하여 정해진 스케줄에 따라 랜덤 숫자를 포함한 이슈를 생성하는 워크플로를 작성.
  • 구성 요소:
    1. 스케줄 트리거: cron을 사용해 매 정시(0 * * * *)에 워크플로가 실행되도록 설정.
    2. Node.js 환경 셋업: actions/setup-node@v4로 Node.js 20.x 버전 설정.
    3. 저장소 체크아웃: actions/checkout@v4로 저장소의 코드를 가져옴.
    4. JavaScript 코드 실행: node index.js 명령으로 이슈 생성 로직 실행.

2. JavaScript를 사용한 GitHub API 호출

  • 코드 내용:
    • GITHUB_TOKEN: GitHub Actions의 환경 변수를 통해 인증을 처리.
    • GitHub API 호출:
      • fetch 메서드를 사용해 이슈를 생성하기 위한 POST 요청 전송.
      • 랜덤 숫자를 생성해 이슈 제목(title)과 본문(body)에 삽입.
    • 성공/실패 여부 출력:
      • API 호출이 성공(response.ok)하면 "성공", 실패하면 "실패"를 출력.

3. var, let, const의 차이

  1. var

    • 특징:
      • 중복 선언 가능.
      • 선언 전에 접근하면 호이스팅으로 인해 undefined가 반환됨.
      • 함수 스코프를 따름.
    • 예제:
      console.log(foo); // undefined (호이스팅)
      var foo = "apple";
      console.log(foo); // "apple"
      var foo; // 중복 선언해도 무시됨
  2. let

    • 특징:
      • 중복 선언 불가.
      • 선언 전에 접근 시 ReferenceError 발생.
      • 블록 스코프를 따름.
    • 예제:
      let dev = 100;
      dev = 200; // 재할당 가능
      // let dev = 300; // SyntaxError: Identifier 'dev' has already been declared
  3. const

    • 특징:
      • 선언과 동시에 초기화가 필수.
      • 재할당 불가능.
      • 블록 스코프를 따름.
    • 예제:
      const feature = 3.14;
      // feature = 3; // TypeError: Assignment to constant variable
Image

느낀 점

참고 자료

  • VS Code 실습

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions