This project is using semantic versioning which means that versions has tree numbers:
Major.Minor.Patch, e.g. 1.3.7
and the meaning the the following:
- Major: breaking (remove functionality or change API)
- Minor: Features (new functionality, adding new topics)
- Patch: Fixes (bug fixes, typos, etc.)
We use these three sections in changelog: new features, bug fixes, breaking changes.
List of all subjects (first lines in commit message) since last release:
git log <last tag> HEAD --pretty=format:%s # example git log 1.1.0..HEAD --pretty=format:%s git log 1.3.8..HEAD --pretty=format:"- %s [commit](https://github.com/amejiarosario/dsa.js/commit/%H)" --grep "BREAKING CHANGE:" git log 1.3.8..HEAD --pretty=format:"- %s [commit](https://github.com/amejiarosario/dsa.js/commit/%H)" --grep "^feat.*:" git log 1.3.8..HEAD --pretty=format:"- %s [commit](https://github.com/amejiarosario/dsa.js/commit/%H)" --grep "^fix.*:"
New features in this release
git log <last release> HEAD --grep feat
Install
npm install -g doctoc
Add to *.md:
<!-- START doctoc --> <!-- END doctoc -->
Run:
doctoc README.md
- PDF: callouts and emojis are not showing correctly
- Writeup on balancing trees
BinaryTree
implementation on its own. So far, we only have BST.- TreeSet should be able to store objects. Does it need a comparator? on BST in case node's values are not just numbers but also objects.
- Refactor LinkedList.remove(). It's doing to much maybe it can be refactor in terms of removeByPosition and indexOf
- More algorithm and datastructres! Greedy, Divide and Conquer etc.
- Algorithms visualizations like https://bost.ocks.org/mike/algorithms/
- sorting algorithms needs a comparator. So, it can sort objects as well. Replace
Array.sort
formergesort
insrc/algorithms/knapsack-fractional.js
Install fswatch http://emcrisostomo.github.io/fswatch/usage.html
# Watch for changes brew install fswatch
Watch for changes in *.js and *.adoc
fswatch /Users/admejiar/Code/algorithmsJS/src/**/*.js /Users/admejiar/Code/algorithmsJS/**/*.adoc | xargs -n1 -I{} make pdf
Some notes while working on this project
Running one test without changing file
jest -t '#findNodeAndParent'
Running one test changing code
it.only('should return with an element and its parent',()=>{// ...});
Getting some (200k+) English words are useful for testing and benchmarking.
cat /usr/share/dict/words > benchmarks/dict.txt
Disabling ESLints
somthing(t)=>1// eslint-disable-line no-unused-vars// eslint-disable-next-line no-use-before-defineconstthing=newThing();/*eslint-disable *///suppress all warnings between commentsalert('foo');/*eslint-enable *//* eslint-disable no-alert, no-console */alert('foo');console.log('bar');/* eslint-enable no-alert */