===== Development =====
==== Tools ====
* Code editors
* Visual Studio Code
* Sublime Text
* Notepad++
* Visualization
* [[https://github.com/jgraph/drawio-desktop|draw.io Diagrams]]
* GraphViz
* Inkscape
* paint.net
* PlantUML
* Productivity
* AutoHotKey
* KeePass
* SysInternals
* VirtuaWin
* WinDirStat
* Misc
* ADExplorer
* Archi
* aws-cli
* dbeaver
* docutils (rst2html)
* [[https://git-scm.com|Git version control]]
* FoxitReader
* FreeFileSync
* kubectl
* PuTTY
* s3cmd
* WinSCP
==== Visual Studio Code ====
Extensions:
* Python (Microsoft)
* reStructuredText (LeXtudio Inc.)
* Rewrap (stkb)
==== Git ====
Documentation and Best Practices:
* [[https://git-scm.com/book/en/v2|Git Book]] including downloads as HTML, ePub etc.
* [[https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow|Gitflow Workflow by Atlassian]]
* [[https://chris.beams.io/posts/git-commit/|How to Write a Git Commit Message]]
* [[https://git-scm.com/docs/|Git Reference]]
Set the default editor:
git config --global core.editor '/usr/bin/sublime -w'
Show the full pretty formatted version log including decoration (branch names and tags):
git log --decorate --graph --full-history --all --color --pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s"
[[http://blog.kfish.org/2010/04/git-lola.html|Clean log information using git lola alias.]]
Git global config:
* Linux: ~/.gitconfig
* Windows: %HOMEDRIVE%%HOMEPATH%\.gitconfig
Show all diffs which were made between two commits in reverse order (ascending commit time) which is useful for code reviews:
git log commit..commit -p --reverse
Partial staging, select rows to stages:
git add -p test.txt
[[http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/|Useful Git aliases.]]
==== Database Schema Management ====
* [[https://alembic.sqlalchemy.org/en/latest/|Alembic]]
* [[https://flywaydb.org/|Flyway]]
* [[https://www.liquibase.org/|Liquibase]]
==== Windows ====
Create .lnk files in batch:
powershell '$s=(New-Object -COM WScript.Shell).CreateShortcut("my_shortcut.lnk");$s.TargetPath="C:\my_path\to\some_file.txt";$s.Save()'
==== JDBC ====
^ Database ^ URL ^
| IBM DB2 | jdbc:db2://[HOST]:[PORT]/[DB] |
| Microsoft SQL Server | jdbc:microsoft:sqlserver://[HOST]:[PORT](;DatabaseName=[DB]) |
| MySQL | jdbc:mysql://[HOST]:[PORT]/[DB] |
| Oracle Thin |
jdbc:oracle:thin:@[HOST]:[PORT]:[SID] \\ jdbc:oracle:thin:@[HOST]:[PORT]/[SERVICE_NAME] \\ jdbc:oracle:thin:@ldap://[LDAP_URL]:[LDAP_PORT]:[SID],[CONTEXT_PATH] \\ jdbc:oracle:thin:@ldap://[LDAP_URL]:[LDAP_PORT]/[SERVICE_NAME],[CONTEXT_PATH] |
| PostgreSQL | jdbc:postgresql://[HOST]:[PORT]/[DB] |
| SQLite | jdbc:sqlite:sample.db |