Никогда не используйте NULL
2016-05-19 04:33:10
Когда мы вместе с клиентами проводим код-ревью, регулярно наблюдаем одну и ту же картину, которую я ...
+ развернуть текст сохранённая копия
Когда мы вместе с клиентами проводим код-ревью, регулярно наблюдаем одну и ту же картину, которую я считаю проблематичной во многих отношениях – использование null в качестве допустимого свойства или возвращаемого значения. Можно же сделать лучше. Давайте сперва посмотрим общие сценарии использования, а затем обсудим, как можно улучшить код, чтобы сделать его более устойчивым к ошибкам …
Тэги:
php,,
ооп,,
паттерны,,
переводы,
программирование,
статьи
Фундамент масштабируемости javascript приложения
2016-05-18 13:27:41
"Если хочешь идти быстро — иди один. Если хочешь идти далеко — идите вместе." ...
+ развернуть текст сохранённая копия
"Если хочешь идти быстро — иди один. Если хочешь идти далеко — идите вместе." (с)
С этой лирической строки в данной статье я буду рассуждать о том, как правильно организовать код в вашем приложении, чтобы оно могло расти в высоту и в ширь. Если вы хотите, чтобы продукт вашей мозговой активности был мощнее, чем у ваших конкурентов, то вам неизбежно придется приглашать новых программистов в вашу команду. А если не положить вектор масштабируемости, то порывы энтузиазма через год превратятся в лапшу-код и командная работа превратит каждого сотрудника от злости в маленького сатану.
Так вот… Для того, чтобы ваши бойцы чувствовали себя комфортно вместе в одном проекте, надо чтобы они не мешали друг другу и писали свои буквы в разных не пересекающихся участках кода. Для этого им нужно будет писать "Самостоятельные" компоненты.
Читать дальше →
Тэги: javascript, веб-сайтов, приложений, программирование, проектирование, разработка, рефакторинг
Городской хакатон 2ГИС в Москве
2016-05-18 09:20:47
+ развернуть текст сохранённая копия
После крутого хакатона в Новосибирске мы решили устроить ещё один — в Москве. Тема та же — «Продукты для комфортной жизни в городе».
Приглашаем бекенд-разработчиков, фронтендеров, мобильных разработчиков, дизайнеров и менеджеров в наш офис на «Арме». Хакатон пройдёт с 17 по 19 июня. Регистрируйтесь со своей идеей или присоединяйтесь к заявленным проектам.
Подробнее про хакатон
Тэги: 2гис, блог, веб-сайтов, компании, программирование, разработка, хакатон
Многопоточные вычисления в PHP: pthreads
2016-05-17 09:22:51
Недавно я попробовал pthreads и был приятно удивлен — это расширение, которое добавляет в ...
+ развернуть текст сохранённая копия
Недавно я попробовал pthreads и был приятно удивлен — это расширение, которое добавляет в PHP возможность работать с несколькими самыми настоящими потоками. Никакой эмуляции, никакой магии, никаких фейков — все по-настоящему.
Я рассматриваю такую задачу. Есть пул заданий, которые надо побыстрее выполнить. В PHP есть и другие инструменты для решения этой задачи, тут они не упоминаются, статья именно про pthreads.
Стоит отметить, что автор расширения, Joe Watkins, в своих статьях предупреждает, что многопоточность — это всегда не просто и надо быть к этому готовым.
Кто не испугался, идем далее.
Читать дальше →
Тэги: php, pthreads, параллельное, программирование
[Перевод] Уменьшаем размер публикуемых npm модулей
2016-05-16 11:31:54
+ развернуть текст сохранённая копия
По умолчанию npm публикует в registry весь модуль целиком. За исключением явно указанных в .gitignore файлов. Это отбрасывает зависимости, но все равно позволяет куче не очень нужных файлов просочиться в опубликованное. После чего благодарные пользователи ждут, пока все это скачается. Для grunt, кстати, ждать придется порядка 6 мегабайт. А он такой обычно не один.
Я решил разобраться, как измерить размер своих модулей после публикации и, по возможности, этот размер уменьшить. В качестве примера буду использовать модуль check-more-types, который содержит всего несколько файлов. Плюс юнит тесты и документацию, которая собирается в README markdown файл.
Читать дальше →
Тэги: git, javascript, node.js, npm, voximplant, блог, веб-сайтов, компании, программирование, разработка