๐ต๏ธ๋๋๋ก ์๋ก์ด ๊ฒ์ด ์๋ค: ์์นจ์์ฌ๋ฅผ ์๋ํ๋ค๐ด
10004 ๋จ์ด webdevnodejavascriptoperations
๋๋ ์ด๋ฒ ์ฃผ์ ๋ฌด์์ ์จ์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค.๋๋ ๊ทธ๋ ๊ฒ ๋ง์ ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ์ง ๋ชปํ๋ค. ๋๋ ๋ด๊ฐ ๋ํฌ๋ค๊ณผ ๋ฌด์์ ๋๋ ์ ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค.๊ทธ๋์ ๋๋'์ ๋ด๊ฐ ์์ง ๋ชจ๋ฅด๋ ๊ฒ์ ์๋ํ์ง ์๊ณ ๊ธฐ๋กํด์ ๋ณํ๋ฅผ ๊พํ์ง ์๋๊ฐ?'๋ผ๊ณ ์๊ฐํ๋ค.๋ด๊ฐ ๊ทธ๋ฌ์ด.
์ ๊ฐ ์ ํํ๋ ๊ฒ์์์ง์ ๊ฐ์ด์.โข "2021๋ JS์ ์ต๊ณ ๊ธ ๊ตฌ์ถ ๋๊ตฌ"๋ฅผ ์ ๋ ฅํ๊ณ ๋ด๊ฐ ๋ณธ ์ฒซ ๋ฒ์งธ ๋งํฌ๋ฅผ ํด๋ฆญํ์ธ์.์น ํจํค์ง์ฌ์ฌํ์ด์ผํค๋ค๋๋ ์ฌ๋๋ค์ด ์ฌ์ ํ ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ๋ฏฟ์ง๋ง, ๋๋ ์ด๋ฏธ ๋ช ๋ ๋์ ์ธ๋ชจ๊ฐ ์๋ค. ์ด๊ฒ์ ์๊ฒฉ์ ๋ถํฉ๋์ง ์๋๋ค.๊ผฌ๋ฅด๋ฅต๋๊ฐ์์.์ํฌ๋ ์ํฌ?๋ค, ์์ ์ ์จ ๋ดค์ด์. ์ข์ํด์. ๊ทธ๋ฐ๋ฐ ์์ง ๋ฏ์ค์ง ์์์.์์นจ ์ ์ฌ?์ฌํ๊ป ๋ค์ด ๋ณธ ์ ์ด ์๋ค.์๋ฒฝํด.
ํ ๋ฒ ๋ด
์๋ค.
website ํฌ๋ง์ :
Seeing your build tool in nightmares? Try Brunch!
Brunch lets you focus on what matters most โ solving real problems instead of messing around with the glue.
๊ทธ๋!๋๋ Github repository์ ๊ฐ์ ๊ทธ ๋ฌผ๊ฑด์ด ์์ง ํ๋ ์ํ์ ์๋์ง ๋ณด์๋ค.๋ง์ง๋ง ์ ์ถ์ผ์ 2021๋
2์ 18์ผ์ด๋ค.์๋ฆฌ๊ฐ ๋ณํ์ง ์๋๋ค.๋ฌธ์ ์?143 ๋ด๊ฐ ์ด ๊ธ์ ์ธ ๋.์๋ง๋ ๋๋ ๊ทธ์ค์ ์ผ๋ถ๋ฅผ ๋ง๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ํคํค: ๋ค๊ฐ ์๋ํ๊ธฐ ์ ์ ์๋๋ผ๊ณ ๋งํ์ง ๋ง๋ผ. ๊ทธ๋ ์ง?
Tailwind(PostSS ํฌํจ)์ AlpineJS๋ฅผ ํฌํจํ ์์ ์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์์
๊ทธ๋ผ ๊ฐ์.๋๋ ๋ณดํต ํ ๊ฐ์ง ์ผ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋จผ์ ๋ณด์ง ์๋๋ค. ๋๋ ์์ ๋๋ฝํ๊ณ ์ถ๋ค.๊ทธ๋์ ์ฐ๋ฆฌ๋ npm init
์์ ํ๋ก์ ํธ์ npm i
๋ช ๊ฐ์ ๊ฐ๋ฐฉ์ ๊ฐ์ง๊ณ ์ด ๊ณต๊ตฌ์ ์ง์ ์ผ๋ก ํฌ์ฅํ ์ ์๋ ๋ฌผ๊ฑด์ด ์๊ฒผ๋ค.์ฆ tailwindcss ๋ฐ alpinejs์
๋๋ค.๋๋ ๋ธ๋ฐ์น๋ฅผ ์ค์นํ๋ค. ์๋ํ๋ฉด, ์, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ด๋ค.
aaaand, ๋ด๊ฐ ๋จผ์ ๋ฌธ์๋ฅผ ์ฝ์ด์ผ ๋ผ.๋ถ๋ช
ํ ๋๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋ธ๋ฐ์น๋ฅผ ์ค์นํ๊ณ ๊ทธ๊ฒ์ ์ด์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.๋๋ ์ง๊ธ ๋ ๊ฐ์ง ์ ํ์ด ์๋ค. rm -rf
ํ๋ก์ ํธ ๋ชฉ๋ก, ์ฒ์๋ถํฐ ์์ํ๊ฑฐ๋, ๊ทธ๊ฒ์ ํํธ๋ฌ๋จ๋ฆฌ๋ ค๊ณ ํ๋ค.๋ด๊ฐ ์ ๋๋ฝํ๋ ๊ฑฐ ์ข์ํ๋ค๊ณ ํ์ด?๋ด๊ฐ ์ด๋ค ์ต์
์ ์ ํํ๋์ง ์์๋งํ ๋ด.
์ง์ฐฐ์ ๋ฐ๋ค.๋ถ๋ช
ํ init ๋ช
๋ น์ด ํ ๊ฒ์ ๋ณต์ ์ผ ๋ฟ์ด๋คrepository from Github.๊ทธ๋์ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฑฐ๊ธฐ์์ ์ฝ๊ฐ์ ๋ฌผ๊ฑด์ ๋ณต์ฌ/๋ถ์ผ ์ ์๋ค. ๋๋ ๋งค์ฐ ์ข๋ค. ๊ทธ๋ ์ง?์ฐ๋ฆฌ ์ด๋ ๊ฒ ํ์.
์ถ๊ฐ ์ํฌ๊ฐ ํ์ํฉ๋๋ค.
npm i --save-dev auto-reload-brunch babel-brunch babel-preset-latest clean-css-brunch uglify-js-brunch
์ง๊ธ๊น์ง ์ค๊ณง ๊ด์ฐฎ์๋ค.npm audit
๋์๊ฒ auto-reload-brunch
์ค ๋ฎ์ ์ฌ๊ฐ์ฑ ๊ตฌ๋ฉ์ด ํ๋๋ฐ์ ์๋ค๊ณ ๋งํ๋ค.์ด๊ฒ์ ๋์๊ฒ ํฐ ์ํฅ์ ์ฃผ์ง ์์ ๊ฒ์ด๋ค. ์๋ํ๋ฉด ์๋์ผ๋ก ๋ค์ ๋ถ๋ฌ์ค๋ ๋ฌผ๊ฑด์ ์ด์จ๋ ๋ด์ฅ๋ ๋ฒ์ ์ ๋ํ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๊ธฐ๋ฅผ ๋ฐ๋๋ค.
ํ์ฌ ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์๋ brunch-config.js
ํ์ผ์ด ํ์ํฉ๋๋ค.์ด ์ฌ๊ตฌ๋งค ๊ณ์ฝ์์ ์๋
// See http://brunch.io for documentation.
exports.files = {
javascripts: {
joinTo: {
'vendor.js': /^(?!app)/, // Files that are not in `app` dir.
'app.js': /^app/
}
},
stylesheets: {joinTo: 'app.css'}
};
exports.plugins = {
babel: {presets: ['latest']}
};
๊ธฐ๋ค๋ฆฌ๋ค
// See http://brunch.io for documentation.
๊ทธ๋, ๊ทธ๋, ์์...
์๊ฒ ์ต๋๋ค. ๊ณจ๊ฒฉ์ ๋ฐ๋ผ, ์ ๋ ์ง๊ธ app
ํด๋๊ฐ ํ์ํฉ๋๋ค. ๊ทธ ํด๋์๋ JS ํ์ผ๊ณผ CSS ํ์ผ์ด ํฌํจ๋์ด ์์ต๋๋ค.์์ธ์ ํฌํจํ๋ ์์ฐ ํด๋๋ ์์ต๋๋ค.html.HTML ํ์ผ ์์ฐ์ ์ ํํ ๊ณ ๋ คํ์ง๋ ์๊ฒ ์ง๋ง, ํคํค.์๋ง๋ ๊ทธ๊ฒ์ ํ์คํ ์ฐ์ธํ ๊ฒ์ด๋ค.๋ค์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ์ด๋ก ์ ์ผ๋ก, ์ด๊ฒ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ์ ์ถฉ๋ถํด์ผ ํ๋ค. ๊ทธ๋ ์ง?์ฐ๋ฆฌ ํ๋ฒ ํด ๋ณผ๊น์?
Drumroll ์ ๋ฐ...
์ข์, ํฌ๋ง์ด ์์ด ๋ณด์ฌ!
๋ค, ๋ก๊ณ ๋ ๋ถ๋ฌ์ค์ง ์์ง๋ง, ์ ๋ฐ์ ์ผ๋ก ๋งํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๋ค.๋ค๊ฐ ๋ณธ ๊ณต๊ธ์
์ฒด์ ์๋ชป์ ๋ด๊ฐ ์ ์ง๋ฅธ ์๋ชป์ด๋ค.๊ตฌ์ฑ์ ์
๋ ฅ ์ค๋ฅ์
๋๋ค.๋ชจ๋์ ๋ค์ ๋ก๋ํด ๋ณด๊ฒ ์ต๋๋ค.
์ด ๊ธฐ๋ณธ ์ค์ ์ ๋๋ฅผ ๊น์ง ๋๋ผ๊ฒ ํ๋ค. 70-100๋ฐ๋ฆฌ์ด๋ ์ฌ๊ฑด์ ์ฐ์
๋๊น?๋๋ฌด ๋นจ๋ผ!์ง๊ธ๊น์ง ์ด ์ผ์ ๋ณด๊ธฐ์ ๋งค์ฐ ํฌ๋ง์ ์ด๋ค.
ํ๋ฌ๊ทธ์ธ์ ๋ฃ์ต๋๋ค.
๋๋ค์์ '์ด๋ ๊ฒ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๋ค' ๋ ๋๊ตฌ๋ ๋ชจ๋ ์ฝ๊ฐ์ ๊ฒฐ์ ์ด ์๋ค.์ผ๋ถ ์ ์ธ ์ฅ์น๋ ๊ทธ๊ฒ์ ๋๋ถ๋ถ ์ฐ์ธ๋ฅผ ๋ง์ดํ ๊ฒ์ด๋ค.๋๋ ์์นจ ์ ์ฌ์ด ์ด๋์ ์๋์ง ์๊ณ ์ถ๋ค.ํน์ ํ๋ฌ๊ทธ์ธ์?์ด๋ ๋ณด์.์ด์จ๋ , ๋๋ ํฌ์คํฐ ํ๋ฌ๊ทธ์ธ์ด ํ์ํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํ์ด ์ ์์ ์ผ๋ก ์๋ํ์ง ๋ชปํ๊ฒ ํ ๊ฒ์ด๋ค.๋ธ๋ฐ์น ์ฌ์ดํธ์ nice searchable list of plugins๊ฐ ์๋๋ฐ 2019๋
12์ ์ดํ ๊ฑด๋๋ฆฌ์ง ์์๋ PostSS ํ๋ฌ๊ทธ์ธ์ ์ฐพ์ ์ ์๋ค.์, ๋ฌด์จ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฑฐ์ผ, ๊ทธ๋ ์ง?์ค์น, ์ํ ์ถ๊ฐ, ๋ฌด์จ ์ผ์ด ์ผ์ด๋ ์ง ๋ณด์.
๋ถ๋ช
ํ ์ด๋ก ์ ์ผ๋ก ์ด ์ค์ ํ๋ฌ๊ทธ์ธ ์ค์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
// ...
postcss: {
processors: [
require('tailwindcss')('./tailwind.config.js')
]
}
// ...
๋น ๊ฒ๋ ์ถ๊ฐํ์ดtailwind.config.js
.์ง์๋ฅผ ์กฐ์ ํฉ์๋ค.์์ฐ ์ค์ html ํ์ผ(๋๋ ์ฌ์ ํ ๊ทธ๊ฒ์ด ์ ๊ฑฐ๊ธฐ์ ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค)์ ์ฝ๊ฐ ์ค์ ์ ์ผ๋กtailwind๋ฅผ ์ฌ์ฉํ๋ค.
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Brunch</title>
<link rel="stylesheet" href="/app.css">
<script src="/vendor.js"></script>
<script src="/app.js"></script>
<script>require('initialize');</script>
</head>
<body>
<div class="container my-16 mx-auto">
<h1 class="text-4xl mb-4">
Hello, World!
</h1>
<p class="text-xl mb-4">
Lorem ipsum dolor sit amet
</p>
</div>
</body>
๋ค์ ๋ก๋, aaa ๋ฐ:
์๋ชป์ด ์๊ณ , ์๋ฌด๊ฒ๋ ์๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ค.๊ทธ๋, ๋ฒ์ญ ์๊ฐ์ด 7.4s์ ์ด๋ฅด๋ ์ง๋ง, ์ด๊ฒ์ ์์นจ ์ ์ฌ์ ์๋ชป์ด ์๋์ผ!๋๋ ํผํฉ๋ฌผ์ ์ํ์ ๋ฃ์๋ค.์ํ์ค ์ฐ์ ๋์ด๋ค์ด๋ ๊ฒ์ ํตํด ๋์ ์๋๊ฐ ์ผ๋ง๋ ๋๋ฆฐ์ง ์๊ณ ์ถ๋ค.
import 'alpinejs'
8.2์ด--๊ด์ฐฎ์์.๋๋ถ๋ถ์ ์ง์ถ์ด ๋ฐ๋ฒจ์ผ ์๋ ์๋ค๋ ๊ฒ์ ๊ฐ์ํ์ฌ ์์นจ ์ ์ฌ์ ๊ทธ์ ๋น ๋ฅธ ์ฝ์์ ์ดํํ๋ค.๋์คํ๋ ์ด์ ์ปดํ์ผ ์๊ฐ์ ์ฌ์ ํ 80๋ฐ๋ฆฌ์ด์์ 100๋ฐ๋ฆฌ์ด ์ฌ์ด์ด๋ฉฐ, ์ด๊ฒ์ ์๋นํ ๋น ๋ฅด๋ค.
์์ฝ(10๋ถ ์ถ๊ฐ...)
๋๋ ์ด ์ผ์ด ์ฝ์์ ์งํค๋ ๊ฒ์ด๋ผ๊ณ ๋งค์ฐ ํ์ ํ๋ค.๊ทธ๊ฒ์ ์ด๋ฏธ ๋ง๋ค์ด์ง ๋ง์ ๋ฌผ๊ฑด์ ์ ๊ณตํ์ง๋ ์์์ง๋ง, ๋๋์ ํ๋ฌ๊ทธ์ธ์ ๋ง์ ์ผ์ ๋นจ๋ฆฌ ์์ฑํ๊ธฐ์ ์ถฉ๋ถํ๋ค.๊ตฌ์ฑ ๋ถ๋ถ์ ์ค์ ๋ก ๋ด๊ฐ ๋ฐ๊ฒฌํ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ด๋ค.
์ด ๋ ๊ฐ์ง ๋ฐฐ์น๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์คํํ์๋ค.config์ ์คํ์ผ์ ๋๋ก ํ์ฌ๊ธ Webpack์ ๋ํ Nuxt์ ์ญํ ์ ๋ ์ฌ๋ฆฌ๊ฒ ํ๋ค. ๋ช
๋ น์ ์คํ์ผ์ด ์๋๋ผ ์ฑ๋ช
์ ์คํ์ผ๊ณผ ๊ฐ๋ค.
์์ปจ๋brunch๋ ๋๋์ ํ๋ฌ๊ทธ์ธ์ ํตํด ํ์ฅํ ์ ์๋ ์ ๋ขฐํ ์ ์๋ ๊ตฌ์ถ ๋๊ตฌ์ธ ๊ฒ ๊ฐ๋ค.๋๋ ์ฌ์ ํ Github์์ 143๊ฐ ๋ฌธ์ ์ค ํ๋๋ฅผ ๋ง๋ฌ์ผ๋ฉด ์ข๊ฒ ์ง๋ง, ๊ทธ๋ฆฌ ๋น ๋ฅด์ง๋ ์๋ค.HTML์ ํธ์งํ ๋ ์ฝ๊ฐ ๋ถ์์ ํ ๋๋์ด ๋ค๋๋ผ๋ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ ์ ์๋ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ
๋๋ค.๋๋ ํ์ฌ ์์นจ ์ ์ฌ์ ์ฌ์ฉ ์ํฉ์ด ์ด๋ ํ์ง ํ์คํ์ง ์์ง๋ง, ๊ทธ๊ฒ์ ์ ์ง๋ณด์๋ฅผ ๋ฐ์ ๊ฒ ๊ฐ์์, ๋ ํผ์ ์ผํ๋ ์์ ํ๋ก์ ํธ์ ๋ํด, ๋๋ ์์นจ ์ ์ฌ์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค.
๋๋ ๋ค๊ฐ ์ด ๋ฌธ์ฅ์ ์ฆ๊ฒจ ์ฝ๊ธฐ๋ฅผ ๋ฐ๋๋ค. ๋ง์น ๋ด๊ฐ ๊ทธ๊ฒ์ ์ฆ๊ฒจ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค.ํ๋ฉด, ๋ง์ฝ, ๋ง์ฝ...โค๏ธ ํน์๐ฆ! ๋๋ ์ฌ๊ฐ ์๊ฐ์ ๊ณผํ ๊ธฐ์ ๋ฌธ์ฅ์ ์ฐ๊ณ ๊ฐ๋ ์ปคํผ๋ฅผ ์ฆ๊ฒจ ๋ง์ ๋ค.
๋ง์ฝ ๋น์ ์ด ๋์ ๋
ธ๋ ฅ์ ์ง์งํ๊ณ ์ถ๋ค๋ฉด, buy me a coffee โ ๋๋!๋๋ Paypal๋ฅผ ํตํด ๋๋ฅผ ์ง์ ์ง์งํ ์ ์์ด!
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ต๏ธ๋๋๋ก ์๋ก์ด ๊ฒ์ด ์๋ค: ์์นจ์์ฌ๋ฅผ ์๋ํ๋ค๐ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/thormeier/something-new-every-now-and-then-trying-brunch-109
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
Seeing your build tool in nightmares? Try Brunch!
Brunch lets you focus on what matters most โ solving real problems instead of messing around with the glue.
๊ทธ๋ผ ๊ฐ์.๋๋ ๋ณดํต ํ ๊ฐ์ง ์ผ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋จผ์ ๋ณด์ง ์๋๋ค. ๋๋ ์์ ๋๋ฝํ๊ณ ์ถ๋ค.๊ทธ๋์ ์ฐ๋ฆฌ๋
npm init
์์ ํ๋ก์ ํธ์ npm i
๋ช ๊ฐ์ ๊ฐ๋ฐฉ์ ๊ฐ์ง๊ณ ์ด ๊ณต๊ตฌ์ ์ง์ ์ผ๋ก ํฌ์ฅํ ์ ์๋ ๋ฌผ๊ฑด์ด ์๊ฒผ๋ค.์ฆ tailwindcss ๋ฐ alpinejs์
๋๋ค.๋๋ ๋ธ๋ฐ์น๋ฅผ ์ค์นํ๋ค. ์๋ํ๋ฉด, ์, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ด๋ค.aaaand, ๋ด๊ฐ ๋จผ์ ๋ฌธ์๋ฅผ ์ฝ์ด์ผ ๋ผ.๋ถ๋ช ํ ๋๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋ธ๋ฐ์น๋ฅผ ์ค์นํ๊ณ ๊ทธ๊ฒ์ ์ด์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.๋๋ ์ง๊ธ ๋ ๊ฐ์ง ์ ํ์ด ์๋ค.
rm -rf
ํ๋ก์ ํธ ๋ชฉ๋ก, ์ฒ์๋ถํฐ ์์ํ๊ฑฐ๋, ๊ทธ๊ฒ์ ํํธ๋ฌ๋จ๋ฆฌ๋ ค๊ณ ํ๋ค.๋ด๊ฐ ์ ๋๋ฝํ๋ ๊ฑฐ ์ข์ํ๋ค๊ณ ํ์ด?๋ด๊ฐ ์ด๋ค ์ต์
์ ์ ํํ๋์ง ์์๋งํ ๋ด.์ง์ฐฐ์ ๋ฐ๋ค.๋ถ๋ช ํ init ๋ช ๋ น์ด ํ ๊ฒ์ ๋ณต์ ์ผ ๋ฟ์ด๋คrepository from Github.๊ทธ๋์ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฑฐ๊ธฐ์์ ์ฝ๊ฐ์ ๋ฌผ๊ฑด์ ๋ณต์ฌ/๋ถ์ผ ์ ์๋ค. ๋๋ ๋งค์ฐ ์ข๋ค. ๊ทธ๋ ์ง?์ฐ๋ฆฌ ์ด๋ ๊ฒ ํ์.
์ถ๊ฐ ์ํฌ๊ฐ ํ์ํฉ๋๋ค.
npm i --save-dev auto-reload-brunch babel-brunch babel-preset-latest clean-css-brunch uglify-js-brunch
์ง๊ธ๊น์ง ์ค๊ณง ๊ด์ฐฎ์๋ค.npm audit
๋์๊ฒ auto-reload-brunch
์ค ๋ฎ์ ์ฌ๊ฐ์ฑ ๊ตฌ๋ฉ์ด ํ๋๋ฐ์ ์๋ค๊ณ ๋งํ๋ค.์ด๊ฒ์ ๋์๊ฒ ํฐ ์ํฅ์ ์ฃผ์ง ์์ ๊ฒ์ด๋ค. ์๋ํ๋ฉด ์๋์ผ๋ก ๋ค์ ๋ถ๋ฌ์ค๋ ๋ฌผ๊ฑด์ ์ด์จ๋ ๋ด์ฅ๋ ๋ฒ์ ์ ๋ํ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๊ธฐ๋ฅผ ๋ฐ๋๋ค.ํ์ฌ ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์๋
brunch-config.js
ํ์ผ์ด ํ์ํฉ๋๋ค.์ด ์ฌ๊ตฌ๋งค ๊ณ์ฝ์์ ์๋// See http://brunch.io for documentation.
exports.files = {
javascripts: {
joinTo: {
'vendor.js': /^(?!app)/, // Files that are not in `app` dir.
'app.js': /^app/
}
},
stylesheets: {joinTo: 'app.css'}
};
exports.plugins = {
babel: {presets: ['latest']}
};
๊ธฐ๋ค๋ฆฌ๋ค// See http://brunch.io for documentation.
๊ทธ๋, ๊ทธ๋, ์์...์๊ฒ ์ต๋๋ค. ๊ณจ๊ฒฉ์ ๋ฐ๋ผ, ์ ๋ ์ง๊ธ
app
ํด๋๊ฐ ํ์ํฉ๋๋ค. ๊ทธ ํด๋์๋ JS ํ์ผ๊ณผ CSS ํ์ผ์ด ํฌํจ๋์ด ์์ต๋๋ค.์์ธ์ ํฌํจํ๋ ์์ฐ ํด๋๋ ์์ต๋๋ค.html.HTML ํ์ผ ์์ฐ์ ์ ํํ ๊ณ ๋ คํ์ง๋ ์๊ฒ ์ง๋ง, ํคํค.์๋ง๋ ๊ทธ๊ฒ์ ํ์คํ ์ฐ์ธํ ๊ฒ์ด๋ค.๋ค์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ์ด๋ก ์ ์ผ๋ก, ์ด๊ฒ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ์ ์ถฉ๋ถํด์ผ ํ๋ค. ๊ทธ๋ ์ง?์ฐ๋ฆฌ ํ๋ฒ ํด ๋ณผ๊น์?Drumroll ์ ๋ฐ...
์ข์, ํฌ๋ง์ด ์์ด ๋ณด์ฌ!
๋ค, ๋ก๊ณ ๋ ๋ถ๋ฌ์ค์ง ์์ง๋ง, ์ ๋ฐ์ ์ผ๋ก ๋งํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๋ค.๋ค๊ฐ ๋ณธ ๊ณต๊ธ์
์ฒด์ ์๋ชป์ ๋ด๊ฐ ์ ์ง๋ฅธ ์๋ชป์ด๋ค.๊ตฌ์ฑ์ ์
๋ ฅ ์ค๋ฅ์
๋๋ค.๋ชจ๋์ ๋ค์ ๋ก๋ํด ๋ณด๊ฒ ์ต๋๋ค.
์ด ๊ธฐ๋ณธ ์ค์ ์ ๋๋ฅผ ๊น์ง ๋๋ผ๊ฒ ํ๋ค. 70-100๋ฐ๋ฆฌ์ด๋ ์ฌ๊ฑด์ ์ฐ์
๋๊น?๋๋ฌด ๋นจ๋ผ!์ง๊ธ๊น์ง ์ด ์ผ์ ๋ณด๊ธฐ์ ๋งค์ฐ ํฌ๋ง์ ์ด๋ค.
ํ๋ฌ๊ทธ์ธ์ ๋ฃ์ต๋๋ค.
๋๋ค์์ '์ด๋ ๊ฒ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๋ค' ๋ ๋๊ตฌ๋ ๋ชจ๋ ์ฝ๊ฐ์ ๊ฒฐ์ ์ด ์๋ค.์ผ๋ถ ์ ์ธ ์ฅ์น๋ ๊ทธ๊ฒ์ ๋๋ถ๋ถ ์ฐ์ธ๋ฅผ ๋ง์ดํ ๊ฒ์ด๋ค.๋๋ ์์นจ ์ ์ฌ์ด ์ด๋์ ์๋์ง ์๊ณ ์ถ๋ค.ํน์ ํ๋ฌ๊ทธ์ธ์?์ด๋ ๋ณด์.์ด์จ๋ , ๋๋ ํฌ์คํฐ ํ๋ฌ๊ทธ์ธ์ด ํ์ํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํ์ด ์ ์์ ์ผ๋ก ์๋ํ์ง ๋ชปํ๊ฒ ํ ๊ฒ์ด๋ค.๋ธ๋ฐ์น ์ฌ์ดํธ์ nice searchable list of plugins๊ฐ ์๋๋ฐ 2019๋
12์ ์ดํ ๊ฑด๋๋ฆฌ์ง ์์๋ PostSS ํ๋ฌ๊ทธ์ธ์ ์ฐพ์ ์ ์๋ค.์, ๋ฌด์จ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฑฐ์ผ, ๊ทธ๋ ์ง?์ค์น, ์ํ ์ถ๊ฐ, ๋ฌด์จ ์ผ์ด ์ผ์ด๋ ์ง ๋ณด์.
๋ถ๋ช
ํ ์ด๋ก ์ ์ผ๋ก ์ด ์ค์ ํ๋ฌ๊ทธ์ธ ์ค์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
// ...
postcss: {
processors: [
require('tailwindcss')('./tailwind.config.js')
]
}
// ...
๋น ๊ฒ๋ ์ถ๊ฐํ์ดtailwind.config.js
.์ง์๋ฅผ ์กฐ์ ํฉ์๋ค.์์ฐ ์ค์ html ํ์ผ(๋๋ ์ฌ์ ํ ๊ทธ๊ฒ์ด ์ ๊ฑฐ๊ธฐ์ ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค)์ ์ฝ๊ฐ ์ค์ ์ ์ผ๋กtailwind๋ฅผ ์ฌ์ฉํ๋ค.
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Brunch</title>
<link rel="stylesheet" href="/app.css">
<script src="/vendor.js"></script>
<script src="/app.js"></script>
<script>require('initialize');</script>
</head>
<body>
<div class="container my-16 mx-auto">
<h1 class="text-4xl mb-4">
Hello, World!
</h1>
<p class="text-xl mb-4">
Lorem ipsum dolor sit amet
</p>
</div>
</body>
๋ค์ ๋ก๋, aaa ๋ฐ:
์๋ชป์ด ์๊ณ , ์๋ฌด๊ฒ๋ ์๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ค.๊ทธ๋, ๋ฒ์ญ ์๊ฐ์ด 7.4s์ ์ด๋ฅด๋ ์ง๋ง, ์ด๊ฒ์ ์์นจ ์ ์ฌ์ ์๋ชป์ด ์๋์ผ!๋๋ ํผํฉ๋ฌผ์ ์ํ์ ๋ฃ์๋ค.์ํ์ค ์ฐ์ ๋์ด๋ค์ด๋ ๊ฒ์ ํตํด ๋์ ์๋๊ฐ ์ผ๋ง๋ ๋๋ฆฐ์ง ์๊ณ ์ถ๋ค.
import 'alpinejs'
8.2์ด--๊ด์ฐฎ์์.๋๋ถ๋ถ์ ์ง์ถ์ด ๋ฐ๋ฒจ์ผ ์๋ ์๋ค๋ ๊ฒ์ ๊ฐ์ํ์ฌ ์์นจ ์ ์ฌ์ ๊ทธ์ ๋น ๋ฅธ ์ฝ์์ ์ดํํ๋ค.๋์คํ๋ ์ด์ ์ปดํ์ผ ์๊ฐ์ ์ฌ์ ํ 80๋ฐ๋ฆฌ์ด์์ 100๋ฐ๋ฆฌ์ด ์ฌ์ด์ด๋ฉฐ, ์ด๊ฒ์ ์๋นํ ๋น ๋ฅด๋ค.
์์ฝ(10๋ถ ์ถ๊ฐ...)
๋๋ ์ด ์ผ์ด ์ฝ์์ ์งํค๋ ๊ฒ์ด๋ผ๊ณ ๋งค์ฐ ํ์ ํ๋ค.๊ทธ๊ฒ์ ์ด๋ฏธ ๋ง๋ค์ด์ง ๋ง์ ๋ฌผ๊ฑด์ ์ ๊ณตํ์ง๋ ์์์ง๋ง, ๋๋์ ํ๋ฌ๊ทธ์ธ์ ๋ง์ ์ผ์ ๋นจ๋ฆฌ ์์ฑํ๊ธฐ์ ์ถฉ๋ถํ๋ค.๊ตฌ์ฑ ๋ถ๋ถ์ ์ค์ ๋ก ๋ด๊ฐ ๋ฐ๊ฒฌํ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ด๋ค.
์ด ๋ ๊ฐ์ง ๋ฐฐ์น๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์คํํ์๋ค.config์ ์คํ์ผ์ ๋๋ก ํ์ฌ๊ธ Webpack์ ๋ํ Nuxt์ ์ญํ ์ ๋ ์ฌ๋ฆฌ๊ฒ ํ๋ค. ๋ช
๋ น์ ์คํ์ผ์ด ์๋๋ผ ์ฑ๋ช
์ ์คํ์ผ๊ณผ ๊ฐ๋ค.
์์ปจ๋brunch๋ ๋๋์ ํ๋ฌ๊ทธ์ธ์ ํตํด ํ์ฅํ ์ ์๋ ์ ๋ขฐํ ์ ์๋ ๊ตฌ์ถ ๋๊ตฌ์ธ ๊ฒ ๊ฐ๋ค.๋๋ ์ฌ์ ํ Github์์ 143๊ฐ ๋ฌธ์ ์ค ํ๋๋ฅผ ๋ง๋ฌ์ผ๋ฉด ์ข๊ฒ ์ง๋ง, ๊ทธ๋ฆฌ ๋น ๋ฅด์ง๋ ์๋ค.HTML์ ํธ์งํ ๋ ์ฝ๊ฐ ๋ถ์์ ํ ๋๋์ด ๋ค๋๋ผ๋ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ ์ ์๋ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ
๋๋ค.๋๋ ํ์ฌ ์์นจ ์ ์ฌ์ ์ฌ์ฉ ์ํฉ์ด ์ด๋ ํ์ง ํ์คํ์ง ์์ง๋ง, ๊ทธ๊ฒ์ ์ ์ง๋ณด์๋ฅผ ๋ฐ์ ๊ฒ ๊ฐ์์, ๋ ํผ์ ์ผํ๋ ์์ ํ๋ก์ ํธ์ ๋ํด, ๋๋ ์์นจ ์ ์ฌ์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค.
๋๋ ๋ค๊ฐ ์ด ๋ฌธ์ฅ์ ์ฆ๊ฒจ ์ฝ๊ธฐ๋ฅผ ๋ฐ๋๋ค. ๋ง์น ๋ด๊ฐ ๊ทธ๊ฒ์ ์ฆ๊ฒจ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค.ํ๋ฉด, ๋ง์ฝ, ๋ง์ฝ...โค๏ธ ํน์๐ฆ! ๋๋ ์ฌ๊ฐ ์๊ฐ์ ๊ณผํ ๊ธฐ์ ๋ฌธ์ฅ์ ์ฐ๊ณ ๊ฐ๋ ์ปคํผ๋ฅผ ์ฆ๊ฒจ ๋ง์ ๋ค.
๋ง์ฝ ๋น์ ์ด ๋์ ๋
ธ๋ ฅ์ ์ง์งํ๊ณ ์ถ๋ค๋ฉด, buy me a coffee โ ๋๋!๋๋ Paypal๋ฅผ ํตํด ๋๋ฅผ ์ง์ ์ง์งํ ์ ์์ด!
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ต๏ธ๋๋๋ก ์๋ก์ด ๊ฒ์ด ์๋ค: ์์นจ์์ฌ๋ฅผ ์๋ํ๋ค๐ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/thormeier/something-new-every-now-and-then-trying-brunch-109
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
๋๋ค์์ '์ด๋ ๊ฒ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๋ค' ๋ ๋๊ตฌ๋ ๋ชจ๋ ์ฝ๊ฐ์ ๊ฒฐ์ ์ด ์๋ค.์ผ๋ถ ์ ์ธ ์ฅ์น๋ ๊ทธ๊ฒ์ ๋๋ถ๋ถ ์ฐ์ธ๋ฅผ ๋ง์ดํ ๊ฒ์ด๋ค.๋๋ ์์นจ ์ ์ฌ์ด ์ด๋์ ์๋์ง ์๊ณ ์ถ๋ค.ํน์ ํ๋ฌ๊ทธ์ธ์?์ด๋ ๋ณด์.์ด์จ๋ , ๋๋ ํฌ์คํฐ ํ๋ฌ๊ทธ์ธ์ด ํ์ํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํ์ด ์ ์์ ์ผ๋ก ์๋ํ์ง ๋ชปํ๊ฒ ํ ๊ฒ์ด๋ค.๋ธ๋ฐ์น ์ฌ์ดํธ์ nice searchable list of plugins๊ฐ ์๋๋ฐ 2019๋ 12์ ์ดํ ๊ฑด๋๋ฆฌ์ง ์์๋ PostSS ํ๋ฌ๊ทธ์ธ์ ์ฐพ์ ์ ์๋ค.์, ๋ฌด์จ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฑฐ์ผ, ๊ทธ๋ ์ง?์ค์น, ์ํ ์ถ๊ฐ, ๋ฌด์จ ์ผ์ด ์ผ์ด๋ ์ง ๋ณด์.
๋ถ๋ช ํ ์ด๋ก ์ ์ผ๋ก ์ด ์ค์ ํ๋ฌ๊ทธ์ธ ์ค์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
// ...
postcss: {
processors: [
require('tailwindcss')('./tailwind.config.js')
]
}
// ...
๋น ๊ฒ๋ ์ถ๊ฐํ์ดtailwind.config.js
.์ง์๋ฅผ ์กฐ์ ํฉ์๋ค.์์ฐ ์ค์ html ํ์ผ(๋๋ ์ฌ์ ํ ๊ทธ๊ฒ์ด ์ ๊ฑฐ๊ธฐ์ ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค)์ ์ฝ๊ฐ ์ค์ ์ ์ผ๋กtailwind๋ฅผ ์ฌ์ฉํ๋ค.<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Brunch</title>
<link rel="stylesheet" href="/app.css">
<script src="/vendor.js"></script>
<script src="/app.js"></script>
<script>require('initialize');</script>
</head>
<body>
<div class="container my-16 mx-auto">
<h1 class="text-4xl mb-4">
Hello, World!
</h1>
<p class="text-xl mb-4">
Lorem ipsum dolor sit amet
</p>
</div>
</body>
๋ค์ ๋ก๋, aaa ๋ฐ:์๋ชป์ด ์๊ณ , ์๋ฌด๊ฒ๋ ์๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ค.๊ทธ๋, ๋ฒ์ญ ์๊ฐ์ด 7.4s์ ์ด๋ฅด๋ ์ง๋ง, ์ด๊ฒ์ ์์นจ ์ ์ฌ์ ์๋ชป์ด ์๋์ผ!๋๋ ํผํฉ๋ฌผ์ ์ํ์ ๋ฃ์๋ค.์ํ์ค ์ฐ์ ๋์ด๋ค์ด๋ ๊ฒ์ ํตํด ๋์ ์๋๊ฐ ์ผ๋ง๋ ๋๋ฆฐ์ง ์๊ณ ์ถ๋ค.
import 'alpinejs'
8.2์ด--๊ด์ฐฎ์์.๋๋ถ๋ถ์ ์ง์ถ์ด ๋ฐ๋ฒจ์ผ ์๋ ์๋ค๋ ๊ฒ์ ๊ฐ์ํ์ฌ ์์นจ ์ ์ฌ์ ๊ทธ์ ๋น ๋ฅธ ์ฝ์์ ์ดํํ๋ค.๋์คํ๋ ์ด์ ์ปดํ์ผ ์๊ฐ์ ์ฌ์ ํ 80๋ฐ๋ฆฌ์ด์์ 100๋ฐ๋ฆฌ์ด ์ฌ์ด์ด๋ฉฐ, ์ด๊ฒ์ ์๋นํ ๋น ๋ฅด๋ค.์์ฝ(10๋ถ ์ถ๊ฐ...)
๋๋ ์ด ์ผ์ด ์ฝ์์ ์งํค๋ ๊ฒ์ด๋ผ๊ณ ๋งค์ฐ ํ์ ํ๋ค.๊ทธ๊ฒ์ ์ด๋ฏธ ๋ง๋ค์ด์ง ๋ง์ ๋ฌผ๊ฑด์ ์ ๊ณตํ์ง๋ ์์์ง๋ง, ๋๋์ ํ๋ฌ๊ทธ์ธ์ ๋ง์ ์ผ์ ๋นจ๋ฆฌ ์์ฑํ๊ธฐ์ ์ถฉ๋ถํ๋ค.๊ตฌ์ฑ ๋ถ๋ถ์ ์ค์ ๋ก ๋ด๊ฐ ๋ฐ๊ฒฌํ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ด๋ค.
์ด ๋ ๊ฐ์ง ๋ฐฐ์น๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์คํํ์๋ค.config์ ์คํ์ผ์ ๋๋ก ํ์ฌ๊ธ Webpack์ ๋ํ Nuxt์ ์ญํ ์ ๋ ์ฌ๋ฆฌ๊ฒ ํ๋ค. ๋ช
๋ น์ ์คํ์ผ์ด ์๋๋ผ ์ฑ๋ช
์ ์คํ์ผ๊ณผ ๊ฐ๋ค.
์์ปจ๋brunch๋ ๋๋์ ํ๋ฌ๊ทธ์ธ์ ํตํด ํ์ฅํ ์ ์๋ ์ ๋ขฐํ ์ ์๋ ๊ตฌ์ถ ๋๊ตฌ์ธ ๊ฒ ๊ฐ๋ค.๋๋ ์ฌ์ ํ Github์์ 143๊ฐ ๋ฌธ์ ์ค ํ๋๋ฅผ ๋ง๋ฌ์ผ๋ฉด ์ข๊ฒ ์ง๋ง, ๊ทธ๋ฆฌ ๋น ๋ฅด์ง๋ ์๋ค.HTML์ ํธ์งํ ๋ ์ฝ๊ฐ ๋ถ์์ ํ ๋๋์ด ๋ค๋๋ผ๋ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ ์ ์๋ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ
๋๋ค.๋๋ ํ์ฌ ์์นจ ์ ์ฌ์ ์ฌ์ฉ ์ํฉ์ด ์ด๋ ํ์ง ํ์คํ์ง ์์ง๋ง, ๊ทธ๊ฒ์ ์ ์ง๋ณด์๋ฅผ ๋ฐ์ ๊ฒ ๊ฐ์์, ๋ ํผ์ ์ผํ๋ ์์ ํ๋ก์ ํธ์ ๋ํด, ๋๋ ์์นจ ์ ์ฌ์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค.
๋๋ ๋ค๊ฐ ์ด ๋ฌธ์ฅ์ ์ฆ๊ฒจ ์ฝ๊ธฐ๋ฅผ ๋ฐ๋๋ค. ๋ง์น ๋ด๊ฐ ๊ทธ๊ฒ์ ์ฆ๊ฒจ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค.ํ๋ฉด, ๋ง์ฝ, ๋ง์ฝ...โค๏ธ ํน์๐ฆ! ๋๋ ์ฌ๊ฐ ์๊ฐ์ ๊ณผํ ๊ธฐ์ ๋ฌธ์ฅ์ ์ฐ๊ณ ๊ฐ๋ ์ปคํผ๋ฅผ ์ฆ๊ฒจ ๋ง์ ๋ค.
๋ง์ฝ ๋น์ ์ด ๋์ ๋
ธ๋ ฅ์ ์ง์งํ๊ณ ์ถ๋ค๋ฉด, buy me a coffee โ ๋๋!๋๋ Paypal๋ฅผ ํตํด ๋๋ฅผ ์ง์ ์ง์งํ ์ ์์ด!
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ต๏ธ๋๋๋ก ์๋ก์ด ๊ฒ์ด ์๋ค: ์์นจ์์ฌ๋ฅผ ์๋ํ๋ค๐ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/thormeier/something-new-every-now-and-then-trying-brunch-109
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ต๏ธ๋๋๋ก ์๋ก์ด ๊ฒ์ด ์๋ค: ์์นจ์์ฌ๋ฅผ ์๋ํ๋ค๐ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/thormeier/something-new-every-now-and-then-trying-brunch-109ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค