Как стать автором
Обновить
2
0.2
Отправить сообщение

Магия CSS на практике: советы по вёрстке от гика

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


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


Цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями.


Сегодня я расскажу:

  • как избавиться от соседнего родственного комбинатора + при реализации нестандартных чекбоксов и радиокнопок;
  • про свойство inset, сокращающее код на целых три строки;
  • мой сниппет для расширения интерактивной области у кнопок и ссылок;
  • стиль написания медиа-запросов, позволяющий сократить количество правил;
  • альтернативный способ центрирования элемента без свойства transform.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+52
Комментарии9

Топ 10 deepnude нейросетей 2023 года

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

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

Итак, в данной статье поговорим о пикантных и для некоторых людей непристойных темах, которые больше всего интересуют наше общество - обнаженное тело. Сделаем обзор таких сервисов как: Deepnude.ai, Deepfake.com, DeepSwap.ai, SoulGen и прочих.

Читать далее
Всего голосов 87: ↑73 и ↓14+85
Комментарии68

Деплоим Next.js приложение через PM2

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

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

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

NocoDB, open-source аналог Airtable

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


Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилось конвертировать плагинами и костылями, то в Airtable рабочий процесс такой же плавный и удобный, как в Notion при работе с текстом. Но есть один нюанс: Airtable работает по модели сервиса с ограниченным бесплатным функционалом, а код, конечно, закрыт. К счастью, опенсорс-сообщество равно или поздно создаёт открытые альтернативы всем популярным сервисам, и благодаря совместной работе двух десятков разработчиков появился NocoDB.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии1

Неожиданная полнота по Тьюрингу повсюду

Время на прочтение13 мин
Количество просмотров61K
Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере?

Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp. — Десятое правило Гринспена

Полнота по Тьюрингу (Turing-completeness, TC) — это свойство системы при некотором простом представлении ввода и вывода реализовать любую вычислимую функцию.

Тьюринг-полнота — фундаментальное понятие в информатике. Она помогает ответить на многие ключевые вопросы, например, почему невозможно создание идеальной антивирусной программы. Но в то же время она является поразительно распространённым явлением. Казалось бы, компьютерной системе трудно достичь такой универсальности, чтобы выполнять любую программу, но получается наоборот: трудно написать полезную систему, которая немедленно не обратится в полную по Тьюрингу. Оказывается, что даже небольшой контроль над входными данными и преобразованием их в результат, как правило, позволяет создать тьюринг-полную систему. Это может быть забавным, полезным (хотя обычно нет), вредным или чрезвычайно небезопасным и настоящим подарком для хакера (см. о «теоретико-языковой безопасности», которая изучает методы взлома «странных машин»1). Удивительные примеры такого поведения напоминают нам о том, что полнота по Тьюрингу таится повсюду, а защитить систему чрезвычайно сложно.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии15

Используем REM для адаптива: комфортная резиновая вёрстка для всех устройств

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

Все верстальщики рано или поздно сталкивались с болью, которая заключается в адаптиве сайта под различные устройства. Существуют разные технологии, упрощающие подгонку размеров под определённые устройства, например, clamp(). Эта функция удобна, так как позволяет минимизировать использование брейкпоинтов, но у неё есть свои недостатки:

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

Нейминг HTML-тегов

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

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

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

Что нужно знать о современном CSS (весна 2024 года)

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

Цель этого руководства — познакомить вас со списком новых (потрясающих) возможностей, недавно появившихся в CSS.

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

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

Реализуем touch жесты на vanilla js. Часть 2 (drag, resize)

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

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

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

Как создать сайт с помощью нейросети: ТОП-20 ИИ No-code платформ

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

Создание сайтов с помощью нейросетей – новый тренд, и написано об этом уже много, но если раньше нужно было задействовать сразу несколько ИИ-сервисов: в ChatGPT сгенерировать идею и структуру сайта, нарисовать дизайн с помощию MidJourney или Stable Diffusion, а уже потом сверстать из этого сайт, то в последние полгода начали набирать обороты No-code платформы, которые объединяют в себе сразу несколько нейросетей и выдают готовый сайт исходя из промта в несколько строчек. В этой статье расскажу как работают No-code сервисы на основе нейросетей и разберу ТОП-20 ИИ No-code платформ для создания сайта.

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

Как я делал шрифтовые иконки. Совмещаем желание UX-дизайнеров и возможности фронтендеров

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

Привет, Хабр! Меня зовут Артём Поморцев. Я фронтенд-разработчик компании «Криптонит» и хочу поделиться своим опытом создания набора иконок (icon pack).

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

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

Сложнейшая проблема компьютерных наук: центрирование

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

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто:

display: flex;
justify-content: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Не спрашивайте, почему вам нужно запомнить четыре слова вместо просто горизонтальное/вертикальное; всё равно лучше, чем было до этого.

Ещё можно использовать сетку:

display: grid;
justify-items: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Также не спрашивайте, почему выражение justify-content стало justify-items.
Читать дальше →
Всего голосов 194: ↑189 и ↓5+227
Комментарии56

Анимации CSS, основанные на времени

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

Демонстрация анимаций

В моем предыдущем посте Time Uniform For CSS Animation я рассказал о способе создания CSS-анимации с использованием тиков вместо ключевых кадров. Он был ограничен в применении, поскольку в CSS отсутствовала возможность выполнять сложные математические вычисления.

После долгих лет ожидания в CSS теперь поддерживается достаточное количество математических функций, в частности, mod(), round() и тригонометрические функции. Пришло время вернуться к анимации, основанной на времени, надеюсь, на этот раз она будет более полезной.

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

Весь Росатом работал на Джире — и что случилось в день Х

Время на прочтение10 мин
Количество просмотров125K
image

В 2018–2019 году мы уже догадывались, что нужно какое-то импортозамещение, потому что как-то немного странно, что Росатом зависит от зарубежного вендора. Джира проникала в структуру незаметно и понемногу, и в какой-то момент оказалось, что на ней ведутся многие проекты кроме строительства АЭС и других объектов. И речь не про ИТ-проекты, а вообще про все проекты, которые у нас есть.

Пару лет мы лежали в сторону поиска аналога (которого на самом деле нет).

1 февраля 2021 году Atlassian объявил о прекращении поддержки серверной версии. Решили запланировать переезд в дата-центр, но увидели, что это такой хитрый способ поднять цену в полтора раза. Стало грустно, но аналогов на рынке всё ещё не было.

Потом был технический сбой на 2 недели. Люди за 2 недели потеряли свои данные. Стало ещё грустнее.

Потом пришло письмо счастья, что аккаунты РФ будут отключены. Но сроки не обозначили.

В общем, мы опять огляделись в поисках аналогов для проектов нашего масштаба, взяли решения нескольких вендоров для сравнения, чуть не сошли с ума от прекрасных стратегий их продажи и доработок продуктов прямо во время презентаций, плюнули и написали своё отраслевое решение. Которое ещё и предлагаем другим российским компаниям.
Читать дальше →
Всего голосов 270: ↑249 и ↓21+284
Комментарии323

Детки, не учитесь кодить. Вместо этого освойте моделирование

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

«Я хочу творить, а не быть следствием чужого творчества. Я хочу принадлежать к тем, кто создает смыслы, а не быть плодом этого смысла».

Представьте себе ситуацию. Скоро истекут сроки подачи документов в колледж. Очередная партия новичков изберет профессию, адепты которой постоянно задаются вопросом: «А нужны ли будут программисты через год... через пять лет... или через десять лет?». И хотя горячие дебаты на этот счет уже улеглись, в воздухе висит немой вопрос: не настанет ли час, когда крупные языковые модели, такие как ChatGPT, заменят нас на поприще написания кода. Неважно, кто ты — абитуриент, зависший в нерешительности перед выбором ВУЗа, или матерый кодер, я предлагаю тебе остановиться и кое-что переосмыслить. А поможет нам в этом деле... кукла Барби.

Читать далее
Всего голосов 32: ↑25 и ↓7+26
Комментарии50

«Я в топ 4% мира на LeetCode» — это оказалось на удивление просто и недолго

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

Ко мне в коучинг пришёл джентльмен. Чуть меньше 20 лет опыта в разработке. Одна из ключевых задач, которая ему была интересна — Как начать литкодить каждый день?

«То настроения, то сил нету, то задачи не понимаю.. Начинаю раз в полгода и бросаю» — самый обычный набор приколов, которые мешают.

Я предложил ему обернуть всё это в привычку и дисциплину. Я собрал свою методологию прививания привычек основываясь на:

Ежедневно он тратил на Литкод 15–20 минут. Не более. Иногда участвовал в турнирах, которые и зафиксировали результат в топ 4%.

Читать далее
Всего голосов 98: ↑43 и ↓55+3
Комментарии116

Неизвестно полезный CSS. Часть 3

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS-фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React-приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.


Сегодня мы рассмотрим:

  • возможность задать несколько фонов с помощью свойства background;
  • свойство display, которое позволяет сделать так, что свойства элемента будут влиять через потомка;
  • как заставить псевдоэлемент nth-child выбрать элементы без привязки к позиции;
  • где будет находиться элемент с position: absolute, если для него заданы свойства grid-column и grid-row.

Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

Читать дальше →
Всего голосов 38: ↑37 и ↓1+52
Комментарии13

Идеальная рабочая станция Linux на процессоре Apple M1 (ARM64)

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


Моё знакомство с Asahi Linux началось в марте прошлого года, когда на свет появилась альфа-версия Asahi. Я сразу же установил её на свой Mac Mini с 8-ядерным Apple M1 (ARM64). Asahi — это дистрибутив Linux, который нативно работает в «маках» на Apple Silicon благодаря хитрым хакам и реверс-инжинирингу от сообщества Open Source. Более того, запуск Asahi абсолютно легален, поскольку Apple официально разрешает загрузку отличных от macOS операционных систем на своей платформе Apple Silicon.

Слово Asahi переводится как «утреннее солнце». И это не только известная марка японского пива, но и дистрибутив Linux, который назван так, дабы подчеркнуть первенство команды разработчиков в освоении платформы Mac.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+43
Комментарии72

Неизвестно полезный CSS. Часть 2

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS-фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React-приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.


Сегодня мы рассмотрим:

  • загрузку фоновых изображений для экранов с повышенной плотностью пикселя с помощью функции image-set();
  • как с помощью неё же ускорить загрузку страницы;
  • можно ли использовать нестандартный шрифт без его загрузки;
  • чем полезен псевдокласс :focus-within при вёрстке кастомных чекбоксов;
  • мой любимый лайфхак на основе пользовательских CSS-свойств.

Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

Читать дальше →
Всего голосов 28: ↑28 и ↓0+33
Комментарии7

Топ-3 причины, почему вы должны использовать Copilot

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

Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot помогает в разработке на примере проекта на React/Typescript.

Читать далее
Всего голосов 32: ↑21 и ↓11+17
Комментарии33
1
23 ...

Информация

В рейтинге
2 206-й
Зарегистрирован
Активность