일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이스케이프 문자
- coding test
- Algorithm
- JSON
- list 컬렉션
- C programming
- buffer
- Stack
- datastructure
- Selection Sorting
- Graph
- s
- C 언어 코딩 도장
- 혼자 공부하는 C언어
- insertion sort
- 이것이 자바다
- 윤성우의 열혈 자료구조
- 메모리구조
- R
- 알기쉬운 알고리즘
- Serialization
- stream
- 윤성우 열혈자료구조
- Today
- Total
목록전체 글 (454)
Engineering Note
브라우저는 기본적으로 width: 100vw, height: 100vh 크기의 **viewport(화면 전체)**를 가지고 시작한다.그런데 CSS에서 body 태그는 기본적으로width: 100%(== 100vw)height: auto가 적용되어 있다.이 말은, body의 가로폭은 브라우저 전체 너비를 자동으로 차지하지만,세로 높이는 자식 요소들의 높이 합만큼만 설정된다는 뜻이다.예를 들어 태그 하나만 존재한다면, 해당 태그는 약 20px 정도의 높이를 차지하고,이때 body의 높이도 약 20px이 된다.즉, 브라우저의 상단 20px 정도만 실제로 렌더링된 셈이다. 나머지 아래 영역은 body가 차지하지 않는 빈 뷰포트 공간이다.그래서 body 내부의 요소들을 브라우저 전체 기준으로 중앙 정렬하고 싶다..
JS는 기본적으로 Browser를 조작하기 위해서 태어난 언어다. 언어의 목적에 맞는 함수들을 지원하고 있다. document.getElementId();=> element의 요소들을 가져온다., ID만으로 선택함. querySelector("#myId") => id도 되고 class, tag 등 CSS 선택자 전부 가능document.getElementById("myBtn"); // id로 찾음document.querySelector("#myBtn"); // CSS 선택자 형식으로 iddocument.querySelector(".btn"); // 클래스 선택 가능 element.addEventListenr();=> 그 요소에 이벤트를 등록한다. 대..
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..