- ์ต๊ทผ ์์ฑํ๋ ํ๋ก์ ํธ๋ค์ด ๋น์ทํ ํ์์ผ๋ก ๊ตฌ์ฑ๋์ด CI/CD ๋ฅผ GitHub Actions ๋ฅผ ํ์ฉํ๊ณ ์์ต๋๋ค. ๊ฐ๋จํ ๋จ๊ณ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ GitHub Actionsโฆ
- ๊ฐ์ ์ธ๋ถ์์ ์ ๊ทผ๊ฐ๋ฅํ ์์ฉํ๋ก๊ทธ๋จ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์์ฑ๋ ๋ฐ์ดํฐ ๋ฐฑ์
ํ์ผ์ ์ธ๋ถ์์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ํ์ผ ๋ฐฑ์
์๋ฒ๋ก ์์งํด์ ๋ณด๊ดํ๊ธฐ ์ํ ๊ตฌ์ฑ์
๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์
MariaDB ๊ฐ Dockerโฆ
- bing.com ์ ๋ง์ดํฌ๋ก์ํํธ์์ ์๋น์คํ๋ ๊ฒ์์๋น์ค์
๋๋ค. ์ด ์ฌ์ดํธ๋ ๋งค์ฐ ์๋ฆ๋ค์ด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์ ์ ๊ณต๋๋ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์คํฌํฑ ๋ฐฐ๊ฒฝ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์ด์ ์ด๋ป๊ฒ ์ป์ ์ ์๋ ์ฐพ์๋ณด๋ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ APIโฆ
- ๊ฐ์ React ๋ฅผ ์ฌ์ฉํด์ ์์ฑ๋ ์ ๋์ํ๋ ์น ์์ฉํ๋ก๊ทธ๋จ์ด ์๋์ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ฉ์ถฐ๋ฒ๋ ธ์ต๋๋ค. ํ๊ฒฝ ๊ฐ๋ฐํ๊ฒฝ node.js npm ํจํค์ง @babel/core v7.13.15 ํด๊ฒฐ babel-plugin-transformโฆ
- Electron ์ผ๋ก ์์ฑ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ Windows, Macos ์คํํ์ผ๋ก ๋น๋ํ๊ณ , GitHub Release ์์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํ ์ํ๋ก ์ค๋นํ๋ ๊ณผ์ ์ ์๋ํํ ์ํฌํ๋ก์ฐ๋ฅผ ํ๊ณ ํฉ๋๋ค. GitHub Actions GitHubโฆ
- publish to nuget Nuget: kr.bbon.EntityFrameworkCore.Extensions ํ์ด์ง์์ ํจํค์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๊ฐ์ Microsoft.EntityFrameworkCoreโฆ
- 2020๋
์ ๋์๋ด
๋๋ค. ๊ธฐ์ ์คํ .NET 5 ์ด์ ์ ์์ฑํ๋ .NET Core 2.x ~ 3.x ์์ฉํ๋ก๊ทธ๋จ์ .NET 5 ๋ก ์ด์ ํด๋ณด๊ณ ์์ต๋๋ค. ๊ณ์ ํจ๊ปํ ์๊ฐ์
๋๋ค. React 202โฆ
- ๊ฐ์ AWS Lightsail ์์ ์คํ๋๊ณ ์๋ ๋๊ฐ์ ์น ์์ฉํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค. 1 vCPU ํ๋ก์ธ์ฑ 512MB ๋ฉ๋ชจ๋ฆฌ 20GB SSD ์คํ ๋ฆฌ์ง 3.5 USD ์๋ณ์๊ธ 1TB ์ ์ก OS: Ubuntu 16.04 ๋ ๊ฐ์ ์น ์์ฉํ๋ก๊ทธ๋จ์ PHPโฆ
- GitHub ํ
ํ๋ฆฟ ์ฌ์ฉ GitHub ์์ ์ ์ฅ์๋ฅผ ์์ฑํ ๋, ํ
ํ๋ฆฟ์ผ๋ก ํ์๋ ์ ์ฅ์๋ฅผ ์ฌ์ฉํด์ ๋ด ์ ์ฅ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ํ
ํ๋ฆฟ SPAโฆ
- ๋ณํ ๋์์ .NET Core 3.1 ์ ์ฌ์ฉํด์ ์์ฑ๋ ์์ฉํ๋ก๊ทธ๋จ์
๋๋ค. ์ ์ฒด ์ฝ๋๋ 340eb28b1ea510a2c59e8627659cd81b689b7244 ์ปค๋ฐ์์ ํ์ธํ ์ ์์ต๋๋ค. .NET Core 3.โฆ
- SPA Single Page Application ๋ก ์์ฑ์ค์ธ ์น ์์ฉํ๋ก๊ทธ๋จ์์ ํ์ผ ๋ค์ด๋ก๋๋ฅผ ๊ตฌํํ ๋, ์ ์ฐฝ์ผ๋ก ๋ค์ด๋ก๋ํ ํ์ผ์ URI๋ฅผ ์ ๊ณตํด์ ์ฒ๋ฆฌํ๋ฉด ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ํ์ผ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ํ์ผ URIโฆ
- ์ต๊ทผ ๊ฒ์๋ Windows 10 Build 2004 ๋ WSL 2 ๋ฒ์ Windows Subsystem Linux version 2์ด ํฌํจ๋์ด ์์ต๋๋ค. WSL 2 ๋ฒ์ ์ Linux์ฉ Windows ํ์ ์์คํ
์ํคํ
์ณ์ ์๋ก์ด ๋ฒ์ ์
๋๋ค. WSLโฆ
- ์์ฃผ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ Typescript ๋ก ์์ฑํด์ NPM ์ ๊ฒ์ํ ํ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๊ณ ์ถ์ด NPM ์ ํจํค์ง๋ฅผ ์ด๋ป๊ฒ ๊ณต๊ฐํ๋์ง๋ฅผ ํ์ธํ์ต๋๋ค. ์ ๋ ์ค์ฝํ๋ฅผ ์ฌ์ฉํด์ ํจํค์ง๋ฅผ ๊ฒ์ํ ๊ฒ์
๋๋ค. ์ค์ฝํ npm-scopeโฆ
- ๊ณต์ ๋ง์คํฌ ์๋ด ๊ณต์ ๋ง์คํฌ ๊ตฌ๋งค ์์ผ์ ์๋ดํ๋ ๋ชจ๋ฐ์ผ ์์ฉํ๋ก๊ทธ๋จ์ ๊ตฌ๊ธ ํ๋ ์ด์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ ์ ์๋ ๊ฒฝ์ฐ ์๋ ์ฃผ์๋ฅผ ์ฃผ์์ฐฝ์ ๋ถ์ฌ๋ฃ๊ธฐ ํ์ธ์. ๊ธฐ์ ๊ณต์ ๋ง์คํฌ ์๋ด ๋ชจ๋ฐ์ผ ์์ฉ ํ๋ก๊ทธ๋จ์ Reactโฆ
- โฆ
- ํจํค์ง ์ค์น NPM Yarn ๊ตฌ์ฑ .eslintrc .prettierrc npm scripts lint npm yarn ๊ท์น ๊ด๋ฆฌ ํ์์ ํ์ํ ๊ท์น์ ์ง์์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
- Windows 10 ์์ WSL2 ๋ฅผ ํ์ฑํํ ํ Ubuntu 18.04 ์์ Git ๋ก์ปฌ ์ ์ฅ์๋ก ์ด๋ํ๋ฉด ์ฐ์ ์๋ต์ด ๋๋ฆฝ๋๋ค. ๋๋ฆฐ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ์๋๋ฐ, ์ ์ฅ์ ์ํ๋ฅผ ํ์ธํ๋, ๋ชจ๋ ๋ณ๊ฒฝ๋ ์ํ๋ก ์ถ๋ ฅ๋ฉ๋๋ค. Git status showsโฆ
- ์น์ฌ์ดํธ ์๊ฐ ์น์ฌ์ดํธ ์ฃผ์: dev.bbon.kr ์์งํ๋ ๊ฐ์ธ ๋ฐ์ดํฐ ์ข
๋ฅ ๋ฐ ์์ง ์ด์ ์๋์ ๊ฐ์ด ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์ 3์์๊ฒ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๊ตฌ๊ธ ์ ๋๋ฆฌํฑ์ค (Google Analyticsโฆ
- ํจํค์ง ์ค์น npm yarn ๊ตฌ์ฑ .eslintrc .prettierrc npm scripts lint npm yarn ๊ท์น ๊ด๋ฆฌ ํ์์ ํ์ํ ๊ท์น์ ์ง์์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.