Как стать автором
Обновить
0
0
Александр Сухоруков @CTuJlET

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

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

Собираем базу аудиокниг для удобной фильтрации

Время на прочтение9 мин
Количество просмотров36K
Мой телеграм канал: https://t.me/winc0de.
Всем привет! Наверняка многим из вас знакома проблема уставших глаз из-за длительной работой за компьютером. К сожалению, из-за этого приходится ограничивать себя в других занятиях. Одним из них есть чтение книг. В связи с этим, я уже более 5 лет почти каждый день слушаю аудиокниги. За это время научился параллельно заниматься чем-то и вникать в суть озвучки. Сейчас я даже в спортзале слушаю книги! Представьте как это удобно: час дороги пешком туда и обратно + полтора часа упражнений. Средняя книга в районе 10-15 часов записи.

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


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

Разработка чат-бота для Facebook Messenger

Время на прочтение10 мин
Количество просмотров89K
В настоящее время наблюдается, действительно, бум чат-мессенджеров. Один за другим платформы для обмена мгновенными сообщениями объявляют о запуске платформы для разработки ботов.
Не стал и исключением Facebook. 12 апреля на конференции F8 Facebook представила платформу для разработки ботов для своего мессенджера.
В данной статье хочу поделиться опытом разработки чат-бота для Facebook на PHP.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии24

Долгая история про локализацию даты без года в PHP

Время на прочтение12 мин
Количество просмотров15K
Давайте начнём с простой задачки — вывести локализованную дату: там должен быть день, полное название месяца на языке локали и полный год. В наше время это действительно очень просто. В PHP есть своё i18n-расширение intl, которое входит в ядро с версии 5.3. И в этом intl есть класс IntlDateFormatter, у которого в свою очередь предопределено несколько форматов. Используем его LONG формат.

<?php

foreach (['en_US', 'ru_RU', 'es_ES', 'fa_IR'] as $locale) {
    $formatter = new IntlDateFormatter(
        $locale, 
        IntlDateFormatter::LONG, 
        IntlDateFormatter::NONE, 
        'Europe/Moscow'
    );
    echo $formatter->format(1455111783), PHP_EOL;
}

Результат:

February 10, 2016
10 февраля 2016 г.
10 de febrero de 2016
۱۰ ﻑﻭﺭیﻩٔ ۲۰۱۶ ﻡ. // вот тут вообще-то RTL-текст, но я хз как это правильно оформить

Пока неплохо. А теперь давайте слегка изменим условия: «вывести локализованную дату: там должен быть день и полное название месяца на языке локали». То есть, мы не хотим отображать год.
Казалось бы, ерунда. Но есть нюанс...
Всего голосов 37: ↑37 и ↓0+37
Комментарии40

Большой обзор красивых многоуровневых меню с codepen

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


Хабр, привет!

На Сodepen появляется много хороших решений от разных специалистов, и я считаю, что лучшие из них нужно собирать в одном месте. Поэтому 2 года назад начал сохранять у себя на компьютере интересные скрипты по разным тематикам.

Раньше я их выкладывал в группе продукта облачной IDE mr. Gefest, это были сборки из 5-8 решений. Но теперь у меня стало скапливаться по 15-30 скриптов в разных тематиках (кнопки, меню, подсказки и так далее).

Такие большие наборы следует показывать большему числу специалистов. Поэтому выкладываю их на Хабр. Надеюсь они будут Вам полезны.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии33

Как запустить собственный торрент-поисковик на базе RuTracker?

Время на прочтение14 мин
Количество просмотров44K
Я максимально постараюсь писать без «воды». Минимум лишней отвлекающей информации и разглагольствований. Максимум полезной информации и рабочего кода. Я не буду поднимать вопрос зачем кому-то собственный торрент-поисковик на базе RuTracker. И я не считаю себя гуру программирования. Мы просто сделаем этот сайт вместе. Будем использовать Apache+PHP, MySQL и Sphinx. Сразу предупрежу, что на минимальном виртуальном хостинге сайт будет работать совсем не быстро.

image
Читать дальше →
Всего голосов 56: ↑33 и ↓23+10
Комментарии40

Как создать круглую Progress Button

Время на прочтение9 мин
Количество просмотров45K
Урок по реализации круглой кнопки загрузки (далее progress button) by Colin Garven. Будем использовать, описанную by Jake Archibald, технику анимации SVG линий для того, чтобы анимировать progress button и показать пользователю состояния «success and fail».

image
Читать дальше →
Всего голосов 34: ↑21 и ↓13+8
Комментарии8

Использование веб-шрифтов, самый лучший способ (на 2015 год)

Время на прочтение6 мин
Количество просмотров30K
Недавно я снова исследовал вопрос загрузки шрифтов, так как я хотел использовать локальную копию шрифта и сделать ее загрузку максимально быстрой и эффективной. Данный подход существенно отличается от того, когда вы используете TypeKit или шрифты Google и простые сниппеты «копировать/вставить».

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

1, 2, 3

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

Цели:

  1. Асинхронно загружать веб-шрифты
  2. Избежать сильного пересчета положения в макете
  3. Как можно быстрее загружать веб-шрифты
  4. Избежать загрузки шрифтов для возвращающихся посетителей


А теперь давайте попробуем добиться наших целей поэтапно:
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии6

Хекслет: новые курсы + вебинары про VIM, программирование, английский

Время на прочтение2 мин
Количество просмотров23K
Привет, Хабр!
Мы продолжаем публиковать образовательные материалы — новые курсы, и с недавнего времени, вебинары. Начнем со свежих курсов:

Цикл по PHP




  1. Введение в PHP
  2. PHP5: Императивное программирование

Eww, php! Нет, погодите. Это ведь Хекслет, поэтому под предлогом изучения мега-популярного языка мы рассказываем людям про SICP. Наш курс основан на SICP, и рассказывает о программировании, абстракциях, рекурсии, функциях высшего порядка. И никакого HTML и LAMP, это не «сделай свой первый сайт за 2 часа», это программирование. Первый курс будет продолжаться еще несколько недель, осталось покрыть такие темы как reduce, деревья, замыкания, внутреннее состояние и другие.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии13

Реализация многоязычности на Laravel 5 силами фреймворка

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

Одной из особенностей сайта было переключение языка интерфейса, реализованный путем yaml файла словаря и простого парсера. Перенести его на логику фреймворка было делом скорее механическим, чем творческим, а вот заставить его запоминать выбранный язык оказалось чуть сложнее. Ниже я представляю свой вариант реализации этой задачи.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии5

У семи программистов адрес без дома

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

Мы в HumanFactorLabs парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

За 10 лет работы в результате анализа многочисленных исключений в российских адресах мы выработали правила хранения адресов, при соблюдении которых вы не потеряете важную информацию.

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.
Читать дальше →
Всего голосов 104: ↑101 и ↓3+98
Комментарии211

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Время на прочтение6 мин
Количество просмотров153K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

Статья содержит результаты проведенного им исследования, каким должен быть фавикон (и то что его заменяет), чтобы хорошо отображаться в различных случаях.


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Всего голосов 73: ↑71 и ↓2+69
Комментарии44

PHP-Дайджест № 63 – интересные новости, материалы и инструменты (11 – 31 мая 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 49: ↑42 и ↓7+35
Комментарии3

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Время на прочтение3 мин
Количество просмотров132K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

image
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии26

Image Catalyst 2.5

Время на прочтение3 мин
Количество просмотров25K
Adobe Photoshop CC 2014 (Save For Web) — 59,78 КБ kraken.io — 54,90 КБ Image Catalyst (Xtreme) — 51,39 КБ
Image Catalyst — программа для комплексной оптимизации/сжатии изображений форматов PNG, JPEG и GIF без потери качества в рамках того же формата.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии44

Google WebFonts и FontFaceObserver. Используем сторонние шрифты на своем веб-сайте

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

WebFonts. История


WebFonts — это технология использования сторонних шрифтов на своей веб-странице. Один из примеров:



Если начинать с истоков, тег font был введен в 1995 году, а уже в 1996-м было написано программное определение на CSS. Начиная с версии CSS 2.0 была введена загрузка и синтез шрифта в браузерах, но тем не менее тогда еще популярный, а ныне старый и неактуальный IE не имел поддержки загрузки шрифтов, что мешало бурному развитию использования шрифтов на своем сайте.

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

Вёрстка адаптивных email-писем: подробное руководство (часть 1)

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


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

Зачем нужно адаптировать письма для мобильных устройств


Значительная часть аудитории различных компаний, занимающихся email-маркетингом, просматривают письма на мобильных устройствах. Во время исследования Campaign Monitor от 2011 года выяснилось, что почти 20% открытий писем происходили на смартфонах и планшетах — в 2009 году эта цифра находилась на уровне всего в 4%. Почти 90% от этих открытий осуществлялись на устройствах под iOS. Сейчас цифры еще выше.

В этом руководстве мы рассмотрим несколько способов улучшения отображения почтовых рассылок на мобильных устройствах (от использования media queries при вёрстке адаптивных шаблонов до более продвинутых техник). Кроме того, мы рассмотрим различные вопросы дизайна, которые возникают еще на этапе планирования рассылки, а также поговорим о том, каким образом стоит размещать формы подписки для получения писем на смартфонах и планшетов.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии10

Несколько интересностей и полезностей для веб-разработчика #41

Время на прочтение5 мин
Количество просмотров39K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Learn X in Y minutes




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

Кстати, еще есть Hyperpolyglot, где наглядно показаны различия между инструментами и языками программирования в таблицах.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии8

Runscope: удобный тул для тестирования API

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

Back-end не всегда функционирует так идеально, как указано в API-спецификации. Например, кто-нибудь забывает внести обязательный параметр в JSON-строку выдачи или вместо «0» решает вписать null. Если такие данные проникают в мобильное приложение, последствия могут быть самые неприятные.
Сегодня я расскажу об инструменте, который используется для выявления таких случаев. Это Runscope.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии8

Простой PHP генератор сложных HTML таблиц

Время на прочтение5 мин
Количество просмотров50K
Всем привет. Хочу поделиться свеженаписанным генератором HTML таблиц.

Участились случаи сбора различной статистики и компоновки ее в сложные таблицы с различными групировками.

image

Заметив такую тенденцию решил автоматизировать рисование таблиц.

Как итог:
  • Избавил себя от составления слоеных циклов для вывода массива;
  • Получил стандартизацию структуры массивов;
Читать дальше →
Всего голосов 37: ↑29 и ↓8+21
Комментарии19

Как отобразить количество оповещений в названии вкладки браузера

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


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

Существует пара наиболее распространенных способов оповещения пользователя. С одной стороны, социальные сети Facebook, Twitter и LinkedIn указывают определенное число, которое соответствует количеству обновлений. С другой стороны, Trello отображает небольшой красный кружок поверх favicon.

Trello Facebook and Twitter notifications
Оповещения Trello, Facebook и Twitter

В этом уроке мы воссоздадим подобные оповещения. Посмотрите демо (англ.), чтобы понять, чем мы будем заниматься.

Посмотреть на GitHub
Демо (рус.)
Читать дальше →
Всего голосов 53: ↑40 и ↓13+27
Комментарии17

Информация

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