編碼人員的好提示,思維方式和實踐
授權有關培訓,編碼,GIT,單位測試,敏捷,GNU/Linux安裝,Markdown/Pandoc的培訓,編碼,GIT,單位測試的授權技巧,思維方式和實踐,不是最好的,因為不斷發展,任何人都可以提出改進。
牢記並在公共領域中分享。
也可作為幻燈片顯示(使用devale.js)。
- 安裝技巧
- git
- Java/groovy/gradle/ant
- C ++
- cmake
- 授權團隊成員
- 出色的單元測試
- 記錄
- 降價中的圖
參見
設計 / CSS
- 螞蟻設計https://pro.ant.design/
- 材料設計https://material.io/
- 插圖圖書館/frautes https://dev.to/ahmed_sulaiman/13-places-to-find-beautiffer-free-free-ullustrations-580e
- 25個學習CSS網格的視頻https://cssgrid.io/
- 命名CC0 1.0中的所有顏色https://colornames.org/
- 辛普森一家https://pattle.github.io/simpsons-in-css/
- 字體很棒https://fontawesome.com/
- 材料設計圖標https://materialildesignicons.com/
- Ionicons https://ionicons.com/
- CSS主題切換器通過反向工程https://www.youtube.com/watch?v=rxuhglzsmse
- Compress JPG with ImageMagick https://www.webnuz.com/article/2020-04-09/TIL%3A%20The%20Best%20Way%20to%20Compress%20JPG%20Files%20with%20ImageMagick
- html極簡主義樣式表https://github.com/andybrewer/mvp
- BEM命名CSS類的視覺工具
網站架構
- 12 SEO練習https://ahrefs.com/blog/seo-best-practices/
- 動畫https://dev.to/kefranabg/demystifying-ssr-csr-csr-universal-universal-anderal-and-static-with-animations-with-animations-m7d my7d
- SSR =服務器端渲染(WordPress)
- CSR =客戶端渲染CDN(完整的JS:VUE,REACT,Angular)
- 通用渲染(Svelte,Next.js,Nuxt.js,Angular Universal)
- 靜態渲染= markup(Hugo,Jekyll)
- JAMSTACK = JS+API+MARKUP(svelte/saper,next.js,gatsby,vuepress,gridsome)
| SSR | CSR | 普遍的 | 靜止的 | jamstack |
|---|
| 需要託管 | 是的 | 不 | 是的 | 不 | 是(API) |
| CDN | ? | ? | ? | ? | ? |
| SEO | ? | ? | ? | ? | 取決於API的內容 |
| 初始負載 | ⚡️⚡️ | ⚡️ | ⚡️⚡️ | ⚡️⚡️⚡️ | ⚡️⚡️ |
| 重新加載 | 是的 | 不 | 不 | 不 | 取決於工具 |
| 液體UX | ? | ? | ? | ? | ? |
| 頻繁更新 | ? | ? | ? | ? | ? /? * |
*為了經常更新,Jamstack網站可以使用API檢索內容,但會失去SEO好處。 grainche可以是混合的:只有最近的內容由API傳遞,而靜態內容是連續重建並交付的Acroos CDN。
安全
- OWASP備忘單https://github.com/owasp/cheatsheetseries
- 工具,資源和參考以實踐道德黑客
- 黑客選擇(IT安全研究小組)提示,技巧和黑客
- hackerenv,掃描IP和掃描端口的自動化工具,漏洞並利用它們
- Spiderfoot作為滲透測試或收集有關您組織可能通過Internet暴露的信息
- 間諜github用戶https://github.com/eth0izzle/shhgit
程式設計
| 特徵 | 程式設計語言 |
|---|
| 快速彙編 | V,D,GO,Delphi |
| 簡單性和可維護性 | V,Go,Nim,Python,Julia,Jupyter,Elm,Kotlin,Dart,Elixir |
| 偉大的perf。和零成本c Interop | V,C,C,C ++,D,Delphi,Erlang,Rust |
| 安全(不變性,無效,期權類型,沒有數據競賽) | V,生鏽 |
| 易於並發 | V,去 |
| 易於交叉彙編 | V,去 |
| 編譯時間代碼生成 | V,d |
| 沒有依賴的小型編譯器 | v |
| 沒有全球狀態 | v |
| 熱代碼重新加載 | v |
- Python編碼器的NIM https://github.com/nim-lang/nim/wiki/nim-for-python-progommers
- 比較NIM,Julia和C ++的速度
- Python作弊表https://github.com/gto76/python-cheatsheet
- 基於Python的算法https://github.com/thealgorithms/python
- Python Debugger/Profiler(程序流可視化)對算法學習有用https://github.com/ccextractor/vardbg(y Combinator)
- Python有色輸出https://github.com/willmcgugan/rich
- Python Weired行為解釋了https://github.com/satwikkansal/wtfpython
- 銹(2020)https://www.softax.pl/blog/rust-lang-ing-in--in-nutshell-1-indroduction/(y Combinator)
- 生鏽快速學習https://fasterthanli.me/blog/2020/a-half-hour-to-to-learn-rust/
- Gofiber = Go Web框架易於學習,node-developsers https://github.com/gofiber/fiber
- goframe(如果不能使用其他圖書館,則不是一個好主意)https://github.com/gogf/gf/gf
- GO材料設計= https://github.com/fyne-io/fyne
- getflutter = 1000個開源前構建小部件庫,以開發Flutter Mobile App和Web應用程序https://github.com/ionicfirebaseapp/getflutter
- Playwright est une lib Node pour tester automatiquement l'UI sur différents navigateurs Chromium (dont MS-Edge), WebKit et Firefox en mode Headless (pas besoin d'un serveur graphique) sur Linux, macOS et Win https://github.com/microsoft/playwrigh
- JS功能編程=>學習反應性擴展(RX)http://reactivex.io/learlenrx/
- JS算法和數據結構https://github.com/trekhleb/javascript-algorithms
- vue.js(30分鐘)https://www.youtube.com/watch?v=orxmtdw4pvi
- 生殖構建https://reproducible-builds.org/
- Angular et Clean Architecture DE Bob(洋蔥建築)
lesrésultatsdu sondage javascript https://2019.stateofjs.com/overview/
- 重新定性intéressantedes technos sur les deux軸“ connaissance” et“意見正/négative”
- 打字稿A LE通風口
- Angular est de Moins en MoinsApplécié:énormémentderéponses我以前使用過,不會再使用它
- React(et vue)sont de plus en plusutilisés
- Svelte到達勢力輔助CôtésDeReact et vue
- GraphQl est de plus en plusutiliséetapplécié(avec apollo comme客戶端)
- PAR Contre,以及Redux EstUtilisé,Moins ilestectécié
訓練
- 我無法創建的東西,我不了解https://github.com/danistefanovic/build-your-your-own-x
- 提高編碼技能的應用想法https://github.com/florinpop17/app-ideas
- 從stackoverflow答案更新的書籍https://books.goalkicker.com/
- 免費提供的編程書籍https://github.com/ebookfoundation/free-programming-books
- 編碼訪談大學https://github.com/jwasham/coding-interview-university
- 學習大型系統設計https://github.com/donnemartin/system-design-primer
- 學習並獲得證書https://www.reddit.com/r/youshouldknow/comments/f4dtul/ysk_these_free_sites_to_educate_educate_yourself_andselfs_and_get/
- 任何項目的API https://github.com/donnemartin/system-design-primer(業務,動漫,動物,新聞,金融,遊戲...)
- 成為前端,後端或開發工程師
- 當您不技術時,如何面試工程師
- https://www.greghausheer.com/articles/how-to-to-interview-engineers-when-youre-not-technical
- https://www.greghausheer.com/articles/how-to-to-interview-engineers-when-youre-not-not-technical-part-ii
人工智能和機器學習
- 深度學習簡介https://github.com/aamini/introtododeplearning
- Automl-Zero = Mix de Ml et algogénétiqueshttps://arxiv.org/abs/2003.03384
- Twitter NewsFeed https://blog.twitter.com/engineering/en_us/topics/insights/2017/usise-deep-leep-learning-at-scale-in-scale-in-twitters-timelines.html
- Twitter ADS https://blog.twitter.com/engineering/en_us/topics/insights/2019/improving-engagement-engagement-engagement-end-digital-ads-with-with-delayed-delayed-feedback.html
- Instagram NewsFeed https://instagram-engineering.com/less-learned-AT-Instagram-Stagram-Stogram-Stories-and-feed-machine-learning-54f3aaaaa09e56
- Instagram探索https://ai.facebook.com/blog/powered-by-by-ai-instagrams-ecplore-recommender-system/
- Facebook深層實體分類https://engineering.fb.com/security/fighting-abuse-scale-2019/
- Uber吃建議
- https://eng.uber.com/uber-eats-query-understanding/
- https://eng.uber.com/uber-eats-recomment-marketplace/
- https://eng.uber.com/uber-eats-graph-learning/
- Uber地圖https://eng.uber.com/nlp-deep-learning-uber-maps/
- Airbnb
- https://medium.com/airbnb-engineering/using-machine-learning-to-predict-value of-homes-on-on-airbnb-9272d3d4739d
- https://medium.com/airbnb-endineering/listing-embeddings-for-similar-listing-ristresmendations-and-real time-pime-persyalization-in-search-601172f7603e
- https://medium.com/airbnb-engineering/learning-market-dynamics-for-optimal-pricing-97cffbcc53e3
- https://medium.com/airbnb-endineering/categorizing-listing-photos-photos-at-airbnb-f9483f3ab7e3
- https://medium.com/airbnb-engineering/applying-deep-learning-to-airbnb-search-7ebd7230891f
- https://medium.com/airbnb-endineering/discovering-and-classifying-in-app-message-intent-intent-at-airbnb-6a5555400a0c
- Airbnb體驗https://medium.com/airbnb-eentineering/machine-learning-powered-search-ranking-search-ranking-er-airbnb-experiences-110b4b1a0789
- Google http://highscalability.com/blog/2016/3/16/jeff-dean-on-large-scale-scale-deep-leep-learning-at-google.html
- LinkedIn https://engineering.linkedin.com/blog/topic/feed-personalization
- Netflix建議https://youtu.be/ky-bcnhd_dm
- Spotify建議https://medium.com/s/story/spotifys-discover-weekly-how-machine-learning-finds-your-new-music-19a41ab76efe
開發工具
diffoscope https://diffoscope.org/-
icdiff https://www.jefftk.com/icdiff - Devtodo,命令行TODO Manager https://swapoff.org/devtodo.html
- .gitignore模板的收集https://github.com/github/gitignore
- 命令列說明和提示https://github.com/jlevy/the-art-of-command-line
Dotfiles經理
備份您自定義的配置文件( ~/.bashrc , ~/.gitconfig ...),並在您使用的計算機(家庭,工作...)上共享它們。
yadm輕鬆使用
- https://yadm.io在Python
- yadm =另一個Dotfiles Manager
- 在Ubuntu/debian
apt install yadm和MacOS brew install yadm上易於安裝/updgrade - 為Fedora和其他基於RPM的發行版添加OpenSuse RPM存儲庫:https://yadm.io/docs/install
- 但是缺少使用
pip install --user yadm - 輸入git命令的子殼:
yadm enter ( exit要返回) - 支持三個模板引擎,具體取決於文件擴展名:
awk , j2cli和envtpl - 易於使用:
- 保持領先點
. (在文件名中) - 申請GIT倉庫中發生的變化(甚至刪除)
chezmoi文件前綴作為部署操作
- https://chezmoi.io in Go
- Ubuntu/Debian/Fedora安裝可以依靠活潑:
sudo dnf install snapd # provide "snap" command line
sudo ln -s /var/lib/snapd/snap /snap # prevent error: classic confinement requires snaps under /snap
sudo snap install chezmoi --classic # storage: 20 MB
snap run chezmoi
- 輸入git命令子殼:
chezmoi cd ( exit要返回) - 編碼在部署期間作為文件名前綴申請的操作
- 更換前導點
.由dot_ - 需要
-r選項以(遞歸)添加配置文件夾(即使在-v中)Twpayne/chezmoi#668 - 基於GO
text/template的支持模板(附加*.tmpl )
dotdrop易於黑客攻擊(手動git管理)
- https://deadc0de.re/dotdrop/ in Python
- Disclamer:我沒有以推薦的方式安裝dotdrop,我不使用
dotdrop.sh ,因為我不想使用git submodule (我不想單獨使用git submodule update pip install --upgrade升級所有安裝的軟件 python3 -m pip install --user --upgrade dotdrop (我認為我不需要dotdrop.sh )- 使用默認的dotdrop
config.yaml位置或以另一種方式提供: ( cd ~/dd; dotdrop import ~/.bashrc )或alias dotdrop='dotdrop --cfg=~/dd/config.yaml export DOTDROP_CONFIG=~/dd/config.yaml - 簡單工具=不要處理git命令(手動回購管理)
- dotdrop和git使用不同的命令名稱:導入/添加,比較/diff ...
- dotdrop drops dot:存檔的文件名沒有引導點
.如果keepdot:false (默認)in〜 ~/.dd/config.yaml - 請勿恢復簡單的
config.yaml錯誤:丟失的profiles:或空主機名profile deadc0de6/dotdrop#221 - 易於攻擊的beagause git並未由
dotdrop管理,因為在config.yaml中清楚地描述了所有其他操作
安裝dotdrop幾乎是yadm兼容的
YADM回購通常是一種慣例:原始路徑/文件名的尊重。
此處描述了兩個幾乎yadm兼容的安裝:
- 兩個git repo(
dotdrop repo + dotfiles sub reto) -
dotfiles回購本身~/.config/dotdrop/config.yaml
使用與YADM設置keepdot:true ~/.config/dotdrop/config.yaml文件名:
config :
keepdot : true # same filename as YADM
dotpath : dotfiles # set your dotfiles repo path/name
backup : true
banner : false
create : true
link_dotfile_default : nolink
link_on_import : nolink
longkey : false
dotfiles :
[...]
為了擁有一個沒有dotdrop配置和子文件夾的dotfiles repo,請使用兩個回購:
使用tree -a -I .git ~/.config/dotdrop/在您的dotfiles備份上查看:
$ tree -a -I .git ~/ . config/dotdrop/
~/.config/dotdrop/
├── config.yaml # above configuration file
├── .gitmodules # main repo: ~/.config/dotdrop/
└── dotfiles # Git submodule similar to YADM repo
├── .gitconfig
├── .bashrc
├── .config
│ └── htop
│ └── htoprc
└── .ssh
└── config
在第二個安裝中,不需要主要的dotdrop repo,因為~/.config/dotdrop/config.yaml在dotfiles repo中存檔。每次dotdrop import之後,還執行:
dotdrop import ~/.config/dotdrop/config.yaml
cd ~/.config/dotdrop/dotfiles
git add .config/dotdrop/
git commit -m 'Update dotdrop config'
加密敏感數據
- YADM呈現Git-Crypt
-
dotdrop提出了GPG加密
其他Dotfiles經理
- Homeshick https://github.com/andsens/homeshick
- 想家https://github.com/technicalpickles/homesick
- RCM https://github.com/thoughtbot/rcm
- GNU Stow https://www.gnu.org/software/stow/
- Bare Git Repo https://www.atlassian.com/git/tutorials/dotfiles
另請參閱:https://dotfiles.github.io/utilities/
Dotfiles Manager替代
$ home https://github.com/richih/vcsh中的vcsh多個git存儲庫
沙箱
- Ebox使用零安裝(0 -stall)安全地安裝軟件(來自網站),並在受限制的環境中運行它們。
Z殼 - zsh
大多數額外的外殼擴展是為zsh開發的,這就是為什麼每天使用ZSH使用zsh原因。但是,我不建議使用dash (或bash )更合適的生產服務器。
為了擴展ZSH功能,您可以使用zsh插件管理器或手動將您的Plusgin直接保留在~/.zshrc中。插件管理器將有助於保持ZSH插件上升,但可以減慢您的ZSH啟動時間。
| 插件經理 | 活動 | 動機 |
|---|
| 哦,我 - Zsh | Active(2009) | 以歷史社區為導向的項目,在一個大git倉庫中收集和維護數百個加金及其它們,以簡單起見,並在源代碼中重新旋轉/檢查惡意軟件。 |
| Prezto | Active(2013) | 與OH-MY-ZSH相比,創建的是僅將插件管理器源代碼保留在其git repo中。 |
| 抗原 | Active(2013) | 寫在zsh Stratup加快速度。 |
zgen | 不活動 | 快速插件管理器受抗原啟發(生成靜態啟動腳本),但用ZSH編寫,以避免在更新插件管理器時安裝GO依賴項。有關最近的提交,請參見Nukesor的叉子。 |
zplug | 積極的 | 支持各種插件來源:Git Repo,Oh-My-Zsh/prezto插件,二進製文物... |
zinit | 積極的 | 受Zplug( zinit的啟發)(Zinit是zplugin )的靈感,但用C編寫,並在後台(Turbo Mode)將插件編譯為字節碼,既具有豐富的功能(如Zplug),又具有快速的啟動。 |
| 抗體 | 積極的 | 像抗原(在GO中)一樣,但要更快地進行:例如,抗體較早地加載zsh ,並且不需要apply語句。 |
| ZR | 積極的 | 簡單的插件管理器項目用Rust編寫,該項目生成靜態INIT腳本以加快zsh啟動。 |
DevOps
- 倒入Progresser en devops(et pas奪取操作)https://github.com/bregman-arie/devops-eccises
- UnOutilTrès完成(en Java)倒數構建器LES Images Docker,config K8s,跟踪des問題…https://github.com/theonedev/onedev/onedev
- 權限管理器是Kubernetes(創建用戶,分配命名空間/權限並分發KubeConfig YAML文件)的輕鬆RBAC管理)https://github.com/sighupio/permiss-manager
- Configure Elastic cluster https://thoughts.t37.net/designing-the-perfect-elasticsearch-cluster-the-almost-definitive-guide-e614eabc1a87
硬體
- 類似電子書的打開硬件項目https://github.com/joeycastillo/the-open-book
健康與工作效率
- 長冷水https://news.ycombinator.com/item?id=22167687(荷蘭研究2016)
Linux
- Linux屏幕共享https://news.ycombinator.com/item?id=22178011
- 很棒的Linux軟件https://github.com/luong-komorebi/awesome-linux-software
- tl; dr簡化和以社區為驅動的人頁https://github.com/tldr-pages/tldr
隱私
- 請勿跟踪訪問者/用戶=>刪除所有跟踪,請禁止任何人收集任何數據
共享密碼的流行自主工具:
- https://en.wikipedia.org/wiki/list_of_password_managers
-
pass https://www.passwordstore.org/ pas de服務商業廣告,adaptéàlaligne de Commande,par contre,pas可能的de partager un mdp entre 2 entre 2 ernes 2 eremnes seulement -
gopass https://www.gopass.pw/ pas de Service商業廣告,100%兼容AVEC通行證 - KeepASSXC https://keepassxc.org/ fork communautaire de aepassx,pas de服務商業廣告,擴展pour pour瀏覽器EN 2018,la Surveillance selverance self-defense cite keepassxc dans neepassxc dans not https://ssd..ord..org..org..org..org/module/creategnong-pass-pass-pass-past-pass-stranc en tranc eniscon(tranc) https://ssd.eff.org/fr/module/créer-des-mots-de-passe-robustes)
- Passbolt https://www.passbolt.com/商業,flatuit pur les projets communautaires,fincile -héberger,peut changer une une ligne en goo
- Bitwarden https://bitwarden.com/商業,L'Explication surl'HébergementSembleCompriqué(12étapes)
Quikly收斂到有價值的API
- Design - Rédiger une documentation pédagogique (Markdown) à destination de l'utilisateur final, cela permet de se mettre dans la peau du client, d'itérer sur ce qu'il lui ferait plaisir, de se baser dessus dans nos échanges, et ainsi de suite jusqu'à obtenir une documentation API mature à publier sur https://docs.example.com
- 代碼- une fois,que nous sommessynchroniséset介紹了dansnosdées,on代碼avec des註釋afin degénérerla documentationà部分代碼來源(OpenApi,retapi,redoc…)。編碼器c'est rencontrer desproblématiques技術auxquelles n'avions n'avionspasées等,et cela nous permet d'Accumuler d'ecrouler du retour dexpérience,de gagner encore concore concore encore concore confly encore confly encore confly en en en en en en en en enMaturité等。 laGénérationde la Document estMiseà處置
- Test - On commence à avoir une première ébauche de l'API, on commence à mettre à jour la documentation pédagogique (Markdown), on commence à tester l'API, des premiers utilisateurs nous font des remarques… encore de nouvelles idées pour simplifier, pour clarifier… on re-code… on re-documente… on itère…
- 交付-Au決賽,在最終確定的Dansl'étatActuel上,在最終確定的dan tout tout tout tout tout tout tout tout tout tout tout tout。在Garde NosBonnesIdéespour la版本Suivante:D
JSON
每行1個JSON
“ JSON線”格式:https://jsonlines.org/on_the_web/
MOS受歡迎的是application/x-ndjson http://ndjson.org/
JSON/JWT與CBOR/CWT
UNE替代AU JWT,EST LE CWT不要LA RFC 8392(2018年5月)Isvique bienl'Intérêt。
Le Cwt利用Cboràlala place de Json,Cborétantune variante binaire du Json。
Il Amente une dizaine de Format binaires pour json(Comme Bson,MessagePack ...),Mais Seul Cbor cbor esttraitéDansdans les les les rfc,donc cbor semblesembleêtreêtremieuxsandendisé。
另請參見:RFC 8747(CBOR Web令牌的蘇索證明密鑰語義)。
JSON處理浮點和64位數字
une api quigèredesnombres 64位和des des prixexpriméspar des flottants doublePrécision:
En ASTASTENT QUE TOUS LES NAVIGATEURS Web Soient兼容AVEC ECMASCRIPT 2021( BigInt ),L'API DEVRAIT PRENDRE EN充電LE格式I-JSON:
API使用稱為“ Internet JSON”(I-JSON)的JSON子集格式,以確保與任何客戶端軟件更好地互操作性:
- UTF-8
- 未命名的JSON成員名稱
- 時間和日期為[ISO 8601] []格式中的字符串(當以自納秒為單位表示時,
- base64url中的二進制斑點(不要與其他base64變體混淆)
- 雙精度浮點(IEEE 754 BINARY64)
但是,由於現代JavaScript(Ecmascript 2021)支持BIGINT類型,因此API使用64位簽名的整數類型,因為現代JavaScript(Ecmascript 2021)支持BigInt類型,並且不僅限於[-2⁵³+1,2⁵³-1]範圍。所有其他流行的編程語言都沒有此數字範圍限制。另請參見RFC 8785附錄D。
其他
- https://github.com/pingcap/awesome-database-learning中的數據庫
- 我討厭正則https://github.com/geongeorge/i-hate-regex
- 秘密知識,各種材料和工具,手冊,作弊表,博客,黑客,單線,CLI/Web工具…
- 互動殺死https://github.com/sindresorhus/fkill-cli
- cookérativehttp://www.coopaname.coop/article/coopaname-cest-politique
公共領域奉獻
CC0 1.0通用
創意共享零無權保留
根據法律的可能,橄欖已放棄了所有版權以及與大型實踐的相關權利。這項工作自2015年以來從法國發表。請參閱CC0法律代碼或文件COPYING中的副本。