LXF156:LemonPOS: Ваша торговая точка
|
|
|
Одной утилитой управляйте всеми операциями продаж
Содержание |
LemonPOS: Ваша торговая точка
С целью избавить мир от нерешенных проблем, Шашанк Шарма открывает прекрасное приложение для торговой точки – LemonPOS.
Будучи всегда в поиске экономически эффективных решений для своих потребностей, мелкий и средний бизнес (SMB) с каждым годом все чаще обращается к Linux. И компании малого и среднего бизнеса уже давно жаловались на отсутствие программного обеспечения по функциям торговых точек (Point Of Sale, POS – по-нашему, ТТ) для Linux.
В последние годы мы стали свидетелями всплеска количества программного обеспечения под Linux для ресторанов, и многие системы планирования ресурсов для предприятий предлагают по крайней мере часть функциональности ТТ, но большинство малых и средних предприятий по-прежнему остаются за бортом. К счастью, LemonPOS может закрыть эту давнишнюю прореху.
К чему вся эта суета?
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Торговая точка подразумевает терминал, где продавец управляет процессом продаж. В нем предусмотрено обновление инвентарного списка, учет продаж, обновление кассового аппарата, выдача квитанции, а также выполнение других задач, связанных с операциями по продажам. LemonPOS умеет все это, и много чего еще!
Как вы можете себе представить, программное обеспечение ТТ выполняет две основные задачи: создание инвентарного списка и учет продаж. LemonPOS объединяет две отдельных программы для обработки каждой из этих задач соответственно – Squeeze и Lemon.
Первый шаг при использовании программного обеспечения ТТ – это добавление вашего реестра. Пусть у вас есть магазин, торгующий соками. Первое, что вам нужно сделать – это добавить всю информацию по позициям, доступным для продажи в магазине: например, 50 литровых и 15 двухлитровых бутылок апельсинового сока, 40 литровых бутылок сока манго, цены на каждый, любые скидки, и т. д. Этот процесс управляется Squeeze, также известной как административный интерфейс LemonPOS. Lemon работает с отдельными терминалами торговых точек, а заодно помогает выполнять задачи, связанные с каждой продажей. Далее мы рассмотрим каждый из этих инструментов более подробно. Кроме MySQL, LemonPOS также требует несколько библиотек KDE. Если вы работаете в дистрибутиве только с Gnome, не волнуйтесь: KDE вам устанавливать не придется. Инструмент управления пакетами вашего дистрибутива легко выберет и установит зависимости с репозиториев за вас.
LemonPOS доступна в репозиториях большинства дистрибутивов, но, к сожалению, большая часть из них не предлагает последнюю стабильную версию. Дистрибутивы почему-то в основном засиделись в версии 0.9.2, тогда как последний стабильный релиз – 0.9.3.
Можно найти пакеты для некоторых RPM- и Deb-дистрибутивов на странице проекта на SourceForge или загрузить пакет для вашего дистрибутива c популярного сайта pkgs.org.
Если в вашей системе еще нет MySQL, перед использованием LemonPOS вам придется установить и его. Используйте программное обеспечение для управления пакетами вашего дистрибутива, чтобы установить пакеты mysql-клиент и mysql-сервер. Далее, запустите терминал и скомандуйте
mysql -u root -p password
чтобы установить пароль для root-администратора, который будет управлять MySQL. Мы воспользуемся пользователем root и заданным паролем для настройки базы данных MySQL для LemonPOS чуть позже.
Установка LemonPOS
После этого мы, наконец, готовы к установке LemonPOS. Если вы устанавливаете его из исходников, извлеките файлы из tar-архива в каталог lemonpos. Для установки нужно запустить две команды, прежде чем запустить make и make install. Эти команды, да и вся процедура установки, описаны в установочном файле INSTALL в каталоге lemonpos.
Затем перейдите в каталог database_resources, запустите команду
cat lemon_mysql.sql | mysql -u root -p
и введите пароль администратора MySQL, когда вам будет предложено сделать это. Эта команда создаст базу данных для LemonPOS. Если вы устанавливаете систему из репозитория программного обеспечения или упакованных бинарников, вам все равно необходимо выполнить последний шаг, который мы только что обсудили. Для этого найдите файлы LemonPOS на вашем компьютере (они, вероятно, будут в каталоге /usr/share/kde4/apps/lemon), и запустите команду
cat lemon_mysql.sql | mysql -u root –p
чтобы создать базу данных для LemonPOS.
В зависимости от вашего дистрибутива, вы обнаружите либо Lemon и Squeeze в меню Office, либо новый пункт меню – Другие.
Подробно о Squeeze
Как мы уже упоминали, Squeeze является административным интерфейсом, используемым для заполнения всех данных о товарах, предлагаемых на вашем складе или в магазине.
По умолчанию при запуске Squeeze или Lemon имя пользователя/пароль будут admin/Linux. Вы можете создать нового пользователя с правами администратора или изменить пароль по умолчанию, нажав на кнопку Пользователи на панели инструментов в верхней части интерфейса.
Экран по умолчанию в Squeeze имеет четыре графика, которые показывают продажи, прибыль, 5 самых популярных товаров и товары, запас которых на исходе. Это создаст полезную информацию, как только вы начнете делать продажи с Lemon.
Для работы с LemonPOS необходимо определить по крайней мере одного заказчика. В Squeeze заказчик под именем General уже задан по умолчанию. Вы можете начать с создания нового заказчика, нажав на кнопку Заказчики на панели инструментов в верхней части экрана или нажав Данные > Заказчики. На экране Заказчики, нажмите кнопку Добавить заказчика внизу и заполните детали, такие как имя, номер телефона, адрес и т. д. Если вы не собираетесь предлагать специальные скидки или акции заказчикам, лояльным к вашему магазину, то параметров по умолчанию будет достаточно.
Прежде чем вы приступите к добавлению товаров в базу данных, предлагаем вам создать категории. Это не жесткое требование, но при добавлении товара вы должны указать категорию, и задание категорий товаров облегчит фильтрацию товаров в будущем. Для задания категории, нажмите на кнопку Категории на панели инструментов, а затем нажмите кнопку Добавить категорию. Категорий можно создать сколько угодно. При добавлении категории нужно указать только название и ничего больше.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Другая полезная информация – это Вес и Измерения. Они помогут определить, продается ли товар в упаковке или на развес (будь то фунты или килограммы), либо поштучно. Например, буханки хлеба будет продаваться штуками, как и шоколадные батончики, а печенье – упаковками.
По умолчанию, Squeeze предлагает только штуки (шт). Для определения более подробной информации нажмите Данные > Измерения или кнопку Измерения на панели инструментов, а затем – кнопку Добавить Измерения в нижней части экрана Измерений.
Добавление товаров
Со всей введенной основной информацией, мы можем добавить товар в инвентарный список. Чтобы начать, нажмите кнопку Товары на панели инструментов.
Как вы уже, наверное, заметили, интерфейс Squeeze остается неизменным для большинства кнопок на панели инструментов, таких как Измерения, Пользователи, Категории, Предложения и т. п., и экран Товары ничем не отличается – название появляется в верхней левой части интерфейса, а кнопки Добавить, Удалить и Экспортировать – в нижнем правом углу.
На экране Товары, нажмите кнопку Добавить товары, чтобы добавить информацию о Товаре. Это вызовет диалоговое окно Редактор товара, где вы можете представить подробную информацию о товаре, такую как Описание, Категория, Стоимость и т. д. Закончив, нажмите OK. После этого вы увидите только что добавленный товар в списке на странице товаров.
При добавлении товара вы должны определить его уникальный код в виде номера – код не может содержать буквы или даже быть буквенно-цифровым. Поле Кол-во покупок используется для указания количества единиц этого товара, которое вы закупили. Это означает, что количество товара определяется числом единиц, которые есть в вашем магазине. Итак, если вы купили 20 единиц товара А, количество товара составит 20. Когда вы продадите все 20, Squeeze выведет по этому товару сообщение «Нет на складе».
При добавлении товара вы можете также задать налоги, в зависимости от местных законов. Если у вас нет дополнительных налогов либо налог уже включен в стоимость, введите 0.0 для обоих полей – Налог и Другие налоги в диалоговом окне Редактор товара.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Одной из наиболее интересных особенностей здесь является Калькулятор отпускных цен. После того, как вы добавили все остальные детали, заполните маржу прибыли, которую вы хотите заработать с каждого проданного товара, в поле Прибыль (%) в правой нижней части диалогового окна Редактор товара, и Squeeze заполнит цену сам, в зависимости от маржи. Например, если стоимость товара составляет 25 р. и вы хотите, получить прибыль в размере 12 % с каждой продажи, введите 12 в поле Прибыль (%) и нажмите кнопку $. Вы увидите, что поле Цена автоматически сменится на 28 р.
Добавление товаров в линейку в первый раз может показаться немного утомительным из-за частого нажатия кнопки Добавить товар для каждого нового товара. Чтобы обойти эту проблему, нажмите на панели инструментов кнопку Закупки, а не Товары. Диалоговое окно Закупки позволяет добавлять несколько товаров, один за другим, в том же диалоговом окне, но вы все равно должны предоставлять всю информацию, как мы это делали в диалоговом окне Редактор товаров, для каждого нового товара.
Будучи владельцем магазина, вы как никто понимаете всю силу скидок для потребителей. Для создания спецпредложений по вашим товарам, нажмите кнопку Предложения на панели инструментов Squeeze и выберите команду Создать новое предложение. В диалоговом окне Редактор скидок выберите товар из списка, укажите процент скидки и, наконец, определите срок для этого предложения. Закончив, нажмите OK.
Вам не придется вводить все товары единым духом. К Squeeze можно в любой момент вернуться, чтобы добавить товары, обновить информацию о существующих товарах, создать дополнительные категории или внести другие изменения. Все изменения, внесенные в Squeeze, после перезапуска будут автоматически отражены в Lemon.
Использование Lemon
Вам будет предложено войти в систему при запуске Lemon. Введите те же учетные данные, что и для Squeeze: admin/Linux в качестве имени пользователя/пароля, если вы не меняли пароль или не создавали другую учетную запись администратора. Интерфейс на первый взгляд может ошеломить, тем более что он занимает все пространство экрана, независимо от размера вашего монитора и его разрешения. При ближайшем рассмотрении, однако, вы обнаружите, что интерфейс прост. Он разделен на несколько различных групп, касающихся аспектов каждой продажи. На левой боковой панели, нажмите кнопку Настройка Lemon, чтобы определить некоторые ключевые сведения. В диалоговом окне Настройка Lemon вы можете указать количество терминалов для установки Lemon. – это необходимо, только если у вас достаточно большой магазин, где используется несколько торговых терминалов. Затем нажмите на вкладке Магазин на левой боковой части диалогового окна и заполните детали, такие как название, адрес и другую информацию о вашем магазине. В том же окне можно настроить принтер и параметры безопасности, используя соответствующие вкладки на левой боковой панели окна.
Верувшись в основной интерфейс Lemon, нажмите кнопку Запуск операции на левой боковой панели, чтобы начать. Вам предложат ввести сумму. Этот шаг повторяется при каждом запуске Lemon. Рассматривайте это как сумму на начало дня или смены.
Продажа
Получив оплату, мы готовы совершить нашу первую продажу. Согласно выбору покупателя, либо введите код товара в поле Код и выберите товар вручную, либо используйте имеющиеся параметры фильтрации, чтобы сузить список товаров. Например, если вы нажмете Фильтровать по Описанию и наберете «сок» в текстовом поле, Lemon выведет только сок манго и апельсиновый сок.
Чтобы выбрать товар, нажмите на него один раз. После этого вы заметите, что он появился на панели в нижней части экрана. Панель содержит список деталей отдельных видов товаров, таких, как код, описание, цена, количество (кол-во), скидок и общее количество.
При выборе товара нажмите на него один раз, а каждое последующее нажатие будет увеличивать количество. То есть, если покупатель просит три бутылки сока манго, нажмите на сок манго в списке товаров трижды: нажатие на данный товар в этом списке имеет тот же эффект увеличения количества.
Если вы случайно ввели неправильное количество товара, выберите этот товар в списке и нажмите кнопку Удалить выбранный элемент в левой боковой панели. Каждое нажатие этой кнопки приведет к снижению количества выбранного товара на единицу.
При нажатии на другой товар тот тоже добавится в список на нижней панели. Вы также можете использовать штрих-код в верхней левой части интерфейса для ввода продукции с использованием кода в формате
количество*код
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Таким образом, если ваш покупатель хочет пять бутылок апельсинового сока, введите 5*2 в поле кода – это если код апельсинового сока у вас 2. Покончив со вводом данных о продаже, введите сумму наличных, выданных покупателем, в поле Наличные. Если она превышает итоговую сумму, Lemon отобразит сумму, которую надо вернуть покупателю. Таким образом, для продажи на 260 р., если вы введете 300 р. в поле Наличные, Lemon покажет 40 р. в качестве сдачи.
Теперь нажмите клавишу Ввод для получения чека на продажу. Альтернатива – нажать для получения чека кнопку Завершить транзакцию на левой боковой панели. В любом случае, без этого последнего шага продажа не завершится – необходимо указать полученную сумму наличных на сдачу клиенту, или вы не сможете создать чек и завершить продажу.
Сделка, она же – транзакция, завершается после формирования чека. Повторите эти действия, по мере необходимости, для каждой последующей продажи.
Запись операций за день
В конце смены, или в конце дня, нажмите кнопку Отчет на конец дня на левой боковой панели, чтобы создать PDF-файл с перечнем всех операций, проведенных до этого момента.
В диалоговом окне Печать отчета на конец дня можно указать имя файла. Нажмите кнопку Печать на нижней правой части диалогового окна для создания файла, который по умолчанию сохранится в вашей домашней папке.
Перечень включает номер, время, сумму и прибыль для каждой совершенной транзакции. В верхней части созданного PDF-файла будет указано название магазина, дата и время создания файла.
Если вы хотите узнать больше, чем сухое перечисление в этом документе, положитесь на Squeeze. Помните все те графики, которые выводятся на экране по умолчанию?
Проведя несколько продаж, вы получите гораздо больше информации. И не только на четырех графиках Squeeze. Конечно, графики дадут определенные красочные представления о сделках, но Squeeze предлагает еще более полезные отчеты.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
На экране Отчеты, отчеты, представленные только в виде PDF-файлов, перечислены на левой боковой панели под заголовком Печатные отчеты. Это Конец дня, Общий конец дня, Конец месяца, Продано товаров и Товары, которых мало на складе. Двойное нажатие на любом из них создаст PDF-файл. Вас поприветствует диалоговое окно, подобное окну Печать на конец дня в Lemon. Здесь также можно указать местоположение и имя создаваемого отчета.
Другие отчеты можно вывести на экран, нажав на определенные кнопки на экране Отчеты. Здесь вы увидите отдельные кнопки для Денежные потоки, Операции, Сальдо и Спецзаказы. При наведении указателя мыши на любую из кнопок всплывающая подсказка поможет вам ее распознать.
Для каждого из этих отчетов существуют различные опции фильтра, которые можно использовать, чтобы внимательно изучить отчеты. Чтобы перейти на экран Фильтры, наведите курсор на узкую желтую панель в верхней части отчета. Например, при нажатии кнопки Транзакции все операции будут отображены на экране.
В верхней части перечисленных операций вы заметите желтую полосу. При наведении на нее указателя мыши экран Фильтры предложит различные варианты, такие как просмотр завершенных или отмененных транзакций, или просмотр операций на определенную дату, или просмотр операций больше или меньше указанной суммы, и т. д.
Спасибо Эрику Шеклтону [Eric Shackleton] за идею этого учебника