Автоматическое дополнение JS-кода из базы Stack Overflow

    Пару недель назад Stack Overflow выложил в открытый доступ дамп всего контента, опубликованного на сайтах в сети Stack Exchange за 2014-2016 гг, в формате XML. Там все вопросы и ответы, комментарии и оценки: всего 33,8 ГБ в архиве.

    Разработчик веб-приложений Эмиль Шутте (Emil Schutte) нашёл полезное применение этому дампу. Он извлёк оттуда фрагменты кода, которые соответствуют критериям (одобренные ответы с более 50 голосов и тегом "javascript") и проиндексировал их.



    Так появилась программка Autocomplete from Stack Overflow. Если написать что-то в форме, то она ищет подходящий фрагмент в базе Stack Overflow — и автоматически его предлагает.

    Можно ожидать, что функцию автодополнения реализуют и для других языков программирования. И не только по базе Stack Overflow, но и по коду различных открытых проектов.


    Бесплатная книга от издательства O'Reilly

    Stack Overflow — популярная система вопросов и ответов о программировании, разработанная в 2008 году. Сейчас там 11,3 млн опубликованных вопросов, 18,4 млн ответов и 160 млн комментариев, правок и голосов. Каждый день на сайт заходят 8 млн разработчиков, чтобы найти решение для какой-либо проблемы. Сами авторы сайта оценивают, что если каждый визит сэкономил программисту 30 минут времени, то общая экономия выходит в районе 1,85 млрд часов.
    Support the author
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 36

      +5
      Это пять! :)
        0
        программирование будущего будет таким
        +36
        try {
            // код
        } catch (e) {
            location.href = 'http://stackoverflow.com/search?q=' + e;
        }
        
        +4
        > Пару недель назад Stack Overflow выложил в открытый доступ дамп всего контента, опубликованного на сайтах в сети Stack Exchange

        Stack Exchange их с 2009 г. выкладывает: We’ve been publishing an anonymized dump of all user-contributed Stack Exchange content since 2009. (https://blog.stackoverflow.com/2014/01/stack-exchange-cc-data-now-hosted-by-the-internet-archive/)
          0
          думал шутка какая-то) да нет и в правду
            +1
            Оформление всего этого дела в виде плагинов для продуктов JetBrains для популярных языков косвенно еще больше понизит стоимость часа одного индуса :)
              0
              А качество проектов?
              +5
              Вот тут пошли чуть дальше и берут со стека уже готовое решение проблемы: gkoberger.github.io/stacksort
                0
                Всё, что публикуется на SO — под лицензией Creative Commons Attribution-ShareAlike, которая является copyleft лицензией. Весело будет тем, у кого в проекте найдётся программист, решивший скопипастить что-нибудь из SO.

                  0
                  Весь код, опубликованный после февраля 2016, уже под MIT, а для написанного ранее скорее всего сделают кнопку где-нибудь у автора. Может, даже кнопку "изменить MIT на что-то другое, или это случится автоматически".
                    0
                    Автоматически, без спроса автора, сменить лицензию? :-)
                      +1
                      sourceforge.net, некогда сайт свободного ПО №1, ещё и не на такое оказались способны.
                        +1
                        Лицензию они не меняли. Только добавляли всякую вирусню в инсталяторы для Windows-пользователей.
                        0
                        Не знаю, как они это устроят, пишут, что думают пока. Может, рассылку сделают или ещё как. Хотелось бы чтобы процесс был максимально простым.
                          +1
                          Например плашка «Продолжая пользоваться ресурсом вы соглашаетесь с тем, что написанное вами ранее теперь под другой лицензией. Если вы против, покиньте ресурс.»

                            0
                            Удалить все ответы пользователя со своего сайта могут. А изменить лицензию без его разрешения — нет.
                              +1
                              И даже так?
                              «Продолжая пользоваться ресурсом или нажимая вот на этот крестик справа вы разрешаете нам поменять лицензию на все, что вы ранее тут писали. Если вы против, покиньте ресурс.»
                                0
                                Что вы понимаете под «покиньте ресурс»? Если есть некий контент под copyleft лицензией, то на MIT его без разрешения автора не сменить. Все, что могут сделать владельцы сайта в случае отказа — скрыть этот контент и никому не показывать. Или показывать посетителям какое-то предупреждение, что это не MIT.

                                Дальше уже идут всякие извращения. Например, на Хабрахабре при принятии ППА авторское право на все ваши публикации переходит некому ООО «Хабр». Еще вы должны отказаться от своих авторских прав, когда контрибьютите в какой-нибудь OpenSource-проект от Google или Facebook.

                                Еще можно вспомнить опыт Mail.Ru. Заливая свои файлы в облако, вы автоматически соглашаетесь отдать Mail.Ru все права на них. Но, насколько я помню, от этой глупости под давлением общественности они уже отказались (хотя пользователям их сервиса перечитать ToS не помешает).
                        0
                        Весь код, опубликованный после февраля 2016, уже под MIT,
                        Точно? Я просто думаю, что они бы сделали это заметным всем, но самого изменения не помню. Зато по приведенной ссылке есть followup. Там сказано:
                        • С 1 марта.
                        • Будет пост с FAQ и обновление Terms of Service.

                        Сейчас:
                        • $ date
                          Tue Mar 22 23:44:03 EET 2016
                          
                        • Поста нету.
                        • Terms of services:
                          You agree that all Subscriber Content that You contribute to the Network is
                          perpetually and irrevocably licensed to Stack Exchange under the Creative
                          Commons Attribution Share Alike license.
                          «all»
                          «Creative Commons Attribution Share Alike license»

                        Я так понимаю, что ничего не поменялось.
                        0
                        Доказать авторство на кусок кода, о существовании которого ты даже не знаешь, будет та еще задачка ) Даже у больших компаний это не всегда получается, при очевидных доказательствах копирования большого количества кода. Вспомните те же суды с гуглом и ораклом.
                        +5
                        Я пришел в комменты, чтобы запостить ленивца, а он уже в статье. Этот прозорливый alizar!
                          0
                          Тулза нужна для плюсов
                            0
                            Будет код с разной индентацией, разными переменными и т.д. Порой быстрее написать.
                              0
                              Удивлён, что про stacksort ещё ничего не было в комментариях. :)

                                0
                                Проглядел, было, виноват.
                              • UFO just landed and posted this here
                                  +1
                                  А что плохого в том, чтобы вместо изобретения собственных велосипедов воспользоваться best practice? Это же не копипаста внутри проекта.
                                  • UFO just landed and posted this here
                                  0
                                  А что с призводительностью? Таки парсить и индексировать такой объем данных непростая задача тем более что ждать autocomplete даже пару секунд совсем неприемлемо.
                                    0
                                    У visual studio такое было встроено уже несколько лет точно
                                    0
                                      0
                                      Очень здорово. Уже хочется плагин для Шторма.

                                      Only users with full accounts can post comments. Log in, please.