编码人员的好提示,思维方式和实践
授权有关培训,编码,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中的副本。