ExtJs adalah sebuah framework Javascript yang dibuat oleh Sencha yang berperan sebagai tampilan antarmuka kepada user atau pengguna. ExtJs bekerja pada sebuah browser di sisi client. Untuk membuat sebuah tampilan secara dinamis diperlukan juga sebuah pemrograman pada sisi server biasanya menggunakan bahasa yang lain. Untuk dapat bekerja menggunakan framework ini diperlukan sebuah tools atau perlengkapan yang harus diinstall dahulu pada komputer. Berikut ini adalah langkah-langkah untuk mengistall perlengkapan tersebut:

1. Repository ์ƒ์„ฑํ•˜๊ธฐ

GitHub Blog๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Github์— Repository๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

github-blog.png

GitHub์— ๋กœ๊ทธ์ธ ํ•œ ๋’ค์— ์šฐ์ธก ์ƒ๋‹จ์— ์žˆ๋Š” New Repository ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด repository ์ƒ์„ฑ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ Import a repository ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

github-blog-1.png

์•„๋ž˜ ํŽ˜์ด์ง€์— ๋„๋‹ฌํ•˜์‹œ๋ฉด ๋‘ ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ์…”์•ผ ํ•˜๋Š”๋ฐ, Your old repositoryโ€™s clone URL์—๋Š” ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” gatsby ํ…Œ๋งˆ๊ฐ€ ์žˆ๋Š” repository์˜ ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œ ๋ธ”๋กœ๊ทธ ํ…Œ๋งˆ๋ฅผ ์“ฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ์— https://github.com/zoomKoding/zoomkoding.com๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”!

github-blog-2.png

๊ทธ๋Ÿผ ์ด์ œ Repository Name์„ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ์ด ๋•Œ ์ฃผ์˜ํ•  ์ ์€ Repository๋ช…์€ ๊ผญ [GitHubID].github.io๋กœ ์„ค์ •ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Begin Import ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ์กฐ๊ธˆ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์„ ํƒํ•˜์‹  ๋ธ”๋กœ๊ทธ ํ…Œ๋งˆ๋ฅผ importํ•œ Repository๊ฐ€ ์ƒ์„ฑ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

github-blog-3.png

2. Repository ๊ฐ€์ ธ์˜ค๊ธฐ

์ด์ œ ์‹ค์ œ๋กœ ์ˆ˜์ •ํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜๋„๋ก ๋‚ด ์ปดํ“จํ„ฐ(local)์— Repsitory๋ฅผ ๊ฐ€์ ธ์™€๋ณผ ๊ฑด๋ฐ์š”! ๋จผ์ € Repository์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ดˆ๋ก์ƒ‰ Code ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋งํฌ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

github-blog-4.png

๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ธ”๋กœ๊ทธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

cd [Repository๋ฅผ ์ €์žฅํ•  ํด๋”]
git clone [๋ณต์‚ฌํ•œ ์ฃผ์†Œ]

3. Blog ์„ค์น˜ํ•˜๊ธฐ

์ด์ œ ๋ธ”๋กœ๊ทธ๋ฅผ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง€๋“ค์„ ๋‹ค์šด๋กœ๋“œ ํ•ด์•ผํ•˜๋Š”๋ฐ, ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

cd [Repository ์ฃผ์†Œ]
npm install

4. Blog ๋ฐฐํฌ ์ค€๋น„ํ•˜๊ธฐ

๊ทธ๋ฆฌ๊ณ  ์ด์ œ Gatsby ํ…Œ๋งˆ๋ฅผ GitHub ํŽ˜์ด์ง€์— ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด gh-pages๋ผ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

npm install gh-pages --save-dev

๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ package.json์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

{
  "scripts": {
    "deploy": "gatsby build && gh-pages -d public" // ์ถ”๊ฐ€
  }
}

5. Blog ๋ฐฐํฌํ•˜๊ธฐ

๋“œ๋””์–ด ๋ฐฐํฌ ์ค€๋น„๋Š” ๋‹ค ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์‹œ๋ฉด github page์— ๋ฐฐํฌํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npm run deploy

์กฐ๊ธˆ ๊ธฐ๋‹ค๋ฆฌ์‹  ํ›„์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด Published๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ์…จ๋‹ค๋ฉด ๋ฐฐํฌ๋Š” ์ž˜ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค!

๐Ÿ™‹โ€โ™‚๏ธ ์ œ ๋ธ”๋กœ๊ทธ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“ค์„ node ๋ฒ„์ „์ด 14 ์ด์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. node -v๋ฅผ ํ†ตํ•ด node ๋ฒ„์ „์„ ํ™•์ธํ•˜์‹  ํ›„ ๋‚ฎ์€ ๋ฒ„์ „์ด๋ผ๋ฉด ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”!

๐Ÿ’ก ํ˜น์‹œ ๊ทธ ์™ธ์— ๋‹ค๋ฅธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์‹ ๋‹ค๋ฉด ์•„๋ž˜์— ๋Œ“๊ธ€๋กœ ์—๋Ÿฌ ๋‚ด์šฉ์„ ์•Œ๋ ค์ฃผ์„ธ์š”!

github-blog-5.png

6. Repository Source Branch ๋ณ€๊ฒฝํ•˜๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ GitHub ํŽ˜์ด์ง€๊ฐ€ ์ž‘๋™ํ•˜๋ ค๋ฉด GitHub์˜ Repository ์„ค์ •์—์„œ ๋ฐฐํฌ ํ•  Branch๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ Repository์— ์žˆ๋Š” Settings๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ฃ„์ธก ๋ฉ”๋‰ด์—์„œ Pages๋ฅผ ํด๋ฆญํ•˜์—ฌ Github Pages ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

github-blog-6.png

์—ฌ๊ธฐ์„œ Source์— ์žˆ๋Š” Branch๋ฅผ master(main)์—์„œ gh-pages๋กœ ๋ณ€๊ฒฝํ•œ ํ›„์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

github-blog-7.png

7. ๋ฐฐํฌ๋œ ํŽ˜์ด์ง€ ํ™•์ธํ•˜๊ธฐ

์ด์ œ ์‹ค์ œ๋กœ ์ž˜ ๋ฐฐํฌ๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค. ์—ฌํƒœ๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ์—†์œผ์…จ๋‹ค๋ฉด [GitHubID].github.io์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ ๋ธ”๋กœ๊ทธ๊ฐ€ ์ž˜ ๋ณด์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์œผ์‹ค ๊ฒ๋‹ˆ๋‹ค.

github-blog-8.png

8. ์ˆ˜์ •ํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜์‹œ๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ ๋ธ”๋กœ๊ทธ ํ…Œ๋งˆ๋งˆ๋‹ค ๋‹ค๋ฅผํ…๋ฐ์š”. ๊ทธ์— ๋งž์ถฐ์„œ ๋ณ€๋™์‚ฌํ•ญ์„ commitํ•˜์‹  ํ›„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ณ€๋™์‚ฌํ•ญ์ด ๋ธ”๋กœ๊ทธ์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค!

npm run deploy

โญ๏ธ ์ด ๋ธ”๋กœ๊ทธ ํ…Œ๋งˆ๋ฅผ ์ด์šฉํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด!

๋งˆ์ง€๋ง‰์œผ๋กœ ์ œ ๋ธ”๋กœ๊ทธ ํ…Œ๋งˆ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! https://www.zoomkoding.com/gatsby-starter-zoomkoding-introduction

๊ถ๊ธˆํ•˜์‹  ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์ด์Šˆ๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ๋‹ต๋ณ€ ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!๐Ÿ™‹โ€โ™‚๏ธ

๐Ÿค” ํ˜น์‹œ ํŠน์ • ๊ธฐ๋Šฅ์ด ์—†์–ด์„œ ํ…Œ๋งˆ ์‚ฌ์šฉ์„ ๋ง์„ค์ด์‹œ๊ฑฐ๋‚˜ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์œผ์‹  ๊ธฐ๋Šฅ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด,
๐Ÿ‘‰ ์—ฌ๊ธฐ์— ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! ์ ๊ทน์ ์œผ๋กœ ๋ฐ˜์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)


์œ„ ๊ณผ์ •์„ ๋”ฐ๋ผํ•˜์‹œ๋ฉด์„œ ๊ถ๊ธˆํ•˜์‹  ์ ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!๐Ÿ‘‡