<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://codingpoeta.github.io/</id><title>CodingPoet</title><subtitle>It's a blog about coding, life, and everything in between, I'll share my thoughts and ideas and learnings here.</subtitle> <updated>2023-07-14T10:39:29+08:00</updated> <author> <name>CodingPoet</name> <uri>https://codingpoeta.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://codingpoeta.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://codingpoeta.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator> <rights> © 2023 CodingPoet </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Understand vfs in linux</title><link href="https://codingpoeta.github.io/posts/understand-vfs-in-linux/" rel="alternate" type="text/html" title="Understand vfs in linux" /><published>2023-05-26T10:00:00+08:00</published> <updated>2023-05-26T10:00:00+08:00</updated> <id>https://codingpoeta.github.io/posts/understand-vfs-in-linux/</id> <content src="https://codingpoeta.github.io/posts/understand-vfs-in-linux/" /> <author> <name>CodingPoet</name> </author> <category term="Notes" /> <category term="Learning" /> <summary> 前言 POSIX File System POSIX 想必所有写过代码的人都很熟悉，就是 IEEE 定义的一套标准，用于定义操作系统的编程接口，从而使得不同的操作系统能够兼容同一套代码。 File and Directory related api/syscall mount 一直以来 linux 中使用的 mount 系统调用都是旧的版本： mount: sys_mount umount2: sys_umount 在2018年的LSFMM大会上 Al Viro 等人提出了新 mount 系统调用的想法。 fsopen: sys_fsopen fsmount: sys_fsmount fsconfig: sys_fsconfig move_mount: sys_move_mount mount_setattr: sys_mount_setattr ... </summary> </entry> <entry><title>Build a filesystem from scratch</title><link href="https://codingpoeta.github.io/posts/build-a-filesystem-from-scratch/" rel="alternate" type="text/html" title="Build a filesystem from scratch" /><published>2023-05-24T10:00:00+08:00</published> <updated>2023-05-24T10:00:00+08:00</updated> <id>https://codingpoeta.github.io/posts/build-a-filesystem-from-scratch/</id> <content src="https://codingpoeta.github.io/posts/build-a-filesystem-from-scratch/" /> <author> <name>CodingPoet</name> </author> <category term="Notes" /> <category term="Learning" /> <summary> 本文主要介绍一下如何实现一个自己的linux文件系统，力求循序渐进。 BTW. 最好能够提前了解 linux VFS 的原理。 Overview Linux 文件系统的核心是 VFS，VFS 是一个抽象层，可以支持各种不同的文件系统实现，例如 ext2，ext4等。这句话大多数程序员都一定是耳熟能详的了，但 VFS 究竟是怎么实现的呢？我们又应该如何去面向 VFS 来实现一个文件系统呢？ 或许你已经知道，VFS 中有 Super Block，Inode，Dentry，File 等核心数据结构，但是它们之间是怎么互相联系的呢？又是怎么实现文件系统的挂载、读写等操作的呢？ Inode 对应一个具体的文件，Dentry 对应一个文件的路径，File 对应一个打开的文件，Super Block 对应一个文件系统，它们为啥要叫现在这个名字，这种命名似乎与它们的功能并不是很相关呀... </summary> </entry> <entry><title>cs231n notes</title><link href="https://codingpoeta.github.io/posts/cs231n-notes/" rel="alternate" type="text/html" title="cs231n notes" /><published>2023-05-07T20:00:00+08:00</published> <updated>2023-05-07T20:00:00+08:00</updated> <id>https://codingpoeta.github.io/posts/cs231n-notes/</id> <content src="https://codingpoeta.github.io/posts/cs231n-notes/" /> <author> <name>CodingPoet</name> </author> <category term="Notes" /> <category term="AI" /> <summary> http://cs231n.stanford.edu/schedule.html </summary> </entry> <entry><title>cs224n notes</title><link href="https://codingpoeta.github.io/posts/cs224n-notes/" rel="alternate" type="text/html" title="cs224n notes" /><published>2023-05-07T20:00:00+08:00</published> <updated>2023-05-07T20:00:00+08:00</updated> <id>https://codingpoeta.github.io/posts/cs224n-notes/</id> <content src="https://codingpoeta.github.io/posts/cs224n-notes/" /> <author> <name>CodingPoet</name> </author> <category term="Notes" /> <category term="AI" /> <summary> http://web.stanford.edu/class/cs224n/#schedule </summary> </entry> <entry><title>effective go</title><link href="https://codingpoeta.github.io/posts/effective-go/" rel="alternate" type="text/html" title="effective go" /><published>2023-05-02T13:00:00+08:00</published> <updated>2023-05-09T17:31:07+08:00</updated> <id>https://codingpoeta.github.io/posts/effective-go/</id> <content src="https://codingpoeta.github.io/posts/effective-go/" /> <author> <name>CodingPoet</name> </author> <category term="Notes" /> <category term="Golang" /> <summary> 忽然发现自己写了两年 go ，当年草草看了几眼匆匆上手就开始写了，还从没有系统学过go语言的设计，也没仔细思考过 go 的优势劣势。 想到侯捷老爷子讲STL时提到林语堂的一句：“使用一个东西，却不明白它的道理，实在不高明！” 确实如此，所幸现在有时间学习整理，那就开个坑记录一下。 语言设计 Less can be more 大道至简,小而蕴真 Go 语言由 google 推出，其目的是解决软件开发难度过大的问题。所以 Go 语言拥有简洁的语法规则，并具有自动垃圾回收机制，与此同时还能够充分发挥出多核处理器的并行能力。 虽然 Go 的语法是从C/C++简化改进而来，但差别非常巨大： 语法层面支持并发/并行，并提供了channel作为通信机制 内存管理由GC自动完成，不需要开发者手动管理内存 内存模型更简化，只有值类型和引用类型，没有指针类型 舍... </summary> </entry> </feed>
