TGViewer
Channel Public Channel
С/С++ Portal | Программирование

С/С++ Portal | Программирование

@cpportal

Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика

Сотрудничество, реклама: @devmangx

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3Foc4d
Subscribers
14.7K
Photos
1.6K
Videos
228
Links
1K
Recent Posts 18 shown
Post #2360 386
В этой статье разбирается страничная организация памяти — широко распространённая схема управления памятью, которую мы также будем использовать в своей операционной системе.

Объясняется, зачем нужна изоляция памяти, как работает сегментация, что такое виртуальная память и как страничная организация решает проблемы фрагментации памяти. Также рассматривается устройство многоуровневых таблиц страниц в архитектуре x86_64.

https://os.phil-opp.com/paging-introduction/

👉 @Cpportal
  • ❤ 2
Post #2359 935
Скорее всего, вы прямо сейчас используете SQLite и даже не знаете об этом.

Она лежит в основе всего — от вашего браузера до локального хранилища на телефоне.

Вот как эта маленькая, невероятно мощная база данных устроена внутри.

https://sqlite.org/arch.html

👉 @Cpportal
  • 🔥 5
  • ❤ 3
Post #2358 1.21K
Parallel C++ — параллельное программирование на C++

Учебник посвящён практическому параллельному программированию на C++ на уровне магистратуры и аспирантуры. В нём рассматриваются API и связанные с ними возможности языка из стандартов C++17 и C++20 — как для систем с одним вычислительным узлом, так и для распределённых систем.

Учебник показывает, что благодаря средствам параллельного программирования в C++17 и C++20 изучать метаязыки вроде OpenMP больше не обязательно.

С помощью HPX, библиотеки C++ для параллелизма и конкурентного выполнения, те же возможности языка можно распространить на распределённый код. Это даёт более высокоуровневый интерфейс C++ для распределённого программирования, чем MPI — интерфейс передачи сообщений.

https://github.com/TheHPXProject/hpx

👉 @Cpportal
  • ❤ 8
Post #2357 1.32K
Компиляторы и то, как их создавать — подробный журнал, в котором разбираются все тонкости процесса.

https://github.com/DoctorWkt/acwj

👉 @Cpportal
  • ❤ 7
  • 🔥 3
Post #2356 1.45K
Разработчик, который годами писал на C и C++ в Microsoft и Google, спроектировал сотни систем и провёл тысячи код-ревью, описал проблему Claude Code, с которой столкнулся на практике.

Плохой код он чувствуюет примерно так же, как некоторые чувствуют запах дыма.

В первую неделю с Claude ему казалось, что он просто взломал систему. Фичи выкатывались, все проверки проходили, и он впервые начал рано ложиться спать.

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

Правишь checkout — ломается биллинг. Чинишь биллинг — отваливаются уведомления. "Быстро поменять одно поле" — и уже развалились три модуля.

Это всё тот же спагетти-код, который лентяи-разработчики писали годами. Просто Claude пишет его в 200 раз быстрее.

Anthropic обучила гения на свалке из Stack Overflow и корпоративной Java-разработки и назвала это полезным ассистентом.

Обращение через цепочки объектов. Чрезмерный DRY. Хуки "на будущее". Деревья наследования. Один файл делает пять разных вещей. God functions.

Решение существует ещё с 1994 года.

Просто вставьте это в AGENTS.md:

# Вечные ограничения, а не чек-лист

Если два принципа конфликтуют, выбирай тот, который сильнее снижает будущую стоимость изменений ИМЕННО в этой кодовой базе.

ЖЁСТКОЕ ПРАВИЛО: сначала отрефактори код под принцип, и только потом меняй поведение.

1. Separation of Concerns — одна категория работы на одну часть системы: UI / domain / persistence / infra. Базовый принцип.
2. Encapsulation / Information Hiding — небольшой стабильный контракт, внутренности скрыты.
3. High Cohesion + Loose Coupling — то, что меняется вместе, должно жить вместе; независимые части общаются через узкие интерфейсы.
4. DRY — одно авторитетное представление для каждого знания, а не для каждой похожей строки. Не переусердствуй с DRY.
5. KISS — самая простая архитектура, которая работает. Сложность — это долгосрочный налог.
6. Single Responsibility — одна причина для изменения.
7. Depend on Abstractions — политика не зависит от деталей; и то и другое зависит от контрактов.
8. YAGNI — никаких спекулятивных фич, фреймворков и хуков «на потом».
9. Composition over Inheritance — собирай систему из компонентов, а не выращивай хрупкие иерархии.
10. Open/Closed, но с дисциплиной — расширяй систему через стабильные границы и только там, где одно и то же изменение уже понадобилось дважды.

Также полезно: Law of Demeter · fail fast / illegal states unrepresentable · optimize for deletion · Unix-принцип «делай одну вещь и хорошо» + композиция.

Относись к этому как к ограничениям. Если здравый смысл требует нарушить лозунг — нарушай.


👉 @Cpportal
  • ❤ 16
  • 👍 8
  • 🤔 2
  • 🤣 2
Post #2355 1.67K
С/С++ Portal | Программирование Разработчик завершил реализацию собственного ECS-движка на C и заявил, что его система примерно в 17 раз быстрее Unity DOTS в веб-среде. В демонстрационном тесте симуляция 100 тысяч boids работала на ~90 FPS против ~17 FPS у Unity. Автор пообещал позже выложить…
C-движок наконец готов к полноценному использованию. Он называется Kaigen.

Первое демо — Minecraft Test.

kaigen отлично работает с ИИ. Главное отличие от Three.js в том, что готовый проект запускается на Windows, Mac, iPhone, Android и в браузере. Скоро добавят и VR.

И ещё он выдаёт больше 330 FPS на видеокарте шестилетнего ноутбука.

Ссылка на демо и код.

👉 @Cpportal
  • 👍 26
  • 🔥 9
  • ❤ 5
Post #2353 1.58K
Если вы давно не заглядывали в дорожную карту Cornell «Understanding GPU Architecture», стоит посмотреть ещё раз.

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

https://cvw.cac.cornell.edu/gpu-architecture

👉 @Cpportal
  • ❤ 8
  • 🔥 3
Post #2351 1.54K

Forwarded from Мир Linux

Кто-то попытался протащить в OpenBSD клоны GNU CoreUtils, переписанные на Rust

Тео де Раадт, руководитель OpenBSD, идею не оценил.

А его ответы были... занятными.

"Пахнет продвижением повестки."


"А, потому что это написано на Rust. Ваша повестка уже слишком заметна."


"В этом нет никакого смысла. Никому не нужны бинарники, которые ведут себя чуть иначе, как часть привычного воркфлоу... В этой вселенной нет людей, которые захотят заменить один ls на другой ls, а потом удивляться конфликтам из-за нестандартизированного поведения инструментов."


https://marc.info/?t=17898877070

@linuxos_tg
  • ❤ 19
  • 👍 9
  • 🔥 5
  • 😁 2
Post #2348 1.89K
Напишите минимальное ядро ОС с нуля.

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

Проект показывает, что на самом деле происходит между загрузчиком и main().

https://www.lowlevelcraft.com/capstone/minimal-os-kernel

👉 @Cpportal
  • 🔥 17
  • 🤯 6
  • ❤ 3
Post #2347 1.94K
Как только начинаешь визуализировать свои SQL-схемы вот так, назад пути уже нет.

sqltoerdiagram.com

👉 @Cpportal
  • ❤ 24
Post #2346 2.19K
В 2000 году программист обнаружил, что корутины в C можно реализовать с помощью того же трюка со switch, что используется в Duff’s Device.

Этот приём получил название Tatham’s Coroutine и использовался в PuTTY.

Сам Саймон Тэтэм назвал его «худшим хаком на C», который ему доводилось видеть в продакшене.

👉 @Cpportal
  • 🔥 11
  • ❤ 6
  • 🤔 2
Post #2345 2.16K
Профессору Иллинойсского университета надоели существующие учебники по системному программированию, поэтому он начал писать Wikibook вместе со студентами.

В одной бесплатной книге собраны C, процессы, потоки, память, сети, файловые системы, планирование и безопасность.

https://github.com/cs341-illinois/coursebook

👉 @Cpportal
  • ❤ 15
  • 🔥 9
Post #2343 2.12K
Только что узнал об этом, и стало очень грустно.

Доклад Йоханнеса «Introduction to LLVM» 2019 года — один из тех материалов, на которые я всегда ссылался, когда преподавал компиляторы. Нам со студентами очень нравилось, как он разбирал LLVM по компонентам и показывал все эти детали из разряда «вау, я этого не знал» — и в этом докладе, и во многих других своих выступлениях и работах.

Покойся с миром, Йоханнес. Ты повлиял на огромное количество людей по всему миру и продолжишь это делать каждый раз, когда мы будем говорить о компиляторах. ❤️❤️

👉 @Cpportal
  • ❤ 16
  • 🤯 14
  • 🔥 1
Post #2342 2.25K
Программировать на C приятнее, когда в терминале есть немного птиц.

Попробуйте cbirds:
https://github.com/clainstone/cbirds

🚬🚬🚬

👉 @Cpportal
  • 💊 36
  • ❤ 8
  • 🤣 4
  • 😁 1
Post #2341 2.27K
Этот генератор случайных чисел — всего три строки со сдвигами и XOR.

Джордж Марсалья представил xorshift в 2003 году.

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

👉 @Cpportal
  • 🔥 22
  • ❤ 6
  • 🤔 2
Post #2340 2.1K
NVIDIA объясняет основы CUDA в серии материалов CUDA Refresher.

Серия начинается с того, почему часть вычислений перешла с CPU на GPU, а затем разбирает запуск первой программы, библиотеки CUDA и модель программирования: ядра, сетки, блоки и потоки.

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

Серия вышла в 2020 году. Инструкции по установке и инструменты могли устареть, но объяснение базовых принципов остаётся полезным.

https://developer.nvidia.com/blog/tag/cuda-refresher/

👉 @Cpportal
  • 🔥 5
  • ❤ 4
Older posts →

About this channel

How can I read @cpportal without a Telegram account?
TGViewer shows the public web preview Telegram publishes for С/С++ Portal | Программирование: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does С/С++ Portal | Программирование have?
С/С++ Portal | Программирование (@cpportal) has 14.7K subscribers on Telegram, refreshed roughly every 30 minutes.
Does С/С++ Portal | Программирование know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →