Блог Максима Федорова

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

Помогаю программистам  на Тостере    •    Пишу на Хабре

Ctrl + ↑ Позднее

Как подписаться на меня

После страшного события в Питере (мои соболезнования родственникам) ожидаю:

  • витка затягивания гаек в интернете
  • затягивания гаек после митингов
  • до этого всего курс был однозначный

Может кто-то и заметил, вчера меня заблокировали в ВК за репост митингов https://maksfedorov.ru/blog/all/vk-zablokiroval-menya-za-repost/
не регулярных, а за одно видео, выложу его и снова заблочат.

Давно намеревался переходить на другие каналы, либо в Фейсбук (друзей мало), либо в блог (тут наоборот больше читателей). Также нужно переползти в сервисы Гугла, либо какие-нибудь немецкие сервисы.

Безопасность одобряю, но прослушку россиян «по умолчанию» со стороны ведомств — считаю как раз дико не безопасным и чреветым утечками данных. Наши дебилы в Госдуме вечно путают причину со следствием.

Я на связи

Связаться со мной можно любым способом, везде читаю и отвечаю — например задать вопрос или предложить работу над проектом:

РСС блога:
https://maksfedorov.ru/blog/rss/

Телеграмм:
https://t.me/@maksfedorov

Фейсбук:
https://www.facebook.com/maksfedorovru

Почта:
hello@maksfedorov.ru

ВК заблокировал за репост видео

UPD: Поддержка ответил, причина — описание на странице видео

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

Как было все:

  1. Вставил видео на стену
  2. Меня попросил подтвердить аккаунт и сменить пароль -> обновил и снова добавил видео
  3. Слету прилетел бан на сутки

И даже не скрыли за что:

Написал, чтобы разбанили с возможностью зарепостить видео из Ютуба.

Хочу обратить внимание на «Вы» с большой буквы. Прямо испытываю оргазм от такого «уважения» «увлажнения».

Живые индивидуальные уроки по разработке на PHP

Запускаю живые уроки по программированию на PHP. Объясняю, показываю и тщательно разжевываю реальные практики и все моменты, которые необходимы современному разработчику. Разработка с объяснением, с необходимым именно для вас повторением.

Кому

  • Начинающим разработчикам, которые уже разобрались с синтаксисом, прошли пару курсов, но не могут разобраться без реального кода куда и что делать дальше
  • Тестировщикам, которые хотят подтянуть автоматическое тестирование или программирование
  • Верстальщикам/веб-мастерам, которые хотят повысить свои навыки и уже что-то знают о PHP
  • Почти джуниорам, которым не хватает воедино собрать картину и не хватает практики, чтобы все дособрать для своего портфеля навыков


Формат

Москва

В кафе или у вас дома в вечернее время.

Цена: 800 рублей/час

Сперва (перед какими-либо занятиями) мы встречаемся с вами, собеседуем друг друга. Если для вас нужны специфичные вещи — я подготавливаюсь и мы начинаем работу.

Если для вас дорого — вы можете, например, объединиться с кем-нибудь — вдвоем-втроем, и я буду заниматься с вами разом, но для эффективности нужно будет времени побольше.


Список тем

Индивидуально может корректироваться под вас

  • Локальная взрослая настройка проекта — настройка на Линуксе/Маке с виртуальной машиной или Докером, с максимально приближенной к боевому окружению. Со свежей версией языка PHP
  • Система контроля версий (GIT) — как работают в командах, как работать одному, зачем это нужно и основные практики работы, отточим командную работу
  • Работа с VPS сервером — автоматический деплой на боевой сервер, настройка софта и прочее
  • Работа с пакетным менеджером Composer, автозагрузкой, фишки
  • Изучение библиотек и фреймворков — зачем и почему нужны, какие задачи решают, современные тенденции и практики, подходы
  • Архитектура приложений (не самых сложных по своей схеме, но боевых и распространенных)
  • Базы данных — как работать с данными, как их организовывать, как хранить, как доставать и обслуживать. Как работать со сложными ORM (Doctrine)
  • Как работать с сетью — как отправлять формы, как их проверять, как делать это по-взрослому (как это делают в командах разработчиков)
  • Как сделать свое API и как работать с чужим
  • Объектно-ориентированное программирование — объяснение зачем, на что влияет. Почему появились паттерны, почему выбираются те или иные подходы, и практическое изучение примеров использования
  • В целом будет акцент не на изучение синтаксиса, но по ходу работы если будут запинки — будем дополнительно проходить и разбирать
  • Дебаг и отладка, работа в IDE со сложными проектами
  • Тестирование своего кода / Автоматическое тестирование через браузерные тесты
  • Код ревью и требования к разработке (типизация, инспекции, строгие правила)


Обо мне

Что умею, что смогу донести

  • Сейчас работаю в команде разработчиков в издательстве Conde Nast (журналы Vogue, GQ, Glamour, Tatler) — платформа, состоящая из множества сервисов на языке PHP на фреймворке Symfony.
  • Активно помогаю на Тостере: https://toster.ru/user/Maksclub и еще на паре форумов
  • Руководил интернет-магазином
  • В прошлом предприниматель — один из проектов был успешный нишевой магазинчик

Связаться со мной

Telegram
ВКонтактик

2017  

Поиск налоговой по адресу, версия 2

Сервис поиска налоговой по адресу — будет полезным для юристов и предпринимателей. Помогает быстро найти контакты и реквизиты ИФНС, например для регистрации юрлица, узнать где регистрировать кассовый аппарат... узнать телефон и график работы.

Старый сервис работал только по Москве и Питеру.

О сервисе

  • Ищет налоговую для адреса по всей России (спасибо Dadata.ru) — ищет по всем городам, поселкам и улицам
  • Ищет по почтовому индексу
  • Использует открытые данные ФНС
  • Помогает подсказками при введении адреса

Планы

  • Доработать дизайн (сейчас его просто нет :)
    Прикрутить карты Яндекса, сейчас выводится на карте не налоговая, а введнный адрес — исправлю до 15 апреля
  • Прикрутить MongoDB
  • Сделать легенькое АПИ
  • Исправить тонну ошибок и почистить от мусора
  • Пересадить на React и Express (для опыта ради, сейчас на PHP и JQuery)
  • Сделать новости по налогам и блог

Найдите налоговую по нужному адресу

Прототипы сайтов на Pingendo вместо Axure

Пару дней назад на собеседовании в веб-студии Новосибирска на должность менеджера проектов я получил вопрос:

Как ты делаешь прототипы?

Ответил, что сразу в коде ХТМЛ — мне начали советовать Axure, а я даже и не понял, что было не так — проблем с прототипами и набрасывании эскизов в ХТМЛ у меня никогда не было. Сразу и не сориентировался, ведь использую Pingendo — эта штука позволяет набросать адаптивную страницу за 3-4 минуты и выплевывает чистый кода на Бутстрапе, а я это даже не рассматривал как инструмент для прототипа → сразу делал готовые сверстанные шаблоны для сайта и потом уже допиливал.

Конструктор адаптивных страниц — Pingendo

Pingendo — отдельный браузер, сделанный для ускорения (дикого ускорения) верстки на Бутстрапе, в панели этой программы предусмотрены все компоненты и блоки — просто перетаскиваешь и собираешь из них страницу.

Чувак за 8 минут собирает готовую страницу

Особенности Pingendo

+ Выплевывает готовый ХТМЛ-код, чистый
+ Если проект на Бутстрапе — сразу готовы исходники
+ Все компоненты, блоки, кнопки (да все есть) Бутстрапа в коробке
+ Адаптив — сразу можно просмотреть отображение на мобильном, планшете или ноутбуке
+ Можно добавлять свои классы и внизу в коде писать стили CSS
+ Поддерживает все ОС — я работаю под Линуксом и мне все нравится, под Мак тоже есть
+ Поддерживает LESS — инструмент не просто для прототипов, а для полноценной разработки
+ Уже есть версия с бетой Бутстрапа 4 — разрабы не сидят на месте
+ Обнаружил веб-версию, идет с версией под новый Бутстрап


— Немного мусорит — добавляет лишние блоки для обертки: .section и .container, ставит лишние переносы, устраняется секундами
— Дизайн подчинен сетке Бутстрапа — не подойдет для прототипов мобильных приложений, кабинетов (если не планируется Бутстрап) и специфичных интерфейсов

В общем я остался непонятым на собеседовании, не умеющим делать прототипы, но, сука, классным :)

UPD1: Если есть вопросы по работе с Пингендо — пишите мне в ВК
заметил, что много людей с поиска заходит узнать по работе, а заметку писал чисто дял себя...

Sitemap.xml для блога на Эгее

##UPD (от 11.08.2017):Чуть позже сделаю по лучше

Читал у Ильи Бирмана, что он не понимает зачем его блогу Сайтмап.хмл и в Эгее его никогда не будет. А мне нужен → Гугл и Яндекс указывают на ошибку.

Сайтмап — карта сайта в формате ХМЛ, позволяет поисковым роботам видеть страницы сайта, этакий алфавит.

Использовал возможность Эгеи выводить весь список статей по адресу /all/, сделал скрипт, который парсит все ссылки с этой странице и выводит их в нужном формате.
Итог можно посмотреть по адресу: maksfedorov.ru/sitemap.xml

Инструкция установки

  • Скачайте файл sitemap.php и залейте его в корневую директорию блога
  • Если блог лежит в папке (например blog или notes) — установите значение для переменной $BLOG_URI на 5 строке файла, например если блог лежит в папке blog, то это будет выглядеть так:
$BLOG_URI = 'blog';
  • Если ваш блог не в папке, а открывается как полноценный сайт, то оставьте строку пустой
  • Отредактируйте файл .htaccess в корне блога — вставьте сразу на следующей строке после RewriteEngine On эти строки:
# Google sitemap
RewriteRule sitemap.xml?$	sitemap.php  [L,QSA]

Теперь ваша карта сайта доступна по адресу:
ваш_сайт_точка_ру/sitemap.xml

Красивый репост статьи на Эгее

Запилил доработку для Эгеи, которая генерирует для Фейсбука, ВКонтакте и Твиттера картинку с заголовком поста, а-ля Meduza. Стандартный вывод работает уныло, если в посте нет картинок, то выводит юзерпик — вашу фотку возле названия блога.

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

Пример в стиле Медузы:

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

Как смотреть посты в Эгее по дате

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

По годам и месяцам

Добавьте /2016/ к адресу главной страницы блога — выведутся посты за 2016 год. Месяца, в которые не было постов будут не активными.

Заметки за 2016 год

По дням

Кликните на любой месяц — выйдет лента всех дней. У чисел, когда писали посты, будут активные ссылки.

Сразу пробежался по первым постам Ильи Бирмана, не думал, что он ведет свой блог с февраля 2002 года.

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

2017   Эгея

Деловая переписка из 19 века

Недавно читал книгу «Пуговицы Наполеона», а там ученый ученому пишет по 100 писем по какой-то химической формуле и делится своими мыслями. Это охуетительно, и я взял это к себе.

Недавно написал дизайнеру Вадиму Юмадилову о том, что я такой же стиль выбрал для оформления виниловых пластинок, как и он:) К слову — он сделал, а я только думал примерно также сделать. Взял, так и написал ему, сказал, что он крут, что-то спросил у него и он мне отвесил крутой критики. Пару раз писал разработчикам из Студии Лебедева — все отвечали и делились кусками кода.

Еще в ВК переписываюсь с чуваком Димой Фурье, таким же как я — тоже пилит свой сайт, что-то пишет по игровому дизайну, имеет тонну проблем. Он подкидывает идей мне постоянно, живет на Урале, мы никогда не пересекались.

Мне тоже пишут, часто с просьбами — помогаю, как могу, делаю мир лучше :)

Цена текста за 1000 знаков — отстой!

3 года назад, я как и все заказывал описания для сноубордической одежды у фрилансера за 200 рублей за тонну знаков. Хотел описания и для SEO-оптимизации и чтобы текст продавал — наивно верил, что «профессиональный писака» знает, как мне помочь:) Конечно получал какую-то дичь, напичканную «воодушевлением», «великолепием» и «незабываемыми ощущениями» в худшем случае, в лучшем — о том, как тепло, легко и удобно.

Текст не оценивается количеством

Чтобы написать описание сноубордической куртки, нужно разобраться с ее материалом, кроем и конструкцией, нужно подобрать фотографии элементов — например показать карман для ски-пасса и тут же объяснить его преимущества, показать проклейку швов, описать свойства мембраны — сноубордическую одежду часто покупают новички и пока я работал продавцом, мне приходилось каждому объяснять, чем она хороша, а чем нет. Потом весь материал нужно разбить на смысловые блоки и несколько раз отредактировать — на каждый материал уйдет от нескольких часов, что никак не вяжется с бизнес-моделью «за 1000 символов».

Чтобы написать хорошо, иногда нужно долго вникать

Сколько символов

Теперь я знаю, что описание не должно быть 1000-2000-1000 знаков — оно должно быть нормальным. Должно отвечать на все вопросы клиента и снимать его страхи.

Кстати, по моему опыту — ни один копирайтер не упирался со словами «тут нужно в 2 раза больше знаков, потому что плохо получится» или наоборот «тут тысячи хватит, остальное в видео покажем» — ТЗ клиента или seo-оптимизатора почему-то всегда считается неоспоримым параметром.

Столько символов, сколько надо! Ни больше, ни меньше

Сколько стоит текст

Я не знаю. Некоторые писатели и издания работают сдельно — например в Тинькофф-журнале платят 10 000 рублей за опубликованную статью.

Ctrl + ↓ Ранее