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» — мне еще расти, расти, и расти. И я очень благодарен сообществу за это. Душ был ледяной, но очень бодрящий и исключительно полезный.
Сейчас я могу закрыть любой вопрос как дубликат:
или ответить / разблокировать вопрос, защищенный сообществом от вандалов:
Это мотивирует. После 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 отвечают только лентяи, а настоящие профессионалы с утра до ночи пилят исходники для нужд бизнеса. Не знаю, возможно где-то существуют люди, способные хреначить код без остановки по шестнадцать часов кряду, но я к ним определенно не принадлежу. Мне нужны паузы. Прекрасный вариант перерыва на рабочем месте, который не слишком расслабляет, и не вводит в режим нескончаемой прокрастинации, как раз — «ответить на пару вопросов». В среднем, это приносит по несколько десятков репутации в день.
Раскрывает чакры и прочищает карбюратор
Помогать людям — хорошо. Мне приятно, что кроме обычного очного преподавания, я могу помочь — и помогаю — случайным людям из Вайоминга, Киншасы и Вьетнама.
Достаточно ли я компетентен, чтобы отвечать на вопросы?
Все мы ошибаемся, и если это случится — сообщество поправит. Замечу: не насрет исподтишка в карму, а заминусует ответ (в подавляющем большинстве случаев — с объяснением, что именно тут не так). Заминусованный ответ имеет смысл удалить, и минусы будут откачены назад. (Удаленные ответы по-прежнему остаются видны людям с репутацией, большей 10000, но они, поверьте, и не такое повидали).
В заключение
Мне представляется важным и нужным участвовать в улучшении мира, и ответы на SO — неплохой вариант это сделать, не слезая с рабочего стула. Если мне удалось кого-то убедить начать отвечать прямо сегодня — я буду очень рад.
История проекта Stack Overflow — экспертные ответы на ваши вопросы
Авторизуйтесь
История проекта Stack Overflow — экспертные ответы на ваши вопросы
Каждый современный разработчик хотя бы раз слышал словосочетание «Stack Overflow». Сегодня многие программисты не могут вообразить себе, как может выглядеть трудовая деятельность без качественной базы готовых решений, доступной каждому через Интернет: каждую секунду StackOverflow.com посещают более 20 000 уникальных пользователей!
Но так было не всегда… Самая первая версия сайта была запущена в начале августа 2008 года. Доменное имя stackoverflow.com и логотип сайта были выбраны в результате голосования неравнодушных коллег. Результаты опроса, как и другие варианты предложенных имен, все еще можно найти в блоге Coding Horror, который ведет один из основателей проекта — Джефф Атвуд. Интересны и рассмотренные варианты логотипов.
Подобный «шум» кардинально снижал производительность индустрии в целом. Многие задумались о том, как можно было бы переработать существующий формат представления информации. В это время стали набирать популярность сервисы вопросов и ответов, где ответы можно было получать лишь за деньги. На некоторых сайтах платить необходимо было еще до того, как становилось понятно, что на сайте действительно есть решение имеющейся проблемы.
Да-да! Именно так! Либо бесплатно копаться в свалке информации, либо платить, «не видя товар»!
Далеко не всем такая ситуация была по душе. Джоэл Спольски и Джефф Атвуд, рок-звезды сообщества разработчиков, выдвинули основные идеи видения нового сайта для разработчиков:
Более подробно они описаны в блоге компании.
Вскоре после открытия публичного доступа к сайту был приобретен еще один аналогичный сервер. Архитектура была проста: на одном работал сайт, на втором — база данных.
Истинная ценность Stack Overflow в сообществе
Именно сообщество ответственно за создание и поддержку общей базы прикладных решений. Как результат, в конце марта 2009 года были проведены первые демократические выборы модераторов от сообщества.
В мае—июле того же года произошло еще несколько знаменательных для проекта событий:
Сегодня на Stack Overflow задано более 12 000 000 вопросов, опубликовано более 20 000 000 ответов. Сайт посещают более 45 000 000 уникальных пользователей в месяц.
Stack Overflow — это международная компания, состоящая из более чем 200 сотрудников, с тремя офисами: в Лондоне, Денвере и штаб-квартирой в Нью-Йорке.
Как уже говорилось, Stack Overflow — это прежде всего сообщество, то есть реальные разработчики. Компания старается сделать как можно больше полезного и интересного для людей:
Вы можете следить за развитием проекта на Мете или в блоге компании. Уверен, мы еще не раз убедимся в состоятельности идеи коллективной ответственности за будущее сообщества!
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Stack Overflow
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 представлена логическая схема взаимодействия главных систем:
Рисунок 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]
Every developer has a
tab open to
Stack Overflow
A public platform building the definitive collection of coding questions & answers
A community-based space to find and contribute answers to technical challenges, and one of the most popular websites in the world.
A private collaboration & knowledge sharing SaaS platform for companies
A web-based platform to increase productivity, decrease cycle times, accelerate time to market, and protect institutional knowledge.
Thousands of organizations around the globe use Stack Overflow for Teams
Capture your company’s knowledge and context in a discoverable format to unblock your team
Increase productivity
If somebody somewhere has the right answer, suddenly you have it too. Collaborate better in a remote-first world.
Accelerate time to market
Shorten the time between initial idea and complete product. Take delays and misinformation out of the equation.
Protect institutional knowledge
People come and people go, but if you capture their contributions in one central place, that expertise sticks around.
Ensure your company stays on course
Here are just a few types of technologists that we help.
DevOps engineers
Shipping new products and features requires teamwork and coordination. Forget checklists and long docs no one ever reads.
Data scientists
Business decisions are better when backed by data. Give visibility to the data that support your strategies.
Software engineers
Help engineers be more efficient and streamline knowledge sharing using a tool they already love and trust.
Support teams
Level up your support by providing information to your customers using a natural interface: questions and answers.
Engineering leaders
Always free up to 50 teammates
Basic
Up to 250 teammates
Business
Enterprise
Integrates with and improves other tools
All plans come with integrations for ChatOps tools Slack & Microsoft Teams in order to cut down on pings, limit distractions and make the tools even more powerful. Business and Enterprise customers get access to Jira, GitHub & Okta integrations.
Robust read and write API
Single sign-on with AD or SAML
Your own customer success representative
99.5% uptime SLA and priority support
Stack Overflow for Teams has been a resource for our entire company. Not only for developers to solve problems, it’s also enabled our sales field to answer technical questions that help them close deals.
Engineers should help solve the hardest questions, the unknowns, where being familiar with how the product was built is essential. But we don’t want to keep answering solved problems over and over again. That’s where Stack Overflow for Teams really helps.
As we started to use [Stack Overflow for Teams] and saw how nice it was to have a repository of information, we started to see it spread to other teams. Our customer support team started using it, our people success team started using it, next thing we knew, we had [Slack] integrations all over the place.
What we love about Stack Overflow for Teams is that it’s a very dynamic tool…there’s just so many ways to use this as a liaison between different teams and different knowledge bases.
Additional products that reach and engage developers & technologists…
Reach the world’s largest audience of developers and technologists
Connecting communities with the specific technologies they use the most
Build your employer brand to attract tech talent
Programming & related technical career opportunities
Explore technical topics and other disciplines across 170+ Q&A communities
From Server Fault to Super User, much of the Stack Exchange network continues our mission to empower the world to develop technology through collective knowledge. Other sites on the Stack Exchange network further encourage knowledge sharing across topics such as cooking and medicine.
Build a private community to share technical or non-technical knowledge.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.3.40888
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.