분류 전체보기
브라우저 동작 원리
브라우저 동작 원리 브라우저의 주요 기능 사용자가 참조 하고자 하는 웹페이지를 서버에 요청(Request)하고 응답(Response)을 받아 브라우저에 표시하는 것이다. 요청한 자원은 보통 HTML 문서이지만 PDF나 이미지(image) 또는 다른 형태일 수 도 있다. 자원의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다. 브라우저는 HTML과 CSS 명세에 따라 HTML파일을 해석해서 표시하는데, 이 명세는 웹 표준화 기구인 W3C(World Wide Web Consortium)에서 정한다. 과거에는 브라우저들이 일부만 이 명서에 따라 구현하고 독자적인 방법으로 확장함으로써 웹 제작자가 심각한 호환성 문제를 겪었지만, 최근에는 대부분의 브라우저가 표준 명세를 따른다...
Try-with-resource
Try-with-resources 자바 라이브러리에는 close 메소드를 호출해 직접 닫아줘야하는 자원이 많다. InputStream, OutputStream, java.sql.Connection 등이 좋은 예다. 자바를 이용해 외부 자원에 접근하는 경우 한가지 주의해야할 점은 외부자원을 사용한 뒤 제대로 자원을 닫아줘야한다는 점이다. 자원 닫기는 클라이언트가 놓치기 쉬운 부분이기 때문에 예측할 수 없는 성능 문제로 이어질 수 있기 때문이다. try-with-resources는 try(...)에서 선언된 객체들에 대해서 try가 종료될 때 자동으로 자원을 해제(종료)해주는 기능이다. 즉, 따로 finally 블록이나 모든 catch 블록에 종료 처리를 하지 않아도 된다. try에서 선언된 객체가 Auto..
HTTP Method
HTTP 요청 메소드란? 클라이언트가 웹 서버에게 사용자 요청의 목적/종류를 알리는 수단이다. HTTP는 요청 메소드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 그래서 간혹 "HTTP동사" 라고 부르기도 한다. 각각의 메소드는 서로 다른 의미를 구현하지만, 일부 기능은 메소드 집합간에 서로 공유하기도 한다. 이틀테면 응답 메소드는 안전(safe)하거나, 캐시 가능(cachealbe)하거나, 멱등성을 가질 수 있다. 요청 종류 GET, HEAD, PUT, POST, PATCH, DELETE, TRACE, OPTIONS, CONNECT GET 요청받은 URI의 정보를 검색하여 응답한다. GET을 사용하는 요청은 오직 데이터를 받기만한다. (서버 Resource를 읽음) URI 형식으로 웹..
final 키워드
final keyword final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있다. final을 변수, 메소드, 클래스에 선언하면 조금씩 할 수 있는 부분들이 제한 된다. 자바에서 final 키워드는 여러 컨텍스트에서 오로지 한 번 할당될 수 있는 entity를 정의할 때 사용된다. [위키피디아] 재 정의를 못하게 하는것 한 번 인스턴스가 할당되면 절대 재할당 될 수 없는것 final 키워드는 총 3가지에 적용할 수 있다. final 변수 원시타입, 객체타입, 클래스 필드, 메소드 인자 final 메소드 fianl 클래스 final 키워드 활용 및 사용법 final 변수(필드) 해당 변수가 생성자나 대입연산자를 통해 한 번만 초기화 가능함을 의미한다. 상수를 만들 때 응용한다. 1. 원시타입..
static(정적) 키워드
Static Keyword (정적 키워드) Java 에서 Static 키워드를 사용한다는것은, 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미한다. 정적(Static) 이란? 정적(static)은 클래스의, 공통적인, 고정된이란 의미를 가지고 있다. static 키워드를 사용하여 static 변수와 static 메소드를 만들 수 있는데, 다른말로 정적 필드와 정적 메소드라고 하고 이 둘을 정적 맴버라고 한다. (클래스 맴버라고도 한다) static 변수와 static 메소드는 인스턴스(객체)에 소속된 맴버가 아니라 클래스에 고정된 맴버이다. 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스 변수(static 맴버변수)는 인스턴스(객체)에 관계없이 항상 ..
git merge
git merge 나뉘어진 브랜치를 다시 하나의 브랜치로 합치는 것을 말한다. 가장 오류가 많이 발생하는 과정이니 주의해야 한다. Merge 진행 시 현재 브랜치를 브랜치가 합쳐지는 기존 메인 브랜치로 전환한 후 수정된 브랜치를 Merge해야 오류가 발생하지 않는다. 여러 개의 브랜치들을 한꺼번에 Merge할 때도 마찬가지로 차례차례 기존 브랜치 상태에서 Merge를 진행한다. git checkout [merge를 담을 메인브랜치] git merge [merge할 브랜치 이름] //현재 brach의 내용과 합칠 브랜치이름 //주의) //같은 파일의 같은 위치의 내용이 변경된 경우 충돌이 발생한다. //충돌나는 이유는 변경한 내용이 같은 행에 포함되어 있기 때문이다 Merge에는 종류가 2가지가 있다. 하..