[Front-end๐ฆ] #18 Tailwind, Linux
15811 ใฏใผใ
1. Tailwind
ๆจๆฅใฎBootstrapใซ็ถใใTailwindใงUIใๆธใๅฎ่ทตใ่กใใใพใใ.
(่ชๅๅ้ )bootstrapใtailwindcssใtachyons
ๅคง้ไฝฟ็จ
ใฌใคใใใผ+php+mysql
ในใฟใผใใใผ+ใฏใผใใใฌใน
ในใฟใผใในใใชใใ+Django
ใฌใคใใใผ+ใใผใ
1-1. ๅคฉไธ็ฌฌไธๅฑฅๆญดๆธใณใณใในใ
tailwindใๅฉ็จใใฆๅฑฅๆญดๆธใไฝใใณใณใในใใ่กใใพใใ!ๆกไปถใฏใใผใซ้ขจไปฅๅคใฎCSSใๅ ฅใใชใใใจใงใ.ใใญใธใงใฏใ้จๅใฏ4ใคใฎใใญใธใงใฏใใชใฎใงใๅ ๅฎนใ ใ็ทจ้ใใฆๅ ฅใใพใใ!
้ฃใใใฏใใใพใใใใใฏใฉในๅ จๅกใฎๅๅใใพใ ๅใใใชใใฎใงใใใฃใจๆขใใฆใใพใใ.width:1200 px;ๅคงใใใซใใใซใฏใซในใฟใใคใบใๅฟ ่ฆใชใฎใใใกใชใใใงใใงใ็ผใใใใจใฆใๆฉใๆใใพใ
ใใใฆๅฎใฏ...ๅถไฝๅ ๅฎนใใใๅ ๅฎนใฎๅใ่พผใฟใ้ฃใใใงใใ ใ โฆ็ต้จใฎใใ้็บ่ ใๅฑฅๆญดๆธใ่ฆใใจใใพใๅฑฅๆญดๆธใ่ฏใใใงใ่ชๅใไปไบใง่ฆใคใใ็นๆใใใใพใใใ็งใฎ้็บ็ต้จใฏใใใปใฉๅคใใชใใฎใงใ่ฆใคใใซใใใงใ.
2. VSC Extension
ๅคใใฎๆ็จใชๆกๅผตใ่ฟฝๅ ใใใพใใ.
3. Linux
AWSๅญฆ็ไฟก็จๅ้กใซๅฏพใใฆbroomIDEใ็จใใLinuxๅฎ็ฟใ่กใฃใ.ngnixใไฝฟ็จใใฆgithubไธใฎrepoใ้งๅใใพใ.
็ปๅใฝใผใน
IaaS PaaS Saasใฏใฉใฆใใณใณใใฅใผใใฃใณใฐๆๆซ่ฉฆ้จ
ใใใฉใซใใณใใณใ
mkdir folder # make directory
mkdir -p one/two/three/four # --parents ์ต์
์ผ๋ก๋ ๊ฐ๋ฅ
mkdir one;cd one # ; ๋์ ์คํ
# ; - ์์ด ์คํจํด๋ ๋ค์ ๋ช
๋ น์ด ์คํ
# && - ์์ด ์ฑ๊ณตํ์ ๋๋ง ๋ค์ ๋ช
๋ น์ด ์คํ
# & - ์์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋๋ฆฌ๊ณ ๋์์ ๋ค์ ๋ช
๋ น์ด ์คํ
rmdir folder # remove directory
rm -r folder/ # ํ์ผ์๋ ํด๋ ์ง์ธ ๋
# -r๋ recursive ์ฌ๊ท์ ์ผ๋ก ํ์ผ ์ง์
pwd # present working directory
ls # list segments -a, -l...
ll # ls -al
cd # change directory
cd / # ์ต์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd .. # ์์
cd, cd ~ # ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
chmod # change mode: ๊ถํ ์์ .
chmod ugo+x test.py
ehco # print
echo "hello world" > hello.txt # ์์ ๋ช
๋ น์ด์ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ์ ๋ฎ์ด์ฐ๊ธฐ.
rm # remove
cp test.py test2.py # copy
# Tab - ์๋์์ฑ, History - ํ์ดํ ์, ์๋
cat test.txt # ํ์ผ ์ฝ๊ธฐ, ์์ด ๋ง์ผ๋ฉด more๋ก
# q : ์ข
๋ฃ
# enter : 1ํ ์๋๋ก
# z ๋๋ ์คํ์ด์ค๋ฐ : 1ํ์ด์ง ๋ค์ํ์ด์ง, b : ์ด์ ํ์ด์ง, = : ํ์ฌ ํ๋ฒํธ ํ์
# /๋ฌธ์์ด : ๋ฌธ์์ด ๊ฒ์ (๊ตฌ๋ฆ์์ ์ ๋๋ก ํ์ด๋ผ์ดํ
์ด ๋์ง ์์)
# v : ํ์ฌ ์ด๋ ค์๋ ์์น์์ vi ์คํ
cat test.txt | grep "asdf" # test.txt ์์ asdf ๋ค์ด๊ฐ line ์ก์์ด.
mv test2.py ../ # move
mv test2.py scientist.py # ์ด๋ฆ ๋ฐ๋
mv abc.txt xyz/def.txt #xyz ์์ def๋ก ์ด๋ฆ ๋ฐ๋์ด ์ด๋
mv abc.txt xyz #xyz ๋๋ ํ ๋ฆฌ๊ฐ ์๋ค๋ฉด abc.txt ํ์ผ์ xyz๋ก ์ด๋ฆ์ ๋ฐ๊พธ์ด ์ด๋, ์๋ค๋ฉด xyz ๋๋ ํ ๋ฆฌ ์์ผ๋ก abc.txt ํ์ผ์ ์ด๋.
# cp ๋ ๊ฐ์.
VIM
touch test.txt # file ์์ฑ.
touch test{3..5}.txt #3~5๋ฒ
touch test6.txt test6.txt #6 7๋ฒ
vi test.txt # esc ๋ช
๋ น๋ชจ๋ a, i, o ์
๋ ฅ ๋ชจ๋ : ๋๊ฐ๊ธฐ q wq wq! ...
# ๋ช
๋ น๋ชจ๋์์ ์๋ ๋ช
๋ น์ด ์คํ
# dd : ์ญ์ , 2dd : 2์ค ์ญ์
# 6x : 6๊ฐ char ์ญ์
# yy : ํ ์ค ๋ณต์ฌ, p: ๋ถ์ฌ๋ฃ๊ธฐ
# i : ์ปค์ ์์ผ๋ก ์ถ๊ฐ, a : ์ปค์ ๋ค์์ผ๋ก ์ถ๊ฐ, o : ์ปค์๊ฐ ์๋ ํ ์ค ๋ค
# Shift + i, Shift + a : ํ์ฌ ์๋ ๋ผ์ธ ๊ฐ์ฅ ์/๋ค์์ ์ถ๊ฐ
# Shift + v : ์ฌ๋ฌ์ค ์ ํ(y ๋๋ฌ์ ๋ณต์ฌ ํ p ๋๋ฅด๋ฉด ๋ถ์ฌ๋ฃ๊ธฐ, ๋๋ d(์ญ์ ), ๋๋ =(์ ๋ ฌ))
# Shift + ^, Shift + $ : ์ฒ์๊ณผ ๋ง์ง๋ง
# hjkl : ๋ฐฉํญํค ๋์ฉ
# Ctrl + f, Ctrl + b : ์ดํ์ ์ด์ ํ์ด์ง ๋ณด๊ธฐ
# /python์ผ๋ก python์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฐพ์ ์ ์์, n์ด๋ฉด ์ดํ, N์ด๋ฉด ์ด์
ngnixๅฐๅ ฅ
wget http://www.paullab.co.kr/images/ceo.png
# Web์์ getํ๋ค!
apt-get sudo apt-get install git
#sudo๋ Super User Do
#apt-get์ ํจํค์ง ๋งค๋์ ! ์ฑ์ ๋ค์ด๋ก๋ํ๋ google studio์ ๊ฐ์ ์ญํ !
git clone ์ฃผ์
sudo apt-get update
sudo apt-get install nginx
vi /etc/nginx/sites-available/default
# root /var/www/html; ์ root /workspace/์ปจํ
์ด๋์ด๋ฆ/1000hours; ๋ก ๋ฐ๊พธ๊ธฐ.
sudo service nginx start
# server ํ์ธ
# sudo service nginx stop
vi/etc~~ใใงใผใบใงใฏใๅ
ฅๅใขใผใใฏใชใใๅ
ฅๅใฎใฟใงใๅ
ฅๅใใใฐใใใใใใใพใใใใๆๅพใซ้
ๅธใใใฆใใชใใฎใงใๅ้คใใฆใๅๅ
ฅๅ...ๅฎ้ใฎ้
็ฝฎใ่กใใซใฏใๆ
้ใซใใชใใใฐใชใใพใใ.ใใญใปในใใขใฏใปใน
top # ์์
๊ด๋ฆฌ์, q๋ฅผ ๋๋ฅด๋ฉด ๋น ์ ธ๋๊ฐ
ps # process status ํ์ฌ ํ๋ก์ธ์ค ์ํ
ps aux
kill 22131
# 22131์ด๋ผ๋ PID(ํ๋ก์ธ์ค์์ด๋)๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค ์ข
๋ฃ
cd ~
cd /
find / -name 'test2.py' # ํด๋น ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ค๋ค.
find / -name '*.py'
sudo find / -name '*.py'
# ํ์ฌ ํด๋๋ฉด .cd ์์์ ์ฐพ์ ํด๋๋ก ์ด๋
chmod 700 test.py
# chmod(Change Mode)
# ํ์ผ์ ์ข
๋ฅ / ์์ ์ / ๊ทธ๋ฃน ์ฌ์ฉ์ / ๊ธฐํ ์ฌ์ฉ์
# rwx - ์ฝ๊ธฐ(4), ์ฐ๊ธฐ(2), ์คํ(1)
# 700์ ๊ฒฝ์ฐ๋ ์์ ์ ๋ชจ๋ ๊ถํ / ๊ทธ๋ฃน, ๊ธฐํ ๊ถํ X
ls -al
chmod ugo+x test.py
# ์ฌ์ฉ์ ์นดํ
๊ณ ๋ฆฌ u(ํ์ผ ์์ ์), g(๊ทธ๋ฃน), o(๊ธฐํ ์ฌ์ฉ์)
# +๊ถํ ๋ถ์ฌ, -๊ถํ ์ ๊ฑฐ
ls -al
# ์์ถํ์ผ ์ฌ๋ฆฌ๊ณ
unzip test.zip
mkdir one;touch test.py;touch testTwo.py
zip -r one.zip ./one # ์์ถํ ํด๋ ์ด๋ฆ์ ํ์ฌ ์์น์ ๋ง์ถฐ์ ๊ฒฝ๋ก๋ฅผ ์จ์ผ ํจ.
่ฟฝๅ ใณใใณใ
alias # ๋ณ์นญ ์ง์ . alias๋ง ์น๋ฉด ๋ชฉ๋ก ๋์ด.
# alias ls='ls -a' / alias rm='rm -f'
# unalias ls # ๋ณ์นญ ์ญ์ .
man # ๋ฉ๋ด์ผ
nslookup # ๋๋ฉ์ธ ๋ช
๋ น์ผ๋ก IP ์กฐํ
# ๊ธฐ๋ณธ ์ค์น๊ฐ ์๋์ด ์์ด์ apt-get update ํ
# apt-get install dnsutils๋ก ์ค์นํด์ผ ํจ
ping # ์ ์์ด ๋๋์ง : ๋๊ธฐ์
์์๋ ๋ง์๋
# sudo apt-get install iputils-ping
traceroute # ๊ฒฝ๋ก ์ถ์ : ๋คํธ์ํฌ ์ด์ ์๊ฒผ์ ๋ ์ฌ์ฉ.
# apt-get install traceroute
which find
which python
which node # ์คํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก๋ช
echo "hello world"
echo "hello world" > file.py
# ๋ด์ฉ์ด ์๋ ํ์ผ ์์ฑ ๊ฐ๋ฅ
fg # foreground
bg # background
# ํ๋ก์ธ์ค๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋๋ ํฌ๊ทธ๋ผ์ด๋๋ก ์ฎ๊ธฐ๋ ์์
python file.py &
# "&" ๋ช
๋ น์ด, ํฐ๋ฏธ๋์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ,
# ํฐ๋ฏธ๋ ์ธ์
์ด ๋๊ธฐ๋ฉด ์ข
๋ฃ๋จ, ๋ฒ์ ์ ๋ฐ๋ผ nohup๋ช
๋ น๊ณผ ๊ฐ์ ๋์ํ๊ธฐ๋ ํจ
jobs # ํ๋ก์ธ์ค ์์
์ถ๋ ฅ
ifconfig # ๋คํธ์ํฌ ์ ๋ณด ์ถ๋ ฅ(ip, ์ด๋๋ท ๋ฑ)
htop # ๋ชจ๋ํฐ๋ง(top๊ณผ ๊ฐ์, ๊ธฐ๋ณธ ์ค์น X)
head file.py #ํ์ผ ๋ด์ฉ ์๋ถํฐ 10์ค ํ์
head -3 file.py #์๋ถํฐ 3์ค
tail file.py #ํ์ผ ๋ด์ฉ ์๋๋ถํฐ 10์ค ํ์
tail -3 file.py #์๋๋ถํฐ 3์ค
head -F file.py
tail -F file.py
#head์ tail์ -F ์์ฑ์ ์ถ๊ฐํ๋ฉด ๊บผ์ง์ง์๊ณ ํ์ผ๋ณ๊ฒฝ๋ด์ฉ์ด ์ค์๊ฐ์ผ๋ก ๊ฐฑ์ ๋๋ค.
# no hang up : ๋๊ธฐ์ง ์๊ณ ์คํ! ํผ๋ฏธ์
์ ํญ์ 755์ด์์ด์ด์ผ ํจ
nohup python file.py # ๋ฐ๋ชฌ ํํ๋ก ์คํ: ํฐ๋ฏธ๋ ์ธ์
์ด ๋๊ฒจ๋ ๊ณ์ ์คํ๋จ
nohup python file.py & # ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ, ํฐ๋ฏธ๋ ์ธ์
์ด ๋๊ฒจ๋ ๊ณ์ ์คํ๋จ + ์ข
๋ฃ์์ด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋์
tail -f nohup.out
# nohup์ ์ฌ์ฉํ๋ฉด nohup.outํ์ผ์ด ๋์จ๋ค. ํด๋น ํ์ผ์ ํ๋ก์ธ์ค์ ์ถ๋ ฅ๋ด์ฉ์ด ๊ธฐ๋ก๋๋ค. ์๋ฒ๋ก๊ทธ๋ฑ์ ์ค์๊ฐ์ผ๋ก ๋ณด๊ณ ์ถ๋ค๋ฉด ํด๋น ๋ช
๋ น์ด์ ์กฐํฉํ์ฌ ์ฌ์ฉํ๋ฉด ์ข๋ค.
curl <option> <url>
# ์๋ฒ์ ํ
์คํธ ์์ฒญ ๋ ๋ฆด ๋ ๋ง์ด ์ฌ์ฉ.
curl http://www.paullab.co.kr
curl -o index.html http://www.paullab.co.kr
curl -d {data:1, data:2} -X POST <url> # ํจํท ๋ ๋ฆด ๋ ์ฌ์ฉ!!!
# -d ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด๋๋ ํ์์ผ๋ก ์์ฒญํ ๋ ์ฌ์ฉ, -X๋ ์์ฒญ๋ฐฉ์ ์ ํ
curl -H "Content-Type: application/x-www-form-urlencoded"\
-X GET <url>
# -H๋ ํค๋๋ด์ฉ ์ถ๊ฐ ์ดํ ๋ ๋ง์ ๋ด์ฉ์ด ์์ผ๋ ๋๋ฌด ๋ง์ผ๋ ์๋ต
curl -d
ใณใใณใใ...ใณใณใใฅใผใฟใผใทในใใ ใฎ่ชฒ้กใใใใจใใซๆจฉ้ใ้้ใใใฎใงใๆๆใฏ็งใฎ่ชฒ้กใใกใคใซใ่ฆใใชใใใฐใใผใญ็นใใใใฆใใกใใใจใใใใใฆใใ ใใใจ่จใใพใใ.ใไน
ใใถใใงใ.ใปใผ็ฉบ็ฝ็ถๆ
ใใใฎๆใใปใปใป4. JS Challenge
ๆจๆฅใฎๅ ๅฎนใๅพฉ็ฟใใ่ชฒ้กใซๆๆฆใใพใใ.่ชฒ้กใฎๅ ๅฎนใฏๆญฃ็ขบใซใฏ่จใใพใใใโฆ็งใฏใใ็ทจใใ ใ,ๅ้กใใใ.Inputใใๅฐๅ ฅใใใa,bใฏใใใใ0ใงใใใ,a==bใฏfalseใงใใ.ๆฌๅฝใซ30ๅใฎๅ้กใ่งฃๆฑบใใใใจๅชๅใใพใใใใใณใณใฝใผใซใงๆฎใฃใฆใฟใพใใ...input.valueใซๆฐใฅใใ...่งฃๆฑบใใใใใซParseIntใ่ฟฝๅ ใใพใใ...่็ก......
5.ๅฐๅ้กง
ไบๅฎ-ไฝใ่ตทใใฃใใฎใใไฝใใใใฎใ.
find-ใฏใฉใใชใฆใงใใตใคใใใใใพใ
ไปๅพ่ฟฝๅ ใใไบๅฎใงใ.
Reference
ใใฎๅ้กใซใคใใฆ([Front-end๐ฆ] #18 Tailwind, Linux), ๆใ ใฏใใใๅคใใฎๆ ๅ ฑใใใใง่ฆใคใใพใใ https://velog.io/@ddosang/Front-end-18ใใญในใใฏ่ช็ฑใซๅ ฑๆใพใใฏใณใใผใงใใพใใใใ ใใใใฎใใญใฅใกใณใใฎURLใฏๅ่URLใจใใฆๆฎใใฆใใใฆใใ ใใใ
Collection and Share based on the CC Protocol