<commit_before>Good and Great Practices for Coders
===================================

> *Empowering practices for happy coders about Git, Unit tests, C++, Python, Java, Gradle, CMake, Agile, GNU/LInux installation, pandoc... &nbsp; Not the best or the greatest because any one can propose improvements :-)*

This documentation is maintained with faireness in mind and shared in [Public Domain](#public-domain-dedication).

View this Markdown file [in presentation format](http://olibre.github.io/GreatPractices/pres.html#/) (reveal.js).


Documents
=========

* [GNU/Linux installation for coders](./install)
* [Git](./git)
* [Java/Groovy/Gradle/Ant](./java)
* [C++](./cpp)
    * [Rules](cpp/rules.md)
    * [Metrics](cpp/lint.md)
    * [C++ Core Guidelines](cpp/cpp_core_guidelines.md)
* [CMake](./cmake)
* [Empoworing team members](./team)
* [Great Unit Tests](./unit-test)
* [Logging](./log)
* [Diagrams within Markdown](./markdown)


Public Domain Dedication
========================
CC0 1.0 Universal
-----------------

[Creative Commons Zero] &emsp; *No Rights Reserved*  &emsp; ![(CC) ZERO] &nbsp; ![(0) PUBLIC DOMAIN]

[Creative Commons Zero]: https://creativecommons.org/publicdomain/zero/1.0/deed "CC0 summary for non-lawyers" 
[(CC) ZERO]:             https://licensebuttons.net/l/zero/1.0/80x15.png "Logo Creative Commons Zero (CC0) 1.0"
[(0) PUBLIC DOMAIN]:     https://licensebuttons.net/p/zero/1.0/80x15.png "Logo CC0 1.0 Public Domain"

To the extent possible under law, [olibre](mailto:<EMAIL>) 
has waived all copyright and related or neighboring rights to [GreatPractices]. 
This work is published from France since 2015.
Refer to [CC0 Legal Code] or a copy in file [`COPYING`].

[CC0 Legal Code]: https://creativecommons.org/publicdomain/zero/1.0/legalcode "CC0 full legal text for lawyers"
[GreatPractices]: https://github.com/olibre/GreatPractices "GreatPractices project hosted on GitHub" 
[`COPYING`]:      ./COPYING



Miscelanous links
=================


Security
--------

* [Tools, resources and references to practice ethical hacking](https://github.com/sundowndev/hacker-roadmap)
* [The Hacker's Choice](https://github.com/hackerschoice) (IT Security Research Group) [Tips, Tricks & Hacks](https://github.com/hackerschoice/thc-tips-tricks-hacks-cheat-sheet)
* [hackerEnv](https://github.com/abdulr7mann/hackerEnv), automation tool that sweep IPs and scan ports, vulnerabilities and exploit them


Programming languages
---------------------

|Features                            | Programming languages |
|----------------------------------- | --------------------- |
|Fast compilation                    | V, D, Go, Delphi|
|Simplicity & maintainability        | V, Go, [Nim](https://nim-lang.org/), Python |
|Great perf. and zero cost C interop | V, C, C++, D, Delphi, Erlang, Rust|
|Safety (immutability, no null, option types, free from data races) | V, Rust|
|Easy concurrency                    | V, Go|
|Easy cross compilation              | V, Go|
|Compile time code generation        | V, D |
|Small compiler with no dependency   | V    |
|No global state                     | V    |
|Hot code reloading                  | [V](https://vlang.io)    |

* GoFrame https://github.com/gogf/gf
* GetFlutter = 1000 open-source pre-build widgets library to develop both Flutter mobile app and web app 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
* Ant Design https://pro.ant.design/

Les résultats du sondage JavaScript https://2019.stateofjs.com/overview/  
(belle représentation des technos sur deux axes connaissance et opinion positive/négative)

* TypeScript a le vent en poupe
* Angular est de moins en moins apprécié : énormément de réponses I've USED it before, and would NOT use it again
* React (et Vue) sont de plus en plus utilisés
* Aux côtés de React et Vue, un troisième arrive en force : https://svelte.dev/
* GraphQL est de plus en plus utilisé et apprécié (notamment, avec Apollo comme client)
* Par contre, plus Redux est utilisé, moins il est apprécié 


DevOps
------

* Pour progresser en DevOps (et pas seulement Ops) https://github.com/bregman-arie/devops-exercises
* Un outil très complet (en Java) pour builder les images docker, config K8S, tracking des issues… https://github.com/theonedev/onedev


Other
-----

* [The Book of Secret Knowledge](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents), various materials and tools, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools…<commit_msg>Add fkill<commit_after>Good and Great Practices for Coders
===================================

> *Empowering practices for happy coders about Git, Unit tests, C++, Python, Java, Gradle, CMake, Agile, GNU/LInux installation, pandoc... &nbsp; Not the best or the greatest because any one can propose improvements :-)*

This documentation is maintained with faireness in mind and shared in [Public Domain](#public-domain-dedication).

View this Markdown file [in presentation format](http://olibre.github.io/GreatPractices/pres.html#/) (reveal.js).


Documents
=========

* [GNU/Linux installation for coders](./install)
* [Git](./git)
* [Java/Groovy/Gradle/Ant](./java)
* [C++](./cpp)
    * [Rules](cpp/rules.md)
    * [Metrics](cpp/lint.md)
    * [C++ Core Guidelines](cpp/cpp_core_guidelines.md)
* [CMake](./cmake)
* [Empoworing team members](./team)
* [Great Unit Tests](./unit-test)
* [Logging](./log)
* [Diagrams within Markdown](./markdown)


Public Domain Dedication
========================
CC0 1.0 Universal
-----------------

[Creative Commons Zero] &emsp; *No Rights Reserved*  &emsp; ![(CC) ZERO] &nbsp; ![(0) PUBLIC DOMAIN]

[Creative Commons Zero]: https://creativecommons.org/publicdomain/zero/1.0/deed "CC0 summary for non-lawyers" 
[(CC) ZERO]:             https://licensebuttons.net/l/zero/1.0/80x15.png "Logo Creative Commons Zero (CC0) 1.0"
[(0) PUBLIC DOMAIN]:     https://licensebuttons.net/p/zero/1.0/80x15.png "Logo CC0 1.0 Public Domain"

To the extent possible under law, [olibre](mailto:<EMAIL>) 
has waived all copyright and related or neighboring rights to [GreatPractices]. 
This work is published from France since 2015.
Refer to [CC0 Legal Code] or a copy in file [`COPYING`].

[CC0 Legal Code]: https://creativecommons.org/publicdomain/zero/1.0/legalcode "CC0 full legal text for lawyers"
[GreatPractices]: https://github.com/olibre/GreatPractices "GreatPractices project hosted on GitHub" 
[`COPYING`]:      ./COPYING



Miscelanous links
=================


Security
--------

* [Tools, resources and references to practice ethical hacking](https://github.com/sundowndev/hacker-roadmap)
* [The Hacker's Choice](https://github.com/hackerschoice) (IT Security Research Group) [Tips, Tricks & Hacks](https://github.com/hackerschoice/thc-tips-tricks-hacks-cheat-sheet)
* [hackerEnv](https://github.com/abdulr7mann/hackerEnv), automation tool that sweep IPs and scan ports, vulnerabilities and exploit them


Programming languages
---------------------

|Features                            | Programming languages |
|----------------------------------- | --------------------- |
|Fast compilation                    | V, D, Go, Delphi|
|Simplicity & maintainability        | V, Go, [Nim](https://nim-lang.org/), Python |
|Great perf. and zero cost C interop | V, C, C++, D, Delphi, Erlang, Rust|
|Safety (immutability, no null, option types, free from data races) | V, Rust|
|Easy concurrency                    | V, Go|
|Easy cross compilation              | V, Go|
|Compile time code generation        | V, D |
|Small compiler with no dependency   | V    |
|No global state                     | V    |
|Hot code reloading                  | [V](https://vlang.io)    |

* GoFrame https://github.com/gogf/gf
* GetFlutter = 1000 open-source pre-build widgets library to develop both Flutter mobile app and web app 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
* Ant Design https://pro.ant.design/

Les résultats du sondage JavaScript https://2019.stateofjs.com/overview/  
(belle représentation des technos sur deux axes connaissance et opinion positive/négative)

* TypeScript a le vent en poupe
* Angular est de moins en moins apprécié : énormément de réponses I've USED it before, and would NOT use it again
* React (et Vue) sont de plus en plus utilisés
* Aux côtés de React et Vue, un troisième arrive en force : https://svelte.dev/
* GraphQL est de plus en plus utilisé et apprécié (notamment, avec Apollo comme client)
* Par contre, plus Redux est utilisé, moins il est apprécié 


DevOps
------

* Pour progresser en DevOps (et pas seulement Ops) https://github.com/bregman-arie/devops-exercises
* Un outil très complet (en Java) pour builder les images docker, config K8S, tracking des issues… https://github.com/theonedev/onedev


Other
-----

* [The Book of Secret Knowledge](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents), various materials and tools, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools…
* Interactive kill https://github.com/sindresorhus/fkill-cli
{'fraction_non_alphanumeric': 0.15344522047326176, 'fraction_numerical': 0.009381840925674971, 'mean_word_length': 3.516949152542373, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 41, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2691859', 'n_tokens_mistral': 3088, 'n_tokens_neox': 2910, 'n_words': 953}