Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Бесплатная браузерная игра «Слаймы Атакуют: Головоломка!» в жанре головоломка. Подходит для мальчиков и девочек, доступна без регистрации, на русском языке

Слаймы Атакуют: Головоломка!

Казуальные, Головоломки, Аркады

Играть

Топ прошлой недели

  • charlesrus charlesrus 7 постов
  • Animalrescueed Animalrescueed 55 постов
  • Denk13 Denk13 6 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
15
Аноним
Аноним
23 часа назад
Книжная лига

Вёрстка уродует текст⁠⁠

Всё как в той цитате "Ты должен был бороться со злом, а не примкнуть к нему".
Примерно год я верстаю художественную литературу и начинала со своих книг. Потом кому-то понравилось, как я украшаю вёрстку и понеслась.
Сейчас я уже организовалась как самозанятая и так как ещё зелена выставила невысокую цену: 250 руб за авторский лист (40000 знаков с пробелами, кому интересно). Начала брать небольшие заказы. Естественно никакие журналы и научную литературу я пока не верстаю. А вот художественную - пожалуйста.
Понятно, что до того, как брать заказы я тренировалась на своих же книжках, потом смотрела, как их отпечатают в типографии и делала выводы. За курсы я не платила, перебилась набором лекций из ютуба, а также несколькими профильными книгами. Нашла методичку по правилам вёрстки и проштудировала её.

Но вот с чем я столкнулась пока работала. Читаешь правило, запоминаешь, потом открываешь несколько популярных книг крупного издательства и... правило там не работает. Вот и слово перенесли с нечётной на чётную, вот и орава однобуквенных предлогов с правого края, и предложение начинающееся со слова, от которого в конце строки осталось две буквы, а остальное перенос. Т.е. я делаю вывод, что все верстают кто в лес кто по дрова.

Да, есть всё-таки то, чего придерживаются абсолютно все:

Единообразие (верстать книжку с разными отступами и разным шрифтом в одном абзаце моветон, и читатель тебе за это спасибо не скажет)

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

Я от всей души не понимаю тонну абсолютно, на мой взгляд (ни в коем случае в свою веру инакомыслящих не посвящаю), глупых правил, о которых даже читатели не знают.
Ну было полно вёрсточных ошибок в Восхождении Фениксов и что? Мне от этого книга не перестала нравиться и читать мне ее было не сложно. Даже так скажу, когда я начинала её читать, я ещё не знала о правилах, и всё было гуд. Закончила, когда изучила скелет, и... И я уверена, что кроме меня, никто больше эти ошибки даже не заметил. Обычным читателям на ерунду вроде буквы "и" в конце строки наплевать.

И этим постом я взываю к книжным верстальщикам. У вас такие же муки? Вас тоже терзает вопрос "зачем", когда нужно изуродовать текст, чтобы избавиться от пресловутой висячей строки?

Показать полностью
Верстка Книги Верстальщик Правила Строки Буквы Текст
7
4
aloiserenn
aloiserenn
3 месяца назад

Баллада преданной мечты⁠⁠

О чем?
Баллада о человеке, который предал свою мечту, а потом стал винить её в предательстве. Он вернулся к ней — но она уже не та… или он сам стал другим. Через метафоры войны, боли и разочарования, герой сталкивается с тем, что мечта — не живая. Её не вернуть, не обвинить, не обнять. Она была отражением его веры. И теперь, в пустоте, он говорит не с ней — а с собой. Сломанный, но честный.

Прошу обратной связи, если кого ни будь заинтересует.

О, Обернись же, ты!

[I. Кислота чувств]

Я бы окунулся в кислоту чувств твоих,
Но ты лишена их.
Безмолвная тоска моя
Смотрит в бездну твою —
И шепчет:
«Забери меня домой… во мрак.»

Ждать ли мне чуда,
Если каждый шаг — по шипам?
Странник сказал — ты далеко.
И не попасть мне в твой дом,
В очаг объятий,
И я уж сам — не тот… кем бы ни стал впереди.

[Припев]

О, обернись же ты!
Не видишь, как сжирает тоска?
Что прикажешь мне?
Душу вырвать с сердцем?
Я в окопах войны,
Где давно погасли огни.
Я один — солдат,
Вокруг смрад… да крови, боли.
Хватит ли сил поднять голову?
О, обернись же ты…
Посмотри, кем стали мы.

[II. Повтор забытья]

Я бы снова шагнул в кислоту чувств твоих,
Но ты всё так же — бездушна.
Тоска моя вновь
Смотрит в бездну твою —
И шепчет:
«Забери меня домой… обратно»

Где же чудо?
Шаг за шагом — всё тот же шипастый путь.
Странник сказал: ты — недосягаема.
Мне не вернуться в объятья твои.
И я далёк…
Пусть даже внешне — тот же.

[Припев]

О, обернись же ты!
Тоска кричит, не слышишь?
Что прикажешь мне,
Коль сердце мертво с душой?
Я остался один,
Среди гнили, страха и мрака,
Всё тот же солдат.
Лишь шрамы — мой щит.
Хватит ли сил?..
О, обернись…
Посмотри, кем стали мы.

[III. Финал — Пепел надежды]

Уж помнишь ли ты, кем мы были?
Ты — мой свет, моя вера, моя мечта.
Смиренным ты в путь меня отправила,
Пообещав:
«Вернись тем, кем уходил.»

И вернулся я.
Тем самым.
Но не узнал тебя.
Ты — с другим…
С другим лицом.
Не той, что звала.
И я стою,
Сломанный, но живой.

О, обернись же ты…
Может, узнаешь…
Вопреки.

Показать полностью
[моё] Баллада Строки Текст Длиннопост Стихи
0
4SPHYX1A
4SPHYX1A
8 месяцев назад

Разбираемся вместе: строки в golang⁠⁠

Один из постов серии «Разбираемся вместе«: представляет из себя разбор определенной темы лично мной в целях улучшения понимания и возможно, получения фидбека от более опытных людей.
* Этот пост в совокупности с комментариями может помочь кому-то лучше понять разбираемую тему или сделать более подробный разбор на базе него.
* Этот пост не служит инструкцией, курсом или документацией, где гаранитируется 100% достоверная информация по озвученной теме — автор учится сам, так что ошибки возможны.

Строка (string) — это базовый (basic) тип данных, который представляет из себя неизменяемую последовательность байт, представленных в кодировке UTF-8.

Строки должны быть заключены в двойные кавычки.

  • Одинарные же кавычки представляют отдельный символ, который в Go представлен типом rune (псевдоним int32).

str := "A"

fmt.Println(str) // Выводит A

char := 'A'

fmt.Println(char) // Выводит 65 — символ это в первую очередь код Unicode

Про кодирование строк

Unicode — это стандарт, который определяет уникальные коды для каждого символа, независимо от используемой системы или языка.

  • Unicode — это также система кодирования символов, которая включает в себя огромный набор символов, каждый из которых имеет свой уникальный код. Эти коды называются Unicode code points.

UTF-8 (8-bit Unicode Transformation Format) — это один из способов (или схем) кодирования символов Unicode в последовательности байт.

  • Это позволяет эффективно хранить символы в памяти и передавать их по сети.

  • При кодировании в формате UTF-8 каждый символ может занимать от 1 до 4 байт, в зависимости от его позиции в стандарте Unicode.

  • Символы из ASCII (U+0000 до U+007F) кодируются одним байтом.

  • Символы из более широких диапазонов Unicode (например, кириллица, китайские иероглифы, эмодзи) могут занимать 2, 3 или 4 байта.

Индексация строк

Индексация строки по умолчанию работает с байтами, а не с символами.

  • При обращении по индексу,  возвращается тип byte.

  • Это отлично работает для символов ASCII, которые занимают 1 байт.

  • Для символов других алфавитов (например, кириллицы) через индексацию возвращается только первый байт, что может вызвать искажения при выводе символов.

Подробнее

Символы английского алфавита (символы ASCII) занимают 1 байт пространства.

  • то есть числовое представление символа ASCII, его код Unicode, умещается в 1 байт.

Поэтому каждый отдельный символ ASCII (вернее его код) можно получить через индекс.

s := “string”

fmt.Println(s[0]) // Выводит 83 — код символа в Unicode тип byte

fmt.Println(string(s[0])) // Выводит s — символ алфавита тип string

  • Делается каст типа byte в строку, чтобы привести символ в человекочитаемый вид.

Символы других алфавитов (или эмодзи) могут занимать более 1 байта. Поэтому через индекс нельзя получить полностью код Unicode. Вернется лишь значение первого байта.

  • Например, символы кириллицы занимают 2 байта пространства — числовое представление символа кириллицы, его код в Unicode не вмещается в 1 байт, поэтому происходит разделение на 2 байта.

s := “Привет”

fmt.Println(s[0]) // вернет Ð — код непонятен для кодировки utf-8, так как первый байт символа содержит лишь часть кода Unicode

  • символ кириллицы занимает 2 байта, через индекс забирается только первый байт, что искажает целевой символ

  • если взять срез fmt.Println(s[0:2]) // возвращается П — забираются первые 2 байта, которые представляют из себя код и код автоматически декодируется в понятный человеку символ.

Как работать с символами строк

Чтобы корректно работать с символами, нужно преобразовать строку в срез типа []rune.

  • Срез []rune представляет строку как последовательность Unicode-кодов символов.

s := “Привет”

runes := []rune(s)

fmt.Println(runes[0]) // 1055 (код символа П в Unicode)

fmt.Println(string(runes[0])) // каст кода П в строку


  • теперь каждый символ кириллицы правильно переведен в тип rune, что представляет код Unicode

Длина строки

Так как строки в Go представлены как последовательность байт, и их длина измеряется в байтах.

Если передать строку в функцию len(s), функция вернет размер строки в байтах.

Каждый отдельный английский символ (ASCII) занимает 1 байт памяти и размер строки в байтах включающий только ASCII символы будет равен длине строки.

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

Для того чтобы получить количество символов (вместо байтов), можно использовать пакет unicode/utf8.

import “unicode/utf8”

s := “Это строка”

fmt.Println(len(s)) // 19

fmt.Println(utf8.RuneCountInString(s)) // 10

Еще один способ получить длину строки (количество символов) это сделать каст строки в срез с элементами типа rune.

s := “Это строка”

fmt.Println(len([]rune(s))) // 10

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

Литералы строк

Литерал — это фиксированное значение, напрямую указанное в исходном коде программы.

Литерал представляет собой синтаксическую конструкцию, которая интерпретируется компилятором или интерпретатором как экземпляр определённого типа данных.

  • С помощью литерала компилятор или интерпретатор понимает, с каким типом данных работает, анализируя его синтаксическое представление (например, кавычки для строк, числовой формат для целых и вещественных чисел, фигурные скобки для коллекций и т.д.).

Литерал строки — это текст в исходном коде программы.

  • Кавычки, которые окружают литерал строки, — это синтаксическая часть языка Go, они нужны для обозначения строки.

  • С помощью двойных кавычек, компилятор golang поймет, что он работает со строкой.

  • Если в значении строки требуются двойные кавычки (например, для цитаты), их нужно явно указать и экранировать в самом литерале строки.

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

Управляющие символы

Для форматирования строк и работы с особыми символами в Go используются управляющие символы.

Управляющие символы начинаются с обратного слеша (\), за которым следует другой символ, определяющий их действие.

  • Они используются для добавления специальных символов, которые невозможно напрямую ввести в строку, либо для экранирования тех символов, которые иначе воспринимались бы как часть синтаксиса.

Примеры управляющих символов в Go:

  • \n — перевод строки

  • \t — символ табуляции

  • \f — подача страницы

  • \\ — обратный слеш

  • \" — экранирование двойной кавычки

  • \' — экранирование одинарной кавычки

Многострочная печать

Размещение строк в нескольких рядах делает текст более понятным и упорядоченным, позволяет форматировать его как письмо или сохранить разрывы строк в стихотворении или тексте песни.

Для создания строк, отображаемых на нескольких рядах, их нужно заключить в обратные апострофы.

  • В строках, заключенных в обратные апострофы, не требуется экранировать символы. Например, символы \ или кавычки (") можно использовать без обратного слэша.

Такие строки называют "сырыми" (raw string literals), так как они сохраняют текст в его исходном виде без обработки управляющих символов.

text := `This is a

multi-line string.

It preserves line breaks and spaces.`

Конкатенация

Оператор + используется для соединения двух строк.

s1 := "Hello, "

s2 := "world!"

s3 := s1 + s2

fmt.Println(s3) // "Hello, world!"


Эта операция создаёт новую строку, которая является результатом соединения исходных строк.

  • Важно понимать, что строки в Go неизменяемы, поэтому при использовании операции + возвращается новое значение, а не изменяется одна из исходных строк.

Пакет strings

Встроенный пакет, который предоставляет функции для работы со строками в кодировке utf-8.

  • с полным набором функций можно ознакомиться в документации пакета, тут разберем некоторые

strings.Contains()

Эта функция проверяет, содержится ли подстрока в строке.

  • Возвращает true, если строка найдена, и false — если не найдена.

import "strings"

s := "hello world"

fmt.Println(strings.Contains(s, "world")) // true

fmt.Println(strings.Contains(s, "go"))  // false

strings.ToUpper() и strings.ToLower()

Эти функции позволяют преобразовать строку в верхний или нижний регистр.

import "strings"

s := "Hello"

fmt.Println(strings.ToUpper(s)) // "HELLO"

fmt.Println(strings.ToLower(s)) // "hello"

strings.Trim()

Функция strings.Trim() позволяет удалить указанный вторым параметром символы с начала и конца строки.

import "strings"

s := "  Hello, world!  "

fmt.Println(strings.Trim(s, " ")) // Выведет "Hello, world!"

strings.TrimSpace()

Можно также использовать strings.TrimSpace(), чтобы удалить только пробелы.

strings.Split()

Функция strings.Split() разделяет строку на подстроки по заданному разделителю и возвращает срез строк.

import "strings"

s := "a b c d"

result := strings.Split(s, " ")

fmt.Println(result) // [a b c d]

strings.Join()

Функция strings.Join() объединяет срез строк в одну строку с заданным разделителем.

import "strings"

slice := []string{"a", "b", "c", "d"}

result := strings.Join(slice, "")

fmt.Println(result) // "abcd"

strings.Replace()

Эта функция позволяет заменить все или ограниченное количество вхождений подстроки в строке на другую строку.

import "strings"

s := "hello world"

result := strings.Replace(s, "world", "Go", -1)

fmt.Println(result) // "hello Go"

  • -1 все вхождения

range

range — это ключевое слово для перебора коллекций в цикле.

При каждом проходе цикла range возвращает два значения:

  • индекс начального байта символа строки

  • индекс элемента (массив или срез)

  • ключ при работе с картами

  • и затем соответствующее значение из коллекции.

Со строками ключевое слово range используется для итерации и извлечения каждого символа (rune) из строки.

  • Это позволяет корректно обрабатывать многобайтовые символы в строках.


s := "string"

for i, r := range s {

fmt.Printf("%d: %c\n", i, r)

}

  • В этом примере i — это начальный индекс байта в строке, а r — это сам символ (rune).

fmt.Sprintf()

Аналог fmt.Printf(), но результат сохраняется в строку, а не выводится в консоль.

str := fmt.Sprintf("Hello, %s!", "world")

fmt.Println(str)

Показать полностью
[моё] Golang Строки Обучение Разбор Разбираемся вместе Программирование Текст Длиннопост
0
Промо Забустить свой пост
specials
specials

Время прогревать аудиторию!⁠⁠

Сентябрь — это не только начало учебного года, но и время активной подготовки к горячему сезону распродаж. Самое время подключить подписку Пикабу+:

  • рассказывайте о своих товарах и услугах

  • добавляйте ссылки

  • создавайте витрину товаров прямо в профиле

  • подключайте дополнительное продвижение постов

Пора готовить сани!

ПОДКЛЮЧИТЬ ПИКАБУ+

Подписки Аудитория Продвижение Бизнес Текст
6
user7788906
user7788906
11 месяцев назад

Стекло волос⁠⁠

Белеет парус одинокий.

Не парус – облако в штанах.

И глупый пингвин толстобокий,

И гроб хрустальный на цепях.

И эти жёлтые ботинки

Во глубине сибирских руд...

Я проиграю в поединке –

Там призраки живут...

Гуляет день по тротуарам.

Не буду больше молодым...

– Скажи-ка, дядя, ведь недаром

Твоих волос стеклянный дым?..

– Не сыпь мне соль, прошу, на рану.

И без того болит она...

На кухне мама мыла раму.

И ухмыляется луна...

Показать полностью
[моё] Стихи Компиляция Классика Слова Строки Текст
0
14
user7788906
user7788906
11 месяцев назад

Воспоминание⁠⁠

Я помню чудное мгновение :

Я вышел из лесу в мороз,

Как – мимолётное видение:

Лошадка, хворост, мальчик, воз.

Мороз и солнце. День чудесный.

Следы неведомых зверей.

И гордо реял буревестник.

Русалка в зарослях ветвей...

У пацана семья большая,

Но сам он – ровно с ноготок.

Отец рубил, лес оглушая.

А дядя, честно, занемог.

И падали два башмака,

И – только чёрные подковы,

И воск горячий с ночника.

Увы, мой друг, ничто не ново.

Мы все уходим понемногу.

Аптека. Улица. Фонарь...

День пролетел. И слава Богу.

Свеча горела весь февраль...

Показать полностью
[моё] Саморазвитие Память Поэзия Компиляция Слова Строки Текст
6
0
MaZDoK201
MaZDoK201
1 год назад

Берег⁠⁠

Шум прибоя глушили все остальные звуки. Тяжёлое дыхание мужчины на берегу потихоньку успокаивалось, хоть пульс ещё набатом стучал в висках но расееный взгляд разглядывал крупные песчинки на дрожащих руках. Ветерок играл мокрыми локанами волос но парень не обращая внимание на песок в волосах не мог отойти от последнего заплыва.
Накануне этого дня. Вечер обещал приятное общение с новой знакомой. Беззаботное общение и пару танцев в набережном кофе намекали на теплое продолжение общения. Как всегда в прибрежных небольших городах они со смехом и шутками разложились на берегу теплого моря. Скоро закат, а открытое вино обещело дополнительные грани нежности. Ее игривые изгибы пянили по больше выпитых коктейлей. Ну а глаза искрились загадочнее звёзд. Он ощущал как закипает внутри него страсть, девушка же чувствуя его желание, играла с ним весь вечер. Случайные касание, чуть томнее вздох и эти паузы в разговоре, да просто как она на него смотрела сводило все мысли на ней. И вот последние лучи солнца задержавшись на горизонте на краткий миг, скрылись в море. Оставив пустынный берег на попечительство луны. Диск холодного светила пускал серебренную дорожку на прибрежных волнах, искрился тысячями отражений пене прибоя. Он и не заметил как с уходом солнца затиха и их беседа. Словно опомнившись парень потянулся к бутылке, что бы долить в бакалы. Но она плавно перехватив ее руку подвела к своем жарким губам и не сводя с него взгляда поцеловала ее. В следующий момент, девушка проворно встав сделав пару стремительных шагов к морю. Обернувшись в пол оборота следя за его реакций, она плавно пошла к воде. У него перехватило дыханье, насладившись грацией идеальной красавицы, он поднялся за ней. Она же, дойдя то кромки воды неуловимым движением расстегнула застежку и словно в каком-то фильме, лёгкое платье невесоммо соскользнуло с ее тела. Лёгкое чувство не реальности этого момента заставил его сбиться с шага. Она же наделив его взглядом с вызовом сделала пару быстрых шагов, нырнула в темные воды моря. Потеряв несколько секунд на то что бы скинуть сандали и шорты, он поспешил к месту ее погружения. Зайдя по пояс он начал высматривать ее вокруг. Пока в пяти метров глубже не услышал ее весёлый смех. Она выглядывала над водой с интересом его рассматривала. Не объяснимо но находясь в воде его горло пересохло. Лунная дорожка на воде отражалась в нее глазах словно у хищника. Ее кисть нетерпеливо поманила его, но вязкий страх сковал его тело. Миниатюрные и утонченные пальчики сейчас, играя тенями и отражениями казалось обладали приличными когтями. В попытке отшагнуть парень почувствовал, как что то бысрое проскользнула рядом с его ногой. От неожиданности оступившись он упал в воду. Вода словно кисель с жадностью обхватила тело. Он с необъяснимым страхом он попытался тот же миг вскочить, но нащупав дно ногой его вторая нога зацепилась за что-то мягкое. Это что то обхватив его ступню потянуло его в сторону. Панический крик под водой лешил его большей части воздуха в лёгких. Поток воронкой закрутил его тело неожиданно остановился и он отчётливо увидел перед собой золоченный песок. Оттолкнувшись от песчаного дна парень всплыл. Яркое солнечный свет ударил его по глазам. Оглядевшись вокруг, ощутил очередное потресенье. В небольшом отдалении от него был небольшой скалистый остров с песчаной бухтой. Со всех сторон обмываемый без крайней водой пустыней.
Справившись с волнением, парень справился с прибоем вышел на пустынный берег. Смотря на голый скальник парень побрел по бухте. В какой-то момент нащупав ногой какой-то твердый предмет. С неожиданной для себя дрожью он достал из песка крупную кость. Сразу же бросив внимательный взгляд на песок в бухте, к нарастающей панике отметил по всюду обилие костных остатков...

Показать полностью
[моё] Строки Зарисовка Текст
2
AlexKonstantin
1 год назад

Игорь Федорович Летов (с одним добавлением)⁠⁠

Когда я умер, небыло никого, кто-бы это опроверг. Я был.

Строки Писательство Чувства Лирика Поэзия Стихи Текст
1
7
Вопрос из ленты «Эксперты»
PartizanDa4nik
1 год назад

Грибы пошли?⁠⁠

Грибы пошли?

Фото старое, но так, для понимания, ещё не собирал, времени нет, но по обочинам вижу когда домой еду. Саркосцифа пошла уже неделю назад(та что в центре) а строчки увидели мелкие только два дня назад. Как у вас с грибами и кто их как готовит? У меня Рузский район, ближе к Дорохово, Подмосковье. Я строчки обычно вымачиваю пару дней потом жарю и тушу в сметане, они очень сочные и вкусные! Саркосцифу невзлюбил, на мой взгляд мелкая и мусорная, жестковатая и чистить устанешь, хотя к её чести будет сказано - ешь хоть сырую.

Показать полностью 1
[моё] Грибы Строки Вопрос Спроси Пикабу
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии