728x90

크래프톤정글 65

24.01.15 CSAPP 3.1-3.3, 스택, 큐, 연결리스트,재귀, 정수론, 정렬, 검색

CSAPP 어셈블리 코드를 짤때 저급 인스트럭션을 명시해야 하는데, 대개의 경우 고급 언어가 제공하는 높은 수준의 추상화를 사용하는 것이 보다 더 생산적이고 안정적이다. 그렇다면 왜 WHY 기계어를 사용하고 공부할까? 컴파일러를 적절한 커맨드라인 인자와 함께 호출하면 컴파일러는 어셈블리 코드 형태의 파일로 출력을 생성한다. 이 코드를 이해하면 컴파일러의 최적화 성능을 알 수 있고, 코드에 내재된 비효율성을 분석할 수 있다. 프로그램이 얼마나 효율적으로 실행될지 이해하기 위해서 생성된 어셈블리 코드를 컴파일하고 분석해 보곤한다. 더욱이 고급언어에서 제공하는 추상화 계층 때문에 이해 가능한 프로그램의 런타임 동작이 감춰지는 경우도 종종 있다. 또 다른 예로 악성 프로그램이 시스템을 감염 시킬 수 있도록 프로..

24.01.13 CSAPP 1.7- 1.끝 Python

24.01.13 CSAPP 1.7 - 1끝 운영체제는 하드웨어를 관리한다. 운영체제는 하드웨어와 소프트웨어 사이 소프트웨어 계층. 응용프로그램이 하드웨어를 제어하려면 언제나 운영체제를 통해서 해야 한다. 운영체제의 2가지 목적 제멋대로 동작하는 응용 프로그램들이 하드웨어를 잘못 사용하는 것을 막기 위해서 응용프로그램들이 단순하고 균일한 매커니즘을 사용하여 복잡하고 매우 다른 저수준 하드웨어 장치를 조작할 수 있게 이러한 두 가지 목적을 추상화를 통해 달성한다. 추상화에 대해서 여러가지 글들을 봤는데, 그것들이 가져야 할 핵심적인 특징을 가지는 모델을 만드는 것, 어떤 복잡한 것들을 단순화 시켜 표현한 것. 이런 설명들이 많았다. 프로세스 프로그램이 최신 시스템에서 실행될 때 운영체제는 시스템에서 이 한 ..

24.01.12 CSAPP, Python, Algorithm

24.01.12 정보는 비트와 컨텍스트로 이루어진다. 모든 시스템 내부의 정보 - 디스크 파일, 메모리상의 프로그램, 데이터, 네트워크를 통해 전송되는 데이터- 는 비트들로 표시된다. 서로 다른 객체들을 구분하는 방법은 이를 바라보는 컨텍스트에 의해서다. 다른 컨텍스트에서는 동일한 일련의 바이트가 정수, 부동소수, 문자열 또는 기계어 명령을 의미할 수 있다. 프로그램은 다른 프로그램에 의해 다른 형태로 번역된다. GCC 컴파일러 드라이버는 소스파일을 읽어서 실행파일로 번역한다. 번역은 4개의 단계를 거쳐서 실행된다. 이 네 단계를 실행하는 프로그램들(전처리기, 컴파일러 ,어셈블러, 링커)을 합쳐서 컴파일 시스템이라고 한다. 전처리 단계 : 전처리기(cpp)는 본래의 C프로그램을 #문자로 시작하는 디렉티브..

크래프톤 정글 - 천천히 나를 돌아보는 시간

크래프톤 정글의 특별한 과제가 나왔다. 에세이 제출 주제는 찬찬히 나를 돌아보는 시간이다. 사실 이런 주제로 글을 쓰거나 생각하는 것을 좋아하는 나이기에 왜인지 기분이 좋았다. 그럼 레츠꼬우 지나온 과거에 대한 성찰 지금까지 참 편하게 살았다. 나 자신 몰입한적이 없다 할 수는 없고, 노력한 적이 없다고 할 수는 없지만 딱.. 그 정도? 누군가 나는 다시 그 일을 그렇게 하라고 해도 하기 힘들어! 라고 말한다면 나는 10번도 더 하겠는데? 라고 할 정도로 흘러가듯이 살아왔다. 후회 한다는 그런 내용은 아니고, 그런 성장과정 그런 과거가 지금의 나 자신, 성격을 만들었다고 생각한다. 물흐르듯이 조금 더 자유로운. 바로 위에 후회 한다는 그런 내용이 아니라고 했지만 사실 가끔씩 후회하긴 한다. 조금 더 뭔가..

잡담 2024.01.12

크래프톤 정글 - 0Week 24.01.08 - 24.01.11

24.01.08 - 24.01.11 (3박4일) 말도 많고, 탈도 많았던 크래프톤 정글 0주차 미니 프로젝트가 끝났다. 거창하게도 아니고 소소하게 기획하고 출발했던 미니 프로젝트지만 여러가지 요소, 암초에 부딪쳐서 완성조차 하지 못했다. 완성을 하고 남는 시간에 컨텐츠를 좀 더 추가하고 싶었던 나의 계획은 물거품 마냥 꼬르르륵.. 사실 코드적인 그런 부분에서 문제가 많이 생긴게 아니라, 코드 외적인 부분에서 문제가 많이 발생했기 때문에 조금 더 아쉬웠다. 사실 아쉽다고는 말하지만 결과에 대한 부분이 아쉬웠지 나.. 정말 많이 정말 많이했다. 한계에 몰아붙인다고 표현할까? 몰입이라고 표현해야할까? 실시간으로 정말 생각한 코드들을 짜고, 점점 속도가 붙어가는 나의 모습에 기분이 좋았다. 내가 또 와도 이것보..

728x90