stackoverflow что это такое

StackOverflow — больше, чем просто хранилище ответов на глупые вопросы

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

Я решился написать эту заметку потому, что за семь лет, проведенные на SO, я достаточно хорошо изучил сообщество изнутри. Я ответил на 3516 вопросов, задал 58, вошел в hall of fame (top 20 во всем мире) в обоих языках, на которых пишу постоянно, подружился со многими умными людьми, и активно пользуюсь, пожалуй, всеми возможностями, предоставляемыми сайтом.

Каждое утро, за утренним кофе, я открываю ленту новостей, twitter, и — SO. И я считаю, что этот сайт может дать разработчику гораздо больше, чем сниппет для копипаста, заботливо предложенный DuckDuckGo.

Саморазвитие

Когда-то давно я наткнулся вот на такой твит:

Paradoxically, I find the best way to learn a new languages is to answer questions rather than ask them. — Jon Ericson

Тогда меня слегка удивила постановка вопроса, но со временем я убедился, что это — чистая правда. HackerRank, Exercism и подобные сайты предоставляют возможность порешать сферические задачки в вакууме, и даже обсудить ваше решение с приятными доброжелательными людьми. Подавляющее большинство книг нынче дополнены примерами, которые можно скачать и запустить. На гитхабе можно отыскать интересный проект на изучаемом языке, и погрузиться в пучину чужого исходного кода. При чем тут SO? — ответ прост: только на SO вопросы рождены жизненной необходимостью, а не причудливым воображением конкретных людей. Отвечая на такие вопросы, мы неизбежно оттачиваем способность мыслить лаконично (в рамках синтаксиса нашего языка), перекладываем в активную область памяти часто используемые паттерны, а читая ответы других людей — сравниваем их с нашими и запоминаем лучшие подходы.

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

Объективная оценка сообществом

Для разработчиков, называющих себя синьорами и выше, довольно важно иметь возможность сравнить собственное ощущение собственной крутизны с объективным мнением незнакомых людей. Мне доводилось работать в коллективах, где мой уровень навыков и умений не вызывал ни у кого никаких вопросов. Я буквально ощущал себя гуру. Активное участие в дискуссиях на SO довольно быстро этот миф в моем сознании развеяло. Мне внезапно стало очевидно, что до уровня «señor» — мне еще расти, расти, и расти. И я очень благодарен сообществу за это. Душ был ледяной, но очень бодрящий и исключительно полезный.

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

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такое

или ответить / разблокировать вопрос, защищенный сообществом от вандалов:

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такое

Это мотивирует. После 25000 репутации пользователям открывается вся статистика SO и разрешение сохранять запросы к базе пользователей.

Приятные знакомства

Деятельное присутствие в стане отвечающих привело к тому, что я познакомился со многими действительно выдающимися разработчиками из разных стран. Это круто. Они все очень интересные люди, а еще их всегда можно напрямую попросить сделать ревью кода какой-нибудь непростой библиотеки, которую мы решили выложить в OSS. Квалификация двух таких добровольных ревьюеров позволяет превратить любую неуклюже отесанную болванку — в изящный и пуленепробиваемый код, готовый к использованию.

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

I need to calculate a sum of all prime numbers less than 100. The solution must not use core iterators. How do I do that?

Да, такие «вопросы» попадаются, и их минусуют. Я не вижу в этом проблемы; SO — это не бесплатный сервис, где страдающие от избытка свободного времени люди бесплатно решают чужие домашние задания.

Стесняться плохого английского, или недостаточного опыта — не сто́ит вовсе.

Карьерные бонусы

У меня довольно насыщенный профиль на гитхабе, но настоящий натиск хедхантеров я ощутил только когда вошел в top-20 и моя аватарка появилась на заглавных страницах соответствующих языков. Я не ищу и не собираюсь менять работу в обозримом будущем, но все эти предложения позволяют как поддерживать в форме собственную самооценку, так и формируют базу на будущее; если мне вдруг втемяшится поменять работу, поиском заморачиваться не придется.

Не отнимает много времени

Я часто слышал от разных людей, что на SO отвечают только лентяи, а настоящие профессионалы с утра до ночи пилят исходники для нужд бизнеса. Не знаю, возможно где-то существуют люди, способные хреначить код без остановки по шестнадцать часов кряду, но я к ним определенно не принадлежу. Мне нужны паузы. Прекрасный вариант перерыва на рабочем месте, который не слишком расслабляет, и не вводит в режим нескончаемой прокрастинации, как раз — «ответить на пару вопросов». В среднем, это приносит по несколько десятков репутации в день.

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такое

Раскрывает чакры и прочищает карбюратор

Помогать людям — хорошо. Мне приятно, что кроме обычного очного преподавания, я могу помочь — и помогаю — случайным людям из Вайоминга, Киншасы и Вьетнама.

Достаточно ли я компетентен, чтобы отвечать на вопросы?

Все мы ошибаемся, и если это случится — сообщество поправит. Замечу: не насрет исподтишка в карму, а заминусует ответ (в подавляющем большинстве случаев — с объяснением, что именно тут не так). Заминусованный ответ имеет смысл удалить, и минусы будут откачены назад. (Удаленные ответы по-прежнему остаются видны людям с репутацией, большей 10000, но они, поверьте, и не такое повидали).

В заключение

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

Источник

Stack Overflow

сервис «Вопрос – ответ»Available inМультиязычныйOwnerStack Exchange NetworkCreated byДжоэл СпольскиCommercialДаRegistrationНеобязательнаяUsers50 млн.Launched15 сентября 2008 годCurrent statusПоддерживаетсяWritten inC#IP address151.101.193.69

Stack Overflow – это сайт вопросов и ответов для профессиональных разработчиков программного обеспечения, энтузиастов программирования и системных администраторов. Сайт создан и управляется сообществом. Сервис создает свободную библиотеку подробных ответов на любой прикладной вопрос по программированию и системному администрированию. [Источник 1]

Информация с официального сайта

Вопрос – ответ. Ничего лишнего.

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

С помощью пользователей создается библиотека подробных ответов на каждый вопрос о программировании.

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

Автор вопроса может пометить один из ответов «принятым».

Принятие ответа не означает, что он лучший; это значит, что изложенное в нём решение помогло автору вопроса.

Получайте ответы на детализированные и конкретные вопросы

Вопросы задаются о реальной проблеме, с которой столкнулись пользователи. Описание проводится детально, описываются все цели и пути к ним.

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

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

Не задавайте вопросы…

Метки упрощают поиск интересных вопросов

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

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

Ваша репутация растет, когда люди голосуют за ваши сообщения.

Репутация растет, когда другие участники голосуют за вопросы, ответы и правки.

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

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

Улучшайте сообщения с помощью правок или комментариев

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

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

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

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

Получайте знаки за достижения

Знаки – это достижения, полученные за участие в жизни сайта. Они бывают трёх видов: бронзовые, серебряные и золотые.

Собственно, каждый может получить знак, просто прочитав данную страницу. [Источник 1]

Компания

Основанное в 2008 году, Stack Overflow является крупнейшим и наиболее надежным онлайн-сообществом, в котором разработчики могут учиться, делиться своими знаниями и строить свою карьеру. Более 50 миллионов профессиональных и начинающих программистов посещают Stack Overflow каждый месяц, чтобы помочь решить проблемы кодирования, развить новые навыки и найти рабочие места.

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

Stack Overflow входит в сеть так называемых Stack Exchange сайтов, список которых можно видеть далее. [Источник 2]

Офисы

В Stack Overflow в настоящее время работают более 250 человек в головных офисах в Нью-Йорке, Лондоне и Мюнхене, а также удаленные работники из Израиля, Бразилии, Японии, Германии, Словении, Испании, Польши, Франции, России, Канады, Великобритании и других стран. Компания стремится к разнообразию на рабочем месте и в настоящее время нанимает на работу. [Источник 2]

История

История начинается в 2008 году, когда Джоэл Спольски, тогдашний генеральный директор Fog Creek Software и автор широко читаемого блога Joel on Software под названием Джефф Этвуд, также известный своим популярным блогом Coding Horror, решил создать сайт вопросов и ответов. Джоэл Спольски и Джефф Этвуд вместе запускают Stack Overflow.

В 2010 году серия инвестиция в размере 6 млн. долларов США во главе с Union Square Ventures. Запускается Stack Exchange Network, распределяя вопросы и ответы в стиле Stack Overflow по новым темам (в настоящее время 133).

В 2012 году Stack Overflow Careers запускает свой первый локализованный сайт для говорящих на немецком языке (год спустя к нему добавится французский).

В 2014 году появляются мобильные приложения для Android и iOS. В этом же году Stack Overflow запускает локализованные сайты на португальском и японском языках.

Архитектура сервиса

Чтобы понять, как работает сервис, давайте начнем с показателей Stack Overflow. Итак, ниже приводится статистика за 12 ноября 2013 и 9 февраля 2016 года:

Из-за модернизации оборудования в начале 2015 года и из-за некоторого изменения параметров в самих приложениях существенно сократилась продолжительность обработки в ASP.Net по сравнению с 2013 годом (когда было 757 часов) несмотря на прибавление 61 миллиона запросов в день.

Вот укрупненный список хардверной части, которая обеспечивает работу ресурса:

Чтобы запустить Stack Overflow необходим только один web-сервер.

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

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

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такое

Рисунок 1 – логическая схема взаимодействия главных систем

Вот некоторые всеобще применяемые правила, поэтому буду повторять их для каждой системы:

В сети Интернет

Сначала Вы должны найти сайт – это DNS. Процесс нахождения нас должен быть быстрым, поэтому этим занимается CloudFlare, так как их серверы DNS ближе почти всех остальных DNS мира. Записи DNS обновляются через API, а они делают «хостинг» DNS. Однако, при этом, сервис имеет собственные DNS-сервера. Если произойдет апокалипсис (вероятно, вызванный GPL, Punyon или кэшированием), а люди все еще будут хотеть программировать, чтобы не думать о нем, сервис переключится на них.

После того, как Вы найдете Stack Overflow, пойдет HTTP-трафик через одного из четырех Интернет провайдеров (Level 3, Zayo, Cogent, и Lightower в Нью-Йорке), и через один из наших четырех локальных маршрутизаторов. Для достижения максимальной эффективности, вместе с провайдерами используется BGP для управления трафиком и обеспечения нескольких путей его передачи. Маршрутизаторы ASR-1001 и ASR-1001-X объединены в 2 пары, каждая из которых обслуживает 2 провайдера в режиме активный/активный. Таким образом, обеспечивается резервирование. Хотя они подключены все к той же физической сети 10 Гбит/с, внешний трафик проходит по отдельным изолированным внешним VLAN, которые также подключены к балансировщикам нагрузки. После прохождения через маршрутизаторы, трафик направляется к балансировщикам нагрузки.

Между двумя дата-центрами используется линия MPLS на 10 Гбит/с, но это напрямую не связано с обслуживанием сайта. Она служит для дублирования данных и их быстрого восстановления в случаях, когда нужна пакетная передача. Через провайдеров имеется еще две более отказоустойчивые линии OSPF (по стоимости MPLS – № 1, а это № 2 и 3). Каждое из упомянутых устройств быстрее подключается к соответствующему устройству в Колорадо, и при отказе они распределяют между собой сбалансированный трафик. Разработчики смогли заставить оба устройства соединяться с обоими устройствами 4-мя способами, но все они и так одинаково хороши. [Источник 3]

Балансировщики нагрузки (HAProxy)

Балансировщики нагрузки работают на HAProxy 1.5.15 под CentOS 7, предпочтительной разновидности Linux. HAProxy также ограничивает и трафик TLS (SSL).

В отличие от всех других серверов с двойным сетевым подключением по LACP 10 Гбит/с, каждый балансировщик нагрузки имеет по 2 пары каналов 10 Гбит/с: одну для внешней сети и одну для DMZ. Для более эффективного управляемого согласования SSL эти «коробки» имеют память 64 ГБ или больше. Когда можно кэшировать в памяти больше сессий TLS для повторного использования, тратится меньше времени на образование нового соединения с тем же самым клиентом. Это означает, что можно возобновлять сессии и быстрее, и с меньшими затратами. Учитывая, что RAM в переводе на доллары довольно дешевая, это – легкий выбор.

Сами балансировщики нагрузки – довольно простые устройства. Создается иллюзия, что разные сайты «сидят» на различных IP (в основном по вопросам сертификации и управления DNS), и маршрутизируются на различные выходные буфера основываясь, главным образом, на заголовках хоста. Единственными «знаменитыми» вещами, которые осуществляются, является ограничение скорости и некоторые захваты заголовков (отсылаемых с уровня веб-узлов) в сообщение системного журнала HAProxy. Поэтому можно делать запись метрик производительности для каждого запроса. [Источник 3]

Источник

Секреты Stack Overflow

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеПриветствую, коллеги. За последние несколько лет Stack Overflow стал полезнейшим инструментом для разработчиков. Множество вопросов, заданных Гуглу и Яндексу, в первых же ссылках ведут на понятные и исчерпывающие ответы на этом ресурсе. Большинство разработчиков используют сайт Stack Overflow именно как базу знаний программистов, возможность быстро получить нужный ответ. Под катом я расскажу про несколько интересных кейсов подводной части айсберга: спрятанные ответы, награды, прокачивание кармы и многое другое, скрытое от поверхностного взгляда.

Ответ не всегда помечен зеленой галочкой

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеМного раз на хакатонах и консультациях я стоял за спиной ребят, ищущих ответ на Stack Overflow. И не раз наблюдал такую картину: человек переходит на Stack Overflow из поиска, ищет ответ, помеченный зеленой галочкой, не находит и тут же закрывает вкладку, резюмируя, что “вот, на стеке тоже спросили — и никто не знает”.

Иногда ответа действительно нет. Но чаще всего он есть, просто находится немного не там, где мы ожидаем:

Bounty за ответ

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеВозможность предложить награду (bounty) за ответ очень многие игнорируют: репутации, чтобы предложить награду, нету, да и зачем она кому-то может понадобиться — непонятно. Зря игнорируют, между прочим: даже сложнейшие вопросы, на которые никто не отвечает, сразу же получают ответы, если снабдить их bounty соответствующего размера. Более того, bounty можно установить не только для своего, но и для чужого вопроса.

Почему bounty настолько сильно влияет на привлекательность вопроса? Несколько факторов. Во-первых, это самый простой способ для новичков быстро получить много репутации. Во-вторых, топ-разработчики могут таким образом помериться силами: репутация в несколько сотен тысяч баллов на Stack Overflow выглядит очень солидно в резюме специалиста и помогает найти хорошую работу, если появляется желание ее поменять.

Откуда брать репутацию, чтобы тратить ее на bounty? Об этом ниже.

Неочевидные источники репутации

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такое

Самый очевидный способ заработать репутацию — это отвечать на вопросы. Он же — самый трудный. На простые вопросы можно быстро получить сразу несколько ответов, а вот на сложные вопросы ответить действительно… сложно. Пользователи Stack Overflow, зарабатывающие репутацию с помощью ответов, ставят специальные фильтры для получения мгновенных уведомлений о новых вопросах в очень узкой области, которую они лучше всего знают. Такие специалисты могут ответить на вопрос в течение десяти минут, получая за свои усилия максимум баллов репутации в день.

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

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

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеРепутация выдается не только за ответы, но и за то, что ваш вопрос кому-то понравился. При этом вопрос не обязательно должен быть гениальный. Многие завсегдатаи отмечают голосами просто аккуратно оформленные вопросы, соответствующие писаным и неписаным правилам сервиса: без грамматических ошибок, с выделением кода и т. д. Более того, новые пользователи часто голосуют за вопросы, которые они нашли через поиск, поэтому каждый вопрос может стать постоянным генератором репутации. Несколько десятков вопросов за год способны на следующий год принести тысячу-другую баллов репутации, которые затем можно будет потратить на bounty для действительно важных вещей. Если у вас что-то не получается дольше получаса, хорошей идеей будет уделить десять минут составлению качественного вопроса на Stack Overflow, после чего можно спокойно вернуться к поиску решения. Если кто-то ответит — вы сэкономите кучу времени. Если вы сами найдете ответ — смело отвечайте на собственный вопрос, это займет всего пару минут, зато в будущем увеличит поток пассивно генерируемой репутации.

Stack Overflow больше, чем кажется

Далеко не все знают, что stackoverflow.com — это не единственный сайт экосистемы вопросов и ответов, созданной Джоэлом Спольски. Это постоянно растущая сеть сайтов, суммарно называемая Stack Exchange и объединяющая десятки узкоспециализированных площадок с одинаковым интерфейсом и единым пользовательским профилем (но раздельной репутацией). Полный список сайтов на stackexchange.com/sites также содержит площадки для обсуждения работы самой сети и Area 51, где предлагают и “выращивают” новые сайты вопросов и ответов.

Русская версия Stack Overflow для специфических вопросов

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеСеть Stack Exchange включает в себя не только специализированные сайты вроде “Вопросы по Ubuntu”, но и версии Stack Overflow для разных регионов. В частности, недавно была запущена русская версия, которая доступна по адресу ru.stackoverflow.com.

За последний год на многих конференциях и митапах я часто сталкивался с непониманием разработчиками назначения локализованной версии. Многие высказываются в духе “Любой настоящий программист (с) знает английский. Зачем нам еще один стек с меньшим количеством участников и вопросов. ”

В действительности всё совсем не так, как на самом деле. Назначение русского Stack Overflow вовсе не в том, чтобы дублировать функциональность англоязычной версии. Джоэл создает локализованные версии не для языка как такового, а для стран и регионов. Попробуйте спросить на основном сайте что-нибудь, связанное с разработкой для 1С, — вы там даже тега такого не найдете. Зато на русской версии и теги, и вопросы, и ответы — все представлено в большом количестве. IT — огромная область, разделенная не только платформами и областями, но и регионально. Во многих странах и регионах есть свои крупные игроки софтостроения, которые специализируются на локальном рынке и мало известны за его пределами. Русскоязычная версия Stack Overflow — возможность для разработчиков обсуждать специфические для России решения, использовать теги на русском языке, общаться в домашнем часовом поясе и прокачивать релевантную репутацию.

Кстати, по поводу репутации. Как я уже писал выше, заработать высокую репутацию на глобальном Stack Overflow очень сложно из-за слишком сильной конкуренции и отличий в часовых поясах. При этом высокая репутация на стеке украшает резюме, что особенно важно для начинающих специалистов, желающих продемонстрировать квалификацию при отсутствии формального стажа. Недавно появившийся русский стек позволил многим разработчикам начать прокачивать репутацию “с чистого листа” в гораздо более комфортных условиях.

Чукча не писатель?

stackoverflow что это такое. Смотреть фото stackoverflow что это такое. Смотреть картинку stackoverflow что это такое. Картинка про stackoverflow что это такое. Фото stackoverflow что это такоеИ последнее. На консультациях меня часто спрашивают, на каком языке писать комментарии в исходном коде. Хочется, конечно, писать по-английски. Но тут есть тонкий момент: большинство айтишников действительно хорошо владеют английским — но только для чтения. Когда нужно написать понятный и емкий комментарий, у многих случается пробуксовка: одно дело бегло читать статьи, новости и книги, а совсем другое — писать самому. Многие разработчики формулируют вопросы для стека так, что даже после вдумчивого прочтения непонятно, что же они имеют в виду.

Комментарии на английском желательно писать, если большинство разработчиков в команде действительно хорошо знают английский язык. То же и с вопросами: многие разработчики не хотят задавать вопросы просто потому, что им не так просто их формулировать на чужом языке. Русская же версия убирает этот барьер, и теперь у коллег больше не будет такой удобной отмазки: “На стеке сложно хорошо вопрос сформулировать, поэтому я не стал спрашивать и сам три часа копался” 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *