Ни для кого не секрет, что популярные языки программирования развиваются по схожему сценарию. Сначала
появляется новый язык программирования с амбициозной и благой целью решить те или иные проблемы
уже существующего языка, которые иначе, как созданием нового языка программирования,
не решить. Далее язык набирает популярность, часто путем обрастания различными модными фичами.
Теряет связь с миром свою простоту и лаконичность в бесконечной погоне за новыми возможностями. В
какой-то момент наступает экзистенциальный кризис в виде Франкенштейна. А как отмыть кровь
решать подобные проблемы, мы уже знаем. Или я несколько утрирую (или нет?), и, возможно, не все так
плохо? Сегодня поговорим об этом в общем и о новом функционале языка Dart в частности.
Читать далее...
Больше классов богу классов
Совсем недавно команда разработки Dart выпустила 3-ю версию языка, которая привнесла много новых
крутых штук и возможностей. Одним из нововведений стали модификаторы классов, которые довольно
сильно расширили выразительные возможности Dart. С одной стороны, новые модификаторы ложатся в
стройную картину и даже логичны; с другой - чувствуется некоторая многословность (
abstract interface class
вместо общепринятого interface
) и появление ряда ограничений, которых
ранее не было. Новые модификаторы классов безусловно интересны и требуют внимания, но сегодня
мы будем говорить не о них). Оставим уже вышедшие модификаторы для одной из следующих статей.
Логично задаться вопросом: о чем тогда сейчас пойдет речь? Заинтригованы? Тогда добро пожаловать
под кат.
Читать далее...
Болевые точки Dart и Flutter
Flutter - довольно популярный фреймворк для разработки кроссплатформенных приложений. В основном это приложения под Android и iOS, но все же имеется возможность разрабатывать и под другие платформы, хотя в большинстве случаев еще не все так гладко по сравнению с основными платформами. Этот фреймворк уже сейчас имеет некоторую фан базу, которая, как и положено фан базе, генерирует статьи о том, какой Flutter клевый, крутой, интересный и производительный и т.п. В этих статьях Flutter часто сравнивается с конкурентами, и чаще всего он описан в положительном свете. Ни в коем случае не пытаюсь как-то умалить его заслуги, но... работая с ним ежедневно, вольно или невольно начинаешь замечать неприятные и раздражающие моменты, с которыми приходится жить. Именно об этих моментах сегодня и пойдет речь. Читать далее...
Заметки из Code review
Этот пост является первым постом в серии "Заметки из Code review". В рамках этих постов мы будем говорить о код ревью и рассматривать примеры ошибок, которые совершаются в реальной жизни и на реальных проектах. Будем пытаться улучшать свой код и код своих коллег. Учиться на ошибках и разбираться, почему тот или иной код заострил на себе внимание во время код-ревью. Как подобный код исправить и избежать повторения ошибок в будущем. Человечество так устроено, что единственное, что у него получается блестяще, так это совершать ошибки. И один из способов научиться их не совершать - это учиться на ошибках других. Итак начнем. Читать далее...
Блог 2.0
Попытка возродить блог
Как думаю нетрудно заметить не так много новых постов вышло за последнее время. Пришло время это поменять). Не то, чтобы я теперь буду генерировать много постов, цели такой не стоит. Просто, наконец-то, решил возобновить ведение блога. Долгое время до этого я являлся автором постов в корпоративном блоге компании "Инним", в которой я все это время работал. Соответственно времени на ведение своего блога не оставалось. Написание постов занимает уйму времени. По этому кроме мыслей о том, чтобы вести два блога одновременно нечего не было. Сутки слишком короткие. Ну а теперь же пришло время заняться своим блогом. Не уверен, что получится. Но я хотя бы попытаюсь.
Уход от WordPress
Предыдущая версия этого блога работала на WordPress. Вроде бы логично было бы продолжить использовать эту платформу, но ... Во-первых, хотелось обновить внешний вид блога и улучшить внешний вид сайта на мобильных платформах. И хотя это можно сделать просто обновив тему, хотелось изменить сам подход к работе. Складывалось такое ощущение, что сам процесс работы в визуальном редакторе WordPress не радовал. Особенно печалил тот факт, что вся информация хранится в БД. И не так-то просто с ней работать. Кроме того динамический контент, который в моем случае в принципе не особо нужен, как-то напрягал.
Периодически приходили мысли сделать сайт на GitHub Pages. И в принципе мне казалось это отличной идеей. Работа с контентом как с кодом. Что может быть лучше? Никаких БД. Версионирование и как минимум две копии репозитория. Но попробовав разобраться в этом вопросе выяснилось, что для этого используется SSG - Static Site Generator, а если конкретней, то Jekyll. Установив этого зверя (не сразу, т.к. на Windows вечные проблемы с установкой чего-то подобного) я даже смог запустить пустую версию сайта на GitHub Pages. Удалось локализовать сайт, но правда не весь. Почему-то даты локализоваться не хотели. Вроде бы некритично, но неприятно. Другой проблемой было то, что Jekyll написан на Ruby и использовал всю соответствующую инфраструктуру. Я ооочень далек от Ruby. И желания копаться или даже изучать его нет от слова совсем. По этому я занялся поиском SSG. Особо каких-то критериев не было разве что:
- должен быть относительно популярным;
- желательно, чтобы был написан на чем-то, что является стандартов в вебе (JS или TS);
- да пожалуй и все).
При первом же запросе можно наткнуться на сайт Jamstack, на котором собраны, пожалуй, все основные генераторы. Выбор такой, что глаза разбегаются. Почитал, что-то попробовал (Hugo, Eleventy, Hexo и другие). Или попытался попробовать, т.к. могло с первого раза не завестись. Были даже шальные мысли написать свой). Но такие мысли нужно гнать от себя подальше (тем более когда ты ничего не рубишь в веб разработке). Наверное это своего рода профдеформация?
Пока остановил свой выбор на Hexo. Посмотрим, что из всего этого выйдет).
Таким образом план примерно такой:
- разобраться с Hexo;
- перенести старый блог в подпапку;
- выложить блог на сервер;
- запилить свою тему (опционально);
- и начинать писать статьи)
Как-то так). Ну а на сегодня все. Увидимся совсем скоро уже в следующем посте.