Пришел к хитрому паттерну. Делюсь.Будет полезен тем кому нравиться или приходится работать с Vue. В подходящей ситуации он сэкономит кучу времени и поможет избежать дублирования кода.КонтекстЕсть несколько компонентов.Компоненты должны выполнять одинаковую сложную логику.Компоненты должны принимать одинаковые свойства и эмитить одинаковые события.Свойства из composable могут быть опциональными со значениями по умолчанию.Каждый компонент выглядит совершенно по разному (разная вёрстка).Каждый ком…
Недавно работал над хобби-проектом, который описал в другой своей статье. В процессе его реализации у меня возникло желание чиркануть пару абзацев о том, почему React — отстой, но в итоге я не смог удержаться и решил высказаться по полной…Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.Древний AngularКогда я был ещё джуном и только осваивал профессию, мне довелось работа…
Когда я начинал писать Node.js-сервис, который должен был интегрироваться с LLM-моделью, я уже понимал, что доступ к некоторым зарубежным API из России может быть проблемой. Именно поэтому моим первоначальным выбором была модель от Yandex Cloud — Yandex GPT.Но после того как я и мои товарищи немного пообщались с ней, стало ясно, что Yandex GPT нам не подходит. Её ответы были слишком неестественными, «нечеловеческими» — особенно это было заметно в нашем конкретном кейсе. Поэтому пришлось искать …
Хочу поделиться эмоциями. Нужно было для жены визуализировать что такое ретроградный меркурий. В последнее время все подобные вопросы решаю через ИИ, но думал, что с таким оно не справится. Открыл свой ИИ агрегатор и попросил сделать анимацию солнечной системы с реальными орбитами и скоростями, а при наведении мышкой, чтобы выводил основную информацию по планетам. Все запросы делались через API, а не напрямую в ИИ. Вероятно, если делать напрямую - результат будет лучше. Запрос буквально в неско…
В рамках выпускной квалификационной работы мне предложили две интересные темы: интерактивную карту или тренажёр для SQL-запросов. Я хотел посложнее, чтоб получить побольше навыков и поднабраться опыта к окончанию бакалавриата, поэтому выбрал первое. Получилась небольшая ГИС, полностью написанная на JavaScript при помощи d3.js.Сразу скажу, что сейчас появилась небольшая проблема с тем, что фреймворк работает через Cloudflare, который блокируется РКН. Из-за чего js-код не прогружается, потому что…
Когда руководство решило перевести проектный трекинг с Яндекс.Трекера на JIRA, мы быстро поняли: простого "экспорта-импорта" не будет. Ни одно из готовых решений не справлялось с задачей полноценно — а именно с сохранением всей истории, авторства, чек-листов, вложений, связей, ссылок на другие задачи и пользователей, и даже оригинальной нумерации задач из Яндекс.Трекера.Что ж, вызов принят. Ниже расскажу, как я за 3 месяца написал систему, которая перенесла всё — до последней запятой в …
Суть атакиДанное исследование описывает способ обхода Content Security Policy на основе nonce-значений в реалистичном сценарии. Автор создал небольшой таск на XSS для демонстрации уязвимости и подробно разбирает все этапы эксплуатации.Если вас интересует только решение, то краткая суть такова: можно добиться повторного использования nonce-значения через bfcache с откатом на дисковый кеш после его утечки, а затем заставить HTML-инъекцию быть загруженной заново путем её изменения и запроса без ке…
Кликбейтные заголовки, давайте признаемся, надоели всем. Сейчас они встречаются даже на Хабре. Программист Линус Ли, судя по всему, испытывал те же чувства и решил действовать по принципу «не можешь победить — доведи до крайности». В результате он создал Tabloid — полноценный язык программирования, где весь код пишется в стиле сенсационных заголовков. Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вмес…
Привет, Хабр. Меня зовут Марат Исаев. В этой статье кратко рассмотрю устройство самописного микрофреймворка и его применение для написания приложения‑планировщика, чтобы вы могли написать свой фреймворк, для своих приложений. Подчеркну: статья образовательная и не охватывает enterprise‑разработку.Чтобы мой рассказ был более предметным, сразу покажу код фреймворка и приложения. Можете скопировать его прямо в консоль, запустить и по мере чтения статьи тестировать, разбираться и исследовать.Код фр…