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

Пикабу Игры +1000 бесплатных онлайн игр

Бросьте себе вызов в этой классической японской онлайн-игре. Цель — заполнить все пустые клетки цифрами от 1 до 9, которые не повторяются в каждой из 9 строк, столбцов и блоков. Играть в Судоку можно с телефона или ПК без регистрации.

Магия Судоку

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

Играть

Копай Дыру в России

Симуляторы, Приключения, Экшены

Играть
Модное кулинарное Шоу! Игра в ресторан, приготовление блюд, декорирование домов и преображение внешности героев.

Кулинарные истории

Казуальные, Новеллы, Симуляторы

Играть
Веселая аркада с Печенькой для новогоднего настроения. Объезжайте препятствия, а подарки, варежки, конфеты и прочие приятности не объезжайте: они помогут набрать очки и установить новый рекорд.

Сноуборд

Спорт, Аркады, На ловкость

Играть
Это увлекательная головоломка с большим количеством уникальных уровней.

Блок пазл. Новый уровень

Казуальные, Головоломки, Логическая

Играть

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

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

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

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

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

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

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

API

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

Программирование IT Python Искусственный интеллект ВКонтакте Нейронные сети Разработка Все
130 постов сначала свежее
336
Есть официальный ответ
AlexeyBunak
AlexeyBunak
2 года назад
Про сайт объявлений

Avito игнорирует разработчиков⁠⁠

В январе я получил от AVITO ключи для своего приложения, и начал разработку. Пришлось смириться с отсутствием какой-либо поддержки, объяснения, информирования об изменениях, обратной связи и так далее. Но решение было мое железным - я создаю приложение, которое будет использовать только белые схемы, мне нужно построить долгие и плодотворные отношения с Авито и другими площадками, чтобы перевести свой сервис на коммерческую основу.

Avito игнорирует разработчиков Авито, API, Разработчики, Интеграция, Сервис, Длиннопост, Жалоба

За пол года я пытался писать в ТП о недоработках, участвовать в вебинарах, вставляя свои три копейки по поводу работы API и Автозагрузки. Но все это был разговор со стеной. Приходилось решать проблемы самостоятельно. За пол года у моего приложения появилось несколько сотен пользователей, мой бот обработал более миллиона сообщений, помогая людям в коммуникации с клиентами. На прошлой неделе Авито начало выдавать текст системных сообщений, и я уже строил планы по внедрению новых функций. Все было хорошо до 24 июня.


И вот, в ту "черную пятницу" мне звонит девушка, пока я шел из магазина, и говорит, что она представляет AVITO, что они хотели бы провести интервью в Zoom с теми, кто активно пользуется Авито.Доставкой и API. Назначили интервью на вторник. И так совпало, что примерно в эти же 30 минут мне в ЛС начали жаловаться пользователи, что все пропало, ничего не работает. Мало ли что произошло, подумал я, и вернувшись домой начал искать проблему в коде. Но искал не там. Оказалось, что мое приложение просто удалили, его не стало, будто и не было. Куда бежать? что делать? Как говорится, «В 4 часа утра без объявления войны…», только у меня это было 4 часа дня...


ТехПоддержка по телефону? Ха... номер для разработчиков? Да он ведет на все тот же неработающий для простых смертных телефон 8-800-6000001. Почта? Коммуникация не быстрая... Пишу в чат ТП, жду час. Пытаюсь объяснить ситуацию, на что сотрудник ТП "6288" рапортует о том, что он передал вопрос далее, и что мне ответят в течение 3х дней. ОК, вечер пятницы, 3 календарных дня или рабочих - не понятно. На почту пришло письмо, что создана заявка за номером "31335100", но никаких данных с меня не взяли. Остается только ждать, а пока жду, полез пробовать разобраться самостоятельно. На странице для разработчиков в футере есть ссылка "Правила использования API" и ведет она на некую PDF, точнее должна вести, но Авито рапортует, что нет такого файла по тому пути. То есть я даже в теории не могу понять, за что же со мной так поступили. Хотя в моем понимании, "что есть в API, то разрешено", ибо по-другому никак. Есть метод - используешь, нет метода - не используешь.


И вот тем временем настал вторник, в запланированное время началась Zoom-конференция, меня начали расспрашивать о пользовательском опыте, пытались склонить к ответам про использование официальных интеграций типа Bitrix и AmoCRM, а я им каждый раз пояснял, что я сам себе разработчик, и ничего мне не нужно, я пытаюсь подстроиться под Авито самостоятельно. Я, как мне кажется, довольно подробно описал проблемы и недоработки API, описал чего не хватает, в том числе ресурса с новостями для разработчиков, чтобы мы не из Телеграм-каналов друг друга узнавали о каких-то изменениях, а централизованно. Представителям AVITO я дал название своего приложения, мне обещали что посмотрят и постараются ответить за 3 дня...


Уже 30.06, прошло 2 раза по три дня. Но ответа нет, тогда я снова пишу в ТП, и спрашиваю, что же происходит с моим запросом за номером "31335100". И через час, вместо ~15 минут, мне отвечает сотрудник ТП "8342", а текст его ответа на скриншоте...

Avito игнорирует разработчиков Авито, API, Разработчики, Интеграция, Сервис, Длиннопост, Жалоба

То есть я жду 6 дней, чтобы просто кому-то дать вводные данные. Вопрос "КТО и ЗА ЧТО удалил мое приложение", по ходу, требует вмешательства от акционеров Prosus. Я выразил свое негодование именно таким же вопросом, и тут быстро нарисовался мой "друг", агент ТП "6288", с которым я общался неделю назад, и его ответ выглядит просто издевательством

Avito игнорирует разработчиков Авито, API, Разработчики, Интеграция, Сервис, Длиннопост, Жалоба

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

Зато пока я жду ответа на свой, казалось бы, простой вопрос, Авито выпускает очередную партию авитологов, которые должны выбивать из клиентов деньги. AVITO не заинтересовано в магазинах с тысячами SKU (отчет о автозагрузке просто не отдается, с 3-5-10 попытке ты можешь его получить, но там информации полезной около ноля), с интеграцией, с синхронизацией БД, ставка делается на "продвигаем 1 сантехника" и "продаем 3 велосипеда с помощью 130 объявлений".


Лично у нас в магазине свыше 30000 SKU, но даже взяв пакет всего на 1000 объявлений, я не могу сделать сквозную интеграцию и синхронизацию из-за проблем с получением отчетов через API


Обращаюсь к представителям Авито... вот вы "боретесь" с теми, кто использует черные и серые схемы, но проблема в том, что борьба именно в кавычках. Вы тратите большие деньги на антифрод системы, на идентификацию пользователей, но при этом вы не идете на диалог с теми, кто хочет работать с вами честно, в белую, вы нас не слышите и вам лучше чтобы нас не было, да, я не 1С, но это не значит что я не могу создать полезный продукт для части ваших же пользователей. Что мне делать с моими 300+ клиентами, которые меня каждый час дергают вопросом, когда заработает сервис? Вы всеми своими действиями (или бездействием) подталкиваете меня к тому, чтобы я тоже перешел на темную сторону и боролся с системой, а не интегрировался в нее. Я сказал на интервью, что готов приехать в офис Авито в Москве и обсудить лично, если есть какие-то вопросы к моему сервису и найти решение возникших проблем, заключить договор и все сделать официально. Дело за вами, но я сомневаюсь что хоть какой-то ЛПР Авито увидит данную статью.

Показать полностью 2
[моё] Авито API Разработчики Интеграция Сервис Длиннопост Жалоба
114
WhiteHats
WhiteHats
2 года назад
IT-юмор

Разработчик с мозгом груга⁠⁠

Разработчик с мозгом груга IT, Программист, Программирование, IT юмор, Рефакторинг, API, Длиннопост

Введение

это сборник мыслей о разработке программ собранный разработчиком с мозгом груга

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

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

разработчиков с большим мозгом много, некоторым страница не понравится, скривят кислая рожа

Ещё больше-больше ДУМАЮТ, что они разработчики с большим мозгом и им она тоже не понравится

(груг раньше думал груг с большим мозгом, но потом всё понял)

это ладно!

груг надеется, что тебе понравится читать и может ты научишься на много-много ошибка груг совершил за длинную жизнь программиста

Вечный враг: сложность

главный охотник на груга это сложность

сложность плохо

скажу снова:
сложность очень плохо

теперь ты скажи сам:
сложность очень, очень плохо

если выбрать между сложность и биться с динозавром, груг выбери динозавр: груг хотя бы видеть динозавра

сложность это демон дух, в кодовую базу его пускают добрые но просящие дубину не груги и менеджеры проектов которые не боятся демона духа сложности или иногда не знают про него
один день кодовая база понятная и груг может делать работу, всё хорошо!

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

груг не может видеть демона сложности, но груг чувствует что он в кодовой базе

демон дух сложности дразнит сделай изменение здесь сломай в другом месте не понять где и почему!?! смеётся ха ха смешно очень

груг любит программировать, а не собирать блестящие камни как старший советчик груга
дубина не ломает демона духа сложности, а плохая идея бьёт дубиной разработчика впустившего духа: иногда это сам груг!

жалко, часто это сам груг

поэтому груг говорит и говорит часто: сложность очень, очень плохо

Говорить «нет»

лучшее оружие против демона духа сложности это заклинание «нет»

«нет груг не пишет эту фичу»

«нет груг не делает эту абстрацию»

«нет груг не моет тело каждый день и не пьёт меньше чёрной жижи для мыслей хватит повторять»

помни это хороший совет для разработчика но плохой для карьеры: «да» это заклинание чтобы получить больше блестящих камней и тебя назначить вождём большого племени разработчиков
грустно но правда: научись «да» потом обвиняй других гругов когда не получится, лучший совет для карьеры

но груг должен быть настоящий груг, а «нет» заклинание груга. Сначала сложно говорить, особенно если добрый груг и не любит разочаровывать людей (много таких гругов!) но потом проще хотя куча блестящих камней будет не такая большая

это ладно: разве гругу нужно много блестящего камня?

Говорить «ладно»

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

слышать груг сердится на демона духа сложности

в этой ситуации груг рекомендует «ладно»

«ладно, груг пишет эту фичу»

потом груг долго думает о решении 80/20 задачи и пишет его.

решение 80/20 значит решение «80 что нужно в 20 код»: может быть не все звенелки которые хочет менеджер проекта, может быть немного кривой код, но работает и делает почти что нужно, и почти всегда отгоняет демона духа сложности

может иногда лучше не говорить менеджеру проекта и делать 80/20. проще просить прощение чем разрешение, иногда менеджер проекта как золотая рыбка устаёт от работы с много гругов.

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

но обычно в интересах менеджера проекта чтобы груг не очень огорчался такому подходу

Факторизация кода

следующая стратегия очень сложнее: правильно разбивать кодовую базу (красивое другое слово: «правильно факторизировать код»)

тут сложно давать общий совет: каждая система разная. но одно груг знает: не факторизуй приложение слишком рано!

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

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

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

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

иногда груг торопится и делает неправильную абстракцию, поэтому груг лучше подождёт больше
разработчики с большим мозгом часто это не любят и изобретают много абстракций с начала проекта

груг хочет схватить дубину и орать «большой мозг не поддерживает код! большой мозг уходит в другой комитет по архитектуре а груг возись с кодом!»

но груг учится управлять чувствами, основное различие груга и животного

вместо этого груг пытается снизить опасность разработчика с большим мозгом в начале проекта дав ему что-нибудь наподобие UML-диаграммы (не вредит коду, наверно, её всё равно выбросят) или потребовав сделать завтра рабочее демо

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

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

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

иногда называй демо «прототипом»: менеджеру проекта так приятнее

груг говорит: делай прототип в начале разработки, особенно если много больших мозгов

Тестирование

груг любит и ненавидит тест: тест экономит гругу много бесчисленного времени и груг любит и уважает тест

жалко что есть много шаманов тестов. некоторые шаманы тестов делают из тестов идолов, требуют «делай тесты» ещё когда груг не начал писать код или когда груг ещё не знает хорошо область применения!

как груг тестирует если груг ещё не понимает область применения?

«не бойся: тесты покажут что тебе нужно делать»

груг снова сдержал груга медленно берущего дубину, но груг остаётся спокойный

груг предпочитает писать большинство тестов после этапа прототипа, когда код начинает становиться чётче

но хорошо запомни: тут груг должен быть очень дисциплинированный!

груг легко может пойти дальше и не писать тесты потому что «всё работает на машине груга»!

оно очень, очень плохо: нет гарантии работы на другой машине, нет гарантии работы на машине груга в будущем, много раз

шаман тестов правильно говорит о важности теста, даже если шаман тестов за всю жизнь не сделал ничего полезного готового и только всегда говорит о тесте, заслуживает дубины, но сердце его доброе

ещё шаман тестов часто говорит про юнит-тесты, но груг не думает, что они очень полезные. опыт груга говорит, что идеальные тесты это не юнит-тест и не сквозной тест, а промежуточный тест

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

груг пишет юнит-тест в основном в начале проекта, помогает развитию, но не привыкай к ним и не ожидай долговременную пользу

сквозные тесты хорошие, показывают работу всей системы, но! сложно понимать когда ломаются и очень часто злят груга, иногда груг просто перестаёт обращать на них внимание потому что «ой, всегда ломаются» — очень плохо!

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

груг предпочитает немного юнит-тестов, особенно в начале, но тест не 100% всего кода и точно не «сначала тест». «тест по ходу дела» вполне подходит гругу, особенно пока груг разбирается в системе

груг пишет самые свирепые интеграционные тесты когда появляются точки разреза и система стабилизированная! api линии разреза обычно стабильнее реализации и интеграционный тест остаётся полезный много длинное время и легко отлаживать

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

ты можешь не любить, но это лучшее тестирование груга

ещё гругу не нравится mock-объект в тесте, нужен только в крайнем случае (редко/никогда) и при грубом макетировании (линий разреза/систем), только так

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

Agile

груг думает agile не плохой и не хороший

не худший способ организации разработки, может лучше других, которые груг считает хорошими
но опасный шаман agile! много, много блестящих камней потеряно из-за шамана agile!

agile-проект развалился, шаман agile говорит «вы неправильно делаете agile!» груг считает, это ужасно удобно для шамана agile: можно просить больше блестящих камней улучшать agile обучать молодых гругов agile, опасность!

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

чтобы успешно делать программы, лучше писать прототипы, инструменты и нанимать хороших гругов: agile-процесс ладно и помогает кому-то, но иногда ущерб воспринимают слишком серьёзно. никогда нет серебряной дубины, что бы ни говорил шаман agile (опасность!)

Рефакторинг

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

однако много раз в карьере груга «рефакторинг» выходил из под контроля и давал больше вреда, чем добра

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

поэтому груг пытается делать относительно небольшой рефакторинг и «не отплывать слишком далеко от берега» при рефакторинге. в идеале система работает постоянно и каждый этап заканчивается до начала другого.

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

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

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

Забор Честертона

мудрый шаман груг честертон однажды сказал

Такое может происходить в случае какой-то установки или закона; давайте ради простоты представим поставленные на дороге забор или ограду. Современный реформатор беспечно подойдёт к ним и скажет: «Я не вижу в них пользы; давайте снесём их». На это более умный реформатор ответит: «Если вы не видите в них пользы, я точно не позволю их снести. Отойдите и подумайте. Когда вы вернётесь и скажете мне, что увидели, в чём их польза, то я, возможно, позволю их снести».

многие старый груг хорошо выучили этот урок не начинать ломать код не подумав, даже если он страшный

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

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

груг не говорит не улучшать системы никогда, это глупо, но советует потратить время понять систему сначала, особенно большую систему и уважать работающий сегодня код пусть не идеальный

здесь часть тесты хорошо показывают почему забор нельзя ломать!

Микросервисы

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

очень непонятно для груга

Инструменты

груг любит инструмент. инструмент и управление чувствами отличает груга от динозавров!

инструмент позволяет мозгу груга делать код который без него не может быть, думает за груга, всегда хороший помощник! в новом месте груг всегда тратит время на изучения окружающих инструментов для максимизации продуктивности: изучил инструменты две недели часто делает разработку дважды быстрее и часто заставляет просить других разработчиков о помощи, нет документации

дополнение кода в IDE позволяет гругу не запоминать все API очень важно!

программирование на java почти невозможно без этого для груга!

из-за этого груг начинает задумываться

хороший отладчик ценен как много блестящих камней, а на самом деле даже больше: когда нашёл баг груг часто хочет отдать все блестящие камни и может немного детей за хороший отладчик

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

груг говорит никогда не переставай улучшать инструменты

Системы типов

груг очень любит системы типов упрощают программирование. для груга системы типов самая польза когда груг нажимает точку на клавиатуре и магией открывается список что может сделать груг. это 90% пользы от системы типов для груга

но здесь бойся больших мозгов!

некоторые большой мозг думают системами типов и говорят леммами, могут быть очень опасные!

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

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

ещё бойся: опасная абстракция слишком высокая, а код типа большого мозга становится астральная проекция платонической обобщённой модели вычислений тьюринга в кодовой базе.

груг запутан и согласный какой-то уровень очень изящный но с ним очень сложно делать реальные задачи например записать количество дубин для компании «Груг и сыновья»

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

соблазн очень больших дженериков это ловушка! демон дух сложности любит эту ловушку! берегись!

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

Сложность выражений

раньше груг любил сокращать количество строк кода. писал такой код:

Разработчик с мозгом груга IT, Программист, Программирование, IT юмор, Рефакторинг, API, Длиннопост

груг слышит крики молодых гругов — ужас много строка кода дурацкая переменная, груг готов защищаться дубиной

начинается бойня дубинами другие разработчики нападают и груг кричит: «проще отладка! вижу результат каждого выражения и имя хорошее! проще понимаю условное выражение! ПРОЩЕ ОТЛАДКА!»

отладка точно проще и когда бойня дубинами закончилась успокоились и молодой груг подумал и понял груг прав

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

Замыкания

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

груг предупреждает замыкания как соль, системы типов и дженерики: немного хорошо, но легко портит вещи если много и даёт рано инфаркт

разработчики javascript называют особого демона духа сложности в javascript «callback hell», потому что очень много замыкание используют библиотеки javascript. очень печально но груг правда считает разработчики javascript получают что заслуживают

Логирование

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

некоторые не груги говорят логирование дорогое и не очень важное. груг так не думает больше

смешная история: идол груга роб пайк работает в google над логированием, груг решил: «если роб пайк работает над логированием, зачем гругу это делать?!?», не стал заниматься. оказывается логирование очень важное для google, поэтому конечно над ним работает лучший программист, груг!

не будь таким мозгом груга, теперь гораздо меньше блестящих камней!

ладно, груг всё равно нашёл хорошую компанию, а роб пайк одевается
всё страннее, так что всё удачно, но смысл не меняется: логирование очень важное!

советы груга про логирование:
логируй все основные логические ветвления в коде (if/for)
если «запрос» распространяется на несколько машина в облачной инфраструктуре, добавь на все ID запроса, чтобы логи можно группировать
если можно сделай логи динамически управляемыми, чтобы груг мог включать/отключать когда нужна отладка проблем (много!)
если можно сделай уровень логирования для каждого пользователя, чтобы можно отлаживать проблему конкретного пользователя

два последних пункта особенно удобная дубина очень часто когда охотишься на баги в продакшен-системах

жаль библиотеки логов часто очень сложные (java, зачем так?), но надо вложить усилия сделать инфраструктуру логирования правильно — опыт груга говорит очень сильно полезно потом
груг думает логирование надо больше учить в вузах

Конкурентность

груг как все разработчик в своём уме, боится конкурентность

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

для веба подходит оптимистичная конкурентность

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

в некоторых языках есть хорошая структура конкуретных данных, например ConcurrentHashMap в java, но всё равно чтобы сделать правильно нужна аккуратная работа груга

груг никогда не пользовался erlang, слышал хорошие слова, но гругу язык выглядит странный, простите

API

груг любит хорошие api. хорошие api не требуют чтобы груг слишком много думал

жалко многие api очень плохие, заставляют груга много думать. причин много, вот две:
создатели API думают о реализации или области применения API, а не об использовании API
создатели API думают слишком абстрактно и как большой мозг

обычно гругу не важно подробности api: нужно записать файл или отсортировать список, просто хочет вызвать write() или sort()

но разработчики api большой мозг говорят:
«не торопись, груг! открываешь этот файл для записи? ты определил Comparator для сортировки?»

груг снова хватает свою руку которая тянется к дубине

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

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

груг называет это «многослойный» api: два или три разных api с разным уровнем сложности для разных нужд груга

ещё если объектно-ориентированный, добавь api на элемент, а не в другое место. хуже всех в этом java!

груг хочет фильтровать список на java

«Ты преобразовал его в поток?»

ладно, груг преобразовал в поток

«Хорошо, теперь можно фильтровать»

хорошо, но теперь нужно вернуть список! а есть поток!

«Ты собрал свой поток в список?»

что?

«Определи Collector<? super T, A, R>, чтобы собрать поток в список»

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

добавь обычную вещь типа filter() для списка и пусть возвращает список, слушай меня разработчик java api большой мозг!

никому не нужен «поток» и никто не слышал про «поток», не сетевой api, все груги java используют списки мистер большой мозг!

Фронтенд-разработка

некоторые не груги, имея дело с веб-разработкой говорят:
«Знаю, я разобью кодовую базу на фронтенд и бэкенд и использую новую крутую SPA-библиотеку, общающуюся с бэкендом GraphQL JSON API через HTTP (это забавно, потому что я не передаю гипертекст)»

теперь у тебя есть две норы для демона духа сложности

хуже: демон дух сложности фронтенда стал ещё сильнее и управляет всей отраслью фронтенда, как видит груг

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

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

груг не знает зачем может так говорят facebook и google, но для груга это не очень хорошая причина

гругу не нравятся большие сложные фронтенд библиотеки, которые все используют

груг делает htmx и hyperscript чтобы без них

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

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

Мода

груг заметил много моды в разработке, особенно сегодня в фронтенде

бэкенд лучше скучнее наверно все плохие идеи уже проверены (некоторые пытаются повторить!)

в фронтенд разработке продолжают пробовать все плохие идеи поэтому много меняется и сложно понимать

груг советует относиться ко всем революционным идеям скептик: большие мозги уже давно работают с компьютерами, большинство идей проверено хотя бы раз

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

Страх выглядеть глупо

помни! очень хорошо если груг сениор может сказать всем: «хммм, это слишком сложно для груга!»

многие разработчики боятся выглядеть тупой, груг раньше тоже боятся, но груг научился бороться: очень важный груг сениор говорит «это слишком сложно и запутанно для меня»

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

убрать силу страха очень хорошо для сениор груга

но помни: надо делать мыслительное лицо и казаться большим мозгом. будь готов большой мозг или чаще думает он большой мозг сарказм говорит про груга

сильный будь! не надо страх!

тут полезна иногда дубина, но чаще чувство юмора, особенно очень полезен последний проваленный проект большого мозга, соберись и оставайся спокойный

Синдром самозванца

груг замечает много таких чувств самозванца в разработке

груг всегда одно из двух состояний: груг хозяин вся равнина, носит дубину кода как тор ИЛИ груг не понимает что происходит

больше времени груг второе состояние, но нужно его прятать

груг делает сильные программные обеспечения и успех в open source, но сам груг часто не понимает вообще что происходит! очень часто! груг всё ещё боится сделать ошибку поломать код всей команды и разочаровать других гругов, самозванец!

это может само программирование такое для большинства гругов и лучше сказать тут ладно: никто не самозванец, если все самозванец

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

Почитать

гругу нравятся эти:
Worse is Better
Worse is Better is Worse
Is Worse Really Better?
A Philosophy of Software Design

Вывод
сам скажи: сложность очень, очень плохо

Источник. Отборная копипаста (ТГ)

Показать полностью 2
IT Программист Программирование IT юмор Рефакторинг API Длиннопост
14
licoricspb
3 года назад

ГИС ГМП, СМЭВ и вот это вот всё...⁠⁠

Я не знаю, если честно, у кого еще спросить. Верю в силу портала, но не хочу ей злоупотреблять по своим пустякам.

Пост для тех, кто понял буквы из заголовка или проходил эпопею с получением доступа туда. Если у вас был успешный опыт - напишите по каким критериям проходили, как и за какое время. Если готовы делиться доступом - буду признателен. Возможно на возмездной основе. Нужны штрафы ГИБДД.


*В интернетах нет нормального сервиса по проверке штрафов ГИБДД, где будет вся информация, работа через апи и оперативное обновление информации. На текущий момент я выяснил, что первоисточник - ГИС ГМП. А туда доступ через СМЭВ. Почитал про аккредитацию - пока склоняюсь к работе через посредника (как правило это банки, у которых есть доступ или какие-то сервисы, кто уже имеет туда доступ).


Ну и, что бы два раза не вставать - есть тут успешные представители, кто попал в этот список: https://npd.nalog.ru/credit-orgs/

Нам с самозанятыми надо как-то по апи взаимодействовать. Тоже "государственная эпопея" с получением статуса и допуска.


Не знаю в какое сообщество это лучше подойдет - по сути мне нужен доступ через кого-то. Маякните, если что. Перенесу.


Всем спасибопожалуйста

Показать полностью
Пикабу Менеджер Государство API Текст
0
alllhimic
alllhimic
3 года назад

[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team⁠⁠

[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост

└ Источник: FREEHUB (лучший источник халявы)

---------------------------------------------------------

▪️ ПОЛУЧИТЬ | 3 999₽

💁🏻‍♂️ WA Team [сайт компании] — это решение WhatsApp Team Inbox, основанное на официальных API WhatsApp, вы открываете для себя функции: массовый импорт контактов, широковещательные рассылки, быстрые ответы на несколько сообщений, списки клиентов, настраиваемые поля, веб-перехватчики и API, почтовой ящик команды, пересылка сообщений, роли и иерархия для команды, белая маркировка для агенств » подробнее.

Для тех, кто в танке вкратце, если у вас есть бизнес и большая часть клиентов пользуется WhatsApp, а вы вручную обрабатываете заказы или наняли человека и платите ему полноценную зарплату.. настало время сэкономить и нанять на работу робота, который будет проделывать ту же работу, но совершенно бесплатно, то есть общаться с клиентами и отвечать на вопросы, пересылая им готовые сообщения с вариантами, помимо этого вы можете собирать целевую аудиторию и делать массовые рассылки - продвигая свой бизнес и зарабатывать деньги.
---------------------------------------------------------
🔥Вы получаете пожизненно "Базовую" лицензию
---------------------------------------------------------

🤷🏻‍♂️ ЧТО НУЖНО ДЕЛАТЬ:

1. Открываем » AppSumo.

└ Входим/Регистрируемся

2. Получаем код от WA Team.

└ Активируем подарок

3. Готово, пользуемся.

└ Инструкция для запуска
---------------------------------------------------------

UPD:

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

[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост
[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост
[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост
[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост
[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост
[AppSumo] Доступ к WhatsApp Cloud API и Team Inbox от WA Team Халява, Бесплатно, Промокод, Акции, WhatsApp, API, Агентство, Рассылка, Импорт, Раздача, Услуги, Бизнес, Интернет, Интернет-магазин, Магазин, Продажа, Консультация, Длиннопост

« Самая могущественная сила на свете — организованное комьюнити людей. »

---------------------------------------------------------

🔥Другие инсайды в Telegram 👉🏻 FREEHUB 👈🏻

Показать полностью 7
Халява Бесплатно Промокод Акции WhatsApp API Агентство Рассылка Импорт Раздача Услуги Бизнес Интернет Интернет-магазин Магазин Продажа Консультация Длиннопост
3
37
YouZ63
3 года назад
Исследователи космоса

Исторические данные от NASA⁠⁠

Я ранее писал статью А вы знали что у NASA есть API?


В ней я описал как реализовал автоматическое наполнение телеграм канала https://t.me/daily_nasa "астрономической картинкой дня от NASA" с описанием на русском а также со ссылкой на загрузку картинки в HD, позже я реализовал добавление в этот канал статей на тему астрономии из http://hubblesite.org/ и тоже на русском, все круто но меня парило то, что каналу моему меньше года, а NASA публикует данные уже очень много лет, по этому я решил взяться в реализацию отображения исторических данных за выбранный период в телеграм, как? смотрите ниже.


Идея была такой, есть телеграм бот, после нажатия старт в нем отображается красивый календарь, где можно выбрать год, месяц, и день, после выбора мы получаем за этот день картинку / видео и описание (APOD в общем)


Сейчас это выглядит так:

Поклацать можете тут - https://t.me/DailyNasaCalendarbot


Реализовал все опять же таки на Python, так вот:


Те кто читал мои статьи ранее знают, что я не такой уж и фанат "изобретать велосипеды" (разве что иногда) по этому я подумал что писать красивый календарь самому будет долговато, выход? я решил поискать его на GitHub, и я нашел - https://github.com/artembakhanov/python-telegram-bot-calenda...


Отличная библиотека, которая ставится одной командой:

python3 -m pip install python-telegram-bot-calendar

Вопрос, как прикрутить это к NASA API ?


1 - Заходим в примеры (examples) и смотрим скрипт simple_pytelegrambotapi.py

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

Тут есть блок:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В result в конечном счете приходит год, месяц и день который вы выбрали на календаре, в примерно таком формате 2022-03-04


и это отлично, ибо все что нам остается, это записать этот result в запрос к NASA API, а именно:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В итоге остается только распарсить data, сформировать сообщение и отправить в телеграм, чуть более подробней про это тут:

А вы знали что у NASA есть API?

Продолжение поста «А вы знали что у NASA есть API?»

Особенности API от NASA


Ссылка на бот - https://t.me/DailyNasaCalendarbot

Ссылка на канал - https://t.me/daily_nasa

UPD:


Сейчас данные можно получать с Июля 1995 года по сегодня. В боте еще есть некоторые недоработки, но я ими займусь как только отловлю все баги, если вы случайно нарветесь на какой-то баг, или у вас будут какие-то предложения пишите их в комментарии, все приму во внимание😁

Показать полностью 3
[моё] Космос Apod NASA Астрономия Телескоп Хаббл Наука Python API Telegram Разработка Программирование IT Научпоп Планета Telegram бот Видео Без звука Вертикальное видео Длиннопост
1
31
Terentyeff
Terentyeff
3 года назад
Исследователи космоса

Ответ на пост «А вы знали что у NASA есть API?»⁠⁠2

Прочтя этот пост, решил реализовать нечто подобное для ВК.

Приложение раз в час/два и т.д. (настраивается) постит в Вашу группу в ВК рандомную картинку и описание к ней, используя NASA API.


Дисклеймер: Я не супер программист(но очень хотелось бы), поэтому будет полно говнокода, поэтому, прошу сильно не пинать =).


Для начала, необходимо создать standalone-приложение в VK.

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Оно нам понадобится для авторизации в соц.сети и получения Access Token, который позволит работать с VK API.


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


Данные(VKToken, NASAToken, ID Группы, данные об авторизации, ID группы, пользователя и настройки таймера) будем хранить в ini файле.

Для отображения таймера будем использовать QLCDNumber.


Наш хеадер главного окна получился таким:

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

И наш cpp файл. Если файл с настройками не найден, то программа создаст новый и поставит таймер стандартно на час.

В QLCDNumber ставим отображение до 8ми цифр.

И все наши виджеты загоняем в QGridLayout и выводим её.

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Получилась вот такая штука:

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Ничего сложного, правда?)


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

Теперь, перейдём к самому интересному. API NASA и VK API.

У NASA есть много разного API, но мы будем работать с APOD(Astronomy Picture of the Day).

Для получения данных, необходимо отправить GET запрос на https://api.nasa.gov/planetary/apod?api_key=NASA_TOKEN


Пример: https://api.nasa.gov/planetary/apod?api_key=NASAToken&amp;co...

В ответ мы получим json файл с таким содержимым:

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Нам интересны значения: date, explanation, hdurl и copyright(Если фотография не в свободном доступе, то нужно ставить копирайт и NASA нас об этом предупреждает.)

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

А вот и полный список всех параметров, но нам будет интересен только "count"

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Наша ссылка будет выглядеть так:

https://api.nasa.gov/planetary/apod?api_key=NASAToken&amp;co...

NASAToken - Токен, который мы получили от NASA.


Авторизация в ВК и получение токена.

Пример авторизации в официальной документации:

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Где client_id - id нашего приложения, scope - необходимые параметры доступа. В нашем случае нужно будет использовать offline, wall, groups. offline нужен для бессрочного token.


Так как ответ приходит немного кривой, требуется сделать немного косметических правок:

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Затем, вытаскиваем из ссылки access_token и айди пользователя, сохраняем и переключаем авторизацию в True, затем, закрываем окно.

Пришла пора обработки JSON от NASA и загрузки данных на стену группы.


Сперва, давайте обработаем данные от НАСА.

Ответ на пост «А вы знали что у NASA есть API?» IT, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, ВКонтакте, C++, Qt, Vkapi, Ответ на пост, Длиннопост

Теперь, перейдем к загрузке полученных данных в группу. Нам понадобится метод wall.post и параметры owner_id, message, attachments, access_token.

Обратите внимание, идентификатор сообщества в параметре owner_id необходимо указывать со знаком "-" — например, owner_id=-1 соответствует идентификатору сообщества ВКонтакте API (club1)


Итоговая ссылка у нас получается:

https://api.vk.com/method/wall.post?owner_id=-" + GroupID + "&message=" + strk + "&attachments=" + attach + "&access_token=" + VKToken + "&v=5.131

Где GroupID - ай ди группы, который мы сохранили в настройках, strk - строка с копирайтом, датой, описанием, attach - ссылка на фото/видео, VKToken - наш access_token, который мы получили после авторизации.


В общем-то, всё. Мы написали программу, которая будет раз в n-часов постить в нашу группу ВК данные от NASA =).


Ссылка на Github с полным кодом: https://github.com/ac973k/NASAImageVKPost

Ссылка на VK API: https://vk.com/dev/methods

Ссылка на группу: https://vk.com/public200170365


ВК как-то очень криво вставляет изображения, поэтому, в некоторых постах изображение вставляется, а в некоторых ссылка на картинку.

Показать полностью 9
[моё] IT NASA API Разработка Программирование Космос Наука Бот Научпоп ВКонтакте C++ Qt Vkapi Ответ на пост Длиннопост
3
1506
bookray
bookray
3 года назад

Google Cloud Platform убрали Россию из списка стран⁠⁠

Google Cloud Platform, используемый разработчиками сервисов, сайтов и приложений для взаимодействия с системой API Google, убрал из окна выбора стран Россию. Окно появляется при первом посещении, для знакомства с пользователем.

Google Cloud Platform убрали Россию из списка стран Google, Блокировка, Интернет, Запрет, Санкции, API
[моё] Google Блокировка Интернет Запрет Санкции API
746
tramfly
3 года назад

Нужен гугл апи ключ⁠⁠

На волне взаимопомощи, так сказать. Без рейтинга. Нужен Google API ключ. Сделал себе, но карту не привязать и он заблокировался. МИР не принимает. Нужен Distance Matrix API. Может кто-нибудь может ключик сделать. Количество обращений к ключу небольшое. До сотни в день.

[моё] Без рейтинга Помощь Google API Текст
2
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии