목록분류 전체보기 (75)
Kim Jinung
functools — Higher-order functions and operations on callable objects Source code: Lib/functools.py The functools module is for higher-order functions: functions that act on or return other functions. In general, any callable object can be treated as a function for t... docs.python.org Reduce 함수는 이터러블한 객체의 두 인자에, 함수를 누적 해서 적용할 때 사용할 수 있는 함수다. 리스트 [1, 2, 3]이 있을 때 두 인자에 덧셈이라는 함수를 누적 해서 적용하면 1 + 2 ..
네트워크 구조 LAN(Local Area Network): 근거리 통신망으로 거점 내 네트워크에 해당한다. 보통 레이어2, 3 스위치 영역 내에 해당한다. WAN(Wide Area Network): LAN 간 통신하기 위한 네트워크에 해당한다. 일반적으로 WAN하면 사설 네트워크에 해당하고, 인터넷은 공용 광역 네트워크를 의미하는 경우에 해당한다. 통신구조 OSI 7Layer 학부때 배운 네트워크 레이어다. 실제로 일을 하면서는 TCP/IP 프로토콜 스택만 사용해왔다. Application Presentation Session Transport Network Data link Physical TCP/IP 프로토콜 스택 최근에는 대부분 TCP/IP 프로토콜 스택을 사용한다. Application: HTTP..
https://dba.stackexchange.com/questions/127564/how-to-use-count-with-multiple-columns How to use COUNT with multiple columns? How to use multiple columns with a single COUNT? Assume that there is a table demo with these data: id | col1 | col2 | -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 1 |'alice' | 'book1'| 2 ... dba.stackexchange.com
functools — Higher-order functions and operations on callable objects Source code: Lib/functools.py The functools module is for higher-order functions: functions that act on or return other functions. In general, any callable object can be treated as a function for t... docs.python.org cmp_to_key 함수는 파이썬의 old style 비교 함수다. 파이썬의 sort 함수를 사용하다 보면 람다식을 이용해서 중첩 리스트의 특정 요소를 기준으로 정렬한다던가 하는 방법을 종종 사용한다..
평소에 사용하고 있는 파일과 디렉터리라는 개념을 어떻게 정의하고 있는가? 운영체제가 디스크에 파일을 저장하는 방법 그리고 저장한 파일에 접근하는 방법에 관하여 Basic Concept File: 연관된 정보의 집합으로 운영체제에 의해 구현되는 추상적인 자료형이다. 운영체제는 파일에 대한 system call을 제공하게 된다. File System: 운영체제 내에서 유저가 사용하는 파일을 관리하는 시스템. 운영체제가 이를 제공한다. Directory: 파일들을 그룹핑하고 이러한 그룹들을 계층화 해주는 개념 Device Driver: 운영체제와 I/O 장치 사이에는 드라이버가 존재한다. (운영체제가 모든 하드웨어에 대한 정보를 가지고 있을 수 없으니까, 각 제조사에서 이를 소프트웨어 형태로 제공하는 것임) ..
운영체제와 I/O 장치들이 커뮤니케이션 하는 방법의 종류 그리고 운영체제가 I/O 장치를 위해 제공하는 서비스는 무엇이 있는가? I/O Mechanism Processor Access: 입출력 장치와 CPU가 직접 통신, 주기적으로 CPU가 입출력 장치의 상태를 확인하는 pooling 기법과 DMA를 거치지 않는 기본 인터럽트가 그 예시 Direct Memory Access(DMA): DMA 제어기를 중간에 끼고 통신 ex) CPU - DMA 제어기 - I/O 장치 운영체제의 I/O Service Buffering 두 장치간의 속도 차이를 조절하기 위한 기법이다. Buffer(메모리 영역)라는 임시 저장소를 만들어서 더 느린 장치에 속도를 맞춘다. ex) 초당 네트웍 속도가 10MB이고 데이터 저장 속도..
객체 스토리지란 무엇인가요 - 객체 스토리지 - AWS Amazon Simple Storage Service(S3)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다. 규모와 업종에 상관없이 고객은 Amazon S3를 이용하여 데이터 레이크, aws.amazon.com 객체 스토리지란? 사용 사례 및 이점 | Google Cloud 클라우드 객체 스토리지란 무엇인가요? 일반적인 사용 사례, 이점, 객체 스토리지의 작동 방식, 파일 스토리지와의 차이점을 여기에서 자세히 알아보세요. cloud.google.com
저장장치를 어떠한 관점으로 접근할 것인가? 유저가 작성한 프로그램은 저장장치에 저장된다. 그리고 이를 실행하기 위해서는 메모리에 적재 해야 한다. 이 상태를 프로세스라고 부른다. 앞서 운영체제가 CPU 사용을 극대화하기 위한 기법들로 프로세스 스케줄링, CPU 스케줄링 그리고 메모리 페이징 기법 등에 관해 정리했다. 그렇다면 실질적으로 프로그램의 저장을 담당하는 저장장치는 어떠한 구조로 구성되어 있을까? 실제로 사용하는 저장장치의 개략적인 구조 그리고 이를 이용한 운영체제 부팅 과정은 어떻게 연결될까? 더 나아가서 저장 장치이므로 다음과 같은 생각을 해볼 수 있다. 어떻게 하면 저장해둔 데이터를 빠르게 탐색할 것인가? 데이터를 어떻게 하면 안정적으로 저장할 것인가? HDD(Hard Disk Drive) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bXWiMk/btrVI7DVJCk/hyTZjeqAxiJt7J09KYR0jK/img.png)
메모리 관리에 관하여 현대 컴퓨터 시스템에서 프로그램을 실행 하려면 메인 메모리에 적재해야 한다. 운영체제는 CPU 자원의 사용을 극대화 하고 프로세스를 다중으로 실행하기 위해 CPU 스케줄링 기법 등이 발전해왔다. 프로세스 스케줄링, CPU 스케줄링 그리고 멀티 스레드와 같은 기법들이 그 예이다. 그렇다면 실질적으로 CPU가 실행할 명령어나 데이터를 가져오는 메모리는 프로세스를 어떻게 처리하도록 발전했을지 고민해보면 좋을 것 같다. 논리 주소와 물리 주소 프로그램 컴파일 타임과 로드 타임 시에는 논리 주소와 물리 주소가 같다. 그런데 런타임 바인딩 기법에서는 논리 주소와 물리 주소가 다르다. 따라서 프로그램 실행 중 논리 주소를 물리 주소로 변경해주는 하드웨어가 존재한다. 이것이 MMU(Memory M..
https://www.youtube.com/playlist?list=PLVsNizTWUw7E2KrfnsyEjTqo-6uKiQoxc 뇌를 자극하는 윈도우즈 시스템 프로그래밍 www.youtube.com 컴퓨터 구조 (CPU + Cache) 운영체제 (프로세스 & 스레드 + 메모리 관리) 컴퓨터 구조와 운영체제에서 알게 된 내용들이 어딘가 붕 떠 있는.. 연결되지 않은 채로 남아있었는데, 코드 작성하고 컴파일하고, 어셈블러가 바이트 코드로 변경해주고, 메모리에 적재되어서 프로세스가 CPU에 할당되는 흐름을 전체적인 뷰로 이해할 수 있게 도와준다. 결국 애플리케이션 개발자도 시스템 프로그래밍 위에서 작업을 하기 때문에 모르면 손해다.