본문 바로가기

분류 전체보기113

최근 나의 동향 및 생각 최근 동향 하반기 공채 때 코딩테스트도 어려웠지만 생각보다 코딩테스트를 통과하고 갔던 면접에서 좋은 모습을 보여주지 못했다.... 나 스스로도 그렇게 생각하기에 결과에 불만족하지는 않는다. 그렇게 상시 채용으로 가서 본 면접에서도 내가 했던 프로젝트에서 대해 깊게 생각해보지 못했다는 생각이 많이 들었다. 최근 어떤 스타트업 대표님과 단 둘이 밥을 먹었을 때 최대한 개발을 많이 해보라는 조언을 듣고 어떠한 개발을 해야하나 고민하게 되었다. 확실히 알고리즘이 코드 짜는 것애 대한 자신감과 생각에 도움을 주지만 워낙 재능이 없다 보니 슬슬 풀면 그냥 수능 공부하듯이 생각하는 것보다는 특정 알고리즘을 파악하고 대입하는 느낌이 왔기에 한계 부딪혀 도망치는 것도 맞다 ㅋㅋㅋ..... 뭐... 공채시즌도 아직 시작 .. 2024. 2. 7.
메모리에 관해 생각해볼만한 거리 가상 메모리는 어떻게 돌아갈까? 위에 질문은 정말 흥미롭지만 깊이 들어가기엔 꺼려지는 질문이기도 하다. 전에는 이론으로서만 공부했던 주제이지만, 정글 과정에서 동적메모리 할당을 직접 구현하면서 느끼는 건 가상 메모리는 정말 혁신적이라는 거다. 막연하게 그렇게 쓰는 게 편해서 라고만 생각했었지만, swap-in, swap-out을 구현하면서 메모리의 물리적 한계를 극복하는 것 또한 매우 놀라웠던 경험이었다. 전에도 올린 글에 묵시적 가용 리스트를 구현하여 메모리 배치알고리즘인 first-fit과 next-fit을 구현하여 메모리의 효율성을 테스트했었다. 묵시적 가용 리스트는 블록 경계를 구분하고 할당된 블록과 가용 블록을 구분하는 데이터 구조를 필요하여 한 블록에 크기를 #define으로 크기를 설정하고 .. 2023. 10. 11.
다시 한번 알아보는 UTXO UTXO 동작 원리 트랜잭션 구조 UTXO의 동작방식을 이해하기 위해 트랜잭션 구조를 알아야한다. 먼저 트랜잭션 구조를 알아보자 트랜잭션 버전 : 트랜잭션 넘버 입력값 0 : 입력값 리스트 , Contains : List of Outputs (TXOuts), Look Time : Time boundary for spending 트랜잭션 버전 : 트랜잭션 버전은 네트워크에서 트랜잭션의 유형을 지정하는 버전 번호이다. 굳이 이렇게 나눠 놓은 이유는 -> 트랜잭션은 버전 별로 그 구조와 규칙이다르기 떄문에 Lock Time : 마지막 데이터는 잠금 시간(Lock Time)으로, 트랜잭션으로 블록체인에 바로 포함할 수 있는지, 아니면 지정된 시간이 지나면 포함할 수 있는 지정한다. Inputs 과 outputs.. 2023. 9. 25.
늦게 써보는 Pintos 3주차 VM(가상메모리) 회고 Introduce- 1주 차에서는 스케줄링, 2주 차에서는 시스템 콜에 대해서 알아가고 구현해봤다면 3주차는 (Virtual Memory) 가상 메모리에 관한 주차이다.- 2주차까지는 system call을 이용해 어떠한 파일을 읽어오고 쓰는 명령들을 컨트롤 해봤다면 3주 차는 컴퓨터에 혁명인 가상메모리를 다루는 주차이다.- 가상 메모리란 실제 메모리 크기와 상관없이 메모리를 이용할 수 있도록 가상의 메모리 주소를 사용하는 방법을 의미한다. 글을 쓰는 이 시점에서 얼마 전에 면접에서 가상 메모리를 왜 사용하고 사용했을 때 어떠한 장점이 있을지 질문을 받은 적이 있는데, 단지 메모리 중 사용 가능한 물리 메모리들을 추상화 해놓은 것이라고 명확하게 말하지 못했던 게 아쉬움이 남는데, 갑자기 받은 질문이라 명.. 2023. 9. 25.