본문 바로가기

분류 전체보기319

프리랜서 개발자 계약하기 전 꼭 알아야 할 것들 안녕하세요오늘은 제 썰을 풀면서 프리랜서 개발자를 시작하기 전 꼭 알아야 할 것들을 알려드리려고 합니다.일단, 제 sns(블로그, 링크드인..) 어디에도 해당 회사를 언급하지 않았기 때문에 뭐 회사를 까기 위해서 쓰는 글은 절대 아니구요, 진짜 단순히 다른 사람들은 이런 일을 안당했으면 하는 마음으로 이 글을 씁니다. 아 그리고 저 일 시작하기 전 저는 매우 아무것도 모르는 대학생이었습니다.읽다가 답답해도 걍 아무것도 몰라서 그랬구나 해주세요. 저는 4학년 시작 무렵, 주변에 하나 둘 프리랜서 개발자로 일을 하는 사람들이 생기면서 매우 부럽다는 생각을 했습니다.돈을 받고 개발을 한다? = 능력자그래서 처음 제의가 들어왔을 때 당연히 그냥 하겠다고 했고, 정말 일이 들어왔다는 사실이 감사하기만 했습니다.아.. 2026. 1. 10.
방문자 만명 달성! 누적 방문자 만명이 되었다. 조회수도 23000이 넘었다!사실 유튭보면 조회수 몇만은 기본이라 뭐 특별한 숫자는 아니지만..재미없는 개발, 컴싸 블로그를 이 많은 사람들이 봐주셨다는건 의미 있는 일 같다!벌써 개설된지 4년된 낡은 블로그가 되었다. 그동안 여기를 죽은 블로그로 만들지 않았다는 점이 만족스럽다!구독해주시고 댓글써주시고 공감 눌러주신분들 감사합니다덕분에 더 재미있게 운영할 수 있었던 것 같아요! 이제 이 블로그 공적인 곳에 공개할 일은 별로 없어졌으니짤도 맘껏 써야겠다 2026. 1. 10.
[LLM] LMCache 코드 분석 - prefetch,eviction prefetchprefetch는 곧 필요할 kv캐시를 미리 당겨오는 background 작업이다. 시작점은 cache_engine.py 내의 async_lookup_and_prefetch 함수이다.이 함수는 토큰을 캐시키로 변환해서 해당 키에 맞는 캐시를 미리 가져오는 역할을 한다. def async_lookup_and_prefetch( lookup_id: str, tokens: Optional[Union[torch.Tensor, List[int]]] = None, hashes: Optional[List[int]] = None, offsets: Optional[List[int]] = None, search_range: Optional[List[str]] = None, pi.. 2026. 1. 10.
[LLM] LMCache 코드 분석 - store, retrieve 이제 논문을 봤으니 코드를 분석해보아야한다 vLLM과 LMCache 연결def _init_lmcache_engine( lmcache_config: LMCacheEngineConfig, vllm_config: "VllmConfig", role: str,) -> LMCacheEngine: """Initialize the LMCache engine by the given model config and parallel config. This function will check the environment variable `LMCACHE_CONFIG_FILE` to load the configuration file. If that environment variable is n.. 2025. 12. 31.
[시스템프로그래밍] 메모리2 직접리스트직접 가용 리스트 방식은 가용 블록들의 리스트만 관리하며, 모든 블록을 관리하지는 않는 방식이다.이 방식을 사용하면, 다음 가용 블럭을 단순히 사이즈로는 접근이 불가하므로, 포인터를 저장한다. 왼쪽은 할당된 블럭의 구조이다. 이 방식은 이전의 간접리스트와 같다.오른쪽은 가용블록이다. 이전에 데이터를 넣어두는 공간으로 썼던 payload를 이전, 다음 가용블럭을 나타내는데 사용한다. 논리적으로 위 a,b,c 블럭들은 모두 순서대로 연결되어있다.하지만 실제로 연결되어있는 링크는 메모리 블럭의 순서와 무관하게 정렬되어있다.(C가 B보다 앞에있는게 가능하다.) 위 그림은 직접할당방식에서 malloc을 통해서 가용블럭이 할당되었을때의 결과이다.이 경우, malloc 후 남은 공간을 쪼개 새로운 가용블록으.. 2025. 12. 14.
[시스템프로그래밍] 동적 메모리 할당 메모리는 무한한 자원이 아니고, 할당되고 관리되는 자원이라 다양한 응용 프로그램들은 메모리에 큰 영향을 받는다. 동적 메모리 할당동적 메모리 할당은 프로그램이 실행되기 전에는 크기를 알 수 없는 자료구조를 위해 사용한다.예를 들어 몇개의 숫자가 들어올지 모르는 상황에서, 무조건 max size만큼 자원을 할당해두는건, 메모리 낭비를 일으킬 수 있다.또한 n개의 메모리를 할당했는데 그 이상으로 들어온다면 정적 메모리 할당 상태에서는 대응이 불가하다.이를 방지하기 위해 동적 메모리할당을 사용한다. 동적 메모리 할당에는 직접 할당과 간접 할당이 있다.직접 할당은 응용프로그램이 메모리를 할당하고, 반환까지 한다. malloc, free가 이 경우에 해당한다.반면 간접하다은 편리하게 응용프로그램이 할당하지만, 반.. 2025. 12. 13.