분류 전체보기
[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 프로토콜의 한계 비연결성 클라이언트는 서버가 존재하는지, 서비스 가능 상태인지..
Spring Data JPA Stream으로 대용량 데이터 조회하기 (100만 건 이상)
Spring Data JPA Stream으로 대용량 데이터 조회하기 (100만 건 이상)
2021.04.16Java 8 에서부터 제공되는 Stream을 Srping Data 1.8부터 지원하게 되면서, JPA를 통해 100만 건 이상의 대용량 데이터 효율적으로 조회할 수 있게 되었다. JPA가 Stream을 지원하기 이전에는 대용량 데이터 조회를 위해 아래와 같은 방법을 사용하였다. 이 포스팅은 하단 참고문헌에 링크해둔 글을 이해하고 학습하기 위해 의역하며 샘플코드를 작성하였다. 정확한 정보 슥듭을 확인하고 싶으신 분들은 아래 링크를 꼭 확인하도록 권한다. High-performance data fetching using Spring Data JPA Stream High-performance data fetching using Spring Data JPA Stream Java 8 has brought a nu..
DBCP(Database Connection Pool) 이해
DBCP(Database Connection Pool) 이해
2021.04.07Connection pool 이란? Connection pooling 은 데이터 접근 패턴 중 하나로, 주 목적은 데이터베이스 접속하여 작업하는 데에 과부하를 줄이는 것이다. 사용자의 요청에 따라 Connection을 생성하다 보면 동시에 많은 수의 연결이 발생했을 때 서버에 과부하가 걸리게 된다. 이러한 상황을 방지하기 위해 미리 일정수의 Connection 을 만들어 pool에 담아 뒀다가 사용자의 요청이 발생하면 연결을 해주고 연결 종료 시 pool 에 다시 반환하여 보관하는 것이다. DBMS로의 연결이 오래 걸리며 DB 작업을 할 때마다 Connection ~ Close 까지의 반복 작업이 비효율적이기 때문에 Connection pool에 Connection 객체를 생성해 놓고 DB 작업 시 po..
[강의 리뷰] React, Firebase를 다루는 트위터 클론코딩
[강의 리뷰] React, Firebase를 다루는 트위터 클론코딩
2021.03.31앞으로 가볍고 빠른 토이프로젝트를 시작하기 위해 React와 Firebase 강의를 들었다. 아무래도 회사에서는 백엔드 포지션이다보니 예쁜(?) 프론트엔드 작업을 할 일이 없어서 별도로 기술을 익혀야할 필요성을 느꼈다. 프론트 프레임워크로 어떤 게 좋을까 고민했는데, 기왕 배우는 거 리액트라면 문서도 많고, 웹도 개발하고, 앱도 만들 수 있으니까 :) 요즘 노마드코더 리액트 관련 강의만 2개 들은 것 같다. 조만간 React + Firebase 또는 React + Spring boot 조합으로 작은 서비스를 구현해야겠다. 강의 : nomadcoders.co/nwitter 트위터 클론코딩 - 노마드 코더 Nomad Coders React Firebase for Beginners nomadcoders.co ..
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..
Mac OS 오라클 설치하기
Mac OS 오라클 설치하기
2021.02.28간단 요약 (모든 설치파일은 오라클 공홈 다운 가능) JDK 8 이상 설치 Oracle VM Virtual Box 다운로드 Oracle DB Developer VM 다운로드 및 실행(Oracle 접속) Virtual Box 접속 후 Oracle VM 실행(power off 상태) 맥북에서 oracle sql developer tool 설치 후 접속 발생한 에러 Mac에서 설치 시 DB connection 시 Locale 문제로 연결되지 않는 이슈 Mac Locale not recoginized 블로그를 통해 해결 설치 참고 문서 추천문서 : 공식문서보다 친절하며 다음스텝까지 안내되어 있음 공식문서 : 최소 요구 사양, 최신 정보 확인은 공식문서를 참고하는 것을 추천
Nginx 기본 환경 설정
Nginx 기본 환경 설정
2021.02.23Nginx 기본 환경 설정 Nginx는 환경 설정 텍스트 파일로 여러 가지 값을 지정해 Nginx 설정을 할 수 있도록 지원한다. Nginx 설치 시 기본적으로 설정하는 환경설정 값들을 알아보겠다. 참고 링크 아래 블로그 글이 도움이 많이 되었다. Nginx 구조, 환경설정 지시어의 의미, 지시어별 권장 수치, 표준 설정과 서버 성능 테스트 방법도 제안하고 있다. [Nginx] 엔진엑스 기본 환경 설정 Nginx proxy & Linux 최적화 셋팅 NGINX 기본 환경 설정 튜닝 및 설명 가상호스팅이란? Ubuntu 16.04에 Nginx 설치하기 기본 설정 nginx.conf : 어플리케이션의 기본 환경 설정 아래 명령어를 이용해 환경 파일을 찾을 수 있다. find / -name nginx.conf..