Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Компьютерная библиотека: книги, статьи, полезные ссылки" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Выпуск 19:
| Информационный Канал Subscribe.Ru |
Другой угол зрения
Выпуск 19
Ворчуния Ворчащая vorchunia@mail.ru
http://vorchunia.chat.ru
~*~~*~~*~~*~~*~~*~< В выпуске >~*~~*~~*~~*~~*~~*~
1. Что в следующий раз?
2. Для админов
3. Не для чайников
4. Для девелоперов - UML & Together
5. Для сишников /+результаты "разминки"/
6. Ворчалка + мнение Змея о
Дж.М.Харт "Системное программирование
в среде Win32. Руководство разработчика
приложений для системы Windows 2000"
~< 1 >~*~~*~~< Что в следующий раз? >~~*~~*~~*~~*~
Не интересен перечень? Предложи свое!
Интересны 2 книги - проголосуй за обе!
Читал? - Пришли пару фраз!
1. Н.Тюкачев, Ю.Свиридов
Delphi 5. Создание мультимедийных приложений
(уже есть 8 голосов)
mailto:vorchunia@mail.ru?subject=DMulti
2. Г. Соломон, М. Руссинович
Внутреннее устройство Microsoft Windows 2000.
(уже есть 7 голосов)
mailto:vorchunia@mail.ru?subject=Inside2000
3. Р. Блам
Система электронной почты на основе Linux
mailto:vorchunia@mail.ru?subject=Blum
4. предлагаю другую книгу
mailto:vorchunia@mail.ru?subject=drugoe&body=Napishite%20tut
(не обязательно конкретная книга,
можно указать и тему)
~< 2 >~*~~*~~*~~< Для админов >~~*~~*~~*~~*~~*~~*~
Полный список книг, мнения о которых интересуют
подписчиков -
http://vorchunis.chat.ru/seek_opinion.htm
Новые вопросы:
1. Что в бумажном виде стоит прочитать про Apache?
=> Выскажитесь:
mailto:vorchunia@mail.ru?subject=Apache
2. Что читать, чтобы стать винд-админом?
=> Выскажитесь:
mailto:vorchunia@mail.ru?subject=WinAdmin
~< 3 >~*~~*~~*~~< Не для чайников >~~*~~*~~*~~*~~*~
Случайно мне в руки попала книга (если честно - то,
очень _старая_ книга) - позволившая мне понять осознать
четкое различие между _чайником_ и _новичком_:
"Предполагается, что новичок, берущийся за этюд, уже
написал несколько программ и знает сравнительно хорошо
хотя бы один язык" (стр.14)
Так вот в дальнейшем я собираюсь придерживаться этого
определения. Все, кто не дорос до этой книги - чайники,
остальные, не могущие с легкостью реализовать этюды из
нее - новички. Я - однозначно новичок :-)
:-( Но грустно мне, что нынче я не вижу адекватных книг
для новичков :-(
Еще несколько цитат и первый этюд (который я примерно
знаю, как решать ;)
/* так выделен мой комментарий */
"Ясно, что прочитав несколько книг по столярному делу,
нельзя сразу взять и произвести на свет что-нибудь
изящное в стиле Чиппендейл. /* - английский мебельный
мастер - не путать с симпятгами Чипом и Дейлом */
Так почему же человек, прочитавший одно-два руководства
по программированию, вдруг сразу начнет писать стройные
грамотные программы?" (стр.10)
"Более того, учиться надо на "настоящих" программах,
а не на упрощенных примерах, вроде тех, которыми изобилует
большинство руководств по языкам программирования.
Сколько не бренчи чижика, вторым Рубенштейном не станешь.
Точно такая же долбежка языка ХХХ /* имя убрано мной */
не поможет вам достичь высот в программировании" (стр.12)
"Все еще слишком часто задачки из книжек по программированию
представляют собой просто технические 'упражнения для пальцев'"
(стр.13)
Этюд "Жизнь" (идея - Джон Хортон Конвей)
0. Прямоугольное поле случайным образом заполняется
"живыми квадратами", назовем их клетками;
1. У каждой клетки - 8 соседей;
2. Клетка гибнет, если соседей меньше двух (от
одиночества), или если больше трех (от тесноты);
3. Жизнь самозарождается, если у пустой клетки есть
три живых соседа ;)
4. Гибель и рождение происходит по всему полю
одновременно в момент "смены поколений", т.е
а) гибнущая может способствовать рождению,
б) рождающаяся не может воскресить гибнущую,
в) гибель одной не может предотвратить гибель
из-за уменьшения локальной плотности других
клеток
Длительность: /* автор для каждого этюда дает оценку
необходимого времени */
1 исполнитель - /* если решили делать,
попробуйте оценить время - от оценки автора я пару
часов была в обалделом состоянии - подсказка: */
"Временные оценки, которые рассчитаны на аспирантов
I-го года обучения, выделяющих четверть своего рабочего
времени, могут оказаться малы для программиста,
работающего не столь увлеченно."
Здесь некоторые дополнительные вопросы и подсказки из
этюда: http://vorchunia.chat.ru/book/etudes.htm
Кто будет решать этюд - пишите - обсудим
mailto:vorchunia@mail.ru?subject=TheLife
Да, а книга называется
Уэзерелл Ч. "Этюды для программиста"
издана в 1982 году (Москва)
Хотите ответить? Дополнить? Возразить?
==> mailto:vorchunia@mail.ru?subject=Etudes
Для питерцев в Публичке код "прямого доступа"
(Парк Победы 4-ый этаж) З 973.2-п / У-974
~< 4 >~*< Для девелоперов - UML & Together >*~~*~~*
K> Ktirf:
Петер Коуд, Дэвид Норт, Марк Мейфилд.
"Объектные модели".
Изд-во "Лори", 1997 год, 432 стр., 27 см.
K> Для начала - сухое описание того, что внутри.
K> В полной противоположности Бучу эта книга - практическая.
K> Изложено шесть примеров разработки объектной модели начиная
K> с постановки задачи. Согласно авторам, применение ряда так
K> называемых стратегий (то есть методов работы с задачей) и
K> паттернов (то есть готовых кусков объектной модели) способно
K> резко повысить как производительность труда разработчика,
K> так и соответствие результата ожиданиям заказчика. В шести
K> примерах демонстрируется применение этих стратегий и паттернов,
K> а во второй части книги просто перечисляются подряд, таким
K> образом вторая часть книги представляет собой справочник,
K> на электронную версию которого (регулярно обновляемую) авторы
K> дают ссылку. Используемый язык моделирования разработан
K> авторами (так называемая нотация Coad), для каждого примера
K> итоговая модель представлена в нотациях OMT и UML (в том
K> допотопном варианте, в котором UML существовал в 1997 году).
K> Теперь неформальная часть.
K> Первое впечатление от этой книги было - альтернативщики.
K> Ни слова о Буче. То есть буквально ни слова - я нашел его
K> фамилию только в литературных ссылках в конце книги. При
K> этом очень американский гонор - мол, мы самые крутые,
K> у нас самая правильная методология, на конкурентов даже не
K> смотрите. Ну да ладно, это форма, хотя и не самая приятная.
K> Второе впечатление - что за гон? Ну хорошо, ну предположим,
K> их подход работает, но позвольте, это же очень далеко от
K> реальности! Прежде всего - где они нашли таких удобных
K> заказчиков? Третье впечатление (это не от третьего
K> прочтения, а примерно на третьей модели, то есть около
K> середины книги) - черт, а ведь эти парни говорят интересные
K> вещи! Этим действительно можно попробовать воспользоваться!
K> Однако ближе ко второй части книги (справочнику) стало
K> откровенно скучно. Примеры выбраны были не самые удачные и
K> как ни крути, довольно одинаковые. В результате целостного
K> впечатления о методологии Коуда я так и не получил.
K> Итого. Если вы фанат паттернов, мыслите образцами
K> проектирования и у вас напряг с новыми идеями - эта книга
K> вам может помочь. Авторы явно старались написать книгу так,
K> чтобы Буча можно было после нее не читать, но им, на мой
K> взгляд, это не удалось, поэтому лучше хотя бы немного
K> полистать Буча перед Коудом. Лично мне эта книга дала
K> некоторые неплохие паттерны и стратегии, ради чего только
K> ее и стоит использовать. Упаси вас Бог пытаться как-то
K> использовать примеры, которые там применены - вы очень
K> быстро поймете, что для того, чтобы так работать
K> с заказчиком, надо заказчику неплохо заплатить :)
K> Я бы оценил методологию Коуда в целом и эту книгу в
K> частности не больше чем на тройку, если бы не одно "но".
K> Дела значат больше слов, а Петер Коуд сотоварищи, используя
K> свою методологию, разработали (в частности) прекрасное
K> средство разработки, особенно для Java-программистов. Точно
K> так же как с Буча начался Rational Rose, так с Коуда начался
K> Together. Если вы еще не знакомы с этой программой,
K> настоятельно рекомендую познакомиться. К сожалению, легально
K> она стоит еще больше, чем Rational Rose (мне настолько
K> нравился продукт, что я всерьез думал попросить начальство
K> ну хотя бы одну лицензию... Желание улетучилось, как только
K> я узнал цену лицензии - $11000), однако существует
K> evaluation-программа, в рамках которой вы можете хотя бы
K> попробовать ее. Основным и самым сильным достоинством
K> Together по сравнению с Rational Rose является то, что вы
K> можете работать с моделью и кодом одновременно - Together
K> поддерживает их в согласованном состоянии. Другого продукта,
K> проделывающего подобные фокусы, я не знаю, а удобство такого
K> подхода трудно переоценить. Основной же недостаток Together,
K> как и всех программ, работающих на библиотеке Swing - это,
K> увы, требовательность к ресурсам: последняя версия Together
K> для нормальной работы требует не менее 192 Мб памяти и
K> сносно (то есть не слишком медленно) работает лишь на
K> Pentium III-600.
K> К чему это я все? К тому, что если использование методологии
K> позволило создать настолько удачный продукт, то наверное,
K> она имеет право на существование :) Но из обсуждаемой книги
K> я все равно не понял, как эта методология работает %-)
Хотите ответить? Дополнить? Возразить?
==> mailto:vorchunia@mail.ru?subject=together_Ktirf
~< 5 >~*~~*~~*~~< Для сишников >~~*~~*~~*~~*~~*~~*~
Итак, СЕМЕРО из 11 просивших поворчать о книге
Прата "Язык программирования С++.
Лекции и упражнения. Учебник"
http://win.subscribe.ru/archive/comp.paper.vorchunia/200209/23040533.html
http://win.subscribe.ru/archive/comp.paper.vorchunia/200209/23040540.text
ARCHIVE comp.paper.vorchunia 2002/09/23-04:05:40.text
Всего получено 13 голосов:
Читал и согласен с ворчалкой - 1
По возможности прочту - 4
Тема интересна, но читать не будут - 7 :)
+ мнение о другой книге Прата:
ЮИ> Юрий Истомин:
ЮИ> Хочу высказать свое маленькое мнение. Существует
ЮИ> старая книга авторов - М.Уэйт, С.Прата, Д.Мартин
ЮИ> "Язык Си". (Издательство "Мир" 1988г.) Я его считаю
ЮИ> наилучшим учебником Си всех времен и народов,
ЮИ> особенно для начинающих. Кроме того, я думаю, что
ЮИ> без знания базового С трудно будет учиться
ЮИ> объектам, а в последнее время я редко встречал
ЮИ> учебников С, все больше С++, то есть, методологию
ЮИ> описывают, а как писать реализацию, уже учитесь
ЮИ> сами. Может быть, и до сих пор имеет смысл не
ЮИ> покупать все-в-одном - и С и С++ в одной книге, а
ЮИ> найти две отдельные хорошие книги и переплетать их
ЮИ> чтение.
Хотите ответить? Дополнить? Возразить?
==> mailto:vorchunia@mail.ru?subject=Prata3_Istomin
~< 6 >~*~~*~~*~~*~~< Ворчалка >~~*~~*~~*~~*~~*~~*~
выбрано 12 голосами
Название: Системное программирование в среде Win32
Руководство разработчка приложений для
системы Windows 2000
Win32 System Programming
A Windows2000 Aplication Developer's Guide
Автор: Джонсон М.Харт
Johnson M.Hart
Издательство: Вильямс ISBN: 5-8459-0177-4
(eng) 0-201-70310-6
Дата выпуска: 2001
Оглавление: http://www.books.ru/contents?id=13759
Исходники: http://www.aw.com/cseg/
Обложка: 15 Kb http://vorchunia.chat.ru/book/hart.gif
Формат: 17.5x24 см, толщина - 2.5 см (464 страницы)
твердый переплет, вес - 540 г.
Цена:
185 рублей (Bolero)
http://www.bolero.ru/cgi-bin/basket.cgi?act_add=yes&pid=2087697&num=1&partner=vorch
http://www.bolero.ru/catalog/book/pages/pages-2087697.html
263 рубля (Books.ru)
http://www.books.ru/shop/books/13759?partner=vorch
302 рубля (Библион)
http://www.biblion.ru/cgi-bin/WebObjects/shop.woa/wa/aspurl?pid=71&sku=304094
321 рубль
http://www.biblion.ru/cgi-bin/WebObjects/shop.woa/wa/aspurl?pid=71&sku=178206
~*~~*~~*~~*~~*~~*~~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~
Книга Харта входила в тот список книг по WinAPI,
тянувший на 4 тысячи деревянных с гаком, который
и спровоцировал создание этой рассылки :)
Но книга не была куплена по целому числу неположительных,
как мне тогда казалось, характеристик. Во-первых,
объем - просто карлик по сравнению с Рихтером или Юанем.
Во-вторых, соотношение объем/цена - Вильямс толще и дешевле.
В-третьих, подробнейшая библиография в конце каждой главе,
отсылающая по каждому рассмотренному вопросу за детальным
изложением к другим книгам. В четвертых - в каждой главе
длинный список упражнений без ответов. И последнее - автор
в предисловии адресовал книгу никсоидам, которые решили
программировать под виндами. Из этого я почему-то решила,
что мне более виндузятнику чем никсоиду, книга не будет
интересна.
Так вот, теперь я все это считаю достоинствами!
Начнем с конца. То, что автор - никсоид с хорошим базовым
пониманием роли оси в прикладном программировании,
дало книге как бы взгляд со стороны на эту галактику,
называемую виндами.
Разовьем эту метафору. Виндузятник сидит себе в своей
галактике внутри. И ему крупным планом видны мелкие детали,
которые тут работают так, а вот там деталь уже другая.
Только недавно галактик класса винды стало больше чем
пальцев на одной руке. И виндузятник перемещаясь только
внутри винд-галактик, видит что шестеренок все больше и
все как-то разные.
Понятно, что для общей картины нужен взгляд снаружи,
и более того не цепляющийся за детали. И вот приходит
никсоид, который априори знаком с более вариативным набором
галактик. Смотрит на винд-галактики и говорит: "О, понятно!
Вот это часть винд-галактики предназначена для этого,
та - для того. Вот тут управление (набор функций) примерно
такой же как и в никс-галактике не важно, что у одних все
планеты крутятся в одной плоскости, а в другой галактике -
как на душу положат. Более важное на таком удаленном
наблюдении - наличие дополнительных мета-функций двух типов:
первый тип - равносилен последовательному нажатию 2-3
соответствующих кнопок, а второй тип - это та же кнопка, что
и предыдущая, только ядро плюет на ручные настройки регуляторов."
Потом смотрит на другую часть виндов, и говорит: "точной такого
механизма в никс-галактиках нету. Но использование этой штуковины
предназначено для того, что мы в никсах делаем с помощью другого
механизма".
После того, как никсоид рассмотрел и попробовал все основные
рычажки. Он пытается на этой "галактике" поездить. Какой
механизм доступа к файлам более продуктивен и когда. Какие
рычажки для какого разворота более удобны, это я про
межпроцессорное взаимодействие. А результаты тестов сведены
в таблицы в конце главы. Более того Вы эти же тесты можете
проверить на своем компе ;)
Другими словами, автор прекрасно знает, для чего нужно
транспортное средство, в независимости от того крылья
у него или гусеницы. Харт сделал прекрасный обзор базовых
функциональных механизмов оси типа винды, не обращая
никакого внимания на "кнопки" кондиционера, автоматического
откидывания крыши и голосовых функций типа "внимание, машина
едет задним ходом". Более того, вопросы для читателя после
объяснениях базовых вещей о рассматриваемой в главе
механизма очень точно показывают - поняли ли Вы материл или
нет. Если хоть одно упражнение Вы не знаете как выполнить -
значит невнимательно читали - ибо они не требуют более того,
что Вы должны были прочесть. А вот если Вас интересует
более детальное рассмотрение деталей механизма - то вот тут
Вам и понадобится описание рекомендуемых книг - это как
мини-мини-ворчалка :)
И еще один факт, который может расцениваться и как
положительный и как отрицательный в отсутствии доступа к
инету. Весь код, приведенный в книге, можно набрать и он
будет работать. Это минимально работающий код для
иллюстрации рассматриваемого механизма, в книге не
приводятся ни красивости, ни серьезный отлов ошибок
и дополнительная функциональность. Это существенный плюс при
уменьшении объема затраченной бумаги. К книге нет CD, и это
тоже плюс с точки зрения цены. Но это минус для тех, у кого
нет инета. А с другой стороны, автор на своем сайте
отслеживает все замечания по коду, по функциональности
и там всегда можно взять самые свежие версии примеров и
утилит. И тем самым Вы можете оценить и ширину, и глубину
рассматриваемых в книге вопросов до ее покупки :)
Ну а теперь, а как понимаю Вас интересует - может ли эта
книга заменить книгу Рихтера или Вильямса и даже Руссиновича.
И да, и нет. Харт в какой-то мере по сравнению с первыми
двумя - более обзорен (в лучшем смысле этого слова)
и наиболее полный в плане рассмотрения интерфейса ядра.
Вильямс, мне кажется более полезен, когда нужно найти
_понимание_. Рихтер же ближе к учебной литературе. Хотя с моей
точки зрения, он лучший, только потому - что нет
альтернативы :( Но эти книги не 3 альтернативы - это 3 дополняющие
друг друга вещи. Поэтому с какой из этих трех книг начинать,
зависит от базовых знаний читающего и от предпочтения способа
познавания, о которых я говорила в предыдущей ворчалке.
Что касается Руссиновича - то это совершенно
друга опера, и о нем я поворчу в одном из следующих
выпусков.
~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~
Змей:
З> Книга примерно о том же, что и Рихтер. Однако
З> значительно меньшего объема - 450 страниц. Это
З> создает своеобразный эффект: если Рихтера просто
З> страшно открыть - объем подавляет, то книга Харта
З> открывается значительно легче - нормально
З> воспринимаемое количество страниц.
З> Правда, если Рихтер продается с сидельником, то Харт
З> - нет. И конечно, пока никто не исследовал Харта
З> детально на предмет ошибок (а Рихтера, как известно,
З> посмаковал Крис Касперски в одном из номеров журнала
З> Прграммист - есть сайт, можно почитать).
З> Книжка оставляет впечатление чисто практической,
З> без всяких теоретических изысков-объяснений про
З> операционные системы. Примеры - "чисто конкретные"
З> и их достаточно много. Какая-нибудь типичная
З> программистская нужда тут же и примером подкрепляется
З> и тут же на нем и объясняеьтся. Все примеры - на С с
З> использованием, конечно, всех окошных имен типов,
З> событий, ошибок, констант и т.д. Примеры небольшого
З> объема - нет ни одного, занимающего более 2 страниц.
З> Но при этом достаточно детально описываются функции API,
З> которые в примере используются.
З> Что приятно - в конце каждой главы краткое резюме и
З> упражнения, что мне, как преподавателю, нравится.
З> А теперь - содержание, очень похожее на Рихтера.
З> 1. Ознакомление с Win32 и Win64. Здесь даются
З> основы окон всех номеров и Win32, хотя глава
З> небольшая. Приводится пример программы копирования
З> файлов аж тремя способами (не GDI).
З> 2. Использование файловой системы и символьного вывода
З> Win32. Все - про азы АРI файловой системы. Примеров
З> аж 5 штук. Например, вывод на консоль и приглашение,
З> преобразование ASCII в UNICODE, копирование нескольких
З> файлов на стандартное устройство вывода, вывод имени
З> текущего каталога.
З> 3. Дополнительные методы работы с файлами и каталогами и
З> реестр. Примеры: просмотр хвоста файла, атрибуты файлов,
З> получение списка разделов реестра и их содержимого.
З> Есть параграфы стратегии обработки файлов, блокировка
З> файлов, управление реестром.
З> 4. Структурная обработка исключений. 4 примера.
З> 5. Безопасность объектов Win32. 4 примера
З> 6. Управление памятью, отражаемые (так написано переводчиком!)
З> в память файлы, динамические библиотеки. 5 примеров.
З> Про динамические библиотеки - все есть, несмотря на
З> небольшой объем главы - 35 страниц вместе с резюме и упражнениями.
З> Далее 5 глав посвящены классике операционных систем:
З> процессам и взаимодействию процессов.
З> 7. Управление процессами. Здесь вся классика о процессах
З> и тредах (их называют потоками, но я предпочитаю термин
З> "тред"). 3 примера, один из которых "параллельный поиск
З> по образцу", другой - "простое управление заданиями".
З> 8. Потоки и планирование. Это немного теории, как она сделана
З> в окошках. Но и тут есть пример: многопоточный поиск по образцу.
З> В этой главе описаны "нити". С терминологией в окошках - беда.
З> У Рихтера это называется "волокна" (!!!!!). То есть, в рамках
З> одного потока можно запускать параллельные процессы.
З> Но о терминологии можно спорить долго, поэтому не будем,
З> тем более - не Харта это вина.
З> 9. Синхронизация потоков
З> 10. Дополнительные методы синхронизации потоков
З> 11. Межпроцессное взаимодействие
З> В этих трех главах - все о механизмах организации в окошках
З> "взаимодействия последовательных процессов" (статья Дейкстры,
З> первым придумавшего семафоры. Он, к сожалению, умер в августе
З> в возрасте 72 лет. Пусть земля ему будет пухом).
З> Тематику следующих глав я знаю плохо, поэтому просто перечисляю.
З> 12. Сетевое программирование с помощью WinSock.
З> 13. Службы NT (30 страниц)
З> 14. Асинхронный ввод-вывод и порты завершения.
З> 15. Удаленные вызовы процедур и СОМ: обзор.
З> 16. Программирование в Win64 - это очень обзорно, но основные
З> проблемы перехода с Win32 на Win64 все обозначены.
З> 3 приложения:
З> Использование примеров программ - все примеры можно получить
З> с сайта издателя Издательский дом "Вильямс".
З> Сравнение функций Win32, UNIX и библиотеки С - приведены
З> сравнительные таблицы наличия и отсутствия функций по главам.
З> Результаты измерения быстродействия - приводятся срвнительные
З> таблицы производительности нескольких примеров на нескольких
З> конфигурациях.
З> В библиографии Рихтер есть.
З> Общее резюме: книжка прекрасно подходит начинающим
З> программистам-форточникам. Но опыт предыдущей работы должен
З> быть серьезный. Например, программирование в других ОС
З> с использованием их API. Читать много легче Рихтера - без
З> ненужного углубления в детали, а вся существенная информация
З> есть. Рихтера надо читать после Харта.
~*~~*~~*~~*~~< А теперь разминка для рук >~~*~~*~~*~
- Тематика этой книги не интересует
mailto:vorchunia@mail.ru?subject=Hart_UNINTEREST
- Тематика интересует, но эту книгу читать не буду
mailto:vorchunia@mail.ru?subject=Hart_NOTREAD
- Решил прочитать
mailto:vorchunia@mail.ru?subject=Hart_READ
- По возможности прочту
mailto:vorchunia@mail.ru?subject=Hart_MAYBE
- Читал и согласен во основном
mailto:vorchunia@mail.ru?subject=Hart_AGREE
- Читал, в чем-то согласен, в чем-то нет
mailto:vorchunia@mail.ru?subject=Hart_YESNO
- Читал и категорически не согласен
mailto:vorchunia@mail.ru?subject=Hart_WRONG
- Читал и хочу дополнить
mailto:vorchunia@mail.ru?subject=Hart_OPINION
С уважением,
Ворчуния Ворчащая vorchunia@mail.ru
~*~~*~~*~~*~~*~~*~~*~< 2002-09-30 >~*~~*~~*~~*~~*~~*~~*~ `
`
`
| http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
| В избранное | ||
