๐Ÿ“–
Mini's Today I Learned
  • Today I Learned
  • ๐Ÿ’ปComputer Science
    • ๐ŸงฑComputer Science
      • Computer Architecture
    • ๐Ÿฆ•OperatingSystem
      • System Structure
      • 01. ์šด์˜์ฒด์ œ ์—ญํ• 
      • 02. History๋กœ ์ดํ•ดํ•˜๋Š” ์šด์˜์ฒด์ œ
      • 03. ์šด์˜์ฒด์ œ ๊ตฌ์กฐ
      • 04. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋ง
      • 05. ์Šค์ผ€์ฅด๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 06. ํ”„๋กœ์„ธ์Šค ์ƒํƒœ์™€ ์Šค์ผ€์ฅด๋Ÿฌ
      • 07. ์ธํ„ฐ๋ŸฝํŠธ
      • 08. ํ”„๋กœ์„ธ์Šค์™€ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ
      • 09. ํ”„๋กœ์„ธ์Šค๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜(IPC ๊ธฐ๋ฒ•)
      • 10. Thread(์Šค๋ ˆ๋“œ)
      • 11. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ (Virtual Memory System)
      • 12. ํŒŒ์ผ์‹œ์Šคํ…œ ์ดํ•ด
      • 13. ๋ถ€ํŒ…์˜ ์ดํ•ด
      • 14. ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)
  • ๐Ÿ“ˆDatabase
    • MySQL CLI (Frequently used)
    • 1-Tier, 2Tier, 3Tier
    • Basic SQL
    • Built in function
    • Sub Query
    • View
    • Stored Program
    • index
    • Normalization(์ •๊ทœํ™”)
    • Transaction
    • Transaction
  • ๐ŸŒ Network
    • ๐Ÿ”Œ TCP&IP Basic
      • 01 TCP/IP ๋ง›๋ณด๊ธฐ
      • 02 TCP/IP ๊ฐœ์š”
      • 03 ํ†ต์‹  ์„œ๋น„์Šค์™€ ํ”„๋กœํ† ์ฝœ
      • 04 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต
      • 05 ํŠธ๋ Œ์ŠคํฌํŠธ ๊ณ„์ธต
      • 06 ๋„คํŠธ์›Œํฌ๊ณ„์ธต
      • 07 ๋ฐ์ดํ„ฐ ๊ณ„์ธต๊ณผ ๋ฌผ๋ฆฌ๊ณ„์ธต
      • 08 ๋ผ์šฐํŒ…
      • 09 ๋ณด์•ˆ
      • 10 HTTP ํ”„๋กœํ† ์ฝœ
    • ๐Ÿฟ๏ธHTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ ์š”์•ฝ
      • 1. HTTP: ์›น์˜ ๊ธฐ์ดˆ
      • 2. URL ๊ณผ ๋ฆฌ์†Œ์Šค
      • 3. HTTP Message
      • 4. Connection Management
      • 5. Overview of web server architectures
      • 6. Proxies
      • 7.Caching
      • 8. Integration Points: Gateways, Tunnels, and Relays
      • 9. Web Robots
      • 10. HTTP/2.0
      • 11. Client Identification and Cookies
      • 12. Basic Authentication
      • 13. Digest Authentication
      • 14. Secure HTTP
      • 15. Entities and Encodings
      • 16. Internationalization
      • 17. Content Negotiation and Transcoding
      • 18. Web Hosting
  • ๐ŸดLanguage
    • โ˜•JAVA
      • Comparable vs Comparator
  • ๐Ÿ› ๏ธ Framework
  • ๐ŸงฉDesign Pattern
    • ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™ (SOLID)
    • Design Pattern ๊ฐœ์š”
    • Template method
    • Singleton
  • ๐ŸฅFrontEnd
    • HTML&CSS
      • 01 Intro
      • 02 HTML Basic
      • 03 Content Section
      • 04 Block and Inline Elements
      • 05 Text Contents
      • 06 Inline Elements
      • 07 Multi Media
      • 08 Table&Form&etc
      • 09 Global Attribute & etc
      • 10 css basic
      • 11 css config
      • 12 css unit
      • 13 Box Model
      • 14 Font & Text
      • 15 Float(๋„์›€) & Position
      • 16 Background
      • 17 Transitions & Transforms
      • 18 Animation & Multi Columns(๋‹ค๋‹จ)
      • 19 Flex
      • 20 Grid
    • Sass(SCSS)
    • TypeScript
    • Webpack Introduction
      • ์›นํŒฉ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ
      • CommonJS
      • ESM
      • WebpackConfig
        • 1. Handlebars
        • 2. Caching
        • 3. Minification & Mangling
        • 4. Mode(Development mode & Production Mode)
        • 5. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(file-loader)
        • 6. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(url-loader)
        • 7. SASS Loader
        • 8. Post CSS
        • 9. BLOWSERS LIST
        • 10. Stylelint
        • 11. Babel
      • Webpack-Practice
    • ETC
      • GIT
      • MarkDown
Powered by GitBook
On this page
  • Intro
  • ์žฅ์ 

Was this helpful?

  1. FrontEnd

TypeScript

Intro

  • JavaScript ๋Œ€์ฒด ์–ธ์–ด์˜ ํ•˜๋‚˜๋กœ์จ, JS์˜ ์ƒ์œ„ํ™•์žฅ(superset)

  • ES6์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, Babel๊ณผ ๊ฐ™์€ ๋ณ„๋„ ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ES6์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ JS Engine(Node, browser...)์—์„œ ์‹คํ–‰๊ฐ€๋Šฅ

  • ECMA์˜ ํ‘œ์ค€์„ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์ˆ˜๋‹จ.

์žฅ์ 

  • ์ •์ ํƒ€์ž…

    • JS๋Š” type์„ ์‚ฌ์ „์— ํƒ€์ž…์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

      (๋Ÿฐํƒ€์ž„์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ)

    • TS๋Š” ์ •์ ํƒ€์ž…์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ๋Œ€๊ทœ๋ชจ Application ๊ฐœ๋ฐœ ์šฉ์ด (์‹ค์ˆ˜ ๋ฐฉ์ง€๋ฅผ ํ•˜๋‹ˆ๊นŒ)

  • ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ์ง€์›

    • IDE(ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ) ํฌํ•จ ๋‹ค์–‘ํ•œ ๋„๊ตฌ ์ง€์›

    • ํƒ€์ž…์ •๋ณด๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ, ํƒ€์ž…์ฒดํฌ, ์ž๋™์™„์„ฑ๊ธฐ๋Šฅ, code assist...๋“ฑ์„ ์ง€์›๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

  • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์›

    • class, interface, module๋“ฑ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ ์ˆœ์ˆ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›

    • JS๊ฐ€ ์‹ค์ƒ๋˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ

  • DOM์ œ์–ด

  • ์ตœ์‹  ECMAScript ์ง€์›

  • JS๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํŽธ๋ฆฌํ•œ ์‚ฌ์šฉ

  • ๊ฐœ๋ฐœํ™˜๊ฒฝ

    • Node.js์„ค์น˜

      • Node.js๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์—์„œ TS๋ฅผ ๊ตฌ๋™์‹œํ‚ฌ์ˆ˜์žˆ๋‹ค.

    • VSCode (ํ˜น์€ Webstorm)

      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ ๊ธฐ๋ณธ ๋‚ด์žฅ๋˜์–ด์žˆ์Œ.

      • TSํŒŒ์ผ(.ts, .tsconfig.json,..)์ธ์‹ํ•จ.

      • ์ฝ”๋“œ ๊ฒ€์‚ฌ, ๋น ๋ฅธ ์ˆ˜์ •, ์‹คํ–‰ ๋ฐ ๋””๋ฒ„๊น… ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ๋ฐ”๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ.

      • ๋‹จ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ณ„๋„ ์„ค์น˜(์ „์—ญ์„ค์น˜ ์ง„ํ–‰)

        • typescript ์ปดํŒŒ์ผ๋Ÿฌ๋Š” node.js ํ”„๋กœ๊ทธ๋žจ

          npm install typescript -g
        • ์„ค์น˜ํ›„, ์ปค๋งจ๋“œ ์ฐฝ์— tsc [ํŒŒ์ผ๋ช…].ts ๋ผ๊ณ  ํ•˜๋ฉด ์ปดํŒŒ์ผ๋œ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์˜ด

      • ํŒŒ์ผ๊ฒฝ๋กœ ๋ณด์ด๊ธฐ ์„ค์ •: [ํŒŒ์ผ] - [๊ธฐ๋ณธ์„ค์ •] - ์„ค์ • - [Breadcrumbs: Enabled] ์ฒดํฌ

    • ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜์„ค์ •

      • ์˜ต์…˜์„ค์ • ์—†์ด ์ปดํŒŒ์ผ์„ ๊ฑฐ์น˜๋ฉด ES5 ํ˜•ํƒœ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ์ด๋œ๋‹ค.

      • ํŠน์ •๋ฒ„์ „์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ ์‹ถ์„๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜: ---target

        tsc hello.ts --target es6
      • ๊ธฐ๋Šฅ์ ์ฝ”๋“œ (์˜ˆ: Promise, Promise๋Š” es6 ๋ฒ„์ „ ์ด์ƒ) --lib

        • ์ปดํŒŒ์ผํ•˜๋ฉด err: Promise๋ฅผ ์ฐพ์„์ˆ˜ ์—†๋‹ค๋Š” error

        • Promise๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ„๋„์˜ polyfill์ด ํ•„์š”ํ•˜๋‹ค.

          tsc hello.ts --lib es5,es2015.promise,es2015.iterable,dom
          tsc hello ts --lib es2015,dom <!--์ถ•์•ฝํ˜•-->
        • dom: console ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€

      • module๊ด€๋ จ ์˜ต์…˜ --module

        • util.tsํŒŒ์ผ์—์„œ ๋ชจ๋“ˆ์„ export ํ•ด์ฃผ๊ณ , hello.tsํŒŒ์ผ์—์„œ import๋กœ ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ compile์ง„ํ–‰

          tsc hello.ts --lib es2015,dom
        • ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ, import๊ฐ€ require๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ.

        • ์ฆ‰ es5๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ commonJS์‹œ์Šคํ…œ์„ ๋”ฐ๋ฅด๊ณ  ์žˆ๋‹ค๋Š” ์ ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

        • ๋”ฐ๋ผ์„œ node๋กœ jsํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์‹คํ–‰์ด ๋œ๋‹ค.

        • target์˜ต์…˜์„ es6๋กœ ์ค˜๋ณด๊ธฐ

          tsc hello.ts --target es6 --lib es2015,dom
        • ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๊ฐ€ es6๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— arrow function๋„ ๋ณด์ด๊ณ , import๊ฐ€ ์‚ฌ์šฉ๋œ ๊ฒƒ์ด ํ™•์ธ๋œ๋‹ค.

        • ๋‹จ, js๋ฅผ node.js๋กœ ์‹คํ–‰์‹œํ‚ค๋ คํ•˜๋ฉด syntax error๋ฅผ ๋ฟœ์–ด๋‚ธ๋‹ค.

          • ์™œ? target์€ es6์ง€๋งŒ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์€ commonJSํ˜•ํƒœ์ด๊ธฐ๋•Œ๋ฌธ

          • ํ•ด๊ฒฐ: module์˜ต์…˜์œผ๋กœ ํ•ด๊ฒฐ

            tsc hello.ts --target es6 --lib es2015,dom --module commonjs
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค, ์ด ์˜ต์…˜์„ ๋งค๋ฒˆ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ด์„œ ์‹คํ–‰์‹œ์ผœ์•ผํ• ๊นŒ? Nope!!!!!!

        • compile ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„ ํŒŒ์ผ์ด ์žˆ์Œ(tsconfig.json)

        • compile ์˜ต์…˜์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ  command๋ช…๋ น์„ ํ†ตํ•ด ์–ด๋–ค ์˜ต์…˜๋“ค์ด ์ ์šฉ๋˜์–ด์žˆ๋Š”์ง€๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. showConfig

          tsc hello.ts --target es6 --lib es2015,dom --module commonjs --showConfig
        • configuration ํŒŒ์ผ์„ ์„ค์ •ํ•ด์„œ ๋งค๋ฒˆ ์˜ต์…˜์„ CLI์— ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ๋” ํ•ด๋ณด์ž.

    • TypeScript ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์ •ํŒŒ์ผ(tsconfig.json)

      • tsconfig.json (์„ค์ •) ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ๋‹จ ์œ„์น˜์— ์กด์žฌํ•˜๊ฒŒ๋จ

      • ์„ค์ •์„ ์ฃผ๊ฒŒ๋˜๋ฉด ์„ค์ •์— ์˜ํ•ด ์ปดํŒŒ์ผ๋˜๋ฉฐ, jsonํ˜•ํƒœ

      • ์ปดํŒŒ์ผํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฃจํŠธํŒŒ์ผ๊ณผ ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜ ์„ค์ •

        • include :ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ปดํŒŒ์ผ๋Ÿฌ์— ํฌํ•จ๋˜์–ด์งˆ ํŒŒ์ผ ๋ชฉ๋ก๋“ค

        • exclude: ์ œ์™ธ ๋ชฉ๋ก

          • ๋Œ€์ฒด๋กœ typescript๋Š” nodejs๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

            npm init --y ๋กœ node project(pakage.json)๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ์„ฑ๋˜๋Š” node modules๋Š” typescript ์ปดํŒŒ์ผ ๋Œ€์ƒ์—์„œ ์ œ์™ธ

        • compilerOptions :์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜

          • ์˜ˆ

            • module

            • target

            • ๋“ฑ๋“ฑ

      • ์„ค์ • ํ›„์—๋Š” tsc๋งŒ ํ˜ธ์ถœํ•ด๋„ ํ˜„์žฌ dir๋ถ€ํ„ฐ ์ƒ์œ„ dir chain์„ ๋”ฐ๋ผ์„œ tsconfig.jsonํŒŒ์ผ์„ ๊ฒ€์ƒ‰

      • ์„ค์ •๋ฐ ์ปดํŒŒ์ผ ํ›„, browser์—์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์›๋ณธํŒŒ์ผ์€ ๋ณด์ด์ง€ ์•Š๊ณ  ์ปดํŒŒ์ผ ๋œ jsํŒŒ์ผ๋งŒ ๋ณด์ธ๋‹ค. ๋งŒ์•ฝ ์›๋ณธํŒŒ์ผ(ts)์„ ๋ณด๊ณ ์‹ถ์„ ๊ฒฝ์šฐ ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์ž. "sourceMap": true

PreviousSass(SCSS)NextWebpack Introduction

Last updated 4 years ago

Was this helpful?

๐Ÿฅ