- 네트워크 (Networks) [Networks] 3주 1차 : Application Layer - Principle of Network Applications Some network apps E-mail Web Text massaging Remote login P2P file sharing Multi-user network games … Creating a network app Write programs that : Run on (different) end systems Communicate over network E.g. Web server software communicates with browser software No need to write software for network-core devices Network-core devices do not run user applications..
- IT [IT] 애자일 소프트웨어 개발 선언 애자일 소프트웨어 개발 선언 애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 agilemanifesto.org
- 라이프 [Life] 새로 바꾼 방 구조
- 음악 [Mu] Ö - Hypernormality (short movie)
- 네트워크 (Networks) [Networks] 2주 2차 : Roadmap - Network Core Packet switching : 패킷 단위로 데이터가 쪼개져서 네트워크가 프로세싱 되는 방식 Store-and-forward : Entire packet must arrive at router before it can be transmitted on next link (Shared) Takes L/R seconds to transmit (push out) L-bit packet into link at R bps end-end delay = 2L/R (assuming zero propagation delay) Queuing and loss If arrival rate (in bits) to link exceeds transmission rate of link for a peri..
- 데이터베이스 (Database) [Database] 2주 2차, 3주 1차 : Database Approach - Database Approach Traditional file processing : Each user defines and implements the files needed for a specific software application Database approach : Single repository maintains data that defined once and then accessed by various users Main characteristics of database approach Self-describing nature of a database system Database system contains complete definition of structure and constrai..
- 데이터베이스 (Database) [Database] 2주 1차 : Database - Database 연관된 데이터의 집합 의미를 갖고 있는 데이터의 집합 특별한 목적을 갖고 만들어짐 Example of a large commercial database : Amazon Database management system (DBMS) : 프로그램의 집합, Database를 생성하고 관리하게 함 Defining a database : 데이터를 저장하기 위하여 데이터 타입, 구조, 제약조건(Constraints)를 특정하는 것 Manipulating a database : Query(read 연산) and update(write 연산) the database mini world Sharing a database : Allow multiple users and programs Transactio..
- 안드로이드 (Android) [Android] 2주 2차 : 애플리케이션의 구성 - 애플리케이션의 구성 애플리케이션 작성 절차 1. 사용자 인터페이스 작성 (XML) 2. 자바 코드 작성 (JAVA) 3. Manifest 파일 작성 (XML) 애플리케이션을 구성하고 있는 컴포넌트를 기술하고 실행 시에 필요한 권한을 지정 패키지 폴더 설명 Gradle Gradle은 안드로이드 앱의 Build 도구 앱을 빌드하는데 필요한 라이브러리 버전을 자동으로 파악하여 다운로드 build.gradle(Project)는 전체 프로젝트에 대한 빌드 설정 build.gradle(Module)에는 프로젝트 내의 모듈별 설정 Main activity 안드로이드 애플리케이션의 실행이 시작되는 곳 안드로이드에는 main()이 없음 (숨겨져 있음) Main activity가 시작 화면의 Activity Activ..
- 안드로이드 (Android) [Android] 2주 1차 : 애플리케이션의 기초 개념 - 애플리케이션의 기초 개념 애플리케이션 개발 단계 자바 소스 파일 -> 컴파일러 -> .dex 파일 -> apkbuilder -> .apk 파일 -> 다운로드 애플리케이션은 컴포넌트로 이뤄짐 Activity : 사용자 인터페이스 화면을 가지는 하나의 작업, 액티비티들이 모여 하나의 애플리케이션이 됨 (e.g. 음악 재생 화면) Service : 백그라운드에서 실행되는 컴포넌트로, 오랫동안 실행되는 작업이나 원격 프로세스를 위한 작업, (e.g. 백그라운드에서 음악 재생) Broadcast receiver : 방송을 받고 반응하는 컴포넌트, 화면 꺼짐, 배터리 사용량, 사진 촬영 등의 이벤트 발생 수신, 앱 내에서 발송되는 방송 수신 Content provider : 데이터를 관리하고 다른 애플리케이션에..
- 음악 [Mu] Black Country, New Road - The Place Where He Inserted the Blade
- 네트워크 (Networks) [Networks] 2주 1차 : Roadmap - What’s the Internet? Router : 내가 보낸 데이터의 경로를 알고리즘에 의해 결정 Internet Service Provider (ISP) : 네트워크를 구성해서 서비스 Host : End systems, 가장 말단에 연결되어 있음 Network app : 브라우저, 앱 등 네트워크에 연결되는 모든 Software Communication link Bandwidth : Transmission rate, bits per second Pocket switch : Routers & switches Node : 전체에 붙어있는 하나의 Entity Internet : Network of networks, interconnected ISPs Protocols : TCP, IP, HTTP, 8..
- 운영체제 (Operating Systems) [OS] 2주 2차 : Introduction - Operating System Operation Interrupt-driven : 사용자로부터 받는 Interrupt나 운영체제의 요청, 오류에 의해 일어나는 Trap이 발생할 경우 작업 시작 Software interrupt (System call) Hardware interrupt (Interrupt generated by hardware) I/O completed Packet arrived thru network interface card Mouse move 등과 같은 Interrupt가 발생하면 실행되는 Function이 OS에 있음 Handling errors occurred during execution of programs Divide by zero, overflow, … Other pr..
- 운영체제 (Operating Systems) [OS] 2주 1차 : Introduction - Operating System 공통적으로 합의된 Definition은 없음 컴퓨터 상에서 항상 실행되는 software Hardware와 유저 사이에서 실행되는 프로그램 (kernel) 전원이 켜질 때부터 bootstrap program에 의해서 실행되는 프로그램 Kernel : 메모리에 상주하는 운영체제의 일부분 Bootstrap program 전원을 공급했을 때 처음으로 실행되는 프로그램 OS를 메모리에 Loading 해주는 역할 - History of Operating System (types -> issues) Single job at a time -> No kernel Batch system -> Resource (CPU, IO devices) utilization (Spooling) Mul..
- 음악 [Mu] Big Thief - Change 신보 1번 트랙
- Vanilla JS [Project] CSS 변수 제어 CSS Variables cuttingworms.github.io - 프로젝트 개요 JavaScript를 이용하여 여러가지 CSS 변수들을 제어 사진을 감싸는 공간의 크기와 색깔, 불투명도를 조절 - HTML + CSS + JavaScript Code Control CSS Variables with JS Spacing : Blur : Base Color : querySelectorAll 함수를 사용하여 controls 클래스의 input NodeList를 inputs에 저장 handleUpdate 함수 사이즈의 단위인 px를 suffix로 넣어주기 위해 data- 속성의 sizing을 suffix에 저장 setProperty 함수를 사용하여 변화한 값 뒤에 suffix를 추가하여 업데이트 NodeList..
- 음악 [Mu] Eulerroom Equinox 2020 - Reinado de Terror de Armando Barreda 세상엔 별게 다 있다
- IT [IT] Code-It-Yourself! Sound Synthesizer 이거 미쳤음 재밌겠다
- Vanilla JS [Project] 아날로그 시계 Clock 12 1 2 3 4 5 6 7 8 9 10 11 cuttingworms.github.io - 프로젝트 개요 JavaScript와 CSS를 활용한 아날로그 시계 - JavaScript Code const secondHand = document.querySelector('.second-hand'); const minuteHand = document.querySelector('.min-hand'); const hourHand = document.querySelector('.hour-hand') function setDate() { const now = new Date(); const seconds = now.getSeconds(); const minutes = now.getMinutes(); con..
- Vanilla JS [Project] 드럼 패드 webpad A clap S hihat D kick F openhat G boom H ride J snare K tom L tink cuttingworms.github.io - 프로젝트 개요 키보드 입력을 받아 해당하는 드럼 소리를 출력하는 웹 어플리케이션 - JavaScript Code function playSound(e) { const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`); const key = document.querySelector(`.key[data-key="${e.keyCode}"]`); if (!audio) return; audio.currentTime = 0; audio.play(); key.classList...
- 그래프, Graph [Graph] 순회, Traversal https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 순회 (Traversal) 그래프의 모든 정점을 방문하는 체계적인 방법 - 깊이 우선 탐색 (DFS, Depth First Traversal) DFS는 임의의 정점에서 시작하여 이웃하는 하나의 정점을 방문하고, 방금 방문한 정점의 이웃 정점을 방문하며 이웃하는 정점들을 모두 방문한 경우에는 이전 정점으로 되돌아..
- 음악 [Mu] Kanye West - Ghost Town (MV / Lyrics) [Intro: Shirley Ann Lee] Someday, someday 언젠가, 언젠가 Someday I'll, I wanna wear a starry crown 언젠가 난, 별처럼 반짝이는 왕관을 쓰고 싶어 [Verse 1: PARTYNEXTDOOR] Someday, someday, someday 언젠가, 언젠가, 언젠가 I wanna lay down, like God did, on Sunday 눕고 싶어, 하느님이 주일에 그랬던 것처럼 Hold up, hold up 잠깐, 잠깐만 Someday, somedays, I remember this on a Sunday 언젠가, 언젠가, 일요일에 이걸 기억할 거야 Backway, yeah, way, way, burning, mhm-mhm 예전에 말야, 그..
- 그래프, Graph [Graph] 그래프, Graph https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 그래프 (Graph) 정점(Vertex)과 간선(Edge)의 쌍, G = (V, E) 하나의 간선은 두 개의 정점 사이를 연결하는 정점의 쌍 Undirected edge : 정점의 쌍에 순서가 없는 경우, 즉 (u, v) == (v, u) Directed edge : 정점의 쌍에 순서가 있는 경우, 즉 (u, ..
- 정렬, Sorting [Sorting] 퀵 정렬, Quick Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 퀵 정렬 (Quick Sort) 입력의 맨 왼쪽 원소 혹은 맨 오른쪽 원소(피벗, Pivot)를 기준으로 피벗보다 작은 원소들과 큰 원소들을 각각 피벗의 좌우로 분할한 후, 피벗보다 작은 부분과 피벗보다 큰 부분을 각각 재귀적으로 정렬하는 알고리즘 - 수행 시간 최선 경우가 O(nlog(n)), 평균 경우가 O..
- 정렬, Sorting [Sorting] 합병 정렬, Merge Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 합병 정렬 (Merge Sort) 크기가 n인 입력을 1/2n 크기로 분할하고, 각각에 대해 재귀적으로 합병 정렬을 수행한 후, 2개의 각각 정렬된 부분을 합병하는 정렬 알고리즘 수행 과정에서 임시로 합병된 결과를 저장하기 위해 입력 리스트 a와 같은 크기의 보조 리스트가 필요 - 반복 합병 정렬 (Iterat..
- 라이프 [Skateboard] The Concrete River – Levi's Skateboarding in Cyprus 스팟이 되게 특이하다
- 음악 [Mu] C418 너무 좋다 마음이 안정된다
- 정렬, Sorting [Sorting] 힙 정렬, Heap Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 힙 정렬 (Heap Sort) 최대 힙을 이용하여 루트를 힙의 가장 마지막 노드와 교환한 후 힙 크기를 1 감소시키고, 루트로부터 Downheap 연산을 통해 힙 속성을 복원하는 과정을 반복하여 정렬하는 알고리즘 - 수행 시간 먼저 상향식(Bottom-up)으로 힙을 구성하는 데 O(n) 소요 루트와 힙의 마지..
- 정렬, Sorting [Sorting] 쉘 정렬, Shell Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 쉘 정렬 (Shell Sort) 삽입 정렬을 이용하여 작은 값을 가진 원소들을 리스트의 앞부분으로 옮기며 큰 값을 가진 원소들이 리스트의 뒷부분에 자리 잡도록 만드는 과정을 반복하여 정렬하는 알고리즘 삽입 정렬에 전처리 과정을 추가한 것 전처리 과정은 삽입 정렬이 현재 원소를 앞부분에 삽입하기 위해 이웃하는 원..
- 정렬, Sorting [Sorting] 삽입 정렬, Insertion Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 삽입 정렬 (Insertion Sort) 리스트가 정렬된 부분과 정렬되지 않은 부분으로 나뉘며, 정렬되지 않은 부분의 가장 왼쪽 원소를 정렬된 부분에 삽입하는 방식의 정렬 알고리즘 리스트의 첫번째 원소를 현재 원소로 지정하여 정렬을 시작하고, 리스트의 마지막 원소를 이미 정렬되어 있는 앞부분에 삽입했을 때 정렬..
- 정렬, Sorting [Sorting] 선택 정렬, Selection Sort https://github.com/cuttingworms/Data-Structures-with-Python GitHub - cuttingworms/Data-Structures-with-Python Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub. github.com - 선택 정렬 (Selection Sort) 리스트에서 아직 정렬되지 않은 부분의 원소들 중에서 최솟값을 선택하여 정렬되지 않은 부분의 가장 왼쪽의 원소와 교환하는 정렬 알고리즘 리스트의 앞쪽 부분은 정렬, 나머지 부분은 정렬이 되지 않은 상태로 마지막 한 개의 원소가 남을 때까지 반복적으로 수행 - 수행 시간 처..