Но пока потенциально: разбираем журналистское расследование от Reuters о секретном проекте КНР. Второй материал из цикла торговой войны между США и Китаем.
Читать далееПриветствую, Хабр!
Перед Новым годом для поднятия настроения до праздничного, захотелось сделать что-то необычное и новое. Все мы украшаем елку, ставим на вершину звезду, вешаем на ветки игрушки и ждем Деда Мороза. Женя, 41 годик.
Читать далееКомпания Shenzhen Xunlong Software выпустила новую open-source плату на базе 12-ядерного высокопроизводительного процессора Armv9 Cix P1 CD8160. Плата предыдущего поколения Orange PI 5 построена на Rockchip RK3588. Новый процессор Cix P1 состоит из 8 ядер Cortex‑A720 и 4-х Cortex‑A520, и обещает прирост производительности на 300% по сравнению с последним Rockchip RK3588. Ядро Cortex‑A720 было впервые представлено публике в 2023 году и через два года уже готова плата на новых процессорных ядрах. Из коробки работает UEFI/TianoCore EDK II (ED2) с запуском Debian, Android, Windows 11. Под катом разберемся с новой архитектурой Armv9, рассмотрим процессор Cix P1, оценим производительность новой платы и сравним с предыдущим поколением, платой Orange PI 5 Plus.
Читать далееЯ до сих пор помню тот день, почти два десятилетия назад, когда впервые вскрыла свой системный блок — он начал издавать какой‑то странный шум. Той ночью я сидела, скрестив ноги, на полу своей спальни перед открытым корпусом компьютера и смотрела на крошечные небоскребы, на это подобие города, красиво выстроенное на зеленой плате... Казалось, я наблюдаю за миром, у которого есть свое собственное существование.
Позже я узнала, что этот миниатюрный мир называется материнской платой — главным местом, где всё соединяется и «разговаривает» друг с другом. В то время я не особо понимала, что делают все эти детали, но любопытство брало верх. Я прикасалась к ним с осторожностью, боясь сломать что‑то важное. Шум вентилятора оказался следствием банальной пыли, застрявшей внутри, — вещь простая, но для меня это было настоящим открытием.
В ту ночь я закрыла корпус с чувством гордости, словно разгадала маленькую тайну. Наверное, это был первый раз, когда я почувствовала себя комфортно рядом с машинами, перестала их бояться... Это чувство собственной малости посещает меня и сейчас, особенно когда я нахожусь среди огромных механизмов, вроде турбин, или когда смотрю на сплетение электрических компонентов. Их точность и тихая мощь напоминают мне о том, насколько я мала, и в то же время — как глубоко мы переплетены с вещами, которые сами же и создаем.
Оглядываясь назад, я понимаю, что тот тихий момент на полу спальни стал началом гораздо более длинного путешествия. Путешествия, в котором любопытство медленно перерастало в знакомство, а знакомство — в изумление от того, как далеко могут зайти эти машины.
Читать далееКоманда Python for Devs подготовила перевод статьи о Manim — Python-инструменте для создания наглядных математических анимаций в стиле 3Blue1Brown. Разбираемся, как с помощью кода визуализировать уравнения, графики и абстрактные идеи так, чтобы они были понятны коллегам, менеджерам и студентам.
Читать далееОтказоустойчивый и масштабируемый энтерпрайз невозможно спроектировать по книжкам. Одно и то же решение может фигурировать и в best, и в bad practice — и, что забавно, иногда переходит из одного списка в другой. Ещё недавно монолиты считались злом, а теперь снова в моде.
Хотите посмотреть, как знакомые паттерны ведут себя в реальном контексте?
Чтобы показать это на практике, я собрала три инженерных кейса. Каждый оформлен в формате детективного квиза: роль, фабула, вопросы на размышление, разбор и выводы. Попробуйте разобраться в проблеме, пройти тест и определить: где костыль, где инженерный компромисс, а где — настоящая best practice.
Читать далееОтказоустойчивый и масштабируемый энтерпрайз невозможно спроектировать по книжкам. Одно и то же решение может фигурировать и в best, и в bad practice — и, что забавно, иногда переходит из одного списка в другой. Ещё недавно монолиты считались злом, а теперь снова в моде.
Хотите посмотреть, как знакомые паттерны ведут себя в реальном контексте?
Чтобы показать это на практике, я собрала три инженерных кейса. Каждый оформлен в формате детективного квиза: роль, фабула, вопросы на размышление, разбор и выводы. Попробуйте разобраться в проблеме, пройти тест и определить: где костыль, где инженерный компромисс, а где — настоящая best practice.
Читать далееВ этой статье расскажем, чем отличаются ПС «Мир» и СБП и почему именно вместе эти системы делают безналичные расчёты удобными, надёжными и доступными каждому.
Читать далееУже год я неторопливо разрабатывают свою небольшую инди-игру Creepy Support, о технической части которой я уже рассказывал на Хабре. И недавно меня в очередной раз спросили, «а ты не пробовал использовать «ИИ» для ускорения разработки»? Я начал писать человеку развёрнутый ответ, и в процессе понял, что текст разрастается до небольшого поста...
Читать далееМне в Rust всегда заходила одна штука. Он довольно быстро приучает не держать в голове мусор из серии «а я точно это освободил??». Большая часть рутины с памятью уезжает в автоматизм языка, и ты можно прям выдохнуть и думать про данные и инварианты, а не про то, где у тебя очередной free потерялся.
Но. Как только начинаешь копать чуть глубже, выясняется, что у Rust есть вполне конкретная рука, которая раздаёт память под все эти Box::new(42), Vec::push и растущие String. Имя этой руке простое: аллокатор. Он отвечает за то, что происходит в куче, и именно через него проходят почти все интересные истории про производительность и поведение памяти.
Читать далееВ статье расскажу об опыте изготовления и использования дампера NES/Famicom картриджей. Проблемы выбора проекта для реализации, цели и задачи, примеры использования.
Читать далееЕсли вы хоть раз делали УЗИ в СНГ, то, скорее всего, вас обмазывали нашей продукцией. С 1994 года мы производим медицинские гели. Началось с лаборатории НИИ медицинских полимеров. После развала Союза удалось спасти часть наработок, сколотить команду и попытаться сделать хоть что-то.
В СССР мы закончили разработку лучших гелей в галактике, но не успели произвести. Было просто дико обидно, что прикладная наука пропадает.
В 1994 году у нас было одно небольшое помещение на Научном проезде. В одном углу сидел директор, рядом считал цифры бухгалтер, тут же менеджер висел на телефоне. Никаких электронных площадок и тендеров тогда не было — просто брали справочник, обзванивали больницы и поликлиники напрямую и уговаривали их попробовать наш гель.
В этой же комнате стояли небольшие реакторы, где варился продукт, тут же была зона упаковки и импровизированный склад. Мы сами варили, сами разливали, сами клеили этикетки. Набирали дату на маленьких резиновых штампиках и вручную штамповали каждый флакон. Наш айтишник был ещё кладовщиком и грузчиком.
В 90-е, когда денег у больниц не было, а импортный гель (типа американского Parker) стоил дико дорого, врачи часто варили крахмал. Диагностика на таком геле была соответствующая — мутная, с помехами, но хоть что-то видно.
Импеданс, агрессивность среды для датчика — таких слов врачи просто не знали. Им надо было хоть что-то, чтобы диагностировать.
Читать далееAxiom — это недостающий тестовый runtime для Go, который добавляет фикстуры, шаги, хуки, retry, плагины, метаданные и структурированное выполнение поверх стандартного testing, оставаясь полностью совместимым с ним. Минимум магии, максимум инфраструктуры.
Читать далееСнепшот-тестирование — один из немногих надёжных способов контролировать визуальную целостность SwiftUI-компонентов. Но что делать, если ваш проект ограничен Xcode 13.3 и Swift 5.6, а большинство компонентов дизайн-системы обёрнуты в UIViewRepresentable?
Меня зовут Денис Третьяков, я iOS-разработчик в ПСБ. В этой статье расскажу, как мы организовали снепшот-тестирование SwiftUI-компонентов в условиях жёстких ограничений, с какими проблемами столкнулись и как их решили.
Читать далееВсем привет, я Саша, инженер по тестированию ПО в Directum. Неотъемлемая часть моей работы — поиск слабых мест, недочетов системы. Фокус на недостатках оставляет отпечаток на образе мысли, взгляде. Работа требует внимания к деталям, определенного перфекционизма.
Наша айтишная реальность меняется и эволюционирует. Каждый день мы улучшаем не только процессы заказчиков, но и психологическую атмосферу в коллективе. Однако, несмотря на все блага, у этого процесса есть обратная сторона: стереотипы и ярлыки, один из которых — токсичность.
Читать далееКоманда AI for Devs подготовила перевод резонансной статьи о том, почему использование кода, сгенерированного ИИ, может сделать разработчика слабее, а не продуктивнее. Автор жёстко критикует AI-ассистентов, рассуждает о деградации навыков, зависимости от инструментов и будущем профессии.
Читать далее«А давайте вы сделаете какой-нибудь новогодний рисёч?» — примерно такую задачу поставили нашей Positive Labs этим летом. Поскольку мы любим изучать разнообразные железки, первым делом подумали про умные устройства. А что у нас с Новым Годом обычно ассоциируется? Правильно — новогодняя ёлка. Быстрый поиск в сети показал, что smart-ёлки существуют, и даже не от дядюшки Ляо, а вполне себе серьезной компании. На том и порешили — берем Twinkly Light Tree и смотрим, что там с безопасностью.
Так что же там с безопасностью?TL;DR
Переписал Composer на Go, получил 3-5x ускорение благодаря параллельной загрузке пакетов и отсутствию PHP runtime overhead. Проект полностью совместим с экосистемой Composer/Packagist (почти, об этом будет подробнее внизу).
Читать далееВсем привет!
Завершил обновление предыдущей версии книги и выкладываю в открытый доступ второе издание «Основы Dart: Community edition». От полной версии ее отличает то, что в ней отсутствует глава по разработке тг-ботов на Dart и сквозной проект - игра «Крестики-нолики», которая улучшается практически после каждой главы и сопровождается заданиями на самостоятельную проработку по ее улучшению (своего рода «проект-песочница» из которого я вытряс всю душу и придумал задания, способные привести к знатному подгоранию пятой точки ^_^).
Читать далееВсем привет! У большинства фреймворков, построенных на паттерне MVC, отсутствуют физические страницы, содержащие в себе логику обработки и детали отображения страницы. Все это держится на плечах контроллера, а роутинг уже сопоставляет используемый URL и необходимый экшен контроллера. Считается, что использование физических страниц для отображения контента — по большой части прерогатива CMS, но на самом деле это заблуждение. В данной статье рассмотрим механику работы роутинга в Битрикс.
Читать далее