Category Archives: javascript
Voronoi algorithm
Использование алгоритма Вороного в javascript. Смотреть с 10 минут. http://youtu.be/90NsjKvz9Ns?t=10m15s Ссылки: http://cgm.cs.mcgill.ca/~mcleish/644/Projects/DerekJohns/Sweep.htm http://philogb.github.io/blog/assets/voronoijs/voronoi.html (http://philogb.github.io/blog/2010/02/12/voronoi-tessellation/) https://code.google.com/p/javascript-voronoi/ https://github.com/mikolalysenko/voronoi-diagram https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D0%BB%D0%B0 (ликбез по параболе) http://habrahabr.ru/post/110790/ http://www.cs.princeton.edu/~edwardz/voronoi/voronoi.html http://www.devforrest.com/examples/voronoi/ http://www.ams.org/samplings/feature-column/fcarc-voronoi https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B5%D0%B3%D0%BE_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B0 http://strongriley.github.io/d3/ex/voronoi.html http://www.raymondhill.net/voronoi/rhill-voronoi-demo3.php
Service Worker
Новый свежий тип воркеров. Полностью контролирует сетевые соединения на javascript-уровне. Описание на MDN — https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Service_worker_API_reference https://www.google.com/events/io/io14videos/41ed1ef6-d6b9-e311-b297-00155d5066d7
phridge — phantomjs bridge к node.js для высокой скорости
Основная фишка — в том, что между запросами PhantomJs не убивается, а используется повторно. Учитывая, что запуск процесса занимает примерно секунду, производительность должна сильно вырасти. https://github.com/peerigon/phridge/blob/master/README.md Ну а нужно это для генерации на бэкенде страниц для поисковиков для одностраничных приложений.
Тестирование AngularJS с помощью Protractor
http://teamgaslight.com/blog/getting-started-with-protractor-and-page-objects-for-angularjs-e2e-testing Protractor — замена karma.js, который замена testacular
PageSpeed для локальных ресурсов, используя ngrok
http://www.jamescryer.com/2014/06/12/grunt-pagespeed-and-ngrok-locally-testing/ https://ngrok.com/
Как сделать свой chrome extension
manifest.json должен выглядеть примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ "manifest_version": 2, "name": "Jira print extension", "description": "This extension is to print tasks in Jira", "version": "1.0", "background": { "scripts": ["background.js"] }, "permissions": [ "tabs", "https://*/*", "http://*/*" ], "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "content_scripts": [ { "matches": ["http://*/*", "https://*/*"], "js": ["libs/jquery.js", "content.js"] } ] } |
При этом: background.js крутится всегда и один для всего браузера, умеет только слать сообщения на разные слои и слушать их. content.js (всё, что указано в content_scripts) имеет доступ к DOM и может слушать сообщения от background.js. popup.html открывается при нажатии на кнопку расширения в панельке, обычный html, должен содержать …
AngularJS: сервис компиляции (интерполяции) шаблонов
Нужно было сделать объектов через шаблоны и отдавать дальше, не в AngularJS. Сделал для этого службу
Лоадер страницы на javascript
http://github.hubspot.com/pace/
Как работать с bower
Тут первые 15 мнут рассказывается про то, как внедрить в проект bower http://youtu.be/1rz334A8U7o
AngularJS: таймеры и одностраничные приложения
Иногда бывает нужно делать какие-то действия по таймеру, иногда даже постоянно. При переходе на экран в соответствующем контроллере стартует функционал, связанный с периодичными действиями (таймауты или интервалы, которые, конечно же, лучше никогда не использовать). При уходе на другой экран надо не забыть очистить таймеры, чтобы не было утечек памяти и ненужных запросов к серверам или …