본문 바로가기
  • 포르쉐타고싶다

전체 글93

[linux] zsh의 .zshrc 변경 후 변경사항 저장 mac의 Catalia 의 기본 쉘이 zsh로 변경되었다. 따라서 mac의 터미널의 기본 PATH에 경로를 저장하기 위해서는 vim ~/.zshrc 를 입력하여 환경설정 창으로 들어간 뒤 export PATH="[경로명]:$PATH" 를 입력하고 저장하고 빠져나온다. 이때 가장 중요한 점! 아직 변경사항이 적용되지 않은 것이다!!!! 이 변경사항을 적용하려면 source ~/.zshrc 를 입력해줘야 한다. 2020. 3. 31.
[MySQL] Insert 할 때 특정 컬럼만 select 보통의 INSERT문은 INSERT INTO [TABLE] (COLUMN1, COLUMN2, COLUMN3) VALUES (VALUE1, VALUE2, VALUE3) 의 형태로 사용된다. 하지만 본인은 쿼리문을 작성 중, 다른 테이블에서 어떠한 조건을 가진 레코드에 대해서, 해당 인덱스에 대해서만 다른 테이블에 그에 대한 정보를 insert해야할 일이 생겼다. 그리고 INSERT해야하는 값 중에는 다른테이블의 값이 아닌 일반 상수도 포함되어야 한다. 예를 들어, 학생들 중 점수가 90점이 넘은 학생들만 장학생 테이블에 추가한다고 해보자 먼저 학생 테이블 [STUDENT]를 보면 STUDENT_IDX STUDENT_NAME STUDENT_SCORE 1 철수 92 2 영희 87 3 민수 95 그리고 점수가 .. 2020. 3. 31.
[node.js] MYSQL 쿼리문 여러개(다중쿼리) 전송방법 node.js와 MYSQL을 연결하는 가장 기본적인 방법은 데이터베이스 config파일을 만든 뒤 const mysql = require("promise-mysql"); const dbConfig = { host : '[호스트 이름]', port : 3306, user : '[유저명]', password : '[비밀번호]', database : '[스키마 명]' } module.exports = mysql.createPool(dbConfig); 이렇게 작성을 해놓고 이 파일을 가져다 connection파일을 만드는 것이다. 이 connection파일을 사용하면서 db와 데이터를 주고받을 때 여러번 주고받는것은 효율성면에서 떨어진다. 이를 반대로 말하면 한 번 주고받을 때 많은 정보를 주고받는것이 효율적이.. 2020. 3. 30.
[nginx] DNS는 뭐고 도메인은 뭐고, 또 호스트는 뭐야 dns, 도메인, 호스트... 헷갈린다 이 참에 이제 절대 안 헷갈리도록 정리해보려고 한다. 호스트 네임 : 컴퓨터의 이름입니다. 도메인 네임 : 컴퓨터 그룹의 이름입니다. 예를 들어... 호스트 네임은 사람의 이름으로, 도메인 네임은 사람의 성 이라고 보면 된다 [김철수]라는 이름에서는 성은 [김]이고 이름은 [철수] 이렇게 구분할 수 있다. 또 [이영희]라는 이름에서는 성은 [이], 이름은 [영희]라고 할 수 있다. 여기서 [김], [이]와 같은 성을 도메인 네임으로, 호스트 네임은 [철수], [영희]로 이해하시면 됩니다. 직접 dns에 적용해보면 example.com 이라는 도메인을 구매했다고 하면 그 도메인을 이용해 웹서버, api서버를 지정할 수 있는데 api.example.com이라는 레코드를.. 2020. 3. 30.
[nginx] https 설정시 프록시 - https 상호관계 및 정리 1. 먼저 https를 사용하는 이유 : - http만 사용하면 그 사이트에 접속할 때 그 사이트가 CA로부터 검증된 사이트인지 모른다. - 보통의 사람들은 비슷한 아이디, 비밀번호를 여러 사이트에 공유하기 때문에 악의의 B 사이트가 원래의 A 사이트와 비슷하게 만들어서 도메인을 만들고 사용자가 A사이트인줄 알고 B사이트에 계정을 입력했을 때 그 유저의 또 다른 많은 계정이 털리는 것과 같은 결과를 초래한다. - 그래서 그 사이트가 정말 유저가 원하는 검증된 사이트임을 https가 알려주는 것이다. - 사이트 도용 뿐만 아니라 그 계정을 입력한 뒤 서버로 정보를 보낼 때 그 중간에 해커가 가로챌 염려가 있다. - https에서는 클라이언트(브라우저)와 웹서버 사이에 정보교류에서 그 데이터들을 암호화하기 .. 2020. 3. 29.
[nginx] 서버에 https 설정 시 자동 Let's encrypt 인증서 갱신 및 자동 nginx 리로드(Reload) https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx Certbot - Ubuntuxenial Nginx a project of the Electronic Frontier Foundation certbot instructions To use Certbot, you'll need... comfort with the command line command line ...and an HTTP website HTTP website that is already online already online with an open port 80 port 80 ...which i certbot.eff.org 위의 certbot의 instruction을 따라하면 자동으로 let's.. 2020. 3. 28.
[nginx] nginx 설정 - server_name 프록시 설정 : server{} 원래있던 server_name _; 는 server_name 도메인이름 처럼 바꿔주게 되는데 방문자가 어떤 주소로 들어오냐에따라 해당 도메인 이름을 가진 server{...} 블록이 처리한다. 요청된 도메인을 처리하는 server_name을 가진 블록이 없다면, 디폴트 서버(default_server)로 지정된 블록이 처리합니다. 2020. 3. 28.
[nginx] 포트포워딩, 그리고 리버스 프록시(Port Forwarding, and Reverse Proxy) 1. 배경 포트포워딩은 nginx의 가장 기본적인 기능이다. 한 웹서버 안에서는 한 가지의 서버만 존재하지는 않는다. api서버와 웹 페이지 서버도 있을 수 있고, 랜딩페이지 서버도 같이 있을 수 있고.. 관리자 페이지 서버 등등 여러개의 서버가 같은 웹서버에 같이 있을 수 있다. 그리고 이 서버들은 각각 다른 포트를 갖고있다.(localhost:3000, localhost:3001, ...) 웹 서버는 어떻게 같은 도메인을 요청했을 때 이를 알아채고 적절한 서버를 선택하여 보내줄 수 있는 것일까 바로 nginx의 포트포워딩(port forwarding)기능 덕분이다. 2. 개념 Port Forwarding : 포트 인도 즉, 서버에 들어온 요청을 다시 내부의 특정 포트로 보내주는 것이다. (특정 포트 .. 2020. 3. 28.