This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня
Нет, на видео к посту вовсе не очередная реализация Tower Defense на ванильном JavaScript. Тут кое-что покруче.
И, наверное, не каждый фронтенд-разработчик задумывался вообще о проблеме, которую мы сегодня затронем, но вообще — желательно бы иметь представление.
И проблема эта — балансировка нагрузки! А точнее, существующие алгоритмы балансировки нагрузки.
Сразу ссылка на статью: https://samwho.dev/load-balancing/
И перевод: https://habr.com/ru/companies/ruvds/articles/732648/
Но в переводе нет интерактивного примера!
Вообще, в современном мире выпускать статью без интерактива уже как-то просто неприлично. И в этом огромное преимущество статей над любым видео.
Итак, что там за алгоритмы такие:
1. Чистый рандом
2. Карусель и взвешенная карусель (мощнее сервер — больше запросов в него кидаем)
3. Карусель с очередью запросов
4. Подсчёт активных подключений и передача серверу, с наименьшим их числом
5. Активный подсчёт способности серверов обрабатывать запросы и исключение наиболее слабых из них.
Очень крутая статья. Иллютрации и интерактив делают знакомство с алгоритмами весьма увлекающим.
Ну и, заодно, станет понятно, о чём говорить с девопсами, когда ваш чатик начнёт падать :)
#connections #devops
Нет, на видео к посту вовсе не очередная реализация Tower Defense на ванильном JavaScript. Тут кое-что покруче.
И, наверное, не каждый фронтенд-разработчик задумывался вообще о проблеме, которую мы сегодня затронем, но вообще — желательно бы иметь представление.
И проблема эта — балансировка нагрузки! А точнее, существующие алгоритмы балансировки нагрузки.
Сразу ссылка на статью: https://samwho.dev/load-balancing/
И перевод: https://habr.com/ru/companies/ruvds/articles/732648/
Но в переводе нет интерактивного примера!
Вообще, в современном мире выпускать статью без интерактива уже как-то просто неприлично. И в этом огромное преимущество статей над любым видео.
Итак, что там за алгоритмы такие:
1. Чистый рандом
2. Карусель и взвешенная карусель (мощнее сервер — больше запросов в него кидаем)
3. Карусель с очередью запросов
4. Подсчёт активных подключений и передача серверу, с наименьшим их числом
5. Активный подсчёт способности серверов обрабатывать запросы и исключение наиболее слабых из них.
Очень крутая статья. Иллютрации и интерактив делают знакомство с алгоритмами весьма увлекающим.
Ну и, заодно, станет понятно, о чём говорить с девопсами, когда ваш чатик начнёт падать :)
#connections #devops
❤19
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Как заставить элемент изменять свою ширину... ступенчато?
Ну, например, вам нужно, чтобы шахматная сетка при любых условиях оставалась цельной.
И сегодня у нас аж несколько вариантов, как этого добиться.
1. От Аны Тюдор: https://codepen.io/thebabydino/pen/zYbZpBq
Используем функцию модуля:
Но вот беда, в Chrome модуль пока не поддерживается... но не унываем! Есть ещё два варианта от Темани Афифа aka CSS Challenges.
2. Эффективное значение функции выше это, буквально, округление. Но так и такая функция в CSS имеется! Как-то так:
Пример: https://codepen.io/alinaki/pen/VwRMpPY
Но... Chrome опять в обломе.
Да, и в первом и во втором вариантах на коне Firefox и Safari. Как я уже недавно писал, парни из Chrome взяли привычку реализовывать только то, что можно красиво оформить в пост. И реализовали тригонометрические функции, забыв про базу.
Потому нам ничего не остаётся кроме как...
3. CSS Grid конечно же: https://codepen.io/t_afif/pen/KKEXwmR
И секрет будет в правиле:
Всем шахмат, котаны :)
#css #trick #math #бородач
Как заставить элемент изменять свою ширину... ступенчато?
Ну, например, вам нужно, чтобы шахматная сетка при любых условиях оставалась цельной.
И сегодня у нас аж несколько вариантов, как этого добиться.
1. От Аны Тюдор: https://codepen.io/thebabydino/pen/zYbZpBq
Используем функцию модуля:
width: calc(95vmin + -1*mod(95vmin, 15px));
Но вот беда, в Chrome модуль пока не поддерживается... но не унываем! Есть ещё два варианта от Темани Афифа aka CSS Challenges.
2. Эффективное значение функции выше это, буквально, округление. Но так и такая функция в CSS имеется! Как-то так:
min-width: round(95vmin,15px);
Пример: https://codepen.io/alinaki/pen/VwRMpPY
Но... Chrome опять в обломе.
Да, и в первом и во втором вариантах на коне Firefox и Safari. Как я уже недавно писал, парни из Chrome взяли привычку реализовывать только то, что можно красиво оформить в пост. И реализовали тригонометрические функции, забыв про базу.
Потому нам ничего не остаётся кроме как...
3. CSS Grid конечно же: https://codepen.io/t_afif/pen/KKEXwmR
И секрет будет в правиле:
grid-template-columns: repeat(auto-fill, 15px);
Всем шахмат, котаны :)
#css #trick #math #бородач
❤23👍3
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Вы знали, что в CSS можно анимировать кривые SVG?
Криво анимировать кривые...
Вот и я не знал. Посмотрите:
До тех пор пока совпадает число точек и тип кривой, можно набросить переход aka transition и будет красота.
Да, сложные анимации будет сделать непросто, но даже так — довольно забавно.
Ладно, к чему это вообще. Сейчас работает в Chrome и Firefox, а буквально вчера это добавили в WebKit, а значит, скоро и в Safari!
Демо: https://codepen.io/alinaki/pen/dyLKXmJ
#svg #animation #transition #css
Вы знали, что в CSS можно анимировать кривые SVG?
Криво анимировать кривые...
Вот и я не знал. Посмотрите:
<svg viewBox="0 0 10 10">
<path d="M5,2 Q 2,5 5,8" />
</svg>
svg path {
transition: d 0.35s;
}
svg:hover path {
d: path("M5,2 Q 8,5 5,8");
}
До тех пор пока совпадает число точек и тип кривой, можно набросить переход aka transition и будет красота.
Да, сложные анимации будет сделать непросто, но даже так — довольно забавно.
Ладно, к чему это вообще. Сейчас работает в Chrome и Firefox, а буквально вчера это добавили в WebKit, а значит, скоро и в Safari!
Демо: https://codepen.io/alinaki/pen/dyLKXmJ
#svg #animation #transition #css
🤩28👍7❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня
Ну что, кажется, настало то время, когда для стилизации радиокнопок и чекбоксов не нужно больше изгаляться с
Итак, смотрим на пример от Джона Кантнера: https://codepen.io/alinaki/pen/ExMXbqz
1. Для начала, обнуляем все браузерные стили и предположения браузера об внешнем виде радиокнопок вообще через
2. Я вам этого не говорил, но, технически, уже давно можно на поля ввода накладывать псевдоэлементы. Но не на select. Я всё хочу написать большой пост про реализацию select, пока вот так.
Благодаря этой возможности, собственно, можно стилизовать чекбокс как душе угодно:
3. Освободившиеся ресурсы мозга и тот факт, что теперь все элементы красиво вложены в label (как минимум, не нужны for и id), можно отправить на реализацию разных эффектов.
Например, проверить, есть ли лейбл с выделенным чекбоксом и подвинуть к нему рамку:
Обратите внимание, рамка — отдельный элемент, к ней обращаемся через селектор низлежащих соседей ~.
Не знаю, что меня больше впечатляет. Псевдоэлементы на полях ввода или :has.
И да, поддерживается везде.
#css #has #appearance #бородач
Ну что, кажется, настало то время, когда для стилизации радиокнопок и чекбоксов не нужно больше изгаляться с
input:checked+i
. Это освобождает мозг и руки для более приятных вещей.Итак, смотрим на пример от Джона Кантнера: https://codepen.io/alinaki/pen/ExMXbqz
1. Для начала, обнуляем все браузерные стили и предположения браузера об внешнем виде радиокнопок вообще через
appearance: none
.2. Я вам этого не говорил, но, технически, уже давно можно на поля ввода накладывать псевдоэлементы. Но не на select. Я всё хочу написать большой пост про реализацию select, пока вот так.
Благодаря этой возможности, собственно, можно стилизовать чекбокс как душе угодно:
::before, ::after, :checked::before, :checked::after
... В целом, лично я бы обошёлся радиальным градиентом и одним псевдоэлементом.3. Освободившиеся ресурсы мозга и тот факт, что теперь все элементы красиво вложены в label (как минимум, не нужны for и id), можно отправить на реализацию разных эффектов.
Например, проверить, есть ли лейбл с выделенным чекбоксом и подвинуть к нему рамку:
label:nth-of-type(2):has(input[type="radio"]:checked) ~ .selection {
transform: translateY(100%);
}
Обратите внимание, рамка — отдельный элемент, к ней обращаемся через селектор низлежащих соседей ~.
Не знаю, что меня больше впечатляет. Псевдоэлементы на полях ввода или :has.
И да, поддерживается везде.
#css #has #appearance #бородач
👍27❤3🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
#ссылка дня
Если у вас есть Chrome Canary (125+), то уже сегодня можно побаловаться такой фичей, как CSS Anchor Positioning.
Короче, можно прилепить один элемент к другому так, что он всегда там будет, несмотря на скролл и так далее. Без расчёта координат и трансформаций. Без прямой зависимости межлу элементами в DOM. Просто указываем ID элемента-якоря в атрибуте anchor и передаём позицию в стили:
Это, в целом, продолжение идеи, развиваемой в спецификации Popover.
Уна Кравец как раз сделала инструмент для демонстрации этой возможности: https://anchor-tool.com/
Повторю: только Chrome Canary 125+.
Ну а, конечно, пока этого нет в основных браузерах, нам надо довольствоваться https://floating-ui.com/ aka ex-Popper. Работает очень хорошо.
#css #anchor #tool
Если у вас есть Chrome Canary (125+), то уже сегодня можно побаловаться такой фичей, как CSS Anchor Positioning.
Короче, можно прилепить один элемент к другому так, что он всегда там будет, несмотря на скролл и так далее. Без расчёта координат и трансформаций. Без прямой зависимости межлу элементами в DOM. Просто указываем ID элемента-якоря в атрибуте anchor и передаём позицию в стили:
inset-area: right bottom
. Всё.Это, в целом, продолжение идеи, развиваемой в спецификации Popover.
Уна Кравец как раз сделала инструмент для демонстрации этой возможности: https://anchor-tool.com/
Повторю: только Chrome Canary 125+.
Ну а, конечно, пока этого нет в основных браузерах, нам надо довольствоваться https://floating-ui.com/ aka ex-Popper. Работает очень хорошо.
#css #anchor #tool
🤩12❤6
Этот комментарий к посту про анимацию кривой SVG определённо стоит выноса в основной поток 🙂
Telegram
Будни разработчика
#фишка дня
Вы знали, что в CSS можно анимировать кривые SVG?
Криво анимировать кривые...
Вот и я не знал. Посмотрите:
<svg viewBox="0 0 10 10">
<path d="M5,2 Q 2,5 5,8" />
</svg>
svg path {
transition: d 0.35s;
}
svg:hover path {
d: path("M5…
Вы знали, что в CSS можно анимировать кривые SVG?
Криво анимировать кривые...
Вот и я не знал. Посмотрите:
<svg viewBox="0 0 10 10">
<path d="M5,2 Q 2,5 5,8" />
</svg>
svg path {
transition: d 0.35s;
}
svg:hover path {
d: path("M5…
Forwarded from SelenIT
Причём так можно анимировать не только SVG-элементы, но и CSS-свойства с SVG-контуром в качестве значения, напр. clip-path:path(...) или offset-path. Главное, чтобы количество и тип команд в контуре оставалось тем же. Я так выпрямлял offset-path по ховеру в этой демке https://codepen.io/SelenIT/pen/zYLoXdB
codepen.io
Gallery layout along the curved path with CSS offset and quantity selectors
...
👍7❤1
🇺🇲Реально ли специалисту в любой области получить greencard США без предложения о работе, без высшего образования, и без знания английского языка? Ответ: да! Рассказываем, как это сделать.
Виза EB-1a дала возможность более 4000 специалистам из разных областей переехать в США в 2022 году. Она выдаётся на срок до 10 лет, по ней можно работать в любой компании, фрилансить и открывать собственный бизнес. И через 5 лет жизни в США претендовать на паспорт!
Чтобы получить эту визу, не обязательно иметь высшее образование, не нужно знать язык на высоком уровне, а заявку можно подать из любой страны. И, пожалуй, самое главное – не нужно обладать каким-то исключительным талантом! Огромное количество специалистов даже не знают, что могут претендовать на эту визу.
Подписывайтесь на наш Telegram-канал, где мы даём массу полезной информации о релокации: https://t.me/relocode
Пишите нам в WhatsApp: +44 7496 949122 или в Telegram: @relocode_dm. Мы проводим бесплатные консультации, на которых поможем разобрать ваш кейс и подобрать наиболее подходящий способ релокации.
Виза EB-1a дала возможность более 4000 специалистам из разных областей переехать в США в 2022 году. Она выдаётся на срок до 10 лет, по ней можно работать в любой компании, фрилансить и открывать собственный бизнес. И через 5 лет жизни в США претендовать на паспорт!
Чтобы получить эту визу, не обязательно иметь высшее образование, не нужно знать язык на высоком уровне, а заявку можно подать из любой страны. И, пожалуй, самое главное – не нужно обладать каким-то исключительным талантом! Огромное количество специалистов даже не знают, что могут претендовать на эту визу.
Подписывайтесь на наш Telegram-канал, где мы даём массу полезной информации о релокации: https://t.me/relocode
Пишите нам в WhatsApp: +44 7496 949122 или в Telegram: @relocode_dm. Мы проводим бесплатные консультации, на которых поможем разобрать ваш кейс и подобрать наиболее подходящий способ релокации.
👎16🤡12❤2👍2
#статья дня
Как выделить абзац полоской на всю ширину экрана?
Да вот так: https://codepen.io/t_afif/full/LYQgPgM
Упорото, не правда ли?
Илья Стрельцын предлагает ещё более упорото: https://codepen.io/SelenIT/pen/bGLmGVq, да ещё и с градиентом.
Источник — тред экспериментов в Твиттере.
Но если серьёзно, как насчёт т. н. full bleed раскладки? Весьма модная в блогах и журналах: когда какой-то абзац или изображение (галерея) резко решают, что им надо занять всю ширину экрана.
И тут на выручку приходит Джош Комо: https://www.joshwcomeau.com/css/full-bleed/
Вообще, его способ, конечно, не единственный: https://css-tricks.com/full-bleed/
Я обычно первый способ из второй статьи использовал. Люблю магию.
И вообще, как такая раскладка по-русски будет-то?
#css #fullbleed #бородач
Как выделить абзац полоской на всю ширину экрана?
Да вот так: https://codepen.io/t_afif/full/LYQgPgM
Упорото, не правда ли?
Илья Стрельцын предлагает ещё более упорото: https://codepen.io/SelenIT/pen/bGLmGVq, да ещё и с градиентом.
Источник — тред экспериментов в Твиттере.
Но если серьёзно, как насчёт т. н. full bleed раскладки? Весьма модная в блогах и журналах: когда какой-то абзац или изображение (галерея) резко решают, что им надо занять всю ширину экрана.
И тут на выручку приходит Джош Комо: https://www.joshwcomeau.com/css/full-bleed/
Вообще, его способ, конечно, не единственный: https://css-tricks.com/full-bleed/
Я обычно первый способ из второй статьи использовал. Люблю магию.
И вообще, как такая раскладка по-русски будет-то?
#css #fullbleed #бородач
👍10
#заметка дня
В чём разница между селекторами
Вот вы не знали (наверное), а она есть!
Псевдокласс
Селектор атрибута
Например,
Да не томи уже!
Короче, суть дела в том, что атрибут disabled может быть установлен на fieldset, в таком случае поля будут недоступны, но в селектор
Сложно? Вот пример: https://codepen.io/alinaki/pen/VwgKOPE
Короче, аккуратнее.
#css #disabled #бородач
В чём разница между селекторами
:disabled
и [disabled]
?Вот вы не знали (наверное), а она есть!
Псевдокласс
:disabled
выберет любой элемент, находящийся в отключённом состоянии.Селектор атрибута
[disabled]
выберет любой элемент, имеющий атрибут disabled.Например,
<input type="text" disabled/>
подпадёт под оба селектора, вне зависимости от того, случилось это на этапе прямого рендера или через установку свойства disabled узлу.Да не томи уже!
Короче, суть дела в том, что атрибут disabled может быть установлен на fieldset, в таком случае поля будут недоступны, но в селектор
input[disabled]
не попадёт ничего.Сложно? Вот пример: https://codepen.io/alinaki/pen/VwgKOPE
Короче, аккуратнее.
#css #disabled #бородач
codepen.io
disabled vs disabled
...
👍16
This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня
Генераторов треугольников на самом деле достаточно много... было создано лет за 20. Поэтому почти все из используют довольно старые техники. Или же вообще универсальные aka clip path.
Потому, встречаем:
https://css-generators.com/triangle-shapes/
Рассчитаны под один элемент. Пример кода:
Пользуемся, котаны!
#css #triangle #tool #generator
Генераторов треугольников на самом деле достаточно много... было создано лет за 20. Поэтому почти все из используют довольно старые техники. Или же вообще универсальные aka clip path.
Потому, встречаем:
https://css-generators.com/triangle-shapes/
Рассчитаны под один элемент. Пример кода:
/* HTML: <div class="triangle"></div> */
.triangle {
width: 180px;
aspect-ratio: 1/cos(30deg);
clip-path: polygon(50% 100%,100% 0,0 0);
background: linear-gradient(45deg,#FA6900,#C02942);
}
Заценили расчет соотношения сторон, кстати? 🤓Пользуемся, котаны!
#css #triangle #tool #generator
👍15❤3🤩2
#codepen дня
Я вообще хотел очередной дедовской разгон на тему вёрстки и общения с заказчиком, но мне чота в лом. Может открытую дискуссию устроим под этим постом…
А сам пост будет посвящен прекрасному примеру использования SVG-фильтров на реальном контенте.
Помните, я когда-то показывал газету на CSS-grid? Ну вот же: https://t.me/htmlshit/508
А представьте, клиент захотел, чтобы ваша газета реально была стилизована под едва сохранившийся архивный экземпляр… ну или ксерокопию, в цифровом мире же живём. Как это сделать? Не картинкой же, чесслово.
И вот тут на помощь придёт реализация шума Перлина aka Perlin Noise для SVG: https://codepen.io/simoncoudeville/pen/zYRygaV
Можно побаловаться настройками внизу, можно изменять контент как душе угодно. Абсолютно прекрасный по своей сути пример.
#svg #effect #filter #бородач
Я вообще хотел очередной дедовской разгон на тему вёрстки и общения с заказчиком, но мне чота в лом. Может открытую дискуссию устроим под этим постом…
А сам пост будет посвящен прекрасному примеру использования SVG-фильтров на реальном контенте.
Помните, я когда-то показывал газету на CSS-grid? Ну вот же: https://t.me/htmlshit/508
А представьте, клиент захотел, чтобы ваша газета реально была стилизована под едва сохранившийся архивный экземпляр… ну или ксерокопию, в цифровом мире же живём. Как это сделать? Не картинкой же, чесслово.
И вот тут на помощь придёт реализация шума Перлина aka Perlin Noise для SVG: https://codepen.io/simoncoudeville/pen/zYRygaV
Можно побаловаться настройками внизу, можно изменять контент как душе угодно. Абсолютно прекрасный по своей сути пример.
#svg #effect #filter #бородач
❤12👍5🤩1
#фишка дня
Замотался, но про вас не забыл, котаны!
Вторая, а может и первая, по популярности фигура на сайтах — это звезда. То рейтинг ей поставят, то маской наложат, то конфетти сделают...
Так вот, из поста про треугольники мы уже в курсе, что clip-path можно применять везде. И даже нужно. Так почему бы не нарисовать им звезду?
«Наверное, потому что задолбаешься точки ставить?», — скажете вы, и будете, в целом, правы. Их там вроде... 10? Десять же, да?
Нет! Оказывается, достаточно пяти!
Глядите чо: https://codepen.io/t_afif/pen/jORvmKG
1. Вариант на тригонометрических функциях:
2. Упрощённый вариант, когда всё уже посчитано за нас:
Чтобы понять, как это работает, проще сразу загрузить в генератор clip-path: https://bennettfeely.com/clippy/
Вы не поверите, но это буквально совпадает с тем, как вы безотрывно рисуете звезду карандашом ещё со школьных времён!
#css #star #clip
Замотался, но про вас не забыл, котаны!
Вторая, а может и первая, по популярности фигура на сайтах — это звезда. То рейтинг ей поставят, то маской наложат, то конфетти сделают...
Так вот, из поста про треугольники мы уже в курсе, что clip-path можно применять везде. И даже нужно. Так почему бы не нарисовать им звезду?
«Наверное, потому что задолбаешься точки ставить?», — скажете вы, и будете, в целом, правы. Их там вроде... 10? Десять же, да?
Нет! Оказывается, достаточно пяти!
Глядите чо: https://codepen.io/t_afif/pen/jORvmKG
1. Вариант на тригонометрических функциях:
clip-path: polygon(50% 0,
calc(50%*(1 + sin(.4turn))) calc(50%*(1 - cos(.4turn))),
calc(50%*(1 - sin(.2turn))) calc(50%*(1 - cos(.2turn))),
calc(50%*(1 + sin(.2turn))) calc(50%*(1 - cos(.2turn))),
calc(50%*(1 - sin(.4turn))) calc(50%*(1 - cos(.4turn)))
);
2. Упрощённый вариант, когда всё уже посчитано за нас:
clip-path: polygon(50% 0,80% 100%,0 39%,100% 39%,20% 100%);
Чтобы понять, как это работает, проще сразу загрузить в генератор clip-path: https://bennettfeely.com/clippy/
Вы не поверите, но это буквально совпадает с тем, как вы безотрывно рисуете звезду карандашом ещё со школьных времён!
#css #star #clip
👍19❤1🤩1
#такое дня
Финляндия снова оказалась в мировых IT новостях, но на сей раз ситуация грустная для всех... разработчиков финансовых и платёжных систем.
А всё почему? А всё потому, что правительство Фи планирует повысить НДС до 25.5%.
Самые опытные из вас уже поняли, в чём проблема. И будут абсолютно правы. Потому что это не только офигеть какой высокий налог, но и первый случай нецелого значения налога.
А разработчики, как мы давно знаем, работать умеют только с целыми числами.
Если налог всё же будет введён, он резко превратится в лучшем случае в 26%, что вызовет тонну претензий, а в худшем — вызовет ошибки транзакций.
Ладно, скажете вы, нам-то зачем рассказываешь это? Мясо, мясо давай!
А вот и мясо. Глядите, на иллюстрации — API платёжной системы Paytrail. Прямо указано целое число. И ну всё бы ничего, но они обсуждали это... 2 года назад!
Вот: https://github.com/paytrail/api-documentation/issues/28
И тогда пришли к выводу, что не надо. А оно вот как вышло. Уже вовсю начали выдумывать варианты решения.
А сколько финансовых систем ещё в мире? :)
P. S. Я думаю, следующей новостью из Финляндии будет: «В связи со сложностью внесения изменений в информационные системы правительство приняло решение поднять НДС до 26%».
#api
Финляндия снова оказалась в мировых IT новостях, но на сей раз ситуация грустная для всех... разработчиков финансовых и платёжных систем.
А всё почему? А всё потому, что правительство Фи планирует повысить НДС до 25.5%.
Самые опытные из вас уже поняли, в чём проблема. И будут абсолютно правы. Потому что это не только офигеть какой высокий налог, но и первый случай нецелого значения налога.
А разработчики, как мы давно знаем, работать умеют только с целыми числами.
Если налог всё же будет введён, он резко превратится в лучшем случае в 26%, что вызовет тонну претензий, а в худшем — вызовет ошибки транзакций.
Ладно, скажете вы, нам-то зачем рассказываешь это? Мясо, мясо давай!
А вот и мясо. Глядите, на иллюстрации — API платёжной системы Paytrail. Прямо указано целое число. И ну всё бы ничего, но они обсуждали это... 2 года назад!
Вот: https://github.com/paytrail/api-documentation/issues/28
И тогда пришли к выводу, что не надо. А оно вот как вышло. Уже вовсю начали выдумывать варианты решения.
А сколько финансовых систем ещё в мире? :)
P. S. Я думаю, следующей новостью из Финляндии будет: «В связи со сложностью внесения изменений в информационные системы правительство приняло решение поднять НДС до 26%».
#api
🤡19👍4🤬4🤩2❤1
#заметка дня
Что-то по Твиттеру опять пронеслась война тех, кто считает, что надо максимально ограничивать кандидату доступ информации во время собеседования, не пускать его в поиск Google, запрещать спрашивать у ChatGPT, не давать документацию и так далее. И тех, кто, в общем-то, считает наоборот.
Я пока не видел хороших и правильных примеров использования ChatGPT на собеседованиях, если честно. Единственный известный мне случай подобного поведения кандидата вызывает нервный смех, потому что ему стоило честно сказать: "Не знаю". Он буквально понятия не имел даже как задать вопрос правильно, но с каменным лицом доказывал, что так и надо. Наверное, получился бы хороший продажник.
С документацией всё просто: естественно, надо разрешать доступ. Да даже в университетах разрешают пользоваться конспектами и справочниками. Ну, в нормальных...
Google... ситуация похожа на ChatGPT. Нужно внимательно смотреть, что и как человек гуглит. Как конкретно он формирует запрос и какие ссылки открывает.
Я лично нанимал фронта, который не стеснялся гуглить во время собеседования. Прям стримил экран и искал. Где-то для выжимки из доки, где-то чтобы посмотреть альтернативы алгоритму.
А потом чтобы показать скриншоты своего проекта, который был закрыт пейволлом!
А вот того, кто во время собеседования гуглил меня, мы не взяли...
А как у вас дела обстоят и опыт?
#work #interview #собеседование #бородач
Что-то по Твиттеру опять пронеслась война тех, кто считает, что надо максимально ограничивать кандидату доступ информации во время собеседования, не пускать его в поиск Google, запрещать спрашивать у ChatGPT, не давать документацию и так далее. И тех, кто, в общем-то, считает наоборот.
Я пока не видел хороших и правильных примеров использования ChatGPT на собеседованиях, если честно. Единственный известный мне случай подобного поведения кандидата вызывает нервный смех, потому что ему стоило честно сказать: "Не знаю". Он буквально понятия не имел даже как задать вопрос правильно, но с каменным лицом доказывал, что так и надо. Наверное, получился бы хороший продажник.
С документацией всё просто: естественно, надо разрешать доступ. Да даже в университетах разрешают пользоваться конспектами и справочниками. Ну, в нормальных...
Google... ситуация похожа на ChatGPT. Нужно внимательно смотреть, что и как человек гуглит. Как конкретно он формирует запрос и какие ссылки открывает.
Я лично нанимал фронта, который не стеснялся гуглить во время собеседования. Прям стримил экран и искал. Где-то для выжимки из доки, где-то чтобы посмотреть альтернативы алгоритму.
А потом чтобы показать скриншоты своего проекта, который был закрыт пейволлом!
А вот того, кто во время собеседования гуглил меня, мы не взяли...
А как у вас дела обстоят и опыт?
#work #interview #собеседование #бородач
👍16❤2
#заметка дня
Что-то этот тег настолько слился с фишкой дня, что я почти про него забыл.
Итак, сегодняшняя тема: дробные пиксели! Половинчатые, чаще всего. Уж больно (наши) дизайнеры полюбили полупиксельные бордеры.
К HiDPI-экранам быстро привыкаешь, не правда ли? К слову, картинка от Веса Боса. Так вот, на экранах высокой плотности вы скорее всего получите желаемое — полупиксельную границу. Естественно, полупиксельную в рамках вашей плотности экрана и ваших виртуальных пикселей.
А на обычных экранах произойдёт округление, для 0.5px — до 1px.
А ещё в треде по ссылке нашлось шикарное: целая презентация о том, как в вашей вёрстке из-за сотни разных ошибок округления могут появиться рандомные белые полосы! Особенно при вёрстке писем.
Это на самом деле серьёзная и большая тема, затрагивающая как вопросы рендеринга на экранах различной плотности, так и историю HTML-движков.
Собственно, вот: https://docs.google.com/presentation/d/1orKRwx5DnSoyYL1XQk4nv8ffycgmMePbF9j8fOGhXi0
Абсолютно прекрасно.
#css #round
Что-то этот тег настолько слился с фишкой дня, что я почти про него забыл.
Итак, сегодняшняя тема: дробные пиксели! Половинчатые, чаще всего. Уж больно (наши) дизайнеры полюбили полупиксельные бордеры.
К HiDPI-экранам быстро привыкаешь, не правда ли? К слову, картинка от Веса Боса. Так вот, на экранах высокой плотности вы скорее всего получите желаемое — полупиксельную границу. Естественно, полупиксельную в рамках вашей плотности экрана и ваших виртуальных пикселей.
А на обычных экранах произойдёт округление, для 0.5px — до 1px.
А ещё в треде по ссылке нашлось шикарное: целая презентация о том, как в вашей вёрстке из-за сотни разных ошибок округления могут появиться рандомные белые полосы! Особенно при вёрстке писем.
Это на самом деле серьёзная и большая тема, затрагивающая как вопросы рендеринга на экранах различной плотности, так и историю HTML-движков.
Собственно, вот: https://docs.google.com/presentation/d/1orKRwx5DnSoyYL1XQk4nv8ffycgmMePbF9j8fOGhXi0
Абсолютно прекрасно.
#css #round
❤18👍6
This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня
Google Chrome на днях достиг версии 124. Что это значит? Что у нас очередные обновления в DevTools!
Из наиболее интересного — инспектор анимаций теперь поддерживает нативные анимации по скроллу (на видео).
Если вы ещё не в курсе, что это, рекомендую посмотреть это демо: https://scroll-driven-animations.style/
К слову, автор демо — Брамус Ван Дамм — заодно представил расширение, позволяющее удобно эти самые анимации визуализировать и отлаживать. Есть и полифилл для ScrollTimeline.
Следующая фишка, которая будет, внезапно, полезна не только разработчикам — это отладка контента для автоподстановки в формах — Autofill! То есть теперь можно открыть форму и посмотреть, как и чем она будет заполняться. С точки зрения разработчика это значит, что появился шанс подогнать названия полей под соответствие системе распознавания.
А ещё в DevTools теперь нормальная поддержка нативного нестинга aka вложенности!
Ну и раз такое дело, пусть на всякий случай тут полежит ссылка на список изменений в Chrome 124: https://developer.chrome.com/release-notes/124
#css #chrome #devtools
Google Chrome на днях достиг версии 124. Что это значит? Что у нас очередные обновления в DevTools!
Из наиболее интересного — инспектор анимаций теперь поддерживает нативные анимации по скроллу (на видео).
Если вы ещё не в курсе, что это, рекомендую посмотреть это демо: https://scroll-driven-animations.style/
К слову, автор демо — Брамус Ван Дамм — заодно представил расширение, позволяющее удобно эти самые анимации визуализировать и отлаживать. Есть и полифилл для ScrollTimeline.
Следующая фишка, которая будет, внезапно, полезна не только разработчикам — это отладка контента для автоподстановки в формах — Autofill! То есть теперь можно открыть форму и посмотреть, как и чем она будет заполняться. С точки зрения разработчика это значит, что появился шанс подогнать названия полей под соответствие системе распознавания.
А ещё в DevTools теперь нормальная поддержка нативного нестинга aka вложенности!
Ну и раз такое дело, пусть на всякий случай тут полежит ссылка на список изменений в Chrome 124: https://developer.chrome.com/release-notes/124
#css #chrome #devtools
❤20👍5
#инструмент дня
Милота, за которой стоит самый настоящий матан! Интереснейшие мозаики (паттерны, если хотите): https://codepen.io/yuanchuan/pen/xxEXwZw
Вы можете обратить внимание на использование веб-компонента CSS-doodle. Я тоже заинтересовался, полез в настройки кодпена и… и офигел. Вы только посмотрите на это!
https://css-doodle.com/
Целый инструмент для генерации паттернов. Документация и примеры кода выше всяких похвал.
На его основе создан https://tabbied.com/
Правда, результаты работы Tabbied очень напоминают Экспресс-дизайн 😅
Вообще, весьма круто. Пару вечеров убить точно стоит.
#css #pattern
Милота, за которой стоит самый настоящий матан! Интереснейшие мозаики (паттерны, если хотите): https://codepen.io/yuanchuan/pen/xxEXwZw
Вы можете обратить внимание на использование веб-компонента CSS-doodle. Я тоже заинтересовался, полез в настройки кодпена и… и офигел. Вы только посмотрите на это!
https://css-doodle.com/
Целый инструмент для генерации паттернов. Документация и примеры кода выше всяких похвал.
На его основе создан https://tabbied.com/
Правда, результаты работы Tabbied очень напоминают Экспресс-дизайн 😅
Вообще, весьма круто. Пару вечеров убить точно стоит.
#css #pattern
❤14👍5
This media is not supported in your browser
VIEW IN TELEGRAM
#новость дня
На этой неделе вышел Firefox 125 (точнее, 125.0.1, там нашли уязвимость прямо перед выходом, и нулевую версию скипнули).
И у Mozilla, в отличие от Google, нет такой мощной пиар-команды, которая писала бы статьи на каждый выпуск, рекламируя новые фишки. Поэтому приходится нам с вами. Ну, конкретно в этом случае — Вадиму Макееву, всем вам знакомому.
Короче, к чему весь кипиш. А к тому, что Firefox 125 наконец-то начал поддерживать Popover API!
Вот, в чейнджлоге: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/125#apis
А вот, собственно, документация по API: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API
Мы с вами тоже рассматривали пару примеров. Вот тут: https://t.me/htmlshit/2029
Ну и это, в целом, значит, что Popover поддерживается во всех современных движках. И кому-то скоро вполне можно бужет это использовать :)
Ну а кому-то — полифиллить. Но то такое.
#css #popover #firefox
На этой неделе вышел Firefox 125 (точнее, 125.0.1, там нашли уязвимость прямо перед выходом, и нулевую версию скипнули).
И у Mozilla, в отличие от Google, нет такой мощной пиар-команды, которая писала бы статьи на каждый выпуск, рекламируя новые фишки. Поэтому приходится нам с вами. Ну, конкретно в этом случае — Вадиму Макееву, всем вам знакомому.
Короче, к чему весь кипиш. А к тому, что Firefox 125 наконец-то начал поддерживать Popover API!
Вот, в чейнджлоге: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/125#apis
А вот, собственно, документация по API: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API
Мы с вами тоже рассматривали пару примеров. Вот тут: https://t.me/htmlshit/2029
Ну и это, в целом, значит, что Popover поддерживается во всех современных движках. И кому-то скоро вполне можно бужет это использовать :)
Ну а кому-то — полифиллить. Но то такое.
#css #popover #firefox
❤9👍1