Как стать автором
Обновить
8
0
Михаил Иванов @LyuMih

Web-разработчик

Отправить сообщение

«В чём причина?» — спросил Тимлид

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров11K

«В чём причина?» — такой первый вопрос я бы советовал задавать перед решением каждой ошибки и задачи.

«Вижу следствие» — Чаще всего мы стараемся исправить ошибку как она есть, но не разобраться, какой причиной она была вызвана.

Простой реальный пример с проекта, над которым я сейчас работаю.

Заголовок страницы заглавными написан «ПРОДУКТЫ» вместо «Продукты».

Следствие: видно сразу — быстро поправить и забыть про этот баг. Минимум приложенных усилий.

Читать далее
Всего голосов 14: ↑7 и ↓7+4
Комментарии23

BALLSORT на $mol. Часть 2

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.4K

Сегодня мы продолжим переписывание на $mol этой демки. Кто не читал первую часть, рекомендую сначала ознакомиться с ней BALLSORT на $mol. Часть 1

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии3

BALLSORT на $mol. Часть 1

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.8K

Сегодня мы перепишем на $mol эту демку почти пиксель в пиксель и напишем несколько тестов.

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

Изначально она была реализована на эффекторе + react, недавно несколько человек реализовали ее на реатоме + react исходники, на vue исходники и две независимых версии на моле: первая и моя о ней пойдет речь.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии22

Простенькие заметки на $mol

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.6K

картинка для привлечения внимания. чорт. надеюсь никто не читает альты..
Начало пути капитана $mol'a! Шта?..


Здравствуйте, меня не зовут Дмитрий Карловский и я… решил написать простенькие заметки на $mol в несколько итераций:


  1. Настраиваемся
  2. Возводим скелет
  3. Сохраняемся
  4. Шаримся
  5. Пакуемся
Читать дальше →
Всего голосов 15: ↑9 и ↓6+4
Комментарии5

Догфудинг: руководство по применению

Время на прочтение6 мин
Количество просмотров6.6K
Термин «догфудинг» (буквально: «поедание своего собственного собачьего корма») обозначает практику, когда компания использует в работе свои собственные продукты. Есть и более аппетитные выражения, например, «пьем собственное шаманское», «едим то, что сами приготовили». В некоторых компаниях такую практику описывают как принятие роли «нулевого клиента». Вне зависимости от названия, цель регулярного использования самодельных продуктов состоит в том, чтобы стать их первым и самым ценным пользователем, активнее собирать обратную связь от аудитории и быстрее вводить инновации.

Идея применения созданных продуктов внутри компании не нова. Всем хорошо известна история о том, как в начале 2000-х Джефф Безос разослал по всей компании распоряжение, согласно которому все команды Amazon обязаны были «представлять свои данные и функциональность через интерфейсы сервиса» и взаимодействовать друг с другом также при помощи этих интерфейсов. Он добавил, что прямой доступ к базам данных и любые другие способы получения данных напрямую из источника теперь под запретом. Это знаменитое распоряжение заканчивалось словами: «Все нарушители будут уволены. Спасибо и хорошего дня».

Не все руководители запускают программы догфудинга с таким напором, однако подобные практики сейчас вводят во многих компаниях в надежде, что из «влезания в шкуру» пользователя можно будет извлечь пользу для продукта.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Архитектура крипто ТЭЦ

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров4.3K

Всем привет! Мы - команда $mol_team, и нам есть что рассказать про безопасность. Недавно мы участвовали в хакатоне по кибериммунитету Касперского, от которого у нас остался любопытный артефакт, который будет небезынтересен всем, кого волнуют безопасные высоко доступные децентрализованные криптосистемы реального времени.

Пенетрировать систему
Всего голосов 9: ↑7 и ↓2+6
Комментарии27

Реализация IDisposable в моделях представлений в проектах MAUI

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.5K

В процессе разработки приложения MAUI 7 (.NET Multi-Platform App UI + dotnet 7) с использованием шаблона проектирования MVVM (Model–view–ViewModel) у меня возникла необходимость очищать ресурсы занимаемые моделями представления (View Model). Проблема вроде бы несложная, достаточно реализовать интерфейс IDisposable в моделях. Но все оказалось не так просто. Все модели внедряются на страницы с помощью стандартного механизма Dependency Injection. При использовании временных зависимостей (Transient) нет четкого понимания, когда ресурсы будут освобождены. В итоге, в программе создаются новые экземпляры моделей для каждого запроса, но старые продолжают висеть в памяти и занимать ресурсы.

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии15

Kandinsky создаёт игры

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров13K

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

В рамках этой статьи мы сосредоточимся на процессе создания игры, а именно визуальном оформлении карточной игры, используя Kandinsky 2.1. Мы рассмотрим оптимальные способы генерации изображений и дадим рекомендации по превращению сгенерированных артов в игральные карты для настольной игры.

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

Читать далее
Всего голосов 20: ↑17 и ↓3+23
Комментарии26

Humane API REST Protocol

Время на прочтение22 мин
Количество просмотров6.3K

Здравствуйте, меня зовут Дмитрий Карловский и я… как скульптор, отрезаю всё лишнее, чтобы оставить лишь самую мякотку, которая в наиболее лаконичной и практичной форме решает широкий круг задач. Вот лишь несколько спроектированных мною вещей:


  • MarkedText — стройный легковесный язык разметки текста (убийца MarkDown).
  • Tree — структурированный формат представления данных (убийца JSON и XML).

На этот же раз мы спроектируем удобный клиент-серверный API, призванный убрать кровавую пелену с глаз фронтендеров и стальные мозоли с пальцев бэкендеров..


HARP OData GraphQL
Architecture ✅REST ✅REST ❌RPC
Common uri query string compatible ⭕Back ✅Full
Single line query
Pseudo-static compatible ⭕Back ⭕Partial
Same model of request and response
File name compatible
Web Tools Friendly
Data filtering ⭕Unspec
Data sorting ⭕Unspec
Data slicing ⭕Unspec
Data aggregation ⭕Unspec
Deep fetch
Limited logic
Metadata query
Idempotent requests ✅Full ⭕Partial ❌Undef
Normalized response
Читать дальше →
Всего голосов 20: ↑9 и ↓11-1
Комментарии25

Искусственный Художник — Google от мира Text-To-Img

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.5K

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

Ранее я уже показывал вам самописного убийцу Гугл Поиска. Пользуюсь им до сих пор и доволен чистотой выдачи. Теперь же мы сделаем убийцу Artstation для творческих личностей, у которых терпения хватает лишь на несколько минут, за которые надо успеть создать настоящую красоту. И в этом нам помогут нейронные сети.

Далее вас ждёт реверс-инжениринг HuggingFace API для использования модели Kandinsky, поддержка запросов на 100 языках мира благодаря модели Small100, проектирование бесконечной виртуальной ленты в несколько строк на $mol и, конечно, примеры творчества Искусственного Художника.

Вскрыть пациента
Всего голосов 13: ↑10 и ↓3+10
Комментарии1

Почему шаблоны в $mol такие странные?

Время на прочтение8 мин
Количество просмотров4.8K

Здравствуйте, меня зовут Дмитрий Карловский и я.. дуб. Я пустил свои корни в адептов святого $mol, и выращиваю из них сверх‑людей, способных каждый год сбрасывать былые привычки и убеждения, но тут же пускать побеги свежих идей, базирующихся на прочном рациональном основании.

А в качестве примера, позвольте посеять и в вас зерно сомнения в правильности традиционных решений, и показать, почему синтаксис языка композиции компонент в $mol такой странный, и почему другие языки для этой задачи совсем не подходят.

Стать сверх-человеком за 5 мин
Всего голосов 25: ↑9 и ↓16-7
Комментарии40

Формат имён в коде

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Здравствуйте, меня зовут Дмитрий Карловский и я.. изобрёл $mol только для того, чтобы ваши глаза кровоточили, глядя в его код. Во всяком случае, такое ощущение может сложиться, если почитать разного рода околоJSНые чаты, но не обращаться к первоисточникам, где все технические решения вытекают из чисто прагматических рассуждений. Один из таких анализов позвольте представить вашему вниманию.

Вколоть прививку от бешенства
Всего голосов 27: ↑12 и ↓15-3
Комментарии20

Сравниваем структуры хоть и глубоко, но быстро

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.5K

Здравствуйте, меня зовут Дмитрий Карловский и я.. автор множества микроскопических и самых шустрых в своём классе библиотек. Одна из них - $mol_compare_deep, умеющая сравнивать произвольные структуры, даже содержащие циклические ссылки. И сейчас я вам расскажу, как ей это удаётся.

Погрузиться поглубже
Всего голосов 13: ↑9 и ↓4+5
Комментарии21

Трансплантация реактивности

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров3.1K

Здравствуйте, меня зовут Дмитрий Карловский, и я.. тот самый чел, который написал реактивную библиотеку $mol_wire. Именно благодаря мне вам есть сейчас чем пугать детей перед сном.

Но просто написать классную библиотеку — слишком мелкая цель. Построить на ней богатый фреймворк с кучей батареек — уже интересней, но всё ещё не достаточно амбициозно. Разработанный мной подход может стать lingua franca в коммуникациях между библиотеками, состояниями браузера, и даже между удалёнными узлами.

Берегите синапсы, сейчас будет настоящий киберпанк..

Открыть ментальный сокет
Всего голосов 23: ↑18 и ↓5+15
Комментарии35

Бестолковый дизайн

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.3K

Здравствуйте, меня зовут Дмитрий Карловский и я.. нет, я не дизайнер. Так что не стоит воспринимать мои слова всерьёз. Я просто пользователь. И у меня пригорает от популярных дизайнерских решений, бездумно копируемых из одного приложения в другое..

Я надел огнеупорное бельё и готов внимать
Всего голосов 39: ↑27 и ↓12+16
Комментарии75

Как я создавал эргономичное кресло. Часть 2. Подголовник

Время на прочтение9 мин
Количество просмотров16K

Привет, Хабр! Продолжаю рассказ о том, как я создавал кресло EasyWorkStation, решая собственные проблемы болей и дискомфорта при работе за компьютером. Описанный путь отнюдь не идеален и не лишен "детских" ошибок. Это не призыв в подобных ситуациях действовать подобным образом. Просто делюсь, как действовал я, исходя из своего опыта, образа жизни, привычек и потребностей.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии38

Big State Managers Benchmark

Время на прочтение9 мин
Количество просмотров9.5K

Здравствуйте, меня зовут Дмитрий Карловский и я.. большой любитель физики высоких энергий. Сталкиваешь такой совершенно разные вещи между собой, и смотришь на бабахи, уплетая поп-корн.

Так как в Реакте всё очень плохо с архитектурой, а страдают от него многие, то к настоящему времени появилось уже очень много так называемых менеджеров состояний. И каждый наперебой уверяет, что он самый быстрый, самый надёжный, самый компактный, самый выразительный и вообще самый правильный.

Что ж, давайте возьмём их всех и столкнём лбами друг с другом и с суровой реальностью, чтобы узнать кто же на самом деле тут батя!

Мне больше 18 и я готов к последствиям
Всего голосов 19: ↑11 и ↓8+4
Комментарии77

Защитить нельзя облажаться. Бюджет цифрового продукта

Время на прочтение6 мин
Количество просмотров1.9K

Меня зовут Дмитрий Крупенин, я руковожу продуктовой разработкой в Первой грузовой компании (ПГК). Мы (Цифровая фабрика ПГК) создаем инновационные цифровые продукты для транспортной отрасли – это сервисы для наших клиентов и внутреннего использования. Непосредственно я вместе с командой разрабатываю внутренние продукты по оптимизации управления вагонами, которых у нас много – более 100 тысяч. Нам важно, чтобы парк работал четко и на полную мощность. Разработкой продуктов «про железную дорогу и вагоны» я занимаюсь более 5 лет - работал в промышленных и логистических кампаниях, поэтому хорошо разбираюсь в вопросе и готов поделиться с вами внутренней кухней. Сегодня расскажу про то, как мы в ПГК собираем и защищаем бюджет на разработку цифровых продуктов. Своего рода шпаргалка, список хинтов и советов.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

14 полезных инструментов, ускоряющих и упрощающих веб-разработку

Время на прочтение4 мин
Количество просмотров35K
Я занимаюсь разработкой сайтов уже много лет и не верю в то, что если буду держать в секрете используемые мной инструменты, это даст мне серьёзное преимущество на рынке труда.

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



Здесь я расскажу о 14 инструментах, которые помогают мне в решении моих рабочих задач.
Читать дальше →
Всего голосов 41: ↑28 и ↓13+23
Комментарии15

Структура React REST API приложения + TypeScript + Styled-Components

Время на прочтение9 мин
Количество просмотров23K

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

Звучит интересно
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Алексин, Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность