Кодовая Библиотека
170 subscribers
185 photos
54 videos
20 files
110 links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций.
Download Telegram
5 механизмов межпроцессного взаимодействия (IPC)

IPC — это фундаментальная концепция в *nix-подобных ОС, которая позволяет процессам обмениваться данными.

1️⃣ Pipe — механизм межпроцессного взаимодействия, использующий общий файловый дескриптор, что позволяет одному процессу записывать данные, которые может прочитать другой процесс.
cat /var/log/syslog | grep 'error' | less
2️⃣ Message Queue: позволяют процессам обмениваться сообщениями в порядке FIFO. Она полезна в сценариях, где требуется асинхронное взаимодействие.
3️⃣ Signal: используется для уведомления процесса о наступлении определённого события.
4️⃣ Semaphore: используется для контроля доступа к общему ресурсу несколькими процессами.
5️⃣ Shared Memory: позволяет обеспечить нескольким процессам доступ к одному и тому же пространству памяти.
Хотите изучить C++ с нуля или задумываетесь о переходе на него?

Ждём вас на открытом практическом уроке «Функции, стек и рекурсия в C++» от OTUS, где мы:

- поговорим о том, как реализован вызов функции;
- узнаем, что из себя представляет стек и как он задействован в этом процессе;
- обсудим способы передачи параметров в функцию в C++ и поймем, почему их так много;
- познакомимся с рекурсивными функциями, решая классическую задачу о Ханойских башнях;
- узнаем, почему обычно стоит избегать активного использования рекурсии.

Спикер Андрей Рыжиков — опытный разработчик в НИИ обработки аэрокосмических изображений.

Встречаемся 4 июня в 20:00 мск в преддверии старта курса «Специализация C++ Developer». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!

Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок.
Node.js for Beginners: A comprehensive guide to building efficient, full-featured web applications with Node.js
Автор: Ulises Gascón (2024)

Сначала вы изучите основы Node.js и освежите свои знания JavaScript, а затем перейдете к разработке современных веб-приложений с использованием Node.js, Express.js и MongoDB. Вы изучите такие сложные темы, как асинхронное программирование, библиотеки npm, событийно-ориентированные шаблоны для HTTP-серверов, RESTful API, JSON Web Tokens и многое другое. В заключительных главах вы пройдете через процесс развертывания и узнаете о различных стратегиях, включая установку на пустом металле, виртуальные машины и контейнеризацию с помощью Docker. Вы также узнаете, как использовать Process Manager 2 (PM2) для эффективного управления процессами.
This media is not supported in your browser
VIEW IN TELEGRAM
🧊 Робот от компании Mitsubishi Electric собрал кубик Рубика за 0,305 секунды

Человеческий рекорд — 3,13 секунды.
Для того, чтобы писать качественные и "шустрые" приложения, недостаточно выучить язык программирования. Вам нужно чётко понимать, каким образом ваш код преобразуется в инструкции для центрального процессора.

🔹 Приглашаем на открытый урок «Системные вызовы и прерывания» 3 июня в 20:00.

Где рассмотрим, абстракции ОС для разделения на пространство пользователя и пространство ядра, механизм взаимодействия программного кода с процессором, какие есть виды прерываний и как их используют.

Разберем "как устроены исполняемые файлы"

Рассмотрим структуру исполняемых файлов в ОС windows и linux, как они устроены и как ОС исполняет код программы.

Регистрация: https://vk.cc/cxikPp

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Как передать значение shadcn/ui Date Picker в server action в Next.js
Все мои детальки: переход на отечественные микроконтроллеры

Идея использовать отечественные микроконтроллеры для разработки у меня была давно, но изобилие и доступность зарубежных решений давали возможность лениться в этом направлении. Сейчас происходит активно импортозамещение во многих областях, поэтому, считаю, стоит разобраться, что может предоставить отечественная элементная база в интересующих сферах.

https://habr.com/ru/articles/815269/
Трюк из линейной алгебры для быстрого нахождения чисел Фибоначчи

Я участвовал в онлайн-группе чтения книги Thirty-three Miniatures: Mathematical and Algorithmic Applications of Linear Algebra математика Иржи Матушека. Это самая нетрадиционная книга о математике, с которой мне приходилось сталкиваться. Первые две главы посвящены способам быстрого нахождения чисел Фибоначчи. Традиционный, или итеративный метод нахождения чисел Фибоначчи (основанный на хранении промежуточных значений в памяти), который мы изучали на курсах программирования, линеен по времени. Но в книге представлена методика их вычисления приблизительно с логарифмической временной сложностью. Возможно, кто-то из вас знает эту методику, но для меня она была новой, и я решил, что ею стоит поделиться.

https://habr.com/ru/companies/ruvds/articles/773566/

original https://blog.codingconfessions.com/p/a-linear-algebra-trick-for-fibonacci-numbers
🚀 Поднимите свой опыт frontend-разработки на новый уровень.

Приглашаем на вебинар: "Преимущества семантической верстки"

На открытом уроке вы получите ценные знания:
- Семантические теги: изучите строительные блоки HTML5.
- Влияние на сайт: постигните, как правильное использование тегов улучшает SEO и доступность сайта.
- Применение на практике: получите навыки, которые сможете применять в реальных проектах.

👩‍💻 Наш спикер, Анна Русяева – опытный веб-разработчик, поделится с вами лайфхаками и секретами мастерства.

📆 4 июня, 19:00 мск - отметьте дату в своем календаре!

🔑 Специальная цена на курс «Fullstack developer» для участников - расширьте свои возможности в IT с уникальным предложением.

=======
Не упустите возможность! Регистрируйтесь сейчас https://otus.pw/lfGD/?erid=2Vtzquh9XKc
=======

🎁 Все участники online-трансляции получат в подарок 3 бесплатных урока, и полезные материалы для начинающих.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
72 вопроса и ответа на интервью по SQL (ENG)

Почти все крупные представители технологической индустрии, такие как Uber, Netflix, Airbnb и т.д., используют SQL. В этом блоге перечислены все лучшие вопросы для собеседования по SQL.

https://intellipaat.com/blog/interview-question/sql-interview-questions/

#SQL
Как потреблять API с ограничением по RPS в .NET приложениях

Однажды каждый C# программист получает на работе задачу по разработке интеграции с внешней системой, где ограничена максимальная частота запросов в секунду.

Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.

Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.

https://habr.com/ru/companies/ruvds/articles/804025/
🟢 Хотите прокачаться в разработке на С++?

Ждём вас на открытом практическом уроке «Условные переменные в С++» от OTUS, где мы разберем:

— что такое std::condition_variable и какие задачи он решает;
— типовые ошибки при его использовании;
— что такое spurious wakeup.

А также напишем несколько concurrency-примитивов на основе condition_variable.

🙋‍♂️Спикер — ведущий программист с большим международным опытом.

Встречаемся 11 июня в 20:00 мск в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!

Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок.
Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

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

Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).

https://habr.com/ru/companies/kaspersky/articles/805365/
⚡️ Учись программировать на Solidity и создавать инновационные блокчейн-решения!

Пройди короткий тест и проверь, можешь ли ты осилить программирование на Solidity.

Ответишь успешно на все вопросы — сможешь попасть на продвинутый курс "Solidity Developer" от OTUS по специальной цене!

➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cxsgFM

🎁 Бонусом за прохождение теста, получишь бесплатный доступ к записям открытых вебинаров курса уже сейчас!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
This media is not supported in your browser
VIEW IN TELEGRAM
10 основных компонентов веб-приложения в продакшене

🔵- Все начинается с конвейеров CI/CD, которые разворачивают код на серверных инстансах. Такие инструменты, как Jenkins и GitHub, помогают в этом.
🔵- Пользовательские запросы исходят из веб-браузера. После разрешения DNS запросы достигают серверов приложений.
🔵- Балансировщики нагрузки и обратные прокси (такие как Nginx и HAProxy) равномерно распределяют пользовательские запросы между серверами веб-приложений.
🔵- Запросы также могут обслуживаться сетью доставки контента (CDN).
🔵- Веб-приложение взаимодействует с бекенд-сервисами через API.
🔵- Бекенд-сервисы взаимодействуют с серверами баз данных или распределенными кэшами для предоставления данных.
🔵- Ресурсоемкие и длительные задачи отправляются рабочим процессам с использованием очереди заданий.
🔵- Сервис полнотекстового поиска поддерживает функциональность поиска. Здесь могут помочь такие инструменты, как Elasticsearch и Apache Solr.
🔵- Инструменты мониторинга (такие как Sentry, Grafana и Prometheus) х...
Совет по java💡

Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс TypedSort, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде.

#java
Шпаргалка по REST API

🟣 Клиент-серверная архитектура
🟣 Взаимодействие без сохранения состояния
🟣 Возможность кэширования
🟣 Многоуровневая система
🟣 Поддержка кода по требованию
🟣 Унифицированный интерфейс
📁 Файловая система Linux
Точное увеличение растровых изображений

Существует проблема?
Проведём эксперимент - возьмём небольшую чёткую картинку, на ней всё понятно (скрытых деталей мельче разрешения не наблюдается)

https://habr.com/ru/articles/812619/