일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 시스템콜
- 티스토리챌린지
- userprog
- 자바
- 크래프톤정글
- 코드트리
- 백준
- Flutter
- 사이드프로젝트
- 크래프톤 정글
- 자바스크립트
- HTML
- CSS
- 핀토스
- JavaScript
- 오블완
- defee
- 모션비트
- 4기
- 큐
- 리액트
- 알고리즘
- Java
- corou
- TiL
- 스택
- 소켓
- pintos
- 나만무
- Vue.js
- Today
- Total
목록TiL (157)
미새문지
OOP객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 설계 방법론 중 하나로, 프로그램을 여러 개의 객체(object)로 구성하여 그 객체들 간의 상호작용을 통해 프로그램을 설계하고 구현하는 방법론이다.OOP의 핵심 개념은 클래스(class)와 객체(object)이며, 여기서 객체는 데이터와 데이터를 처리하는 코드를 묶은 독립적인 단위이고, 클래스는 이러한 객체를 정의하는 설계도이다. OOP의 핵심 개념클래스(Class)객체를 정의하는 틀이나 설계도객체의 속성(데이터)과 행동(메소드)을 정의예: class Car, class Fruit객체(Object)클래스의 인스턴스(instance)실제로 메모리에 할당되어 동작하는 개체예: myCar = Car(), my..
Base64 인코딩Base64 인코딩은 바이너리 데이터를 ASCII 텍스트로 변환하는 인코딩 방식이며, 이는 데이터를 텍스트 기반 시스템(예: 이메일, JSON, XML 등)에서 쉽게 전송하고 저장할 수 있도록 하기 위해 사용된다.Base64는 바이너리 데이터를 텍스트로 변환할 때 데이터 크기를 약 33% 정도 증가시킨다. 인코딩 과정바이너리 데이터 분할: 원본 바이너리 데이터를 3바이트(24비트)씩 나눈다.비트 그룹 변환: 각 3바이트 블록을 6비트씩 4개의 그룹으로 나눕니다. 6비트는 2^6 = 64개의 값(0부터 63까지)을 가질 수 있다.Base64 인덱스 매핑: 각 6비트 그룹을 Base64 인덱스 테이블의 값으로 변환하는데, 이 테이블은 " A-Z (0-25)", "a-z (26-51)", "..
리덕스를 사용하는 이유리덕스를 사용하는 이유는 주로 애플리케이션의 상태 관리가 복잡해지면서 나타나는 문제들을 해결하기 위함이다.리덕스의 장점예측 가능한 상태 관리리덕스는 단일 스토어와 액션, 리듀서를 사용하여 상태 변경이 언제 어디서 일어나는지 명확하게 정의할 수 있다.이를 통해 상태 변화의 흐름을 쉽게 추적하고 예측할 수 있다.디버깅 및 개발 도구 지원리덕스는 강력한 디버깅 도구인 Redux DevTools를 제공하는데, 이 도구를 사용하면 상태 변경을 시각화하고, 시간 여행 디버깅(time-travel debugging)을 통해 이전 상태로 돌아가거나 특정 시점의 상태를 재현할 수 있다.중앙 집중식 상태 관리애플리케이션의 모든 상태가 하나의 스토어에 저장되므로 상태 관리가 중앙집중식으로 이루어지며, ..
DHCPDHCP가 무엇인지 설명해주세요.DHCP(Dynamic Host Configuration Protocol)는 네트워크 상에서 장치가 자동으로 IP 주소 및 기타 네트워크 설정을 받을 수 있도록 해주는 프로토콜이다. 주요 기능IP 주소 할당: 네트워크에 연결된 장치(클라이언트)에게 IP 주소를 동적으로 할당한다.기타 네트워크 설정 제공: 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소 등의 네트워크 설정 정보를 제공한다.IP 주소 갱신 및 해제: IP 주소를 일정 시간 동안만 유효하게 하고, 만료 전에 갱신하거나 네트워크에서 벗어날 때 해제할 수 있다.작동 방식DHCP Discover: 클라이언트가 네트워크에 연결되면, DHCP 서버를 찾기 위해 브로드캐스트 메시지(DHCP Discover)를 ..
웹소켓과 소켓 통신소켓과 포트의 차이가 무엇인가요?소켓 (Socket)소켓은 네트워크 통신의 종단점으로, 두 시스템 간의 데이터 전송을 가능하게 한다. 소켓은 IP 주소와 포트 번호를 결합한 것으로, 네트워크 상의 특정 프로세스와 통신하기 위한 인터페이스이다.IP 주소: 네트워크 상의 특정 장치(호스트)를 식별포트 번호: 장치 내의 특정 애플리케이션(프로세스)을 식별프로토콜: TCP, UDP와 같은 통신 방식소켓은 클라이언트와 서버 간의 연결을 설정하고, 데이터 전송 및 수신을 관리하는 역할을 하며, 소켓 프로그래밍에서는 소켓을 생성하고, 특정 주소와 포트에 바인딩한 후, 연결을 수립하고 데이터를 주고받는다. 포트 (Port)포트는 네트워크에서 특정 프로세스를 식별하는 숫자이며, 포트 번호는 IP 주소와..
자바스크립트의 메모리 관리는 주로 자동화된 가비지 컬렉션(garbage collection)을 통해 이루어진다.여기서 가비지 컬렉션은 자바스크립트 엔진이 더 이상 참조되지 않는 객체를 자동으로 메모리에서 해제하여 메모리 누수를 방지하는 과정이며, 주요 알고리즘은 참조 카운팅(Reference Counting)과 마크 앤 스윕(Mark-and-Sweep)이 있다.자바스크립트의 메모리 관리를 이해하려면 몇 가지 주요 개념을 알아야 한다.1. 메모리 할당변수를 선언하고 값을 할당하면 메모리가 할당된다.let number = 123; // 숫자 타입의 메모리 할당let string = "Moonmisae"; // 문자열 타입의 메모리 할당let obj = { key: "value" }; // 객체 타입의 메모리..
오늘 스터디는 도현이까지 참여해서 4명이서 시작했다. 도현이는 이번 주차 내용으로 진행하고 만석, 재희님은 첫주차부터 모든 키워드로 진행, 본인은 중간에 끼어든 4주차부터 이번주까지 진행하는 걸로 했다. 다른 날에 비해 스터디 시간이 짧아 빠르게 시작했는데, 이번 키워드는 쿠키와 세션, HTTP에 대한 내용으로 진행했는데 http의 stateless에 대해 질문받았다. 근데 설명하면서 정글의 나만무 프로젝트 때가 생각나 그 부분을 토대로 설명하다가 세션에 대한 내용을 잘못 전달했었다. 정확히 숙지하고 있었어야 헀는데 비슷한 단어에 혼동됐다.. 그리고 이번 주차꺼만 생각하다가 저번주에 학습한 공유 메모리에 대해 망각해버린게 너무 아쉽다. 그래서 학습할 때 좀 더 집중하고 깊게 파고드려고 한다.이번 주차의 ..
HTTP공개키와 대칭키에 대해 설명해주세요.공개키 암호화와 대칭키 암호화는 암호학에서 널리 사용되는 두 가지 주요 암호화 방법이며, 각각의 방식은 데이터를 안전하게 보호하는 데 사용되며, 각기 다른 용도와 특징을 가지고 있다. 대칭키 암호화(Symmetric Key Encryption)대칭키 암호화는 암호화와 복호화에 동일한 키를 사용하는 방식이다. 특징키의 동일성: 암호화와 복호화에 사용되는 키가 동일하다.속도: 대칭키 암호화 알고리즘은 일반적으로 비대칭키 암호화 알고리즘보다 빠르다.안전성: 키가 외부에 노출되지 않도록 하는 것이 중요하며, 키가 유출되면 데이터를 안전하게 보호할 수 없다.알고리즘 예시: AES(Advanced Encryption Standard), DES(Data Encryption ..