CS

· CS
⚡ 기본 내용 정리 개발하다 보면 무조건 접하게 되는 기본적인 지식에 대해서 정리를 하려고 한다. 그중에서도 Web 개발자라면 무조건 한 번쯤은 들어봤을 내용이고 웹을 구성할 때 어떤 방식으로 구현을 해야 하는지 결정을 할 때 중요한 기본 개념에 대해서 정리를 하도록 하겠다. ⚡ 개념 MPA (Multi-Page Application) MPA는 여러 개의 페이지로 구성된 애플리케이션이다. 전통적인 웹 애플리케이션의 형태로, 각각의 페이지는 서버로부터 새로운 HTML을 받아와서 렌더링됩니다. 사용자가 다른 페이지로 이동할 때마다 새로운 요청을 서버에 보내고 페이지를 새로 고침 한다. SPA (Single-Page Application) SPA는 하나의 페이지로 이루어진 애플리케이션이다. 초기에 모든 필요한..
· CS
⚡ 개요 개발에 대해서 어느정도 한다고 생각했지만 기본이 너무 부족하다는것을 깨닫고 CS 기본적인 내용에 대해서 정리를 하면서 다시 한번 공부중이다. ⚡ 기본 java 기본 타입 : int, long, float, double, char, short, byte, boolean java Wrapper 클래스 : Integer, Long, Float, Double, Character, Short, Byte, Boolean ⚡ 개념 및 내용 정리 오토박싱과 오토 언박싱은 자바에서 데이터 타입을 변환하는데 사용되는 개념이다. 오토박싱 기본 데이터 타입의 값을 해당 래퍼 클래스의 객체로 자동으로 변환하는 것을 말한다. 예를 들어 int 타입의 변수를 Integer 타입으로 할당하면 자동으로 오토박싱이 발생한다. ..
· CS
⚡ 개요 업캐스팅(upcasting)과 다운캐스팅(downcasting)은 객체 지향 프로그래밍에서 클래스의 상속과 관련된 개념이다. 말 그대로 업캐스팅은 하위 클래스에서 상위 클래스로 형 변환하는 것을 의미하고 다운캐스팅은 상위 클래스에서 하위 클래스로 형 변환을 하는것을 의미 한다. ⚡ 예시 다음과 같은 클래스 구조가 있다고 가정해보자. class Animal { public void move() { System.out.println("Moving..."); } } class Dog extends Animal { public void bark() { System.out.println("Barking..."); } } 위의 코드에서, Dog 클래스는 Animal 클래스를 상속하고 있다. 이 경우, Do..
· CS
(하아.... 😭😭😭) Git.... Git에 대해서 개념 및 어떻게 사용해야하는지에 대해서 다시 한번더 정리를 하겠지만.. 내가 경험해본 위험성에 대해서 공유 하고 정리를 해보려고 한다. 회사에서 같이 협업을 해서 웹 개발을 진행중이였으며, Git으로 형상 관리를 하고 있었다. 우리는 이미 많은 커밋과 푸시를 했으며 작업이 어느정도 진행된 상태였다. 나는 커밋된 특성 작성자의 변경이 필요했고 해당 부분에 대한 내용을 찾기 시작했다. 검색을 해본 결과 일괄로 저장하는 스크립트를 찾아서 적용을 했다. 스크립트는 아래와 같다. git filter-branch -f --env-filter ' WRONG_EMAIL="체크할 이메일" NEW_NAME="변경할 사용자명" NEW_EMAIL="변경할 이메일" if [..
· CS
⚡네트워크란? 기본 정의 정의로는 Net + Work의 합성어로 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미한다. 쉽게 말하면 두대 이상의 컴퓨터들을 연결하고 서로 통신할 수 있는 것이라고 정의할 수 있다. ⚡프로토콜 각 컴퓨터는 통신을 통해서 데이터를 주고받는 형식을 정할수 있었는데 A 컴퓨터에서 보내는 데이터를 제목, 날짜, 형식, 내용 순서로 보냈지만, B 컴퓨터에서는 제목, 내용, 날짜, 형식으로 받도록 하다보니 서로의 통신 내용을 이해하는데 어려움을 격게 되었고, 이때 주고 받는 데이터를 어떻게 할 것인지 정하게 되었다. 이러한 약속된 데이터 형식을 프로토콜이라고 부르게 되었다. ⚡허브 두대의 컴퓨터를 1:1로 연결할 때는 직접 연결을 해서 사용하면 된다. 하지만 엄..
· CS
HTTPS는 Hyper Text Transfer Protocol Secure Socket layer의 약자 ⚡등장 배경 HTTPS(HTTP Secure) 의 경우 HTTP/1.1이 개발되고 얼마 뒤에 등장했다. HTTP 자체는 암호화되지 않은 텍스트로만 통신하기 때문에 중간에 누군가 통신내용을 가로채거나 사용자의 정보를 탈취할 수 있는 문제점이 있기 때문이다. 이를 방지하기 위해서는 HTTP 통신에 신뢰성과 무결성을 추가할 필요를 느끼게 된다. HTTPS는 이문제를 대화상대가 서로 자신이 신뢰할 수 있음을 증명하는 인증서를 사용하고 통신내용은 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 라는 프로토콜로 암호화하는 방식으로 해결했다. ⚡SSL, T..
· CS
⚡프로세스(Process)란? 프로세스는 운영체제에서 실행 중인 프로그램을 말한다. 간단히 말해, 컴퓨터에서 실행 중인 프로그램이 하나의 프로세스이다. 프로세스는 각자의 가상 메모리 공간을 할당 받아 실행되며, 서로 독립적으로 실행된다. ⚡스레드(Thread)란? 스레드는 프로세스 내에서 실행되는 작은 작업 단위이다. 프로세스는 여러 개의 스레드를 가질 수 있으며, 각 스레드는 프로세스의 가상 메모리 공간을 공유한다. 이 때, 각 스레드는 다른 스레드와 독립적으로 실행되지 않으며, 프로세스 내의 자원을 공유하게 된다. ⚡프로세스의 특징 프로세스는 운영 체제에서 실행되는 실행 단위로, 다음과 같은 특징을 가지고 있다. 자원의 독립성: 프로세스는 운영 체제로부터 자신만의 주소 공간, 스택, 레지스터, 파일 ..
· CS
⚡HTTP 진화 과정 페이지를 열고, 개발자 도구에서 네트워크 탭을 통해서 확인한 프로토콜의 정보이다. (어떤 페이지에서든 확인 가능) 위 사진의 프로토콜 컬럼을 보면 http/1.1, h2, h3 를 확인할 수 있다. 이는 각 통신이 HTTP/1.1, HTTP/2, HTTP/3 을 이용했다는 것을 알 수 있다. 여기서의 의문점은 하나의 웹 페이지에서 서로 다른 버전의 HTTP가 사용되고 있다는것이다. 그래서 이번에 정리해볼 내용의 경우 HTTP의 배경과 버전별 특징을 정리해보려고 한다. 왜 이렇게 변화가 되었는지를 알아야 기억하기도 편하다고 생각이 된다. HTTP/1.1전에 HTTP/1.0과 HTTP/0.9 라는 두 개의 버전이 더 있지만, 이 부분의 경우 좀 더 깊게 공부하고 싶은 경우 추천한다. 간..
· CS
⚡쿠키 (Cookie) 쿠키의 경우 한마디로 말하면 사용자의 브라우저에 저장되는 정보이다. (내가 가지고 있는 정보) 키와 값 (key, value)가 들어 있는 작은 텍스트 데이터 파일이며, 이름, 값, 만료기간, 경로 정보가 존재한다. 사용자의 브라우저에 저장되는 정보이다 보니, 해당 pc를 사용한다면 누구나 쿠키의 정보를 쉽게 확인이 가능하다는 단점이 있다. => 보안성이 낮다 쿠키의 제약 조건 - 클라이언트 즉 사용자는 총 300개의 쿠키를 저장 가능하다. (몰라도 될듯...) - 하나의 쿠키는 4KB 크기로 저장이 가능하다. - 하나의 도메인당 20개의 쿠키를 가질 수 있다 (20개가 넘어가면 가장 적게 사용되는 것부터 삭제가 된다고 한다.) 쿠키 통신 방법 1) 최초에는 쿠키값이 존재 x , ..
HaeTae
'CS' 카테고리의 글 목록