| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- react
- 그래프
- 크래프톤 정글
- DFS
- 팀프로젝트
- 정글
- 프론트앤드
- c언어
- 알고리즘
- 알고리즘 기초
- javascript
- 그리디
- Mini-React
- 개발자
- 정렬
- HTML기초
- BFS
- Python
- Git
- js
- 코딩테스트
- frontend
- 혼자 공부해서 개발까지
- 백준
- 프론트엔드
- html
- 코딩
- CSS
- 프로그래머스
- 해시
- Today
- Total
목록2025/10 (5)
민혁이의 IT스토리
들어가며: ‘example.com’의 비밀브라우저 주소창에 example.com을 입력하고 엔터를 누르면, 몇 초도 지나지 않아 웹페이지가 눈앞에 펼쳐집니다.하지만 그 짧은 순간 동안, 보이지 않는 곳에서는 꽤 복잡한 일이 벌어지고 있습니다. 우리의 브라우저는 단순히 “이 웹사이트를 열어줘”라고 말했을 뿐이지만,그 요청이 실제로 웹 서버에 도달하기까지는 수많은 시스템이 협력해야 합니다.이 과정의 중심에는 DNS (Domain Name System) 라는 이름 해석 시스템이 있습니다. DNS는 인터넷의 전화번호부와 같습니다.우리가 이름으로 사람을 찾듯, DNS는 도메인 이름으로 서버의 주소(IP)를 찾아줍니다.이번 글에서는 DNS를 단순한 기술이 아닌, ‘추상화의 예술’ 로 바라보며복잡한 네트워크가 어떻게..
Coalesce() 함수 사용이유 malloc에서 메모리를 반복적으로 할당/해제하다 보면,메모리가 조각조각 나뉘는 외부 단편화(external fragmentation)가 발생한다.이 문제를 해결하기 위해 free 블록들을 합쳐주는 과정이 필요한데,그 역할을 하는 함수가 바로 coalesce()이다. 4가지 병합 케이스별 시각적 설명 Case 1️⃣ : 앞, 뒤 모두 할당된 경우병합할 블록이 없음 → 그대로 반환return bpCase 2️⃣ : 앞은 할당, 뒤는 가용현재 블록과 뒤 블록 병합크기를 더하고, header/footer 업데이트Case 3️⃣ : 앞은 가용, 뒤는 할당앞 블록과 현재 블록 병합bp를 PREV_BLKP(bp)로 옮기는 이유 강조Case 4️⃣ : 앞, 뒤 모두 가용세 블록..
정글에서 생활한 지 벌써 두 달이 다 되어간다.두 달 동안 매주 팀이 바뀌고, 그때마다 새로운 사람들과 합을 맞춰 일정을 소화하는 일은 결코 쉽지 않았다.나는 처음에 팀의 존재 이유를 단순하게 생각했다.팀이란, 큰 목표를 함께 이루기 위해 모인 사람들의 집합체이고,최종 목표를 향해 가는 과정에서 각자 맡은 일을 성실히 수행하면그것이 곧 ‘좋은 팀’이자 '좋은 팀워크' 라고 생각했다.하지만 서로 다른 사람들과 협력하며 프로젝트를 진행하는 과정에서 팀워크는 단순히 역할을 잘 수행하는 것이 아니라는 걸 깨달았다.그리고 그 깨달음과 함께, 두 달이 지난 지금나의 부족함을 돌아보며 이 글을 반성의 의미로 남긴다. 속도와 수준 내 생각이 잘못되었다고 느낀 첫 번째 이유는 팀원들 간의 속도와 수준 차이였다.사람은 각..
파이썬을 즐겨쓰는 나는 이번에 C를 배우며가장 불편했던 것은 배열의 크기를 미리 정의해야 한다는 점이였다.int arr[n]; 이처럼 변수를 이용해 실행 중에 배열 크기를 지정하려 하면 오류가 발생한다...하지만 이번에 동적 메모리 할당(dynamic memory allocation) 을 새롭게 배우면서, 실행 중에도 자유롭게 메모리를 할당할 수 있다는 사실을 알게 되었다. 이 문법 덕분에 코드가 훨씬 유연해졌고, 그 내용을 기록해두기 위해 이렇게 블로그에 남긴다. 동적 메모리 할당 정의: 프로그램 실행 도중에 메모리를 직접 할당하고 해제하는 방법필요성: 정적 배열(int arr[10])은 크기가 고정되어 있어 런타임 중 변경 불가능 사용자 입력 등 크기를 미리 알 수 없는 상황에서 유용예시// 정적 ..
제목에서 느꼈듯 C를 공부하다가 이상한 놈들을 만났다이름만 봐도 그렇듯'포인터 배열’과 ‘배열 포인터’ 때문에 헷갈리기 쉽다고 느꼈다나도 한참 혼동했지만, 정리하면서 이해한 과정을 공유하려고 한다. 포인터 배열 정의: 포인터 여러 개를 모아둔 배열설명: int형 포인터 4개를 담는 배열이라면, 각 원소는 int 하나를 가리키는 포인터이다.#include int main() { int a = 10, b = 20, c = 30; int *arr[3] = { &a, &b, &c }; // 포인터 배열 printf("%d\n", *arr[0]); // 10 printf("%d\n", *arr[1]); // 20 printf("%d\n", *arr[2]); // 30} - 그림으로 이..