퍼블릭 ip로 SSH 통신 aws ec2 로그인 : ec2-user virtual private cloud vpc 프라이빗 ec2 인스턴스 ssh 접속 : ssh root@프라이빗ip => qwe123 dig는 Domain Information Groper의 약자로 네임서버로 부터 정보를 가져올 수 있는 툴입니다. dig +short로 dns 주소에 대한 ip 주소 정보 확인 가능퍼블릭 ip로 SSH 통신 aws ec2 로그인 : ec2-user virtual private cloud vpc 로드벨런서NLB: 데이터의 부하를 분산해 주는 역할의 서비스SSH 통신 aws ec2 로그인 : ec2-user virtual private cloud vpc 프라이빗 ec2 인스턴스 ssh 접속 : ssh root..
한글파일 복붙. 사진x 네트워크 정리 ·네트워크에 대해 설명하시오 컴퓨터와 컴퓨터 사이에 통신매체를 통해 데이터 통신을 주고 받는 것 ·데이터와 데이터 통신에 대해 설명하시오 데이터는 컴퓨터상에서 무언가에 대한 정보를 비트로 표현한 것이다. 데이터 통신은 데이터를 컴퓨터 사이에 주고 받는 것이다. ·데이터 통신을 어떻게 하는지 설명하시오 컴퓨터와 컴퓨터 사이에 파이프가 있어서 그 사이로 데이터를 운반한다. 이때, 컴퓨터와 파이프 사이에 인터페이스라는 중개역이 있다. 그리고 데이터 통신을 하기 전에 프로토콜을 정해야 한다. ·프로토콜이 무엇인지 설명하시오(중복) 데이터 통신을 할 때 규칙이 필요하다. A 컴퓨터에서는 1101을 a로 B 컴퓨터에서는 1101을 b로 여긴다면 데이터를 올바르게 공유해도 문제가..
자료구조와 알고리즘에 대해 설명하시오 자료구조는 데이터를 원하는 규칙, 목적에 맞게 저장하기 위한 구조이고 알고리즘은 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임이다. 도서관에서 책장이 자료구조라면 특정 책을 찾는 방법이 알고리즘이다. 해시 테이블에 대해 설명하시오 해시 테이블은 자료를 쉽고 빠르게 저장할 수 있고 key-value를 대응시켜 자료를 얻을 수 잇다. 효율적인 탐색을 위한 자료구조이며 쉽게 접할 수 있는 예로는 자바스크립트의 객체, local, session Storage가 있다. 해시 테이블에서 가장 중요한 부분은 해시 함수인데 해시 함수는 특정 키를 자료를 저장하는 배열의 인덱스로 변환한다. 좋은 해시 함수가 되기 위해서는 결정성, 효율성, 균일한 분..
2019 10월 20일쯤 시작(군대 말차) 윤성우 열혈자바 처음 공부를 자바로 시작했다. 다음에 안드로이드 앱을 만드는데 도움이 되서 공부를 했다. book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=268499044&gclid=CjwKCAjwgOGCBhAlEiwA7FUXkiphityN7MrvM7uAgo43IwwlW6dpLFpba5b4YbYCGTRX-h5_IV-KQRoCLaUQAvD_BwE 싸니까 믿으니까 인터파크도서 book.interpark.com do it 안드로이드 책을 참고로 해서 구글링해가면서 안드로이드 앱을 만들었다. 이렇게 구글링을 해보는게 처음이라서 조금 많이 힘들었다. 그래도 부족하지만 프로젝트를 완성했다. book.in..

서버리스 이해하기 이 장에서는 서버리스 아키텍처와 노드를 함께 사용하는 방법을 소개한다. 이미지를 업로드한 후, 리사이징해서 클라우드 저장소에 업로드할 것이다. 서버리스는 서버가 없다는 뜻이지만, 사실 서버가 없는 것은 아니다. 서버를 클라우드 서비스가 대신 관리해주므로 개발자나 운영자가 서버를 관리하는 데 드는 부담이 줄어든다는 의미다. 즉, 개발자는 자신의 서비스 로직을 작성하는 데만 집중할 수 있게 되는 것이다. AWS는 람다, API 게이트웨이, S3등의 서비스가 유명하고, GCP에서는 앱 엔진, 파이어베이스, 클라우드 펑션스, 클라우드 스토리지 등의 서비스가 유명하다. 이 장에서는 NodeBird에서 업로드하는 이미지를 리사이징하거나 저장한다. AWS에서는 람다와 S3를, GCP에서는 클라우드 ..
서비스 운영을 위한 패키지 NodeBird 수정 app.js if (process.env.NODE_ENV === 'production') { app.use(morgan('combined')); } else { app.use(morgan('dev')); } const sessionOption = { resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: true, }, }; if (process.env.NODE_ENV === 'production') { sessionOption.proxy = true; // sessionOption.cookie.secure=true;..
명령줄 인터페이스(CLI : Command Line Interface)는 콘솔 창을 통해 프로그램을 수행하는 환경을 뜻한다. 이와 반대되는 개념으로는 그래픽 사용자 인터페이스(GUI : Graphic User Interface)가 있다. 간단한 콘솔 명령어 만들기 index.js #!/usr/bin/env node 주석이라 의미 없는 문장이라고 생각할 수도 있지만, 리눅스, 맥 같은 유닉스 기반 운영체제에서는 실행하라는 뜻이다. package.json { "name": "node-cli", "version": "0.0.1", "description": "nodejs cli program", "main": "index.js", "author": "min", "license": "ISC", "bin": { ..

서버센트 이벤트 사용하기 npm i sse socket.io sse.js const SSE = require('sse'); module.exports = (server) => { const sse = new SSE(server); sse.on('connection', (client) => { // 서버센트 이벤트 연결 setInterval(() => { client.send(Date.now().toString()); }, 1000); }); }; app.js const sse = require('./sse'); const webSocket = require('./socket'); webSocket(server, app); sse(server); main.html 네트워크 탭 auction.html {% ..