Как стать автором
Обновить
14
0
Антон Лебедев @lebster

Software Engineer

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

В софте всё восхитительно, но все недовольны

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


Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже».

Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, пришедшие лишить нас счастья и памяти. Мобильные приложения стали прожорливее, чем старые операционные системы. А в самих операционных системах уже толком нет прогресса, но почему-то они продолжают разбухать в размерах. То ли дело было, когда люди умели уместить ОС на дискету!

Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов. А в итоге ситуация напоминает классическую речь Луи Си Кея «Everything's amazing and nobody's happy»: всё стало удивительно хорошо, а люди сидят и жалуются.

Поэтому решил описать эти упущенные факторы. Поскольку текст получился резким, хочу подчеркнуть, что мнение сугубо моё личное (хоть я и ссылаюсь на конференции компании, в которой работаю).
Всего голосов 145: ↑114 и ↓31+122
Комментарии1295

iTunes Music Store в России уже на стадии тестирования

Время на прочтение1 мин
Количество просмотров24K
Короткая, но многобещающая новость.

Сегодня некоторые заметили, что в iTunes изредка стал работать поиск по песням. Вместо сообщения о недоступности магазина в России появляются результаты с ценами в рублях. Купить пока нельзя (видимо, из-за того же тестирования), но, например, предварительное прослушивание работает.

Цены, при этом, в несколько раз ниже, чем аналогичные в Америке: 15 рублей за один трек и 100 за весь альбом.



Тем интереснее тот факт, что на ту же младшую модель Macbook Pro 15 with retina display цены мистическим образом значительно упали за последний месяц (можно купить официальную российскую поставку за 75 тысяч рублей; даже Re:Store скинул 15 тысяч в своем традиционно заоблачном ценнике), при том что аналогичная цена без учета налогов в штатах ≈70 тысяч рублей. Уж не намек ли это на новую политику цен и скорое открытие официального Apple Store?
Всего голосов 61: ↑54 и ↓7+47
Комментарии50

40 великолепных QR-кодов

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

image

Осторожно, под катом очень много картинок.
Читать дальше →
Всего голосов 92: ↑81 и ↓11+70
Комментарии84

Очень быстрый и эффективный способ расслабления глаз

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

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →
Всего голосов 246: ↑238 и ↓8+230
Комментарии207

Правовой аспект использования на своем сайте изображений, взятых с других сайтов

Время на прочтение3 мин
Количество просмотров39K
Наверное, почти каждый владелец сайта сталкивается с тем, что иногда на свой сайт необходимо залить какой-либо контент. И не очень долго думая, отправляется в ближайшую поисковую систему, чтобы найти необходимые материалы, будь то няшные котятки или чертеж редуктора. Конечно же, владелец сайта смутно подозревает, что это не очень правильно с его стороны, поэтому, для успокоения души, к себе на хостинг картинки не заливает, а использует оригиналы с сайтов, где он их одолжил стырил взял.
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии78

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

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


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

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

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

Немного о нашем клиентском сервисе

Время на прочтение4 мин
Количество просмотров6.8K
Привет, ребята!

Мы — компания Getwear. У нас можно создать себе джинсы по собственному дизайну и мерке, а потом заказать их с доставкой на дом, показать друзьям и выставить свой дизайн на продажу на сайте.

Покупать одежду в сети — это просто, но немного рискованно, особенно если ты не уверен в том, подойдёт она тебе или нет. Поэтому мы скопили некоторый опыт работы с «неуверенными пользователями», которым будем рады поделиться с вами.

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

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

Drupal + Omega + Bootstrap: быстрое создание полностью кастомных тем оформления без верстки (Часть 2. Bootstrap)

Время на прочтение13 мин
Количество просмотров52K
Первая часть, введение

В первой части статьи я рассказал о прекрасном фреймворке Omega для Drupal, который позволяет создавать собственные темы оформления, основанные на сетке (grid), произвольно настраивать и менять расположение и размеры регионов без каких-либо модификаций HTML-кода шаблонов. На этом можно было бы и остановиться, но существует прекрасный мощный CSS-фреймворк Bootstrap, имеющий собственную реализацию сетки, большое количество готовых CSS и JS компонентов, которые очень легко стилизовать, а также огромное сообщество, благодаря которому мы получаем наиболее качественный и «вылизанный» код по сравнению с конкурентами.

В этой части статьи я расскажу, как привязать Bootstrap к Omega. Но если вас по какой-либо причине не устраивает Bootstrap, то подобным образом можно прикрутить к Omega любой другой фреймворк на ваш вкус. Как и в первой части статьи, я не претендую на какую-то уникальность, просто описываю те вещи, которые можно почерпнуть из документации. Здесь будет много кода и мало картинок.
Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии17

AngularJS для привыкших к jQuery

Время на прочтение4 мин
Количество просмотров165K
AngularJS — прекрасный фреймворк для построения веб-приложений. У него замечательная документация, снабженная примерами. В обучающих «пробных» приложениях (вроде TodoMVC Project) он очень достойно показывает себя среди остальных прочих фреймворков. По нему есть отличные презентации и скринкасты.

Однако если разработчик никогда ранее не сталкивался с фреймворками, подобными Angular, и пользовался в работе в основном библиотеками вроде jQuery, то ему может быть трудно изменить свой образ мышления. Как минимум, так было со мной, и я бы хотел поделиться некоторыми заметками на эту тему. Может быть, кому-то это будет полезно.
Читать дальше →
Всего голосов 77: ↑74 и ↓3+71
Комментарии146

Автоматизация метрик для веб-сервиса с помощью GoogleDocs + Google Script

Время на прочтение6 мин
Количество просмотров7.6K
Меня зовут Чингис, я сооснователь веб-сервиса для командного решения задач Worksection.com

Мы у себя в сервисе отслеживаем ряд контрольных метрик. Посещения, регистрации, конверсии, активации, удержание, отток и тд. Метрики ведем в сводной таблице в Google Docs. Данные для метрик — собирались вручную из Google Analytics и из самого нашего сервиса. Потратив совсем немного времени, мы автоматизировали этот сбор.

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии19

Как делать удобные ajax-сайты

Время на прочтение6 мин
Количество просмотров56K
Несмотря на то, что AJAX стал стандартом де-факто для реализации многих элементов интерфейса, по-прежнему большая часть разработчиков делают сайты так, что пользоваться ими очень неудобно.

Сразу скажу, что существуют такие web-приложения, которые лишены указанных ниже недостатков (например, Gmail, Хабрахабр). Но это — счастливые исключения, лишь подтверждающие правила.

1. Трудность навигации


Прежде всего, состояние. Тот, кто читал «Психбольницу в руках пациентов» Купера, знает, о чем речь. Складным ножом легко пользоваться потому, что у него всего два состояния: раскрыт и сложен. А в случае же с сайтом вы имеете очень большое количество состояний. И если к неопределенности в плане ссылок мозг еще привыкает со временем — пользователь знает, что он находится на одной странице, и всего его действия ограничены ею одной, что сказывается на относительной легкости моделировании различных состояний по страницам — то с аяксом такого не происходит.


Довольная Гаечка наконец-то нашла нормальный ajax-сайт!
Читать дальше →
Всего голосов 111: ↑91 и ↓20+71
Комментарии91

Визуальное редактирование данных на странице, используя HTML как хранилище данных

Время на прочтение9 мин
Количество просмотров6.9K
Когда нам нужно предоставить пользователю возможность графического редактирования содержимого на странице, пожалуй, чаще всего мы используем JavaScript для хранения данных и передачи их на сервер, и все споры ведутся вокруг способа отображения, внешнего вида редактора. Наш выбор простирается от простого HTML (с холстом или без) до встроенного SVG или использования Flash плеера.

Выбрать между этими вариантами не сложно: SVG подойдёт для схем или планов и другой векторной графики, холст больше подходит для фотографий или других изображений. Однако, оба этих элемента требуют «отделения» себя от страницы. Под «отделением» я имею ввиду то, что любой из этих элементов требует написания дополнительных сценариев для синхронизации вида с моделью.

Для небольших объектов, структура которых хорошо описывается деревом или списком (например, корзина покупателя или бизнес-процесс), использование HTML элементов для отображения и хранения данных могло бы упростить разработку и поддержку.
Читать дальше →
Всего голосов 9: ↑3 и ↓6-3
Комментарии6

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Время на прочтение7 мин
Количество просмотров99K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак
Всего голосов 170: ↑159 и ↓11+148
Комментарии47

Фриланс, такой фриланс

Время на прочтение6 мин
Количество просмотров96K
В прошлом десятилетии я имел счастье фрилансить некоторое продолжительное время. Веселое было время. Не стабильно, местами чугунно, но в целом было интересно.

Сейчас я работаю в компании, которая достаточно активно контактирует с фрилансерами, и естественно, соучаствую в этом процессе.

На правах заказчика и фрилансера в одном лице, оглядываясь на хороший опыт, им, собственно — опытом — и делюсь.
Читать дальше →
Всего голосов 98: ↑63 и ↓35+28
Комментарии34

Нагрузочное тестирование с помощью Selenium

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

Введение


В это статье я расскажу о применении инструмента изначально предназначенного для функционального тестирования при тестировании нагрузочном web части системы электронного документооборота (СЭД).
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии18

Редактирование статических HTML страниц в браузере

Время на прочтение3 мин
Количество просмотров81K
image
В процессе создания очередного статического сайта-заглушки появилась потребность оптимизировать процесс. Что из этого получилось?
Читать дальше →
Всего голосов 74: ↑66 и ↓8+58
Комментарии43

Функциональное программирование на PHP

Время на прочтение6 мин
Количество просмотров52K
PHP всегда был простым, процедурным языком программирования, черпавшим свое вдохновение из C и Perl. В PHP 5 появилась правильная объектная модель, но о ней вы уже все знаете. А вот в PHP 5.3 появились замыкания (closure), которые были серьезно улучшены в версии 5.4 (подсказка: $this теперь доступен по умолчанию).
Читать дальше →
Всего голосов 59: ↑46 и ↓13+33
Комментарии82

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №41 (19 — 25 января 2013)

Время на прочтение5 мин
Количество просмотров41K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Всего голосов 53: ↑46 и ↓7+39
Комментарии26

Архитектура highload проекта на примере веб-консультанта

Время на прочтение4 мин
Количество просмотров26K
Наша команда занимается удаленным администрированием серверов и не так давно к нам обратились представители сервиса WebConsult с задачей построить легко масштабируемую серверную архитектуру, которая будет выдерживать серьезные нагрузки. Мы решили, что возможно это будет интересно пользователям Хабрахабра, которые так или иначе связаны с администрированием Highload проектов. Проект оказался быстрорастущим и имеющаяся на тот момент структура уже работала на пределе, поэтому нам пришлось в ускоренном режиме запускать новую.

image

Читать дальше →
Всего голосов 23: ↑15 и ↓8+7
Комментарии73

В поисках идеальной системы комментирования

Время на прочтение5 мин
Количество просмотров70K
Каждый день в рунете создается порядка 3 тысяч новых сайтов. Владельцы стремятся как можно быстрее раскрутить свой сайт и пробиться в топы. Для этого существуют разные способы и один из них — комментарии. Комментарии позволяют создавать сообщества, постоянную аудиторию, которая со временем начинает привлекать новых клиентов. На сегодняшний день существует множество систем комментирования, но как выбрать самую подходящую для вашего сайта?

Я выбрал несколько самых популярных систем комментирования, сравнил по множеству параметров и сделал обзор каждой.
Читать дальше →
Всего голосов 51: ↑40 и ↓11+29
Комментарии62

Информация

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