Author Archives: bullgare

Как Github логирует клиентские ошибки (Haystack)

http://githubengineering.com/browser-monitoring-for-github-com/ Ничего сверхнового в идеях нет, есть наглядная картинка:

Ещё одна конвертилка картинок в base64

http://b64.io/

Принципы SOLID с примерами на php

Из книги Robert Martin «Clean Architecture» Принцип единственной ответственности (Single responsibility) Каждый модуль системы должен иметь только одну причину для изменения === одного владельца (команду). Принцип открытости/закрытости (Open-closed) Система должна легко изменяться добавлением нового кода, а не изменением существующего. Принцип подстановки Барбары Лисков (Liskov substitution) Части программы должны быть взаимозаменяемы, если они реализуют один и …

Read more

Css: высота элемента в 100% — 100px

Да, `calc`-ом оно делается ровно так (`100%-100px`). Но его не все браузеры до сих пор умеют, так что вот ещё один способ: <body> <div class=»header»></div> <div class=»main»></div> </body> body { width: 100%; height: 100%; margin: 0; padding: 0; } .header { width: 100%; height: 100px; background-color: blue; box-sizing: border-box; padding: 0; } .main { position: …

Read more

Логирование времени загрузки страниц в piwik

В продолжение темы логирования ошибок в пивик. Неплохо было бы логировать в ту же систему и время загрузки страницы у реальных пользователей. Для этого в упомянутый в предыдущей статье логгер нужно добавить следующее: function logTimings() { setTimeout(function () { if (! window.performance || ! window.performance.timing) { return; } var timing = window.performance.timing; var perf = …

Read more

Про нормализацию данных в базе

Набрёл на перевод про третью нормальную форму (ссылка в конце). Перевод вроде бы неплохой. Далее цитата. Нормализация базы данных Попала в руки одна замечательная книжка — PHP 6 and MySQL 5 for Dynamic Web Sites , за авторством Larry Ulman. В целом, книга расчитана на новичков — середнячков, но затрагиваются и довольно серьёзные вещи, при …

Read more

Реализация определения размера устройства в AngularJS

Идея описана здесь — https://blog.bullgare.com/2013/12/%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%B8%D0%BF%D0%B0-%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0-%D0%B2-js-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-media/. Т.е. через `media-queries` задавать параметры, которые определят размеры устройства, по этим параметрам менять `z-index`. Затем создать в `js`-файле такой элемент скрытым и считывать его `z-index` в любой момент. Особенно это удобно делать в `css`-препроцессорах, чтобы параметризовать параметры `media-queries`. Тогда изменения внешнего вида сайта через `css` будут происходить одновременно с изменением …

Read more

AngularJS-приложение на TypeScript

Большую часть видео рассказывают о том, что вообще такое TypeScript, а примеры с AngularJS начинаются на 16-17 минуте. https://youtu.be/U7NYTKgkZgo В конце видео есть ссылки на код на гитхабе. Вот они: https://github.com/DanWahlin/AngularIn20TypeScript https://github.com/DanWahlin/AngularIn20JavaScript https://github.com/DanWahlin/AngularTypeScript

Benchpress: автоматическое тестирование производительности AngularJS-компонент

Использование для своего приложения https://youtu.be/e6J_JZaIOAQ Что это такое и как используется для разработки AngularJS core https://youtu.be/x1PJn5qMUT4

Логирование js-ошибок в piwik (аналог google analytics)

Piwik — аналог google analytics, который ставится на свой домен. Копирует апи google analytics, так что всё описанное можно с небольшими изменениями применить и при использовании google analytics.