ProstoDiary: /balance

Отправлено 18 мая 2019 г., 02:13 пользователем Deni Baskovsky

Немного заглянем в будущее и увидим возможность отображения всех доступных средств в боте:

Мой гитхаб - ретроспектива за 5 лет

Отправлено 1 мая 2019 г., 01:00 пользователем Deni Baskovsky

Перенес все свои репозитории на свою страницу. Вот самые популярные.
https://github.com/qertis?tab=repositories

cc_spriter
Самая популярная библиотека. Была создана специально для отмененной игры 1or2, в которой планировалось использовать скелетную анимацию.

c2-car-physics
Когда изучал движок Construct 2, решил сделать простенькие гоночки с нормальной физикой. Базовый behavior нашел на просторах сети, немного модифицировал для работоспособности с несколькими авто на сцене.

bootstrap4blogger
Портировал bootstrap 4 версии на популярную блогер платформу от Google. Долгое время использовал в продакшене для своего блога.

Crop-Imag-PureJS
Чуть ли не самая первая либа, созданная для отмененного fly.social. Это резалка изображений в браузере на нативном JS, без каких-либо зависимостей.

cordova-google-oauth2
Еще один проект взятый из отмененной игры 1or2. Представляет из себя cordova-плагин для Android, выполняющий авторизацию через учетную запись Google с получением данных от аккаунта.

kinetic-simple-game
Наконец, простая игра использующая canvas2d библиотеку Kinetic.js. Была создана как пример возможностей этой библиотеки. Впоследствии оказалось что возможностей библиотеки мало и уже в продакшене я использовал полноценный движок - Crafty.js.

ProstoDiary: лэндинг с jekyll

Отправлено 31 мар. 2019 г., 12:28 пользователем Deni Baskovsky

Jekyll - оказался очень мощным инструментом для статического хостинга MD файлов на гитхабе. Легко ставится на OSX, гитхаб имеет его встроенную поддержку, имеет поддержку SCSS, HTML-шаблонов, роутинг. Я доволен. Исходники получившегося оставил здесь.

ProstoDiary: страница бота с открытием нативного приложения

Отправлено 16 февр. 2019 г., 07:00 пользователем Deni Baskovsky

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

Посмотреть готовый результат: https://prosto-diary.gotointeractive.com/

Новый дизайн AMP gotois

Отправлено 3 февр. 2019 г., 12:49 пользователем Deni Baskovsky

Прошло 3 месяца и новый дизайн AMP готов и выложен в продакшен!

https://gotointeractive.com/

Немного истории.

Лэндинг изначально проектировался в виде небольшого промо сайта, где будут перечислены все интересные тулзы из моих личных проектов. Таким образом сайт просуществовал достаточно долгий срок, но потом его оказалось тяжело поддерживать, он разросся и решено было переехать на riot.js (в то время, на vue.js портировать не удалось). Переезд произошел достаточно комфортно, но вот незадача, riot.js стал скорее мертв, чем жив и без серверного рендеринга сайт СЕО сайта страдало. В какой-то момент сборка на CI перестала проходить и решено было срочно что-то делать. Сначала хотел перейти на Nuxt целиком, но переход с riot.js на nuxt.js оказался чересчур сложным. Riot.js более гибкий чем Vue и часть кода пришлось переписывать. Потратив пару вечером на портирование, задался вопросом: "А правильно ли я делаю"? Действительно, тянуть для простого лендинга целый Nuxt странное занятие. Решил что правильнее будет удалить все ненужное. Под нож попало почти все и в итоге остался лишь сгенерированный AMP на бесплатном шаблоне Mobirise (о нем я скоро поведаю в блоге). Добавил минификацию, так как из коробки Mobirise пока это не поддерживает. Заодно отказался от Gulp в пользу самописных bash скриптов и потратил много-много времени пока не понял почему не отображается index.html. Проблема оказалась с путями в travis-ci. Получилось пофиксить, перейдя с cp на rsync

Итоговым результатом оказался вполне доволен. Да, я потерял функционал, но она и не использовалась.

AMP gotois теперь в гугле!

Отправлено 28 сент. 2018 г., 15:47 пользователем Deni Baskovsky

Прошло более полугода с момента заливки AMP-страницы gotointeractive и какого было мое удивление сегодня, узнав что гугл начал открывать ее в поиске. 


Теперь настало время приводить страницу в нормальный вид :)

ProstoDiary: высчитывание калорийности продуктов

Отправлено 26 авг. 2018 г., 01:11 пользователем Deni Baskovsky

С последним релизом, бот теперь подсказывает калорийность основных продуктов:

Значения берутся из 100 грамм продукта, но есть мысли как это изменить 🤔

Мысли о выборе ЯП 2018

Отправлено 14 авг. 2018 г., 02:35 пользователем Deni Baskovsky   [ обновлено 14 авг. 2018 г., 21:34 ]

Языки программирования постоянно меняются. Вроде бы еще совсем недавно все писали на Java и рассматривали Flash как универсальную технологию для веба. А теперь от Java плюются, а Flash умер окончательно. 
Как известно, при выборе технологии нужно обращать внимание не на то, что делают остальные, нужно выбирать то, что будет лучше работать. Короче говоря, ИМХО сейчас стоит сосредоточиться всего на четырех языках. Из них три уже готовы к продакшену. 

Системный язык (для игр, ОСей и прочих очень сложных и нагруженных всяческой логикой программ) это Rust. 
Язык общего назначения это Kotlin. 
Agda для сложной математики и алгоритмов.
Язык сверхобщего назначения - JavaScript.

Встречайте Qweeto*

Отправлено 11 авг. 2018 г., 14:22 пользователем Deni Baskovsky

* PreMVP

Последние полтора месяца я, находясь в творческом отпуске, делал это. Пробираясь сквозь лес информации, положенной в вики, разбирая заметки в своих многочисленных блокнотах, вычитывая собственные и чужие статьи, мысли и комментарии, я ужимал воедино этот огромный багаж знаний в маленькое зерно, которое при должном уходе, вероятно, сможет прорасти в прекрасное крепкое дерево будущего. В моем случае, это зерно не очередная замысловатая идея, засорявшая и без того заполненные чепухой мозги, а проект, придуманный под окончание универа и, как положено настоящему долгострою, смиренно дожидающий своего наступающего часа. Не бывает же так, чтобы Путь разработчика основывался только на одних факапах и неудачах? Конечно, нет! И чтобы хоть как-то доказать это, я, забираясь в уютненькие заведения со своим макбуком, перечитывал и переписывал сервер, клиент, деплой систему, CI, формировал БД проекта Qweeto. Сложно сказать, что давило на меня больше, но лично отобранные мотивационные цитаты, вкупе с прекрасной музыкой, давали дополнительные силы просто тупо продолжать идти дальше. И сегодня я могу сказать, что фундамент заложен, меня он устраивает, репы закрыты, технологии выбраны на границе революционности и стабильности. Короче говоря, qweeto.com.

Через пару месяцев, когда доделаю верстку и улучшу производительность, я напишу подробнее про проект, а именно: на каких идеях он основан, почему я внедряю социальную составляющую (подсказка: в статье), и зачем вообще был создан ProstoDiary)

Сказ о том, почему YouTube тормозит, а Qweeto still coming

Отправлено 3 авг. 2018 г., 12:29 пользователем Deni Baskovsky   [ обновлено 3 авг. 2018 г., 12:29 ]

Есть одна такая страшная штука, называется браузер. Он построен на Open Web Platform (OWP). Все это мракобесие крутится под еще более страшным монстром - JavaScript. 

Чтобы жизнь фронтэндщика не казалась медом с jQuery и тысяч написанных плагинов под него, с 2012 года активно продвигаются сложные фреймворки, сначала MVC, потом MVVM. В какой-то момент их создатели окончательно тронулись и решили бежать быстрее паровоза, а именно, внедрять в свои фреймворки технологии, которые еще не работали в браузерах. Так появился, например, Babel. Но им этого было недостаточно, и по мановению одного пуш коммита в мастер ветку укатился README.md того, что пора бы все делать через JS, а остальные части OWP (HTML, CSS и пр.) можно делать или на крайняк эмулировать через него. Так раздулся npm и продолжает раздуваться дальше. В какой-то момент количество полифилов перевалило достаточный порог, чтобы все нормальные люди поняли, что что-то идет не так, и в этот момент мир фронтэнда разделился на два непримиримых лагеря: сатанинских задротов, кто говорил что все Ок и это будущее и тех, кто предлагал попридержать коней и оглядеть вокруг. К слову, ваш покорных слуга, оказался из числа вторых, и окружающая его сатана насмехалась своим зловещим смехом, собирая очередной React Create App по полчаса. В это время, ребзя из гугла решила что они могут все и чихали на все стандарты и заручившись поддержкой всего Chrome/ium сообщества выкатили кучу новых спек с custom elements, shadow dom, html import. Все это безобразие привести к продакшн виду поручили ребзе из Polymer. Спустя годы пыхтения и давления на W3C, им все же удалось получить более-менее работающую версию своих черновых API и под громкие возгласы писающих кровью реактивистов, YouTube переехал на Material Design на новом фрейморке. Вот только Polymer, который выводил множество package модулей на плечи браузерного API, нуждался в небольших, но хорошо написанных тулзовинах, которые бородатые хипсторята осилили написать лишь спустя долгие месяцы после релиза Polymer 1. Так появился Polymer CLI. Далее случилось невообразимое. Гугл оказался не таким всесильным, и такая часть API как html import была отвергнута хацкерами из mozilla, а вместе с этим была переделана спека по web components. Таким образом обиженным гуглятам пришлось переделывать свою версию и они впопыхах выкатили Polymer 2, который имел небольшие, но очень опасные исправления, которые исправлять ручками копошась внутри Chrome и YouTube в принципе, не могло принести должного Value. Вот так и подумали наши гордые орлы, что сражаться с React/Vue/Angular предлагая свои говноинструменты как-то не труъ и видимо под предлогом увольнения, выкатили нечто, которое назвали Polymer 3 с LitElement.

LitElement это, если будет понятнее, эдакий jsx на минималках, только построенный на строковых шаблонах ES6. Вместо двустороннего биндинга тут юзается односторонний и поэтому появляется легкая возможность подключения всяких Redux'ов. Таким образом, в 2к18 взяв поиграться с pwa-starter-kit, я был радостно удивлен возможностям, которые мне позволял новый фреймворк. Здесь даже webpack необязателен! Стоит ли говорить, насколько быстро происходит разработка, когда все фичи, которые тот же React делает с помощью трехколесных велосипедах с тонной сборщиков здесь делается нативно? Но, как и в любой истории, в какой-то момент идиллия начала рушиться, стоило было сделать шаг влево-вправо. К тому, что WebStorm будет по-своему делать (читай: кривые) отступы в LitElement еще ладно. Но когда всеми любимый EsLint начинает ругаться на то, что ты делаешь асинхронный import в середине функции, а потом понимаешь, что Polymer CLI не может собрать работающий билд из-за этого, впадаешь в растерянность и остается только ждать. Ждать что разрабы приведут все это к продакшн виду. Пока не будет нормального CLI, который начнет делать рабочие билды не видать ни нового YouTube без полифилов, ни Qweeto на одном порту с серваком. 

Такие дела.

1-10 of 166