This media is not supported in your browser
VIEW IN TELEGRAM
(Анимация к предыдущему посту)
👍23🔥5👎1👏1
11 ключевых аспектов проектирования системы и системного дизайна:
1. Основы проектирования систем
Основа дизайна приложений представляют следующие концепции: масштабируемость, типы архитектуры, прокси, балансировщики нагрузки, монолит/микросервисы.
2. Сетевое взаимодействие и коммуникация
Принципы работы служб — от IP-адресации и межсетевых экранов до REST и gRPC, TLS, шлюзов API и обнаружения служб.
3. Кэширование
Стратегии кэширования и связанные темы — Redis, TTL, аннулировании кэша, CDN и локальных и глобальных уровнях кэширования.
4. Балансировка нагрузки
Эффективное распределение трафика, такие стратегии, как Round Robin, Least Connections, IP Hash, global LB, sticky sessions и проверки работоспособности.
5. Управление данными
Управление выбором базы и схемы данных с учетом принципов SQL/NoSQL, ACID или BASE, сегментирования, репликации и разделения данных.
6. Асинхронная обработка
Отвязывание систем друг от друга, применение очередей, событийно-ориентированная архитектура, Pub/Sub, веб-хуки, очереди повторных попыток (retry queue) и такие шаблоны, как исходящие сообщения (outbox) и источник событий (event sourcing).
7. Системы хранения и файловые системы
Неструктурированные и структурированные данные с помощью S3, EFS, BLOB-объектов, фрагментации, сжатия, озер данных и последовательного хеширования.
8. Последовательность и доступность
Обеспечение корректности распределенных систем с помощью строгой/конечной согласованности (strong/eventual consistency), протоколов консенсуса (consensus protocols), распределенных блокировок (distributed lock), векторных часов (vector clock) и кворума (quorum).
9. Отказоустойчивость
Проектирование систем, которые сами восстанавливаются с помощью повторных попыток, автоматических выключателей (circuit breaker), переборок (bulkhead), хаос-инжиниринга и стратегий постепенной деградации.
10. Мониторинг
Отслеживание, отладка и оптимизация производительности с помощью метрик, трассировок, стека ELK, OpenTelemetry, проверок работоспособности и инструментов оповещения.
11. Безопасность и аутентификация
Защита системы с помощью OAuth, JWT, RBAC, защиты от CSRF/XSS, TLS и поставщиков удостоверений, таких как Auth0 и Okta.
1. Основы проектирования систем
Основа дизайна приложений представляют следующие концепции: масштабируемость, типы архитектуры, прокси, балансировщики нагрузки, монолит/микросервисы.
2. Сетевое взаимодействие и коммуникация
Принципы работы служб — от IP-адресации и межсетевых экранов до REST и gRPC, TLS, шлюзов API и обнаружения служб.
3. Кэширование
Стратегии кэширования и связанные темы — Redis, TTL, аннулировании кэша, CDN и локальных и глобальных уровнях кэширования.
4. Балансировка нагрузки
Эффективное распределение трафика, такие стратегии, как Round Robin, Least Connections, IP Hash, global LB, sticky sessions и проверки работоспособности.
5. Управление данными
Управление выбором базы и схемы данных с учетом принципов SQL/NoSQL, ACID или BASE, сегментирования, репликации и разделения данных.
6. Асинхронная обработка
Отвязывание систем друг от друга, применение очередей, событийно-ориентированная архитектура, Pub/Sub, веб-хуки, очереди повторных попыток (retry queue) и такие шаблоны, как исходящие сообщения (outbox) и источник событий (event sourcing).
7. Системы хранения и файловые системы
Неструктурированные и структурированные данные с помощью S3, EFS, BLOB-объектов, фрагментации, сжатия, озер данных и последовательного хеширования.
8. Последовательность и доступность
Обеспечение корректности распределенных систем с помощью строгой/конечной согласованности (strong/eventual consistency), протоколов консенсуса (consensus protocols), распределенных блокировок (distributed lock), векторных часов (vector clock) и кворума (quorum).
9. Отказоустойчивость
Проектирование систем, которые сами восстанавливаются с помощью повторных попыток, автоматических выключателей (circuit breaker), переборок (bulkhead), хаос-инжиниринга и стратегий постепенной деградации.
10. Мониторинг
Отслеживание, отладка и оптимизация производительности с помощью метрик, трассировок, стека ELK, OpenTelemetry, проверок работоспособности и инструментов оповещения.
11. Безопасность и аутентификация
Защита системы с помощью OAuth, JWT, RBAC, защиты от CSRF/XSS, TLS и поставщиков удостоверений, таких как Auth0 и Okta.
👍6👏2🔥1
Вышла новая версия популярного набора компиляторов GCC - GCC 15 (формально GCC 15.1). Напомню, что каждый новый релиз мажорной версии выходит раз в год (так GCC 14 вышел в мае 2024 года.)
Основные изменения в GCC 15:
- добавлен интерфейс компилятора COBOL;
- доработаны интерфейсы GCC на языках D и Modula-2, а также интерфейс Fortran.
- улучшена поддержка новых стандартов языков C и C++ (для C по умолчанию применяется стандарт C23);
- добавлена поддержка новых процессоров (AMD Zen 5 и znver5 среди других новых оптимизаций AMD Zen, Intel Xeon 7 Diamond Rapids, поддержка Intel AVX10.2, больше возможностей Intel Advanced Performance Extensions APX, удалена поддержка Xeon Phi, улучшения в работе с OpenMP);
- доработаны возможности ISA;
- улучшена поддержка для языка Rust (для gccrs);
- бекэнд AMDGPU для графических процессоров AMD теперь также поддерживает стандартную библиотеку C++ (libstdc++);
- улучшена экспериментальная поддержка для универсальных устройств;
- бекэнд NVIDIA NVPTX с GCC15 также поддерживает libstdc++;
https://gcc.gnu.org/gcc-15/changes.html
Основные изменения в GCC 15:
- добавлен интерфейс компилятора COBOL;
- доработаны интерфейсы GCC на языках D и Modula-2, а также интерфейс Fortran.
- улучшена поддержка новых стандартов языков C и C++ (для C по умолчанию применяется стандарт C23);
- добавлена поддержка новых процессоров (AMD Zen 5 и znver5 среди других новых оптимизаций AMD Zen, Intel Xeon 7 Diamond Rapids, поддержка Intel AVX10.2, больше возможностей Intel Advanced Performance Extensions APX, удалена поддержка Xeon Phi, улучшения в работе с OpenMP);
- доработаны возможности ISA;
- улучшена поддержка для языка Rust (для gccrs);
- бекэнд AMDGPU для графических процессоров AMD теперь также поддерживает стандартную библиотеку C++ (libstdc++);
- улучшена экспериментальная поддержка для универсальных устройств;
- бекэнд NVIDIA NVPTX с GCC15 также поддерживает libstdc++;
https://gcc.gnu.org/gcc-15/changes.html
🔥9👍4❤2👏1
Вышла в релиз первая версия среды разработки OpenIDE. Решение создано компаниями «Группа Астра», Axiom JDK и Haulmont на базе IntelliJ IDEA. OpenIDE представляет собой бесплатный и полностью открытый инструмент для Java‑программистов. Среда готова к использованию в реальных проектах.
Основные моменты первого релиза:
-поддержка самой свежей Java 24 "из коробки",
-собственный маркетплейс с 350+ плагинами,
-полноценная работа с Git, Gradle, Maven
-LSP-расширения для Python, Scala, Kotlin,
-открытый исходный код (AGPLv3), собственные серверы обновлений и телеметрии (никакой привязки к JetBrains)
-поддержка Spring и корпоративных технологий.
Оф сайт: https://openide.ru/
Основные моменты первого релиза:
-поддержка самой свежей Java 24 "из коробки",
-собственный маркетплейс с 350+ плагинами,
-полноценная работа с Git, Gradle, Maven
-LSP-расширения для Python, Scala, Kotlin,
-открытый исходный код (AGPLv3), собственные серверы обновлений и телеметрии (никакой привязки к JetBrains)
-поддержка Spring и корпоративных технологий.
Оф сайт: https://openide.ru/
👍14🎃8👎3🔥2
После того, как разработчики обнаружили сломанную поддержка регистрозависимости в файловой системе Bcachefs для Linux 6.15 и отправили ее на исправление, Линус Торвальдс написал длинный пост, где жестко прошелся по проблемам регистрозависимости в файловых системах:
"Единственный урок, который нужно усвоить, заключается в том, что люди, работающие с файловыми системами, никогда не учатся. Нечувствительные к регистру имена — это ужасно неправильно, и вам вообще не следовало бы их делать. Проблема была не в отсутствии тестирования, проблема была в его реализации в первую очередь."
"Люди, которые делают нечувствительность к регистру *НЕИЗБЕЖНО* делать что-то вроде игнорирования непечатаемых символов, так что теперь «нечувствительный к регистру» также означает «нечувствительный к другим вещам»."
"Чувствительность к регистру — это БАГ (примечание: в оригинале так, но видимо тут описка и имелось в виде НЕчувствительность к регистру - это баг). Тот факт, что люди, которые работают над файловой системой, *все еще* думают, что это фича, я не могу понять. Как будто они так почитают старую файловую систему FAT, что им приходится ее переделывать — ужасно"."
Оригинал: https://lore.kernel.org/lkml/CAHk-=wjajMJyoTv2KZdpVRoPn0LFZ94Loci37WLVXmMxDbLOjg@mail.gmail.com/
"Единственный урок, который нужно усвоить, заключается в том, что люди, работающие с файловыми системами, никогда не учатся. Нечувствительные к регистру имена — это ужасно неправильно, и вам вообще не следовало бы их делать. Проблема была не в отсутствии тестирования, проблема была в его реализации в первую очередь."
"Люди, которые делают нечувствительность к регистру *НЕИЗБЕЖНО* делать что-то вроде игнорирования непечатаемых символов, так что теперь «нечувствительный к регистру» также означает «нечувствительный к другим вещам»."
"Чувствительность к регистру — это БАГ (примечание: в оригинале так, но видимо тут описка и имелось в виде НЕчувствительность к регистру - это баг). Тот факт, что люди, которые работают над файловой системой, *все еще* думают, что это фича, я не могу понять. Как будто они так почитают старую файловую систему FAT, что им приходится ее переделывать — ужасно"."
Оригинал: https://lore.kernel.org/lkml/CAHk-=wjajMJyoTv2KZdpVRoPn0LFZ94Loci37WLVXmMxDbLOjg@mail.gmail.com/
😁11👍5👎1👏1
В этом месяце исполняется 60 лет с тех пор, как в 1965 году Кули и Тьюки представили быстрое преобразование Фурье (БПФ) — один из важнейших алгоритмов в обработке сигналов и анализе данных.
В 1805 году Гаусс, изучая орбиты астероидов Паллада и Юнона, придумал метод интерполяции их траекторий по дискретным образцам. То, что он придумал, было математически очень близко к современному БПФ, но Гаусс никогда не публиковал эту работу и не анализировал ее вычислительную сложность. Она предшествовала даже работе Фурье 1822 года о диффузии тепла — но без обрамления или обобщения, которые Кули и Тьюки внесут 160 лет спустя.
В 1965 году Кули и Тьюки опубликовали свой ныне знаменитый алгоритм, который снизил стоимость вычисления дискретного преобразования Фурье с 𝑂 ( 𝑛 ²) до 𝑂 ( 𝑛 log 𝑛 ). Этот скачок сделал возможными обработку сигналов в реальном времени и сжатие цифровых медиаданных.
В итоге сегодня это один из самых важных алгоритмов 20-го века, применяемых в самых различных сценариях.
В 1805 году Гаусс, изучая орбиты астероидов Паллада и Юнона, придумал метод интерполяции их траекторий по дискретным образцам. То, что он придумал, было математически очень близко к современному БПФ, но Гаусс никогда не публиковал эту работу и не анализировал ее вычислительную сложность. Она предшествовала даже работе Фурье 1822 года о диффузии тепла — но без обрамления или обобщения, которые Кули и Тьюки внесут 160 лет спустя.
В 1965 году Кули и Тьюки опубликовали свой ныне знаменитый алгоритм, который снизил стоимость вычисления дискретного преобразования Фурье с 𝑂 ( 𝑛 ²) до 𝑂 ( 𝑛 log 𝑛 ). Этот скачок сделал возможными обработку сигналов в реальном времени и сжатие цифровых медиаданных.
В итоге сегодня это один из самых важных алгоритмов 20-го века, применяемых в самых различных сценариях.
👍42🔥2👏1
Росстат: компании остро нуждаются в разработчиках сайтов и аналитиках
Статслужба опубликовала исследование о потребности среднего и крупного бизнеса России в сотрудниках (за исключением компаний из сфер финансов, государственного управления и обеспечения военной безопасности, деятельности общественных и экстерриториальных организаций). Обследование проводится раз в два года, свежие данные представлены за 2024 год.
Среди IT-профессий, по данным Росстата, наиболее серьезная потребность в специалистах-техниках по web, которые обеспечивают работу сайтов, веб-серверного оборудования и программного обеспечения. Незакрытыми в экономике является 44% всех таких рабочих мест.
Вакантно и каждое десятое рабочее место среди разработчиков web и мультимедийных приложений, каждое одиннадцатое - среди системных аналитиков.
Достаточно остро стоит потребность в сисадминах (6,9%), специалистах поддержки пользователей (6,8%), специалистах по базам данных (6,7%), а также в дизайнерах и администраторах баз данных (6,1%). Что касается разработчиков программного обеспечения, у работодателей вакантно для них 6% рабочих мест.
https://ria.ru/20250427/professii-2013654276.html
Статслужба опубликовала исследование о потребности среднего и крупного бизнеса России в сотрудниках (за исключением компаний из сфер финансов, государственного управления и обеспечения военной безопасности, деятельности общественных и экстерриториальных организаций). Обследование проводится раз в два года, свежие данные представлены за 2024 год.
Среди IT-профессий, по данным Росстата, наиболее серьезная потребность в специалистах-техниках по web, которые обеспечивают работу сайтов, веб-серверного оборудования и программного обеспечения. Незакрытыми в экономике является 44% всех таких рабочих мест.
Вакантно и каждое десятое рабочее место среди разработчиков web и мультимедийных приложений, каждое одиннадцатое - среди системных аналитиков.
Достаточно остро стоит потребность в сисадминах (6,9%), специалистах поддержки пользователей (6,8%), специалистах по базам данных (6,7%), а также в дизайнерах и администраторах баз данных (6,1%). Что касается разработчиков программного обеспечения, у работодателей вакантно для них 6% рабочих мест.
https://ria.ru/20250427/professii-2013654276.html
РИА Новости
Названы профессии, в которых остро нуждаются российские компании
Российские компании наиболее остро нуждаются в специалистах-техниках по web, разработчиках сайтов и приложений, а также в системных аналитиках, следует из... РИА Новости, 28.04.2025
🤡8🔥7🙏4👍1👎1👏1
Добавлена статья про Ассемблерные вставки в программе на языке Си
https://metanit.com/c/tutorial/10.3.php
#c_ansi
https://metanit.com/c/tutorial/10.3.php
#c_ansi
Metanit
Язык программирования Си | Ассемблерные вставки
Ассемблерные вставки в программе на языке Си, оператор asm, входные и выходные параметры, дескрипторы регистров процессора
👍12🔥9🍓3
Microsoft не прекращает попыток втюхать пользователям Windows 10 новую версию Windows с CopilotAI
В конце апреля 2025 года Microsoft выпустил обновление Windows 10 с полноэкранным баннером, где настоятельно советует пользователям старых ПК с Windows 10 купить новый ПК с Windows 11 и поддержкой опций Copilot+ AI, потому что якобы такая система лучше и продуктивнее.
Microsoft напомнил, что поддержка Windows 10 заканчивается 14 октября 2025 года, и сейчас самое время обновиться до Windows 11
«Поскольку поддержка Windows 10 заканчивается 14 октября 2025 года, сейчас самое время обновиться до современного, более безопасного ПК с Windows 11 или Copilot+ PC», — предупредила Microsoft миллионы пользователей, которые всё ещё используют Windows 10.
«Системы Copilot+ PC предлагают невероятную мощность с повышенной производительностью, автономной работой от батареи в течение всего дня и функциями ИИ следующего поколения — что делает сейчас самое разумное время для покупки такого нового ПК», — пояснили в компании,
В конце апреля 2025 года Microsoft выпустил обновление Windows 10 с полноэкранным баннером, где настоятельно советует пользователям старых ПК с Windows 10 купить новый ПК с Windows 11 и поддержкой опций Copilot+ AI, потому что якобы такая система лучше и продуктивнее.
Microsoft напомнил, что поддержка Windows 10 заканчивается 14 октября 2025 года, и сейчас самое время обновиться до Windows 11
«Поскольку поддержка Windows 10 заканчивается 14 октября 2025 года, сейчас самое время обновиться до современного, более безопасного ПК с Windows 11 или Copilot+ PC», — предупредила Microsoft миллионы пользователей, которые всё ещё используют Windows 10.
«Системы Copilot+ PC предлагают невероятную мощность с повышенной производительностью, автономной работой от батареи в течение всего дня и функциями ИИ следующего поколения — что делает сейчас самое разумное время для покупки такого нового ПК», — пояснили в компании,
🤡36👍4🥱3😁1
Ученые из университета Carnegie Mellon провели эксперимент с ИИ и пришли к выводу, что ИИ не разрушит профессиональную карьеру, просто потому что не сможет.
В ходе эксперимента ученые создали виртуальную компанию по разработке программного обеспечения, полностью укомплектованную наиболее популярными ИИ-агентами. Они исполняли роли финансовых аналитиков, инженеров-программистов и менеджеров проектов, специалистов отдела кадров. У компании были даже генеральный и технический директора.
Исследователи взяли за основу повседневную деятельность реальной компании — разработчика ПО. К примеру, ИИ-агенты должны были анализировать базы данных, работать с внутренними веб-сайтами и в мессенджере Slack, писать код, организовывать информацию в электронных таблицах и общаться с коллегами. В одной из задач ИИ попросили собрать отзывы о 36-летнем инженере и написать обзор производительности. В рамках другой ИИ-агентам предстояло смотреть видеотуры по новым офисным помещениям и выбирать те, где были лучшие условия по поддержанию здоровья.
Как отмечают авторы эксперимента, результаты оказались крайне невпечатляющими. Самой эффективной ИИ-моделью оказалась Claude 3.5 Sonnet от Anthropic, которая с трудом справилась всего с 24% порученных ей задач. При этом даже такой результат обходится непомерно дорого — в среднем на одну задачу уходило более $6 и 30 действий.Авторы работы отмечают, что ИИ-агенты могут хорошо выполнять простые задачи, но пока не готовы к более сложным процессам. Основная причина заключается в том, что на существующем этапе развития ИИ больше похож на сложную версию предиктивного ввода текста, а не на разумный интеллект, способный учиться на прошлом опыте и применять его в новых ситуациях.
https://www.businessinsider.com/ai-agents-study-company-run-by-ai-disaster-replace-jobs-2025-4
В ходе эксперимента ученые создали виртуальную компанию по разработке программного обеспечения, полностью укомплектованную наиболее популярными ИИ-агентами. Они исполняли роли финансовых аналитиков, инженеров-программистов и менеджеров проектов, специалистов отдела кадров. У компании были даже генеральный и технический директора.
Исследователи взяли за основу повседневную деятельность реальной компании — разработчика ПО. К примеру, ИИ-агенты должны были анализировать базы данных, работать с внутренними веб-сайтами и в мессенджере Slack, писать код, организовывать информацию в электронных таблицах и общаться с коллегами. В одной из задач ИИ попросили собрать отзывы о 36-летнем инженере и написать обзор производительности. В рамках другой ИИ-агентам предстояло смотреть видеотуры по новым офисным помещениям и выбирать те, где были лучшие условия по поддержанию здоровья.
Как отмечают авторы эксперимента, результаты оказались крайне невпечатляющими. Самой эффективной ИИ-моделью оказалась Claude 3.5 Sonnet от Anthropic, которая с трудом справилась всего с 24% порученных ей задач. При этом даже такой результат обходится непомерно дорого — в среднем на одну задачу уходило более $6 и 30 действий.Авторы работы отмечают, что ИИ-агенты могут хорошо выполнять простые задачи, но пока не готовы к более сложным процессам. Основная причина заключается в том, что на существующем этапе развития ИИ больше похож на сложную версию предиктивного ввода текста, а не на разумный интеллект, способный учиться на прошлом опыте и применять его в новых ситуациях.
https://www.businessinsider.com/ai-agents-study-company-run-by-ai-disaster-replace-jobs-2025-4
Business Insider
Carnegie Mellon staffed a fake company with AI agents. It was a total disaster.
A new study tested how AI agents performed in the workplace. The results show that AI isn't ready to do your job.
👏23❤1🔥1😁1
Как вчера заявил генеральный директор Microsoft Сатья Наделла, что 20–30% кода в репозиториях компании было «написано программным обеспечением» — то есть искусственным интеллектом.
Сатья Наделла также сказал, что компания наблюдает неоднозначные результаты в отношении кода, генерируемого искусственным интеллектом, на разных языках: больше прогресса в Python и меньше в C++.
https://techcrunch.com/2025/04/29/microsoft-ceo-says-up-to-30-of-the-companys-code-was-written-by-ai/
К слову, на прошлой неделе генеральный директор конкурента Microsoft Google Сундар Пичаи заявил, что искусственный интеллект генерирует более 30% кода компании.
Правда, неясно, как именно Microsoft и Google оценивают то, что создано искусственным интеллектом, а что нет.
Сатья Наделла также сказал, что компания наблюдает неоднозначные результаты в отношении кода, генерируемого искусственным интеллектом, на разных языках: больше прогресса в Python и меньше в C++.
https://techcrunch.com/2025/04/29/microsoft-ceo-says-up-to-30-of-the-companys-code-was-written-by-ai/
К слову, на прошлой неделе генеральный директор конкурента Microsoft Google Сундар Пичаи заявил, что искусственный интеллект генерирует более 30% кода компании.
Правда, неясно, как именно Microsoft и Google оценивают то, что создано искусственным интеллектом, а что нет.
TechCrunch
Microsoft CEO says up to 30% of the company's code was written by AI | TechCrunch
Microsoft CEO Satya Nadella said that 20%-30% of code inside the company's repositories is "written by software," meaning AI.
👍2😁1🤡1