전체 글 120

[HTTP 웹 기본 지식] 섹션5. HTTP 메서드 활용

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 요약한 내용입니다. ✅ 클라이언트에서 서버로 데이터 전송 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품주문, 리소스 등록, 리소스 변경 📌 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 GET 동적 데이터 조회 검색, 게시판 목록에서 정렬 필터(검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 GET GET은 쿼리 파라미터를 사용해서 데이터 전달 HTML FORM 을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 POST Content-Type: application/x-www-..

Web 2022.11.18

[백준-그리디] 11047번: 동전0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 풀이: k원을 만드는데 필요한 동전 개수의 최솟값을 구해야 하므로 큰 단위의 동전부터 N원을 만드는데 사용하면 된다. 코드: import java.util.Scanner; //https://www.acmicpc.net/problem/11047 public class p11047 { public static void main(Strin..

[HTTP 웹 기본 지식] 섹션4. HTTP 메서드

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 요약한 내용입니다. ✅ URI 설계 URI는 리소스만 식별한다. 리소스와 행위를 분리 리소스: 회원 행위: 조회, 등록, 삭제, 변경 ✅ HTTP 메서드 종류 📌 GET 리소스 조회 서버에 전달하고 싶은 데이터는 쿼리 파라미터를 통해서 전달 메시디 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 서버들이 있다. 권장하지 않는다. 📌 POST 요청 데이터 처리 메시지 바디를 통해서 서버로 요청 데이터를 전달 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용한다. 요청 데이터 처리? 대상 리소스가 리소스의 고유 한 의미 체계에 따라 요청에 ..

Web 2022.11.17

[HTTP 웹 기본 지식] 섹션3. HTTP 기본

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의 요약한 내용입니다. ✅ HTTP HyperText Transfer Protocol HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, XML ... 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP를 주로 사용한다. HTTP/1.1 : 가장 많이 사용하는 버전. 우리에게 가장 중요 HTTP/2, HTTP/3 : HTTP/1.1에 성능 개성 버전 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 UDP : HTTP/3 ✅ HTTP 특징 클라이언트 - 서버 구조 무상태 프로토콜(Stateless), 비연결성 HTTP 메시지 단순함, 확장 가능 ✅ 클라이언트 ..

Web 2022.11.17

[HTTP 웹 기본 지식] 섹션2. URI와 웹 브라우저 요청 흐름

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의 요약한 내용입니다. ✅ URI, URL, URN URI (Uniform Resource Identifier)에 URL (Uniform Resource Locator), URN (Uniform Resource Name) 포함 📌 URI , URL, URN 뜻 Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 Identifier : 다른 항목과 구분하는데 필요한 정보 Locator : 리소스가 있는 위치를 지정 Name : 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다. 📌 URL schem://[userinfo@]host[:port] [/path] [?q..

Web 2022.11.16

[Java] JVM, JRE, JDK 간단 정리

✅ JVM Java virtual machine : 자바를 실행하기 위한 가상 컴퓨터 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션을 실행하기 위해서는 반드시 JVM이 필요 일반 애플리케이션은 OS에 종속적 → 애플리케이션을 다른 OS에서 실행시키기 위해서는 그 OS에 맞게 애플리케이션을 변경해야함 Java 애플리케이션은 JVM 하고만 상호작용하기 때문에 OS와 하드웨어에 독립적 → 다른 OS 에서도 프로그램의 변경없이 실행이 가능 단 JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요 썬에서는 일반적으로 많이 사용되는 주요 OS용 JVM을 제공한다. ✅ JRE Java Runtime..

Language/Java 2022.11.13

[Java] 자바란? 자바언어의 특징

✅ 자바란? 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어 운영체제에 독립적이다. 운영체제에 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어 객체지향개념의 기존 언어 C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분은 제외시킴으로써 C++보다 배우기 쉽다. 풍부한 클래스 라이브러리를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공한다. ✅ 자바 언어의 특징 📌 운영체제에 독립적 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도..

Language/Java 2022.11.13

[Cache] 캐시란?, 로컬캐싱 vs 글로벌 캐싱, 캐시전략들

✅ 파레토의 법칙 사회에서 일어나는 현상의 80%는 20%의 원인으로 인해 발생된다. 인터넷 통신의 80%가 20%의 사이트에 대한 액세스로 추정되며, 이 20%의 웹사이트 데이터를 캐시해두면 효율을 극적으로 향상할 수 있다. ✅ 캐시란? 데이터의 원래 소스보다 더 빠르고 효율적으로 엑세스할 수 있는 임시 데이터 저장소 캐싱 저장소는 원본보다 빠른 접근 속도를 가진다. 사용되었던 데이터는 다시 사용되어질 가능성이 높다는 개념 을 이용하여, 다시 사용될 확률이 높은 것은 더 빠르게 접근 가능한 저장소를 사용한다는 개념 ✅ 사용하면 좋은 경우 단순한 데이터 동일한 데이터를 반복적으로 제공해야하는 경우 (자주 조회되는 데이터) 데이터의 변경주기가 빈번하지 않고, 단위 처리 시간이 오래걸리는 경우 (데이터 갱신..

Database 2022.11.09

[HTTP 웹 기본 지식] 섹션1.인터넷 네트워크

※ 김영한 님의 인프런 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의 요약한 내용입니다. ✅ 인터넷 통신 서버와 클라이언트는 복잡한 인터넷 망, 노드들을 거쳐 통신한다. ✅ IP (Internet Protocol) 패킷(Packet) 이라는 통신 단위로 지정한 IP 주소에 데이터를 전달한다. IP 패킷 정보: 출발지 IP, 목적지 IP, 기타..., 전송 데이터 클라이언트가 보낸 IP 패킷은 노드들을 거쳐 서버에 도착 서버에서 응답 IP 패킷을 보내 노드들을 거쳐 클라인언트에 도착 😓 IP 프로토콜의 한계 1. 비연결성 클라이언트는 대상 서버가 패킷을 받을 수 있는 상태인지 모른다. 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다. (모르는채로 전송) 2. 비신뢰성 중간 노드의 서버..

Web 2022.11.04

[AWS] 리전, 가용영역, VPC, 서브넷, 보안그룹

리전 Region AWS의 모든 서비스가 존재하는 물리적인 위치 리전 안에 여러개의 가용 영역(Availability Zone AZ)이 존재 리전으로부터 먼 곳에서 서비스를 이용하면 속도가 느리다. (거리가 멀수록 속도는 느리고, 노드를 많이 거칠 수록 속도는 떨어지기 때문) 재해 발생시에도 서비스를 공급할 수 있도록 하기 위해 리전이 여러 곳 존재 가용 영역 Availability Zone, AZ 실제 데이터가 존재하는 데이터 센터 가용 영역 여러 곳 존재 자연재해 또는 테러 등에 의해 손상될 경우 다른 가용 영역에서 서비스하기 위해 무중단 서비스를 가동하기 위함 아마존 VPC amazon virtual private cloud 자체 데이터 센터에서 운영하는 기존 네트워크와 유사한 가상 네트워크 서브넷..

개발환경/AWS 2022.11.03