Мой 2016. Фейлы и вины года

Делюсь своими достижениями (и не очень) за 2016 год.

Год подходит к концу, как всегда, это был нелегкий год, но «мы там продержались». В этой заметке хочу записать свои личные взлёты и падения за прошедший год, так что поехали.

 

Платформа Node.js

Я уже очень давно присматриваюсь к этой замечательной среде, только вот освоить всё времени не хватало. Теперь мой основной сайт работает на ExpressJS, а еще, в начале следующего года будет запилено приложение на koa.js.

С Express по началу мне не очень понравилось работать из-за callback-hell, но это я в последствии конечно исправил с помощью библиотечки Q и изменил мнение. В целом очень напомнило Django, только сильно упрощенный, что только сыграло мне на руку.

А вот с koa никак не могу нарадоваться этим вашим генераторам!

 

Go

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

Единственное что мне пока что непривычно, это defer. (для меня смотрится как какой–то костыль, надеюсь это временно)

 

Регионализация mosaica.ru

WIN:

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

  1. Создавать цельные клоны сайтов на поддоменах и связывать их через API
  2. Создавать отдельные базы данных для регионов, при сохранении одного приложения
  3. Провести глобальные модификации кодовой базы и добавить поддержку регионализации на уровне ядра

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

FAIL:

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

 

Avion73.ru

WIN:

Первый контакт с системой 1с Битрикс, причем успешный. Было разработано несколько компонентов, общая производительность сайта повысилась, а еще довелось поработать с внедренным вредоносом и написать к нему эксплоит.

 

RA73.RU

WIN:

Разработка нового сайта для рекламного агентства «Мозаика». В процессе разработки создали тему на базе blankslate, разработали свои виджеты. В целом сайт получился неплохой.

FAIL:

Пока что не запущен (это вообще не приятно, учитывая что сайт на 100% готов), но мы не теряем надежду.

 

Плагины для WordPress

WIN:

Изучил API WordPress, покопался во внутренностях и запилил несколько плагинов. Один даже отправил в маркетплейс.

Отправленный плагин добавляет в стандартное окно добавления медиафайла по ссылке (т.е. вставка видео с youtube например) поля ширины/высоты:

FAIL:

Мой плагин не приняли, причем обиден не сам факт отказа, а то что общался по email со мной какой–то дуболом, который даже после оооочень подробных объяснений не понял зачем нужен этот плагин, указывая на то что параметры ширины/высоты можно в shortcode поменять (лол, обычный менеджер контента полезет в код все это ставить, ага бл*ть, не смешите мой пиджак, или я буду 6-8 видосов вручную править через код, щазЪ), либо реализовать отдельную кнопку для tinymce. Вот и думаю, то–ли комьюнити неадекватное, то–ли я неправильно понимаю курс WP на упрощение жизни для людей?

 

Забавно еще было, когда придрались к тому, что я оставил возможность указывать эти параметры в процентах — якобы потенциальная уязвимость. Вот объясните мне где тут бл*ть уязвимое место?

// ...
if(isset($_POST['width'])) {
    $embed_width = sanitize_text_field($_POST['width']);
            
    // there can be only numeric || percent values
    if(preg_match('/^d+%?$/', $embed_width))
        $html .= ' width=' . $embed_width;
}
// ...

Может чел просто не умеет RegExp?:D

 

А вообще–то я ожидал песен только насчёт monkey patching’а их backbone классов для внедрения функциональности, но видимо чувак только на PHP зациклился. Ну да чёрт с ним, в следующем году, если они таки не добавят эту возможность в ядро, или не добавят хуков для бескостыльной реализации подобного, попробую отправить снова, авось понимающий мою боль найдётся.

 

Лендинги

Как ни крути, а этот год у меня был насыщен реализацией и модернизацией лендингов — в этом году родился msc.digital, ориентированный в основном на интернет маркетинг и разработку лендингов.

WIN:

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

FAIL:

Лендинги это очень, очень занудная работа. Верстальщики у нас не хотят умеют юзать gulp, sass и шаблонизаторы, поэтому после того как я принимаю вёрстку и начинаю начинять её javascript’ом, тегами компиляции для usemin и внедрять цели метрики и аналитикса, дальнейшее сопровождение лендоса ложится на меня. (бесит что это самая большая часть работы (учитывая количество правок и всяких новых хотелок–свистелок), но она по–сути является тем невидимым фронтом, о котором клиент даже не догадывается)

 

Мелкие утилиты

 

Guerillamail Client — клиент для сервиса одночасовых email ящиков.

WIN:

Это мой первый (и пока единственный) самостоятельный проект на языке C – идеальном языке. До этого опыт программирования на этом подарке небес ограничивался только написанием аналога *nix утилиты tee, и несколькими коммитами в проект sakura на launchpad. (кстати там используется cvs bazaar – очень понравилась мне эта штука, жаль не особо распространена)

FAIL:

Так и не довёл до ума:( — после реализации основного функционала с переменным успехом фиксил утечки памяти (зато научился юзать valgrind и gdb!), а вот рефакторинг так и не провёл, — в следующем году обязательно завершу начатое!

 

masscurl — массовая проверка URL.

Тут не фейл, не вин. Просто мне нужна была утилита для массового пинга и проверки HTTP статусов и я её для себя сделал.

 

ffaker + ffaker2 — генератор рандома для БД.

ffaker это утилита для заполнения базы данных фейковыми данными. Первая версия работала только с mysql, и это стало фейлом, когда мне понадобилось заполнить sqlite. Вторую версию я не стал велосипедить на PDO, а сразу заюзал крутую ORM — doctrine/DBAL. Утилита поддерживает генерацию простых данных, данных с использованием связей и вычисляемых данных. (т.е. например простая арифметика над любыми другими полями, подробнее смотрите на гитхабе)

 


Далее опишу, всё что не связано с профессией, но связано лично со мной.


 

Обзоры новостей

После небольшой реструктуризации этого блога начал новую рубрику — «Обзоры новостей», куда запиливаю всякий треш и угар.

WIN:

Прокачка публицистического скилла.

FAIL:

Через некоторое время глядя на свои опусы хочется плакать, надеюсь это временно:(

 

Починил ноут

WIN:

Заказал у китаёз новую клаву и внутренний корпус с тачпадом, теперь все работает нормально.

FAIL:

Раздолбал зарядник.

WIN/FAIL:

Запаяли зарядник ибо денег на новый нет:(

 

Музыка

WIN:

Я стал более меломановым! Теперь даже радио часто слушаю в машине. Конкретно подсел на witch house и grindcore. 😀

FAIL||WIN?

Некоторые мои знакомые просто офигевают с меня из–за моих музыкальных вкусов. Это я к тому, что я могу свободно совмещать прослушивание Black metal, Grindcore (какие–нибудь anal nosorog или nakka, или вот, димитровградские ребята из Vaginal Jack очень круто жгут) и еще какой–нибудь мешуги и какой–нибудь лёгкий хаус типа Markus Shulz, и даже что–то из популярного на хитфм (ну что там сейчас популярное? попса, синтипоп, rnb или как это называется?), а в довершение что–то классическое, аля Бах. А еще всё это вполне может находиться в одном плейлисте!

С одной стороны, это жуткий вин, наблюдать ох*ивание людей, с другой стороны упоротые и замкнутые на метле (или еще чем–то, но самые упоротые именно металлисты) фанаты часто крутят пальцем у виска. Я же недавно вывел своё окончательное отношение к этому вопросу — замкнутость на определённом круге жанров не есть хороший показатель, это всё равно что научиться писать код по старым учебникам на PHP 4 и остановиться на этом уровне — развития нет.

 

Сайты знакомств

Зарегался в на нескольких сайтах знакомств. (я децельно социофоб, но таки борюсь с этим)

WIN:

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

Т.е. вы не покупаете премиум на 7 дней за 500 рублей, вы покупаете ПОДПИСКУ, через 7 дней с вас автоматом слупят еще 625 рублей. И подобная хрень творится вообще на всех сайтах знакомств – хоть свой сайт знакомств запиливай! 😀

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

А еще меня очень прикалывает сайт loveplanet — такое ощущение, что вся движуха там начинается когда входишь на сайт, чувствую себя грёбанным Труманом. Весь день тишина, ящик пустой, но стоит залогиниться и тут вуаля! Сразу же появляются сообщения, подарки, гости и прочая хрень, недостойная достойного гражданина.

FAIL:

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

Еще один фейл это фотострана. Это самый настоящий спамогенератор, с утра и до обеда, они умудрились прислать мне 52 сообщения! 52 КАРЛ БЛДЖАТ!

К слову о ботах, я прямо нутром чувствую, что все кто мне писал это боты. Жаль что ответить им не могу, дабы проверить наверняка.

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

 

Из всего этого напрашивается один вывод — лечите свой аутизм и знакомьтесь IRL, а не просаживайте бабки на этом УГ.

 

Перестал пить

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

WIN:

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

FAIL:

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

 


Ну вот и всё, следующая подобная заметка будет уже в конце 2017 года (если я не забью болт), спасибо всем кто читал этот опус, спасибо всем кто заходит на ikfi.ru и в этот блог! С наступающим новым годом и что Вы там еще отмечаете?


 

Дочитал до конца? WOW! Не ожидал – думал ты сольёшься на моих личных стенаниях:)

А может и свои мыслишки плеснёшь тогда уж в коментах?

 

comments powered by Disqus