- Annotate types and functions/methods with JSDoc
- Closure Compiler syntax is also accepted
- Use plugin for Babel: https://github.com/azu/babel-plugin-jsdoc-to-assert
16 янв. 2017 г.
Run-time assertions for JSDoc @param and @type tags in Babel
17 нояб. 2016 г.
Windows + Node + IRHydra2
1. Create somewhere in %PATH% cmd file node-irhydra.cmd with
node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --print-opt-code --trace_hydrogen_file=hydrogen.cfg %*
2. Run node-irhydra.cmd yourFile.js
3. Go to http://mrale.ph/irhydra/2/ and upload files
node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --print-opt-code --trace_hydrogen_file=hydrogen.cfg %*
2. Run node-irhydra.cmd yourFile.js
3. Go to http://mrale.ph/irhydra/2/ and upload files
8 сент. 2016 г.
15 апр. 2016 г.
How to handle big repositories with git
Shallow clone
Clone a repository keeping only the latest n commits of history. You can properly pull and push to repositories even from a shallow clone.git clone --depth 1 remote-url
Clone only one branch
You can also limit the amount of history you clone by cloning a single branchgit clone URL --branch branch_name --single-branch [folder]
Sparse checkout
Original StackOverflow answermkdir <repo>
cd <repo>
git init
git remote add -f origin <url>git config core.sparsecheckout trueecho "some/dir/" >> .git/info/sparse-checkout
echo "another/sub/tree" >> .git/info/sparse-checkoutgit pull origin master
Another way:
git clone
git config core.sparsecheckout true
echo src/ > .git/info/sparse-checkout
git read-tree -m -u HEAD
Sparse checkout + shallow clone
Original StackOverflow answergit init <repo>
cd <repo>
git remote add origin <url>
git config core.sparsecheckout true
echo "src/*" >> .git/info/sparse-checkout
git pull --depth=1 origin master
Disable delta compression for binary files
Original discussionConfigure a .gitattributes file as such:
*.jpg binary -delta *.png binary -delta *.psd binary -delta... and so on
4 апр. 2016 г.
Premature optimization
Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Knuth, "Structured Programming with Goto Statements". Computing Surveys 6:4 (December 1974), pp. 261–301, §1.
1 нояб. 2015 г.
Как разводить гремлинов
Классы ошибок, обнаруживаемые с помощью gremlins.js:
- Ошибки вёрстки. Гремлину scroller иногда удаётся проскроллить совершенно неожиданные элементы страницы/приложения и загнать элементы интерфейса далеко за пределы видимой области. Обнаруживается визуально.
- Reflow/repaint performance. После некоторых действий пользователя FPS может упасть из-за неидеальной вёрстки (scroll или незначительное изменение стиля ведёт к полному reflow документа и repaint всей видимой области) или объёмных вычислений в JavaScript (например, dirty checking в Angular-приложении). При падении FPS ниже 10 в консоли выдаётся сообщение.
- Ошибки concurrency. Некоторые действия приложение может выполнять асинхронно, например, в интерфейсе с несколькими вкладками при переключении между ними такие действия, как отсылка запроса на сервер, очистка неактивной вкладки, создание объектов активной вкладки, обработка ответа сервера, отрисовка содержимого активной вкладки, переключение заголовков вкладок в принципе могут выполняться в разные моменты времени. Если кликать не спеша, с паузами, то порядок действий практически никогда не нарушится. Такие гремлины, как clicker, помогают обнаружить ошибки, если интервал между кликами становится сравним с интервалами между асинхронными действиями, и порядок выполнения кода может сломаться.
- Ошибки алгоритмов/бизнес-логики. Гремлины formFiller и clicker могут вводить данные и нажимать на кнопки в совершенно непредсказуемой последовательности, и у какой-нибудь сложной валидации данных от этого может сорвать крышу.
24 окт. 2015 г.
High CPU use when Windows 8.1 user name contains "user"
https://support.microsoft.com/en-us/kb/3053711
This bug made my day.
This bug made my day.
Подписаться на:
Сообщения (Atom)