Secret Code
572 subscribers
135 photos
23 videos
103 links
Новости из мира веб-дева и мысли админа
Download Telegram
👍 Нашёл хороший интерактивный учебник по SVGfffuel.co/sssvg. SVG можно создать, условно, в Иллюстраторе, но можно ведь и своими ручками!

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

В самом конце страницы также собраны ссылки на полезные ресурсы про SVG и SVG-генераторы 👇

fffuel.co/sssvg
Please open Telegram to view this post
VIEW IN TELEGRAM
311
🧐 Решил в своём проекте вместо привычной JSON-локализации попробовать систему Fluent

Mozilla разработала систему Fluent, которая позволяет создавать более гибкие и естественные переводы. Один из примеров её возможностей — это динамическое согласование перевода в зависимости от числительных, рода и других факторов. Давайте рассмотрим пример:


shared-photos =
{$userName} added {$photoCount ->
[one] a new photo
*[other] {$photoCount} new photos
}.


Этот код отвечает за формирование фразы, когда пользователь добавляет фотографии. Здесь Fluent использует переменные и правила согласования:
1. {$userName} — имя пользователя.
2. {$photoCount} — количество добавленных фотографий:
- Если значение переменной равно 1: “added a new photo”.
- В остальных случаях: “added N new photos”.

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

Процесс становится ещё более эффективным, когда в одной строке сразу упоминается местоимение пользователя, количество, числительные прилагательные. Вместо создания огромного количества строк создаётся всего одна динамическая.
Please open Telegram to view this post
VIEW IN TELEGRAM
21
👍 Коллекция компонентов shadcn/ui получила крупное обновление!

shadcn/ui — это коллекция реиспользуемых компонентов, предлагающая новый взгляд на UI-киты. Вместо использования компонентов из npm-библиотек, разработчики предлагают «копировать и вставлять» код компонентов прямо в ваши проекты. Это даёт полный контроль над компонентами, позволяя изменить всё, что необходимо под конкретные требования.

Вот основные изменения:

1️⃣ Интерфейс командной строки (CLI) теперь поддерживает все популярные React-фреймворки «из коробки», включая Next.js, Remix, Vite и другие.

2️⃣ Компоненты автоматически определяют свои зависимости. Например, аккордеон теперь может сам добавлять необходимые анимации в конфигурацию Tailwind. При добавлении компонента в проект, файл tailwind.config.ts обновляется корректно, без перезаписи ваших настроек, как это было раньше.

3️⃣ Компоненты можно устанавливать по ссылке на JSON. В shadcn/ui появилась новая схема, которую разработчики могут использовать для создания собственного реестра компонентов. Пока нет подробной информации о том, как это работает, но возможность выглядит многообещающе.

4️⃣ Команда init теперь автоматически определяет фреймворк и может даже создать новое приложение на Next.js одной командой.

5️⃣ Добавлена улучшенная поддержка монорепозиториев.

На канале Theo (t3.gg) вышло видео, где он показывает, как одной командой в консоли он добавил целую страницу на сайт, сгенерированную с помощью v0.dev. Думаю, что у этого функционала есть ПоТаНцЕвАл 👍

💬 Пользовались ли вы shadcn/ui?
Please open Telegram to view this post
VIEW IN TELEGRAM
532
Наверняка вы заметили, что когда нужно показать в интерфейсе или креативе, что функция или продукт связаны с искусственным интеллектом, чаще всего используют эмодзи блёсток (sparkles) или похожие на них иконки.

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

На этот вопрос нет одного единого ответа. Но есть несколько предположений 👇

⌛️ Футуризм и технологии — Блёстки символизируют прогресс и передовые технологии, такие как ИИ, который находится на пике инноваций.

🔮 Мистичность — Блёстки вызывают ощущение загадочности, что идеально отражает природу ИИ — сложную и труднопонимаемую для большинства.

💻 Цифровая эстетика — Они напоминают пиксели, что усиливает связь с виртуальной реальностью и цифровыми технологиями.

🚀 Космический масштаб — Ассоциации со звёздами подчёркивают глобальный, а порой и вселенский потенциал ИИ.

Оказывается, это не просто случайно выбранный символ. Блёстки действительно имеют ряд ассоциаций с ИИ, что делает их частым выбором при визуальном представлении технологий.

Теперь вы знаете, почему сверкающие образы так часто сопровождают продукты, связанные с искусственным интеллектом, которые становятся всё более неотъемлемой частью нашей жизни.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
732
Вы наверняка встречали схожий код 👇

const x = 5
;(function() {
console.log(x)
})()


💡 Это называется IIFE — немедленно вызываемая функция. Такая конструкция позволяет вызвать функцию сразу же после её объявления. Хотя её использование не рекомендуется, меня заинтересовало, почему в некоторых случаях IIFE требует точку с запятой перед собой. Я решил разобраться.

const x = 5
(function() {
console.log(x)
})()


Так я обычно пишу код, потому что привык опускать точку с запятой в своих проектах. Однако из-за этой привычки в этом коде возникнут проблемы:

🤯 Node.js выдаст ошибку при запуске.

🧹 Prettier или Biome попробуют отформатировать этот код, но сделают это некорректно.

JavaScript в этом случае может интерпретировать IIFE как часть предыдущего выражения const x = 5, что и приводит к сбоям в работе Node.js, Prettier и Biome.

const x = 5(() => {
console.log(x)
})()


Вот как Biome переделывает мой код, из-за чего Node.js пытается использовать число как функцию. Чтобы избежать таких проблем, важно вручную ставить точку с запятой перед IIFE. Однако лучше вообще избегать использования этой конструкции 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
433
This media is not supported in your browser
VIEW IN TELEGRAM
💻 Теперь мини-приложения в Телеграм могут отображать нативную второстепенную кнопку

Разработчик может настроить её расположение относительно основной и поставить на неё дополнительное действие. Ставлю лайк 🕺
Please open Telegram to view this post
VIEW IN TELEGRAM
322
💻 Когда дизайнер в Figma добавляет обводку, разработчик часто переносит её при верстке через свойство `border`. Однако это не всегда лучшее решение.

Проблемы с использованием border для обводки особенно заметны, когда обводка динамическая (например, появляется только у активного элемента). Один и тот же элемент с обводкой и без неё начинает менять свои размеры. Если обводка толще одного пикселя, становится ещё более очевидно, что верстка не соответствует pixel perfect.

Часто эту проблему решают с помощью тени — свойства box-shadow.

.withBorder {
box-shadow: 0 0 0 1px red;
}


В этом случае мы получим красную обводку, которая не изменяет размер элемента.

Кроме того, с помощью box-shadow можно создать внутреннюю обводку, которая накладывается на элемент, а не располагается снаружи, используя параметр inset:

.withBorder {
box-shadow: inset 0 0 0 1px red;
}


Такой эффект невозможно достичь с использованием обычного border. Этот метод также позволяет создавать полупрозрачные обводки, через которые видно содержимое элемента.
Please open Telegram to view this post
VIEW IN TELEGRAM
33
👩‍💻 JavaScript продолжает развиваться, и грядущий ECMAScript 2024 (ES15) привнесет в язык множество новых функций и улучшений

Эти обновления направлены на повышение эффективности работы разработчиков, читабельности кода и общей производительности 💻

Подробнее о нововведениях можно прочитать в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
31
🎉 Сегодня 256-й день года, а это значит, что мы празднуем День программиста!

Пусть ваш код всегда работает без багов, сборка проходит с первого раза, а вдохновение для крутых проектов никогда не заканчивается. Желаю вам новых свершений и интересных задач🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
932
😑 С кого срисовали?

Консорциум Unicode, некоммерческая организация, ответственная за разработку стандарта Unicode, выпустил 16-ю версию стандарта. В неё вошли новые эмодзи, и один из них вы видите на изображении. Этот эмодзи стал самым ожидаемым символом 2024 года.

Планируете использовать его? Он станет доступен в обновлениях операционных систем и приложений чуть позже — обычно это происходит в конце года или в начале весны.
Please open Telegram to view this post
VIEW IN TELEGRAM
822
👟 Тут на днях OpenAI анонснули новую модель o1-preview и o1-mini...

...говорят, что она намного эффективнее при решении математических задач и при написании кода. Судя по всему это связано с тем, что модель под капотом умеет пошагово «думать» и не нужно просить нейронку это делать.

В данный момент модель доступна для подписчиков ChatGPT (пока что дают очень маленький запас промптов), позже будет доступна для всех. Модель также на вход пока может принимать только текст.
Please open Telegram to view this post
VIEW IN TELEGRAM
41
Немного ностальгии

Вспоминаю, как начинал писать код в Notepad++, учился верстке в Dreamweaver. Ещё кодил в Sublime Text и Atom.

Недавно узнал, что Atom — это проект 💻 GitHub, и именно поэтому редактор прекратил получать обновления в 2022 году. Ведь у Microsoft есть 👩‍💻 VS Code. Был период, когда я использовал Brackets, который, как оказалось, разработан Adobe.

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

Теперь же VS Code уверенно лидирует. Согласно опросу разработчиков Stack Overflow 2023 года, этот редактор признан самым популярным инструментом для разработки. Из 86 544 респондентов, 73,71% сообщили, что используют его.

💬 Использовали ли вы другие редакторы помимо VS Code?
Please open Telegram to view this post
VIEW IN TELEGRAM
52