[git]
git config --global http.sslVerify false
[system]
sudo trust anchor --store ~/my-ca-cert.crt
[python]
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
[git]
git config --global http.sslVerify false
[system]
sudo trust anchor --store ~/my-ca-cert.crt
[python]
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
#!/bin/bash
#
# Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
#
# NVIDIA Corporation and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA Corporation is strictly prohibited.
#
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <Install Folder>"
exit
fi
folder="$1"
user="nvidia"
passwd="nvidia"
echo "** Install requirement"
sudo apt-get update
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python2.7-dev python3.6-dev python-dev python-numpy python3-numpy
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
sudo apt-get install -y curl
sudo apt-get update
echo "** Download opencv-4.0.0"
cd $folder
curl -L https://github.com/opencv/opencv/archive/4.0.0.zip -o opencv-4.0.0.zip
curl -L https://github.com/opencv/opencv_contrib/archive/4.0.0.zip -o opencv_contrib-4.0.0.zip
unzip opencv-4.0.0.zip
unzip opencv_contrib-4.0.0.zip
cd opencv-4.0.0/
echo "** Building..."
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.0.0/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j3
sudo make install
sudo apt-get install -y python-opencv python3-opencv
echo "** Install opencv-4.0.0 successfully"
echo "** Bye :)"โ
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
sudo apt-get install build-essential git cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.1.0
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.1.0
sudo apt-get install python3-dev
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=${ARCH_BIN} \
-D CUDA_ARCH_PTX="" \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/nvidia/Research/opencv_contrib/modules \
-D BUILD_opencv_legacy=OFF \
../
make -j4
sudo make install
sudo ldconfig
์ต๊ทผ Kakao์์ Khaiii๋ฅผ ๋ฐํํด์ ์กฐ๊ธ ์ธ๊ธฐ๊ฐ ์ฝํด์ง๊ธด ํ์ง๋ง, ์ฌ์ ํ Khaiii์ ๋ง๋จน๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ mecab์ค์น๋ฅผ ์งํํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
1. ์ฐ์ mecab ํํ์ด์ง์์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ ํฉ๋๋ค.
ํ์ฌ๋ mecab-0.996-ko-0.9.2.tar.gz ์ด ํ์ผ์ด ์ต์ ์ด๋ค์.
https://bitbucket.org/eunjeon/mecab-ko/downloads/
2. ํ์ผ์ ๋ค์ด๋ฐ์์ ํน์ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ ํ๊ณ ์์ถ์ ํ์ด ์ค๋๋ค.
tar -zxvf mecab-*-ko-*.tar.gz
3. ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ configure/make/make install ์ ์งํ ํฉ๋๋ค.
cd mecab-0.996-ko-0.9.2
./configure
make
make check
sudo make install
4. ์ค์น ๋ฒ์ ์ ํ์ธํ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ ํฉ๋๋ค.
mecab --version
5. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ฉํด์ฃผ๊ณ ๋ค์ ๋ฒ์ ์ ํ์ธํ๋ฉด ์ ์์ ์ผ๋ก ํ์ ๋ฉ๋๋ค.
sudo ldconfig
mecab --version
** ์ด ๋ฐฉ๋ฒ ์ธ์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ๋ฒ์ ์ค์น ํ ์๋ ์์ต๋๋ค.
pip install python-mecab-ko
6. ๋ค์์ ํ๊ตญ์ด ์ฌ์ ์ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ ์ฌ์ ์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ถ์ ํ์ด ์ค๋๋ค.
ํ์ฌ์ ์ต์ ๋ฒ์ ์ mecab-ko-dic-2.1.1-20180720.tar.gz ์ด๊ตฐ์.
https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/
tar -zxvf mecab-ko-dic-2.1.1-20180720.tar.gz
7. ์์ถ์ ํผ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ make๋ฅผ ์งํํฉ๋๋ค.
cd mecab-ko-dic-2.1.1-20180720
./configure
make
sudo make install
8. ํ ์คํธ๋ฅผ ํด๋ด ๋๋ค. Khaiii์ฒ๋ผ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ ํ ๋ถ์ํ๊ณ ์ ํ๋ ๋ฌธ์ฅ์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
mecab -d /usr/local/lib/mecab/dic/mecab-ko-dic
์ค์น๊ฐ ์ ๋์์ต๋๋ค.
9. Python์์ ์ ๋๋์ง ํ ์คํธ ํด ๋ด ๋๋ค.
import mecab
mecab = mecab.MeCab()
mecab.morphs('์๋ฑํฌ๊ตฌ์ฒญ์ญ์ ์๋ ๋ง์ง ์ข ์๋ ค์ฃผ์ธ์.')
# ['์๋ฑํฌ๊ตฌ์ฒญ์ญ', '์', '์', '๋', '๋ง์ง', '์ข', '์๋ ค', '์ฃผ', '์ธ์', '.']
์ด์์ผ๋ก ๋ง์น๊ฒ ์ต๋๋ค.
์ต๊ทผ์...๊ตฌ๊ธ์์ ๋ฐํํ BERT์ดํ์ด ์ฅ๋์ด ์๋๋๋ค.
๊ฒ๋ค๊ฐ LG CNS์์ SQuaD ๋ฐ์ดํฐ์ ์ ํ๊ธ๋ก ๋์ฒด ํ ์ ์๋ KorQuAD ๋ฐ Leader Board๋ฅผ ์ ๊ณตํด์ฃผ์ด์,
๊ตญ๋ด ์ ์์ AI ๊ฐ๋ฐํ์ด ๋ง์ด ์ฐธ์ฌ๋ฅผ ํ๋ ์ดํ์ด ์์์ต๋๋ค.
BERT์ ๋ํด ๊ถ๊ธํ์๋ฉด ์๋ ๊ธฐ์ฌ๋ฅผ ์ฝ์ด๋ณด์๋ฉด ๋ฉ๋๋ค.
http://www.aitimes.kr/news/articleView.html?idxno=13117
์ , ๋ฆฌ๋๋ณด๋์ 3๋ฑ๊น์ง๋ฐ์ ์๋ ์์ ์ BERT๋ฅผ ์ด์ฉํด์ 4๋ฑ์ด๋ผ๋ ํด๋ณด์ ๋ผ๊ณ ํ๋ค๊ฐ...
ํ๋ก์ ํธ๋๋ฌธ์, ๋ฏธ๋ฃจ๋ค, ์ง๊ธ์ ๊ฐ์ ํ 22๋ฑ์ ๋จธ๋ฌผ๋ ๋ค์.
(๊ธ์ ์ฐ๋ ๋์ค์ ๋ณด๋ 23๋ฑ์ผ๋ก ๋ฐ๋ ธ๋ค์...ใ
ใ
)
์ด๋ฒ์, ์ถ๊ฐ์ ์ผ๋ก ํด๋ณผ ์ ์๋ ์์ด๋์ด๋ฅผ ์ป์ด, KorQuAD์ ๋ฆฌ๋๋ณด๋ ์์๋ฅผ ๋์ฌ๋ณด๊ณ ์ ํฉ๋๋ค.
๊ทธ์ค ํ๋์ ๋ฐฉ๋ฒ์ด default๋ก ์ค์ ๋์ด ์๋ BERT์ multilingual tokenizer๋ฅผ ๋์ฒด ํ๋ ๊ฒ ์ ๋๋ค.
ํ๊ตญ์ด์ ๊ธฐ์กด ํํ์ ๋ถ์๊ธฐ๋ konlpy, mecab๋ฑ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ์นด์นด์ค์์ Khaiii๋ผ๋ ํํ์ ๋ถ์๊ธฐ๋ฅผ ๋ฐํํ์ต๋๋ค.
Khaiii๋ ๋ฅ๋ฌ๋(CNN)๊ธฐ๋ฐ์ ํํ์ ๋ถ์๊ธฐ ์ธ๋ฐ, ๊ธฐ์กด์ ์ฑ๋ฅ์ด ๋๋ Mecab๊ณผ ๋์ผํ๊ฑฐ๋ ์ข ๋ ๋์ ์ฑ๋ฅ์ ๋ด๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
๋๋ฌธ์, ์ฐ์ Khaiii๋ฅผ ์ค์นํ๋ ๋ฒ์ ๊ธฐ๋กํ๋ฉฐ ์งํํ๋ ค๊ณ ํ๋๋ฐ,
์ง๊ธ ํ๊ฒฝ์ด Linux์ด๋ค ๋ณด๋, Linux ํ๊ฒฝ ์์ฃผ๋ก ์งํ์ ํ๊ฒ ์ต๋๋ค.
์ฐ์ ๊ธฐ๋ณธ ๋น๋ ํ๊ฒฝ์ ์๋์ ๊ฐ์ต๋๋ค.
Ubuntu(Mint Linux) 18.04
Python 3.6
gcc 7.xx
1. Khaii git ์ ์ฅ์๋ฅผ clone ํฉ๋๋ค.
git clone https://github.com/kakao/khaiii.git
2. build๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ด๋ ํฉ๋๋ค.
cd khaiii
mkdir build
cd build
3. Cmake๋ฅผ ์คํํฉ๋๋ค. (์ปคํผํ์ ํ ๊ฐ์ง๊ณ ์ต๋๋ค.)
cmake ..
4. Make๋ฅผ ์คํํฉ๋๋ค. (์ปคํผ๋ฅผ ํ์ ๋ ํ ๊ฐ์ง๊ณ ์ต๋๋ค.)
make all
์ฑ๊ณต์ ์ผ๋ก ๋น๋๊ฐ ๋๋ฉด build ๋๋ ํฐ๋ฆฌ ์๋์ ๋ค์๊ณผ ๊ฐ์ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
5. make resource : bin ๋๋ ํ ๋ฆฌ์ ์์ฑ๋ khaiiiํ์ผ์ ์คํํ๊ธฐ ์ํด์๋ ํด๋น ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋
๋ฆฌ์์ค ๋ค์ ๋น๋ ํด์ผ ํฉ๋๋ค.
make resource
6. ํ ์คํธ๋ฅผ ํด ๋ด ๋๋ค.
./bin/khaiii --rsc-dir=./share/khaiii
๋ช ๋ น์ด๋ฅผ ์น๋ฉด "...PoS tagger opened"๋ผ๋ ๋ฉ์์ง ๋ค์์ ์๋ฌด ๋ณํ๊ฐ ์๋๋ฐ,
์ฌ๊ธฐ์ ํ ์คํธ ํ๊ณ ์ ํ๋ ๋ฌธ์ฅ์ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด ํํ์ ๋ถ์์ด ๋ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ์ด ๋ฉ๋๋ค.
7. ์ ์ ์๋์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
ctest
7. python๊ณผ ์ฐ๋์ ์ํด make๋ฅผ ํฉ๋๋ค. (python binding)
make package_python
8. pip install ์คํ
cd package_python
pip install .
9. Python ๋ฐ์ธ๋ฉ ํ ์คํธ
๋ง์ง๋ง์ผ๋ก, python ๋ฐ์ธ๋ฉ์ด ์ ๋์ด ์๋์ง ํ ์คํธ ํฉ๋๋ค.
์๋ ์์ค๋ฅผ python์ผ๋ก ์คํ์์ผ๋ด ๋๋ค.
** ์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ ํ์ฌ์ ๋๋ ํ ๋ฆฌ(./package_python)์ ๋ฒ์ด๋์ ์คํํด์ผ ํฉ๋๋ค.
ํ์ฌ์ ๋๋ ํ ๋ฆฌ์์ ์คํํ๋ฉด ํ์ฌ์ buildํ์ผ์ ์คํํ๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ ๋ฌธ์ ๊ฐ
๋ฐ์ํฉ๋๋ค.
from khaiii import KhaiiiApi
api = KhaiiiApi()
for word in api.analyze('์๋
, ์ธ์.'):
print(word)
์ ์ด๋ฏธ์ง ์ฒ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉด ์ ๋๋ ๊ฒ ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
Anaconda ์ค์น ์์ฒด๋ ๊ทธ๋ฆฌ ์ด๋ ค์ด ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์๋ตํฉ๋๋ค.
์ค๋ฌด์์ ์ ๋ฒ ์ ์ฉํ๋ ํ์ ๊ณต์ ํฉ๋๋ค.
1. ํจํค์ง ๊ด๋ฆฌ
๊ฐ. ํจํค์ง ์ค์น
> conda install numpy scipy pandas
๋. ํจํค์ง ์ ๊ฑฐ
> conda remove ํจํค์ง๋ช
๋ค. ํจํค์ง Update
> conda update ํจํค์ง๋ช
๋ผ. ๋ชจ๋ ํจํค์ง Update
> conda update --all
๋ง. ์ค์น๋ ํจํค์ง ํ์ธ
> conda list
๋ฐ. ํจํค์ง ์ด๋ฆ์ ์ ๋ชจ๋ฅผ๋ ๊ฒ์
> conda search *beautiful*
2. ํ๊ฒฝ ๊ด๋ฆฌ
๊ฐ. ๊ฐ์ํ๊ฒฝ ์์ฑ
> conda create -n [๊ฐ์ํ๊ฒฝ๋ช ] [๊ธฐ๋ณธ์ค์นํ ํจํค์ง]
'๊ธฐ๋ณธ์ค์นํ ํจํค์ง'๋ ์ฌ๋ฌ ํจํค์ง๋ฅผ ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ค.
๋. ํจํค์ง์ ํน์ ๋ฒ์ ์ ์ค์นํ์ฌ ๊ฐ์ํ๊ฒฝ ์์ฑ
> conda create -n my_env python=3.6
๋ค. ๊ฐ์ํ๊ฒฝ ํ์ฑํ
> source activate [๊ฐ์ํ๊ฒฝ๋ช ]
๋ผ. ๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ
> source deactivate
3. ๊ฐ์ํ๊ฒฝ ์ ์ฅ ๋ฐ ๊ณต์
๊ฐ. ๊ฐ์ํ๊ฒฝ export
> conda env export > [ํ์ผ์ด๋ฆ].yaml
์ด ํ์ผ์ ๋ฐฑ์ ํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๊ฐ์ ํ๊ฒฝ์ ๊ณต์ ํ ์ ์๋ค.
๋. ๊ณต์ ๋ฐ์ yamlํ์ผ๋ก๋ถํฐ ๊ฐ์ํ๊ฒฝ ์์ฑ
> conda env create -f [ํ์ผ์ด๋ฆ].yaml
๋ค. ๊ฐ์ํ๊ฒฝ ๋ชฉ๋ก ํ์ธ
> conda env list
ํ์ฌ ํ์ฑํ ๋์ด ์๋ ๊ฐ์ํ๊ฒฝ๋ช ์์๋ * ํ์๊ฐ ๋ถ๋๋ค.
๋ผ. ๊ฐ์ํ๊ฒฝ ์ ๊ฑฐํ๊ธฐ
> conda env remove -n [๊ฐ์ํ๊ฒฝ๋ช ]
<Esc>
gets you out of any mode and back to command modeAll insertion commands are terminated with <Esc>
to return to command mode.
All change commands except r and R are terminated with <Esc>
to return to command mode.
<motion>
changes text in the direction of the motion<motion>
deletes in the direction of the motionname
write file to disk as name
tags
file); ^T return to previous position (arbitrary stack of positions maintained)Vim has some features that make it easy to highlight lines that have been changed from a base version in source control. I have created a small vim script that makes this easy: http://github.com/ghewgill/vim-scmdiff
git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv
echo โsource ~/.autoenv/activate.shโ >> ~/.zprofile #ํน์ .bash_profile source ~/.zprofile #ํน์ .bash_profile
2. autoenv ๋๋ ํ ๋ฆฌ์ ์ค์
mkdir autoenvDir cd autoenvDir
echo โconda activate py36โ > .env
3. autoenv ๋์ ํ์ธ
# .env ํ์ผ์ ๋ง๋ค์ด ๋์ ํด๋๋ก ์ด๋์ autoenv ๋์์ ํ์ธํ๋ค
cd autoenvDir
autoenv:
autoenv: WARNING:
autoenv: This is the first time you are about to source /home/jjeaby/autoenvDir/.env:
autoenv:
autoenv: โ โ (begin contents) โ โ โ โ โ โ โ โ โ โ โ โ โโ โ โ โ โ
autoenv: conda deactivate $ autoenv: conda activate py36$
autoenv:
autoenv: โ โ (end contents) โ โ โ โ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ
autoenv:
autoenv: Are you sure you want to allow this? (y/N) y
(py36) โ
ssh -i keyfile.pem -L 8888:localhost:8888 ๊ณ์ @10.1.1.1
Oh My Zsh์ ์ค์นํฉ๋๋ค.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
์๋์ผ๋ก ์ค์น๊ฐ ์งํ๋๊ณ , ๋ง์ง๋ง์ zsh๋ฅผ ๊ธฐ๋ณธ ์๋ก ์ง์ ํ๊ธฐ ์ํด ํ ์ฌ์ฉ์ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
๋ฐ๋ก ํ๋ฌ๊ทธ์ธ 2๊ฐ๋ฅผ ์ค์นํด์ค๋๋ค.
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-autosuggestions
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
ํ๋ฌ๊ทธ์ธ์ ์ ์ฉ์ํค๊ธฐ ์ํด .zshrc๋ฅผ ์์ ํฉ๋๋ค. ์๋์ฒ๋ผ plugins=( ) ์ zsh-... ๋ ์ค์ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
vi ~/.zshrc
...
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)
...
source ~/.zshrc
๋ค ์ค์น๋์ด์. ๊ฐ๋จํ ์์ ์คํฌ๋ฆฐ์ท์ ๋ณด์ฌ๋๋ฆด๊ฒ์.
์๋ ์คํฌ๋ฆฐ์ท์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ๋์ ๋ช ๋ น์ด ์๋ ์์ฑ ์์์ ๋๋ค. ๋ณด์๋ฉด ๋ฐ๋ก ์ดํด๊ฐ ๋ ๊ฑฐ์์.
์คํ ๋ง ๊ฒ์ฌ ๊ธฐ๋ฅ์ ์ผ ๋ค ํ ์คํธํด๋ดค์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ git repository ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ ๋ ์ ๋๋ค.