[請益] 豬屎屋工作,求書單

看板Soft_Job作者 (台灣尿高人)時間1年前 (2023/01/07 17:36), 編輯推噓23(23043)
留言66則, 31人參與, 1年前最新討論串1/1
Hi all 目前正在豬屎屋工作,仍處在讀書的階段, 每次在讀前輩們的 Code ,心裡都會想“這種 Code 我大概寫不出來” QQ,或者是硬體相關知識不太明白, 比方說為什麼要設 memory barrier 這些, 甚至是 Linux 的 READ_ONCE 也是我工作之後才知道 如何讀 Register、cache 的操作等等 還有上層設定 HAL 層的函式、設 callback 等等。 因為不同的平台可能用到的 hardware 不一樣,而程式碼要去能夠去編譯給不同的平台 因此上層跟 HAL 層要切的很開,而目前讀的程式碼確實辦到了 要是我來寫肯定只會用 define 去包QQ 大概看得懂是用函式指標去包跟傳 callback,但真的要我寫可能有困難 想問版友有沒有推薦的書籍? 簡單來說,就是硬體知識 + 如何寫出好 C code。 目前有兩本在我的名單內: 1. 21世紀 C 語言 2. 程序員的自我修養 2. 我看一下目錄,我大概都懂,不曉得還需不需要買來看; 前者感覺偏向 C 語言的部分,讀了應該對我有幫助,但關於硬體部分我還是沒頭緒(控 register、cache、CMOS) 再請大大推薦書籍了,謝謝 ----- Sent from JPTT on my Samsung SM-M536B. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.51.184 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1673084181.A.222.html

01/07 17:45, 1年前 , 1F
很多東西只看書也很難學會,通常是剛好碰到這種情況然
01/07 17:45, 1F

01/07 17:45, 1年前 , 2F
後才去找對應的資訊
01/07 17:45, 2F

01/07 17:46, 1年前 , 3F
程序員的自我修養我有,但很多細節真的是遇到了才會理
01/07 17:46, 3F

01/07 17:46, 1年前 , 4F
01/07 17:46, 4F

01/07 18:18, 1年前 , 5F
如果單純的想應徵一般新人的韌體開發,應該可以不
01/07 18:18, 5F

01/07 18:18, 1年前 , 6F
用這麼焦慮,你問的這個很多人即便已經工作三年可
01/07 18:18, 6F

01/07 18:18, 1年前 , 7F
能也不懂,如果真的那麼焦慮,那就好好寫學校作業,
01/07 18:18, 7F

01/07 18:18, 1年前 , 8F
有多餘的時間就把csapp的lab拿來做做看
01/07 18:18, 8F

01/07 18:38, 1年前 , 9F
Intel® 64 and IA-32 Architectures Software
01/07 18:38, 9F

01/07 18:38, 1年前 , 10F
Developer Manual,到Intel網站就可以下載了。我早期
01/07 18:38, 10F

01/07 18:39, 1年前 , 11F
大概國高中時有買本Intel 8086指令集的書,簡單說就是
01/07 18:39, 11F

01/07 18:40, 1年前 , 12F
講解電腦是如何運作,然後可以透過什麼指令讓電腦做什
01/07 18:40, 12F

01/07 18:41, 1年前 , 13F
事,例如透果某中斷讓電腦發出逼聲,當然早期電腦是比
01/07 18:41, 13F

01/07 18:41, 1年前 , 14F
較簡單的
01/07 18:41, 14F

01/07 19:19, 1年前 , 15F
演員的自我修養(X
01/07 19:19, 15F

01/07 19:23, 1年前 , 16F
ARM有一本超好的舊書是這本嗎? Arm System Developers
01/07 19:23, 16F

01/07 19:23, 1年前 , 17F
Guide: Designing And Optimizing System Software 2004
01/07 19:23, 17F

01/07 20:04, 1年前 , 18F
不介意看英文的話我覺得CSAPP應該蠻有用的XD
01/07 20:04, 18F

01/07 20:48, 1年前 , 19F
白嫖LWN.net
01/07 20:48, 19F

01/07 22:14, 1年前 , 20F
Design Pattern
01/07 22:14, 20F

01/07 22:53, 1年前 , 21F
csapp 其實介意英文也有簡體版
01/07 22:53, 21F

01/07 23:08, 1年前 , 22F
CSAPP 的本體是作業
01/07 23:08, 22F

01/07 23:15, 1年前 , 23F
硬體知識喔...在學校學到的如果能應用到工作中,配合內
01/07 23:15, 23F

01/07 23:15, 1年前 , 24F
部的文件,應該就很夠用了吧?
01/07 23:15, 24F

01/08 00:32, 1年前 , 25F
jserv的課
01/08 00:32, 25F

01/08 00:54, 1年前 , 26F
看書不如在可接受的時間多包一些issue來解也可以提升
01/08 00:54, 26F

01/08 00:54, 1年前 , 27F
又有錢
01/08 00:54, 27F

01/08 00:55, 1年前 , 28F
好像有一本簡體嵌入式還行啦
01/08 00:55, 28F

01/08 01:04, 1年前 , 29F
Memory barrier 需要讀一下 ISA 關於MMU 的部分和指令集
01/08 01:04, 29F

01/08 01:04, 1年前 , 30F
裡barrier 相關的指令,再配合應用的場景
01/08 01:04, 30F

01/08 10:27, 1年前 , 31F

01/08 10:28, 1年前 , 32F

01/08 10:29, 1年前 , 33F
貼圖是Volume 3A: System Programming Guide
01/08 10:29, 33F

01/08 10:30, 1年前 , 34F
與Volume 1: Basic Architecture 一部分內容
01/08 10:30, 34F

01/08 10:30, 1年前 , 35F
如果原PO的疑問是為何要使用某個指令,可以去K一些CPU
01/08 10:30, 35F

01/08 10:33, 1年前 , 36F
發展的書籍或文章
01/08 10:33, 36F

01/08 11:09, 1年前 , 37F

01/08 11:40, 1年前 , 38F
已經進去了就不用自己嚇自己,都是人寫出來的扣
01/08 11:40, 38F

01/08 12:18, 1年前 , 39F
你這症頭多code review幾遍就好了,你要的不是學習,而
01/08 12:18, 39F

01/08 12:18, 1年前 , 40F
是經驗
01/08 12:18, 40F

01/08 12:50, 1年前 , 41F
你學數學的時候 問題就不出來是多看幾本書 還是多寫幾
01/08 12:50, 41F

01/08 12:50, 1年前 , 42F
01/08 12:50, 42F

01/08 13:30, 1年前 , 43F
Jserv的課。
01/08 13:30, 43F

01/08 22:15, 1年前 , 44F
memory barrier可以參考這個#1WzRShDV (C_and_CPP)
01/08 22:15, 44F

01/09 02:39, 1年前 , 45F
推樓上,其實那些東西基本原理就是學校教過的
01/09 02:39, 45F

01/09 02:41, 1年前 , 46F
忘記的話可以去找一些計算機結構的課程來補
01/09 02:41, 46F

01/09 07:52, 1年前 , 47F
Arm architecture reference manual
01/09 07:52, 47F

01/09 09:52, 1年前 , 48F
為什麼這樣程度的人可以在豬屎屋工作?
01/09 09:52, 48F

01/09 11:07, 1年前 , 49F
樓上粗暴
01/09 11:07, 49F

01/09 12:16, 1年前 , 50F
因為現在沒得挑人啊
01/09 12:16, 50F

01/09 12:18, 1年前 , 51F
好奇,有人在學校學的可以無縫接軌?
01/09 12:18, 51F

01/09 12:19, 1年前 , 52F
callback寫法就只是經驗而言,直接複製貼上也可以動
01/09 12:19, 52F

01/09 12:20, 1年前 , 53F
cache知識如果薄弱成這樣的話...應該回去K計組吧==
01/09 12:20, 53F

01/10 00:31, 1年前 , 54F
怎麼沒有人提risc-v
01/10 00:31, 54F

01/10 22:00, 1年前 , 55F
xv6 RISC-V book
01/10 22:00, 55F

01/10 23:49, 1年前 , 56F
不重要 都是by case 就照那包code寫法寫就對
01/10 23:49, 56F

01/10 23:50, 1年前 , 57F
工作大部分都改值而已 不應該也不可以大改
01/10 23:50, 57F

01/10 23:52, 1年前 , 58F
你去問寫的前輩 假設還沒離職 多半也照著寫而已
01/10 23:52, 58F

01/11 00:45, 1年前 , 59F
連編譯工具都傳10年同版本沒有變,變革是應該的
01/11 00:45, 59F

01/11 21:15, 1年前 , 60F
不就基本的Linux kernel development & LDD3 看一
01/11 21:15, 60F

01/11 21:15, 1年前 , 61F
遍概念就都有了
01/11 21:15, 61F

01/11 21:15, 1年前 , 62F
?細節的部分你就google一下就好啦,網路上一堆論
01/11 21:15, 62F

01/11 21:15, 1年前 , 63F
壇跟分享。剩下
01/11 21:15, 63F

01/11 21:15, 1年前 , 64F
硬體相關要深入,spec拿出來k,都有寫,懶一點至少
01/11 21:15, 64F

01/11 21:15, 1年前 , 65F
application o
01/11 21:15, 65F

01/11 21:15, 1年前 , 66F
r development guide要看啊。
01/11 21:15, 66F
文章代碼(AID): #1ZkJqL8Y (Soft_Job)