Ctrl + ↑ Позднее

Уроки спецпроектов

1 августа 2017, 18:40

1. Нельзя доверять стороннему АПИ:
— данные могут не прийти
— нужные вам поля могут быть пустыми или иметь неожиданное значение.

2. Следствие п. 1 — ваш код должен быть к этому готов.
Всё должно отображаться и работать без ошибок даже если данные некорректны или отсутствуют.

3. Обязательно учитывайте кэширование на стороне клиента.
— «скручивайте версию»: ссылка на файл скрипта или стилей должна меняться при изменении содержимого файла, чтобы клиент всегда получал свежую версию;
— если используете Реквайр, то придется переименовать файл, потому что Реквайр не умеет дополнять путь к отдельному файлу ГЕТ-параметром;
— если используете Вебпак, то добавляйте хэш к имени файла чанка, но не забывайте скручивать версию в месте подключения точки входа:

output: { 
...
    chunkFilename: '[name].[chunkhash].min.js'
}

4. Сафари в Айос  — чума 21 века для веб-разработчика

Сафари на айфонах по-особенному работает с айфреймами, у которых динамический контент. Например, с виджетом Твиттера.

Если такой айфрейм положить в абсолютно позиционированный блок с фиксированной высотой и внутренним скроллом (owerflow-y: auto), то он не будет растягиваться и скролл не будет работать. Похоже, сафари определяет границы блока и его контент при первом рендере и не учитывает загрузившийся айфрейм высотой 6000+ пикселей. Помогает такой хак:

*
    -webkit-overflow-scrolling: touch
.block__wrapper
    height: calc(100% + 1px)

5. Айфреймы в мобильном Сафари вообще часто ведут себя не так, как вы ожидаете. Например, их размер может внезапно зависеть от размера контента или от размера еще непонятно чего. Если нужно сделать адаптивный айфрейм, то помогает такой хак:

iframe {
        width: 1px;
        min-width: 100%;
        *width: 100%;
    }

6. Фоновый SVG в IE9-11 требует обязательно указывать атрибуты width и height, иначе его размер вырастет непредсказуемо, растянув или уменьшив картинку.

<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="1117" height="1403" viewBox="0 0 1117 1403">
...

Спусковые крючки для очистки мозга

25 мая 2017, 23:02

По мотивам книги «Джедайские техники» Максима Дорофеева.
Сохраню здесь чтобы не потерять.





Личное

  1. обещания
    • жене/мужу
    • детям
    • родителям
    • друзьям
    • родственникам
  2. предметы, взятые попользоваться
    • инструменты
    • книги/журналы
    • деньги
  3. информация
    • друзьям
    • семье
  4. события
    • торжества
    • дни рождения
    • путешествия
    • поездки на выходные
  5. административная сфера
    • финансы
    • оплата счетов
    • банки
    • кредиты / платежи
    • налоги
    • страховки
    • правовые вопросы
    • завещания
    • доверенности
  6. ожидания
    • заказы по интернету/почте
    • ответ на письма
    • ответный звонок
  7. дом
    • отопление
    • кондиционирование
    • водопровод/канализация
    • ремонт
    • электричество
    • мебель
    • коммунальные службы
    • платежи
    • кухня/оборудование кухни
    • санузел
    • места для глобальной уборки
    • гараж
    • кладовка
    • антресоль
  8. гардероб
    • свой
    • детей
    • супруги/супруга
  9. оборудование
    • компьютер
    • телевизор
    • интернет
  10. машина
    • гараж
    • страховка
    • ремонт
    • ТО
    • Шины / колеса
  11. здоровье
    • фитнес
    • стоматология
    • посещения врача
    • лекарства
    • диета/питание
  12. Личное развитие
    • семинары
    • курсы
    • самообразование
    • статьи
  13. домашние животные
    • прививки
    • корм
    • оборудование
  14. сообщество
    • соседи
    • школа
    • детский сад
    • церковь

Работа

  1. начатые проекты
  2. проекты, которые надо начать
  3. проекты, которые хорошо бы начать
  4. обещания
    • начальник
    • партнеры
    • коллеги
    • подчиненные
    • клиенты
  5. Коммуникации
    • звонки
    • письма
    • соц. сети
    • напоминания
  6. встречи/совещания назначить отменить посетить подготовиться
  7. документы
    • отчеты / таймшиты
    • оценки
    • обзоры
    • редактирование
    • вычитка
  8. Ожидания
    • информация
    • проектные мероприятия
    • ответы
    • письма
    • звонки
    • предложения
    • встречи
  9. проф.рост
    • обучение
    • семинары
    • ориентиры
    • чему стоит поучиться
    • нужные навыки
  10. исследования
  11. профессиональный гардероб

Учеба

  1. Домашнее задание
    • Сделать
    • Проверить
    • Списать
    • Передать
  2. Лекции / семинары
    • Взять конспект
    • Записаться
  3. Экзамены / зачеты
    • Список вопросов
    • Список литературы
    • Ответы предыдущих курсов
    • Справки о прогулах
  4. Диплом / Курсовая
      Тема Рецензент Научрук
  5. Статьи / Конференции
  6. Практика

RTL layout cross-browser element.scrollLeft issue solution

1 марта 2017, 16:42

Sometimes there is a moment as you make horizontal scrolling slider or timeline and become aware of the real world around you.

Some people will figure out the difference in how browsers implements Element.scrollLeft property on right to left layout (dir=«rtl»).

Most browsers have an initial value of scrollLeft equal to zero and will increase its value as you scroll (IE/Edge).

But in Chrome initial value of scrollLeft depends on scroll width (!) and is reduced to zero as you scroll.

Next problem is that some browsers increase scrollLeft value (Chrome, IE/Edge) while others decrease it to make it negative (Safari and Firefox).

Here is simple and obvious solution

// get initial value
var initial = el.scrollLeft();
// try to scroll with negative value
el.scrollLeft(-1);
// check if browser sets scrollLeft to negative
if ( el.scrollLeft() < 0 ) {
    // Safari, FF
    el.scrollLeft(/* ...  */);
} else {
    if ( initial > 0 ){
        // Chrome
        el.scrollLeft(/* ...  */);
    } else {
        // IE
        el.scrollLeft(/* ...  */);
    }
}

Поисковый робот Гугла не понимает ES2015

9 января 2017, 16:04

Google search crawler robot does not understand ES2015 JavaScript at all.

Будьте бдительны. Проверить можно через https://www.google.com/webmasters/tools/googlebot-fetch-details

Справка для бассейна не нужна

23 ноября 2016, 14:51

Для регулярного посещения большинства плавательных бассейнов в России вам потребуется Справка.

Чтобы получить справку для бассейна нужно обратиться к участковому терапевту в поликлинике по месту жительства. Терапевт вас направит сдать анализы крови, мочи и кала. Вы сдаёте все анализы и возвращаетесь к терапевту. На это у вас уйдёт пару дней.

Оказывается, справка для бассейна платная, если у вас нет показаний для посещения бассейна.

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

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

Что бы вы выбрали: ходить по врачам, сдавать анализы и покупать официальную справку или заказать всё с доставкой на дом?

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

Можно провести эксперимент: взять случайного бомжа, купить справку в интернете и отправить его в ближайший бассейн поплавать.

Плакаты и объявления в московском метро

24 сентября 2016, 14:01

Метро заботится о пассажирах, разъясняет всякое и предупреждает об опаснасти.
Прямо как моя мама.

Processwire — ЦМС/фреймворк с удобным АПИ

12 августа 2016, 14:04

Процессвайр я использовал в трёх проектах. В одном из них на базе этой системы я разработал отличное АПИ для веб-приложения. Два других — типичные корпоративные сайты.

Прикол Процессвайр в исключительно удобном АПИ, написанном в духе ДжейКвери.
Она во многом напоминает МОДикс: тут есть страницы (ресурсы), к ним можно назначать шаблоны и поля (переменные, ТиВи).

Ещё, в отличие от МОДикс здесь по умолчанию нет никаких полей, кроме названия страницы и нет никаких чанков — вся логика прописывается в шаблонах, через плагины или хуки.

Основная особенность: здесь любая сущность — это страница (page), наподобие нод в Друпале. Например, пользователь здесь — это тоже страница.

Примеры использования АПИ

Текущая страница доступна в переменной $page

// Вывести название текущей страницы
echo $page->get("title");

// Хлебные крошки
echo "<ul>";
foreach ($page->parents as $parent) 
    echo "<li><a href='{$parent->url}'>{$parent->title}</a></li>";
echo "</ul>";

// Вывести случайное изображение
$image = $page->images->getRandom();
if ($image) echo "<img src='{$image->url}'>";

Можно обратиться к любой странице через $pages

// Вывести заголовок нужной страницы
echo $pages->get("/shop/category/product1/")->title;

// Найти все телефоны, выпущенные после 2014 года с размером экрана больше 4" и отсортировать по производителю
$phones = $pages->find("template=phones, year>2014, screen>=4, sort=-vendor");

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

Если вы устали от МОДикс и ищите что-то новое, то вам обязательно нужно попробовать Процессвайр.

Канал о Процессвайр в Телеграме

https://processwirecms.ru/

Кто я?

7 августа 2016, 17:19

В этой записи я рассказываю о себе и своих проектах.

Рабочий процесс

Хорошо знаком с Вью
Активно использую ЭС6
Умею настраивать ВебПак
ХТМЛ верстаю по БЭМ
Использовал Ангуляр 1 в спецпроекте со множеством анимаций.
Поддерживал проект на Реакт + Редакс
Разрабатывал форму заказа с загрузкой фотографий на Нокауте
Много работал с МОДыкс. Делал сайты-визитки, каталоги, магазины, лэндинги. Работал с Джумлой, Вордпресс, Шоп-скриптом.
Имею опыт настройки веб-сервера и работы в консоли
Использую Гит

Продуктивность

Следую принципам ФФФ
Применяю джедайские техники Максима Дорофеева
Регулярно читаю советы работников студии
Есть опыт настройки и использования Джиры
Активно пользуюсь Трелло

Хобби

Увлекаюсь музыкой и игрой на инструментах, катаюсь на сноуборде, фотографирую.

Телеграм не нужен

10 июля 2016, 20:00

Написал пост про Телеграм.

За последний год интерес к приложению Телеграм увеличился в три раза. Вебмастера клепают один за другим каталоги каналов, разработчики штампуют сервисы для работы с ботами, а самые смелые анонсируют биржу рекламы для Телеграм.

Новостные сайты стали активно обсуждать мессенджер Дурова с конца прошлого года, хотя приложение вышло аж в 2013.

Недавно стало известно, что существует заказ на статьи про Телеграм! С мая этого года аудитория Телеграм выросла на 60%. Определённо, мы с вами являемся свидетелями масштабной маркетинговой кампании.

Количество запросов со словом «телеграм» по данным Вордстат

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

Считается, что круто — иметь канал на 10 000 подписчиков, ведь даже у Павла Дурова на канале их около 20 000. При этом на его страницу Вконтакте подписано 6 миллионов! В Российском сегменте Телеграм насчитывается порядка 10 000 каналов. Самые крупные из них имеют по 10-15 тысяч подписчиков. Один из самых популярных каналов, где ежедневно постят ссылки на интересные статьи, набрал 16 000 менее чем за год.

Для справки:

В феврале 2016 года аудитория Вотсап достигла 1 миллиарда пользователей — рост в 2,5 раза за два года. У Фейсбук Мессенджера 900 млн, ВиЧат — 760 млн, российского Вайбера — 60 млн пользователей (при общей аудитории 750 млн).
23 февраля Телеграм сообщил, что набрал 100 млн активных пользователей, при этом в 2014 году на Россию приходился лишь 1%. Наибольшую популярность Телеграм имеет в арабских странах.

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

Для сравнения:

Самый популярный русскоязычный канал в Вайбере набрал 1.1 млн подписчиков. За ним идут ДОМ-2 и Камеди Клаб с 400 000 человек, потом десяток каналов по 100 000. Канал Айфонз.ру в Вибере насчитывает 133 000 участников, а в Телеграме — всего 2 000.

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

Насколько эффективна реклама в Телеграм?

К сожалению, пока инструментов аналитики не хватает.

Вы можете видеть сколько человек просмотрело сообщение. Есть возможность проводить голосования и встраивать в сообщение интерактивные кнопки. По разным данным каждое сообщение на канале просматривают от 40% до 60% подписчиков. Если использовать сокращатели ссылок, то легко отследить сколько кликов приходится на каждую ссылку и собрать статистику по аудитории. Для владельцев каналов существуют боты, собирающие статистику.

«Честно говоря, Telegram — неудобный инструмент для медиа. Каналы нельзя искать в самом приложении, они мешаются с личными сообщениями и чатами, проматывать и читать их неудобно. Многие авторы и медиа каналы явно завели, потому что все вокруг это делают. Но Telegram словил важную штуку: сейчас интернет в какой-то степени возвращается в начало 2000-х, во времена, когда можно было все делать самому. Профессиональные структуры все хуже работают, сайты и медиа — скучные, всем приходится заниматься ерундой (привет, нативная реклама), чтобы оставаться на плаву. Жизни во всем мало. При этом вещи, которые люди делают в одиночку или маленькими командами, популярны как никогда: подкасты вернулись, видео на YouTube в порядке, даже блоги какие-то держатся. В Telegram есть очень крутое ощущение, что ты читаешь человека, который к тебе лично обращается; оно вроде должно было быть в соцсетях, но в соцсетях никто не ведет полноценные блоги.»

Григорий Прокоров в интервью «Афише»

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

Как вы считаете: стоит ли рассматривать Телеграм как перспективную площадку для рекламы?

Ctrl + ↓ Ранее