Как стать автором
Обновить
84
0
Владимир Коровин @vakorovin

Разработчик

Отправить сообщение

Опьяняющая сила Composer Plugins

Время на прочтение6 мин
Количество просмотров12K
Composer — это самый важный инструмент в наборе современного PHP-разработчика. Времена ручного управления зависимостями остались в далеком прошлом, и их место заняли такие замечательные вещи как Semver. Вещи, которые помогают нам спать по ночам, ведь мы можем обновлять наши зависимости не обрушивая все вокруг.
neanderthal smashing rocks

Хоть мы и используем Composer довольно часто, не все знают о том, как расширить его возможности. Такая мысль даже не возникает, ведь он и так делает свою работу хорошо по-умолчанию, и кажется, что это не стоит времени или усилий, чтобы попытаться или хотя бы изучить. Даже в официальной документации обходят стороной этот вопрос. Наверное, потому что никто не спрашивает…

Однако, недавние изменения сделали разработку плагинов для Composer намного легче. Сам же Composer также недавно перешел из альфа-версии в бету, пожалуй, это самый консервативный цикл релизов из когда-либо задуманных. Этот инструмент, который изменил современный PHP-мир, сделал его таким, каким мы видим его сейчас. Этот краеугольный камень профессиональной разработки PHP. Он просто перешел из альфы в бету.

Итак, сегодня я подумал, что мне бы хотелось исследовать возможности composer-плагинов, и по ходу дела создать немного свежей документации.

Вы можете найти код этого плагина на Github.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии10

Правильная работа с датой и временем

Время на прочтение12 мин
Количество просмотров148K
Практически все проекты сталкиваются с проблемами, вызванными неправильной обработкой и хранением даты и времени. Даже если проект используется в одном часовом поясе, все равно после перехода на зимнее/летнее время можно получить неприятные неожиданности. При этом мало кто озадачивается реализацией правильного механизма со старта, потому что кажется, что с этим проблем быть не может, так как все тривиально. К сожалению, в последствии реальность показывает, что это не так.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии29

Кризис ожирения сайтов

Время на прочтение30 мин
Количество просмотров123K
Примечание переводчика: визит под кат этого поста означает большие объёмы потреблённого трафика. И это иронично, если учесть поднятую тему. Но всё сразу встаёт на свои места, если помнить, что в оригинале это было выступление в прошлом ноябре в Сиднее длиной почти в час. Чтение поста занимает куда меньше времени. В форме видеозаписи (1280×720) речь занимает два гигабайта. Пост же занимает всего лишь 12 МиБ. Рекомендуется просмотр на широких мониторах.



Перед началом тирады я хотел бы обратить внимание на то, что прекрасные сайты бывают любых форм и размеров. И я здесь не собираюсь кого-то пристыживать за количество использованных бит, объём использованных ресурсов и так далее. Я люблю большие сочные галереи изображений, мне нравятся огромные эксперименты на JavaScript, я смотрю онлайн-видео в высоком разрешении, как и все вы. Я считаю, что подобное замечательно.

Выступление совсем не об этом. Я хотел бы поговорить об этом общественном кризисе здоровья, этом ожирении сайтов. Отличные дизайнеры, которые задумываются о вебе как я или даже больше, почему-то делают страницы, которые становятся больше. Речь пойдёт о текстовых в своей основе сайтах, которые по каким-то непостижимым причинам с каждым годом становятся всё больше и больше.
Читать дальше →
Всего голосов 97: ↑93 и ↓4+89
Комментарии123

Pathfinding: До одури простая реализация алгоритма воронки (Funnel Algorithm)

Время на прочтение3 мин
Количество просмотров19K


Алгоритм воронки — это простой алгоритм поиска наипростейшего пути, проходящего через «порталы». Наиболее подробное описание можно найти по ссылке Efficient Triangulation-Based Pathfinding (2)
Здесь же этот алгоритм будет реализован до одури просто. Вместо использования очередей и прочих очешуительных вещей, наша простейшая реализация перезапускает цикл каждый раз, когда обнаруживает очередной угол. Это значит, что некоторые порталы будут опрашиваться таки чаще, чем должны были бы, тем не менее, делая реализацию всяко проще.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии11

Передовой опыт Android-разработки

Время на прочтение19 мин
Количество просмотров73K
Нам бы хотелось поделиться с вами опытом, который мы, в Futurice, получили, разрабатывая Android-приложения. Надеемся, эти советы уберегут вас от создания собственных велосипедов. Если вы интересуетесь iOS или Windows Phone разработкой, обратите внимание на соответствующие документы на нашем сайте.
Читать дальше →
Всего голосов 39: ↑32 и ↓7+25
Комментарии31

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Время на прочтение26 мин
Количество просмотров1.1M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

Если вы пишите запросы на языке T-SQL, но плохо понимаете откуда берутся данные, то стоит прочитать данный перевод.
Если же вы захотите знать больше, то в конце перевода я даю тройку книг с которых следует двигаться дальше.

Перейти к чтению
Всего голосов 40: ↑37 и ↓3+34
Комментарии44

Я хочу, чтобы сайты открывались мгновенно

Время на прочтение10 мин
Количество просмотров139K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


Я хочу, чтобы мой сайт открывался быстро
Всего голосов 130: ↑122 и ↓8+114
Комментарии87

Блок-схема выбора оптимальной методологии разработки ПО

Время на прочтение11 мин
Количество просмотров77K

Вступление


Как выбрать методологию? Зачастую, когда необходимо принять решение о выборе методологии в голове слишком много разнородной информации и тяжело понять, что именно лучше подойдёт для проекта. В данной статье я представляю блок-схему выбора оптимальной методологии, как некую подсказку, позволяющую обратить внимание на некоторые наиболее важные аспекты.


Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии14

Как на самом деле будет выглядеть рынок JavaScript в 2016 году

Время на прочтение9 мин
Количество просмотров42K
image


Сегодня на сайте Mashable появилась любопытная статья «Чтобы стать гуру программирования в 2016 году, достаточно освоить Javascript и переехать в Юту» о рынке труда разработчиков программного обеспечения. Данный материал формирует весьма превратную картину действительности, а потому давайте разбираться вместе.

Краткая предыстория. Я разработчик программного обеспечения и на протяжение нескольких последних лет мне доводилось неоднократно проводить собеседования с желающими пополнить ряды моих коллег. Кроме того, я обучал разработчиков JavaScript навыкам, благодаря которым они получали шикарную работу. У меня приличный опыт в сфере создания и консультирования многообещающих команд разработчиков и компании из списка Fortune 500.

Я также часто сотрудничаю с кадровыми агентствами, благодаря чему не понаслышке знаю, чего хотят самые высокотехнологичные компании в мире. Руководствуясь собственным опытом и тем, что рассказывают мои студенты, я могу с уверенностью заявить, что прекрасно понимаю структуру рынка труда JavaScript как снаружи, так и изнутри.
Читать дальше →
Всего голосов 34: ↑25 и ↓9+16
Комментарии57

IBM Swift Sandbox — веб-песочница со Swift для тех, кто хочет разобраться в языке программирования от Apple

Время на прочтение2 мин
Количество просмотров19K


Корпорация IBM уже довольно давно сотрудничает с Apple. Взаимодействие двух компаний касается многих сфер, и одна из них — программирование. Причем программирование на Swift. Дело в том, что корпорация Apple сделала исходный код языка программирования Swift открытым. А в Mobile Innovation Lab от IBM создали специальную песочницу для разработчиков, которые хотели бы познакомиться со Swift.

Благодаря открытию кода, разработчики, которые создают приложения для iOS, OS X и watchOS, могут без проблем обходить существовавшие ранее ограничения, дополняя многие функции при необходимости. Apple для привлечения широкой аудитории опубликовала достаточно массивную библиотеку различной документации, которая позиционируется как пособие для начинающих программистов. Стоит отметить, что лицензируется Swift под лицензией Apache 2.0. Эта лицензия позволяет использовать программное обеспечение для собственных целей, и платить Apple не требуется.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии1

Интерактивный глобус — SVG versus Canvas

Время на прочтение6 мин
Количество просмотров51K
Доброго времени суток, уважаемый читатель! В прошлый раз мы изучали процесс создания интерактивной карты-хороплета, теперь предлагаю немного усложнить задачу и перейти к трёхмерной модели Земли, именуемой в народе глобусом. Глобус делать будем двух видов: SVG версия и Canvas версия. В обоих случаях будем использовать JavaScript библиотеку d3.js. У каждого варианта свои преимущества. В моём исполнении Голубая планета выглядит следующим образом:

Планета Земля

А как создать свой собственный Мир с материками и океанами можно узнать под катом.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии20

Мега-контроллер. И ни в чём себе не отказывай

Время на прочтение6 мин
Количество просмотров40K
image

Сегодня я расскажу вам как можно «оторваться по полной» на ниве домашней автоматизации и получить ни с чем несравнимое удовольствие от процесса создания, настройки и эксплуатации своего Умного дома. Речь пойдёт о реконфигурируемом с точностью до одного пина микроконтроллере на 192 линии контроля/управления, масштабируемом и работающим под неким подобием операционной системы с полноценным веб-интерфейсом. Каждый такой контроллер может содержать сотни сайтов и таких контроллеров в вашей сети может быть сколько угодно. Похоже, будущее уже наступило.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии20

Inotify или автоматизация рутинных операций с помощью incron

Время на прочтение3 мин
Количество просмотров45K
До сих пор на хабре еще никто не упоминал о такой удобной подсистеме ядра linux, как inotify и использовании ее в автоматизации работы системного администратора. Хотелось бы восполнить этот пробел.

Что такое inotify


Inotify — это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе. Т.е. простыми словами — эта штука дает нам информацию о создании или изменении любого файла или директории в используемой файловой системе.
Inotify появилась в ядре аж в версии 2.6.13 и прошла проверку временем. Для ее использования написано несколько утилит, работу с одной из которых мы и рассмотрим.
Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии51

Зимняя стажировка для разработчиков в Redmadrobot

Время на прочтение2 мин
Количество просмотров13K
image
Привет, Хабр! Мы открываем набор на вторую стажировку для разработчиков в Redmadrobot. Старт — в середине января.
Интересно? Подробности под катом.
Всего голосов 19: ↑14 и ↓5+9
Комментарии17

Пошаговый курс по созданию продающего Landing Page c нуля. Часть 3: Узнаем потребности клиентов и определяем выгоды

Время на прочтение8 мин
Количество просмотров18K


В первой части мы поговорили о посадочных страницах, трафике и как это работает. Во второй статье мы построили гипотезы и определили нашу целевую аудиторию. Сейчас будем выяснять для каждого аватара отличительные черты, потребности, проблемы, мотивацию, критерии выбора и дополнительные факторы. Чтобы подготовить продающую основу для текстов на будущий лендинг.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Sci-One. Неизвестные планеты других миров

Время на прочтение4 мин
Количество просмотров6.9K
Всем привет! Сегодня мы начинаем публиковать материалы проекта Sci-One, который снимается в нашем офисе. И первый пост будет про экзопланеты. Видео и краткую текстовую версию смотрите ниже. За сценарий отдельное спасибо Екатерине Лобурь.



Научно-технический прогресс — это почти всегда благо. «Почти» потому, что мы прекрасно могли бы обойтись без продвинутых военных арсеналов и спам-технологий. Это очевидно, но, кроме того, расширение наших знаний и возможностей лишает таинственности окружающий нас мир. Плохо ли это? Конечно, нет. Всегда лучше больше знать и уметь, а сторонники противоположной точки зрения вряд ли оставят свои побеги на древе эволюции. И всё же иногда кажется, что в старину, а тем более в древние времена мир был куда более занятным местом, ведь его населяли невероятные человеческие фантазии. Однако эпоха Великих географических открытий и торжество науки лишили нас подавляющего числа мифов, рождённых незнанием. Но свято место пусто не бывает — «I want to believe!», мы начали мечтать об инопланетянах, о жизни на других планетах.

До поры до времени наука не могла влезть в эту сферу со своими гадкими фактами и инструментальными измерениями. Но время идёт, и вот уже все эти люди с учёными степенями и жаждой познания начали находить планеты в иных звёздных системах. Всё с той же благой целью — узнать что-то новое о нашем мире. Что ж, нам остаётся наблюдать, как они постепенно срывают покровы и заполняют белые пятна. А заодно корректировать свои мечты в соответствии с новыми научными данными. Например, с обликом и условиями существования на экзопланетах.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

Светодиодные лампы из магазина Леруа Мерлен

Время на прочтение3 мин
Количество просмотров76K
Неделю назад я рассказал о свтетодиодных лампах из магазина Ашан. Напомню, я купил 48 ламп в Ашане и Леруа, протестировал их и вернул обратно в магазины.

Сегодня расскажу о 26 лампах из Леруа Мерлен.



Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии31

7 операционных систем, которые Вы можете запустить на Raspberry Pi

Время на прочтение4 мин
Количество просмотров345K
Предлагаю Вашему вниманию вольный перевод статьи James Bruce про 7 операционных систем, которые Вы можете запустить на Raspberry Pi.

Кто может поспорить с ценой компьютера в 40 долларов? Особенно, если он еще и отличная база для проектов в области электроники. Я не вижу конкурентов. Но само по себе железо — лишь одна сторона медали: необходима еще операционная система. Ниже я расскажу про 7 различных операционных систем, которые Вы можете установить на Raspberry Pi прямо сейчас. Небольшое замечание: не все представленные операционные системы являются полезными.

image
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии47

Проектирование в PostgreSQL документо-ориентированного API (Часть 1)

Время на прочтение5 мин
Количество просмотров18K
Данная статья является переводом, оригинальная статья находится вот здесь, автор Rob Conery.

Postgres, как многие знают, поддерживает JSON как тип хранения данных, а с выходом 9.4, Postgres теперь поддерживает хранение JSON в виде jsonb — бинарного формата.

Это прекрасные новости для тех, кто хочет шагнуть дальше простого «хранения JSON как текста». jsonb теперь поддерживает индексирование с использованием GIN индекса, а также имеет специальный оператор запросов, который позволяет получить преимущества GIN индекса.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Как распознать кракозябры?

Время на прочтение1 мин
Количество просмотров427K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Всего голосов 429: ↑418 и ↓11+407
Комментарии64

Информация

В рейтинге
Не участвует
Откуда
Конаково, Тверская обл., Россия
Дата рождения
Зарегистрирован
Активность