create-react-app 작업 과정 간단히 보기 (1) 프로젝트 생성 (2) 작업하기 (3) 서버 실행하고 브라우저에서 localhost:3000으로 접속 만든 app 실행 과정 (서버 돌리는 코드 어딨나?) (1) 터미널에 npm run [ start / test / build / eject ] (start , test는 run이라고 적는 것 생략 가능) (2) package.json 파일을 보면 이렇게 되어있다. (scripts 부분은 npm 명령어를 저장해두는 부분) 그럼 각 명령을 argument로 가지고서 react-scripts 패키지로 위임됨. 참고로 npm 홈페이지에서 react-scripts를 찾아보면 create-react-app에서 사용하는 script랑 설정으로 구성된 패키지라..
🐣 정규표현식 이용해서 풀었던 알고리즘 문제 모음 [백준] 2941. 크로아티아 알파벳 링크 : https://www.acmicpc.net/problem/2941 입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. const readline = require('readline'); const rl = readline.createInterface(process.stdin, process.stdout); let input = []; let eval = () => { const regex = /(c(=|-))|(d(z=|-))|lj|nj|s=|z=|[a-z]/g; const str = input[0]; let count = [...str.matchAll(regex)].length;..
까먹었을 때 메소드, 프로퍼티들만 빠르게 상기하려고 그냥 캡쳐만 해둔 글입니다. 이글을 참고해 주세요 : https://javascript.info/map-set Map and Set javascript.info Map 🤠 일반 Object와 성능비교 참고 : https://medium.com/@wdjty326/javascript-es6-map-vs-object-performance-%EB%B9%84%EA%B5%90-7f98e30bf6c8 새로운 데이터 넣기 (set작업)은 일반 Object가 더 빠르고 , 값 가져오기 (get 작업)은 Map이 훨씬 빠르다고 함. (Object는 값을 아무렇게나 넣고, Map은 순차적으로 적재한다고 함) javascript로 hashmap 구현하는 최적의 방법은 아직 ..
간단한 node 웹소켓 예제를 따라 해 보다가, WebSocket is distinct from HTTP. Both protocols are located at layer 7 in the OSI model and depend on TCP at layer 4. [위키피디아] 이렇게 웹소켓과 http는 엄연히 다른거라는데 왜 요렇게 http서버로 웹소켓을 만들지?라는 궁금증에 찾아보다가 좋은 글을 발견해서 정리해두려고 한다. 이 글을 기반으로 작성되었습니다. 😎 참고 : https://codeburst.io/polling-vs-sse-vs-websocket-how-to-choose-the-right-one-1859e4e13bd9 두 가지 접근법 (서버로부터 변경사항을 그때 그때 전달받을 수 있는 방법은 없을..
Tcp vs Udp 둘 다 OSI 7 layer에서 4번째 계층인 transport layer의 프로토콜이다. network layer의 IP가 IP주소, 라우팅 (라우터에 도착할 때마다 hop-by-hop으로 다음으로 거쳐야 할 주소 찾는 방식으로 경로 찾기) 등의 기술을 이용해서 목적지 인터페이스까지 찾아갈 수 있도록 하는 일을 담당한다면 transport layer는 양 끝단에서의 프로토콜이다. (TCP happens in the kernel. Not in user processes!) 즉 커널(OS)이 처리해서 해당 포트에 연결되어 있는 프로그램에 application payload를 (대표적으로 HTTP request, respone 등) 올려 보내 주는 것까지가 이 계층에서 일어나는 일이다. ..
Web Server vs Application Server 참고 : https://www.educative.io/edpresso/web-server-vs-application-server Web Server 웹서버 점유율 그래프이다. 이 중 nginx나 아파치는 대표적인 오픈소스 웹 서버다. Apache 예전에 생활코딩에서 아파치로 간단한 웹 호스팅 따라 하기 해봤을 때 이렇게 했다. 설치 : bitnami WAMP라는 프로그램 설치 (윈도우 Apache, Mysql, PHP 통합 설치 프로그램) 서버 실행 : 파일 제공 : 브라우저 요청에 따라서 htdocs 디렉토리에 있는 파일 가지고 응답 보냄. (C:\Program Files (x86)\wampstack\apache2\htdocs) URL의 pat..
생활코딩 Home Server강의를 듣고 좀 더 살을 붙여서 정리해봤다. 각 그림을 지도가 줌 아웃되는듯한 식으로 좁은 네트워크부터 전체 인터넷 세상으로 넓어지는 순서로 봐주면 된다. 1 2021/02/12 - [네트워크] - 간단하게 나의 홈 서버 테스트해보는 방법 간단하게 나의 홈 서버 테스트 해보는 방법 준비과정 (1) IP 알아내기 내부 IP 외부 IP 여러 웹사이트에서 쉽게 확인 가능하다 이 IP에 대한 자세한 정보가 궁금할 때는 KISA에서 제공하는 WHOIS 사이트 등에 이 주소 입력해 보면 된다. (참고) 명 pinball1973.tistory.com IP주소 알아보기나 포트포워딩에 대한 내용은 다른 글로 정리했다. 2 public IP (공인 IP) 전 세계에서 유일 IP분배 총괄은 IA..
준비과정 (1) IP 알아내기 내부 IP 외부 IP 여러 웹사이트에서 쉽게 확인 가능하다 이 IP에 대한 자세한 정보가 궁금할 때는 KISA에서 제공하는 WHOIS 사이트 등에 이 주소 입력해 보면 된다. (참고) 명령어 이용 ( 핸드폰에서는 termux라는 앱을 이용했다. ) 🥝 ipconfig (윈도우) / ifconfig (리눅스) Displays all current TCP/IP network configuration values network interface configuration utility in Unix-like operation IP주소는 인터페이스에 부여되는 것. 인터페이스 정보 리스트를 얻을 수 있는 이 명령어 이용해서도 내부 IP주소 얻을 수 있음 🥝 라우팅 테이블 보기 rout..