본문 바로가기

전체 글124

Section 02. URI 와 웹 브라우저 요청 흐름 URI(Uniform Resource Identifier)란?해석하면 리소스를 식별하는 통합된 방법이라는 의미이다. 우리는 URI 뿐만 아니라 URL, URN에 대해서도 들어본 적이 있을 것이다. URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. URL: 리소스의 위치, URN: 리소스의 이름 을 의미하는데 대체적으로 URL을 사용한다.URN은 거의 쓰이지 않아서, URI와 URL과 같은 의미로 주로 설명함. URL 전체 문법1. scheme먼저 스키마 부분을 보면 주로 프로토콜을 사용한다. 프로토콜은 어떤 방식으로 자원에 접근할 것인가에 대한 약속 규칙을 말한다. (예. http, https, ftp 등). http는 80포트, https는 443 포트를 주로 사.. 2024. 7. 21.
Section 01. 인터넷 네트워크 IP란?IP는 Internet Protocol로, 지정한 IP주소에 데이터를 전달하는 규칙같은 것이다. IP패킷이라는 규칙에 따라서 데이터를 전달한다.  IP 프로토콜의 한계1. 비연결성- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.2. 비신뢰성- 중간에 패킷이 유실될 수 있다.- 패킷이 순서대로 도착하지 않는 경우3. 프로그램 구분- 같은 아이피에서 여러 어플리케이션을 사용중일 때 어떻게 구분할 것인가.. 이를 해결하기 위해 TCP/UDP가 등장했다! 인터넷 프로토콜 스택의 4계층 프로토콜 계층만약 채팅 프로그램으로 Hello 라는 메시지를 보낸다면, 메시지를 생성하고 주로 소켓 라이브러리를 통해 전달하는데 이후 TCP 정보를 씌우고 그 위에 IP정보를 씌운다. 그리고 이 패킷이 .. 2024. 7. 21.
[CSS] position 5가지 속성 정리 position 속성은 요소의 위치를 제어하는 데 사용된다.포지션을 어떻게 주느냐에 따라서 요소가 보이기도 하고 사라지기도 하던데 정확히 아는 것이 중요해보인다.position: staticposition 속성을 별도로 지정해주지 않으면 기본값으로 static이 적용된다. 요소는 일반적인 문서 흐름에 따라 배치된다. 이 때에는 top, right, bottom, left 속성을 주어도 적용되지 않는다. 왜냐면! static은 블록 요소는 위에서 아래로, 인라인 요소는 왼쪽에서 오른쪽으로 배치되기 때문에 위치 속성을 지정해도 무시되게 된다. position: relativeposition 속성을 relative로 설정하게 되면, 요소를 원래 위치에서 벗어나게 배치할 수 있게 된다. 요소를 원래 위치를 기준.. 2024. 7. 18.
[자료구조] 큐(Queue)와 스택(Stack) 큐(Queue)란?큐 자료구조는 대표적인 선입선출(First In First Out; FIFO)의 자료구조다. 대기열이라고도 하는데, 표 같은 것을 구매하기 위해 줄을 서는 것을 의미한다.가정 먼저 줄을 선 사람(First In)이 가장 먼저 표를 구매하고 가장 먼저 매표소를 빠져나가는 것(First Out)이다.  큐의 연산enqueue  : 큐 맨 뒤에 어떠한 요소를 추가, 마지막으로 온 손님에게 번호표 발부dequeue  : 큐 맨 앞쪽의 요소를 삭제peek         : front에 위치한 데이터 읽음front         : 큐의 맨 앞의 위치(인덱스)rear          : 큐의 맨 뒤의 위치(인덱스)isFull        : 큐가 꽉 찼는지 확인. rear == n - 1 즉, r.. 2024. 7. 16.
[데이터베이스] SQL 기본 문법: JOIN 👀 배경데이터베이스 서버에는 여러 개의 테이블이 존재할 것이다. 하나의 테이블에 내가 찾고자 하는 데이터들이 모두 들어있다면 좋겠지만, 두 개 이상의 테이블을 엮어야 원하는 결과가 나오는 경우가 많다. 이 때 JOIN 문법을쓰면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있다.  JOIN이란?조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. 두 테이블을 조인하기 위해서는 기본키(PRIMARY KEY)와 외래키(FOREIGN KEY)관계로 맺어져야 하고, 이를 일대다 관계라고 한다.  JOIN의 종류- INNER JOIN(내부 조인): 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. - OUTER JOIN(외부 조인): 두 테이블을 조.. 2024. 7. 12.
[네트워크] OSI 7계층 & TCP/IP 4계층 OSI 7계층과 TCP/IP 4계층두 모델은 네트워크 통신에 필요한 프로토콜들을 계층화하여 체계적으로 구성한 모델이다. 각각의 계층에 대한 역할과 구성이 다르지만, 네트워크 통신 과정을 계층화하여 이해하는 데 도움이 되는 공통점이 있다. 💡 TCP/IP는 인터넷에서 사용되는 실질적인 프로토콜들을 구성하고 있다. 반면, OSI 7계층은 각 계층의 기능과 역할에 대한 이론적인 설명을 제공한다.  OSI 모델이란?- 개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구에서 만든 개념 모델이다. OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공하는 것이다. - 이러한 OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있고, 이.. 2024. 7. 11.
[JavaScript] null & undefined 에 대해 알고싶다.. JavaScript의 데이터 형식 JavaScript의 데이터 형식에는 다음과 같은 형식이 있다. 1. 기본 형식- String- Number- Boolean2. 합성(참고) 형식- Object-  Array3. 특정 형식- null- undefined 이 중 null과 undefined특정 형식에 대해서 알아보자 null널은 보통 객체 타입의 특수한 값, 즉 어떠한 객체도 나타내지 않는 값으로 취급된다고 한다. 어떤 변수가 null값을 가진다면, 그 변수는 기본 형식이나 합성 형식의 값을 담고 있지 않다는 것을 의미한다. 그래서 어떤 변수의 값을 초기화 하고 싶을 때에는 null을 사용한다. 💡null의 사용null은 숫자 문맥에서 사용되면 0으로 변환되며, 문자열 문맥에서는 "null"로,Boole.. 2024. 7. 8.
[Spring] AOP(Aspect Oriented Programming) AOP란?- Aspect Oriented Programming은 프로그램 구조를 다른 방식으로 생각하게 함으로써 OOP를 보완한다.- OOP에서 모듈화의 핵심단위는 클래스이지만 AOP에서 모듈화의 핵심단위는 관점(Aspect)이다. - 관점은 다양한 타입과 객체에 걸친 트랜잭션 관리같은 관심을 모듈화할 수 있게 한다. 각각에 적용되는 횡단 관심사를 주요 관심사와 분리해서 관점별로 모듈화하는 것이다. 개념은 간단하지만 관련 용어나 적용하는 방식이 이해할게 많은 것 같다. 먼저 주요 용어들을 살펴보자1) Aspect- 여러 클래스에 걸친 횡단 관심사의 모듈을 말한다. 즉 클래스.- 하나 이상의 Pointcut과 Advice의 조합으로 만들어지는 AOP의 기본 모듈이다. - Spring framework에서는.. 2024. 7. 5.
[Spring] Tiles로 페이지 조각하기 Tiles란?- 반복적으로 사용되는 header, footer와 같은 정보를 한 곳에 모아둔 프레임워크를 말한다.- 화면의 기본 레이아웃 템플릿을 정의하고 상속을 통하여 대부분 구조를 재사용할 수 있는 기능 및 설정파일을 통한 통합 관리를 통해서 확장성 있고 일관되게 페이지 구성을 관리한다. Tiles 사용하기1. gradle에 의존성 추가 2. View Resolver 등록tilesViewResolver메서드는 TilesUrlBasedViewResolver 빈을 정의하여 아파치 타일즈를 사용하여 뷰를 설정하고 해석하는 역할을 한다. 이 빈은 Tiles 정의를 기반으로 뷰를 해석하여 적절한 JSP나 템플릿 파일을 렌더링한다.tilesUrlBasedViewResolver.setOrder(1);뷰 리졸버의 .. 2024. 7. 3.