Весна пришла — пора паять! 5 проектов на малинке, чтобы не скучать / Хабр
https://habr.com/ru/companies/selectel/articles/893268/
https://habr.com/ru/companies/selectel/articles/893268/
Хабр
Весна пришла — пора паять! 5 проектов на малинке, чтобы не скучать
Март — время, когда хочется заняться чем-то новым. У кого-то это сад, у кого-то — ремонт, а у гиков — электроника на Raspberry Pi. В сегодняшней подборке мы собрали пять свежих проектов на «малинке»:...
Крошечный веб-сервер на ESP32 / Хабр
https://habr.com/ru/companies/otus/articles/894174/
https://habr.com/ru/companies/otus/articles/894174/
Хабр
Крошечный веб-сервер на ESP32
Доступ по сети к вашему DIY‑устройству позволяет сделать его более гибким, ведь для того, чтобы внести какие‑то изменения в настройки к примеру, вашей метеостанции, вы можете...
Forwarded from Уставший техдир
Преждевременная оптимизация
Есть такая тема: когда ты создаешь что-то новое, видишь кучу точек для оптимизации и начинаешь в них проваливаться, тратя уйму времени:
- О, у нас тут в перспективе появится большая нагрузка, давай я заморочусь с кешем и репликацией!
- Смотри, этот кусок кода явно станет bottleneck’ом через три года, давай перепишем его на Go/Rust/C!
- Надо заложить возможность оптимизировать процесс работы до уровня low-code, давай потратим все усилия, спроектируем и закодим сложнейший редактор!
Все эти идеи уводят тебя от первоначальной задачи, которой ты на самом деле занимаешься. Очень важно сфокусироваться на требованиях и сделать их максимально простыми и понятными. И только после того, как у тебя есть реально рабочий прототип, который отвечает всем требованиям, можно переходить к оптимизации.
Двигатель на фото — один и тот же, с разницей в пять лет.
Есть такая тема: когда ты создаешь что-то новое, видишь кучу точек для оптимизации и начинаешь в них проваливаться, тратя уйму времени:
- О, у нас тут в перспективе появится большая нагрузка, давай я заморочусь с кешем и репликацией!
- Смотри, этот кусок кода явно станет bottleneck’ом через три года, давай перепишем его на Go/Rust/C!
- Надо заложить возможность оптимизировать процесс работы до уровня low-code, давай потратим все усилия, спроектируем и закодим сложнейший редактор!
Все эти идеи уводят тебя от первоначальной задачи, которой ты на самом деле занимаешься. Очень важно сфокусироваться на требованиях и сделать их максимально простыми и понятными. И только после того, как у тебя есть реально рабочий прототип, который отвечает всем требованиям, можно переходить к оптимизации.
Двигатель на фото — один и тот же, с разницей в пять лет.
Менеджер закладок на своём сервере / Хабр
https://habr.com/ru/companies/ruvds/articles/896082/
https://habr.com/ru/companies/ruvds/articles/896082/
GitLab CI для Docker-образов / Хабр
https://habr.com/ru/companies/otus/articles/896010/
https://habr.com/ru/companies/otus/articles/896010/
Forwarded from For Web — фронтенд, дизайн, программирование
This media is not supported in your browser
VIEW IN TELEGRAM
В Chrome 135 появилась возможность полной стилизации нативных селектов: другие браузеры пока этого не поддерживают, но такая стилизация может быть прогрессивным улучшением → https://developer.chrome.com/blog/a-customizable-select
Слайдер для сравнения изображений на JavaScript
Руководство по созданию слайдера в 6 строк кода.
https://muffinman.io/blog/image-comparison-slider/
Руководство по созданию слайдера в 6 строк кода.
https://muffinman.io/blog/image-comparison-slider/
Мокаем сложные API запросы с Mirage JS
Туториал по работе с Mirage JS — как создать фейковые серверы, модели данных и маршруты, чтобы упростить разработку и тестирование. Примеры настройки сложных сценариев.
https://blog.logrocket.com/mocking-complex-apis-mirage-js/
Туториал по работе с Mirage JS — как создать фейковые серверы, модели данных и маршруты, чтобы упростить разработку и тестирование. Примеры настройки сложных сценариев.
https://blog.logrocket.com/mocking-complex-apis-mirage-js/
Forwarded from XOR
Git вчера отпраздновал 20 лет!
7 апреля 2005 года Линус Торвальдс за пару недель написал систему управления версиями, которая должна была заменить BitKeeper при разработке ядра Linux. С тех пор без него не живёт ни один проект.
В честь годовщины собрали популярные Git-тренажёры:
Сохраняем☕️
@xor_journal
7 апреля 2005 года Линус Торвальдс за пару недель написал систему управления версиями, которая должна была заменить BitKeeper при разработке ядра Linux. С тех пор без него не живёт ни один проект.
В честь годовщины собрали популярные Git-тренажёры:
🟢 Oh My Git! — карточная игра с открытым исходным кодом, которая учит логике Git. GitHub тут.🟢 Learn Git Branching — без преувеличений лучший визуальный тренажёр для понимания веток, merge и rebase.🟢 The Git Game — квест в терминале. Всё как мы любим: клонируешь репу, читаешь README и идёшь решать загадки в консоли. Всего 10 уровней.
Сохраняем
@xor_journal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Forwarded from CodeCamp
Google.pdf
6.5 MB
Тем временем Google выпустил гайд по промтингу LLM-ок аж на 68 страниц, из которого можно узнать:
— Кто такие top-K и top-P и как они влияют на ответы нейросетей;
— Что такое One Shot и сколько выстрелов нужно, чтобы нейронки нормально отвечали;
— Как заставить LLM играть какую-то роль;
— Техника Step-back prompting: это когда мы просим модель сформулировать рамки вопроса прежде чем отвечать. Например
— Старая-добрая цепочка мыслей;
— Еще много чего.
— Кто такие top-K и top-P и как они влияют на ответы нейросетей;
— Что такое One Shot и сколько выстрелов нужно, чтобы нейронки нормально отвечали;
— Как заставить LLM играть какую-то роль;
— Техника Step-back prompting: это когда мы просим модель сформулировать рамки вопроса прежде чем отвечать. Например
❌Какие преимущества электромобилей?
✅Прежде чем ответить, какие преимущества имеют электромобили, сформулируй, какие критерии мы должны учитывать при оценке любого вида транспорта. Затем на их основе проанализируй электромобили.
— Старая-добрая цепочка мыслей;
— Еще много чего.
Forwarded from Заметки разработчика
Быстрая сортировка строк с `Intl.Collator`Улучшите сортировку строк с учётом локали, заменив повторяющиеся вызовы `
String.localeCompare` одним экземпляром `Intl.Collator` для более быстрого и эффективного сравнения.Сортировка строк может создавать неожиданные проблемы с производительностью, особенно при работе с большими наборами данных, нуждающимися в соответствующей локализации. Многие разработчики полагаются на
String.localeCompare для сортировки по алфавиту, но есть и более эффективный подход, заслуживающий внимания.#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Вcё ещё трекаете? Почему контроль часов мешает работе команды (и что с этим делать) / Хабр
https://habr.com/ru/articles/902390/
https://habr.com/ru/articles/902390/
🧨 ESLint - умное подавление ошибок
В 9 версии появилась такая штуковина, что мы теперь можем не бояться включать строгие правила в действующем проекте.
Ранее у нас было триллион ошибок в консоли, поэтому ты их либо все фиксишь и тратишь кучу времени, либо не добавляешь полезное правило, которое может помочь в работе
Теперь все проще. ESLint добавил систему подавления нарушений:
👉🏻 Сохраняет текущие ошибки в отдельный файл
👉🏻 Применяет правило только к новому коду
👉🏻 Позволяет устранять старые ошибки постепенно
👉🏻 Работает с --fix, --cache и поддерживает команду --prune-suppressions для очистки
🛠️ Обновляйтесь и тестируйте:
https://eslint.org/blog/2025/04/introducing-bulk-suppressions/
P.S. Файл с ошибками будет лежать в корне проекта, но флагом `--suppressions-location` можно изменить локацию этого файлика
В 9 версии появилась такая штуковина, что мы теперь можем не бояться включать строгие правила в действующем проекте.
Ранее у нас было триллион ошибок в консоли, поэтому ты их либо все фиксишь и тратишь кучу времени, либо не добавляешь полезное правило, которое может помочь в работе
Теперь все проще. ESLint добавил систему подавления нарушений:
👉🏻 Сохраняет текущие ошибки в отдельный файл
👉🏻 Применяет правило только к новому коду
👉🏻 Позволяет устранять старые ошибки постепенно
👉🏻 Работает с --fix, --cache и поддерживает команду --prune-suppressions для очистки
🛠️ Обновляйтесь и тестируйте:
https://eslint.org/blog/2025/04/introducing-bulk-suppressions/
P.S. Файл с ошибками будет лежать в корне проекта, но флагом `--suppressions-location` можно изменить локацию этого файлика
👍1
Даже не влезайте в Kubernetes без этого / Хабр
https://habr.com/ru/companies/h3llo_cloud/articles/902188/
https://habr.com/ru/companies/h3llo_cloud/articles/902188/
Избавляемся от any в проектах на TS
any отключает многие проверки типов и снижает безопасность кода. Заметка о том, какие правила линтинга использовать, чтобы сделать ваш код более надежным.
https://typescript-eslint.io/blog/avoiding-anys/
any отключает многие проверки типов и снижает безопасность кода. Заметка о том, какие правила линтинга использовать, чтобы сделать ваш код более надежным.
https://typescript-eslint.io/blog/avoiding-anys/
Команда Docker выпустила плагин Docker DX для VS Code / Хабр
https://habr.com/ru/news/903890/
https://habr.com/ru/news/903890/
«Чинители прекрасного»: «Яндекс» провёл фестиваль для любителей железа / Хабр
https://habr.com/ru/news/904562/
https://habr.com/ru/news/904562/
Хабр
«Чинители прекрасного»: «Яндекс» провёл мероприятие для любителей железа
25 апреля 2025 года «Яндекс» провёл мероприятие для любителей железа «Чинители прекрасного». На мероприятии с докладами выступили разработчики роботов компании, автономного транспорта и умных...
Паттерны проектирования Composable в Vue / Хабр
https://habr.com/ru/articles/904818/
https://habr.com/ru/articles/904818/
🔥1
✨ Нативные Observable уже в Chrome
В Chrome 135 появился Observable API — удобный способ обработки асинхронного потока событий. Это не просто альтернатива RxJS, а полноценная интеграция в Web API.
Главное преимущество — интеграция с EventTarget: метод when() возвращает Observable, который представляет собой улучшенную версию addEventListener().
С ним обработка событий в DOM выглядит так:
Больше подробностей можно прочитать здесь, а RxJS 8 теперь будет двигаться вперед с учетом этих изменений.
👉 https://dev.to/this-is-angular/ng-news-2515-native-observables-3ea7
В Chrome 135 появился Observable API — удобный способ обработки асинхронного потока событий. Это не просто альтернатива RxJS, а полноценная интеграция в Web API.
Главное преимущество — интеграция с EventTarget: метод when() возвращает Observable, который представляет собой улучшенную версию addEventListener().
С ним обработка событий в DOM выглядит так:
el.when('click').subscribe(console.log)Больше подробностей можно прочитать здесь, а RxJS 8 теперь будет двигаться вперед с учетом этих изменений.
👉 https://dev.to/this-is-angular/ng-news-2515-native-observables-3ea7
🔥1
Google запускает инструменты искусственного интеллекта для практики языков с помощью персонализированных уроков / Хабр
https://habr.com/ru/companies/bothub/news/905694/
https://habr.com/ru/companies/bothub/news/905694/
Хабр
Google запускает инструменты искусственного интеллекта для практики языков с помощью персонализированных уроков
Во вторник Google выпускает три новых инструмента AI, направленных на то, чтобы помочь людям научиться говорить на новом языке более персонализированным образом. Хотя эксперименты все еще находятся на...
Перемещение элементов в DOM при помощи moveBefore
moveBefore позволяет перемещать элементы без первоначального удаления их из DOM, что добавляет удобства, т.к. в случае iframe - нет перезагрузки содержимого, активные элементы остаются в фокусе и т.д. Более подробно - по ссылке.
https://www.bram.us/2025/01/16/move-elements-around-the-dom-while-preserving-their-state-with-movebefore/
moveBefore позволяет перемещать элементы без первоначального удаления их из DOM, что добавляет удобства, т.к. в случае iframe - нет перезагрузки содержимого, активные элементы остаются в фокусе и т.д. Более подробно - по ссылке.
https://www.bram.us/2025/01/16/move-elements-around-the-dom-while-preserving-their-state-with-movebefore/
🔥1