Reason: Get to forget what I did for programming previously so record it in order to not reapeat same mistake other word repuce duplicate debugging
- ๊น ๋ช ๋ น์ด
- Scenario one
- ์ ์๋ 3๊ฐ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๋จ๊ฒผ๋ค
- 4๋ฒ์งธ ์ปค๋ฐ์ด ์๋ชป๋๋ค
- 3๋ฒ์งธ ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฌ๊ณ ์ถ๋ค(๋ก์ปฌ์ ์ฅ์ ํน์ working directory์๋ 3๋ฒ์งธ ์ปค๋ฐ์ผ๋ก ๋๊ธฐํ ์ํค๊ณ ์ถ๋ค
- reset ํน์ revert์ ํ ์ง ํ๊ฐ๋ฆฐ๋ค
- 3๋ฒ์งธ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๋ revert๋ฅผ ์๋ ํ์๋ค.
- ์ ์์ ์์: ๋ก์ปฌ์ ์ฅ์ ํน์ working directory์๋ 3๋ฒ์งธ ์ปค๋ฐ์ผ๋ก ๋๊ธฐํ๊ฐ ์ผ์ด๋ฌ๋ค
- ์ค์ ๊ฒฐ๊ณผ: to be continued....
- revert vs reset
- reset์ Head๋ฅผ ๋ณ๊ฒฝ์ํค๊ณ revert๋ Head๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๋ฉด ์ ๋ณ๊ฒฝ์ํจ๋ค
- continued....
React Native ๊ฐ๋ฐ ํ๊ฒฝ ์ ์ ๋ฐฉ์. React Native๊ฐ ๋ฌด์์ธ์ง ๋จผ์ ์์๋ณด์.
React.js๊ฐ ๋ฌด์์ธ์ง ์์๋ณด์.
Bare work flow
Managed work flow
-
OSI Layer 1 ๊ด๋ จ ๊ฐ๋
- ํ ํด๋ก์ง: ๋คํธ์ํฌ๊ฐ ๊ตฌ์ฑ๋๋ ์์
- ๋ผ์ฐํ ๋ฃจํ: ํจํท์ด ํ๋ก์์ ๋ฌดํ ๋ฐ๋ณต ๋๋ค
- ํธ๋ฆฌ ๋คํธ์ํฌ: ์ปดํจํฐ ๋คํธ์ํฌ๊ฐ ์ฃผ๋ก ๊ตฌ์ฑ๋๋ ๋ฐฉ์, ์์
- ํธ๋ ํฝ ์์ง๋์ด๋ง: ํจํท ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ธฐ์
- ํจํท: ๊ณ ์ ๊ธธ์ด ์ด๋ค. ์๋ํ๋ฉด ํ์ผ ์ฌ์ด์ฆ ๋งํผ ํจํท์ ์ง์ ํ๋ค๋ฉด ํปํท์ด ๋๋ฝ๋๊ฑฐ๋ ํ๋ก๋ฅผ ๋ค๋ฅธ ํจํท๊ณผ ๊ณต์ ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค.
- bandwidth delay, propagation delay, store and forward delay queuing delay์ ethernet ํน์ WIFI์ ์๋ ํน์ ์ฑ๋ฅ์ ์ธก์ ๊ฐ๋ ์ฉ์ด์ด๋ค.
-
์ฉ์ด ์ ๋ฆฌ
- LAN(Local Area Network): ๋คํธ์ํฌ์ ๋ฌผ๋ฆฌ์ ๊ฐ๋ ์ด๊ณ ์ปดํจํฐ๊ฐ ์ํธ ์ฐ๊ฒฐํ๋ ๋คํธ์ํฌ์ด๋ค.
- datagram forwading: NAT, ๋ฐฉํ๋ฒฝ, sliding_windows, ํจํท ์ถฉ๋, packet based switching, routing ๋ฐ์์ ์ฐ๊ด ๋๋ ๊ธฐ์ ์ด๋ค.
- data rate: kbps, mbps, ๋ฐ์ดํฐ ์ ์ก ์ฑ๋ฅ์ด๋ค. Throughput bandwith ๊ฐ๋ ๊ณผ ์ฐ๊ฒฐ๋๋ ์ฉ์ด์ด๋ค.
- TTL(Time To Live): ํจํท์ด ๋ผ์ฐํฐ๋ฅผ ์ง๋ ๋๋ง๋ค 1์ฉ ๊ฐ์ํ๋ค. ์ฃผ๋ก 64๋ก ์ค์ ๋์ด ์์ผ๋ฉฐ ๋ผ์ฐํ ๋ฃจํ ํ์์ ๋ฐฉ์งํ๋ค.
-
layer 1 ์ ๋ฆฌ ๊ฒฐ๋ก
- ๋คํธ์ํฌ๊ฐ ์ด๊ธฐ์ ๊ตฌ์ฑ๋ ๋์ ๋ชจ์ต์ด๋ค. IP ํ๋กํ ์ฝ์ด ๋ง๋ค์ด์ง๊ธฐ ์ด์ ์ ๋คํธ์ํฌ ๊ตฌ์ฑ์ด๋ค.
-
- ์ ์ ํด์: ๋จ๋ง๊ธฐ ์ฌ์ด์ ํต์ ์ MAC adress๋ฅผ ์ฌ์ฉ ํ์ฌ ํต์ ํ๋ค. ARP๊ฐ ๋จ๋ง๊ธฐ ์ฌ์ด MAC ์ฃผ์๋ฅผ ์๋ก ์๋ ค์ฃผ๋ ๊ธฐ๋ฅ์ ๋ด๋ดํ๋ค.
-
ubuntu
-
about Ubuntu
- ์ ๋ถํฌ๋ ๋ฐ๋น์ ๊ตฌ์กฐ์ ์ธํ๋ผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. 6๊ฐ์๋ง๋ค ์ ๋ฐ์ดํธ(LTS:release every two years) ๋๋ฉฐ ๋ฐ์คํฌํ ์๋ฒ, IOT ์ ๋ก๋ด ์๋์ ์ด ์๋ค.
- ๊ณต์ ์น์ฌ์ดํธ
- ๋ฐ์คํธํ ๋ฒ์ ผ ๋ค์ด๋ก๋
-
Ubuntu ๊ถํ ์ค์ ๋ช ๋ น์ด๋ค
- ๋ฆฌ๋ ์ค ์์คํ ์์ ๋ณด์์ ๋จผ์ ์์คํ ์ ๋ํ ์ฌ์ฉ์ ๊ณ์ ๋ฐ ์๋น์ค ์์ธ์ค๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฐ ํ, ๋ณด์์ ์ฃผ์๊ฐ ์ค์ ํ๋๋ก ๋ฐฉ์ด๊ฐ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ์๋ํ๊ธฐ
- su ํน์ sudo๋ก root ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ๋ค
- root ๋ก๊ทธ์ธ์ ๋นํ์ฑํ ์์ผ ๋ณด์์ ๊ฐํํ๋ค.
- root ์ ์ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ
-
๋ด์ฅ๋ ๋ฐฉํ๋ฒฝ ๊ตฌ์ถํ๊ธฐ
-
์์คํ ๋ก๊ทธ ๊ตฌ์ฑํ๊ธฐ
-
๊ณ ๊ธ ๋ณด์ ๊ธฐ๋ฅ
- ๋ณด์ ๊ฐํ ๋ฆฌ๋ ์ค(SELinux)
-
ํจํค์ง ์ค์น ๋ช ๋ น์ด
- apt-get install [ํจํค์ง๋ช ]
-
๋์คํฌ ๊ณต๊ฐ ์ฒดํฌ ๋ช ๋ น์ด
- df -h --total
-
๊ทธ ์ธ Linux man pages ์ฐธ๊ณ
-
๋ก๊ทธ ๊ธฐ๋ก ์์ : ์ฐธ๊ณ
-
๋ฐฑ์ ์์ : ์ฐธ๊ณ
-
vim
- copy & paste: ์ฐธ๊ณ
-
history ๋ช ๋ น์ด ์คํ: ๋ณด๊ธฐ
-
-
centOs
- about CentOs
- ๋ ๋ํท ์ ํด๋ก ๊ฐ๋ฐํ ์ปดํจํฐ ์ด์์ฒด์ ์ด๋ค. ๋ฌด๋ฃ ๊ธฐ์ ์ฉ ์ปดํจํ ํ๋ซํผ์ ์ ๊ณตํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ๋ฆฌ๋ ์ค๊ณ ์ด์ ์ฒด์ ๊ฐ์ด๋ฐ ํ๋์ด๋ค.
- ๋ ๋ํท ์ํฐํ๋ผ์ด์ฆ ๋ฆฌ๋ ์ค์ ์์ค ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ ๋น๋ํด ๋ด๋์ผ๋ฉฐ ์ด๊ณผ์ ์์ ์ด๋ฃจ์ด์ง๋ ๋ณํ์ ๋ ๋ํท์ ์ํ๊ฐ ์๋ฆฌ๊ณ ๊ทธ์๋ฆฌ์ CentOS์ ์ํ๊ฐ ๋ถ๋(์ํ๊ถ ๋ถ์์ ํผํ๊ธฐ ์ํด) ์ ๋๋ฟ์ด๋ค.
- ๊ณต์ ์น์ฌ์ดํธ
- CentOS ๋ค์ด๋ก๋
- about CentOs
-
๋ฐ๋น์๊ณผ ๋ ๋ํท ์ํฐํ๋ผ์ด์ฆ ๋ฆฌ๋ ์ค ๋๋ ํ๋๋ผ ์์คํ ์ ์ฐจ์ด์
- ๋ฆฌ๋ ์ค ์ค์น ๊ณผ์ ์ ๋ณต์กํ๋ค. ์ฐ๋ถํธ๋ ์ด๋ฌํ ์ค์น๊ณผ์ ์ ๋ณดํธ์ ์ธ ์ฌ์ฉ์๊ฐ ์์ฉํ ์ ์๋ ๋ถ๋ถ๋ง ์ ์ธํ๊ณ ๋๋จธ์ง๋ ์๋ํํด ๋์์ผ๋ก์จ ๋ช ๋ฒ์ ํด๋ฆญ๋ง์ผ๋ก ์ค์น๊ฐ ๊ฐ๋ฅํ๋ค. ๋ ๋ํท ์์คํ ์ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์์๊ฒ ์ํฌ์คํ ์ด์ ์์ ๋๋ ์๋ฒ, ์ค์นํ ๊ฐ๋ณ ํจํค์ง ์ ํ, ๊ทธ๋ฆฌ๊ณ ์ค์ ์ต์ ๋ฑ ๋ง์ ์ค์น ์ต์ ์ ์ ๊ณตํ๋ค.
- ์ํํธ์จ์ด ๊ด๋ฆฌ ํด
- ๋ฐ๋น์: APT(Advanced Package Tool): ์ค์น, ์ฌ์ , ์ง์ ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ ์ฌ์ฉ
- ๋ ๋ํท: RPM
- GUI ํด์ด๋ ๋๋กญ๋ค์ด ๋ฉ๋ด์์์ ์ด๋ค์ ์์น ๋ฑ์ ์์ ํ ๋ค๋ฅด๋ค.
-
VPC(Virtual Private Cloud): AWS์์ ์ ๊ณตํ๋ ๊ฐ์ ์ปดํจํ (๋คํธ์ํฌ) ๊ฒฝ์ด๋ค.
์ฐธ๊ณ : AWS VPC๋ ๋ฌด์์ ๋๊น? -
Region: VPC๊ฐ ์์ฑ๋ ์ง๋ฆฌ์ ์์น์ด๋ค. ํ์๋ ap-northeast-1์ผ๋ก ์ค์ ํ์๋ค.
์ฐธ๊ณ : ๋ฆฌ์ ผ๋ง๋ค ์๋น์ค ์ ์ฝ์ด ์์์ ์๋ค. -
IAM(Identity and Access Management) ์์ AWS console ๋ก๊ทธ์ธ ๊ถํ ์ ์ฑ ์ ์ค์ ํ ์ ์๋ค.
-
๋ฃจํธ ์ฌ์ฉ์๋ก ์ฝ์์ ๋ก๊ทธ์ธํ๋ค
-
EC2 ์ธ์คํด์ค(RedHet, t2.micro)๋ฅผ ์์ฑํด ๋ณด๊ฒ ๋ค.
ํค ํ์ด๋ฅผ ์์ฑํ๋ค.
์ฐธ๊ณ : ํค ํ์ด๋ public_key๋ก์ AWS EC2์ ๋ก๊ทธ์ธํ ๋์ ํ์ํ ๊ณต๊ฐํค์ด๋ค.
์ธ์คํด์ค๊ฐ ํน์ ํ ์์ด๋๋ก ๋ฑ๋ก๋์์ผ๋ฉฐ ์์ฑ์ค์ด๋ค.
putty๋ก SSH ์ ์ ์๋ํด ๋ณด๊ฒ ๋ค.
-
์คํจ:์์ธ ์ฐธ๊ณ
-
puttygen์ ์ค์น ํ๋ค. ์ฐธ๊ณ

- ๋ฐฐํฌ ํ๊ฒฝ: AWS elastic beansstalk, docker
npx create-react-app์ผ๋ก ์ํ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฑ์ ๋ง๋ ๋ค.- Dockerfile์ ๋ง๋ ๋ค.
FROM node:16
WORKDIR '/app'
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build
#FROM nginx
#COPY --from=0 /app/build /usr/share/nginx/html
- github์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค
- aws elastic beanstalk์ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค.
- github ๋ง์คํฐ ๋ธ๋ ์น์ ํธ์ํ๋ค.
- github actions์ ์ํฌํ๋ก์ฐ๋ฅผ ์ธํ ํ๋ค.
name: Deployment From Github To AWS
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Latest Repo
uses: actions/checkout@master
- name: Generate Deployment Package
run: zip -r deploy.zip * -x "**node_modules**"
- name: Get timestamp
uses: gerred/actions/current-time@master
id: current-time
- name: Run string replace
uses: frabert/replace-string-action@master
id: format-time
with:
pattern: '[:\.]+'
string: "${{ steps.current-time.outputs.time }}"
replace-with: '-'
flags: 'g'
- name: Deploy to EB
uses: k89jy/beanstalk-deploy@v18
with:
aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
application_name: simple-engineer-deployment-tutorial
environment_name: SimpleEngineerDeploymentTutorial-env
version_label: "the-simple-engineer-deployment-${{ steps.format-time.outputs.replaced }}"
region: ap-northeast-1
deployment_package: deploy.zip
- github settings ์์ AWS_ACCESS_KEY_ID์ AWS_SECRET_ACCESS_KEY๋ฅผ ๋ฑ๋กํ๋ค.
- ์ธํ ์ ์๋ฃํ๋ค.
- ์ฝ๋๋ฅผ ๋ง์คํฐ ๋ธ๋์น์ ํธ์ํ๋ฉด CI/CD๊ฐ ์คํ๋๋ค.
* MySQL, Oracle, PostgreSQL, SQLite, SQL Server, Sybase, OpenEdge SQL
* Berkeley DB, memcached, redis
* couchDB, mongoDB
* Neo4j, AWS Neptune, Sesame, AllegroGraph, different RDF/triplestores
-
RDS(Relational DataBase Service)
-
MongoDB
-
์ค์น ๊ณผ์
-
์ค์น ํ์ธ ๋ช ๋ น์ด:
node -v
ํ์ ํ์์ ์ปดํจํฐ์๋ 12.13.0 ๋ฒ์ ผ์ด ์ค์น๋์ด์๋ค.
- ์น ํ๋ ์ ์ํฌ์ธ express๋ฅผ ์ค์นํด ๋ณด๊ฒ ๋ค.
-
npm init์ ํตํด ์ด๊ธฐํ ํ๋ค.

package.json ํ์ผ
-
npm install expresss --save์ ํตํด express๋ฅผ ์ค์นํ๋ค. -
๋ค์ ํ๋ก์ธ์ค: ์ฐธ๊ณ
-
- express ํด๋ ๊ตฌ์กฐ
npm install -g express-generatorexpress๋ช ๋ น์ด๋ฅผ ํตํด folder ๊ตฌ์กฐ๋ฅผ ์ก๋๋ค.- ๋ฏธ๋ค์จ์ด ์์ฑ: ์ฐธ๊ณ
- html ํ์ผ ๋๋๋ง: ์ฐธ๊ณ
- ๋ผ์ฐํฐ ํ์ผ
res.render('[ํ์ผ๋ช ].html, [json ํฌ๋งท]' - app.js ํ์ผ ์ฝ๋
app.use(express.static('views'));
app.use(express.static(path.join(__dirname, 'public/html')));
app.set('views', path.join(__dirname, '/views'));
app.engine('html', ejs.renderFile);
app.set('view engine', 'ejs');
hoisting
- ๋ณ์ ์ ์ธ์ด ํจ์ ๋งจ ์๋ก ๊ฐ๋ค ์์ ์ฝ๋
var a = "first"
var b = "second"
var c = "third"
console.log(d)
var d;
์ถ์ธก ๋ ๊ฒฐ๊ณผ: reference error ์ค์ ๊ฒฐ๊ณผ : undefined
var a = "first"
var b = "second"
var c = "third"
d = "fourth"
console.log(d)
var d;
์ค์ ๊ฒฐ๊ณผ : fourth
์ด๋ฐ ํ์์ hoisiting์ด๋ผ๊ณ ํ๋ค
hoisiting์ ๋จ์ :
browser์ ์ฑ๋ฅ์ ๋จ์ด๋จ๋ฆฐ๋ค.
var ๋ ์ค๋ณต ์ ์ธ์ด ๊ฐ๋ฅํ๋ค
let์ ์ค๋ณต ์ ์ธ์ด ๋ถ๊ฐ๋ฅ ํ๋ฏ๋ก var๋ฅผ ๊ถ์ฅํ์ง ์๋๋ค
const ์ต์ด์ ํ ๋นํ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝ ํ ์ ์๋ค(์์ ์ ์ธ)
-
ํ์ด์ฌ3 ์ค์น
sudo apt-get install python
-
ํ์ด์ฌ ๋ฒ์ (์ค์น) ํ์ธ
python3 --version
-
ํ์ด์ฌ ์คํ
python3
-
์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํ๊ธฐ
- pip list
- rds์ ์์ ์ํด client์ฉ์ผ๋ก mySql Workbench๋ฅผ ์ฌ์ฉํด ๋ณด๊ฒ ๋ค.
- git pull vs git clone ์ฐธ๊ณ
-
Ubuntu์์ docker ์ค์น
- ๊ตฌ๋ฒ์ ์ญ์
$ sudo apt-get remove docker docker-engine docker.io containerd runc$-
Docker repositroy๋ฅผ ์ค์น ํ๋ค
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common -
Docker ๊ณต์ GPGํค๋ฅผ ์ค์น ํ๋ค.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -- ํค finger print๊ฐ ์๋์ง ๊ฒ์ํ๋ค
$ sudo apt-key fingerprint 0EBFCD88 - ์์ ์ ์ธ repository๋ฅผ ์
์
ํ๋ค
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
Docker ๋ฅผ ์ค์น ํ๋ค
sudo apt-get install docker-ce docker-ce-cli containerd.io
* Docker ์์ง์ด ์ค์น ๋์ด ์๋์ง ํ์ธํ๋ค
sudo docker run hello-world
-
Docker ngnix ์ค์น ์ค์ต [์ฐธ๊ณ ]:(https://chatgpt.com/s/t_68f974af87488191a2992c6c9f37d2dc)
- docker ํ๋ก์ธ์ค ํ์ธ
docker -ps - docker ํ๋ก์ธ์ค ์ญ์
docker rm [container-id] - docker ์ด๋ฏธ์ง ์ญ์
docker rmi [์ด๋ฏธ์ง ์ด๋ฆ] - docker ํ์ผ build
docker build [OPTIONS] PATH | URL | -
- ํ์ ๋๊ตฌ์ธ slack ์ฌ์ฉ๋ฒ์ ์์๋ณด์
- ํ์ ๋๊ตฌ์ธ Trello ์ฌ์ฉ๋ฒ์ ์์๋ณด์









