엔지니어링
[HTTP] HTTP 메서드와 활용
[HTTP] HTTP 메서드와 활용
2021.05.05HTTP Method에 대해 알아보고, 이를 API 설계에 활용해보는 과정을 정리하였다. HTTP API 설계 강의 모든 개발자를 위한 HTTP 웹 기본 지식 와 개인적으로 공부한 내용을 정리하였습니다. Resource(리소스)라고 표현하고 있지만 최근에는 Representation이라는 표현으로 변경됨. 가장 중요한 것은 리소스 식별 (API URI 고민) URI(Uniform Resource Identifier) 리소스의 의미는 뭘까? 회원을 등록하고 수정하고 조회하는게 리소스가 아니다! 예) 미네랄을 캐라 -> 미네랄이 리소스 회원이라는 개념 자체가 바로 리소스다. 리소스를 어떻게 식별하는게 좋을까? 회원을 등록하고 수정하고 조회하는 것을 모두 배제 회원이라는 리소스만 식별하면 된다. -> 회원 리..
[HTTP] HTTP 기본
[HTTP] HTTP 기본
2021.05.02HTTP 메시지, 클라이언트 서버 구조, Stateful/Stateless, 비연결성에 대해 알아보자. 강의 모든 개발자를 위한 HTTP 웹 기본 지식 와 개인적으로 공부한 내용을 정리하였습니다. HTTP(HyperText Transfer Protocol) HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대! HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (199..
[HTTP] URI와 웹 브라우저 요청 흐름
[HTTP] URI와 웹 브라우저 요청 흐름
2021.05.01URI와 웹 브라우저 요청 흐름을 알아보자. 강의 모든 개발자를 위한 HTTP 웹 기본 지식 를 듣고 공부한 내용을 정리하였습니다. URI URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다 1.1.3. URI, URL, and URN URI(Uniform Resource Identifier) Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL과 URN URL - Locator : 리소스가 있는 위치를 지정 URN - Name : 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않음 URN 이름만으로 실제 리소스를 찾을 수 있는 ..
[HTTP] 인터넷 네트워크
[HTTP] 인터넷 네트워크
2021.04.29인터넷 네트워크 강의 모든 개발자를 위한 HTTP 웹 기본 지식 와 개인적으로 공부한 내용을 정리하였습니다. 웹이나 HTTP도 인터넷 네트워크 안에서 일어난다. 인터넷 망을 통해 두 컴퓨터가 통신하기 위해서 여러 노드를 거치는 데, 이 요청을 잘 전달하기 위한 방법에 IP(인터넷 프로토콜)이다. IP 인터넷 프로토콜 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 패킷 정보 패킷 : 수화물을 뜻하는 패키지와 덩어리라는 의미의 버킷의 합성어 출발지IP, 목적지IP, 기타 정보 전송할 데이터 전송 데이터가 너무 많으면 1500 바이트 정도의 단위로 끊어서 보냄 IP 프로토콜의 한계 비연결성 클라이언트는 서버가 존재하는지, 서비스 가능 상태인지..
Github Branch Protection Rules
Github Branch Protection Rules
2021.03.27Github Branch Protection Rules Github에서 제공하는 Branch protection rules을 통해 어떤 브랜치에 대한 행위를 보호할 수 있다. About protected branches 에 따르면 public repositories에 대해서는 사용 제한이 없으며, private repositories의 경우 유료 사용자(Pro, Team, Enterprise Cloud, Enterprise Server)에게만 제공된다. private repo의 경우 git에서 직접 특정 브랜치(master, main)에 바로 push하는 것을 막을 수 있다. Branch Protection rule repositroy의 Settings - Branches에서 protection rule..
Github Page를 이용한 React 호스팅
Github Page를 이용한 React 호스팅
2021.03.20React 배포하기 React 샘플코드 호스팅된 깃헙 페이지 github page 배포용 라이브러리 설치 npm i gh-pages package.json 설정 "scripts": { "start": "react-scripts start", "build": "react-scripts build", "eject": "react-scripts eject", "predeploy": "npm run build",
[Firebase] Firebase Authentication
[Firebase] Firebase Authentication
2021.03.16Firebase Authentication Google Firebase는 사용자 인증 시 필요한 백엔드 서비스와 인증 UI를 제공한다. 사용자 로그인 처리 시 Firebase UI를 통한 인증도 있고, SDK를 사용해 하나 이상의 로그인을 제공해주는 방법이 있다. 대부분의 출처는 노마드코더 강의 와 Firebase 공식문서 임을 밝힌다. 샘플코드 는 Github에 올려두었다 인증 방식 이메일/비밀번호 기반 익명 제휴 공급업체(Google, Facebook, Twitter, Github) 통합 전화번호 인증 커스텀 인증 시스템 통합 작동 원리 사용자에게 앱에 로그인 하기 위해 인증 정보를 요청 (이메일/패스워드 혹은 Google/Facebook 등 제휴업체 로그인 방식) Firebase는 우리를 대신해 사..
[Firebase] Cloud Firestore
[Firebase] Cloud Firestore
2021.03.11Cloud firestore Cloud firestore는 Firebase에서 제공하는 NoSQL 데이터베이스이다. 정말정말 유연하다. Firebase를 이용하니까 간단하게 Auth, DB 처리까지 손쉽게 할 수 있었다. 본격적인 서비스에 도입하기에는 Firebase 자체에 너무 종속적이기 때문에 고객의 정보를 담기에는 부담스러울 수 있지만, 프로토타입이나 일상용 간편 기능을 만들기에 좋을 것 같다 :) 사실 단순한 CRUD 기능으로 구현된 대부분의 서비스는 모두 Firebase를 이용해도 되지 않을까 싶다. Firebase를 진득하게(?) 써보지 않아서 확장성의 문제가 얼마나 있을 지는 모르겠지만, 지금 사용 경험으로는 충분히 합격이다. 대부분의 출처는 노마드코더 강의 와 Firebase 공식문서 임을..
[Firebase] Firebase Security
[Firebase] Firebase Security
2021.03.05Firebase Security Firebaee 보안 규칙 가이드 보안 규칙 작성 방법 GCP API Key (Firebase Project 접근 API Key 관리) API key 생성 Firebase SDK 적용 및 사용예제 샘플코드 API key 보안 적용 API Key를 사용하는 리액트의 호스팅 도메인(github page), localhost, Firebase Project 도메인 2개 등록 Firebase Auth 접근 가능 도메인 지정 특정 도메인에서만 접근을 허용하기 때문에 타인이 Firebase API Key를 가지고 있더라도 함부로 접근할 수 없다. This domain (hyunah-iia.githun.io) is not authorized to run this operation. A..
Nginx 기본 환경 설정
Nginx 기본 환경 설정
2021.02.23Nginx 기본 환경 설정 Nginx는 환경 설정 텍스트 파일로 여러 가지 값을 지정해 Nginx 설정을 할 수 있도록 지원한다. Nginx 설치 시 기본적으로 설정하는 환경설정 값들을 알아보겠다. 참고 링크 아래 블로그 글이 도움이 많이 되었다. Nginx 구조, 환경설정 지시어의 의미, 지시어별 권장 수치, 표준 설정과 서버 성능 테스트 방법도 제안하고 있다. [Nginx] 엔진엑스 기본 환경 설정 Nginx proxy & Linux 최적화 셋팅 NGINX 기본 환경 설정 튜닝 및 설명 가상호스팅이란? Ubuntu 16.04에 Nginx 설치하기 기본 설정 nginx.conf : 어플리케이션의 기본 환경 설정 아래 명령어를 이용해 환경 파일을 찾을 수 있다. find / -name nginx.conf..
SSH 파일 업로드 시 pem 키 혹은 패스워드 입력하기
SSH 파일 업로드 시 pem 키 혹은 패스워드 입력하기
2021.02.20SSH를 통해 서버로 파일 업로드 시, 패스워드를 입력해야하는 경우가 있다. 해당 예제는 macOS 기반으로 작성되었다. 설치 macOS용 패키지 관리자 homebrew 설치 (이미 설치되어 있다면 스킵) $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" sshpass 다운로드 $ brew install hudochenkov/sshpass/sshpass 혹은 $ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb Homebrew는 기본적으로 sshpass..
[Firebase] 프로젝트 생성 및 SDK 추가 간단 가이드
[Firebase] 프로젝트 생성 및 SDK 추가 간단 가이드
2020.12.24Firebase 프로젝트 생성 및 앱 등록 (ex: Web) Web 프로젝트(ex: React)에 Firebase SDK 추가 Firebase를 앱에 추가하는 방법은 4가지가 있으며, 그 중 npm을 통해 SDK 설치함 https://firebase.google.com/docs/web/setup?authuser=0#using-module-bundlers // 프로젝트의 루트 디렉토리로 이동 $ npm install --save firebase Firebase CLI 설치 (나중에 해도 됨) Firebase 호스팅으로 사이트를 호스팅하려면 Firebase CLI(명령줄 도구)가 필요함 npm install -g firebase-tools Firebase 호스팅에 배포 (나중에 해도 됨) // 지금 배포하려..