웹사이트 디자인을 담당하던 언니에게 오랜만에 톡이 왔다.
hello 프로그램을 실행할 때 무슨 일이 일어나요?
자신있게 풀었던 문제에서 메모리 초과가 나서 풀이와 비교하며 분석해보았다.알고보니 최단 거리는 무조건 bfs로 풀어야지! 하고 함수 이름도 bfs로 명해줬는데 풀이 방식을 dfs로 풀고 재귀초과 조건까지 넣어줬다..
잘 버티고 있는 것 같다가도 뜬금없이 위태로운 날이 있다. 잘 붙잡고 있는 것 같다가도 마음이 벼랑 끝으로 추락하는 날이 있다. 잘 이어가고 있다가도 무언가 끊어질 것 같은 날이 있고, 잘 사랑하고 있다가도 혼자가 된 기분에 긴 새벽 외로움에 시달리기도 한다. 우린 이
크루스칼 알고리즘 & 프림 알고리즘이란
링킹(linking)이란 여러 코드와 데이터를 모아 연결하여 메모리에 로드될 수 있고 실행될 수 있는 1개의 파일로 만드는 작업이다.
Introduction to Algorithms 책의 의사 코드를 참고하여 rb-tree를 c언어로 구현해보았다.
좋은 코드 리뷰란, 이것은 이러한 이유로 이렇게 바꾸는 것이 좋습니다. 왜인지 궁금하시면 reference link 달고, 이곳으로 가보십시오.
proxy가 클라이언트일 때. 즉, 클라이언트와 인터넷 사이에 프록시가 위치해서 클라이언트 대신 서버에 요청을 보내주는 역할을 한다. proxy가 웹서버일 때. 즉, 서버와 인터넷 사이에 위치해서 서버의 응답을 대신 클라이언트에 보내주는 역할을 한다. 네트워크 가장 끝
KAIST 전산학부 권영진 교수님 OS 강의를 통해 배운 내용을 정리해보았다. OS를 설계한 사람의 관점에서 왜 이렇게 디자인하였는가에 대한 강의다.하드웨어에서 application을 돌리다보니까 나온 것이 OS다.
대망의 PintOS가 시작되었다.
조교님들 안녕하세요,스레드가 두개 이상의 lock을 보유하고 있어서 각 lock에 의해 donation이 발생하는 상황 (multiple donation)에서, 이전 상태의 우선순위로 적절하게 돌아가도록 하기 위해 thread 구조체 내에 “donations”라는 리스
리눅스는 파일을 읽거나 쓸 때, 새로운 프로세스를 만들 때 응용프로그램이 사용할 수 있는 수백 개의 시스템 콜을 제공한다. C 프로그램은 syscall 함수를 사용해 직접 시스템 콜을 호출할 수 있고, 이를 편리한 wrapper 함수를 통해 제공한다.
권영진 교수님의 두번째 OS 강의를 듣고 공부한 내용을 정리해본 글이다. 교수님의 질문에 못다한 대답은 다시 공부를 해서 채워 넣어보려 한다.😂
pintos의 코드가 2만줄 넘다 보니까 하나하나 test case 확인이 쉽지 않았다. 하나하나 확인이 불가해서 test가 맞는지에 대한 어려움을 겪었다.하지만 결국,fork는 구현하였지만 통과되지 않는 fork 관련 test case 확인하여 아직 구현하지 않아 통
Running a user program의 큰그림을 그려보자 물리 메모리가 제한되어 있지만 많은 프로세스가 물리적 메모리를 사용하려한다. 물리적 메모리는 모든 프로세스의 페이지를 항상 저장할 만큼 크지 않은데 말이다. 해서 물리 메모리에 페이지가 필요하지 않으면 페이지
memory management
Lazy Loading은 메모리 로딩이 필요한 순간까지 미룬다. 게으름의 끝. 나도 그러고 싶다. 이는 페이지가 할당되어 해당 페이지 구조체가 존재하지만, 그에 매핑된 물리 프레임이 없고 내부의 실제 컨텐츠도 아직 로드되지 않은 것이다. 컨텐츠는 딱 필요한 순간에 로드
💡 깨알 깃팁git commit --amend -m "이전 커밋 메세지와 다르게 수정하고 싶은 내용" 을 통해 바로 이전 커밋 메세지를 수정할 수 있다.
하드웨어가 PTE에서 해당 page가 물리 메모리에 존재하지 않음을 표현해야 한다. 하드웨어는 present bit를 사용해 각 PTE에 어떤 페이지가 존재하는지를 표현한다. present bit가 1이라면 물리 메모리에 해당 page가 존재한다는 것이고 0은 물리 메
우리 핀토스의 기본 파일 시스템은 파일을 한 덩어리로 할당해서 외부 단편화에 취약하므로, n개의 블록이 가용함에도 n개의 블록 파일이 할당되지 못할 수 있다. 고로 디스크의 inode 구조를 수정해서 이 문제를 해결하자.
우리의 작은 똥 자랑을 다시 해보려 한다..💩
subdirectories 들어가기 전 50 fail을 만들어야한다고 하는데 어디서부터 문제일까? test case 하나하나 잡기에는 너무 많고, 모르겠을 땐 일단 흐름을 잡아보며 진행하다가 do_format에 dir_create(ROOT_DIR_SECTOR, 16)를
우리가 코드로 구현해본 현재까지의 fat filesystem 세계관은 아래와 같다.
나만무 시작한지 벌써 3주가 흘렀다. react-native와 spring framework를 사용해서 범용적인 서비스를 만들겠다고 하던 패기 넘치는 우리팀이 share extension이라는 입문자에게는 높았던 허들을 넘어 구현을 진행해나가고 있다. 최근에는 채팅을
사용자가 우리 앱에 상품을 담으면 해당 상품을 스크래핑 해온 후 스크래핑 해온 이미지를 대상으로 카테고리 분석을 통해 해당 사용자의 선호도를 추천해주는 기능을 추가하였다. 그런데 문제가 생겼다. 스크래핑 해온 이미지를 카테고리 분류를 위해 이미지 모델 분석 과정을 거치
친구들끼리 돈을 모아 함께 친구 생일 선물하기 위해 공유 장바구니에 생일인 친구가 선호하는 카테고리별 아이템을 추천받아 담고, 각자 선물해 주고픈 선물들도 담았지만 아직 무엇을 살지 결정을 하지 못했다. 질질 오래 끄는 의사결정이 아닌 실시간으로 함께 모여 한순간에
Spring Batch Batch 는 일괄처리 라는 뜻을 가진다. 우리와 같이 이미 상품을 담아 DB에 저장된 모든 데이터들의 변동된 가격을 알아오기 위해서는 DB에서 데이터를 읽고, 스크래핑하고(가공), 변동되었다면 저장을 하게되는데 서비스 이용자가 많아질수록, 가
며칠 전, Go개발자와 이야기를 나누다 Go의 Garbage Collection이 흥미롭다며 이야기를 꺼냈다. Go의 Garbage Collection은 사용하지 않는 메모리(가비지)를 Garbage Collector를 통해 삭제한 후 해당 메모리 만큼을 가비지를
유니온 파인드(Union-Find)