강을 올라가는 RE
  • 홈
  • 태그
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (37)
      • 도구 (2)
      • 기초 (16)
      • 토막상식 (7)
      • 디자인패턴 (5)
      • 자바 (2)
      • xv6 (1)
  • 홈
  • 태그
  • 방명록
기초

A Conceptual Overview of asyncio 정리

이글은 파이썬 asyncio 라이브러리의 기초개념을 다룬 A Conceptual Overview of asyncio 글을 읽고 정리해본 글이다왜 필요한가?CPU 집약적인 작업이 필요할 때는 Thread를 통해 병렬성(parallelism) 구현이 필요하지만 I/O 집약적인 프로그램 작성이 목적이라면 비싼 Context Switching 대신 실행중인 Thread에서 실행단위를 변경해 가는것이 비용, 성능면에서 유리하다리눅스에는 파일,네트워크,장치 등의 여러 I/O 대상들이 있지만 실질적으로 non-blocking I/O가 지원되는 소켓 프로그래밍에서 빛을 발한다기본용어Event Loop : 백그라운드에서 job(Tasks)을 관리하면서 제어권을 job에게 넘기거나 이양받는 객체coroutine(Async..

2026. 8. 9. 01:44
카테고리 없음

Proxmox를 통한 Homelab구성

집에 남는컴퓨터를 이용해서 Proxmox VE를 설치한 뒤 윈도우vm, code-server, OpenMediaVault(NAS)를 사용하고 있는데 문득 집밖을 나가서도 서버에 접속해서 파일을 다운로드하거나 코딩을 하고싶다는 생각이 들었다80, 443같은 웹포트면 몰라도 nas같은 민감한 포트를 열기엔 너무 위험하다고 생각하여 적당한 vpn솔루션을 검색해봤고 안전성과 속도가 검증된 wireguard 프로토콜을 지원하는 공유기를 사용하여 연결하는 방식을 생각해봤다. 처리량이 100Mbps정도만 나와줘도 밖에서 윈도우vm사용이랑 파일 업/다운로드는 충분하다전용 방화벽 겸 라우터를 구매할까도 생각해봤지만 기껏해야 일주일에 1~2번 접속예정이라 오버엔지니어링이라고 생각되어 wifi공유기 겸용으로 구매했다유동IP..

2026. 7. 19. 17:53
기초

Git for Computer Scientists 정리

Git for Computer Scientists이 글은 Git for Computer Scientist https://eagain.net/articles/git-for-computer-scientists/ 라는 글을 읽고 요약한 글이다저장소기본적으로 Git은 DAG(Directed Acyclic Graph, 방향성 비순환 그래프)으로 구성되며 저장되는 객체(파일)들은 모두 SHA-1 해쉬된 값으로 볼 수 있다. (파일을 해시한 값을 의미하지는 않음)가장 작은단위의 노드는 blob 객체이며 파일 그자체를 의미한다그 다음단위의 tree 노드는 blob과 함께 filename, mode를 참조하며 또한 스스로인 tree를 filename과 함께 참조할 수 있다. 실제로는 폴더와 비슷한 개념을 가지고있다그 다..

2026. 3. 8. 03:03
기초

[CSAPP] Attack Lab 풀이

Phase1test에서 getbuf를 호출하고 getbuf는 스택을 0x28(40)byte 할당한 후 Gets함수로 읽어들인다. 여기에는 Buffer Overflow공격을 회피하기 위한 아무런 제약이 없으며(ASLR, nx-bit, Stack Canary) Gets함수는 읽어들이는 문자의 개수를 제한하지 않으므로 이전 호출 test의 스택프레임을 덮어쓸 수 있으므로 test로 돌아가는 return address에 touch1의 주소인 0x4017c0을 쓰면 된다Phase2touch2의 함수를 살펴보면 val로 정수값을 받아서 텍스트파일에 저장된 cookie값과 비교를 한다. 교재 환경에서 함수의 첫번째 인자는 %rdi이므로 쿠키값을 %rdi로 옮긴 후 touch2가 실행되도록 코드를 만든 뒤 해당 위치로..

2025. 9. 10. 00:08
토막상식

[CSAPP] Bomb Lab 소개

Carnegie Mellon 대학에서는 CSAPP 도서를 통해서 컴퓨터 시스템을 교육하는데, 구성이 탄탄하여 널리 알려진 과제들이 있다.(Bomb Lab, Attack Lab, Cache Lab 등) 이중 Chapter 3 Machine-Level Representation of Programs을 읽고 출제되는 과제인 Bomb Lab이 있다CSAPP 저자는 홈페이지를 통해서 CMU 학생이 아닌 사람들을 위해서도 과제를 풀어볼 수 있도록 공개를 하였고 아래의 주소에서 과제를 다운로드 할 수 있다https://csapp.cs.cmu.edu/3e/labs.html CS:APP3e, Bryant and O'HallaronLab Assignments This page contains a complete set o..

2025. 9. 2. 23:04
xv6

MIT XV6-RISC V 소개

MIT에서 진행하는 Operating System Engineering수업에서는 xv6라고 부른 자체적으로 제작한 교육용 운영체제가 있는데 벨연구소에서 처음 만든 유닉스 버전인 V6를 교육용으로 개조하여 XV6로 만들었으며 기능을 하나하나 구현해보면서 운영체제를 이해할 수 있도록 제작되었다.수업 프로젝트를 진행하면서 학생은 System call, Page Table, Trap, Lock, File system, Mmap 등을 구현하게되고 아래는 2024년에 진행했던 수업의 스케쥴이며 해당 사이트에서 관련된 내용을 구할 수 있다https://pdos.csail.mit.edu/6.1810/2024/schedule.html 6.1810 / Fall 2024Links to notes, videos etc. on..

2025. 3. 24. 16:28
  • «
  • 1
  • 2
  • 3
  • 4
  • ···
  • 7
  • »

전체 카테고리

  • 분류 전체보기 (37)
    • 도구 (2)
    • 기초 (16)
    • 토막상식 (7)
    • 디자인패턴 (5)
    • 자바 (2)
    • xv6 (1)
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 강을 올라가는 RE All rights reserved. TistoryWhaleSkin3.4

티스토리툴바