BOOKS - PROGRAMMING - Многопоточное программирование с использованием POSIX Threads 2...
Многопоточное программирование с использованием POSIX Threads 2016 (2-е изд.) - Иртегов Д.В. 2016 PDF М. НОУ "Интуит" BOOKS PROGRAMMING
ECO~12 kg CO²

1 TON

Views
82481

Telegram
 
Многопоточное программирование с использованием POSIX Threads 2016 (2-е изд.)
Author: Иртегов Д.В.
Year: 2016
Pages: 170
Format: PDF
File size: 16.4 MB
Language: RU



Pay with Telegram STARS
The book is intended for students who have already studied programming and want to learn about multithreading and its practical application in C++ programming. It is written in a clear and concise manner that makes it easy to read and understand. The book covers all aspects of multithreading including thread creation, synchronization, communication between threads, and resource sharing. The author provides examples of how to use POSIX threads to create efficient and scalable applications. The book also discusses the challenges of multithreading and how to overcome them. The book is divided into four parts: Part I introduces the concept of multithreading and explains why it is important for modern software development. Part II explores the POSIX thread library and its features. Part III describes how to create and manage threads, as well as how to communicate between them. Part IV discusses advanced topics such as thread-safe libraries and real-time applications. The book concludes with a case study demonstrating the use of POSIX threads in a real-world application. Throughout the book, the author emphasizes the importance of understanding the underlying principles of multithreading and provides practical advice on how to use it effectively in C++ programming. He also provides examples of how to avoid common pitfalls and mistakes when using multithreading. The book is written in a clear and concise style, making it easy to read and understand. It is an excellent resource for anyone looking to learn about multithreading and its practical application in C++ programming.
Книга предназначена для студентов, которые уже изучали программирование и хотят узнать о многопоточности и её практическом применении в программировании на C++. Она написана в ясной и лаконичной манере, позволяющей легко читать и понимать. Книга охватывает все аспекты многопоточности, включая создание потоков, синхронизацию, связь между потоками и совместное использование ресурсов. Автор приводит примеры использования потоков POSIX для создания эффективных и масштабируемых приложений. В книге также обсуждаются проблемы многопоточности и способы их преодоления. Книга разделена на четыре части: Часть I вводит понятие многопоточности и объясняет, почему она важна для современной разработки программного обеспечения. Часть II исследует библиотеку потоков POSIX и её особенности. Часть III описывает, как создавать потоки и управлять ими, а также как общаться между ними. В части IV обсуждаются расширенные темы, такие как потокобезопасные библиотеки и приложения реального времени. Книга завершается тематическим исследованием, демонстрирующим использование потоков POSIX в реальном приложении. На протяжении всей книги автор подчеркивает важность понимания основополагающих принципов многопоточности и дает практические советы о том, как эффективно использовать ее в программировании на C++. Он также приводит примеры того, как избежать распространенных подводных камней и ошибок при использовании многопоточности. Книга написана в ясном и лаконичном стиле, благодаря чему ее легко читать и понимать. Это отличный ресурс для тех, кто хочет узнать о многопоточности и ее практическом применении в программировании на C++.
livre est destiné aux étudiants qui ont déjà étudié la programmation et qui souhaitent en apprendre davantage sur le multithread et son application pratique dans la programmation en C++. Il est écrit d'une manière claire et concise, permettant une lecture et une compréhension faciles. livre couvre tous les aspects du multithread, y compris la création de threads, la synchronisation, la communication entre les threads et le partage des ressources. L'auteur donne des exemples d'utilisation des flux POSIX pour créer des applications efficaces et évolutives. livre traite également des problèmes de multithread et des moyens de les surmonter. livre est divisé en quatre parties : La partie I introduit la notion de multithread et explique pourquoi il est important pour le développement logiciel moderne. La deuxième partie explore la bibliothèque de flux POSIX et ses caractéristiques. La partie III décrit comment créer et gérer des flux et comment communiquer entre eux. La partie IV traite de sujets étendus tels que les bibliothèques en continu et les applications en temps réel. livre se termine par une étude de cas montrant l'utilisation des flux POSIX dans une application réelle. Tout au long du livre, l'auteur souligne l'importance de comprendre les principes fondamentaux du multithread et donne des conseils pratiques sur la façon de l'utiliser efficacement dans la programmation en C++. Il donne également des exemples de la façon d'éviter les pièges et les erreurs courants dans l'utilisation du multithread. livre est écrit dans un style clair et concis, ce qui le rend facile à lire et à comprendre. C'est une excellente ressource pour ceux qui veulent en savoir plus sur le multithread et son application pratique dans la programmation en C++.
libro está dirigido a los estudiantes que ya han estudiado programación y quieren aprender sobre los subprocesos múltiples y su aplicación práctica en la programación en C++. Está escrito de una manera clara y concisa que permite una fácil lectura y comprensión. libro cubre todos los aspectos de los subprocesos, incluyendo la creación de subprocesos, la sincronización, la relación entre subprocesos y el uso compartido de recursos. autor da ejemplos del uso de subprocesos POSIX para crear aplicaciones eficientes y escalables. libro también analiza los problemas de los subprocesos múltiples y cómo superarlos. libro se divide en cuatro partes: La Parte I introduce el concepto de subprocesos múltiples y explica por qué es importante para el desarrollo de software moderno. La Parte II explora la biblioteca de subprocesos de POSIX y sus características. La Parte III describe cómo crear y administrar flujos y cómo comunicarse entre ellos. En la parte IV se examinan temas avanzados, como las bibliotecas de seguridad de flujo y las aplicaciones en tiempo real. libro se completa con un estudio de caso que demuestra el uso de flujos POSIX en una aplicación real. A lo largo del libro, el autor destaca la importancia de entender los principios fundamentales de la multitarea y da consejos prácticos sobre cómo utilizarla de manera efectiva en la programación en C++. También proporciona ejemplos de cómo evitar los escollos comunes y los errores al usar subprocesos múltiples. libro está escrito en un estilo claro y conciso, gracias al cual es fácil de leer y entender. Es un gran recurso para aquellos que quieren aprender sobre los subprocesos múltiples y su aplicación práctica en la programación en C++.
O livro é para estudantes que já estudaram a programação e querem saber sobre a multiplosição e sua aplicação prática na programação em C++. É escrito de uma forma clara e lúdica, que permite a leitura e a compreensão fáceis. O livro abrange todos os aspectos da multiplosição, incluindo geração de fluxo, sincronização, comunicação entre fluxos e compartilhamento de recursos. O autor cita exemplos de uso de fluxos POSIX para criar aplicações eficientes e escaláveis. O livro também discute os desafios da multitoque e as formas de superá-los. O livro é dividido em quatro partes: a parte I introduz o conceito de multitoque e explica por que é importante para o desenvolvimento de software moderno. A parte II explora a biblioteca de fluxo POSIX e suas características. A parte III descreve como criar e controlar fluxos e como comunicar entre eles. Na parte IV são discutidos temas avançados, como bibliotecas de segurança e aplicações em tempo real. O livro é concluído por um estudo de caso que mostra o uso dos fluxos POSIX em um aplicativo real. Ao longo do livro, o autor enfatiza a importância de compreender os princípios fundamentais da multiplosição e dá conselhos práticos sobre como utilizá-la efetivamente na programação em C++. Ele também cita exemplos de como evitar pedras subaquáticas comuns e erros no uso de multitoque. O livro é escrito em um estilo claro e lúdico, o que o torna fácil de ler e compreender. É um excelente recurso para aqueles que querem aprender sobre a multitoque e sua aplicação prática na programação em C++.
Il libro è riservato agli studenti che hanno già studiato la programmazione e vogliono conoscere il multitasking e la sua applicazione pratica nella programmazione C++. È scritto in modo chiaro e conciso, che permette di leggere e capire facilmente. Il libro comprende tutti gli aspetti del thread multi-thread, tra cui la creazione di thread, la sincronizzazione, la comunicazione tra i flussi e la condivisione delle risorse. L'autore cita esempi di utilizzo dei thread POSIX per creare applicazioni efficienti e scalabili. Il libro parla anche dei problemi del multitasking e dei modi per superarli. Il libro è suddiviso in quattro parti: la parte I introduce il concetto di multitasking e spiega perché è importante per lo sviluppo software moderno. La parte II esamina la libreria di flussi POSIX e le sue caratteristiche. La parte III descrive come creare e gestire flussi e come comunicare tra loro. Nella parte IV si discutono argomenti avanzati come librerie di sicurezza in streaming e applicazioni in tempo reale. Il libro viene completato da uno studio tematico che mostra l'utilizzo dei thread POSIX in un'applicazione reale. Durante tutto il libro, l'autore sottolinea l'importanza di comprendere i principi fondamentali della multitasking e fornisce consigli pratici su come utilizzarla efficacemente nella programmazione su C++. Cita anche esempi di come evitare comuni pietre sottomarine e errori nell'uso di multitasking. Il libro è scritto in modo lucido e conciso, per cui è facile da leggere e capire. Questa è una risorsa eccellente per coloro che vogliono conoscere il multitasking e la sua applicazione pratica nella programmazione su C++.
Das Buch richtet sich an Studierende, die bereits Programmieren gelernt haben und etwas über Multithreading und seine praktische Anwendung in der C++ -Programmierung lernen möchten. Es ist in einer klaren und prägnanten Art und Weise geschrieben, so dass es leicht zu lesen und zu verstehen ist. Das Buch behandelt alle Aspekte der Multithreading, einschließlich der Erstellung von Threads, Synchronisation, Kommunikation zwischen Threads und gemeinsame Nutzung von Ressourcen. Der Autor gibt Beispiele für die Verwendung von POSIX-Streams zur Erstellung effizienter und skalierbarer Anwendungen. Das Buch diskutiert auch Multithreading-Probleme und wie man sie überwinden kann. Das Buch ist in vier Teile gegliedert: Teil I führt das Konzept der Multithreading ein und erklärt, warum es für die moderne Softwareentwicklung wichtig ist. Teil II untersucht die POSIX-Thread-Bibliothek und ihre Besonderheiten. Teil III beschreibt, wie man Streams erstellt und verwaltet und wie man zwischen ihnen kommuniziert. In Teil IV werden erweiterte Themen wie threadsichere Bibliotheken und Echtzeitanwendungen diskutiert. Das Buch schließt mit einer Fallstudie, die die Verwendung von POSIX-Streams in einer realen Anwendung demonstriert. Im Laufe des Buches betont der Autor, wie wichtig es ist, die Grundprinzipien von Multithreading zu verstehen, und gibt praktische Ratschläge, wie man es effektiv in C++ -Programmierung einsetzen kann. Er gibt auch Beispiele, wie häufige Fallstricke und Fehler bei der Verwendung von Multithreading vermieden werden können. Das Buch ist in einem klaren und prägnanten Stil geschrieben, so dass es leicht zu lesen und zu verstehen ist. Dies ist eine großartige Ressource für diejenigen, die mehr über Multithreading und seine praktische Anwendung in der C++ -Programmierung erfahren möchten.
Książka przeznaczona jest dla studentów, którzy już studiowali programowanie i chcą dowiedzieć się o multitreading i jego praktycznym zastosowaniu w programowaniu C++. Jest napisany w jasny i zwięzły sposób, który ułatwia czytanie i zrozumienie. Książka obejmuje wszystkie aspekty multitreadingu, w tym tworzenie wątków, synchronizację, komunikację gwintem-wątkiem i udostępnianie zasobów. Autor podaje przykłady używania wątków POSIX do tworzenia wydajnych i skalowalnych aplikacji. Książka omawia również zagadnienia wątku i jak je pokonać. Książka podzielona jest na cztery części: Część I wprowadza koncepcję multitreading i wyjaśnia, dlaczego jest ważna dla nowoczesnego rozwoju oprogramowania. Część II bada bibliotekę nici POSIX i jej funkcje. Część III opisuje sposób tworzenia strumieni i zarządzania nimi oraz sposób ich komunikacji. Część IV omawia zaawansowane tematy, takie jak biblioteki bezpieczne dla gwintów i aplikacje w czasie rzeczywistym. Książka kończy się studium przypadku pokazującym wykorzystanie wątków POSIX w rzeczywistym zastosowaniu. W całej książce autor podkreśla znaczenie zrozumienia podstawowych zasad multitreading i udziela praktycznych porad, jak skutecznie wykorzystać je w programowaniu C++. Podaje również przykłady unikania wspólnych pułapek i błędów podczas korzystania z multitreading. Książka jest napisana w jasnym i zwięzłym stylu, co ułatwia czytanie i zrozumienie. Jest to wielki zasób dla tych, którzy chcą dowiedzieć się o multitreading i jego praktycznym zastosowaniu w programowaniu C++.
הספר מיועד לתלמידים שכבר למדו תכנות ורוצים ללמוד על ריבוי היוצרים ועל היישום המעשי שלו בתכנות C++. הוא כתוב בצורה ברורה ותמציתית המקלה על הקריאה וההבנה. הספר מכסה את כל ההיבטים של ריבוי היוצרים, כולל יצירת חוטים, סינכרון, תקשורת בין חוט לחוט ושיתוף משאבים. המחבר נותן דוגמאות לשימוש בחוטי POSIX ליצירת יישומים יעילים וניתנים למדד. הספר גם דן בסוגיות חוטים וכיצד להתגבר עליהן. הספר מחולק לארבעה חלקים: חלק I מציג את הרעיון של ריבוי היוצרים ומסביר מדוע הוא חשוב לפיתוח תוכנה מודרני. חלק II בוחן את ספריית החוטים POSIX ואת מאפייניה. חלק III מתאר איך ליצור ולנהל זרמים, ואיך לתקשר ביניהם. חלק IV דן בנושאים מתקדמים כמו ספריות בטוחות חוט ויישומים בזמן אמת. הספר מסיים עם מחקר מקרה המדגים את השימוש בחוטי POSIX ביישום אמיתי. לאורך הספר, המחבר מדגיש את החשיבות של הבנת העקרונות הבסיסיים של ריבוי היוצרים ונותן עצות מעשיות כיצד להשתמש בו באופן יעיל בתכנות C++. הוא גם נותן דוגמאות כיצד להימנע ממלכודות וטעויות נפוצות בעת שימוש בריבוי ־ תרבויות. הספר כתוב בסגנון ברור ותמציתי, מקל על הקריאה וההבנה. זהו משאב גדול עבור אלה שרוצים ללמוד על ריבוי עופות ועל היישום המעשי שלהם בתכנות C++.''
Kitap, daha önce programlama eğitimi almış ve çoklu okuma ve C++ programlamada pratik uygulaması hakkında bilgi edinmek isteyen öğrenciler için tasarlanmıştır. Okunmasını ve anlaşılmasını kolaylaştıran açık ve özlü bir şekilde yazılmıştır. Kitap, iş parçacığı oluşturma, senkronizasyon, iş parçacığı iletişimi ve kaynak paylaşımı dahil olmak üzere çoklu okumanın tüm yönlerini kapsar. Yazar, verimli ve ölçeklenebilir uygulamalar oluşturmak için POSIX iş parçacıklarını kullanma örnekleri vermektedir. Kitap ayrıca iş parçacığı konularını ve bunların nasıl üstesinden gelineceğini tartışıyor. Kitap dört bölüme ayrılmıştır: Bölüm I, çoklu okuma kavramını tanıtır ve modern yazılım geliştirme için neden önemli olduğunu açıklar. Bölüm II, POSIX iş parçacığı kütüphanesini ve özelliklerini araştırıyor. Bölüm III, akışların nasıl oluşturulacağını ve yönetileceğini ve bunlar arasında nasıl iletişim kurulacağını açıklar. Bölüm IV, iş parçacığına güvenli kütüphaneler ve gerçek zamanlı uygulamalar gibi gelişmiş konuları tartışır. Kitap, gerçek bir uygulamada POSIX ipliklerinin kullanımını gösteren bir vaka çalışması ile sona ermektedir. Kitap boyunca yazar, çoklu okumanın temel ilkelerini anlamanın önemini vurgular ve C++ programlamada etkili bir şekilde nasıl kullanılacağı konusunda pratik tavsiyeler verir. Ayrıca, çoklu okuma kullanırken yaygın tuzaklardan ve hatalardan nasıl kaçınılacağına dair örnekler verir. Kitap, okunması ve anlaşılması kolay, açık ve özlü bir tarzda yazılmıştır. Bu, çoklu okuma ve C++ programlamadaki pratik uygulaması hakkında bilgi edinmek isteyenler için harika bir kaynaktır.
الكتاب مخصص للطلاب الذين درسوا البرمجة بالفعل ويريدون التعرف على القراءة المتعددة وتطبيقه العملي في برمجة C++. إنه مكتوب بطريقة واضحة وموجزة تجعل من السهل قراءته وفهمه. يغطي الكتاب جميع جوانب القراءة المتعددة، بما في ذلك إنشاء الخيوط، والتزامن، والتواصل بين الخيوط، وتقاسم الموارد. يقدم المؤلف أمثلة على استخدام خيوط POSIX لإنشاء تطبيقات فعالة وقابلة للتطوير. يناقش الكتاب أيضًا قضايا الخيوط وكيفية التغلب عليها. ينقسم الكتاب إلى أربعة أجزاء: يقدم الجزء الأول مفهوم القراءة المتعددة ويشرح سبب أهميته لتطوير البرامج الحديثة. يستكشف الجزء الثاني مكتبة خيوط POSIX وميزاتها. يصف الجزء الثالث كيفية إنشاء وإدارة التدفقات وكيفية التواصل بينها. ويناقش الجزء الرابع مواضيع متقدمة مثل المكتبات الآمنة للخيط والتطبيقات الآنية. يختتم الكتاب بدراسة حالة توضح استخدام خيوط POSIX في تطبيق حقيقي. في جميع أنحاء الكتاب، يؤكد المؤلف على أهمية فهم المبادئ الأساسية لتعدد القراءة ويقدم نصائح عملية حول كيفية استخدامه بشكل فعال في برمجة C++. كما يقدم أمثلة على كيفية تجنب المزالق والأخطاء الشائعة عند استخدام القراءة المتعددة. الكتاب مكتوب بأسلوب واضح وموجز، مما يسهل قراءته وفهمه. هذا مورد رائع لأولئك الذين يرغبون في التعرف على القراءة المتعددة وتطبيقها العملي في برمجة C++.
이 책은 이미 프로그래밍을 공부하고 C++ 프로그래밍에서의 멀티 스레딩 및 실제 응용에 대해 배우고 자하는 학생들을위한 것입니다. 읽고 쉽게 이해할 수있는 명확하고 간결한 방식으로 작성되었습니다. 이 책은 스레드 생성, 동기화, 스레드 간 통신 및 리소스 공유를 포함하여 멀티 스레딩의 모든 측면을 다룹니다. 저자는 POSIX 스레드를 사용하여 효율적이고 확장 가능한 응용 프로그램을 만드는 예를 제공 이 책은 또한 스레딩 문제와이를 극복하는 방법에 대해 설명합니다. 이 책은 네 부분으로 나뉩니다. 파트 I은 멀티 스레딩 개념을 소개하고 최신 소프트웨어 개발에 중요한 이유를 설명합니다. Part II는 POSIX 스레드 라이브러리 및 해당 기능을 탐색합니다. 파트 III은 스트림을 생성 및 관리하는 방법과 스트림 간의 통신 방법을 설명합니다. 파트 IV는 스레드 안전 라이브러리 및 실시간 응용 프로그램과 같은 고급 주제에 대해 설명합 이 책은 실제 응용 프로그램에서 POSIX 스레드의 사용을 보여주는 사례 연구로 마무리됩니다. 이 책 전체에서 저자는 멀티 스레딩의 기본 원리를 이해하는 것의 중요성을 강조하고 C++ 프로그래밍에서 효과적으로 사용하는 방법에 대한 실질적인 조언을 제공합 또한 멀티 스레딩을 사용할 때 일반적인 함정과 오류를 피하는 방법에 대한 예를 제공합니다. 이 책은 명확하고 간결한 스타일로 작성되어 쉽게 읽고 이해할 수 있습니다. 이것은 멀티 스레딩 및 C++ 프로그래밍의 실제 응용에 대해 배우고 자하는 사람들에게 훌륭한 리소스입니다.
この本は、すでにプログラミングを学び、マルチスレッドとC++プログラミングでの実用的なアプリケーションについて学びたい学生を対象としています。わかりやすく簡潔に書かれているので読みやすく分かりやすいです。この本は、スレッド作成、同期、スレッド間の通信、リソース共有など、マルチスレッドのあらゆる側面をカバーしています。POSIXスレッドを使用して効率的でスケーラブルなアプリケーションを作成する例を紹介します。本はまた、スレッドの問題とそれらを克服する方法についても説明しています。本は4つの部分に分かれています:パート私はマルチスレッドの概念を紹介し、それが現代のソフトウェア開発にとって重要である理由を説明します。Part IIでは、POSIXスレッドライブラリとその機能について説明します。Part IIIでは、ストリームの作成と管理、およびストリーム間の通信方法について説明します。Part IVでは、スレッドセーフライブラリやリアルタイムアプリケーションなどの高度なトピックについて説明します。本書は、実際のアプリケーションでのPOSIXスレッドの使用を実証するケーススタディで結論付けています。著者は本を通して、マルチスレッドの基本原則を理解することの重要性を強調し、C++プログラミングでそれを効果的に使用する方法について実践的なアドバイスをします。彼はまた、マルチスレッドを使用するときに一般的な落とし穴やエラーを回避する方法の例を示します。この本は明確で簡潔なスタイルで書かれており、読みやすく理解しやすい。これは、C++プログラミングでのマルチスレッドとその実用的なアプリケーションについて学びたい人のための素晴らしいリソースです。
本書面向已經學習編程並希望了解多線程及其在C++編程中的實際應用的學生。它以清晰簡潔的方式編寫,可以輕松閱讀和理解。該書涵蓋了線程化的各個方面,包括線程創建,同步,線程之間的通信和資源共享。作者提供了使用POSIX線程創建有效和可擴展應用程序的示例。本書還討論了線程問題以及如何克服這些問題。該書分為四個部分:第一部分介紹了多線程的概念,並解釋了為什麼它對現代軟件開發很重要。第二部分探討了POSIX線程庫及其功能。第三部分描述了如何創建和管理流,以及如何在流之間進行通信。第四部分討論了擴展主題,例如流安全庫和實時應用程序。該書以案例研究為結尾,展示了實際應用程序中POSIX流的使用。在整個書中,作者強調了解多線程的基本原理的重要性,並就如何在C++上有效地將其用於編程提供了實用建議。他還舉例說明了如何在使用多線程時避免常見的陷阱和錯誤。這本書以清晰簡潔的風格寫成,因此易於閱讀和理解。對於那些希望了解多線程及其在C++上編程中的實際應用的人來說,它是一個偉大的資源。

You may also be interested in:

Silk Monsoon (Threads of the Storm, #1)
Threads of Hope (Plain Patterns #3)
Of Blood and Tides (Threads of Magic #3)
Moccasin Track (Threads West #4)
Adina Falling (Threads of Fate #1)
The Threads that Bind (Love Across Time #4)
These Tangled Threads (Bells of Lowell, #3)
Threads of Faith (Fabric of Time #2)
Night Threads 06: The Science of Power
Threads Of Desire (Creative Hearts #3)
Of Spools and Billows (Threads of Magic #4)
Burn the Skies (Threads of Dreams, #3)
The Threads of Fate (The Divining Sisters, #3)
Casander Darkbloom and the Threads of Power
Threads of Malice (Dubric Bryerly, #2)
The Only Story (Threads of Wyrd Book 2)
Hearts That Cut (Threads That Bind, #2)
Meet Your Matcha (Common Threads #7)
The Golden City (Threads Quartet, #1)
Of Blood and Magic (The Threads That Bind, #1)
Red Threads: A Novel (Inspector Cramer)
Теория автоматического управления (с использованием MATLAB - SIMULINK)
Введение в оптимизацию приложений с использованием компиляторов Intel
Синтез логических схем с использованием языка VHDL
Теория автоматического управления (с использованием MATLAB - SIMULINK)
R в действии. Анализ и визуализация данных с использованием R и Tidyverse
В поисках Марселя Пруста (с использованием малоизвестных материалов)
Основы компьютерной математики с использованием системы MATLAB
Машинное обучение с использованием Python. Сборник рецептов
Синтез логических схем с использованием языка VHDL
Управление использованием радиочастотного спектра конверсия и экономика
Расчет и оптимизация технологий с использованием HSC Chemistry
Проекты с использованием контроллера Arduino. 2-е изд. (+файлы)
Курс математической физики с использованием пакета Maple
Теория автоматического управления (с использованием MATLAB - SIMULINK)
Расчет и оптимизация технологий с использованием HSC Chemistry
R в действии. Анализ и визуализация данных с использованием R и Tidyverse
Синтез логических схем с использованием языка VHDL
Ваш первый сайт с использованием РНР скриптов
Хлеб в нашем доме. Рецепты с использованием хлеба