| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- supervised learning
- 머신러닝공부
- 파이썬강좌
- 자바강좌
- 자바시작하기
- 선형회귀
- acmicpc.net
- 비지도학습
- python강좌
- 자바
- feature scaling
- 머신러닝 강좌
- 경사하강법
- Gradient Descent
- 백준 알고리즘
- Python강의
- 코딩테스트
- java
- 효묘블로그
- 인공지능
- 비용함수
- 딥러닝공부
- 딥러닝
- 파이썬강의
- 머신러닝 강의
- unsupervised learning
- 지도학습
- c언어 오목
- 머신러닝
- JAVA강좌
- Today
- Total
목록전체 글 (108)
홍윤기의블로그
어느 날, 갑자기 맥북의 용량이 거의 찼다는 경고 메시지를 받았다.분명 십몇일 전까지만해도 전체용량의 반밖에 사용하지 않았는데.. 뭔가 이상해서 원인을 찾아본 결과 도커가 64기가나 차지하고 있었다.. ~Library/Containers/com.docker.docker/Data/vms/0/data 이 파일은 Docker Desktop에서 이미지, 컨테이너 이미지, 실행, 볼륨 생성, 빌드 캐시 등 관련 파일을 담고있는 파일이다.Docker Desktop이 사용할 수 있는 디스크 limit이 있는데, 일반적으로 64GB나 할당되어있기 때문에 이를 줄여줘야한다.
책밑바닥부터 시작하는 딥러닝 밑바닥부터 시작하는 딥러닝 1(리마스터판) | 사이토 고키 - 교보문고밑바닥부터 시작하는 딥러닝 1(리마스터판) | 딥러닝 분야 부동의 베스트셀러! 머리로 이해하고 손으로 익히는 가장 쉬운 딥러닝 입문서이 책은 딥러닝의 핵심 개념을 ‘밑바닥부터’ 구현해보product.kyobobook.co.kr밑바닥부터 만들면서 배우는 LLM 밑바닥부터 만들면서 배우는 LLM | 세바스찬 라시카 - 교보문고밑바닥부터 만들면서 배우는 LLM | 한 줄 한 줄 코드를 따라가다 보면, 나만의 GPT가 완성된다! GPT를 밑바닥부터 구현하며 LLM의 원리를 손끝으로 체득하는 실전 가이드어려운 개념은 그림으로 풀product.kyobobook.co.kr 옛날에 읽어봤던 책들에 비해선 친절한듯Neura..
Pintos KAISThttps://casys-kaist.github.io/pintos-kaist/4주간 Pintos 프로젝트를 진행했다. 이 프로젝트론 실제 OS가 어떻게 돌아가는지 명확히 알긴 어렵지만, 대체적으로 어떻게 돌아가는지 이해할 수 있었다. 또한 운영체제의 어떠한 기능들이 왜 필요한지에 집중해서 공부했다.Pintos는 QEMU위에서 돌아간다. QEMU란, 컴퓨터 하드웨어를 소프트웨어로 구현하는 에뮬레이터이자 **hypervisor** 가상화 프로그램이다. QEMU로 하드웨어를 에뮬레이팅 하고, 그 안에서 컴파일한 Pintos OS를 구동시켜 결과물을 확인하는 방법으로 돌아간다.KAIST Pintos는 기존 32비트 Pintos를 64비트로 래핑한 것이다.OSOS란 하드웨어의 추상화이다. 왜..
Introduction · GitBookProject2: User ProgramsProject 1의 코드는 Project 2의 영향을 미치지 않는다. Project 2의 extra challenge의 구현은 선택 사항이다. 또한 extra challenage는 테스트 케이스를 제외한 어떠한 skeleton 코드도 제공하지 않습니다. Extra requirements 테스트를 제출하려면, userprog/Make.vars를 edit할 필요가 있습니다.마지막으로, TODO가 없다고 해서 코드를 바꿀 필요가 없다는 것은 아닙니다. project2에서는 테스팅 코드를 제외한 어떤 소스 코드도 자유롭게 수정할 수 있습니다.Background지금까지 Pintos에서 실행했던 당신의 코드는 운영 체제 커널의 일부였습..
Git convention동시 개발, merge시 논리 비교 후 병합. 문제시 질문 요청, 코드 분석 후 병합.팀원 세 명. 2명은 실력 비슷, 한 명은 비전공자지만 적극적으로 질문해서 진도를 어느 정도 비슷하게 끌어올릴 수 있었음. Introduction · GitBook정글에서 핀토스를 시키는 목적은 운영체제에 대한 이해보다 코드 분석, 구현 능력에 있는 것 같다. 핀토스를 진행하면 OS의 대략적인 흐름은 이해할 수 있겠지만, 현대 OS와는 형태가 많이 다르다. 물론 아직 Project1 Thread밖에 안하긴 했지만, 적어도 지금까지는 코드 분석과 이를 바탕으로 코드 구현 능력을 키우는 목적인 것 같다. 더불어 디버깅 능력 또한 향상될 수 있다. 그래도 OS에 대한 개념은 더 확실하게 되었다. Se..
WILsocket, network, file i/o, mutex에 대한 전반적인 흐름을 알 수 있었다.keywordsProcess하나를 제외한 모든 프로세스는 부모 프로세스의 fork이다. 즉, 복사한다.pid 1은 user process의 최상위 프로세스(init or systemd), pid 2는 kernel thread들의 조상 역할을 하는 kthreadd프로세스를 생성하면 해당 프로세스 가상주소공간의 커널 매핑 안에 커널이 관리하는 자료구조들이 존재한다. 유저 코드는 직접 접근하지 못 한다.[프로세스 관련 커널 자료구조]FDT, socket buffer, task_struct / proc struct, inode / vnode ...[네트워크 관련]socket 구조체, Tcp control blo..
malloc은 메모리 관리의 추상화이다. 컴퓨터 프로그래밍은 추상화의 연속이다. 응용 어플리케이션은 네트워크 통신, 드라이버, OS 등의 추상화이다. 운영체제는 하드웨어의 복잡성을 감추고 메모리와 연산 자원을 관리해주는 추상화이다. CPU는 회로의 복잡성을 감춘 추상화이다. 우리는 신뢰성 있는 추상화된 인터페이스를 사용해야하고, 그 추상화 인터페이스를 믿고 사용해야 한다. malloc은 동적 메모리 할당 역할을 하는 인터페이스이다. 그리고 메모리 할당, 해제, 자료구조를 관리하는 복잡성을 추상화하고 있다. 할당된 블럭, 할당이 해제된 블럭을 어떤 자료구조로 관리하고, 해제와 할당에 대해서 자료구조를 어떻게 관리할지에 대한 알고리즘, heap 영역이 부족할 때 운영체제에서 어떻게 메모리 할당을 받는지에 대..
처음 배운 프로그래밍 언어가 C언어였다. 하지만, 내부적으로 어떻게 동작하는지 더 low 레벨로는 알지 못했다. 이번 기회에 C언어가 어셈블리로 변환되는 과정을 알았고, CPU의 레지스터가 어떻게 활용되는지 공부할 수 있었다. 완벽하게는 알지 못 했지만, 적어도 레지스터가 뭔지, 무슨 값을 저장하는지를 배우게 되었다.이번 수요코딩회에서는 코드를 하나 하나 뜯어보는게 쉽지 않았다. 포인터로 넘겨주는 인자들이 뭘 위한 것인지, 값을 받아 오는 목적인지 쓰는 목적인지 헷갈렸다. 또한 토크나이져를 처음 구현해보았기에 토큰의 구조가 익숙치 않았다.키워드: 포인터 붕괴, 레지스터 변수, C언어의 여러 라이브러리 콜, REPL, 쉘 파이프 지원.
https://github.com/Jungle-12-303/week5-team3-react2 GitHub - Jungle-12-303/week5-team3-react2Contribute to Jungle-12-303/week5-team3-react2 development by creating an account on GitHub.github.com알고리즘DP는 할때마다 어렵다. 이전 상태를 이용하거나 최적의 해를 구하는 문제에서 사용하는데, DP를 제대로 정의해야 문제를 풀 수 있다.문제가 직관적이라면 쉽게 풀 수 있겠지만 조금만 어려워지면 그 발상을 하기 어려운 것 같다.발상을 하지 못한다면 DP관련 문제를 여러 번 풀어보면서 패턴을 익히는 수 밖에 없다. 백팩문제, LCS, Edit Distance와..
날이 좀 풀렸다. 생강나무에서 노란 꽃이 피기 시작했다. 꿀벌들도 나와서 꿀을 빤다. 날도 풀렸겠다 밖에 좀 나가고 싶다.. --- Virtual DOM and Diff웹 어플리케이션이 복잡해짐에 따라 DOM을 직접 조작하는 방식을 관리하기 위해 기술적 발전이 필요했다. React는 현재 상태의 UI가 어떻게 생겨야 하는지를 선언적으로 표현하는 데 있다. 그래서 실제 DOM 조작은 React가 처리한다. 이 과정에서 등장한 개념이 Virtual DOM이다. Virtual DOM은 실제 DOM의 경량 버전 같은 가상화 트리이다. 리액트는 이전 Virtual DOM과 다음 Virtual DOM을 비교해서 차이점을 실제 DOM에 반영한다. 이 과정이 Diff라고 하며, React에선 Reconciliatio..