728x90
반응형

Typescript 세팅하기


 

2023.12.06에 작성됨 (node: v18.17.0, npm: 10.2.1)

시작하기

# 글로벌로 설치할 경우
npm i -g typescript   
tsc --init            # tsconfig.json 생성됨

# 개별 프로젝트에 설치 할 경우
npm i -D typescript   
npx tsc --init        # 프로젝트에 설치된 경우 앞에 npx를 붙여줘야한다.

NOTE: 많은 사람들이 ts-node를 같이 같이 설치 해주는 것 같은데 Typesciprt도 VS Code에서 디버깅 모드를 바로 사용할 수 있기 때문에 굳이 필요한지는 잘 모르겠다.

// tsconfig.json
{
    "compilerOptions": {
        // 일반적으로 사용하는 option
        "target": "ES2016",
        "module": "commonjs",
        "rootDir": "./src",
        "outDir": "./dist",
        "removeComments": true,
        "noEmitOnError": true,
        // 유용한 Type Checking Options
        "noUnusedParameters": true,
        "noImplicitReturns": true,
        "noUnusedLocals": true,
        // 디버깅 사용할 때
        "sourceMap": true,
    }
}

NOTE: “tsconfig.json” 이 생성되면 뒤에 파일이름을 붙이지 않아도 tsc만 입력해서 컴파일을 실행시킬 수 있음.

VS Code에서 디버깅하기

  1. tsconfig.json
    • compile 할 때 [filename].js.map 이라는 파일이 생성되고 디버거가 읽는 파일이라고 생각하면됨.
  2. “sourceMap”: true
  3. create launch.json
    • “preLaunchTask”: “tsc: build - typeconfig.json” 추가
    // launch.json
    // 기본적으로 생성되는 파일 안에 
    // “preLaunchTask”: “tsc: build - typeconfig.json” 추가
    {
      // Use IntelliSense to learn about possible attributes.
      // Hover to view descriptions of existing attributes.
      // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "type": "node",
          "request": "launch",
          "name": "Launch Program",
          "skipFiles": [
            "<node_internals>/**"
          ],
          "program": "${file}",
          "preLaunchTask": "tsc: build - tsconfig.json",
          "outFiles": [
            "${workspaceFolder}/**/*.js"
          ]
        }
      ]
    }

Typescript CLI (Command Line Interface)

tsc --build (혹은 tsc -b)를 실행하면 다음의 작업을 합니다:

  • 참조된 모든 프로젝트를 찾습니다
  • 최신 상태인지 감지합니다
  • 올바른 순서로 최신 상태가 아닌 프로젝트를 빌드 합니다

만약 config 파일 이름이 tsconfig.json이라면 이름을 지정하지 않고 tsc --project(혹은 tsc -p)를 사용할 수 있다.

일반적으로는 package.json 파일에 스크립트로 저장하고 사용한다.

//package.json
"scripts": {
    "build": "tsc -p"
}
// terminal> npm run build

Common Errors

  1. Cannot find module 'xxx' or its corresponding type declarations.ts(2307)
import path from "path"; 
// Cannot find module 'path' or its corresponding type declarations.ts(2307)

NOTE: Typescript는 Typescript가 아닌 기본 Node 패키지를 바로 사용할 수 없다. (타입을 추론할 수 없기 때문에). 아래와 같이 Typescript 전용 패키지를 설치 해주어야 한다.

# npm i @types/<패키지>
npm i -D @types/node
# 일반적으로 -D 옵션을 붙여 Development Dependency 로 설치해준다.

참고:

https://youtu.be/d56mG7DezGs?si=UvvP1NosR6QV23mZ

 

728x90
반응형
728x90
반응형

 

 

소금빵 팡 메종 긴자점

 

 

 

위치: 일본 〒104-0061 Tokyo, Chuo City, Ginza, 2 Chome−14−5 Twg銀座イースト 1階

영업시간: 8:30 - 19:00

화요일 휴무

 


 

소금빵 최초 개발 원조 집이 도쿄에 있다고 해서 다녀왔다.

여러 블로그에서 대기 시간이 길다는 글을 많이 봤었어서

일단 가긴 가보지만

대기가 너무 길면 그냥 포기하자는 결심을 하고 갔던 곳이다.

(19개월 아들래미 데리고 빵사자고 긴 대기를 할 사진이 없었으므로..)

 

 

 

줄이 있긴 했는데

길지 않았다!!

기다릴만 했다.

또 효자 아들래미는 때 마침 유모차에서 잠들었어서

이런 행운이 어딧나 싶었다.

 

가게 안이 좁아서 대부분의 인원이 문 밖에서 기다렸다.

나도 문 밖에서 기다리면서 가게 안으로 들어가길 기다렸다.

 

 

방금 나온 소금빵들이 선반을 채웠다.

냄새가 너무 향긋했다.

 

 

또 한쪽에서는 계속 빵을 만드시는 것 같았다.

 

 

기본도 있고 명란 맛도 있고 감자맛도 있고

샌드위치 같은 애들도 있었다.

 

 

나는 기본 맛으로 4개 샀다.

 

 

따끈따끈 해서 더 맛있었다.

 

 

일단 가격이 너무 최고다.

110엔이라니..?

우리나라는 빵이 왜이렇게 비싼지...

 

더 많이 샀으면 좋았게찌만,

욕심부리지 않았었다.

근데 딱 4개만 사길 잘했던게 시간이 좀 지나고 먹어보니 사자마자 먹는 그 맛이 아니었었다.

 

728x90
반응형
728x90
반응형

 

 

 

저녁을 먹으러 아메요코 상점가로 갔다.

사람들이 북적북적했다.

 

 

미리 어디갈지 알아보지 않았었는데

배가 너무 고파서 눈에 보이는 식당에 들어갔다.


 

Nondeko Sakaba Ueno

 

 

 

위치: 일본 〒110-0005 Tokyo, Taito City, Ueno, 4 Chome−6−6 松本ビル 1/2F

구글평점: 3.7

 


 

 

 

 

야외 테이블에 자리를 잡고 앉았다.

 

 

계란말이와 라면, 꼬치를 주문했다.

술 마실 사람이 없어서 콜라를 주문했다.

 

 

그냥 저냥 평범했다.

꼬치가 더 먹고 싶었는데 더 맛있는 집이 있을까봐 

이정도에서 끝내고 나왔는데 그 뒤로 다른 식당은 못들어가고 편의점에서 야식 사다가 먹었다.

 

여기서 먹은 건

모둠꼬치 590*2

콜라 350*3

라면 390

계란말이는 지금보니 580엔인데 영수증에는 590엔이 찍혀있네..

그리고 콜라가격..ㅋㅋㅋㅋㅋㅋㅋㅋ

심지어 김빠진 콜라였다.

 

여튼 총 3531엔을 결제했다.

 

 


 

지하철 선로쪽에 더 가까운 골목이라고 해야하나?

더 뒷골목 느낌이 나는 곳이었는데

이쪽이 진짜였다.

진짜 사람들로 바글바글 했다.

유모차 끌기 힘들었다.

 

 

 

흡연이 가능한 술집이었는지

애기 동반 금지여서

그냥 집으로 가기로 했다.

 

아메요코 상점가에서 타코야키 쇼핑을 마지막으로 집으로 돌아왔다.

 

 

 

728x90
반응형
728x90
반응형

 

 

돈카츠 스즈키

とんかつ 寿々木

 

 

 

위치: 일본 〒100-0005 Tokyo, Chiyoda City, Marunouchi, 1 Chome−9−1 グランスタ八重北 1階 Yaekita Shokudo

영업시간: 11:00 - 21:30

구글평점: 4.5

 


 

도쿄역에 식당이 정말 많았다.

점심시간이라 가게마다 줄이 길게 서있었다.

물론 줄이 적은 가게도 있었으나, 

또 그런곳은 왜인지 들어가고 싶지 않았다.

돈까스가 먹고싶어서 겉모습이 마음에 드는 가게에 줄을 섰다.

 

 

줄 서서 기다리고 있는데 한국어 메뉴판을 가져다 주셨다.

미리 메뉴를 고를 수 있어서 좋았다.

 

 

30분 기다린 끝에 들어갈 수 있었다.

 

 

남편은 로스돈까스에 새우튀김까지 나오는 세트를 주문했고

나는 로스돈까스 덮밥을 주문했다.

사실 내가 주문한게 돈까스 인줄 알았는데

메뉴판에 밥이 안써있고 로스돈까스만 써있어서 밥이 안나오는 메뉴인가 하고 주문했는데

덮밥이 나왔다.

다시 보니 영어 문장에 "On Rice"라는 문구가 보였다.

한국어만 보고 골라서 몰랐던 거였다.

 

 

남편이 주문한 돈까스+새우튀김 새트에는

밥 한공기가 별도로 나왔다.

 

 

너무 맛있게 먹었다.

울 ㅣ19개월 아들래미는 편식이 심한 아이라

가져온 햇반과 된장국을 먹였다.

 

 

2880엔을 지불했다.

확실히 도쿄..

물가가 비싸다.

 

728x90
반응형
728x90
반응형

 

도쿄역에 도착하면 짐을 보관할 수 있는 동전 사물함이 곳곳에 정말 많이 보인다.

사물함 크기에 따라 보관 가격도 다르다.

작은 칸은 400엔, 중간칸은 500엔, 큰 칸은 700-800엔이다.

우리 가방은 800엔 칸에도 안들어가는 큰 가방이었다.

 

 

하지만 짐 맡길 수 있는 곳은

동전사물함만 있는 것이 아니다.

 

'JR EAST Travel Service Center Tokyo Station' 쪽(마루노우치 북쪽입구 쪽)으로 가면

짐을 맡길 수 있는 곳이 있다.

 

 

 

 

여기서는 사이즈 상관 없이

700엔에 짐을 맡길 수 있다.

오전 8시 반 부터 오후 8시까지 운영한다. 

 

 

700엔을 지불하고

동전사물함에 안들어가는 큰 가방 하나를 맡겼다.

 

728x90
반응형
728x90
반응형

 

비행기에서 보이는 일본!

저 멀리 후지산이 보이는 듯 했다.

 

 

나리타 공항에 도착해서 입국심사를 받는데

아기와 함께라고 별도의 빠른 심사줄로 안내받았다.

아기와 함께인 덕분에 빠른 줄에서 빠르게 입국심사를 통과할 수 있었다.

 

남편한테 짐 찾는걸 맡기고

애기 기저귀를 갈아주러 수유실로 갔다.

정말 깔끔한 수유실이었다.

기저귀 갈이대도 있었는데

애기가 서서 기저귀 갈 수 있도록 되어있는 구역도 있었다.

 

우리 애기 혼자 신발 신는 동안에 사진 한장

 

짐을 찾고 우리 첫 목적지인 도쿄역으로 이동하기 위해

버스 티켓을 사러 나왔다.

도쿄까지 이동하는 방법은 다양한데 (나리타 익스프레스, 스카이 라이너, 버스 등)

우리는 버스를 선택했다.

이유는 가장 배차간격이 짧고, 저렴했기 때문!

(근데 카시트 설치가 안되서 집에 올때는 스카이 라이너를 이용했다.)

 

 

도쿄역으로 이동하는 버스 티켓은 1인 1300엔이었다.

우리 애기는 24개월 미만이었는데, 무료였다.

성인 2명의 버스 티켓만 구매했다.

 

 

바로 버스를 타러 이동했다.

 

 

버스가 정말 작은 느낌이었다.

좌석간 간격도 정말 좁았다.

왜 가격이 저렴한지 알 것 같았다.

나리타 공항부터 도쿄역까지 1시간 반 넘게 걸린것 같다.

 

728x90
반응형

+ Recent posts