목록Development (561)
컴공생의 다이어리
[Ubuntu] Nginx 설정 이 글에서는 Ubuntu에서 Nginx의 기본적인 설치와 설정에 대해서 정리하고자 한다. Nginx 설치 Nginx 설치를 위해서는 아래 명령어를 입력해주면 된다. sudo apt-get install nginx 설치 후 Nginx 실행을 위해서는 아래 명령어 중 하나를 입력해준다. $ service nginx start # or $ sudo service nginx start # or $ sudo systemctl start nginx Nginx 설정 Nginx 관련한 디렉토리 경로는 /etc/nginx이다. 기본적인 환경 설정 파일의 경로는 /etc/nginx/conf.d 디렉토리 하위의 default.conf에 있었다. 혹시나 conf.d 디렉토리 아래에 기본 설정 ..
[Node.js] 파일 생성 - fs.writeFile(), fs.writeFileSync() Node.js의 fs모듈을 사용하면 파일과 관련된 I/O 작업을 수행할 수 있다. 이 글에서는 fs 모듈을 활용한 파일을 생성하는 2가지 방법에 대해 정리하고자 한다. fs.writeFile() 파일을 비동기적으로 생성한다. fs.writeFile(file, data[, options], callback); file: 파일을 저장할 경로, 파일명, 확장자를 넣기 data: 파일 속에 기록될 데이터 options: - encoding: 파일의 인코딩(default는 'utf8') - mode: 파일 모드(default는 0o666) - flag: 파일에 쓰는 동안 사용되는 플래그(default는 'w') call..
[프로그래머스] 5월 식품들의 총매출 조회하기 - MySQL SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(O.AMOUNT * P.PRICE) AS TOTAL_SALES FROM FOOD_ORDER O JOIN (SELECT * FROM FOOD_PRODUCT) P ON O.PRODUCT_ID = P.PRODUCT_ID WHERE O.PRODUCE_DATE LIKE '2022-05%' GROUP BY P.PRODUCT_ID ORDER BY TOTAL_SALES DESC, P.PRODUCT_ID; https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프..
Shell script 명령어 성공 여부 조건문 처리 쉘 스크립트에 아래와 같이 명령어를 모두 모아두고 실행시키면 성공적인 경우에는 정상적으로 동작하지만, 중간에 실패한다면 문제 발생 지점 이후에 명령어 혹은 전체 환경에 영향을 끼칠 수 있다. echo 'hihi' npm ci npm run build pm2 start dist/main.js --name test 명령어 성공 여부에 대한 조건문을 처리해서 적절한 처리 혹은 스크립트를 종료시켜준다면 어느 정도는 문제 상황을 해결 혹은 더 큰 문제 발생 상황을 막을 수 있다. Linux에서 $?로 명령어의 성공, 실패 여부를 각각 0과 1로 return 한다. 이를 활용해서 아래와 같이 조건문을 사용할 수 있다. echo "test command!" if ..
[Ubuntu] chmod와 chown 하위 디렉토리와 파일들까지 적용하기 하위 디렉토리와 파일들까지 chmod 혹은 chown 명령어에 대해 한번에 적용시키고 싶다면 -R(recursive) 옵션을 사용하면 한번에 적용할 수 있다. chmod -R [권한관련] [디렉토리명 or 파일명] # example chmod -R +x test chown -R [owner[:group]] [디렉토리명 or 파일명] # example chown -R cd18:korea test https://nachwon.github.io/shell-chmod/ [Shell] chmod - 파일 및 폴더의 권한 설정 chmod 셸 명령어는 파일 또는 폴더의 권한을 변경할 때 사용한다. nachwon.github.io https:/..
npm 전역(global)으로 설치된 모듈 리스트 보기 전역으로 설치된 모듈 리스트를 보려면 아래 4개의 명령어 중 하나를 입력하면 된다. # 전역으로 설치된 모듈 목록 출력 npm ls -g npm ls -global npm list -g npm list -global 하지만 위와 같이 명령어를 입력하면 설치된 항목의 하위 dependency까지 모두 출력되어 보기 쉽지 않다. depth 옵션에 0을 줘서 설치한 모듈에 대해서만 보려면 아래와 같이 명령어를 입력해주면 된다. npm ls -g --depth=0 https://zetawiki.com/wiki/Npm_%EC%84%A4%EC%B9%98%EB%90%9C_%EC%A0%84%EC%97%AD%EB%AA%A8%EB%93%88_%ED%99%95%EC%9..
[프로그래머스] 주문량이 많은 아이스크림들 조회하기 - MySQL SELECT F.FLAVOR FROM FIRST_HALF F LEFT JOIN ( SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER FROM JULY GROUP BY FLAVOR ) J ON F.FLAVOR = J.FLAVOR ORDER BY (F.TOTAL_ORDER + J.TOTAL_ORDER) DESC LIMIT 3; https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. pr..
[프로그래머스] 상품 별 오프라인 매출 구하기 - MySQL SELECT P.PRODUCT_CODE, SUM(O.SALES_AMOUNT)*P.PRICE AS SALES FROM PRODUCT P JOIN OFFLINE_SALE O ON P.PRODUCT_ID=O.PRODUCT_ID GROUP BY P.PRODUCT_CODE ORDER BY SALES DESC, P.PRODUCT_CODE; https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - MySQL SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO WHERE (FOOD_TYPE, FAVORITES) IN ( SELECT FOOD_TYPE, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE ) ORDER BY FOOD_TYPE DESC; https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programme..
[프로그래머스] 과일로 만든 아이스크림 고르기 - MySQL SELECT FIRST_HALF.FLAVOR FROM FIRST_HALF JOIN ICECREAM_INFO ON FIRST_HALF.FLAVOR=ICECREAM_INFO.FLAVOR WHERE FIRST_HALF.TOTAL_ORDER>3000 AND ICECREAM_INFO.INGREDIENT_TYPE='fruit_based' ORDER BY FIRST_HALF.TOTAL_ORDER DESC; https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞..