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

Расслабьтесь и отдохните: игра без ограничений по времени.

Проверьте свою смекалку: головоломка для любителей

Блоки Судоку - расслабляющая головоломка

Головоломки, Гиперказуальные, Мобильная

Играть

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

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

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

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

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

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

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

Javascript + Программирование

С этим тегом используют

IT HTML IT юмор Программист Frontend CSS Разработка Python Картинка с текстом Юмор Все
680 постов сначала свежее
5
FrankyBob
FrankyBob
5 дней назад

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги⁠⁠

Привет, Пикабу! Хочу рассказать историю о том, как обычный айтишник без особых знаний фронтенда создал довольно полезное веб-приложение, используя силу искусственного интеллекта. Спойлер: коллеги были удивлены.

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Начальный экран приложения (прелоадер)

Завал задач и поиски спасения

Итак, дело было так. Очередной завал на работе, куча задач, мозг кипит. Вспомнил про технику Помодоро — это когда работаешь 25 минут, потом 5 минут отдыхаешь. Простая штука, но реально помогает не выгорать.

Полез искать нормальный таймер в интернете и... знакомая история:

  • Либо убого простые

  • Либо перегруженные фигнёй

  • Либо на английском

  • Либо платные

  • Либо ещё регистрацию просят

В общем, типичная ситуация: "Да я сам лучше сделаю!" Но проблема в том, что фронтенд я знаю на уровне "поменять текст на странице через консоль разработчика до перезагрузки".

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Вспомнил про хайповую штуку

Тут я вспомнил про так называемый "вайб-кодинг" с нейросетями. Да, знаю, что многие к этому относятся скептически, но решил попробовать. Открыл Claude и написал примерно так:

"Старина, сделай мне HTML-страничку с таймером Помодоро. Нужно: таймер на 25 минут, задачи можно добавлять, статистика какая-нибудь и чтоб пикал когда время вышло."

И тут началось волшебство! Claude выдал мне полноценный рабочий прототип. Причём не просто "Hello World", а реально функциональную штуку😉:

  • Нормальным таймером

  • Возможностью добавлять задачи

  • Статистикой

  • Звуками

Меня понесло

Ну и дальше меня, конечно, понесло:

  • А можешь добавить сохранение в Local Storage?

  • А сделай звуки покруче

  • А перекрась вот это в зелёный

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

  • А мобильную адаптивность

Claude всё это выполнял как послушный джуниор! За час у меня был готов довольно приличный таймер.

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Внешний вид приложения (начальной версии не осталось, к сожалению, показываю конечный результат)

Реакция коллег

Показал результат фронтенд-разрабам на работе со словами: "Смотрите, что я за час накатал, вообще без знаний!"

Их реакция:

  • 😳 (удивление)

  • 🤔 (изучают интерфейс)

  • 😯 (ещё больше удивления)

  • Нефига себе, ништяк получилося! Реально работает!

Решил довести до ума

После такой реакции подумал: "А почему бы не довести это до продакшена?" И понеслось...

Сейчас можете посмотреть результат: pomo25.ru

Что в итоге получилось:

Для тех, кто хочет настроить под себя:

  • Настраиваемые интервалы (любое время, какое хочешь!)

  • 10 типов звуков + можно загрузить свой

  • Ручное сохранение настроек

  • Push-уведомления в браузере

Для обычных людей:

  • Добавляешь задачи и следишь за прогрессом

  • Видишь статистику: сколько помидорок сделал

  • Не забываешь делать перерывы

  • Задачи сохраняются автоматически

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Запуск таймера для добавленной задачи, длительностью 1 час

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Настройки приложения

Про дизайн (не кидайтесь тапками)

Отдельно про дизайн. Да, я знаю, что он специфический. Это не потому что у меня нет вкуса (хотя может и нет 😅), а потому что я специально попросил Claude сделать что-то в стиле киберпанка 90-х.

Получилось ярко, кислотно, с неоновыми цветами и пиксельными эффектами. Возможно, не всем зайдёт, но зато запоминается!

Телеграм-версия

Потом решил пойти дальше и сделал версию для Телеграма: @pomo25_bot

Плюсы:

  • Данные синхронизируются через облако Телеграма

  • Уведомления приходят от самого Телеграма

  • Работает на телефоне как нативное приложение

Минусы:

  • Не работает в фоне (об этом ниже)

Как я с помощью ИИ за час собрал Помодоро-таймер, который заюзали коллеги Искусственный интеллект, Нейронные сети, Gemini, Таймер, Веб-разработка, Программирование, Javascript, HTML, Продуктивность, IT, Разработка, Прототипирование, Эксперимент, Технологии, Автоматизация, Работа, Образ жизни, Длиннопост

Приложение в Telegram

Проблема с фоновой работой

Единственное, что не смог победить — работу в фоне на мобилках.

Проблема в том, что:

  1. Телеграм Web Apps работают в WebView

  2. При сворачивании приложения WebView приостанавливается

  3. JavaScript перестаёт выполняться

  4. Service Workers в WebView работают криво

  5. iOS вообще жёстко блокирует фоновые скрипты

В итоге при сворачивании таймер автоматически ставится на паузу. Для полноценной работы в фоне нужно было бы нативное приложение.

Опыт работы с нейросетями

Claude: король прототипирования

В начале Claude был просто космос:

  • Быстро понимает что нужно

  • Генерирует рабочий код

  • Хорошо итерируется

  • Не задаёт лишних вопросов

Но потом начались проблемы

Когда проект разросся, Claude начал путаться:

  • Исправляет одно, ломает другое

  • Забывает контекст больших файлов

  • Приходилось делать бэкапы в гите постоянно

Попробовал ChatGPT — ещё хуже! То ли ленился и отвечал "попробуйте перезагрузить страницу", то ли чинил совсем не там, где надо, вообще не понимая что происходит в коде.

Gemini спас ситуацию

Тогда попробовал новый Gemini (у него миллион токенов контекста). И охренел!

Gemini смог:

  • Прочитать ВЕСЬ проект целиком

  • Найти реальные причины багов

  • Переписать проблемные части

  • Почистить код от мусора


Реальная польза

Сейчас пользуюсь своим таймером каждый день:

  • Реально стал делать перерывы (раньше мог 3 часа сидеть не вставая)

  • Лучше планирую время на задачи

  • Меньше выгораю от сложных задач

  • Коллеги тоже подсели, просят фичи добавить, но я пока просто собираю обратную связь и анализируюю насколько это будет сложно реализовать и внедрить

Мораль истории

Современные нейросети действительно могут сильно понизить порог входа в разработку. Даже если ты не знаешь React/Vue/Angular, можно создать полезную штуку.

Но есть нюансы:

  • Для прототипов ИИ идеален

  • Для больших проектов нужно понимать что делаешь

  • Разные ИИ лучше для разных задач

  • Git обязателен при работе с ИИ

Итог

За час собрал рабочий прототип, потом пару недель в свободное время фиксил баги и боролся с нейросетями. В итоге получился реальный продукт, которым пользуются люди. Нейросети — не панацея, но инструмент мощный.

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

Кто-то ещё экспериментировал с ИИ-разработкой? Поделитесь в комментах!


P.S. Если найдёте баги или будут идеи, пишите. Обратная связь очень ценна!

UPD: Забыл добавить — если кто захочет посмотреть, что получилось: pomo25.ru и @pomo25_bot в Телеграме!

Показать полностью 5
[моё] Искусственный интеллект Нейронные сети Gemini Таймер Веб-разработка Программирование Javascript HTML Продуктивность IT Разработка Прототипирование Эксперимент Технологии Автоматизация Работа Образ жизни Длиннопост
5
3
lineage2js
lineage2js
7 дней назад
ИТ-проекты пикабушников

Баг или фича?⁠⁠

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект


При добавлении SoulShot функционала не добавил проверку не только на наличие оружия, но и кто атакует — игрок или NPC. Как итог теперь все атакуют с помощью SoulShot.

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью
[моё] Разработка Программирование MMORPG Lineage 2 Javascript Nodejs Видео Короткие видео
8
3
user10424664
user10424664
13 дней назад

Как переносить «висячие» слова на новую строку с помощью JavaScript⁠⁠

Как переносить «висячие» слова на новую строку с помощью JavaScript Разработка, Программирование, Javascript, Типографика, Uxui, Ui, Ux, Frontend, Верстка, IT, Программист, Telegram (ссылка), Длиннопост

изображение сгенерировано в ChatGPT

В типографике существует понятие “висячих слов” — это короткие слова (предлоги, союзы, местоимения), которые остаются в конце строки при переносе текста. Такие переносы нарушают удобочитаемость и эстетику текста. В русской типографике принято избегать переносов после коротких слов длиной 1-2 символа.

Решение проблемы с помощью JavaScript

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

// Перенос висячих слов

document.addEventListener('DOMContentLoaded', function () {

// 1. Находим все текстовые элементы, которые нужно обработать

const textElements = document.querySelectorAll('p, span, h1, h2, h3, h4, h5, h6, li, dt, dd');

// 2. Список предлогов и союзов, которые нельзя переносить

const prepositions = ['в', 'без', 'до', 'из', 'к', 'на', 'по', 'о', 'от', 'перед', 'при', 'через', 'для', 'с', 'у', 'и', 'а', 'но', 'да', 'или', 'либо', 'что', 'чтобы', 'как', 'когда', 'если', 'вы'];

// 3. Функция для обработки каждого элемента

textElements.forEach(element => {

// Получаем все текстовые узлы внутри элемента

const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);

const textNodes = [];

while (walker.nextNode()) {

textNodes.push(walker.currentNode);

}

// Обрабатываем каждый текстовый узел

textNodes.forEach(textNode => {

let text = textNode.nodeValue;

// Заменяем пробелы после коротких слов на неразрывные пробелы

text = text.replace(/(^|\s)([а-яё]{1,2})\s/gi, (match, prefix, word) => {

// Проверяем, есть ли слово в списке предлогов

if (prepositions.includes(word.toLowerCase())) {

return prefix + word + '\u00A0'; // \u00A0 - это неразрывный пробел

}

return match;

});

// Обновляем содержимое текстового узла

textNode.nodeValue = text;

});

});

});


Разбор кода по частям


1. Инициализация скрипта

document.addEventListener('DOMContentLoaded', function () {

Код выполняется после полной загрузки DOM-дерева страницы. Это гарантирует, что все элементы будут доступны для обработки.


2. Поиск текстовых элементов

const textElements = document.querySelectorAll('p, span, h1, h2, h3, h4, h5, h6, li, dt, dd');

Скрипт находит все основные текстовые элементы на странице: параграфы, заголовки, элементы списков и другие. Вы можете расширить этот список, добавив другие селекторы.


3. Список коротких слов

const prepositions = ['в', 'без', 'до', 'из', 'к', 'на', 'по', 'о', 'от', 'перед', 'при', 'через', 'для', 'с', 'у', 'и', 'а', 'но', 'да', 'или', 'либо', 'что', 'чтобы', 'как', 'когда', 'если', 'вы'];

Массив содержит наиболее распространённые предлоги, союзы и другие служебные слова русского языка, после которых нежелательны переносы.


4. Обход текстовых узлов

const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);

TreeWalker позволяет пройти по всем текстовым узлам внутри элемента, включая вложенные теги. Это важно, так как текст может содержать форматирование (, и т.д.).


5. Регулярное выражение для замены

text = text.replace(/(^|\s)([а-яё]{1,2})\s/gi, (match, prefix, word) => {

Регулярное выражение ищет:
· (^|\s) — начало строки или пробел (группа 1);
· ([а-яё]{1,2}) — слово из 1-2 русских букв (группа 2);
· \s — пробел после слова;
· Флаги gi означают глобальный поиск без учёта регистра.


6. Условная замена

if (prepositions.includes(word.toLowerCase())) {

return prefix + word + '\u00A0'; // \u00A0 - это неразрывный пробел

}

Если найденное короткое слово есть в списке предлогов, обычный пробел заменяется на неразрывный пробел (\u00A0). Это предотвращает разрыв строки между предлогом и следующим словом.


Результат работы

После выполнения скрипта текст “Я иду в магазин” не будет разорван на строки как “Я иду в” и “магазин”. Предлог “в” всегда останется на одной строке со следующим словом благодаря неразрывному пробелу.

Настройка скрипта

Вы можете легко адаптировать скрипт под свои нужды:
· Добавить новые селекторы в querySelectorAll() для обработки других элементов;
· Расширить список слов в массиве prepositions;
· Изменить длину слов в регулярном выражении с {1,2} на другое значение;
· Добавить обработку других языков, изменив диапазон символов в регулярном выражении.

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

P.S.: это JS решение иногда не во всех случаях срабатывает + бывают сложности с адаптивностью: на смартфонах может переносить совсем не так, как хотелось бы, текст может «уехать» за пределы контейнера, нужно будет «фиксить» эти моменты в CSS.


Разработчики, а как вы решаете вопрос переноса «висячих» слов?

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

Показать полностью 1
Разработка Программирование Javascript Типографика Uxui Ui Ux Frontend Верстка IT Программист Telegram (ссылка) Длиннопост
13
Партнёрский материал Реклама
specials
specials

Считаете себя киноманом 80 LVL?⁠⁠

Залетайте проверить память и сообразительность → Будет интересно

Киногерои Тест Текст
18
zinger111
15 дней назад

Ответ l.smirnov в «Пояснительная бригада: получаем банан»⁠⁠2

Поздравляю, вы написали хуевый код на Джаве )
Никогда такого не было пиздеж, каждый первый спициалист с скиллбокса не даст соврать и вот опять!
Ну все, Джава мертва, старый унылый кусок говна, пора выкидывать, ведь тупой рандом написал на ней говно...


Но давайте, раз уж мы тут ниибать специалисты, подумаем еще 2 минуточки, над этим ниибически ахуительным тезисом "ахахха язык_название_1 полнае гавно".
Попробуем так сказать в анализ, логику, экстраполяцию даже, не побоюсь этого сложного слова.

Можно ли написать говно на ЛЮБОМ языке?
Отвечает эксперт(я): ага, ващще изи. Ну тоесть гдето сложновато, так как некоторые языки и их инструментарий будут упорно препятствовать, но бля - была бы цель!

Хммммм, а можно ли написать красиво на ЛЮБОМ языке?
Опять отвечает иксперт(я): ну, это конечто блять уметь надо, но вообще - да!
Все языки существуют для решения определённых проблем.
Некоторые узкоспециализированны, и красивые решения там требуют таки навыков, понимания области применения, и опыта.
Но - сделать красиво, и местами элегантно - можно на любом языке. Даже (прости госпади) на Руби.

Я уже устал расписывать что тот же JavaScript (над которым ржут тупорылые неумехи более десятка лет, и который конечно нонче более ускоспециализирован чем его, хммм, скажем для простоты терминов "старший брат" TypeScript) можно и "типизировать", и писать надежно, модульно, и даже красиво. БЫЛО БЫ УМЕНИЕ, ДА ЖЕЛАНИЕ. Да и php, второй по цитируемости в шуточкаж долбаебами язык - уже давно умеет и в типизацию, и вообще во все на свете. И позволяет создавать реально красивый код.
Но - поток идиотиков, сравнивающих вот эти пальцы (рдни языки) с жопами (другие языки), не разбирающихся ни в отм ни в другом - он блять неисчерпаем...

А по поводу конкретного примера из поста, на который я отвечаю - мне уже даже лень расписывать НАСКОЛЬКО чувак нихуя не понял ни в Джаве, ни в конкретно этой, простой в принципе иерархии классов, ни блять даже в самом ООП...

К чему я все это (ДА НЕ ПЕЧЕТ У МЕНЯ!11!!)?

Господа "шутники".
Имейте ввиду, что вы создаете негативный окрас языкам, в которых ничего не смыслите. Люди "снаружи" индустрии, да и просто те кто не очень разбирается - они же ж по этим шуточкам составят мнение, и понесут его в массы...

Вам не стыдно?

Показать полностью
[моё] Программирование IT Программист IT юмор Разработка Javascript Java PHP Мат Ответ на пост Текст
8
1078
l.smirnov
15 дней назад

Ответ на пост «Пояснительная бригада: получаем банан»⁠⁠2

PHP и Java

PHP, сравни жопу с пальцем!

PHP: жопа это не палец.

Java, сравни жопу с пальцем!

Java: я не знаю, что такое жопа, и что такое палец. Подключите библиотеки классов жопа и палец.

Ок, подключаю!

Java: не могу подключить классы жопа и палец, они наследуют свойства и методы класса "тело", а этот класс не подключен.

Ок, подключаю!

Java: не могу создать классы жопа и палец, подключенный класс "тело" имеет версию эволюции 13.5.3, и не поддерживает классы жопа и палец.

Гуглю, пытаясь понять, чем различаются верси тела 20.3.8 и 20.3.9, и в чем различие женского и мужского тела. Ок, подключаю новую версию класса тело!

Java: чтобы сравнить, создайте объект тело с объектами жопа и палец. Не хватает классов "голова, руки, ноги"!

Гуглю, подключаю голову, руки, ноги.

Java: жопа это палец!

Почему!???!

Java: жопа = объект, палец = объект, соответственно жопа = палец!

Программирование IT Программист IT юмор Разработка Javascript Java PHP Ответ на пост Текст
91
2563
thecodemedia
thecodemedia
16 дней назад

Пояснительная бригада: получаем банан⁠⁠2

Пояснительная бригада: получаем банан Программирование, IT, Программист, IT юмор, Разработка, Javascript

Комментирует редакция «Кода»:

У нас выражение на JavaScript. Начало переводится так: «Возьми букву b, соедини с буквой a, дальше…»

А дальше интересно. Смотрите на два плюсика в середине. Первый плюсик означает «сложи» или «соедини» — то же самое, что самый первый плюс в этом выражении.

А второй плюс — это унарный оператор, он преобразовывает следующую за ним строку в число. Следующая за ним строка — буква «a», это не число. Унарный оператор возвращает значение NaN — Not a Number, то есть «ожидал, что будет число, а это не число».

Получается baNaN.

Потом к этому добавляется ещё одна «a» по тому же принципу, что в начале. Получается baNaNa.

Дальше эту строку преобразовывают в нижний регистр с помощью .toLowerCase () и получается banana.

Подвох был в унарном операторе. То, что это именно он, со стороны не очевидно, потому что для нас это просто плюс. Но JavaScript смотрит на место этого плюса и понимает, что имелось в виду преобразование в число.

Показать полностью
Программирование IT Программист IT юмор Разработка Javascript
252
9
lineage2js
lineage2js
21 день назад
ИТ-проекты пикабушников

"Гарри Поттер" в Lineage 2⁠⁠

Привет. Я продолжаю разрабатывать сервер для Lineage 2 C1 на JavaScript Проект

"Гарри Поттер" в Lineage 2 Разработка, Программирование, Lineage 2, Javascript, Nodejs, Гарри Поттер, Gamedev

Копаясь в серверных файлах наткнулся на пасхалку.

На острове Talking Island Village в храме Einhasad есть два NPC, которые стоят рядом друг с другом и имеют имена Harrys и Petron.

У каждого NPC на сервере есть цифровой ID и текстовый ID.
Так, например, для Harrys(ID 7035) его текстовый ID - Harry, а для Petron(ID 7036) - Potter
Таким образом, если сложить их ID, получится - Harry Potter

npc_begin
guild_coach
7035
[harry]
level=70
...
npc_end

npc_begin

guild_coach

7036

[potter]

level=70

...

npc_end

Блог про разработку сервера для Lineage 2 в телеге https://t.me/lineage2js

Показать полностью
[моё] Разработка Программирование Lineage 2 Javascript Nodejs Гарри Поттер Gamedev
0
12
HellAnonim
HellAnonim
23 дня назад

Ответ на пост «Вам уже не стать разработчиком. Хайп IT мёртв, и рынок трещит по швам»⁠⁠2

Очень правильно написано. В IT нельзя идти за деньгами. В IT надо идти «по зову сердца». Потому что развиваться, учить что-то новое можно только в том случае, если тебе интересно этим заниматься. А учиться тебе придётся постоянно. Более 25 лет в IT, каждый год появляется что-то новое. Или "мода" на технологии меняется.

А если тебе интересно, тот всё, что нужно для работы можно реально найти в Интернете абсолютно бесплатно (даже в очень редких предметных областях).

И, как мне показалось, в последнее время в крупных компаниях появилась большая мода на стажёров, которые хоть и получают мало, зато имеют хорошие перспективы (если смогут себя показать, конечно).

Главное в IT состоит в том, что для того, чтобы 'начинать вкатываться", тебе не нужно сильных вложений. Только компьютер, Интернет и желание попробовать что-то новое.

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