Правда про IT-шников

Послание от пьяного Карполана для нового поколения IT-шников:

Записано на Silicon Drinkabout в iHub Kyiv группой студентов, будущих ОйТи-шнегов 🙂

P.S. Все будет хорошо, просто выходите иногда из «IT пузыря» в «реальный мир».

Тот редкий случай когда Гавно-Код™ лучше универсального.

Опять занесло меня в PHP программирование, надо было сделать подержку настроек из глобального config.json для уже существующих сайтов на WordPress.

И вот столкнулся с тем редким случаем когда Гавно-Код™ aka Как-Индусы® лучшее решение:

$props = explode('.', $configPropertyName);
switch (count($props)) {
// TODO: Add more deep cases if the Config become too nested.
    case 3:
        $value = $config->{$props[0]}->{$props[1]}->{$props[2]};
        break;
    case 2:
        $value = $config->{$props[0]}->{$props[1]};
        break;
    default:
        $value = $config->{$props[0]};
}    

Можно было бы написать итератор на любую глубину вложености свойств, или загрузить JSON в виде именованого массива. Но все эти способы менее читаемы, да и не дают никакого выиграша ни в скорости, ни в отладке.

P.S. Не забывайте писать TODO: для таких вот «хаков», через год сами не поймете почему так написано и вместо добавить пару копи-пастов начнете рефакторить с криками: «Да кто так пишет?!»

Английский перевод книги опубликовал

На самом деле текст мне перевели пару месяцев назад, но как обычно не доходили руки опубликовать все статьи. Сегодня во время бессоницы закончил…

P.S. Надо бы конечно вычитать нетивами, но то уже в следующей жизни…

Придумал как бороться с бессоницей

Видимо возраст уже, но стоит мне включить какой-то видео урок (Udemy, Coursera, YouTube) как через 10-15 минут начинаю засыпать!

Бывают конечено исключения… Но тогда за пол ночи изучаю что-то полезное, а не всякую фигню в голове ворочаю.

Не благодарите 🙂

Идея на миллиард: Codename «Gone Fishing»

Примерно год назад я решил сделать «боле оцфрованным» такое хобби как рыбалка.

Идея в 2х словах на этом видео:

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

Так же написал технические задания, разбил на таски и попытался найти подрядчиков или партнеров на изготовление прототипов…

В общем пытался построить продукт и компанию по правильному, с customer development и по lean методике.

Краткий отчет за первый год: НЕ СДЕЛАНО НИЧЕГО!

Вывод простой: Хотите что-то сделать? Ищите деньги и нанимайте людей. Даже закрывшись от всего мира на полгода, вряд ли что-то нафигачите самостоятельно 😦

Читать «Идея на миллиард: Codename «Gone Fishing»» далее

WordPress on Staging + Static HTML on Production

Железобетонно-рабочего решения для «WordPress on Staging + Static HTML on Production» на данный момент нет 😦

Появился целый набор платных сервисов которые пытаются колдовать с таким решением, но делают пока это с переменным успехом…

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

Самым надежным на данный момент выглядит следующий подход:

  1. Устанавливаем WP в папку на отдельном секретном саб-домене.
  2. Настраиваем WP чтобы работал от корня (иначе относительные ссылки будут глючить)
  3. В корне сайта, в под-папках, раскладываем материалы которые не имеют отношения к WordPress (статические страницы, PDF, ZIP и прочие файлы).
  4. В WordPress делаем страничку с агрегацией ссылок на все НЕ WordPress ресурсы вашего сайта (ссылку на такую страничку надо хотя бы одну).
  5. Создаем все страницы и посты сайта прямо в админке WordPress.
  6. Экспортируем контент в ZIP архив. Можно с помощью плагина Simply Static, можно внешней утилитой типа Website Downloader . Желательно перед экспортом отключить всякие кеш-плагины, минифаеры файлов, и прочие «улучшатели» контента.
  7. Заливаем ZIP с архивом сайта на хостинг основного домена и распаковываем его прямо в корень. Можно использовать S3 bucket или GitHub pages чтобы «сэкономить».
  8. «Отключаем» WordPress на секретном субдомене. Можно временно заменять Database криденшелы в wp-config.php, переводить сайт в доступ по паролю, остановить MySQL сервис и т.д. Я просто выключаю виртуалку с инстансом WordPress.

Все! С этого момента счастливо живем без спама, попыток взлома и прочего WordPress дурдома.

Если надо будет что-то добавить или изменить на сайте: «включаем» WordPress и повторяем все действия с пункта №5 и до конца.

P.S. Если у вас сильно отличается мобильная и десктопная версии сайта, лучше делать 2 разных экспорта статического контента. Один для мобильной темы, второй раз для полноразмерной. Редиректить пользователя на подходящий веб-сайт придется уже на основном хостинге.

Маркетинг веб-сайтов

Маркетинговая воронка — это визуализация прохождения потенциального клиента от состояния: неизвестный человек, до статуса: заплативший клиент.

Маркетинговая воронка для Веб-Сайтов

В маркетинге для веб-сайтов рассматривают следующие маркетинговые стадии:

  • Stanger, surfer, анонимус — любой неизвестный человек, бродящий по сети Интернет. До нашего сайта он может и не дойти.
  • Visitor, посетитель — анонимный посетитель нашего веб-сайта. Он может просто пройтись по страницам веб-сайта, а может превратиться в lead если выберет наше предложение, подпишется на email-рассылку или заполнит какую-то форму.
  • Lead, лид — заинтересованная в нашем продукте или услуге персона, которая предоставила нам некоторую контактную информацию. Посетитель становится лидом если заполняет форму или другим способом сообщает нам свою контактную информацию.
  • Customer, user, клиент — человек совершивший покупку или другим способом ставший пользователем нашего продукта или услуги. Мы знаем больше информации о клиенте чем о лиде.
  • Promoter, промоутер, евангелист — наш customer или lead, который уже доверяет нам и может порекомендовать продукт/услугу другим людям, через каналы за пределами нашего веб-сайта: личная встреча, телефонный разговор, репост в социальной сети, и т.д.

Переходы между стадиями воронки называют маркетинговыми действиями:

  • Attract — привлечение хоть кого-то посетителя сети Интернет на наш ресурс.
  • Convert — с помощью призывов и офферов убедить посетителя сообщить нам хоть какие-то контактные данные и перевести его в статус lead.
  • Close — закрытие сделки (оплата, договор, подтверждение намерений) с лидом и перевод его в разряд клиент.
  • Delight — особый подход в общении с customer и lead может превратить их в промоутеров нашего продукта/услуги в социальных сетях, публичных форумах и личном общении.

Каждый переход по маркетинговой воронке вниз уменьшает аудиторию, поскольку далеко не все потенциальные клиенты заинтересованы в одном и том же продукте.

Чем больше посетителей попадают на веб-сайт и чем меньше потери на каждом уровне маркетинговой воронки — тем качественнее маркетинговая стратегия. Все точно так же как и в любом другом виде маркетинга.

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