• Какую фантастику порекомендуете, где главный герой программист/инженер?

    @teugen
    Призрак алкоголизма.
    Удивительно, что никто ещё не упомянул Понедельник начинается в субботу.

    В некотором роде Мы Замятина. И, конечно, Гиперболоид инженера Гарина.
    Ответ написан
    2 комментария
  • Алгоритмы поиска?

    @abcyu
    Разработчик
    Решение озвученной вами проблемы имеет специальное название "стемминг"
    https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D...

    Второй неназванный вами термин "полнотекстовый поиск".
    Искать в интернете этим фразам: "полнотекстовый поиск" и "стемминг".

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

    Да, существует ПО стемминга и для русского языка.
    Как ни странно, один из наиболее распространненных из хороших алгоритмов стемминга для русского языка создан иностранцем.

    Например, есть система СУБД для полнотекстового поиска SphinxSearch, созданная нашими.

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

    Сам SphinxSearch содержит стемминг для русского языка сразу из коробки, в отличие от многих других подобных же систем.
    sphinxsearch.com

    Не обязательно использовать отдельную систему для полнотекстового поиска (как тот же SphinxSearch). Есть и подобный функционал и в современных обычных СУБД. Хотя специализированная СУБД (каковой является SphinxSearch), разумеется, обычно эффективнее.

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

    Поскольку стемминг реализуется довольно небольшим куском кода, то в системы полнотекстового поиска, которые разработали не наши, стемминг для русского языка может быть легко включен, или, даже, это уже сделано.
    Ответ написан
    Комментировать
  • Как построить регрессию на данных типа string (машинное обучение)?

    @SeptiM
    Можно попробовать сделать следующее. Берем каждую колонку, по сути категорию. Смотрим сколько значений она имеет. Пусть это будет k. Заводим k переменных, которые будут принимать значения либо 0, либо 1.

    Если, скажем, дом был построен из кирпича, то ставим переменной x_кирпич = 1, а x_бетон и x_дерево равным 0. Ну и обучаем веса.

    P.S. Можно сделать k - 1 переменную, проставляя нули всем переменным для одного из значений.
    Ответ написан
    Комментировать
  • Встречал ли кто-то любую статистику имен SSID WiFi сетей по миру?

    EnterSandman
    @EnterSandman
    Эникей
    Гуглить не пробовали?
    Вот второй ответ всезнающего: https://wigle.net/stats#ssidstats
    Ответ написан
    Комментировать
  • Какой интересный проект можно сделать по машинному обучению?

    @Grebenshchikov_Alex
    Зав. Лаб.
    Оценка интегрируемости нового человека в коллектив на аналитике профилей соц сетей каждого члена коллектива.
    Ответ написан
    Комментировать
  • Какой интересный проект можно сделать по машинному обучению?

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

    Для обучения лучше брать суперскучные задачи, которые уже много раз все делали и обучающие выборки есть в открытом доступе
    Ответ написан
    Комментировать
  • Как развернуть Big Data в своем бизнесе?

    AntonKravchenko
    @AntonKravchenko
    Определите для начала, у Вас действительно BIG Data или просто Data.
    BIG характеризуется:
    1. Огромные объёмы данных (в ТБ +-)
    2. Огромная скорость их генерации (в ГБ/сек +-)
    3. Высокая требуемая скорость их обработки (вплоть до real-time)
    4. Неструктурированность (голос, текст, числа, двоичные данные) и множество источников их поступления (датчики, сохранённые ранее данные и т.п.)

    Судя по Вашему вопросу, у Вас подходит только п.4 - поправьте, пожалуйста, если ошибаюсь.
    Ещё важный момент - для чего Вы планируете использовать результаты анализа этих данных? Вопрос задаю потому, что под многие задачи уже есть готовые решения - типа сервиса товарных рекомендаций RetailRocket (не реклама, просто привожу как пример) для интернет-магазинов, задача которого - рост среднего чека по покупкам.
    Так вот, в зависимости от Ваших задач вполне возможно, что Вам будет достаточно некоторого самописного или готового софта, в т.ч. и без лейбла Big Data ))
    Опять-таки, как пример - мы в своё время делали простую систему прогнозирования продаж для крупного дистрибьютора на связке Terrasoft BPM'online + 1С + Deductor. В проекте мы оперировали примерно 27 000 единицами номенклатуры и 250 000 позиций в отгрузках за год. Разбивку делали по 3 филиалам и 20 товарным категориям. Из 1С брали факт по реализациям, загоняли всё это в Deductor для построения прогноза (при этом в BPM'online вручную указывали коэффициенты сезонности - проект был достаточно простой), из Deductor-a перегружали данные в BPM для наглядной аналитики и привязки прогнозов продаж к планам работы менеджеров (кроме прогноза, мы ещё в BPM'online вели аналитику по суммарным потребностям клиентов, и проводили сравнение прогноза продаж данному клиенту и известной потребностью клиента и при сильном отставании прогноза от потребности "натравливали" менеджеров на этого клиента).

    Какую задачу Вы хотите решить?
    Ответ написан
    2 комментария
  • Необходим ли ноутбук в техническом вузе?

    @mamkaololosha
    Да. Лабы и прочее. И сразу готовьтесь, что нужно будет много учить вне программы вуза. И всегда держите на ноуте пару книжек по языкам-технологиям, с которыми решите работать. USB-интернет тоже желательно. Не везде есть wifi.
    Ответ написан
    2 комментария
  • Есть ли в Питере магистратура по направлению "мобильная разработка"?

    @Dzhamal
    .NET разработчик
    Магистратура - не тот уровень, чтобы там преподавать настолько прикладное направление. Посмотрел бегло направления в магистратуре ВШЭ - ничего связанного с мобильной разработкой не нашел.
    По моему, самое перспективное направление для обучения в плане развития как разработчика и тим-лида/тех-лида - это программная инженерия (в профиль можно не идти, я по учусь по этому направлению). Но тут надо смотреть конкретную программу обучения конкретного вуза - везде учат тому, что считают нужным, и это не всегда согласуется с реальными потребностями как рынка, так и твоими, когда ты будешь дальше работать по этому направлению. Поэтому никто и никогда не отменяет самообразование и саморазвитие.
    По программной инженерии точно есть магистратура в ИТМО потому, что там бакалавров по этому направлению учат.
    Ответ написан
    3 комментария
  • Как задать ширину DataFrame в консоле Ipython?

    @nirvimel
    Я так понял, вы используете pandas (в тегах не указано). Тогда попробуйте это:
    import pandas
    pandas.set_option('display.max_columns', 50)
    pandas.set_option('display.width', 1000)

    Тут подробнее.
    Ответ написан
    1 комментарий
  • Как запустить социальную сеть масштабного уровня?

    riot26
    @riot26
    <:З )~~
    Стоит подождать неделю после просмотра фильма "Социальная сеть", а вдруг глупые мысли исчезнут
    Ответ написан
    2 комментария
  • Python vs C++ что достойно внимания?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    И если учесть мои перспективы как вы думаете какой язык достоин моего внимания?

    Английский.
    Ответ написан
    6 комментариев
  • С чего начать изучать BigData?

    voidnugget
    @voidnugget
    Программист-прагматик
    BigData не очень то и связана со структурами данных - в основном это разнообразные пространственные структуры, скорее больше связана с алгоритмами NLP, классификации и машинного обучения.

    В первую очередь нужно выбрать средство обработки и хранения.
    В случае с Java это HBase Cassandra
    HBase - когда пишется в базу очень много, и большинство индексов "самодельные".
    Cassandra - когда соотношение чтения / записи 4:3, так как в Cassandra уже есть средства колоночной индексации.

    В случае с реальным высоконагрузом это ScyllaDB - обладает теми же особенностями что и HBase, но С++11 и Share-nothing approach и от того в 6-7 раз шустрее.

    Для БД до 200Гб хватит банального MySQL'я c R-tree индексом и Engine Archive.
    Вот PostgreSQL при правильной настройке спокойно строит B-tree индексы для объёмов данных в 500-700Гб, что для MySQL'я непосильная задача Ну и в PostgreSQL часто приходится дописывать сишные функции агрегации и строить по ним разнообразные индексы, иногда пространственные (gin/gist).

    Вот небольшой обзор разных типов индексов.

    От себя ещё добавлю MVP-tree для поиска похожих персептивных хэшей и Fusion-tree как более съедобный вариант дерева Ван Емде Боаса.

    По поводу хипстер-культа вокруг MongoDB - скажу что PostgreSQL с индексами на хэш-таблицах и небольшими множествами документов в 1.5-3 раза шустрее, потому что "Building Index with Vodka". А нормальная репликация и партицирование напрямую зависит от принципов решения задачи Консенсуса в каждом конкретном приложении, и без понимания работы Raft / Paxos не стоит надеятся на чудеса той же MongoDB или PostgreSQL, они являются не более чем инструментами для решения этой задачи.

    MongoDB очень даже ничего для реактивных проектов на основе Meteor, а для всего остального уже GoldenHammer™.

    По индексации, надо обязательно-обязательно прочитать книги Ханны Самет
    Foundations of Multidimensional and Metric Data St... = Applications of Spatial Data Structures: Computer ... + The Design and Analysis of Spatial Data Structures

    В принципе книжки Foundations of Multidimensional and Metric Structures должно хватить с головой, но можно "дочитывать" более полное описание в более древних работах. Одним словом тётка "жжёт", и я не знаю почему это до сих пор никто не перевёл.

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

    По машинному обучению можно пройти курс Эндрю Ына на курсере.

    Есть Южный DataScience-централ, там есть много чего полезного. Его можно почитывать. Есть ещё поверхностные CheetSheet'ы, видел и получше, но не нашёл.

    Как DeepLearning адепт советую разобраться с Theano, и методами описанными тут. В продакшенах эта штука до безобразия слоупочна и видел товарищей которые более-менее успешно слезли на Neon.

    Если лезть в Java, то на примере Spotify чаще всего используются связки
    Apache Kafka -> Apache HBase -> Apache Storm -> Apache Spark (mllib) -> Apache HBase -> Apache Phoenix -> Hibernate + любой MVC фреймворк и т.п.

    Естественно об относительно высокой производительности и хорошем вертикальном масштабировании речи не идёт, если брать C++11 ScyllaDB -> Neon хорошо отпрофилировать и допилить, можно получить в 3-5 раз выше производительность и соответственно гораздо меньшие задержки, но обычно всем влом. REST API под такое обычно пытаются писать на сях (без плюсов) в виде расширений под Nginx, что является довольно породистым извратом - в большинстве случаев банального golang/netty будет достаточно.

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

    По поводу HA и Zookeeper можно увидеть много срача, особенно в Netflix'e, по этому для менеджмента высокой доступности лучше использовать именно их решения - eureka или для отказоустойчивости Hystrix. Хотя я не могу сказать что это достаточно зрелые проекты - в них тоже хватает изъянов, но они на много шустрее остальных Apache поделок.

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

    Ещё есть очень тонкий момент с Java в целом - нужно минимизировать время сборки мусора и лезть в offheap, стоит глянуть как реализованы буферы в netty - это arena аллокатор по типу того что используется jemalloc и различная misc.unsafe ересь. Можно ещё пробовать Hazelcast / Terracotta, но принципиально там тоже самое, только платно и "расспределённо".

    Для REST API я чаще всего использую Vert.x и ванильную Java.
    Overhead от Scala довольно таки большой, а время компиляции просто вырвиглазное.
    Для минимизации копи-пасты вполне безопасно использовать Groovy c @ Immutable и @ CompileStatic.
    Но в Vert.x'e он весь "динамичный" :|

    Я ничего не могу сказать по поводу производительности Clojure, он местами через чур invokeDynamic. Естественно что ванильная Java будет шустрее, но я без понятия на сколько.

    Желаю Вам приятного вечера.

    p.s. не везде проставил ссылки просто потому что хочу спать.
    Ответ написан
    4 комментария
  • Где найти список городов с количеством населения (города - бывший союз)?

    Jump
    @Jump
    Системный администратор со стажем.
    Вытаскивайте не вручную из википедии.
    Ответ написан
    4 комментария
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @vpranker
    Dropbox, если тебе это пример то вот.
    Дрю Хьюстон, написал его на Питоне, один)
    Ответ написан
    Комментировать
  • Технологии для реализации веб-проекта?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    вы уделяете внимание совсем не тем вещам, найдите талантливого разработчика, и дайте ему свободу пользоваться теми инструментами которые ему больше нравятся (ну или комманду, и пускай они сами решают на чём и как разрабатывать).
    Не понимаете в технологиях -> доверьтесь своим сотрудникам.
    Ответ написан
    4 комментария
  • Переход с delphi на java?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    А может c# ?
    Стандартная библиотека больше на дельфийскую похожа, как по мне.
    Что не удивительно https://goo.gl/O5C3hp
    Ответ написан
    Комментировать
  • Как обработать все случаи при решении системы линейных уравнений с двумя неизвестными?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Для решения систем удобнее пользоваться матрицами, и методом Крамера в частности. Это не так страшно, как выглядит. И код получится намного проще и логичней.
    Ответ написан
    2 комментария
  • Нужна книга по Python для начинающего ребенка?

    @PolkovnikBrumel
    Недавно видел вот такую Программирование для детей. Вроде подходит под ваши критерии.
    Ответ написан
  • Почему в нынешнее время работодатели предъявляют высокие требования за маленькую ЗП?

    syschel
    @syschel
    freelance/python/django/backend
    Это старая тема, не новая, с начала нулевых идёт. Большинство работодателей не понимают, что они пишут, а тупо копируют чужие вакансии и ставят свои рейты.
    Ответ написан
    Комментировать