Category Archives: Programming
Как работает javascript — описание принципа асинхронного исполнения
Недавно спрашивали, чем отличается асинхронное программирование от многопоточного. Если коротко — в javascript один поток (и использует он только одно ядро), но при этом может выполняться несколько различных действий одновременно. Это связано с тем, что javascript основан на событийной модели исполнения, и там, где остальные языки ждут ответа (от файловой системы, от базы данных, от …
Как написать приложение Google Chrome на AngularJS
http://www.ng-newsletter.com/posts/chrome-apps-on-angular.html
Подгрузка новых данных при скролле в AngularJS
Нужно показывать достаточно длинный (но не бесконечный) список фотографий, о котором известно, что в зависимости от разрешения фото могут показываться по одной или по две в ряд. Делается это только на одном экране, а не во всем приложении (т.е. надо снимать обработчики событий и навешивать их снова при заходе на нужный экран). Да, и еще …
Прототипы быстрее фабричных фунций
Dan Tao : The prototype is your friend (if you care about perf) — https://coderwall.com/p/jj6fwa Очередная статья о том, почему использование прототипов лучше при больших нагрузках. Но лично мне ближе фабрики. И узким местом, требующим внимания, я такие вещи не считаю.
requestAnimationFrame
requestAnimationFrame удобен для группировки изменений DOM-структуры. В том числе между различными модулями. Позволяет избежать «layout thrashing». Работает как callback. Описание — https://developer.mozilla.org/ru/docs/DOM/window.requestAnimationFrame Пример использования и библиотека-обёртка — http://wilsonpage.co.uk/preventing-layout-thrashing/
Статья про Web Notifications
http://www.inserthtml.com/2013/10/notification-api/
Wysiwyg-редактор на AngularJS
http://textangular.com/
Функции анимации по кривым Безье
http://easings.net/ru — хорошо описаны различные функции анимации css-свойств с демонстрацией. animation
Захват данных с камеры в мобильных браузерах
http://dev.opera.com/articles/view/media-capture-in-mobile-browsers/ Всё сводится к
1 |
<input type="file" accept="image/*" capture="camera"> |
Но на практике есть одно «но»: при этом на андроидах 4.х нет возможности выбрать фото из галереи. Для того, чтобы эту возможность оставить, нужно убрать атрибут capture:
1 |
<input type="file" accept="image/*"> |
Обстоятельно про scope в AngularJS
https://github.com/angular/angular.js/wiki/Understanding-Scopes