5 механизмов межпроцессного взаимодействия (IPC)
IPC — это фундаментальная концепция в *nix-подобных ОС, которая позволяет процессам обмениваться данными.
1️⃣ Pipe — механизм межпроцессного взаимодействия, использующий общий файловый дескриптор, что позволяет одному процессу записывать данные, которые может прочитать другой процесс.
cat /var/log/syslog | grep 'error' | less
2️⃣ Message Queue: позволяют процессам обмениваться сообщениями в порядке FIFO. Она полезна в сценариях, где требуется асинхронное взаимодействие.
3️⃣ Signal: используется для уведомления процесса о наступлении определённого события.
4️⃣ Semaphore: используется для контроля доступа к общему ресурсу несколькими процессами.
5️⃣ Shared Memory: позволяет обеспечить нескольким процессам доступ к одному и тому же пространству памяти.
👉 @bookflow
IPC — это фундаментальная концепция в *nix-подобных ОС, которая позволяет процессам обмениваться данными.
1️⃣ Pipe — механизм межпроцессного взаимодействия, использующий общий файловый дескриптор, что позволяет одному процессу записывать данные, которые может прочитать другой процесс.
cat /var/log/syslog | grep 'error' | less
2️⃣ Message Queue: позволяют процессам обмениваться сообщениями в порядке FIFO. Она полезна в сценариях, где требуется асинхронное взаимодействие.
3️⃣ Signal: используется для уведомления процесса о наступлении определённого события.
4️⃣ Semaphore: используется для контроля доступа к общему ресурсу несколькими процессами.
5️⃣ Shared Memory: позволяет обеспечить нескольким процессам доступ к одному и тому же пространству памяти.
👉 @bookflow
👍3⚡1
Forwarded from Мир технологий и науки (Technology World)
This media is not supported in your browser
VIEW IN TELEGRAM
Человеческий рекорд — 3,13 секунды.
👉 @mir_teh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6⚡3
Все мои детальки: переход на отечественные микроконтроллеры
Идея использовать отечественные микроконтроллеры для разработки у меня была давно, но изобилие и доступность зарубежных решений давали возможность лениться в этом направлении. Сейчас происходит активно импортозамещение во многих областях, поэтому, считаю, стоит разобраться, что может предоставить отечественная элементная база в интересующих сферах.
https://habr.com/ru/articles/815269/
👉 @bookflow
Идея использовать отечественные микроконтроллеры для разработки у меня была давно, но изобилие и доступность зарубежных решений давали возможность лениться в этом направлении. Сейчас происходит активно импортозамещение во многих областях, поэтому, считаю, стоит разобраться, что может предоставить отечественная элементная база в интересующих сферах.
https://habr.com/ru/articles/815269/
👉 @bookflow
👍4👎1
Трюк из линейной алгебры для быстрого нахождения чисел Фибоначчи
Я участвовал в онлайн-группе чтения книги 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
👉 @bookflow
Я участвовал в онлайн-группе чтения книги 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
👉 @bookflow
👍5
72 вопроса и ответа на интервью по SQL (ENG)
Почти все крупные представители технологической индустрии, такие как Uber, Netflix, Airbnb и т.д., используют SQL. В этом блоге перечислены все лучшие вопросы для собеседования по SQL.
https://intellipaat.com/blog/interview-question/sql-interview-questions/
#SQL
👉 @bookflow
Почти все крупные представители технологической индустрии, такие как Uber, Netflix, Airbnb и т.д., используют SQL. В этом блоге перечислены все лучшие вопросы для собеседования по SQL.
https://intellipaat.com/blog/interview-question/sql-interview-questions/
#SQL
👉 @bookflow
👍3🤷♂2
Как потреблять API с ограничением по RPS в .NET приложениях
Однажды каждый C# программист получает на работе задачу по разработке интеграции с внешней системой, где ограничена максимальная частота запросов в секунду.
Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.
Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.
https://habr.com/ru/companies/ruvds/articles/804025/
👉 @bookflow
Однажды каждый C# программист получает на работе задачу по разработке интеграции с внешней системой, где ограничена максимальная частота запросов в секунду.
Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.
Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.
https://habr.com/ru/companies/ruvds/articles/804025/
👉 @bookflow
👍3
Вы все еще пишете многопоточку на C++ с ошибками синхронизации?
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации.
Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).
https://habr.com/ru/companies/kaspersky/articles/805365/
👉 @bookflow
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации.
Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).
https://habr.com/ru/companies/kaspersky/articles/805365/
👉 @bookflow
Хабр
Вы все еще пишете многопоточку на C++ с ошибками синхронизации?
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация...
👍3🥱1
Изучайте Full Stack Development и получайте бесплатные сертификаты
🔸HTML and CSS
https://freecodecamp.org/learn/2022/responsive-web-design/
🔸JavaScript
https://scaler.com/topics/course/javascript-beginners/
🔸Python
https://cs50.harvard.edu/python/
🔸 MySQL
https://scaler.com/topics/course/sql-using-mysql-course/
🔸 MongoDB
https://learn.mongodb.com/learning-paths/introduction-to-mongodb
🔸 Node.js
https://scaler.com/topics/course/nodejs/
🔸 React
https://upgrad.com/free-courses/
🔸 Java
https://scaler.com/topics/course/java-beginners/
🔸 Git
https://learn.microsoft.com/training/paths/intro-to-vc-git/
🔸 DSA
https://learn.saylor.org/course/view.php?id=66
🔸Meta Back-End Developer Professional Certificate
https://www.coursera.org/professional-certificates/meta-back-end-developer
🔸Become Full Stack Developer
https://mygreatlearning.com/academy/learn-for-free/courses/become-full-stack-developer
🔸Full-Stack Development 101: What is Full-Stack Development ?
https://simplilearn.com/learn-full-stack-development-free-skillup
🔸Full Stack Website Development : Technologies All in One
https://udemy.com/course/full-stack-website-development-technologies/
🔸CS50's Web Programming with Python and JavaScript
https://edx.org/learn/web-development/harvard-university-cs50-s-web-programming-with-python-and-javascript
🔸 Front End Development - HTML
https://mygreatlearning.com/academy/learn-for-free/courses/front-end-development-html
🔸Build a Quiz App with HTML, CSS, and JavaScript
https://udemy.com/course/build-a-quiz-app-with-html-css-and-javascript/
🔸 Python
https://learnpython.org
👉 @bookflow
🔸HTML and CSS
https://freecodecamp.org/learn/2022/responsive-web-design/
🔸JavaScript
https://scaler.com/topics/course/javascript-beginners/
🔸Python
https://cs50.harvard.edu/python/
🔸 MySQL
https://scaler.com/topics/course/sql-using-mysql-course/
🔸 MongoDB
https://learn.mongodb.com/learning-paths/introduction-to-mongodb
🔸 Node.js
https://scaler.com/topics/course/nodejs/
🔸 React
https://upgrad.com/free-courses/
🔸 Java
https://scaler.com/topics/course/java-beginners/
🔸 Git
https://learn.microsoft.com/training/paths/intro-to-vc-git/
🔸 DSA
https://learn.saylor.org/course/view.php?id=66
🔸Meta Back-End Developer Professional Certificate
https://www.coursera.org/professional-certificates/meta-back-end-developer
🔸Become Full Stack Developer
https://mygreatlearning.com/academy/learn-for-free/courses/become-full-stack-developer
🔸Full-Stack Development 101: What is Full-Stack Development ?
https://simplilearn.com/learn-full-stack-development-free-skillup
🔸Full Stack Website Development : Technologies All in One
https://udemy.com/course/full-stack-website-development-technologies/
🔸CS50's Web Programming with Python and JavaScript
https://edx.org/learn/web-development/harvard-university-cs50-s-web-programming-with-python-and-javascript
🔸 Front End Development - HTML
https://mygreatlearning.com/academy/learn-for-free/courses/front-end-development-html
🔸Build a Quiz App with HTML, CSS, and JavaScript
https://udemy.com/course/build-a-quiz-app-with-html-css-and-javascript/
🔸 Python
https://learnpython.org
👉 @bookflow
👍4👎1
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) хранят логи и помогают анализировать данные, чтобы обеспечить правильную работу системы.
🔵 - В случае проблем службы оповещения уведомляют разработчиков через платформы, такие как Slack, для быстрого решения.
👉 @bookflow
👉 @bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Совет по java💡
Обычно при сортировке в
#java
👉 @bookflow
Обычно при сортировке в
Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс TypedSort, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде.#java
👉 @bookflow
👍5
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.iss.one/sysadminoff Новости Линукс Linux
https://t.iss.one/tikon_1 Новости высоких технологий, науки и техники💡
https://t.iss.one/mir_teh Мир технологий (Technology World)
https://t.iss.one/rust_lib Полезный контент по программированию на Rust
https://t.iss.one/golang_lib Библиотека Go (Golang) разработчика
https://t.iss.one/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.iss.one/phis_mat Обучающие видео, книги по Физике и Математике
https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
https://t.iss.one/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus
Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
https://t.iss.one/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.iss.one/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
https://t.iss.one/frontend_sovet Frontend советы, примеры и практика!
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр
Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT
Чат программистов📌
https://t.iss.one/developers_ru
Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
https://t.iss.one/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
https://t.iss.one/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля
Математика 📌
https://t.iss.one/Pomatematike Канал по математике
Excel лайфхак📌
https://t.iss.one/Excel_lifehack
Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.iss.one/sysadminoff Новости Линукс Linux
https://t.iss.one/tikon_1 Новости высоких технологий, науки и техники💡
https://t.iss.one/mir_teh Мир технологий (Technology World)
https://t.iss.one/rust_lib Полезный контент по программированию на Rust
https://t.iss.one/golang_lib Библиотека Go (Golang) разработчика
https://t.iss.one/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.iss.one/phis_mat Обучающие видео, книги по Физике и Математике
https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
https://t.iss.one/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus
Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
https://t.iss.one/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.iss.one/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
https://t.iss.one/frontend_sovet Frontend советы, примеры и практика!
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр
Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT
Чат программистов📌
https://t.iss.one/developers_ru
Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
https://t.iss.one/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
https://t.iss.one/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля
Математика 📌
https://t.iss.one/Pomatematike Канал по математике
Excel лайфхак📌
https://t.iss.one/Excel_lifehack
Шпаргалка по REST API
🟣 Клиент-серверная архитектура
🟣 Взаимодействие без сохранения состояния
🟣 Возможность кэширования
🟣 Многоуровневая система
🟣 Поддержка кода по требованию
🟣 Унифицированный интерфейс
👉 @bookflow
👉 @bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Шрифт на кривых Безье на микроконтроллере
Идею подсмотрел в канале о программировании ESP32, один человек продемонстрировал часы на 6 дисплеях. Каждая цифра на своём дисплее типа 1.8" 128х160. Разработчик проекта показал источник своего вдохновения: проект Bézier Clock на Javascript разработчика Jack Frigaard. К сожалению, видимо, оригинальная страница демонстрационного проекта не сохранилась, но она точно вдохновила разных людей. Есть даже статья на хабре про это Часы на кривых Безье. Даже не спрашивая как именно это реализовано, я сразу решил делать свой проект на кривых Безье и быстро опробовал первую версию как это будет выглядеть на дисплее. Код эксперимента.
https://habr.com/ru/articles/818873/
👉 @bookflow
Идею подсмотрел в канале о программировании ESP32, один человек продемонстрировал часы на 6 дисплеях. Каждая цифра на своём дисплее типа 1.8" 128х160. Разработчик проекта показал источник своего вдохновения: проект Bézier Clock на Javascript разработчика Jack Frigaard. К сожалению, видимо, оригинальная страница демонстрационного проекта не сохранилась, но она точно вдохновила разных людей. Есть даже статья на хабре про это Часы на кривых Безье. Даже не спрашивая как именно это реализовано, я сразу решил делать свой проект на кривых Безье и быстро опробовал первую версию как это будет выглядеть на дисплее. Код эксперимента.
https://habr.com/ru/articles/818873/
👉 @bookflow
👍8🤷♂2
Точное увеличение растровых изображений
Существует проблема?
Проведём эксперимент - возьмём небольшую чёткую картинку, на ней всё понятно (скрытых деталей мельче разрешения не наблюдается)
https://habr.com/ru/articles/812619/
👉 @bookflow
Существует проблема?
Проведём эксперимент - возьмём небольшую чёткую картинку, на ней всё понятно (скрытых деталей мельче разрешения не наблюдается)
https://habr.com/ru/articles/812619/
👉 @bookflow
👍2
Максимально точное увеличение разрешения изображений: билинейная аппроксимация
Новые методы
Это вторая статья из этого цикла, и, как говорилось в первой – интерполяция категорически не подходит для этой задачи, так как нарушает условие среднего (соответствующие пиксели получившегося изображения в среднем должны быть пикселем исходного), но я нашёл один частный случай, когда это не так.
https://habr.com/ru/articles/821309/
👉 @bookflow
Новые методы
Это вторая статья из этого цикла, и, как говорилось в первой – интерполяция категорически не подходит для этой задачи, так как нарушает условие среднего (соответствующие пиксели получившегося изображения в среднем должны быть пикселем исходного), но я нашёл один частный случай, когда это не так.
https://habr.com/ru/articles/821309/
👉 @bookflow
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9