이제까지 윈도우즈 클라이언트 어플리케이션을 만들다가, 진지하게 백엔드 어플리케이션을 배우면 뭔가 더 성장하지 않을 까 생각이 들었다. flutter 를 활용하여 모바일 클라이언트 프로젝트에 참여할 기회를 얻어 맛을 봤는데, 매력적이였다. 프로젝트가 끝난 시점에서, 나는 내 메인 영역인 윈도우즈 클라이언트의 wpf 만큼 framework를 잘 이해했다고 보긴 어렵다고 느꼈다. flutter를 사용했었지만 dart란 언어 자체와, flutter란 framework나, state management 개념이라던지 뭐 cubit,bloc ... 이런건 더 깊이를 쌓아가야하는데, 당장에 필요하거나 호기심이 가진 않는다. 현존하는 클라이언트 디바이스는 다양하고 디바이스 안에서 돌아가는 framework도, 아키텍쳐도..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 동기화의 문제에 대해 알아본다. 2) 동기화 문제의 해결 방법에 대해 알아본다. 데이터 접근과 Race Condition - 프로그램은 CPU에서 연산을 수행하고, Memory에 data를 기록한다. CPU를 Execution Box, 메모리를 Storage Box 라고 하자. Execution Box-Storage Box의 구도는 CPU-Memory 외에도 컴퓨터내부-디스크, 프로세스-그 프로세스의 주소 공간도 예가 될 수 있다. - 문제는 데이터를 한 프로세스에서 읽는 구조가 아닌, 여러 프로세스에서 읽는 구조가 되면 Race Condition이 발생할 수 있다. OS Level에서 Race C..
강의 url www.kocw.or.kr/home/search/kemView.do?kemId=1226304 1) CPU 스케줄링과 디스패처가 필요한 이유와 개념에 대해 알아본다. 2) CPU 스케줄링의 여러가지 알고리즘에 대해 알아본다. 3) CPU 스케줄링의 여러가지 알고리즘 중 멀티레벨 큐와 멀티레벨 피드백 큐에 대해 알아본다. 프로세스의 사이클 - 프로세스의 상태를 ready, running, blocked(=wait), suspended blocked, suspended ready 으로 5가지로 나눌 수 있다. CPU와의 관계로 Burst time 개념으로 단순화 하였을 때 다음 그림과 같이 표현할 수 있다. - 프로세스는 연산할 때 CPU를 필요로 하고, device를 제어할 땐 I/O가 필요한데..
강의 url) www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 1) 인터넷을 동작시키는 컴퓨터네트워크 프로토콜을 학습한다. 2) Multiplexing/Demultiplexing와 Error detection을 이해한다 3) UDP와 TCP의 특징을 이해하고, TCP의 RDT를 이해한다. 4) RTT의 문제를 개선하는 방법에 대해 알아본다. What is socket? - 어플리케이션 프로세스 들 끼리의 통신이므로, 결국엔 Client - Server 간의 통신이다. 결국엔 App이라, Application 사용자나 개발자 입장에서는 OS 내부의 구현을 건드릴 필요도 알 필요도 없다. 그러나 전문가의 입장에선 OS 내부로 들어가야 한다. - 개발자 입장에서는 OS가..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 프로세스의 상태 변화와 프로세스 중 CPU 수행 단위인 스레드에 대해 알아본다. 2) 프로세스의 생성에 있어 자식 프로세스가 부모 프로세스를 복제, 새로운 과정을 덮어씌우는 과정과 프로세스의 종료에 대해 알아본다. 3) 프로세스 생성과 종료에서 쓰이는 네 종류의 시스템 콜, 프로세스 간의 협력에 대해 알아본다. 1) 프로세스 상태도 Suspended 개념이 추가되면서 프로세스 상태도를 조금 더 자세히 그린 것이다. 1) active/inactive하다는 표현은 이전 강의(포스트 Process 1) 후반부에서 서술했듯이 프로세스가 일을 하느냐 안하느냐 에 따라 나뉜 것이다. 더 자세하게 말하면 메모리..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 프로그램의 실행 과정을 이해하고 커널이 가진 내용과 사용자 프로그램이 사용하는 함수를 알아본다. Keyword - 프로세스, 가상 메모리, Address transition, 프로세스의 주소 영역 및 커널 주소 영역 (data/stack/code) 2) 프로세스의 개념, 상태, 문맥과 운영체제가 프로세스를 큐에 넣고 관리하는 형태에 대해 알아본다. Keyword - 프로세스의 컨텍스트, Process status(running/ready/wait) 그리고 queue, PCB, Program counter, register, interrupt, 3) 스케줄러의 세 종류인 장기, 단기, 중기 스케줄러에..
강의링크 www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 전주 내용 요약 해주심 TCP/ UDP 패킷 기반 전송 - 라우트를 통해 이동함(series of routes) 패킷 기반 전송에서 4가지의 delay nodal processing - 비트에 에러가 있는지 없는지 검사 및 목적지로 도달하기 위해 어떤 link를 통해 가야할지 결정함. queueng - 다수의 사용자가 이용하게 되면 패킷 처리를 할 수 있는 라우트의 capa 보다 넘치게되 된다. 그러면 out going 으로 가기 전 queue 라는 공간에 대기하게 되고, queue도 넘치게 되면 패킷 유실이 발생한다. 패킷 유실의 대부분은 라우터에서 발생하며, 링크에선 거의 발생하지 않음. transimis..
Overview - Operating System acts an intermidiary between the user of a computer and the computer hardware. - Operating System is to provide an environment in which a user can execute programs in a convenient and effcient manner. - Operating System is software that manages the computer hardware. - Operating System is large and complex. piece by piece approach is needed and each pieces should be w..
내가 공부 했던 것들 DID 1. 자료구조 및 알고리즘 영역 - 이산수학 Discrete Mathematchics 학부시절 하란 교수님의 수업을 듣고 난 뒤, 과목의 매력을 느껴 교과목의 부 교재였던 Rosen 이산수학 원서 Discrete mathematics and its application으로 공부하였음. 내용 이해 및 연습문제를 풀 정도가 되니, BOJ에 나오는 대부분의 기초적인 알고리즘을 이해하는데 도움이 되었다. 그러니까 왠만한 코딩테스트들의 문제는 이 책 내용을 벗어나지 않는다. (PS 대회 제외) 특히 해당과목은 CS의 기본 수학인 "이산 수학" 즉, 수학이 subject였기 때문에 공학도인 내가 제일 먼저 덤벼볼 수 있었던게 있었던 것 같다. 2017년도에 책으로 공부했었는데, 현재까지..
wpf에서 tray를 구현하려면 windowforms 어셈블리를 참조하여 구현하여야 합니다. 저는 어플리케이션을 시작할 때 바로 트레이에 표시할 것이므로, wpf 어플리케이션의 시작점인 App.xaml.cs에 tray를 바로 할당 할 예정입니다. Using문 추가 및 App 클래스 내부에 NotifyIcon 객체 필드를 생성합니다. 그리고 그 후 작업은 NotifyIcon에 객체를 할당해주면 됩니다. 저는 doge png를 받아 Reosurce로 추가해주었고, png->bitmap->bitmapHandle을 이용하여 icon을 만들어주었습니다. 쉽게 표현하자면, png 리소스에서 ico 리소스로 변환하는 작업을 c#소스코드로 작성하였습니다. 이 작업은 icon을 이용하는데 필수적인 작업이 아닙니다. 디자..
- Total
- Today
- Yesterday
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 데이터 중심 애플리케이션 설계
- Simulation
- 조합 코딩
- 아레나시뮬레이션
- 이산수학
- arena simulation
- Discrete Mathematics
- beginning javascript
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- rosen
- 자바스크립트 예제
- 아레나 시뮬레이션
- 로젠
- 시뮬레이션
- 대규모 시스템 설계 기초
- 그라파나
- 백준
- 이산 수학
- paul wilton
- flutter
- 자바스크립트
- javascript
- 아레나
- Trie
- grafana cloud
- Propositional and Predicate Logic
- 명제논리
- Arena
- 최단경로 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |