🎨 update roadmap, headings and structure
This commit is contained in:
parent
3c12b26b81
commit
ec78229649
1 changed files with 42 additions and 29 deletions
71
README.md
71
README.md
|
|
@ -8,23 +8,30 @@
|
||||||
* [x] 2021Q1: ~Gitmoji -> (general) Methodology~ :white_check_mark:
|
* [x] 2021Q1: ~Gitmoji -> (general) Methodology~ :white_check_mark:
|
||||||
* [x] 2021Q2: ~Version control methodology~
|
* [x] 2021Q2: ~Version control methodology~
|
||||||
* 2021Q3: Decide on sections
|
* 2021Q3: Decide on sections
|
||||||
* [ ] Python section
|
* [ ] ~~Python section~~ Sections by Project Phase (setup, develop, deploy, deliver) each section should cover the same topics (i.e version control, DevOps)
|
||||||
* [ ] Organize [other methodology](#other-methdology) into hierarchy
|
* [ ] Move as much as possible from [Topic Hierarchy](#Topic-Hierarchy) into phases
|
||||||
* [ ] Split hierarchy into paragraphs / sections
|
|
||||||
* 2021Q4
|
* 2021Q4
|
||||||
* [ ] Refine github flows
|
* [ ] Refine github flows
|
||||||
* [ ] Add sub-pages
|
* [ ] Add sub-pages
|
||||||
* [ ] Add [Custom utils](https://dev.to/kenbellows/a-few-python-repl-config-tricks-3o6i).
|
* [ ] Add [Custom utils](https://dev.to/kenbellows/a-few-python-repl-config-tricks-3o6i).
|
||||||
* [ ] 2022Q1 Consultancy Method
|
* [ ] 2022Q1 Consultancy Methodology
|
||||||
|
* [ ] 2022Q2 Alternative to Github?
|
||||||
|
|
||||||
|
This guide focuses on designing, developing and delivering Data-Processing Sytems, written primarily in python, deploying to Linux / FreeBSD servers, optionally communicating with external interfaces (APIs or DBs). The repo is actively being updated; _bookmark_ :bookmark: it, leave a _Star_ :star: or _Watch_ :eye: the repo.
|
||||||
|
|
||||||
This methodology repo is focused on Python Data Processing based projects with som external dependencies (APIs or DBs). The repo is actively being updated; Leave a start bookmark it or _Watch_ the repo to get notificatied of updates.
|
## Project Phases
|
||||||
|
|
||||||
# Version control
|
| | Version Control | DevOps | Documentation |
|
||||||
|
|-- |-- |-- |-- |
|
||||||
|
| [setup](#setup) | [Setup Version Control](#setup-version-control) | b | c |
|
||||||
|
| develop | [Develop with Version Control](#develop-with-version-control) | b | c |
|
||||||
|
| deploy | a | b | c |
|
||||||
|
| deliver | a | b | c |
|
||||||
|
| mastery | git-mastery
|
||||||
|
|
||||||
## Commit messages and `gitmoji`
|
## Gitmoji reference
|
||||||
|
|
||||||
Use the format `:gitmoji: <commit message>` in your commit messages. Only proper nouns, CamelCase and class names should have uppercases letters. Avoid using multiple gitmojis.
|
Use the format `:gitmoji: <commit message>` in your commit messages. Only proper nouns, CamelCase and class names should have uppercases letters. ~~Avoid using multiple gitmojis.~~ Use several gitmojis if it makes sense.
|
||||||
|
|
||||||
|emoji|code|description|
|
|emoji|code|description|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
|
@ -49,7 +56,13 @@ Use the format `:gitmoji: <commit message>` in your commit messages. Only proper
|
||||||
Missing a gitmoji? Get [inspiration](https://gist.github.com/rxaviers/7360908).
|
Missing a gitmoji? Get [inspiration](https://gist.github.com/rxaviers/7360908).
|
||||||
Submit an [issue](https://github.com/DannyDannyDanny/gitmoji/issues) (or [Pull Request](https://github.com/DannyDannyDanny/gitmoji/pulls)).
|
Submit an [issue](https://github.com/DannyDannyDanny/gitmoji/issues) (or [Pull Request](https://github.com/DannyDannyDanny/gitmoji/pulls)).
|
||||||
|
|
||||||
## Oneliner install and run
|
## Setup
|
||||||
|
|
||||||
|
### Setup Version Control
|
||||||
|
|
||||||
|
🚧 Use [git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)!
|
||||||
|
|
||||||
|
### Oneliner install and run
|
||||||
When using git repositories, connect with [ssh](https://stackoverflow.com/a/65415202/5684214).
|
When using git repositories, connect with [ssh](https://stackoverflow.com/a/65415202/5684214).
|
||||||
|
|
||||||
The README for your project should contain a one-liner code that dowloads, installs and runs a mini-test.
|
The README for your project should contain a one-liner code that dowloads, installs and runs a mini-test.
|
||||||
|
|
@ -60,9 +73,7 @@ pipenv run python .
|
||||||
#cd .. && rm -rf cool-user-repo-online
|
#cd .. && rm -rf cool-user-repo-online
|
||||||
```
|
```
|
||||||
|
|
||||||
## Git Flows
|
## Develop with Version Control
|
||||||
|
|
||||||
> In progress! 🚧 Use [git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)!
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Git Log A DOG acronym
|
# Git Log A DOG acronym
|
||||||
|
|
@ -108,7 +119,7 @@ git log --follow -- filename
|
||||||
git log -S "some_old_varname" --oneline --all
|
git log -S "some_old_varname" --oneline --all
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Submitting multiple PRs
|
### Submitting multiple PRs
|
||||||
* [Interactive rebase](https://stackoverflow.com/questions/35790561/working-while-waiting-for-pending-pr#comment96514430_35793095)
|
* [Interactive rebase](https://stackoverflow.com/questions/35790561/working-while-waiting-for-pending-pr#comment96514430_35793095)
|
||||||
* [Rebase & Update PR](https://www.digitalocean.com/community/tutorials/how-to-rebase-and-update-a-pull-request)
|
* [Rebase & Update PR](https://www.digitalocean.com/community/tutorials/how-to-rebase-and-update-a-pull-request)
|
||||||
|
|
||||||
|
|
@ -148,56 +159,58 @@ Path('.').absolute()
|
||||||
* Sketches and handwritten illustrations scanned / photographed as `.png`/`.jpg`.
|
* Sketches and handwritten illustrations scanned / photographed as `.png`/`.jpg`.
|
||||||
* Scanned / photographed illustrations should be cropped, contrast and alligned.
|
* Scanned / photographed illustrations should be cropped, contrast and alligned.
|
||||||
|
|
||||||
## Other methdology
|
## Topic Hierarchy
|
||||||
* [Things you should do now](https://secure.phabricator.com/book/phabflavor/article/things_you_should_do_now/)
|
* **Project Planning**
|
||||||
* Follow [naming conventions](https://visualgit.readthedocs.io/en/latest/pages/naming_convention.html)
|
|
||||||
* Follow [software engineering laws](https://www.netmeister.org/blog/software-engineering-laws.html)
|
|
||||||
* Planning
|
|
||||||
* [non-linear roadmaps](https://productcrunch.substack.com/p/escaping-the-roadmap-trap)
|
* [non-linear roadmaps](https://productcrunch.substack.com/p/escaping-the-roadmap-trap)
|
||||||
* DevOps
|
* **DevOps**
|
||||||
* Do [CodeReviews](https://softwareengineering.stackexchange.com/questions/141005/how-would-you-know-if-youve-written-readable-and-easily-maintainable-code/141010#141010)
|
* Do [CodeReviews](https://softwareengineering.stackexchange.com/questions/141005/how-would-you-know-if-youve-written-readable-and-easily-maintainable-code/141010#141010)
|
||||||
* Use [scrum methodology](https://www.scruminc.com/scrum-glossary/)
|
* Use [scrum methodology](https://www.scruminc.com/scrum-glossary/)
|
||||||
* Test and Production environments must be the same and very well defined: FreeBSD image or Ubunut Docker container
|
* Test and Production environments must be the same and very well defined: FreeBSD image or Ubunut Docker container
|
||||||
* UX/UI
|
* **UX/UI**
|
||||||
* [Understand, Ideate and Test, Implement](https://uxtools.co/challenges/) UX.
|
* [Understand, Ideate and Test, Implement](https://uxtools.co/challenges/) UX.
|
||||||
* [Divide year into 26 fortnights labelled A-Z](https://futureofcoding.org/episodes/044#19)
|
* [Divide year into 26 fortnights labelled A-Z](https://futureofcoding.org/episodes/044#19)
|
||||||
* Avoid [dark patterns](https://darkpatterns.org/types-of-dark-pattern.html)
|
* Avoid [dark patterns](https://darkpatterns.org/types-of-dark-pattern.html)
|
||||||
* Visualization
|
* **Visualization**
|
||||||
* problem: it's difficult to include visualization in this workflow but essential to fast prototyping.
|
* problem: it's difficult to include visualization in this workflow but essential to fast prototyping.
|
||||||
* Perhaps [text-to-diagram](https://xosh.org/text-to-diagram/)
|
* Perhaps [text-to-diagram](https://xosh.org/text-to-diagram/)
|
||||||
* [AsciiFlow](https://asciiflow.com/#/)
|
* [AsciiFlow](https://asciiflow.com/#/)
|
||||||
* *Spectral*, a [diverging colormap from matplotlib](https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html#diverging).
|
* *Spectral*, a [diverging colormap from matplotlib](https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html#diverging).
|
||||||
* [Tikz Editor](https://tikzcd.yichuanshen.de)
|
* [Tikz Editor](https://tikzcd.yichuanshen.de)
|
||||||
* Database / DataWarehouse
|
* **Database / DataWarehouse**
|
||||||
* PostgreSQL ([datetime functs](https://www.postgresql.org/docs/9.1/functions-datetime.html))
|
* PostgreSQL ([datetime functs](https://www.postgresql.org/docs/9.1/functions-datetime.html))
|
||||||
* Consider SQL (but [don't use `select *`](https://tanelpoder.com/posts/reasons-why-select-star-is-bad-for-sql-performance/))
|
* Consider SQL (but [don't use `select *`](https://tanelpoder.com/posts/reasons-why-select-star-is-bad-for-sql-performance/))
|
||||||
* Be aware of [feature casualties of large databases](https://web.dev/streams/)
|
* Be aware of [feature casualties of large databases](https://web.dev/streams/)
|
||||||
* [Data Science - Hierarchy of Needs](https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007)
|
* [Data Science - Hierarchy of Needs](https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007)
|
||||||
* Security
|
* **Security**
|
||||||
* Audit [security](https://hangar.tech/posts/our-dsq/)
|
* Audit [security](https://hangar.tech/posts/our-dsq/)
|
||||||
* Understand [SSH tunnels](https://robotmoon.com/ssh-tunnels/)
|
* Understand [SSH tunnels](https://robotmoon.com/ssh-tunnels/)
|
||||||
* [Anticipatory Failure Determination](https://historyofyesterday.com/suppose-i-wanted-to-kill-a-lot-of-pilots-f126bbc756fa)
|
* [Anticipatory Failure Determination](https://historyofyesterday.com/suppose-i-wanted-to-kill-a-lot-of-pilots-f126bbc756fa)
|
||||||
* [Secret Management for APIs](https://blog.gitguardian.com/secrets-api-management/)
|
* [Secret Management for APIs](https://blog.gitguardian.com/secrets-api-management/)
|
||||||
* Programming Personalizations
|
* **Programming Personalizations**
|
||||||
* vscode tip: turn off _openDiffOnClick_
|
* vscode tip: turn off _openDiffOnClick_
|
||||||
* [git bash solarized :sun_with_face:](https://github.com/speedpacer/gitbash_solarized/issues)
|
* [git bash solarized :sun_with_face:](https://github.com/speedpacer/gitbash_solarized/issues)
|
||||||
* [Music for programming](https://www.musicforprogramming.net)
|
* [Music for programming](https://www.musicforprogramming.net)
|
||||||
* [OpenStack](https://docs.openstack.org/hacking/latest/user/hacking.html#styleguide): Linting and Pre-commit Hooks
|
* [OpenStack](https://docs.openstack.org/hacking/latest/user/hacking.html#styleguide): Linting and Pre-commit Hooks
|
||||||
* Deploying
|
* **Deploying**
|
||||||
* Virtualize Everything! [Awesome-Compose](https://github.com/docker/awesome-compose).
|
* Virtualize Everything! [Awesome-Compose](https://github.com/docker/awesome-compose).
|
||||||
* AI / ML / Modelling
|
* **AI / ML / Modelling**
|
||||||
* [open source cousin to GPL3](https://github.com/kingoflolz/mesh-transformer-jax)
|
* [open source cousin to GPL3](https://github.com/kingoflolz/mesh-transformer-jax)
|
||||||
* There's some gold nuggets this [reddit post](https://old.reddit.com/r/ExperiencedDevs/comments/nmodyl/drunk_post_things_ive_learned_as_a_sr_engineer/)
|
* **Philosophy / Mindset / Principles**
|
||||||
* Philosophy / Mindset / Principles
|
|
||||||
* [the-importance-of-humility-in-software-development](https://humbletoolsmith.com/2020/08/10/the-importance-of-humility-in-software-development/)
|
* [the-importance-of-humility-in-software-development](https://humbletoolsmith.com/2020/08/10/the-importance-of-humility-in-software-development/)
|
||||||
* _doing it right_ vs _doing it on time_
|
* _doing it right_ vs _doing it on time_
|
||||||
* Closed Source Software: If you cannot check what it does / how it works, do not use it for the sake of security.
|
* Closed Source Software: If you cannot check what it does / how it works, do not use it for the sake of security.
|
||||||
* [Software Design X Dieter Rams](https://github.com/zedr/dieter-rams-10-applied-to-software)
|
* [Software Design X Dieter Rams](https://github.com/zedr/dieter-rams-10-applied-to-software)
|
||||||
* Collaboration / Working in a team
|
* **Collaboration / Working in a team**
|
||||||
* Details about [pair programming](https://martinfowler.com/articles/on-pair-programming.html)
|
* Details about [pair programming](https://martinfowler.com/articles/on-pair-programming.html)
|
||||||
* Is [extreme programming](http://www.extremeprogramming.org/) a thing?
|
* Is [extreme programming](http://www.extremeprogramming.org/) a thing?
|
||||||
* Collaboration (tools: [csvbox](https://csvbox.io/), [pyodide](https://github.com/pyodide/pyodide))
|
* Collaboration (tools: [csvbox](https://csvbox.io/), [pyodide](https://github.com/pyodide/pyodide))
|
||||||
* Resolve [Joel's 12 Questions](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/)
|
* Resolve [Joel's 12 Questions](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/)
|
||||||
* keeping the repo nice ![Coverage badge][coverage-badge]
|
* keeping the repo nice ![Coverage badge][coverage-badge]
|
||||||
|
* **Misc**
|
||||||
|
* [Things you should do now](https://secure.phabricator.com/book/phabflavor/article/things_you_should_do_now/)
|
||||||
|
* Follow [naming conventions](https://visualgit.readthedocs.io/en/latest/pages/naming_convention.html)
|
||||||
|
* Follow [software engineering laws](https://www.netmeister.org/blog/software-engineering-laws.html)
|
||||||
|
* There's some gold nuggets this [reddit post](https://old.reddit.com/r/ExperiencedDevs/comments/nmodyl/drunk_post_things_ive_learned_as_a_sr_engineer/)
|
||||||
|
|
||||||
|
|
||||||
[coverage-badge]: https://img.shields.io/badge/Coverage-100%25-brightgreen.svg
|
[coverage-badge]: https://img.shields.io/badge/Coverage-100%25-brightgreen.svg
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue