Алексей Соин · zencod.ru
19 subscribers
165 photos
16 videos
4 files
1K links
Статьи по разработке

- frontend
- backend
- server

zencod.ru
Download Telegram
Forwarded from Мир Linux
Небольшая шпаргалка по расширенным параметрам в Bash

Более подробно про расширенные параметры можно почитать на официальной странице.


PDF-версия в хорошем качестве — в комментариях

@linuxos_tg
Forwarded from FrontEndDev
Пара вещей про href в ссылках, о которых вы, возможно, не догадывались

Неожиданный спектр значений атрибута href — от протоколов mailto:, tel: до ссылок вроде href=".", href="?", data:-URI и медиа-фрагментов с временными метками. Мелочи, которые делают поведение ссылок более гибким и полезным.

https://blog.jim-nielsen.com/2025/href-value-possibilities/
👍1
Понимание CSS corner-shape и сила суперэллипса 🧑‍🎓

В Chrome 139 релизнули CSS corner-shape, и мы сразу изучаем что это такое 👨‍💻

Перевёл статью для тебя 👇
https://habr.com/ru/articles/938886/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мир Linux
Наглядное объяснение NAT (Network Address Translation)

@linuxos_tg
Forwarded from FrontEndDev
Вы неправильно загружаете шрифты (и это сказывается на производительности)

Джоно Олдерсон объясняет, как работают веб-шрифты и почему их неправильная загрузка может замедлять сайт. В статье разбираются оптимальные стратегии подключения — от выбора форматов до настройки font-display, чтобы ускорить рендеринг и улучшить пользовательский опыт.

https://www.jonoalderson.com/performance/youre-loading-fonts-wrong/
Forwarded from FrontEndDev
Использование Custom Highlight API

Custom Highlight API позволяет вам стилизовать участки текста в документе, используя JS для выделения и CSS для стилизации, что может быть удобно для реализации поиска по странице.

https://frontendmasters.com/blog/using-the-custom-highlight-api/
Forwarded from Веб-стандарты (Vadim Makeev)
Эффект жидкого стекла в браузере: рефракция на CSS и SVG. Крис Фейхо экспериментирует с SVG-фильтрами, чтобы добиться противоречивого, но очень привлекательного эффекта из будущих версий iOS и macOS. #css #svg

https://kube.io/blog/liquid-glass-css-svg/
Хватит писать try/catch вокруг fetch

История о том, как избавиться от постоянных оберток для отлова ошибок и сделать интерфейс фетчера удобнее.

https://habr.com/ru/articles/943732/
Forwarded from Веб-стандарты (Vadim Makeev)
Озвучивание CSS: альтернативный текст для CSS-контента. Сара Суайдан с большим исследованием о новом синтаксисе content: "…" / "alt" для альтернативного текста, который уже хорошо поддерживают браузеры, но ещё не всегда хорошо — скринридеры, например NVDA с Chrome. Когда им пользоваться, как тестировать, и стоит ли вообще вставлять контент через CSS. #css #a11y

https://www.sarasoueidan.com/blog/alt-text-for-css-generated-content/
Forwarded from CodeCamp
Ночное-полезное: полностью открытый и бесплатный мультиплатформенный Git-клиент 😋

Он закрывает почти всё, что нужно в реальной работе:
— Просмотр истории, веток и диффов (включая картинки);
— Коммиты, пуши, мерджи, ребейзы, теги и сташи;
— Интерактивный ребейз, blame и поиск по коммитам;
— Настройка тем и работа с подмодулями;
— Полная поддержка stage/unstage и отката строк.

Работает на всех платформах, выглядит современно и не требует танцев с SSH-ключами.

Наслаждайтесь 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Forwarded from Веб-стандарты (Vadim Makeev)
Представляем Vite+ — единую экосистему инструментов для JavaScript. Эван Ю анонсировал на ViteConf новую надстройку над Vite, объединяющий создание, сборку, тестирование, линтинг и форматирование кода, а также сборку библиотек и визуальные инструменты в одной среде. Вся цепочка написана на Rust и совместима с React, Vue, SvelteKit и другими фреймворками. Vite+ будет бесплатен для индивидуальных и опенсорсных проектов, но получит коммерческую лицензию для бизнеса. #vite #js

https://voidzero.dev/posts/announcing-vite-plus
Forwarded from CodeCamp
Девопсы, держите находку: мощный open source-мониторинг, который ставится за пару минут и сразу начинает следить за всем, что может упасть.

— HTTP, HTTPS, TCP, DNS, SQL, Docker, даже Steam-сервера;
— Уведомления в Telegram, Discord, Slack, Email и ещё в 90+ сервисов;
— Проверки каждые 20 секунд и красивые дашборды;
— Следит за SSL-сертификатами, портами, доменами и контейнерами;
— Есть мультистраничные статус-пейджи и поддержка 2FA.

Работает быстро, выглядит приятно, не требует облака.

Идеален, как и вы 💗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from ServerAdmin.ru
Я всегда без исключения в Linux использую swap в виде отдельного файла, а не раздела. Причина очень простая - это намного удобнее. Из глубины веков тянется шлейф убеждений, что отдельный раздел работает быстрее, чем файл. Теоретически - да, практически не понятно.

Во-первых, swap в принципе редко используется интенсивно. Во-вторых, как замерить скорость его работы на реальной нагрузке? В-третьих, разница если и будет, то незначительная. Swap в виде файла позволяет на лету менять свой размер или вовсе его отключать, если экстренно понадобится доступное место. Это весомое преимущество, которое стоит использовать.

Swap в 1 ГБ добавляю так:

# dd if=/dev/zero of=/swap bs=1024 count=1000000
# mkswap /swap
# chmod 0600 /swap
# swapon /swap

Если всё ок, то добавляю в /etc/fstab:

/swap swap swap defaults 0 0

Отдельно отмечу, что не рекомендуется создавать пустой файл с помощью truncate или fallocate:

# truncate -s 1G /swap
# fallocate -l 1G /swap

Он создастся мгновенно, в отличие от dd, которая явно пишет туда нули. Не помню, в какой документации читал, но запомнил, что swap лучше нулями сразу записать, а не создавать пустым.

Если swap уже настроен в виде раздела, то трогать уже не буду, если только это не пустая виртуалка. Иногда попадаются виртуалки с lvm, где swap в виде отдельного lv раздела. Это стандартная схема установки в Debian. В этом случае его можно удалить, объединить с основным, а swap сделать в виде файла.

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

Последовательность действий тут такая. Смотрим список разделов:

# lvs
root   web-01-vg -wi-ao---- <27.51g
swap_1 web-01-vg -wi-ao---- <1.54g


Небольшая виртуалка с диском на 30 ГБ, где 1,5 отдано под swap. Уберём этот раздел и объединим с основным. Отключаем этот swap:

# swapoff -a

И сразу же проверьте файл /etc/fstab. Там нужно удалить строку с подключением этого раздела. Выглядит примерно так:

/dev/mapper/web--01--vg-swap_1 none      swap  sw       0    0

Закомментируйте её. Удаляем раздел со свапом:

# lvremove /dev/web-01-vg/swap_1
Do you really want to remove active logical volume web-01-vg/swap_1? [y/n]: y
 Logical volume "swap_1" successfully removed.

Расширяем корневой раздел:

# lvextend -l +100%FREE /dev/web-01-vg/root
 Size of logical volume web-01-vg/root changed from <27.51 GiB (7042 extents) to 29.04 GiB (7435 extents).
 Logical volume web-01-vg/root successfully resized.

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

# resize2fs /dev/web-01-vg/root
resize2fs 1.47.2 (1-Jan-2025)
Filesystem at /dev/web-01-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 4
The filesystem on /dev/web-01-vg/root is now 7613440 (4k) blocks long.

Проверяем, что получилось:

# df -h | grep root
/dev/mapper/web--01--vg-root  29G 4.7G  23G 18% /

Раздел стал 29G против предыдущих 27.5G. Дальше можно добавлять swap в виде файла, как я показал в начале. И обязательно, когда всё закончите, перезагрузите виртуалку и убедитесь, что всё в порядке. Все эти операции не требуют перезагрузки, но если где-то ошиблись, особенно в fstab, можете получить проблемы во время загрузки. По горячим следам это легко исправить, а если reboot случится через полгода и система не загрузится, можно сразу не сообразить, из-за чего это.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#linux #terminal #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from FrontEndDev
Динамические CSS-макеты с использование :has(), container queries и clamp()

Ахмад Шадид подробно разбирает, как строить сложные и адаптивные компоненты интерфейса, используя современные возможности CSS.

https://ishadeed.com/article/modern-css-section-layout/
Forwarded from CodeCamp
This media is not supported in your browser
VIEW IN TELEGRAM
Ночное-полезное: редактируем Markdown в VSCode с кайфом 😊

Новое расширение превращает редактор в чистый, визуально спокойный режим без лишнего шума:

— Заголовки становятся крупнее и читаемее;
— Символы форматирования (**, *, ~~, `) скрыты;
— Цветное выделение убрано — остаётся только текст.

В итоге Markdown выглядит почти как итоговый документ — без постоянного переключения в предпросмотр.

README в радость 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Веб-стандарты (Vadim Makeev)
Новинки Firefox 145 для разработчиков. Добавлена поддержка text-autospace, универсального шрифта math и <hr> в <select> на Android. В JavaScript появился Atomics.waitAsync() для асинхронной синхронизации потоков, а в HTTP — заголовки Integrity-Policy для проверки целостности скриптов. Поддержан контейнер Matroska, новые события WebDriver BiDi и экспериментальные Anchor Positioning и Trusted Types. #browser #firefox

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/145
Forwarded from XOR
This media is not supported in your browser
VIEW IN TELEGRAM
Google внезапно выкатили Code Wiki — платформу, которая превращает любой репозиторий в интерактивную документацию.

Инструмент сам строит карту проекта, добавляет диаграммы и создает видео пояснение с помощью NotebookLM. А еще там можно пообщаться с Gemini, чтобы окончательно во всем разобраться. И да — это всё бесплатно.

Такое мы сохраняем 🤩

@xor_journal
Please open Telegram to view this post
VIEW IN TELEGRAM