| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- s
- 이스케이프 문자
- R
- 혼자 공부하는 C언어
- 이것이 자바다
- JSON
- 윤성우의 열혈 자료구조
- coding test
- stream
- Algorithm
- insertion sort
- Stack
- 메모리구조
- C 언어 코딩 도장
- 윤성우 열혈자료구조
- Selection Sorting
- buffer
- Serialization
- C programming
- list 컬렉션
- Graph
- 알기쉬운 알고리즘
- datastructure
- Today
- Total
목록전체 글 (516)
Engineering Note
Thread 구현 방법- Runnable 인터페이스 구현(Thread 클래스로 직접 생성)- Thread 클래스를 상속 => Thread 클래스를 상속받으면 다른 클래스를 상속받을 수 없기 때문에, Runnable 인터페이스를 구현하는 방법이 일반적이다. Runnable 인터페이스 구현(Thread 클래스로 직접 생성)- Thread 클래스로부터 작업 스레드 객체를 직접 생성하려면 다음과 같이 Runnable 구현 객체를 매개값으로 갖는 생성자를 호출하면 된다.Thread thread = new Thread(Runnable target); Runnable- Thread가 작업을 실행할 때 사용하는 인터페이스이다. Runnable 인터페이스에는 run() 메서드가 정의되어 있는데, 구현 클래스는 run..
JVM 메모리의 3가지 주요 영역- method area, call stack, heap call stack(call stack area)- stack 자료구조를 기반으로 메서드 호출을 추적하는 공간, JVM이 thread마다 만들어 줌.- 간단하게 stack area라고도 함. stack frame- 메서드가 호출될 때, call stack에 push되는 단위. 지역변수, 매개변수, 리턴 주소 등이 들어있음.- call stack area에 차례대로 저장되는 메서드의 호출 정보 main thread- Java 프로그램 실행시 JVM이 자동으로 만들어주는 최초의 thread, main() 메서드를 실행함. [JVM 시작] │ ▼[Main Thread 생성] ← OS에서 실제 실행 단위..
Interface는 두 장치를 연결하는 접속기다. Java에서는 객체들을 각각의 장치로 볼 수 있다. 그래서 Java에서 Interface는 두 객체를 연결하는 역할을 한다. 객체 A - Interface - 객체 B 객체 A는 Interface를 통해 객체 B와 연결되어 있다. 객체 A는 Interface를 통해 객체 B를 사용할 수 있다. 그런데 객체 A가 객체 B를 직접 호출할 수도 있는데 왜 Interface를 통해 호출할까? 여기서 요즘 시스템 디자인에서도 중요한 노드 간(객체간) 느슨한 결합을 위해서다. 시스템 디자인에서도 리퀘스트를 보내는 클라이언트와 응답을 하는 서버간의 강하게 결합이 되어 있다면, 빠르게 성장하는 서비스를 위해 서버를 수평확장해야하거나 새로운 기능을 추가할 때 어려움을 겪..
데이터베이스에서 가장 중요한 트랜잭션과 동시성 제어에 대해 정리해보려고 한다. 트랜잭션이란 데이터베이스에서 처리하는 하나의 작업단위로, 관련 작업이 모두 성공하거나, 모두 실패해서 데이터의 일관성을 유지해야 하는 작업 묶음 입니다. 트랜잭션의 핵심 속성은 ACID라고 부릅니다.Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성) 속성 설명Atomicity (원자성)모두 수행되거나, 전혀 수행되지 않거나Consistency (일관성)트랜잭션 전후의 DB 상태가 일관되어야 함Isolation (격리성)동시에 실행되는 트랜잭션이 서로 영향을 주지 않도록 격리Durability (지속성)트랜잭션이 성공하면 결과는 영구 반영 트랜잭션과 관련해서 ..
Spring으로 웹 개발을 하다보면 파일 전송할 때 Multipart라는 객체를 사용하는데 왜 Multipart라는 개념이 등장하게 됐는지 궁금해서 자료를 찾아 보았습니다.🔍 Multipart라는 개념이 생긴 배경✅ 1. 단일 데이터 구조의 한계초기의 HTTP나 이메일 시스템(MIME 이전)은 텍스트 기반 메시지를 주고받기 위한 프로토콜이었어.그래서 구조가 매우 단순했고, "하나의 메시지는 하나의 내용만 담는다"는 게 기본 전제였지.이메일이면: 본문만 있거나, 본문 하나 + 첨부파일 하나 정도HTTP면: 하나의 이미지나 하나의 HTML 파일 정도이 단일 구조는 점점 현실적인 데이터 처리 요구를 충족시키지 못하게 됨.✅ 2. 복합 데이터를 다뤄야 하는 현실적인 요구 등장기술이 발전하면서 다음과 같은 문제..
본 내용은 KOCW 이미정 교수님 강의를 보며 정리하며 작성한 내용입니다. e-mail applcationnetwork 계층은 여러 계층으로 나누어서 이해할 수 있는데, 그 중에서 사용자에게 가까운 영역은 application layer이다. application layer에는 WEB과 더불어 e-mail application이 있다.e-mail application의 3가지 구성요소user agentsmail serversmail protocols(SMTP(simple mail transfer protocol), POP3, IMAP) User Agent는 사용자가 메일을 작성하고, 편집하고 읽을 수 있게 하는 어플리케이션이다. ex) Outlook, iPhone mail client Mail Serv..
Rate라는 용어가 많이 나오는데 실제 우리가 일상에서 사용하는 속도라는 개념도 있지만, 처리량, 처리능력이라는 의미의 속도도 있다. 맥략적으로 잘 해석해야 하는데 아래처럼 정리하려고 한다. 구분 한글 용어 영어 용어 정의 / 의미 단위 비교구분용어English expressionDescription단위보충 설명전송 속도전송률 / 전송 속도Transmission Rate네트워크 링크가 초당 전송 가능한 최대 데이터 양bps, Mbps, Gbps하드웨어의 능력, 즉 대역폭(Bandwidth)유입 속도트래픽 유입 속도Incoming Traffic Rate또는 Arrival Rate실제로 외부에서 내 서버/시스템으로 도착하는 데이터의 속도Mbps,packets/sec 등보통 측정값이며, 클라이언트 요청량처..
Cashe(캐시)- 자주 사용되는 데이터를 빠르게 다시 사용할 수 있도록 임시 저장해두는 공간이나 시스템(속도 향상 & 트래픽 감소 목적) 캐시 종류 설명 예시브라우저 캐시 (Browser Cache)사용자 컴퓨터에 저장됨. HTML, CSS, JS, 이미지 등크롬 개발자 도구에 나오는 from disk cache프록시 캐시 (Proxy Cache)중간 서버가 여러 사용자를 위해 저장학교/기업 네트워크의 프록시 서버(ex. Squid)CDN 캐시 (Edge Cache)CDN 서버가 전 세계 여러 위치에 콘텐츠 캐싱Cloudflare, Akamai, AWS CloudFront서버 캐시 (Reverse Proxy Cache)웹 서버 앞단에서 캐시해서 백엔드 접근 줄임Nginx, Varnish애플리케이션 캐..