Как стать автором
Обновить
438
0
Антон Шевчук @AntonShevchuk

Пользователь

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

Netgear Universal WiFi Internet Adapter WNCE2001, или как из любого Ethernet на бытовом устройстве сделать WiFi 802.11n

Время на прочтение4 мин
Количество просмотров32K
Обзор некоторых железок должен выглядеть примерно так: «Работает. Серьезных недостатков не имеет. Цена такая-то. Рекомендую». Ну и фотография коробки, чтобы в магазине не промахнуться. Так бы, наверное, и написал о сегодняшнем агрегате, но, боюсь, серьезные парни такую лаконичность не оценят, а для несерьезных писать скучно. Поэтому изложу эти тезисы чуть подробнее – для пущей их ясности.

Итак, у меня на кухне висит телевизор Acer. Простенький такой, 19-дюймовый, с разрешением 1440х900. На нем ребенок во время принятия пищи смотрит мультфильмы, ну и жена на них тоже поглядывает. Конечно, тот ужас-ужас, который идет по эфирным телеканалам, мы ребенку стараемся не показывать. От греха. Поэтому сзади телевизора приклеен на двусторонний скотч плеер WD TV Live, а в него воткнуто две флэшки. И вот с них-то и идет на экран всякое, вроде «Тачек» или «Простоквашино». Разумеется, все это записано в DVD-разрешении, и до поры нам всем всё нравилось. Но вот однажды угораздило меня добыть абсолютно лицензионный (мимо проходи, РАО, мимо) рип пиксаровских «Тачек» в Full HD. Включил я его на телевизоре и, знаете ли, ошалел. Вроде и диагональ маленькая, и разрешение у матрицы не дотягивает до Full HD, но картинка стала настолько лучше, что возвращаться на SD категорически не захотелось.

Netgear WNCE2001
Читать дальше →
Всего голосов 67: ↑60 и ↓7+53
Комментарии68

Коллекции иконок? Легко! Тысячи иконок в сетах.

Время на прочтение2 мин
Количество просмотров39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Всего голосов 156: ↑134 и ↓22+112
Комментарии36

HL7 — электронный медицинский документооборот

Время на прочтение8 мин
Количество просмотров44K
В рамках одного исследования возникла потребность в описании стандарта электронного медицинского документооборота HL7. Как результат появилась эта статья. Делюсь с хабра-сообществом, надеюсь будет интересно.

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

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии8

Руководство по собеседованию на вакансию PHP-программиста

Время на прочтение22 мин
Количество просмотров254K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Всего голосов 96: ↑73 и ↓23+50
Комментарии107

Ускоряем PHP (с ReactPHP)

Время на прочтение11 мин
Количество просмотров81K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии64

Веб-производительность: как Swish.com стал на 40% быстрее

Время на прочтение7 мин
Количество просмотров13K
Пользователи не любят ждать. Исследование за исследованием демонстрирует, что скорость работы сайта существенно влияет на посетителей: у медленных сайтов визиты короче, страниц пользователи просматривают меньше и даже покупки на медленных сайтах совершают реже. Каждый владелец сайта должен со всей серьезностью относиться к его производительности, поскольку она существенно влияет на бизнес-результаты.

Мы рады сообщить, что тестировать производительность сайтов стало проще, благодаря новым инструментам F12, предназначенным для поиска и исправления связанных с ней проблем. В этом кейсе мы использовали сканер Modern.ie и профилировщик UI из нового набора F12 в IE11. Мы показали эти инструменты разработчикам из команды swish.com, чтобы узнать, как популярный сайт может их использовать для оптимизации работы типичных сценариев его использования. Результат – загрузка сайта стала на 2 секунды быстрее: рост производительности на 40% благодаря нескольким простым изменениям в коде.



Важно отметить, что проблемы с производительностью сайта, в большинстве случаев, проявлялись одинаково во всех браузерах. Практически все современные браузеры производили одни и те же операции. Хорошие инструменты для веб-разработчиков просто помогают найти узкие места и повысить общую производительность. Произведенные улучшения помогут ускорить работу сайта во всех браузерах, а не только в Internet Explorer.

Как мы это сделали
Всего голосов 41: ↑25 и ↓16+9
Комментарии28

Структуры данных, PHP

Время на прочтение9 мин
Количество просмотров84K
Данный пост является переводом и предназначен для новичков. Ну или для тех, кто забыл лекции с начальных курсов своих вузов. Скорее всего, данный материал уже попадался на хабре в той или иной модификации, но здесь упор на PHP и его особенности.

Структуры данных или Абстрактный Тип Данных (ADT) — это модель, определенная как некий набор операций, которые могут быть применены к самой себе и ограничена тем, какой результат дают эти операции.
Большинство из нас сталкиваются со стеком и очередью в повседневной жизни, но что общего между очередью в супермакете и структурой данных? В этом мы и попробуем разобраться в данной статье, где также будут описаны деревья.

http://www.thisiscolossal.com/2013/01/a-wooden-domino-tree-by-qiu-zhijie/



UPD: s01e02

Осторожно, трафик! Очень много текста!
Всего голосов 57: ↑44 и ↓13+31
Комментарии17

Еще немного о миграциях. Версия для PHP

Время на прочтение6 мин
Количество просмотров7K
Вольно цитируя вступление к соответствующей статье на RailsGuides,
Миграции — это удобный способ управления структурой и изменениями схемы БД.
Конечно, можно вести дела по старинке, оперируя множеством SQL-файлов, или, о ужас!, редактируя куски SQL-кода в одном большом файле, который представляет собой актуальную схему БД.

Однако следить за этими изменениями, начиная с некоторого момента, становится очень сложно, не говоря уже о применении соответствующих изменений на продакшен-машине: тут нужно обладать ловкостью гепарда, силой медведя и мудростью всех восточных мудрецов, вместе взятых, чтобы все сделать правильно и ничего не уронить.
Но как быть, если Вы не обладаете какими-либо из вышеперечисленных качеств? Правильно, нужно систематизировать и автоматизировать процесс, переложив большую часть работы на машину.

Если Вы уже заинтересовались, или все еще не уверены, но перспектива иметь прозрачную историю изменений и возможность с помощью одной-двух консольных команд откатиться на любою версию схемы, звучит заманчиво, прошу под кат.
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии21

О тонкостях работы foreach в PHP

Время на прочтение9 мин
Количество просмотров60K
В недавнем дайджесте интересных ссылок о PHP я обнаружил ссылку на комментарий Никиты Попова на StackOverflow, где он подробно рассказывает о механизме «под капотом» управляющей конструкции foreach.
Поскольку foreach действительно иногда работает более, чем странным образом, я счел полезным сделать перевод этого ответа.


Внимание: этот текст подразумевает наличие базовых знаний о функциональности zval'ов в PHP, в частности вы должны знать что такое refcount и is_ref.
foreach работает с сущностями разных типов: с массивами, с простыми объектами (где перечисляются доступные свойства) и с Traversable-объектами (вернее, объектами, у которых определен внутренний обработчик get_iterator). Здесь мы, в основном, говорим о массивах, но я скажу и об остальных в самом конце.

Прежде чем приступить, пара слов о массивах и их обходе, важная для понимания контекста.

Как работает обход массивов
Всего голосов 86: ↑74 и ↓12+62
Комментарии56

Фильтр Блума на PHP

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

Что это?


Википедия гласит:
Это вероятностная структура данных, придуманная Бёртоном Блумом в 1970 году, позволяющая компактно хранить множество элементов и проверять принадлежность заданного элемента к множеству. При этом существует возможность получить ложно-положительное срабатывание (элемента в множестве нет, но структура данных сообщает, что он есть), но не ложно-отрицательное.



А попроще


Это способ проверки существования элемента в огромной выборке.
как это работает?
Всего голосов 43: ↑38 и ↓5+33
Комментарии23

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2

Время на прочтение15 мин
Количество просмотров124K
(Окончание перевода статьи Эдди Османи о сравнении и выборе библиотеки для проекта со значительной ролью JS на клиенте.)
Содержание первой части:

■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
Читать дальше →
Всего голосов 87: ↑78 и ↓9+69
Комментарии18

Coroutines в PHP и работа с неблокирующими функциями

Время на прочтение18 мин
Количество просмотров80K
Одним из самых больших нововведений в PHP 5.5 будет поддержка генераторов и корутин (сопрограмм). Генераторы уже достаточно были освещены в документации и в нескольких других постах (например в этом или в этом). Сопрограммы же получили очень мало внимания. Это гораздо более мощный, но и более сложный для понимания и объяснения, инструмент.

В этой статье я покажу как реализовать планировщик задач с использованием корутин, чтобы вы поняли, что с ними можно делать и как их применять. Начнем с нескольких вступительных слов. Если вы считаете, что вы уже достаточно хорошо знаете как работают генераторы и корутины, тогда можете сразу перейти к разделу «Совместная многозадачность».

Генераторы


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

Конвертация Word-документов на php используя COM (windows+apache)

Время на прочтение2 мин
Количество просмотров8.8K
Доброго времени суток Хабр!
Хочу немного рассказать о том, что нужно сделать при использования COM объекта для конвертирования файлов word в какой-нибудь из доступных форматов. Сам столкнулся со множеством проблем, облазил много форумов, русских мануалов практически нет. Решил написать, больше для себя, но вдруг кому-то еще пригодится?
Читать дальше →
Всего голосов 14: ↑7 и ↓70
Комментарии10

Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

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


На этот пост меня вдохновило исследование потребления памяти для моего текущего большого проекта на ZendFramework. Как обычно, по результатам исследования, я был шокирован нашей программистской самонадеянностью, которая нередко присутствует, когда мы пишем что-либо большое на PHP. Да и, наверное, не только на PHP.

Но обо всём по порядку.

Данная статья является логическим продолжением следующих статей:

Подробности
Всего голосов 81: ↑64 и ↓17+47
Комментарии49

Standard PHP Library (SPL) — Часть 1: Структуры данных

Время на прочтение5 мин
Количество просмотров65K
Привет, Хабр! В данной статье речь пойдет про Standard PHP Library (SPL). На хабре до сих пор нет толкового мануала об этой библиотеке, которая уже стала частью ядра PHP (с версии 5.3). Данная библиотека содержит набор интерфейсов, классов структур данных, итераторов и функций, с помощью которых можно значительно упростить себе жизнь и повысить качество кода. В данной статье я рассматриваю такую часть библиотеки, как структуры данных. Также я покажу альтернативные решения поставленных задач и сравню скорость выполнения в обоих случаях.

Подробнее
Всего голосов 66: ↑56 и ↓10+46
Комментарии38

PHP + BDD = Behat, или сказ о чудо-библиотеке

Время на прочтение8 мин
Количество просмотров40K
Каждый, кто всерьез занимался разработкой на Ruby, знает про замечательный гем Cucumber. Вкратце — это библиотека для автоматизированного тестирования, заточенная под BDD. Подробнее можно почитать в топике хабраюзера dapi, а еще лучше посмотреть подкаст от Райна Бэйтса. Основная прелесть «огурца» состоит в том, что он позволяет писать тесты на понятном человеку языке, и даже не обязательно английском. Выглядит это так:

Feature: Addition 
  In order to avoid silly mistakes 
  As a math idiot 
  I want to be told the sum of two numbers 

  Scenario: Add two numbers 
    Given I have entered 50 into the calculator
      And I have entered 70 into the calculator
     When I press add
     Then The result should be 120 on the scree

Благодаря Cucumber я подсел на BDD на рельсах. Но вот на PHP, с которым приходится работать основную часть времени, отношения с BDD как-то не сложились. И в первую очередь из-за отсутствия достойного инструментария. Но однажды судьба завела меня на страницу библиотеки Behat (написанной, кстати говоря, хабраюзером everzet). И на меня свалилось счастье…
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии42

Продуктивное использование PHPStorm

Время на прочтение7 мин
Количество просмотров327K
В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?
Всего голосов 120: ↑117 и ↓3+114
Комментарии124

Красивые чекбоксы и радиокнопки на CSS3 без JavaScript

Время на прочтение1 мин
Количество просмотров117K
Благодаря псевдоклассу :checked, появившемуся в CSS3, можно стилизовать формы с чекбоксами и радиокнопками как угодно. В этом топике рассмотрен один очень простой способ, причем без использования JavaScript.



Демонстрация Скачать исходники
Читать дальше →
Всего голосов 91: ↑80 и ↓11+69
Комментарии89

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →
Всего голосов 248: ↑243 и ↓5+238
Комментарии58

Информация

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