[Перевод] Почему Америка потеряет полупроводниковую отрасль |
США всегда были мировым лидером в области полупроводников: и в проектировании, и в производстве и в инструментах для их создания. Полупроводниковая отрасль является основой всех технологических инноваций в области вычислительной техники и информационных технологий. Без них не было бы таких компаний как Amazon, Google, Microsoft, Meta, Apple и Tesla. Но уже пару десятилетий США постепенно теряют своё превосходство в полупроводниковой промышленности. В последние годы темпы потерь только ускоряются. Если это лидерство будет утеряно, то будет потерян фундаментальный строительный блок современных технологий, и США уступят своё всеобъемлющее технологическое преимущество. В этой статье мы обсудим основные причины этой проблемы и предложим решения, которые по своей природе должны быть поддержаны обеими партиями.
Читать далееhttps://habr.com/ru/post/686160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686160
Метки: Производство и разработка электроники полупроводники производство микросхем сша и китай микроэлектроника |
IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать |
Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать проект не могу (всё-таки частная собственность), да это и не нужно, но идея такова: есть 2 драйвера, один из них становится в стек устройств определённого класса и предоставляет интерфейс через который второй драйвер может подписаться на добавление новых и уже подключенных устройств (несколько callback-ов), получать обратные вызовы на определённых операциях и так далее. Таким образом первый драйвер находится в системе постоянно и для своей замены требует перезагрузки и содержит минимальную логику, а второй может свободно обновляться на ходу (без перезагрузки) и принимает решения. Логика этого драйвера подразумевает создание control device для каждого устройства-фильтра, установленного в стек (нужен дополнительный функционал без коллизий с функционалом стека) - и вот тут у меня возникла проблема, на определение причин которой и дальнейшее решение я потратил довольно много времени. Статью об этом решил написать именно сегодня - как-никак это неплохой способ сделать что-то полезное на свой профессиональный юбилей - 10 лет в разработке :-)
Читать далееhttps://habr.com/ru/post/686178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686178
Метки: Системное программирование Разработка под Windows драйвер баги реверс-инжиниринг |
Telegramm-habr-бот. Долгий путь к совершенству |
Каждый день мы просматриваем habr. Каждый день заходим на главную ленту и просматриваем её. Что, если автоматизировать этот просмотр?
В статье я расскажу, как я писал telegram-бота на python3, который вытаскивает заголовки статей с habr и пишет их в telegram.
И т. Д.
Читать далееhttps://habr.com/ru/post/686174/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686174
Метки: Habr Python API telegrambot парсинг парсинг контента python3 |
Программируем Arduino Uno на Rust: настраиваем среду и моргаем светодиодом |
Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать Arduino на чём-то более современном и удобном? Вот и я задавался. И нашёл Rust (не то, чтобы я о нём не знал). И на нём можно программировать микроконтроллеры AVR и платы Arduino, построенные на них. И здесь я расскажу о том, как настроить среду разработчика на Rust в Linux, GNU Emacs и Visual Studio Code и как запрограммировать Arduino Uno на моргание светодиодом.
#![feature(llvm_asm)]
#![no_std]
#![no_main]
use ruduino::Pin;
use ruduino::cores::current::{port};
#[no_mangle]
pub extern fn main() {
port::B5::set_output();
loop {
port::B5::set_high();
ruduino::delay::delay_ms(1000);
port::B5::set_low();
ruduino::delay::delay_ms(1000);
}
}
Читать дальше → https://habr.com/ru/post/686168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686168
Метки: emacs rust Разработка под Arduino ненормальное программирование arduino uno |
Проникновение в чужой ящик Gmail через скрытое расширение Chrome |
https://habr.com/ru/post/686170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686170
CI/CD и еще один CD. Разбираемся в терминологии pipelines в контексте автоматизации тестирования |
В IT индустрии используется большое разнообразие инженерных культур и практик, таких как Agile, бережливое производство (lean software development), DevOps. Все они так или иначе нацелены на бесперебойную доставку ценности за счет повторяемых коротких итераций. Неотъемлемой частью такого подхода является конвейерный подход или по-английски – pipelines. Подразумевается, что в идеальном мире разработчик заливает код на сервер и дальше происходит магия, состоящая из автоматизированных этапов сборки проекта, контроля качества кода, запуска тестов и сбора метрики. На рынке существует большое количество платных и бесплатных инструментов для настройки такого процесса, который мы называем “процессом непрерывной интеграции” или CI/CD (Jenkins, GitLab CI, Teamcity и д.р.). Однако для построения действительно зрелого процесса недостаточно просто установить инструмент. За каждым этапом конвейера стоит сложная логика того, что должно быть запущено, на каких вычислительных ресурсах и как эти ресурсы используются.
На собеседовании кандидаты очень часто гордо говорят, что знают CI/CD. Но знать можно по-разному. Одно дело нажимать кнопку запуска и смотреть, какой цвет получился: красный или зеленый. И совсем другое дело настраивать весь флоу от и до самостоятельно, чем обычно и занимаются DevOps инженеры. Для проверки глубины знаний я задаю базовый вопрос, на который очень редко получаю ответ: “А в чем разница между CI и CD ?”. Далее я хочу поделиться своим пониманием отличий CI от CD и от еще одного CD на примере запуска автотестов. Заранее предупрежу, что мое видение может частично отличаться от вашего. Ведь у всех нас немного разный опыт, разные проекты и источники для изучения, которые могут расходиться. Главное, что какое-то видение у вас есть!
https://habr.com/ru/post/686138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686138
Метки: Блог компании OTUS devops Тестирование IT-систем qa automation continues integration тестирование автоматизация непрерывная интеграция |
Что было в голове у Гвидо, когда он создавал Python |
На Хабре уже описывали историю создания Python. Но мы решили не просто пересказать события ещё раз, а увидеть их глазами Гвидо ван Россума: что он сам думал об этом всём? Мы порылись в архивных текстах и нашли ранние высказывания, которые помогают лучше понять, почему Python стал именно таким и что определило его популярность.
Все началось с того, что в декабре 1989 года датчанин Гвидо (Guido van Rossum) — будущий создатель одного из самых популярных языков программирования — искал хобби-проект, которому можно было бы посвятить рождественские каникулы… Сам Гвидо вспоминал это время так:
Как-как он его вспоминал?https://habr.com/ru/post/686150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686150
Метки: Блог компании JUG Ru Group Python История IT Биографии гиков guido van rossum bdfl |
Вендская биота. Инопланетяне старой Земли |
Автор сообщества Биореактор: биолог Никита Игнатенко
#Биология@inbioreactor#Палеонтология@inbioreactor
Полмиллиарда лет назад Землю населяли странные существа, прозванные вендобионтами. Сидячие перья, ползучие ленты, кручёные звёзды и желеобразные диски — протоокеаны кишели удивительными формами жизни. Их предки неизвестны. Они не оставили потомков. По своей внешности, анатомии и физиологии вендобионты не похожи вообще ни на что, известное людям. Чтобы заслужить сравнение с инопланетянами, вовсе не обязательно происходить с других миров.
#Лонг@inbioreactor
Текст: #Игнатенко@inbioreactor
Редактура: #operkfs@inbioreactor #Ficus@inbioreactor
https://habr.com/ru/post/686148/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686148
Метки: Научно-популярное биология Протерозой жизнь Чарнии биореактор животные организм прошлое палеонтология эдиакарская биота |
Краткая история водородных двигателей и топливных элементов: от XIX века до наших дней |
Мы уже рассказывали про первый водородный двигатель Жан-Пьера де Риваза и его неудачных попытках хоть как-то заработать на своем детище.
Во второй части нашей статьи мы проследили путь развития водородных двигателей и топливных элементов от XIX века до наших дней.
Читать далееhttps://habr.com/ru/post/686146/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686146
Метки: Блог компании Онлайн Патент Читальный зал Патентование Научно-популярное Энергия и элементы питания водородная энергетика история создания патенты наполеон история в патентах |
Количество партиций в Spark при инициализации Data API: DataFrame, RDD, DataSet |
Любое Spark Data API: DataFrame, RDD, DataSet состоит из партиций. Партиция — это часть данных, аллоцированных в оперативной памяти воркеров (жестком диске при кэшировании) для параллельных преобразований. Например, можно одновременно прибавить какое-то число к каждому элементу из партиции. Распределение элементов по партициям и их количество может происходить по принципу round-robin либо по хэшу от какой-то колонки в результате различных операций и зависит от типа операции.
Читать далееhttps://habr.com/ru/post/686142/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686142
Метки: Блог компании OTUS API spark data api Дата инженер партиции |
Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл |
В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's
вместо its
. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:
Простите, я не могу так больше. Я слишком хорошо знаю Python, чтобы молчать при виде такого кода.
Я устал. Я не могу это читать. Простите за токсичную критику, накипело.
Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?
И всё заверте...https://habr.com/ru/post/686104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686104
Метки: Блог компании Breakpoint Python Программирование чистый код ошибки программистов грабли антипаттерны велосипеды |
[Перевод] Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate |
Большинство разработчиков предпочитают числовые первичные ключи, потому что они эффективны в использовании и их легко сгенерировать. Но это не означает, что первичный ключ должен быть числом.
Читать далееhttps://habr.com/ru/post/686136/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686136
Метки: Блог компании OTUS Java uuid первичные ключи hibernate generics дженерики |
[Перевод] Чего вам не говорили про сокеты |
https://habr.com/ru/post/686134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686134
Метки: Блог компании QIWI Программирование Сетевые технологии api linux windows сокеты процессы |
ITить-КОЛОТИТЬ, серии 7-9 |
Продолжаем выкладывать новые выпуски нашего сериала про айтишников. Как он появился и как снимался второй сезон нашего мини-сериала, рассказывали ранее.
Читать далееhttps://habr.com/ru/post/686132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686132
Метки: Блог компании Cloud4Y IT-компании сериал анонсы it юмор |
Best Practices для Python |
Лучшие практики в Python по моему мнению
Многие разработчики хоть раз задумывались о негласных правилах разработки. Самые популярные подобные практики стали широко известными и их стараются придерживаться все программисты.
В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.
Читать далееhttps://habr.com/ru/post/686122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686122
Метки: Python Программирование best practices |
Что внутри игрового ноутбука Maibenben х Mechrevo X558? Разборка мощной модели с RTX 3060 и Ryzen 7 5800H |
https://habr.com/ru/post/685724/?utm_source=habrahabr&utm_medium=rss&utm_campaign=685724
Метки: Ноутбуки Maibenben Mechrevo |
Как защититься от сканирования портов и Shodan? |
Серверы в опасности!
Вы знали, что каждый включенный и подключенный к сети сервер постоянно подвергается атакам? Это могут быть разные атаки и с разной целью.
Это может быть перебор портов с целью найти открытые от какой-то компании, которая позиционирует себя борцом за безопасность, но которая собирает статистику открытых портов на будущее по всем доступным IP (например Censys).
Может быть Shodan, который тоже собирает базу о том, где какие порты открыты, и отдаёт эту информацию любому заплатившему. И могут быть менее известные компании, которые работают в тени. Представьте, кто-то ходит по всем домам и переписывает модели замков входных дверей, дергает за дверь и выкладывает это в публичный доступ. Дичь! Но тоже самое происходит в интернете тысячи раз в секунду.
Кроме компаний могут быть бот-сети, перебирающие порты для поиска чего-то конкретного или для подготовки к целевым атакам.
Ну и собственно целевые атаки, во время которых ваши серверы в первую очередь тестируются на наличие открытых портов, а затем производятся атаки на найденные сервисы. Это может быть подбор эксплоитов для использования известных дыр или пока неизвестных 0-day, как и обычный DDoS.
Во всех этих сценариях используется предварительный перебор открытых портов. Скорее всего применение nmap
или подобных утилит в каких-то скриптах.
Как защитить сервер от сканирования портов без CloudFlare и подобных прослоек?
https://habr.com/ru/post/686120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686120
Метки: Информационная безопасность *nix Серверное администрирование firewall nmap nmap-сканирование iptables diswall |
Современная микросервисная архитектура: основные вызовы в работе системных аналитиков |
Продолжаем знакомиться с современной микросервисной архитектурой. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал об основных сложностях аналитиков, с которыми можно столкнуться при работе с микросервисами, и способах их преодоления.
Читать далееhttps://habr.com/ru/post/686108/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686108
Метки: msa системное администрирование системный анализ микросервисы системный аналитик серверное администрирование никто не читает теги микросервисная архитектура блог компании иннотех |
[recovery mode] В активном поиске: развенчиваем мифы о найме айтишников |
Представление о найме айти-специалистов, которое сложилось на рынке, превращает их в неких мифологических существ: считается, что опытные айтишники не ищут работу дольше трех дней, никогда не откликаются на вакансии, а эйчары ловят кандидатов в Тиндере и Инстаграме, потому что на рекрутинговых площадках уже никто не сидит.
В реальности большинство таких представлений — мифы: синьоры часто ищут работу дольше мидлов, соискатели активно пишут рекрутерам, а предложения им приходят им даже не через Телеграм, а через стандартные HeadHunter и Linkedin. Чтобы подтвердить это цифрами, мы провели исследование среди специалистов в базе нашего агентства. Здесь я хочу не только рассказать о его результатах и развенчать популярные стереотипы, но и попробовать объяснить, почему все-таки бизнесу так сложно заполучить нужного кандидата.
Спринт по трудоустройству
Одно из самых частых заблуждений в айти-рекрутинге — это время, которое соискатели тратят на поиск работы. Почему-то считается, что если не дать специалисту оффер сегодня, то буквально завтра его схантят конкуренты. При этом мало кто задается вопросом, что за спешка вынуждает человека сразу же хвататься за привлекательное предложение (даже если предположить, что за неделю он получил их штук десять).
Как выяснилось в результате нашего опроса (1500 респондентов) по базе айти-специалистов, почти четверть синьоров тратят на поиск работы месяц и больше, 47% — две-три недели. Результаты опроса в нашем телеграм-канале оказались даже более впечатляющими: у 38% синьоров на выбор работодателя уходит не меньше месяца. Для сравнения: большинство мидлов (42%) находят новое место за 1-2 недели.
Читать далееhttps://habr.com/ru/post/686112/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686112
Метки: Управление персоналом поиск персонала как найти хорошего сотрудника опрос собеседование работа в it статистика в it сеньоры мидлы джуниоры работодатель |
[Перевод] Пособие по программированию модулей ядра Linux. Ч.4 |
sys_open
, а также следить за конкретным пользователем, информируя нас об открываемых им файлах. Читать дальше → https://habr.com/ru/post/685168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=685168
Метки: Блог компании RUVDS.com Настройка Linux *nix Разработка под Linux ruvds_ перевод procfs sysfs linux unix программирование ядра |