cs78 Websocket 과 Socket.io Websocket이 태어난 배경 WebSocket은 HTTP와는 구분되는 별도의 통신 프로토콜이지만 HTTP를 기반으로 동작한다. HTTP는 단방향 통신을 지원하는 프로토콜이므로 서버에서 클라이언트로 데이터를 보내기 위해서는 클라이언트가 주기적으로 서버에 요청을 보내야 했다. WebSocket은 이런 한계를 극복하기 위해 개발된 프로토콜로, 양방향 통신을 지원한다. WebSocket 연결이 수립되면 서버와 클라이언트는 TCP 연결을 유지하면서 실시간으로 데이터를 주고받을 수 있다. 이를 통해 서버에서 클라이언트로 데이터를 푸시하는 등의 실시간 통신이 가능해진다. WebSocket 연결은 HTTP로 시작되는데, 클라이언트가 HTTP 요청을 서버에 보내고, 서버는 요청을 받아 WebSocket 연결을 수립한.. 2023. 6. 25. CS 요약본 및 궁금증 요약본 궁금한 건 못 참아! CORS가 궁금해서 MSA가 뭐야..? firewall의 개념과 동작원리! 리눅스가 궁금해서: 리눅스 주요 명령어! HTTP 멱등성에 대해서 String의 불변성과 StringBuilder와 StringBuffer의 차이 혼자 공부하는 운영체제 & 컴퓨터 구조 컴퓨터 구조 0. 컴퓨터 구조의 큰 그림(컴퓨터 핵심 부품) 1. 데이터와 명령어 CPU 2. CPU의 작동원리(ALU와 제어장치, 레지스터) : 플래그, 특정 레지스터를 이용한 주소 지정 방식 등 3. CPU 명령어 사이클과 인터럽트 동기 인터럽트(예외), 비동기 인터럽트(하드웨어 인터럽트) 4. CPU의 성능 향상 기법(1) : 빠른 CPU를 위한 설계 기법 코어, 멀티코어, 스레드(하드웨어 스레드, 소프트웨어 스레드) 5.. 2023. 6. 8. String의 불변성과 StringBuilder와 StringBuffer의 차이 기술면접 스터디에서 String의 불변성과 StringBuilder와 StringBuffer에 대해서 공부해봤습니다 :) 불변 객체란? 객체가 생성된 후 내부의 상태가 변하지 않고 계속 유지되는 객체 문자열 데이터는 스택 메모리에 직접 저장되는 것이 아니라 Heap 영역 중에서 String constant pool이라는 곳에 메모리를 할당 받아서 값을 저장하고, String은 그 주소 값을 참조하게 된다. 그래서 값이 변경된다고 해도, 참조 값이 변경된 것이지 실제 데이터가 변경된 것이 아니다. => String의 불변성 String 객체가 불변객체인 이유 1. 메모리 절약 String은 가장 많이 사용되는 데이터 타입 중 하나 이기 때문에 String 타입의 객체들이 가장 많은 메모리를 차지하게 된다... 2023. 6. 8. [HTTP] 멱등성이 뭔가요 영어론 Idempotency 일단 멱등성의 정의를 살펴보면 같은 연산을 여러 번 실행해도 그 결과가 달라지지 않는 성질을 의미한다. HTTP에서의 멱등성이란 여러 번 요청을 보내도, 결과가 같을 때, 즉 서버의 상태가 동일할 때 멱등성을 가진다. 멱등성을 따질 때는 상태 코드가 아니라 서버의 리소스 상태를 고려하기 때문에 서버의 백엔드 상태만 보면 됩니다. 멱등성 메서드 : GET, HEAD, PUT, DELETE, OPTIONS, TRACE 비멱등성 메서드 : POST, PATCH Idempotency means that multiple identical requests will have the same outcome. So it does not matter if a request is sent once or multiple ti.. 2023. 5. 30. JPA와, JPA에서 영속성에 대한 궁금증.. Jpa에 프로젝트에서 공부해보다 영속성이라는 개념이 나왔는데, (비교하는 조건에서) 영속성이란 도대체 무엇인가 해서 정리해보았다...! 엔티티를 데이터베이스에 영속화 시키고 연결짓고 사용하는 환경에서 서로 다른 두 엔티티가 같은 조건이 무엇인가를 비교해야 한다. 개요 JPA의 영속화에 대해 이해하기 위해서는 가장 먼저 영속성 컨텍스트에 대해 이해해야 한다. 자바는 OOP 개념을 가지고 데이터를 객체처럼 관리 하고 DB는 관계형으로 데이터를 관리한다. 그래서 이 간극을 매우기 위해 ORM이라는 개념이 등장했다. ORM : 객체가 테이블이 되도록 매핑 시켜주는 것 (SQL query가 아닌 직관적인 코드(메서드)로서 데이터 조작 가능) ex) SELECT * FROM user => user.findAll( .. 2023. 5. 24. 리눅스란 뭐지..? + 리눅스 주요 디렉토리 및 리눅스 명령어 운영체제(OS)인데, 흔히 아는 윈도우, 맥과 달리 오픈소스 운영체제이다. 컴퓨터 OS 커널의 일종인 리눅스 커널, 또는 리눅스 커널을 사용하는 운영체제를 가리키는 말이기도 하다 오픈소스이기 때문에 누구나 리눅스를 수정하고 원하는 대로 특정 기능을 추가할 수 있다. 리눅스 커널은 리눅스에서 핵심적인 역할을 하는 것으로 메모리 관리, 프로세스 관리 등 우리가 알고 있는 운영체제의 역할을 거의 도맡아 한다!(리눅스 커널 == 리눅스) 리눅스는 운영체제들 중에서 가장 안전하다고 평가되는 운영체제이다. (보안이 우수하다) 오픈소스 기반이기 때문에 누구나 코드를 검토하고 버그가 없는지 확인할 수 있어서 계속해서 취약점을 발견하고 개선할 수 있다. 더 높은 성능을 구현할 수 있다. 리눅스는 메모리를 비교적 낭비하지.. 2023. 5. 15. 이전 1 2 3 4 ··· 13 다음