htmlshit | Unsorted

Telegram-канал htmlshit - Будни разработчика

11622

Авторский блог Senior JavaScript-разработчика из Хельсинки По рекламе: https://t.me/it_adv https://telega.in/channels/htmlshit/card?r=GLOiHluU Чат канала: https://t.me/htmlshitchat Автор: @bekharsky

Subscribe to a channel

Будни разработчика

Новость для разработчиков (java,angular,c#) и автотестеров — до 15:00 23 октября регистрируйся на сайте One Day Offer по ссылке https://clck.ru/3DWJoe?erid=LjN8KETTT

Тебя ждет онлайн-собеседование и оффер в тот же день. Работать можно из любой точки России. ДМС, обучение и отдых — за счет компании.

Присоединяйся к топовой команде и создавай проекты, которыми можно гордиться.

Читать полностью…

Будни разработчика

Стартовал этап Квалификации на седьмой международный чемпионат по программированию YANDEX CUP’24. Призовой фонд — 12,5 млн рублей!

В этом году участники погрузятся в задачи, посвященные различным историческим эпохам и попробуют решить их с точки зрения IT. На картинках — примеры таких ситуаций: разработать систему оцифровки для бюллетеней из Древнего Рима, помочь роботам пройти лабиринт Майя или придумать систему регулировки в средневековой Венеции.

Участвовать могут все: новички и профи со всего мира, а также юниоры 14–18 лет из России. Направления — фронтенд и бэкенд, мобильная разработка, машинное обучение, аналитика и алгоритмы.

Если еще не присоединились, это ваш последний шанс: регистрируйтесь на сайте и проходите Квалификацию до 20 октября.

Читать полностью…

Будни разработчика

#фишка дня

Мы долго этого ждали! В инструментах разработчика Chrome Canary 131 появилась специальная панель с подсказками от ИИ.

Теперь вовсе необязательно все запросы к гугловому ИИ писать в консоли :)

Кликаем по Ask AI и открывается диалоговый интерфейс, в котором можно попросить ИИ описать компонент, анимировать его, узнать побольше.

Новость в блоге разработчиков: https://developer.chrome.com/docs/devtools/ai-assistance

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

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

По-моему, это очень круто. Ведь обучаться на чужом коде — это наше всё.

И, естественно, можно попросить ИИ исправить ваш собственный код! Пруф: https://x.com/jecfish/status/1846832374757155134

#ai #devtools

Читать полностью…

Будни разработчика

#заметка дня

Вчера не удержался и вечером всё-таки допилил приложение для параллельного просмотра субтитров, о котором писал тут: /channel/htmlshit/3204.

1. Теперь сдвиг по времени задаётся простым кликом по фразе.
2. Когда скроллишь, автоматического выделения следующей фразы не происходит, но автоскролл восстанавливается, если докрутить назад.
3. Тёмная тема! Я не понимаю, как мне это сразу в голову не пришло. В кинотеатре вчера было немного стыдно.

Теперь мне надо немного подумать о применимости.

С точки зрения изучения языка — очень хорошо, потому что теперь я могу вывести на стриминге и озвучку и субтитры на одном языке, а подглядывать в другой. Тогда надо бы добавить кнопку Паузы, заодно.

Да, есть расширения для браузеров, выводящие второй набор субтитров на тот же экран, но:
а) на телевизоре-то их нет
б) всё превращается в месиво

Плюс не оставляет идея сделать из этого приложение для смарт-часов.

Исходный код и сайт всё те же:
GitHub: https://github.com/bekharsky/subtitles
Link: https://bekharsky.github.io/subtitles/

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

Ну и добавить регулятор скорости воспроихзведения и точную подстройку, конечно же.

#react #movie #subtitles

Читать полностью…

Будни разработчика

🚀 Dockhost - современный хостинг для разработчиков приложений, ботов, mini apps и баз данных!

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

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

👨‍💻Бонусом - собственная консольная утилита Cli.

Помимо запуска готового образа Docker-контейнера из любого реестра, вы можете легко подключить к своему проекту в Dockhost любой репозиторий Git (GitHub, GitLub, и другие) с вашим кодом и настроить авто-деплой через Push (Push-to-Deploy).

👉 Перейти в Dockhost

Читать полностью…

Будни разработчика

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

Рексис это RecSys, Recommendation System.

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

В конце — приятный бонус: универсальные советы по улучшению рексисов. Например, оказалось, что для пользователей серендипность (случайное событие) — важная штука, так что незнакомый контент точно стоит давать с повышенным весом.

Вот еще несколько докладов, которые точно стоит глянуть:

⚙️ Как обучить LLM работать с кодом. Руководитель ML-лаборатории в Yandex Platform Engineering поделился интересными деталями, почему команда решила предсказывать стейтменты и как это прокачало онлайн-метрики.

⚙️ Виртуальный рассказчик в Яндекс Книгах. Нейросеть для синтеза аудиокниг. Интересно узнать, как внедряли длинный контекст в low-resource real-time модель, и каким боком там оказались диффузионные модели.

И это еще не все — были доклады про бенчмаркинг, синтетические данные, оптимизацию RAG-систем, VLM. Обязательно к просмотру!

Читать полностью…

Будни разработчика

#заметка дня

Вчера в комментариях к посту возник логичный вопрос: "Почему фишкой дня назначена буквально строка из документации?"

Спрашивали — отвечаем.

Формат Telegram плохо подходит для лонгридов. Иногда это даже немного удручает: переходов по ссылкам на, на мой взгляд, интересные примеры весьма немного.

Некоторые люди даже отписываются, если видят, что пост в телеге — лишь тизер.

Ну, шутка ли, у поста с каким-нибудь #codepen дня может набраться 3-4 тысячи просмотров за всё время, а переходов по ссылке — ну сотня. Если повезёт. Впрочем, эта ситуация касается не только Telegram и не только меня, тут удивления нет.

Наибольшее число переходов набирают красивые картинки градиентов. А вы говорите, документация...

Теперь к фишкам дня. Мне бы хотелось сказать что-то пафосное вроде: «Мусор одного человека — сокровище другого», — вот только короткие сниппеты кода совсем не мусор. И я за много лет опыта повидал их достаточное количество.

И иногда сидишь и думаешь: «Так, наверное, все уже это знают».

Нет, не все.

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

Основная фишка фишек — быть bite sized. На один укус. Чтобы никуда не ходить.

Но обратная связь — очень необходима. Реакции ли, комментарии ли — не стесняйтесь.

Раскачаем этот чат, котаны 🙂

Читать полностью…

Будни разработчика

Онлайн-программа магистратуры «Веб-разработчик» от НИТУ МИСИС и Яндекс Практикума – уникальная возможность за два года стать уверенным мидл разработчиком и получить диплом магистра государственного образца.

Преимущества программы:
✔️ освоите HTML, CSS, JavaScript, Django, основы дизайна и управления командой
✔️ изучите все этапы разработки продукта: от верстки дизайн-макета до настройки серверной части
✔️ сможете совмещать учебу с работой: все занятия проходят онлайн
✔️ сможете пользоваться инфраструктурой вуза, оформить документы, как студент очной формы обучения

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

Остались вопросы по поступлению? Ждем вас в Телеграм-канале "Онлайн-обучение | МИСИС".

Много интересного о программе можно найти на сайте партнера Яндекс Практикума.

Читать полностью…

Будни разработчика

#фишка дня

Итак, встала задача расширить элемент при наведении. Да ещё с каким-нибудь пружинящим дефектом эффектом. Что делать?

На самом деле, элемент мы физически не расширяем. Такова задача.

Один из первых вариантов, помимо манипуляции непосредственно размерами (что довольно тяжело при отрисовке) — это box-shadow. Но вот градиенты таким способом не нарисовать...

Потому у нас есть два варианта! Первый, от Adam Argyle (осторожно, видео из его твиттера и содержит крики на его же детей 😃) и от Temani Afif.

Итак, первый способ: использовать border-image и анимировать свойство border-image-outset.

Пример: https://codepen.io/argyleink/pen/abxgPKE?editors=1100

Второй, более очевидный, на самом деле — анимация clip-path, а точнее параметров функции inset.

Пример: https://codepen.io/t_afif/pen/BaEgEGa?editors=1100

Разница, кстати, имеется. В первом случае градиент нарисован border-image и прыгает вместе с ним, а во втором — буквально, обрезается.

Так что выбирайте тот, что вам по душе :)

#css #border #clip #animation #бородач

Читать полностью…

Будни разработчика

#видео дня

Это очень хорошо. Кто узнал себя? 🙋‍♂️

Читать полностью…

Будни разработчика

🔥 Weekend Offer Backend в Яндекс 26–27 октября

Устройтесь backend-разработчиком в Яндекс онлайн за одни выходные.

↔️ К участию приглашаем разработчиков на C++, Python, Go, Java или Kotlin, с опытом коммерческой разработки от трёх лет, которые готовы работать в офисном или гибридном режиме на территории России или Республики Беларусь.

🛐План простой: зарегистрируйтесь и до 23 октября решите пару задачек в Контесте, 26 октября пройдите два технических собеседования, а 27 октября получите офер.

🔛В Weekend Offer Backend участвуют разные сервисы: Финтех, HR-Tech, Образование, МВА, Биллинг, Геосервисы, Реклама, Поисковые сценарии. Чтобы заранее подумать, с кем вам хочется пообщаться 17 октября мы проведем онлайн-встречу в зуме, где команды расскажут о себе и задачах.

🆖 Узнать подробности и принять участие можно здесь.

Читать полностью…

Будни разработчика

#codepen дня

Ну что, кажется, настало то время, когда для стилизации радиокнопок и чекбоксов не нужно больше изгаляться с 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 #бородач

Читать полностью…

Будни разработчика

#видео дня


Итак, системы сборки проектов. Бандлеры, по простому. Старые и современные. От Webpack до OXC.

Зачем были нужны и как появились. Как развивались и при чём тут Rust. Почему oxc быстрее swc в пять раз, но это не всегда имеет значение.

На всё это отвечает Девон Говетт, создатель Parcel.js и разработчик проектов React Aria и React Spectrum в Adobe: https://www.youtube.com/watch?v=JUS6EPMbk0U&feature=youtu.be

Очень погружающая лекция, затрагивающая даже архитектуру проектов, чтобы было что сравнивать.

Если вы, котаны, запутались в JS-тулинге — вот самое оно.

#js #bundler #swc #webpack

Читать полностью…

Будни разработчика

Пост часа через четыре. Всё, не могу говорить, пока! 😘

Читать полностью…

Будни разработчика

#инструмент дня

Так вышло, что в своей карьере я умудрился поработать в компании, которая хотела сделать стримы на веб-сайте своей основной фишкой. С тех пор HLS, RTP и nginx-rtmp-plugin были моими друзьями.

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

Но сегодня я наткнулся на нечто прекрасное: https://compositor.live/

Это набор React-компонентов и медиасервер, который позволяет стримить видео и микшировать несколько потоков, управляя ими как обычными компонентами и элементами страницы!

Можно построить нечто аналогичное Google Meet за считанные дни.

Вырезать зелёный экран, добавить текст, поменять видео местами, наложить блупер — всё на месте. Напоминает react-three-fiber по своей сути.

#react #video #mixer #media #stream

Читать полностью…

Будни разработчика

#фишка дня

...от Никиты Голубова aka @midfilecrisis в Twitter.

В WebStorm из коробки (а значит, и в том же PhpStorm) можно получить предпросмотр стилей для выбранного класса. Включая CSS Modules.

Option-Space на macOS, или через Cmd, зависит от выбранных хоткеев. Ctrl+Shift+I на остальных системах.

Аналогичное расширение для VS Code: https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek

...более 6 миллионов установок, ик.

#css #webstorm #phpstorm #vscode #plugin #extension #бородач

Читать полностью…

Будни разработчика

#инструмент дня

Что такое "упоролся"?

Ну вот, например, Паскуаль Витьелло сел и сделал 50 инпутов разного рода и задач. От простых текстовых и т. н. input group, которые когда-то популяризовал Bootstrap до полей ввода OTP и банковских карт.

Вот: https://originui.com/inputs

Есть один нюанс... реализовано всё под Next.js и стилизовано Tailwind.css. Что, мягко говоря, накладывает некоторые ограничения.

Но!

Я бы не писал пост, не будь некоего "но", не правда ли? :)

Часть полей ввода реализовано при помощи вспомогательных компонентов и хуков, знать которые весьма полезно: Input OTP, React Aria, react-phone-number-input... Таким образом эти самые компоненты являют собой прекрасный пример композиции.

Использовать их или нет — решать вам. Но идея хорошая.

#next.js #react #ui #components

Читать полностью…

Будни разработчика

Yandex Cloud анонсировала сервис по аренде выделенных физических серверов

Yandex BareMetal позволит арендовать выделенные физические сервера и гибко настраивать их для размещения любого программного обеспечения, в том числе средств виртуализации. Компании уже могут подать заявку на закрытое тестирование сервиса Yandex BareMetal, которое начнется до конца 2024 года.

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

Читайте подробнее в статье

Читать полностью…

Будни разработчика

#инструмент дня

Вы только посмотрите на эту красоту!

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

Итак, встречайте: NumberFlow от Максвелла Барвиана.

GitHub: https://github.com/barvian/number-flow
Документация и демо: https://number-flow.barvian.me/

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

Прекрасное.

#react #number #transition

Читать полностью…

Будни разработчика

#заметка дня

Итак, есть у жизни в Финляндии один нюанс.

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

Дублируются же только мультики и фильмы, рассчитанные на аудиторию до 12 лет. И дублируются безальтернативно, субтитры не прилагаются.

И вот ты захотел посмотреть в кино «Дикого робота», но не знаешь финского.

Да-да, после пяти лет проживания я всё ещё не готов.

Что же делать?

Готовить своё веб-приложение для просмотра и синхронизации субтитров, конечно же!

На иллюстрациях — скриншоты процесса создания и результат :)

Неплохо для сорока минут общения с ChatGPT, не правда ли? :)

Репозиторий: https://github.com/bekharsky/subtitles
Демо: https://bekharsky.github.io/subtitles

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

Но начало положено! Потрясающее ощущение, когда от идеи до рабочего прототипа проходит полчаса.

#ai #subtitles #life #app

Читать полностью…

Будни разработчика

#баг дня

Наслаждаетесь экраном MacBook Pro или радуетесь новому wide gamut дисплею от, например, Dell?

Не спешите радоваться, Chome и тут нас подставил!

Обратите внимание на иллюстрацию. На ней — не продублированный текст, а просто пропущенный через SVG-фильтр, который фильтрует цвета и сдвигает контент через матрицу преобразований: https://codepen.io/thebabydino/pen/RwmPZVR

Автор этой прелести — Ана Тюдор (ну кто же ещё, больше таких крутых специалистов по фильтрам просто нет).

Так вот, есть маленькая проблема. На дисплеях с широким покрытием цветового поля Chrome находит зелёный цвет в красном и голубом. Где-то просчитались :) Из-за чего в фильтрах появляются серые полосы.

На Firefox и Safari таких проблем нет.

Чтобы проверить свой дисплей, можно пройти сюда: https://www.wide-gamut.com/test

Чтобы проверить баг, сюда: https://codepen.io/thebabydino/pen/vYqMvzv (должно быть только три чёрные полосы, без серых).

И вот сегодня утром Ана отправила баг в Chromium: https://issues.chromium.org/u/1/issues/373410239?pli=1

Если у вас оно повторяется, напишите, пожалуйста, подробности о своей платформе на трекере 🥺

Новые возможности хардвари — это, конечно, хорошо. Но лучше бы без багов, да.

#color #bug

Читать полностью…

Будни разработчика

#фишка дня от Кори Хауса

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

Почему нельзя просто вызвать? Очевидно, потому что функция будет исполняться на каждый ререндер, что не совсем то, что нам нужно.

Да, естественно, это есть в документации: https://react.dev/reference/react/useState#avoiding-recreating-the-initial-state

Вот только стоит запомнить, что в режиме разработчика, aka StrictMode, инициализаторы будут вызваны дважды, потому что функция-инициализатор должна быть чистой (возвращать одно и то же значение для идентичных аргументов). И React таким способом хочет нас предостеречь.

#react #useState

Читать полностью…

Будни разработчика

#такое дня

Ну что же, я так долго на одном месте в жизни не работал!

Пять лет в Supermetrics. От сеньора через тимлида, в техлиды.

В компании забавные традиции в честь достижения пятилетия: кастомный мерч — black hoodie — и участие в Black Hoodie Club, когда все пенсионеры компании собираются вместе и обсуждают, как мы дошли до жизни такой.

Конечно, я благодарен Supermetrics. Всё, что у меня есть в эмиграции, есть благодаря им :)

Приходил я в компанию на 50 человек, а теперь — 350.

Только малость поднадоело работать в одном направлении, что немного сбивает привкус празднования, но это преодолимо.

#anniversary #superversary

Читать полностью…

Будни разработчика

#статья дня

Полку шикарных визуализаторов прибыло!

Итак, помните мои мучения с игрой по кривым Безье? Или обучающий инструмент по SVG?

Так вот, теперь есть просто шикарное интерактивное руководство от Richard Ekwonye (я даже пытаться это транслитерировать не буду)! Вы только посмотрите, какава красата: https://blog.richardekwonye.com/bezier-curves

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

В общем, если не почитать — то хоть зайдите подёргать за рычажки 🙂

#bezier #svg #бородач

Читать полностью…

Будни разработчика

#статья дня

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

Это я об этом: https://www.biphelps.com/blog/The-Fastest-GIF-Does-Not-Exist

Правда, буду честен, я читал в переводе на хабре: https://habr.com/ru/post/676480/

Потому что циановый фон блога, где размещён оригинал, это какой-то ад… но сути дела не меняет.

Итак, в чём же история? История в том, что все браузеры и все программы просмотра GIF на свете совершенно неверно обрабатывают задержку между кадрами. Да так, что даже лишают нас многих возможностей формата.

Точнее, на всё есть свои причины. Исторические в основном. Chrome кивает на Firefox, тот на IE, тот на Netscape… беда.

И всё это снабжено, собственно, примерами кода. Прям как в двигателе покопался.

#gif #img #web #бородач

Читать полностью…

Будни разработчика

#такое дня

Пока вы тут спали, там произошло прекрасное.

3 октября Королевство Великобритания передало часть своих территорий в Индийском Океане (British Indian Ocean Territory) Маврикию.

Почему нам так важно?

Потому что домен io относился, внезапно, к British Indian Ocean Territory!

Да-да, все эти прекрасные домены github.io, itch.io, google.io и так далее — они не про Input/Output :)

И раз исчезает определение территории, то исчезнет и код территории (код страны в стандарте ISO, IO).

Исчезнет бюрократический код территории — исчезнет основание держать его в IANA (The Internet Assigned Numbers Authority, организация, отвечающая за домены верхнего уровня).

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

Событие не настолько редкое, как может показаться. Всё дело в том, что как только появилась сама идея верхних доменов, распался СССР, и основание для зоны su было передано России. Ну и заодно создали ещё 15 других.

Тут авторы статьи, на которую я ссылаюсь, нагнали жути и бреда, но оставим это на их совести.

Что нам надо знать дальше, что распалась Югославия, что не так давно Черногория объявила независимость от Сербии, и так далее и тому подобное. И каждой же стране хочется иметь свой домен верхнего уровня.

У Черногории, кстати, тоже шикарный домен же: me :)

Пока не очень понятно, порешают ли деньги, которые вертятся вокруг зоны io, но наблюдать за процессом будет интересно.

Хотя, думаю, естественно порешают :)

#history #io #domains

Читать полностью…

Будни разработчика

Для разработчиков смена обстановки — это прям суперважно. Кодинг и бесконечные баг-репорты частенько превращаются в рутину. Здесь на помощь приходят коворкинги, и классно, если помимо комфортных мест и быстрого интернета, там еще есть возможность и отдохнуть. Например, недавно закрылось рабочее пространство Яндекса на крыше музея "Гараж". На 4 недели коворкинг как раз стал той локацией, где каждый желающий мог немного перезагрузиться.

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

Яндекс уже не в первый раз открывает подобные пространства: первый коворкинг работал зимой в горах Сочи. Поэтому ждем, что они придумают в будущем.

Читать полностью…

Будни разработчика

#заметка дня

В Твиттере набирает обороты термин anti-under-engineering.

Ну то есть вы понял, да? Понятие оver-engineering известно давно и всем: как сделать простые вещи максимально и не к месту сложно.

Но anti-under-engineering он немного о другом. Он о том, как не сделать слишком просто. Как не подложить себе свинью в будущем, дорабатывая систему до постоянно меняющихся бизнес-требований. Как обезопасить себя от глупых и недальновидных решений. Как не писать части систем дважды.

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

Одной из техник в этом понятии является отказ от булевых флагов в пользу временных меток, timestamp.

Например:
❌ emailVerified
✅ emailVerifiedAt

❌ isDeleted
✅ deletedAt

То есть ты вместо логического true или false записываешь или null или timestamp. Дату и время, если коротко.

И действительно, сразу больше информации без потери сути. Техника эта хорошо описана в гайдах по языку ReasonML и называется Boolean blindness: https://github.com/leostera/reason-design-patterns/blob/master/patterns/boolean-blindness.md

Там очень много подобного, даже если сам язык и не используете.

Примером такой техники в верстке я могу назвать префиксы CSS-классов, если вы, конечно, все ещё их используете. Ну и неймспейсы вообще.

Какие будут ваши примеры? :)

Читать полностью…

Будни разработчика

#видео дня

Где-то с 2012 года я работал на диджитал-агентства. Если кто не в курсе, диджитал агентства — они про рекламу в интернете. Про сайты, лендинги, рекламные кампании — вот это вот всё.

Если ты работаешь верстальщиком, начинающим или уже продвинутым, то, чаще всего, работа на подобные агенства, по подряду или напрямую, это твой единственный шанс проявить себя и сделать что-то действительно интересное.

Да-да Awwwards — они тоже про это самое и из того же и выросли.

Так вот, на вопросы:
— как при знакомстве с макетом оценить его реализацию;
— какие могут возникнуть сложности, кроме письма от Муфалды Хмелкирк, и как с ними справиться;
— как эффективно строить общение между дизайнерами и разработчиками.

Отвечает доклад моего товарища Романа Баранова «Дизайн глазами креативного разработчика».

Ссылка на посмотреть:
https://www.youtube.com/watch?v=j5YWb8SPR94

Делитесь своим опытом вёрстки чего-то необычного.

#video #design #markup

Читать полностью…

Будни разработчика

🙂 Как эффективно и безболезненно внедрить DevSecOps?

Positive Technologies выпустили в помощь общедоступную методологию внедрения практик безопасной разработки — AppSec Table Top

📖 Внутри — набор принципов и подходов, которые помогут выстроить AppSec-процессы с учетом интересов бизнеса, требований регуляторов и потребностей команд.

В методологии учтена передовая экспертиза Positive Technologies в области application security, а также лучшие российские практики и зарубежные наработки.

Скачивайте гайдлайн на сайте, а дальше... вы будете знать, что делать.

Читать полностью…
Subscribe to a channel