Условные выражения в CSS
На протяжении многих лет CSS был известен как способ стилизации веб-страниц. Однако сегодня этот язык эволюционировал настолько, что в нём уже есть правила условных выражений. Любопытно то, что эти правила реализуются не напрямую. Инструменты дизайна наподобие Figma, Sketch и Adobe XD сильно облегчили жизнь дизайнеров, но им всё равно не хватает той гибкости, которая есть у CSS.
Поговорим о некоторых возможностях CSS и посмотрим, насколько они условны
Вы читали берестяные грамоты жителей Новгорода 11 века? Жёны писали записки мужьям типа «Не забудь в дорогу бутерброды, когда поедешь в Киев», девушки слали любовные записки, мужчины вели учёт долгов перед соседями. Но мы даже близко не можем представить, как жила эта богатая культура до завоевания Москвой.
Так и от нашего поколения останутся лишь обрывки, непонятные файлы, фотографии. Потомки будут смотреть и искренне недоумевать, зачем мы делали то, что делаем.
И компьютеры будут другими. Практически наверняка в будущем придётся эмулировать программную и аппаратную среду современных ПК, поскольку работающие экземпляры станут редкостью, как сейчас работающие мейнфреймы 1950-х. Там будут другие процессоры на новой архитектуре, иные мониторы, ОС, софт, шрифты и т.д. Всё поменяется. Не говоря уже о том, что в худшем сценарии у потомков вообще не останется компьютеров и даже такого понятия, как «вычислительная машина».
Что же делать?
Как передать потомкам исполняемый код? Задача сложнее, чем кажется
«С момента написания прошлой статьи, которая вошла в топ-3 по количеству комментариев за 2022 год, я получил грин-карту, женился и переехал, как мечтал, в столицу всего айти-мира. Статья будет про мой карьерный путь из простого сисадмина в Ульяновске до непростого в Кремниевой долине»
Как сисадмин из Ульяновска попал в Кремниевую долину. Такая ли большая разница?
Chrome Headless против cloudflare JS challenge
Автоматизация сбора информации с различных ресурсов — обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET-запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование Cloudflare.
Посмотрим, как Cloudflare выявляет ботов через JavaScript и коснёмся темы деобфускации скриптов
⚡️ Новости к этому часу
✅ В Raspberry Pi Pico W появилась поддержка Bluetooth
🛰 «Луна-25» полетит в июле-августе 2023 года
🛸 Вооружённые силы и журналисты четырёх стран возвращают НЛО в информационную повестку
📄 «Яндекс» опубликовал результаты расследования о причинах сбоя в работе своих сервисов 6 февраля
🔭 «Хаббл» запечатлел трио сталкивающихся галактик
🙀 В небе над Гавайями «засбоила матрица» (ВИДЕО)
👟 В России создали умные кроссовки с вентиляцией, обогревом и массажем
🔐 Эксперты DLBI опубликовали самые популярные пароли из утечек 2022 года
🛠 Blue Origin показала процесс изготовления солнечных панелей из аналогов лунного реголита при температуре 1600°C
🚕 «Яндекс» запустил тестирование сервиса Yango в Намибии и Мозамбике
⚠️ Роскомнадзор внёс Qiwi в реестр организаторов распространения информации
🩸 В Томске научились определять виды депрессии по крови и слюне
#новости
А вы давно заглядывали внутрь ваших зависимостей?
Задумывались ли вы о том, что находится внутри зависимостей, которые так или иначе подтягиваются в ваш код? Взять чужую библиотеку сейчас — норма жизни, но чем это обернётся с точки зрения безопасности?
Последние истории с node‑ipc и CTX заставили задуматься о том, что лежит внутри этих репозиториев. Оказалось, не только легитимный код. Там есть и попытки заработать без особых усилий, просто собирая информацию, и даже полноценные стиллеры.
Большой тест пяти «азиатских» аккумуляторов D23. Часть четвёртая. Заряжаем током 80 ампер
Испытания пяти аккумуляторных батарей для автомобилей азиатского производства подошли к завершению.
— Furukawa Battery Super Nova 55D23L
— Panasonic (Yuasa) N-75D23L/JE
— Solite 85D23L
— Mazda (Exide) PE1T-18-520 9B
— Exide Premium EA654
Сегодня проверим, какие из этих АКБ смогут запустить двигатель в разряженном состоянии при низкой температуре, а затем будем заряжать их большим током с измерением температуры корпуса
«Кое‑как, вскладчину, 15 старших офицеров российского Интел сумели расплатиться за ужин. Сколько там было, я даже не смотрел. И как И. этот чек потом по бухгалтерии проводил, не знаю тоже. Но мои 15 косарей он спустя некоторое время вернул»
Made at Intel. Пировали, веселились...
Как стать джуном, которого берут на работу (frontend-разработка)
Поговорим о том, что на самом деле должен знать джун, чтобы попасть в хорошую компанию, и как к этому прийти, если за плечами нет высшего программистского образования или богатого опыта программирования в школе.
Всё про USB-C: высокоскоростные интерфейсы
Возможность получения высокоскоростного интерфейса через USB-C называется Alternate Mode, или коротко «altmode». Сегодня можно встретить три варианта altmode — это USB3, DisplayPort и Thunderbolt. При этом некоторые, например HDMI и VirtualLink, канули в лету, а другие, например USB4, только собираются появиться на свет. Для большинства альтернативных режимов требуется цифровая коммуникация через USB-C, предполагающая передачу определённых сообщений по каналу Power Delivery. Тем не менее способны на это не все, и самым простым примером является USB3. Давайте разберём, что же лежит в основе альтернативного режима.
Инфантильность как стратегия: когда она мешает жить, а когда помогает
Чужая инфантильность бесит. Своя не всегда осознаётся. Но, как и любое другое, инфантильное поведение не возникает без причины — разбираемся, зачем оно нужно, почему вызывает столько негодования и как от него избавиться.
«Сидеть всю ночь за монитором с красными глазами и кофеином вместо крови уже сомнительно. А поиграть иногда хочется. Ко дню влюблённых я отобрала себе карты для будущих свиданий»
Вы любите играть в Герои 3, а ваша половинка вас: 6 карт для свиданий
Миграция приложения из OpenShift в «ванильный» Kubernetes
Хотя у Kubernetes-платформ одинаковая технологическая база, перейти с одной на другую непросто: миграция неизбежно сопряжена с различными трудностями, связанными с особенностями реализации компонентов. Есть инструменты, которые автоматизируют процесс миграции — например, move2kube. Однако они требуют отдельного рассмотрения. Здесь же мы сосредоточимся именно на «ручном» переносе приложения.
На уходящей неделе мы делали смарт-ножницы на колёсах, тестировали никель-металлогидридные аккумуляторы, проигрывали жуткий сценарий использования ChatGPT и знакомились с удивительными беспроцессорными «текстовыми» компьютерами от Wang Laboratories.
Лучшие публикации недели (6-12 февраля)
Введение в механические клавиатуры
«Человек, не погружённый в мир механики, считает, что будет лучше, если он потратит больше денег, но это главная логическая ошибка, и её осознание удручает»
Эта статья — попытка объяснить человеку вне темы, что есть механическая клавиатура на самом деле и в чём суть существования подобной вещи.
«Привет, Хабр! Сегодня я в очередной раз побывал на испанской барахолке, благо, дождь, который прогнозировали на воскресенье, не пошёл. Людей было как обычно много, включая как продавцов, так и покупателей. Я стараюсь приезжать пораньше, когда основная часть товара уже выложена, а большинство покупателей ещё в пути. И такая стратегия себя обычно оправдывает»
Музыкальные инструменты, клюшки для гольфа, PS2 и много Nintendo: новые покупки на испанской барахолке
⚡️ Новости к этому часу
⚠️ Ретейлеры начали предупреждать о проблемах с оплатой онлайн через «Сбер» с 15 февраля без сертификата Минцифры
🆕 CloudMTS запустил «базы данных как сервис» на PostgreSQL, Redis и Kafka
🚗 Завод «Москвич» и группа компаний «Яндекс» подписали соглашение на поставки «Москвич 3»
⚖️ Арбитражный суд Москвы обязал Google восстановить доступ к просмотру девяти YouTube-каналов РЕН ТВ
📱 Пользователи столкнулись с блокировкой вызовов в китайской версии смартфона Realme 10 Pro+, активированной вне Китая
🩺 «Сбер» вышел на рынок медицинских устройств и выпустил умный тонометр
💰 Видеокарту 3Dfx Voodoo5 6000 продали на аукционе eBay за $15 тысяч (ФОТО)
🚖 Роботакси Zoox без руля впервые протестировали с пассажирами на обычной дороге
🇧🇷 Нацбанк Бразилии разрешил оплачивать налоги криптовалютой
✅ Совет директоров VK одобрил «потенциальную» смену юрисдикции компании
#новости
Разработка приложений для платёжных терминалов Ingenico
Скажите: интересовались ли вы хоть раз тем, как устроены и работают банковские платёжные терминалы, к которым вы прикладываете свою карту едва ли не ежедневно? Хотели ли вы узнать, как написать что-то своё под какое-нибудь из данных устройств?
Если ваш ответ — «Да», то этот пост определённо для вас
О сетевой аварии в «Яндексе»
6 февраля пользователи могли заметить частичную недоступность сервисов «Яндекса». Проблема возникла из-за каскадного сбоя в работе сетевого оборудования. Основной пик пришёлся на период с 17:03 до 17:50, когда общие потери трафика достигали 40%. Кроме того, в период с 17:03 до 17:13 наблюдалась практически полная потеря IPv6-трафика. Инцидент удалось устранить к 21:30.
Узнаем, как это произошло и какие выводы можно сделать
Fly me to the moon. Маргарет Гамильтон
20 июля 1969 года, в 20:17:39 по Гринвичу, лунный модуль миссии «Аполлон-11» совершил первую в истории человечества пилотируемую посадку на другое небесное тело. Событие огромной значимости как в плане науки, так и в плане идеологическом, стало возможным благодаря самоотверженной работе сотен людей — техников, контролёров, специалистов по связи. И, конечно, программистов. Знаете поговорку: «За каждым великим мужчиной стоит женщина»? Так вот, в случае Нила Армстронга, Базза Олдрина и Майкла Коллинза это на 100% правда, хотя и женщина была одна на троих. И имя ей — Маргарет Гамильтон, госпожа программного кода НАСА.
«В перерывах между изучением .NET решил я узнать, насколько хорошо ChatGPT умеет играть в шахматы и есть ли у меня хоть какие-то шансы на выигрыш, пусть даже я буду использовать современные компьютерные движки»
Остап Бендер из мира нейросетей, или Как ChatGPT играет в шахматы
Вакансии для джунов на Хабр Карьере:
Инженер по тестированию межсетевого экрана в Нуматех. Можно удаленно. От 100 000 ₽.
https://bit.ly/3XwfFYC
Junior менеджер проектов в presto.heads. Удаленно. Полный рабочий день. 30 000 ₽.
https://bit.ly/3IiTwsl
PHP-разработчик в S2 | Бизнес-приложения. Можно удаленно. Полный рабочий день. От 70 000 до 125 000 ₽.
https://bit.ly/3S2c0AH
QA-инженер в Flowwow. Можно удаленно. Полный рабочий день. От 40 000 ₽.
https://bit.ly/3IkWOvg
Аккаунт-менеджер в Effectiff. Москва. Полный рабочий день. От 50 000 до 75 000 ₽.
https://bit.ly/3jQo77n
Больше вакансий: https://bit.ly/3S9HeWR
#junior
⚡️ Новости к этому часу
🔎 Роскомнадзор запустил интеллектуальную систему отслеживания незаконного контента в Интернете «Окулус»
🤖 Opera добавит ChatGPT в боковую панель браузера в рамках внедрения новой функции «сокращения»
💻 В России образовался профицит ноутбуков
📲 ФАС попросили проверить рекламу в смартфонах Xiaomi
🛰 Разгерметизация корабля «Прогресс МС-21» — это микрометеорит, ошибка в конструкции или дефект сборки
⚙️ Google добавит телеметрию в инструментарий для языка Go
📃 Система мониторинга Okmeter внесена в единый реестр российского ПО
🎮 Любитель добавил RGB-подсветку на Steam Deck, но штатная система питания не выдержала (ФОТО)
#новости
Открыли контейнер, а там нейрокот и свежая порция публикаций «Сезона Kubernetes» — запущенного нами совместно с #CloudMTS конкурса технических статей о K8s, оркестрации и управлении контейнерами:
1️⃣ Миграция приложения из OpenShift в «ванильный» Kubernetes
2️⃣ Как я клонировал Томми Версетти, или Запускаем GUI/GPU приложения в Kubernetes
3️⃣ Kyverno — замена PodSecurityPolicy или нечто большее?
4️⃣ Создание Kubernetes-кластера на пальцах, или Почему это не сложно
5️⃣ Как переехать в облака и не остаться без штанов
6️⃣ Создаём стенд для бэкенд-разработки на Bare Metal (и не только). Часть первая
👉 Условия конкурса и другие подробности
Автор YouTube-канала My N Mi показал, как работает самый маленький в мире 3D-принтер. При высоте 41 мм он создаёт детализированные модельки параметрами 11×11×17 мм. Сам принтер имеет габариты 18×31×41 мм и весит всего 17 г.
Крошечный принтер изготовлен из комбинации дерева и пластика. Он работает на основе технологии стереолитографической печати. В небольшой резервуар в нижней части при помощи шприца заливается фотополимер, который твердеет под воздействием света. Принтер получает питание через порт micro-USB на задней панели.
Разрешение слоя у самого маленького 3D-принтера составляет от 0,005 до 0,3 мм, а точность — 0,135 мм.
Энтузиаст сделал двухпортовую модель iPhone TwinPort с рабочими разъёмами Lightning и USB-C из базовой версии iPhone 12 mini.
Умелец разобрал телефон, доработал систему управления питанием, подключив USB-C в параллель с Lightning, а также разделил штатный динамик на две части, чтобы можно было уместить внутри корпуса коннектор USB-C.
⚡️ Новости к этому часу
🛰 НАСА оказывает помощь Роскосмосу в анализе причин утечки охлаждающей жидкости корабля «Прогресс МС-21»
🎞 С 1 марта российские видеосервисы уберут из библиотек фильмы и сериалы Disney
✅ Microsoft подтвердила сбой приложений Windows 11 из-за драйверов Intel
🙅🏻 Apple ограничит использование порта USB-C в iPhone 15
⏱ Intel показала свою закрытую внутреннюю утилиту для разгона ROC (Real-Time OverClocking)
🤖 Фотография, сгенерированная ИИ, обманула судей и выиграла фотоконкурс (ФОТО)
#новости
EBYTE MA01-AACX2240: программирование работы реле
Продолжаем изучение внешнего RS485/ModbusRTU блока расширения MA01-AACX2240 компании EBYTE. Сегодня мы разберём устройство Modbus RTU регистров, принципов доступа к ним и получения информации от MA01-AACX2240 и управления его работой. А также разберём практические примеры скетчей и программирования блока MA01-AACX2240.
В результате MA01-AACX2240 и все блоки линейки MA0x-xxCXxxx0 станут доступны для практического использования
Как создать микросервис на Rust при помощи gRPC
В сегодняшнем туториале по Rust мы откроем для себя мир gRPC. Для этого создадим очень простой микросервис с единственной конечной точкой, который будет отзеркаливать то сообщение, что мы ему пошлем. Чтобы протестировать наш микросервис, мы также напишем простой клиент на Rust.
Шутки, пасхалки и забытые знания старых мануалов
Большинство руководств к вычислительным системам и программному обеспечению строгие, бьющие прямо в точку. Однако многие их предшественники были написаны в другом тоне, и на то было несколько причин. Легко было встретить смешные иллюстрации и даже примеры кода с комментарием «Надеюсь, вы знаете, что делаете».
Обсудим такие руководства и поговорим об отношении к этим, на первый взгляд, формальным документам