- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오늘도 개발자가 안된다고 말했다
- LEVEL1
- CSS
- 에러핸들링
- MariaDB
- 리팩터링 2판
- javascript
- Git
- LEVEL 1
- java
- react
- 코딩테스트
- 알고리즘
- sql
- 면접을 위한 cs 전공지식 노트
- 아고라스테이츠
- Docker
- First Project
- 프로그래머스
- TWIL
- TIL
- 코어 자바스크립트
- CRUD
- typescript
- Refactoring
- LEVEL 2
- Err-Handling
- TMIL
- 배포
- mongodb
목록전체 글 (363)
성장에 목마른 코린이
Docker Compose로 MySQL/MariaDB 세팅 Docker 설치 및 설정 파일 세팅 Docker와 Docker Compose 설치 맥의 경우, Docker만 설치하면 Docker Compose가 포함되어 있기에 추가로 설치해줄 필요가 없습니다. 프로젝트 내에 docker-compose.yml 생성 및 내용 추가 version: "3.7" services: test: image: mariadb:10.4 container_name: test env_file: .env environment: TZ: Asia/Seoul networks: - database ports: - 3306:3306 restart: always volumes: - ./db/conf.d:/etc/mysql/conf.d - ./..
사용법 > scp [options] [source] [target] # source : 파일을 보낼 주소 # target : 파일을 받을 주소 보낼 파일의 주소로 파일명만 명시했더니 permission denied가 떴다. 이후 절대경로로 변경해주니 파일이 잘 전송된 것을 확인 할 수 있었다. 1. 로컬에서 원격으로 (Local→Remote) > scp [전송할 파일 경로] [유저명]@[IP주소]:[받을 경로] EX) 로컬의 /home/example.txt 파일을 원격지의 /home/test 디렉토리로 전송 > scp /home/example.txt dhj@141.211.xx.xxx:/home/test 2. 원격에서 로컬로 (Remote→Local) > scp [유저명]@[IP주소]:[전송할 파일 경로]..
github/gitlab 원격저장소에서만 필요없는 파일 제거 깜빡하고 .gitignore에 추가하지 않은채 푸쉬를 해버린 파일들을 쉽게 지우는 방법 .gitignore를 작성하지 않았다면, 지금이라도 .gitignore를 작성해주고, 저장소에서 node_modules 디렉토리를 삭제해줍니다. package.json파일과 package-lock.json파일이 있다면 npm init 명령어를 통해 언제든지 node_modules 디렉토리를 생성할 수 있으니 삭제할 때 걱정하지 않아도 됩니다. 원격저장소에서만 필요없는 파일 제거하기 git rm --cached 파일명 git rm --cached -r 폴더명옵션 설명 --cached: 원격저장소만 해당 -r: recursive(재귀적으로), 디렉토리와 하위 내..
Docker Compose 여러 개의 컨테이너가 하나의 Application으로 동작할 때, 이를 테스트하려면 각 컨테이너를 하나씩 생성해야 합니다. 여러 개의 컨테이너로 구성된 Application을 구축하기 위해서 run 명령어를 여러 번 사용할 수 있지만, 테스트 단계에서는 매번 run 명령어에 옵션을 설정해서 진행하기에 번거로움이 있습니다. 이를 위해 Docker Compose는 YAML파일을 통해 여러 개의 컨테이너의 실행을 한번에 관리하여, 하나의 프로젝트처럼 다룰 수 있는 환경을 제공합니다. 예시 웹 어플리케이션을 서비스 한다고 했을 때 서비스가 실행되기 위해서는 웹서버(Apache, Nginx)와 Database(Oracle,MariaDB,MySQL)컨테이너를 생성해야 합니다. Docker..
Docker Go 언어로 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼입니다. 이걸 왜 쓰는지, 어떤 식으로 쓰는지 알아보도록 하겠습니다. 가상화를 사용하는 이유 서버 관리자 입장에서 CPU 사용률이 현저히 낮은 서버들을 그대로 두면 리소스 낭비, 돈 낭비입니다. 그렇다고 모든 서비스들을 한 서버안에 올리면 안정성이 바닥을 칠 것입니다. 여기에 안정성을 높이며 리소스도 최대한 활용할 수 있는, 혜성처럼 등장한 것이 서버 가상화입니다. 대표적인 가상화 플랫폼으로는 VM(Virtual Machine)이 있습니다. 컨테이너란? 현실 세계에서 컨테이너는 물자를 운송할 때 쓰는 물건입니다. 컨테이너 내용물의 소유자는 컨테이너가 배송되는 방법에 신경 쓸 필요가 없습니다. 또한 배송사는 내용물을 알거나 관리할 ..
babel은 ECMA script 2015+ 코드를 현재 및 이전 브라우저 또는 환경에서 호환 가능한 버전의 javascript 문법으로 바꿔주는 툴 체인입니다. 1. Babel 설치 $ npm i -D @babel/core @babel/node @babel/preset-env 프로젝트의 루트 디렉토리에서 위 명령으로 babel/core,babel/node,babel/preset-env를 설치해 줍니다. babel/core는 babel을 사용하기 위한 필수 패키지 babel/node는 코드의 변환과 실행을 한번해 할 수 있게 하기 위해 babel/preset-env는 여러 플러그인이나 프리셋을 사용하기 위해 설치합니다. 2. .babelrc 생성하기 프로젝트 루트 디렉토리에 .babelrc 파일을 생성하..
1. MariaDB 설치 (Mac) brew install mariadb mariadb 실행 및 중지 실행 : brew services start mariadb 중지 : brew services stop mariadb mariadb를 동작하는지 확인 brew services list 2. MariaDB root 계정 생성 Mysql과 마찬가지로 MariaDB도 설치하였다면 관리자 계정인 root 계정을 설정해야합니다. sudo mariadb-secure-installation 1. 자신의 Mac Password를 입력하면 됩니다. 2. MariaDB 세팅 중간에 패스워드는 입력안하면 다시 sudo mariadb-secure-installation 해야합니다. 저같은 경우엔 처음에 n 눌러서 세팅하고나니 ..
1. node 설치 확인 node -v 2. npm init package.json 추가됨 npm init 3. express 설치 node_modules 폴더와 package-lock.json 파일 추가됨 npm install --save express 4. 초기 파일 생성 index.js const express = require('express'); const app = express(); const port = 5000; app.get('/', function(req, res){ res.send('프로젝트 이름'); }) app.listen(port, () => console.log(`listening to ${port}`)); 5. nodemon 설치 및 적용 "scripts": { "start..
문제의 코드 "start": "pm2 start --restart-delay 1000 npm -name 'Dev' -- start --watch" 사실 이 코드는 아무 문제가 없습니다. 근데 문제는 이걸 package.json 안의 scripts에 넣으면 아주 큰 문제가 될 수 있습니다. package.json안 script에 pm2 start를 넣게되면, 아래의 이미지 처럼 프로세스가 무한으로 실행되게 됩니다. 제가 문제를 일으킨건 아니지만, 충분히 그랬을 수도 있기에 많이 놀랐고 당황했습니다 .. 이런 상황이 왔을 때 pm2 stop을 해 pm2를 멈추고, 부팅해야 하는 서비스를 빨리 실행시킨다음, ps -ef | grep "프로세스이름" | awk '{print $2}' | xargs kill -1..
pm2 startup을 수행하였으나 Ubuntu reboot후 서비스들이 정상적으로 시작되지 않을 때, /etc/systemd/system 디렉터리에 pm2-*와 같이 pm2 관련 파일을 찾아서 vi 편집기로 열어서 사용자 부분을 User=root로 수정하고 reboot하면 서비스들이 정상적으로 올라옵니다.
풀스택 개발자란 단말기앱(app or application), 서버(Server), 웹(Web), DB(Database), OS(Operation System) 등 모든 것을 다 할 줄 아는 개발자를 말합니다. 예를 들어 어떤 게임을 개발을 하고 운영을 한다고 한다면, 이에 대한 모든 기술적인 사항을 한사람 1인이 모든것을 하는 상황에서 이 1인 개발자를 Full Stack Developer라고 부른다. 스택(Stack)이란 뭔가가 쌓여 있는 것을 말하는데, 이 게임에 필요한 모든 기술이 쌓아놓으면, 그 쌓아있는 전체기술을 기술을 Full로 보유하고 있다는 뜻이다. 이때 풀스택 개발자는 OS, DB, 프로그래밍 언어를 선택하고, 개발하고, 운영을 한다고 보면 된다. 1층짜라 건물을 짓는다고 하..
application.yml profile 설정 local, development, production 같은 여러 환경을 하나의 application.yml 파일에 설정하고 사용하는 방법에 대해서 알아 보겠습니다. YAML 설정 하나의 application.yml 파일에 여러 환경의 설정 정보를 저장하려면 spring.profiles를 통해 설정하면 됩니다. Profile 구분자(---)로 구분 합니다. # local, dev, prod 공통 설정 server: port: 8080 tomcat: uri-encoding: UTF-8 --- spring: profiles: local datasource: url: "jdbc:mysql://test-server/test" username: "dbuser" pa..