Как стать автором
Обновить
5
0
Дмитрий Зарезенко @dzarezenko

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

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

Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты

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


Меня зовут Владимир, я занимаюсь мобильным фронтендом в Яндекс.Почте. В нашем приложении уже была тёмная тема, но недожатая: мы умели перекрашивать интерфейс и простые письма. Но письма с форматированием оставались светлыми и контрастировали с тёмным интерфейсом, из-за чего глаза ночью могли уставать.


Сегодня я расскажу читателям Хабра о том, как мы решили эту проблему. Вы узнаете про два простых способа, которые нам не подошли, затем — про наш основной способ адаптивной перекраски страниц и, наконец, про направление для следующей итерации: перекраску картинок. Хотя сама задача — перекрашивать страницы с произвольным форматированием — специфическая, думаю, наш опыт будет полезен и вам.

Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии49

«Hello, (real) world!» на php в 2017 году

Время на прочтение8 мин
Количество просмотров76K
Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

<?php
echo 'Hello, world!';

Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

Читать дальше →
Всего голосов 347: ↑260 и ↓87+173
Комментарии571

Эффективное использование Github

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

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



Читать дальше →
Всего голосов 149: ↑148 и ↓1+147
Комментарии38

Джулиан Ассанж: Google не то, чем кажется

Время на прочтение4 мин
Количество просмотров43K
Перевод отрывка из книги Джулиана Ассанжа «When Google Met WikiLeaks»: государственные перевороты, слежка, сговоры с правительством и другие будни корпорации добра.


Председатель совета директоров Google Эрик Шмидт делится шуткой с Хиллари Клинтон в ходе «непринужденной беседы» – специальной встречи с сотрудниками компании в главном офисе в Маунтин-Вью, Калифорния, 21 июля 2014 года
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии11

Подборка бесплатных инструментов для разработчиков

Время на прочтение28 мин
Количество просмотров186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии38

Как в проекте заменить jQuery на D3

Время на прочтение7 мин
Количество просмотров19K
Создавая визуализации или интерактивные страницы, мы часто используем комбинацию из jQuery и D3. Причём в основном используется D3, а из jQuery берут небольшой набор функций для манипуляций с DOM.

И хотя в D3 есть мощные возможности – селекторы и обёртка для ajax, часто нам не хватает каких-то функций из jQuery. Мы покажем, как можно заменить jQuery, используя D3 повсеместно. В результате ваш код упростится, объём проекта уменьшится, и вы не будете смешивать разные подходы, а будете использовать функции так, как принято в D3.

Для начала рассмотрим, в чём эти две библиотеки сходятся. Это удобно для тех, кто уже знает jQuery, и хочет изучить D3.

Схожести


Селекторы

Обе библиотеки основаны на простых в использовании, но богатых на возможности селекторах.

jQuery

$('.foo').addClass('foobar');
$('.foo').removeClass('foobar');


D3

d3.selectAll('.foo').classed('foobar', true);  
d3.selectAll('.foo').classed('foobar', false); 


Управление стилями и атрибутами

jQuery

$('.foo').attr('data-type', 'foobar');
$('.foo').css('background', '#F00');


D3

d3.selectAll('.foo').attr('data-type', 'foobar');  
d3.selectAll('.foo').style('background', '#F00');  

Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии16

Правильное использование Exception’ов в PHP

Время на прочтение16 мин
Количество просмотров120K
Я рад бы написать что “эта статья предназначена для новичков”, но это не так. Большинство php-разработчиков, имея опыт 3, 5 и даже 7 лет, абсолютно не понимают как правильно использовать эксепшены. Нет, они прекрасно знают о их существовании, о том что их можно создавать, обрабатывать, и т.п., но они не осознают их удобность, логичность, и не воспринимают их как абсолютно нормальный элемент разработки.

В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для Yii, но это не особо важно.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии70

API интерфейс для бесплатной АТС и телефонии

Время на прочтение6 мин
Количество просмотров33K
imageНесколько недель назад проект Zadarma опубликовал собственный API. Он позволяет интегрировать основные функции IP-телефонии и бесплатной облачной АТС.
Каждый может за считанные минуты создать бесплатную облачную АТС и подключить к ней интерфейс API, а через него уже интегрировать АТС со своими приложениями.
В статье публикуем список и описание методов, ссылки на классы и примеры, которые уже есть для работы (опубликованы PHP-классы). Нам крайне интересны ваши отзывы: для дальнейшего развития интерфейса API, интеграции с CRM и другими системами.

Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии21

PHP библиотека для интеграции с API Новой Почты

Время на прочтение8 мин
Количество просмотров30K
Привет друзья.
Хочу поделиться PHP библиотекой (SDK) для интеграции с API 2 Новой Почты (НП). Но сначала несколько слов о Новой Почте.
Новая Почта является лидером экспресс-доставки и перевозки грузов по всей Украине. В Новой Почте много услуг, что делает ее лидером на украинском рынке перевозок. Склады есть во всех городах Украины, очень быстрая курьерская служба. Основные услуги, которые компания надает: доставка и возврат грузов в розничных сетях; доставка паллетированного груза; обратная доставка,; наложенный платёж за товар; вызов машины; хранение груза; упаковка груза, доставка груза по городу и прочее. Для упрощения создание ТТН можно использовать API компании, что даст возможность оптимизировать создания ТТН.

Возможности которые дает SDK:
  • Работа с адресами
  • Работа со справочниками
  • Работа с контрагентами
  • Методы для получения печатных форм документов
  • Работа с реестрами экспресс-накладных
  • Работа с экспресс-накладными:
    • создавать экспресс-накладные
    • редактировать данные в созданных экспресс-накладные (до передачи отправления)
    • удалять/отменять созданные экспресс-накладные (до передачи отправления)
    • загружать списки документов используя фильтры
    • отслеживать статусы отправления



Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии17

Быстрый старт с PHPixie 3

Время на прочтение15 мин
Количество просмотров25K
image
После двух лет разработки закончена третья версия фреймворка PHPixie. Почему так долго? На самом деле за это время было написано не меньше трех ORM и шаблонизаторов, которые удалялись и переписывались опять, потому что «ааа, можно ведь сделать лучше». Особенно много времени ушло на тесты, без которых огромное количество улучшений просто не было бы замечено. Много раз хотелось просто оставить это дело, остановиться на второй версии и добавлять в нее модули. Но сейчас, когда все эти итерации были пройдены я могу уверенно сказать что это лучшая имплементация которую я знаю ( и на какую был способен ). Вот чем вас порадует PHPixie 3:

  • Следование стандартам PSR-2 и PSR-4
  • Поддержка PSR-7 запросов и библиотека для удобной работы с ними
  • Шаблонизатор использующий простой PHP, но с поддержкой наследования и блоков как у Twig. Позволяющий легко добавлять свои расширения и другие форматы, например HAML итд.
  • ORM который прост в использовании как ActiveRecord, но при этом разбивающий логику запросов, сущностей и репозиториев отдельно. Поддерживающий связи с коллекциями MongoDB и оптимизацию запросов над многими сущностями одновременно (например можно связать несколько статей с несколькими тэгами одним запросом)
  • Подход с процессорами вместо привычных контроллеров позволяет создать произвольную архитектуру.
  • Компонент конфигураций позволяющий разбивать настройки по в глубину по папкам (например ключ languages.en.plural.mouse может обратится к ключу plural.mouse в файле languages/en.php)
  • Система бандлов позволяющая легко использовать один код в нескольких проектах и делится ним с другими пользователями. Бандлы устанавливаются через композер как любая другая библиотека.


А сейчас короткий туториал, который покажет вам все что надо знать чтобы начать разработку с PHPixie 3:
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии37

Qt и Android Market или вторая жизнь Анаграмм

Время на прочтение4 мин
Количество просмотров7.6K
В конце ноября мне стукнула моча в голову и я написал достаточно глупый и несуразный пост об одном из своих приложений, находящийся здесь. Тогда пост был заминусован, что в принципе логично, учитывая то, какого качества он был.

Тем не менее, от того, что пост был хреновым, само приложение хуже не стало. Хоть и на некоторое время было отложено в долгий ящик. Вчера вечером, я как-то мельком проглядывал блог ребят из Сutehacks, компании, занимающейся разработкой Qt приложений и старающихся сделать на этом денежку. Так вот, просматривая блог, я наткнулся на пост, в конце которого была презентация под названием «Targeting Android with Qt».

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

image

Читать дальше →
Всего голосов 43: ↑34 и ↓9+25
Комментарии19

Меням жесткий диск на MacBook Pro в три клика

Время на прочтение3 мин
Количество просмотров96K
Или, как поменять жесткий диск, используя только отвертку и пассатижи.

Представьте себе простую ситуацию: вам захотелось обновить свой компьютер и установить на него новый жесткий диск. В целом для персонального комьютера и для ноутбука сценарий один и тот же. Делаем резервную копию с помощью какого-нибудь Acronis (PC) или Carbon Copy Cloner (Mac) на внешний или второй внутренний хард; цепляем новый диск, грузимся с резервной копии и восстанавливаем ее на новый диск. Готово.

Теперь давайте представим другую, более распространенную ситуацию. Вы самый обычный среднестатистический обыватель, лет так под 50, который с трудом себе представляет как он работает. Пользуетесь только софтом, который шел вместе с компьютером и знать не знаете о сценарии, приведенном выше. Ваши действия? Если вы обладатель писи, то единственный вариант — обратиться к знакомому, который, наверняка, и собрал вам машину. Однако если вы обладатель Макбука и наслаждаетесь жизнью в каком-нибудь Тайланде, то ваши действия сводятся к трем кликам. Ну хорошо. Я слукавил. Еще вам понадобится отвертка и пассатижи.
Читать дальше →
Всего голосов 35: ↑15 и ↓20-5
Комментарии15

Mi-one новый смартфон Xiaomi

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

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

Не буду слишком углубляться в историю и скажу лишь, что MIUI начиналась, как обычная кастомная прошивка для Android с не совсем обычным интерфейсом. Разрабатывают её ребята из Китая. При этом измененный интерфейс Андроида в этой прошивке, мягко говоря, напоминает интерфейс небезызвестного телефона на «i».

Так вот, эти самые ребята решили, что прошивка прошивкой, но телефон лучше и, назвавшись Xiaomi, выпустили телефон. Аппарат называется MI-One и имеет весьма неплохие характеристики, позволяющие отнести его к флагманам рынка Android смартфонов.

А чем же он удивителен, узнаем под катом
Всего голосов 73: ↑64 и ↓9+55
Комментарии172

Новый простой редактор JavaScript в Firefox

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

Представляем Scratchpad


В только что вышедший Firefox 6 входит новый инструмент для веб-разработчиков: простой редактор JavaScript (прим. переводчика — по-английски он называется Scratchpad («блокнот»). Буду его так и называть, чтобы не писать каждый раз «простой редактор JavaScript».) Идея проста: браузер это отличное место для экспериментов с JavaScript. Большинство JS-разработчиков уже знают об этом и используют такие инструменты, как веб-консоль и командную строку Firebug, чтобы использовать преимущества единственной среды, которая точно знает, как выглядит веб-страница.

Веб-консоль оптимизирована для ввода одной строки кода за раз (подсказка: с помощью Shift+Enter можно ввести несколько строк). В Firebug есть кнопка, включающая многострочный режим ввода, но всё равно работа основана на поочерёдном и линейном выполнении кусков кода.
А в Scratchpad...
Всего голосов 27: ↑25 и ↓2+23
Комментарии16

Статистика пользователей Google Plus

Время на прочтение1 мин
Количество просмотров4K
Компания Find People on Plus подготовила статистику по 947996 аккаунтам, которые зарегистрированы в новой социальной сети от Google.


Карта всех пользователей Google Plus

Более подробная статистика пользователей по полу, профессии, городам, странам под хабракатом.
Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии205

iriver Story HD станет первой читалкой с интеграцией Google eBooks

Время на прочтение1 мин
Количество просмотров844


17 июля, то есть в ближайшее воскресенье, в американской сети магазинов Target и в интернет-магазине Target.com появится устройство для чтения электронных книг iriver Story HD от южнокорейской компании iriver. Это будет первая читалка с интеграцией запущенной в декабре открытой платформы Google eBooks, с помощью которой пользователи смогут покупать и читать книги из Google eBookstore через Wi-Fi.
Читать дальше →
Всего голосов 13: ↑5 и ↓8-3
Комментарии5

Обзор зарядного устройства TechnoLine BC-700, или мой опыт восстановления Ni-MH аккумуляторов

Время на прочтение6 мин
Количество просмотров313K
Опыт восстановления Ni-MH аккумуляторов, или обзор зарядного устройства Techno Line BC700

Так случилось, что после двух лет активного увлечения фотографией я немного подзабил на всё это дело. И, вот, спустя год, недельки 3 назад, меня «пробило» на фото. Достал фотоаппарат, аккумуляторы, побежал на радостях фотографировать. Сделал 2 фотки, получил сообщение: «Замените аккумуляторы». «С кем не бывает, захватил случайно разряженный комплект», подумал я. Поставил другой комплект — одна-две фотки и фотоаппарат просит новые батарейки. Так со всеми моими четырьмя парами аккумуляторов. Не въехав в ситуацию, пошел, воткнул их в зарядку, пока читал на ночь хабр, заметил, что от момента установки на зарядку не прошло и пяти минут, а светодиод зарядного устройства уже оповещает о полной зарядке. С этого момента и началась история. Добро пожаловать под кат!
Читать дальше →
Всего голосов 133: ↑125 и ↓8+117
Комментарии188

Мозгокомпьютерный интерфейс. Часть третья. Будни

Время на прочтение4 мин
Количество просмотров4.3K
Здравствуй Хабр.
Месяца три тому назад я выкладывал обзоры (текстовый и видео) по мозгокомьютерому интерфейсу Emotiv Epoc. Поступило большое количество вопросов на тему как им пользоваться, где приобрести и вообще как оно. С целью хоть как-то облегчить себе участь я сделал небольшое FAQ. Но оно лишь отчасти помогло мне.

И вот, прошло 3 месяца.

Основная волна вопросов схлынула. Но многие просят рассказать, ну как там дальше. Мысли уже читаю, или еще пока нет? Нет, не читаю. Но обещал написать статью с тем, что получилось за это время. Получилось пять минисообщений на тему.
Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии54

GUNNARS: Апгрейд зрения IT человека (Часть 1)

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


Вы гик, геймер, офисный сотрудник? Вы дни на пролет проводите перед экранами ПК, или может быть вы много читаете и к концу дня у вас устают глаза от напряженной работы? В данной статье я расскажу об аксессуаре, который тестировал целый год ставший для меня незаменимым и привычным атрибутом как в работе так и регулярной жизни. Я забыл такое средство как «Визин», ощущения сухости и покраснение глаз. А мир вокруг меня стал на порядок четче, контрастнее и теплее…

Для начала видео с CES 2011

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

Переживания Эрика Шмидта

Время на прочтение4 мин
Количество просмотров2.4K
imageВ четверг, 2-го июня, в Калифорнии закончилась трехдневная конференция All Things Digital, прошедшая под порядковым номером «9».

Человеком, открывавшим это событие, был не Марк Цукерберг, которого по-праву считают ключевым лицом в современной Web 2.0 революции, и не Рейд Хоффман, чей LinkedIn торгуется на NYSE уже несколько недель. Даже Дик Костоло, CEO Twitter, был вынужден отдохнуть до второго дня конференции. Не говоря о Марке Андреессене, «кукловоде» завышенных оценок компаний.

В эргономичном красном кресле оказался Эрик Шмидт, теперь занимающий место в совете директоров (без конкретного поста в компании) и уступивший звание CEO со-основателю Ларри Пейджу.

Если кто-то вдруг забыл, то я напомню — именно Шмидт был человеком, который сделал Google той компанией, которой она является сегодня. Если бы не он, Пейдж и Брин продали бы свой продукт Excite или Yahoo, так никогда и не став одной из самых дорогих Интернет-компаний современности. Компании, чья бизнес-модель казалась «раздутой пустышкой» воротничкам с Wall Street (она ей не оказалась); компании, которую New York Times называла «пузырем века» (она им не стала). Эрика Шмидта до сих пор называют «взрослый надзирающий» над основателями Google, чью необходимость в быстро растущих компаниях так яростно отрицает тот же Цукерберг.

Можно спорить, но мне кажется, что Шмидт уступил свое кресло в блестящий момент. Конечно, в Долине сейчас куда громче Facebook, и, очевидно, он потрясет публичные рынки на входе, когда бы он ни случился. LinkedIn и Яндекс уже побили рекорд Google по объему в IPO. Возможно даже, что Шмидт сбросил с себя бразды правления по той причине, что начал становится «универсальным инструментом» внутри и вне самой компании. Сейчас это все уже неважно, т.к. Эрик может выбирать, быть ли авторитетным представителем одной из крупнейших Интернет-компаний, или поддерживать Барака Обаму на следующих президентских выборах (Шмидт не скрывает этих намерений), в конце-концов, он может заниматься тем, чем ему угодно.

Так почему тогда он не выглядел счастливым на D9?
Читать дальше →
Всего голосов 253: ↑244 и ↓9+235
Комментарии54
1
23 ...

Информация

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