• С чего начать изучать 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 комментария
  • Как выводить средства с UpWork на ООО, зарегистрированное в России?

    opium
    @opium
    Просто люблю качественно работать
    1. Открываешь ИП, к нему транзитный валютный счет. Рассчетный валютный счет можно открыть если желаешь сидеть в долларах.
    2. Делаешь wire трансфер с Upwork, уплачивая 30$ за перевод.
    3. После перевода деньги блокируются валютным контролем.
    4. Дальше два варианта, либо выбить из поддержки договор (что почти нереально), либо отдать в ВК публичную оферту (User Agreement, на который соглашаемся при регистрации) в биллингве, на каждой странице публичной аферты поставить свою печать, "Копия верна" и подпись (после этих действий ВК охотней примет публичную аферту, нежели просто распечатанный биллингв).
    5. На каждый денежный перевод нужен акт выполненных работ, тут два варианта. Либо предоставить в ВК скриншот трансфера из панели апворка (что филькина грамота, не каждый ВК примет это), либо запрашивать у поддержки "Act of acceptance", который будет подписан апворком и тобой, в нем будет указана сумма перевода. Act of acceptance выглядит внушительней, нежели скрин из панели.
    6. Дальше при каждом переводе предоставляешь новый Act of acceptance.
    7. Работаешь так до достижения лимита в 50000$, дальше нужно заключить паспорт сделки (что сложно, но реально, нужно трясти поддержку апворка). ЛИБО заключить новый "контракт" с Upwork, опять предоставив User Agreement в билингве (про схему с закрытием старой оферты и открытием новой вычитал на хабре, там чувак ставил номер контракта в шапке оферты, что позволяло "открыть" новый контракт, поменяв этот номер)
    8. Ну и работаем дальше, либо по паспорту сделки, либо по вновь открытому контракту.

    Забыл. Когда ВК подтверждает перевод, то тут 2 варианта. Либо эти даллары "продаются" с транзитного счета на рублевый счет ИП по курсу ЦБ на день продажи, либо переводятся на долларовый счет ИП. Но у нас есть налог на курсовую разницу, потому эти деньги лучше сразу вывести с долларового счета ИП на долларовый физика.
    Ответ написан
    18 комментариев
  • Для чего программисту математика?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    процент за вывод с Одеска считать
    Ответ написан
    3 комментария
  • Есть 2 сайта. Как переехать и обьяснить гуглу что контент не сворован?

    XXX
    @XXX
    Решение где-то рядом
    madcore нужно настроить 301 редирект со страниц старого сайта на соответствующие страницы нового сайта, чтобы перенаправлять пользователей, а ботам говорить о том, что страницы перемещены по новому адресу.

    Есть 2 сайта. Как переехать и обьяснить гуглу что контент(статьи) не сворован и автор один ?
    С 301 редиректом поисковики поймут, что адрес сайта изменился, контент не сворован и автор один. ;)
    Ответ написан
    Комментировать
  • Как узнать количество переходов по ссылке?

    Denormalization
    @Denormalization
    Нет
    Ответ написан
    Комментировать
  • Какие проекты сделать на github чтоб показывать работодателям?

    Yeah
    @Yeah
    Варианты:

    1. Плагин к какой-нибудь существующей системе. Например для Wordpress, PHPCI и пр.
    2. Берешь 2 каких-нибудь публичных API и пилишь мини-мэшап, чтобы на основании данных с этих API делалось что-то интересное. Например: берем API VK и last.fm и делаем свой мини-плеер с рекомендациями из last.fm и музыкой из VK. API можно глянуть тут:

    www.quora.com/What-are-some-cool-fun-APIs
    https://www.reddit.com/r/webdev/comments/27nqyk/wh...
    www.computersciencezone.org/50-most-useful-apis-fo...
    www.webdesignerdepot.com/2011/07/40-useful-apis-fo...
    blog.mashape.com/list-of-fun-and-interesting-apis-...
    webresourcesdepot.com/15-free-apis-you-didnt-hear-...
    https://gearside.com/public-json-feeds/

    3. Подвид предыдущего. Объединяем API Flickr и какого-нибудь авиаагрегатора (например, aviasales или kayak). Пользователю показывается лента с красивыми фоточками и тут же цена на билет и копка заказа
    Ответ написан
    Комментировать
  • Как структурировать теги h1-h6?

    XXX
    @XXX
    Решение где-то рядом
    На сколько мне известно в статье нельзя использовать например тег h2 после тега h3. Все должно идти по очередно h1,h2,h3 и т.д.
    Можно использовать в произвольном порядке, h1 желательно чтобы был где-то в начале страницы, а остальные теги могут следовать в любом порядке. Например h2, h3, h3, h2, h3 и т.д., главное чтобы они не усложняли восприятие страницы и использовались там, где они действительно нужны и помогают придать структуру тексту. Хотя, как уже отметили, все же рекомендуется соблюдать иерархию, чтобы структура текста на странице была четкой и понятной для посетителя.

    А как быть если у меня идет вначале h2 потом в нем идут подзаголовки h3, потом идет ещё один крупный заголовок h2 и в нем тоже h3. Иногда даже бывают статьи где надо использовать h4. Ладно ещё h3 я заменил просто жирным выделением, а когда h4 там вообще незнаю как быть.
    Не видя страницу о которой идет речь сложно сказать, но если теги h2-h3 у Вас помогают разделить текст страницы на подпункты, которые туда логично вписываются, то ничего плохого в этом нет.

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

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

    Не рекомендуется:
    • засорять страницу лишними заголовками;
    • помещать весь текст страницы в тег заголовка;
    • использовать заголовки только для стилизации текста, без определения структуры страницы.
    Ответ написан
    5 комментариев
  • Как разместить сайт в google с надписью -> реклама?

    Ответ написан
    Комментировать
  • This site may be hacked. - Гугл не индексирует сайт?

    XXX
    @XXX
    Решение где-то рядом
    Maqsat для начала попробуйте выявить источник проблемы и очистить сайт. Обычно проблемы кроются в косяках с настройками сайта, косяках с правами на файлы и каталоги или кривых плагинах/темах.

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

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

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

    да я понимаю что меня взломали, и я очистил сответствено сайт и закрыл дыру но не могу понят как эти ссылки там оказались
    Если Ваш сайт был ранее взломан и туда были залиты левые файлы и скрипты, некоторые файлы вполне могли успеть проиндексировать поисковики. Главное найдите и залатайте дыры, устраните последствия взлома. Ранее проиндексированные файлы, которые больше не доступны, со временем сами выпадут из индекса.
    Ответ написан
    3 комментария
  • Нужно использовать тег noindex в моем случае?

    XXX
    @XXX
    Решение где-то рядом
    Нужно использовать тег noindex в моем случае?
    Нет.

    Скажите, имеет ли смысл обернуть блок в тег noindex, чтоб он не индексировался?
    Смысла не имеет.

    Будет результат, как вы думааете?
    Предложенные изменения пустая трата времени. Если хотите улучшить восприятие поисковиками информации на сайте, лучше подумайте о использовании микроразметки.
    Ответ написан
    1 комментарий
  • Как осуществить такой редирект?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Вы уже задавали такой бредовый вопрос, и даже ответ выбрали.
    Есть список ботов - анализируйте User Agent, но если поисковики заметят (точнее не если, а когда - скорее всего сразу) - будут вам персональные санкции для сайта.
    Ответ написан
    3 комментария
  • Большую ли роль в SEO играет ключевое слово в домене сайта?

    XXX
    @XXX
    Решение где-то рядом
    Urukhayy раньше роль была ощутимой, но сейчас наличие ключа в домене или в адресе страницы дает достаточно незначительный плюс, который не критичен. Гораздо важнее качественный контент, релевантный запросам пользователей, оптимизация сайта, качество ссылочной массы и поведенческие факторы.
    Ответ написан
    Комментировать
  • Один домен или поддомены?

    XXX
    @XXX
    Решение где-то рядом
    Предполагается целый спектр услуг и проектов по разным направлениям.
    abosyan определитесь со списком направлений и распределите их по тематикам, расставьте приоритеты. Не стоит плодить пачку разных сайтов по смежным тематикам, без веских причин, поскольку развитие каждого сайта требует ресурсов. Обслуживание компьютерной техники и консультации связанные с обслуживаем прекрасно уживутся в рамках одного сайта.

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

    Что лучше будет использовать: один домен или один главный домен и несколько поддоменов?
    Исходите из тематик и имеющихся ресурсов. Если нет ни бюджета, ни времени, можно уместить все связанное c IT в разных разделах одного сайта. Но в плане SEO конечно лучше выделить разные направления в отдельные сайты, так будет удобнее работать и проще продвигать разные группы запросов.
    Ответ написан
    Комментировать
  • Как вы живете с большим количеством открытых вкладок браузера?

    tennalian
    @tennalian
    Сначала страдаю, потом психую, закрываю и начинаю копить новые =))
    Ответ написан
    1 комментарий
  • Сервис для отслеживания популярности тегов?

    opium
    @opium
    Просто люблю качественно работать
    разумом руководствуемся
    смысл писать теги к вопросу по полулярности, на деле то надо теги ставить по содержанию вопроса
    Ответ написан
    Комментировать
  • SEO: одностаничник или трёхстраничник?

    XXX
    @XXX
    Решение где-то рядом
    В одностраничном 3 блока текста реализованы в виде вкладок (т.е. показывается одна, посетитель переключается). В трёхстраничном случае будем показывать только один из этих блоков, а два других переместим на другие страницы.
    Alexander Lashchevsky трехстраничный будет удобнее в плане SEO, разные страницы Вы сможете заточить под разные группы запросов и сделать их контент максимально релевантным интересам пользователя. Но не забывайте, что одна из основных задач любого лендинга, это получить максимальную конверсию с трафика. Разделяйте лендинг на три страницы только если можете сделать это не в ущерб юзабилити и удобству покупки/регистрации/подписки (смотря для каких целей Вы будете использовать свой сайт).

    Возможно Вам будут полезны ответы на вопрос Как правильно подойти к созданию landing page?
    Ответ написан
    Комментировать
  • Нужно ли делать чпу?

    imtaran
    @imtaran
    Вебмастер, контент-менеджер
    Если это форум или сервис Вопросы-Ответы, то делать ЧПУ не считаю нужным, т.к. количество страниц перевалит точно за 1-5тыс. Могут возникнуть дубли, т.к. нет контроля за материалами, которые создают пользователи.
    Если это информационный сайт, то ЧПУ обязательны (если, конечно, грамотно подходить к формированию СЯ). Например, вы задали вопрос на форуме и вам ответили ссылкой, где site.ru/3425623 или site.ru/kluchevoe-slovo... С большей долей вероятности пользователь перейдет на вторую статью. Ну и считается, что поисковики любят ЧПУ - на данный момент данный фактор ранжирования на порядок снижен, буквально пару лет назад можно было влепить ключ в урл и залететь в топ по низкоконкуренному НЧ или СЧ. Сейчас такое уже провернуть не удастся: потребуется еще ряд положительных факторов.

    П.С. В своих проектах использую и то, и другое. Для общения пользователей (блог) идут числовые урлы, для статей ЧПУ.
    Ответ написан
    Комментировать
  • Как собрать системный блок на 400$?

    @hellsq
    администрирование exchange server/lotus domino
    а зачем слушать консультантов в магазинах, когда в нормальных интернет-магазинах или есть конфигуратор, чтобы ты сам выбрал всё что надо, или же eсть нормальный список уже готовых конфигураций за адекватные деньги. так, системник на i3, с 8гб памяти, абы какой матерью и абы каким корпусом с встроенным говнобп выходит примерно в 17к, на i5 соответственно ценник растет до 22к. это я в конфигураторе "регарда" накидал, где-то может быть чуть-чуть дешевле, но общая суть такова.
    Ответ написан
    Комментировать
  • Необходимо ли сортировать записи в sitemap.xml?

    myfirepukan
    @myfirepukan
    Жарим поиск
    Вы правы, я никогда с этим не заморачивался ))
    Напишите в поддержку Яндекса они ответят, ответ покажите начальнику в качестве доказательства.
    Ответ написан
    5 комментариев
  • Старый или новый сайт?

    myfirepukan
    @myfirepukan
    Жарим поиск
    В целом если фильтров никаких нет, то имеет смысл развивать старый сайт, потому что на языке оптимизаторов он уже "отстоялся" ему не грозят всякие песочницы для молодых сайтов.
    Надо только дополнять и переделывать контент, перелинковку делать и можно попытаться добиться желаемого.
    Ответ написан
    Комментировать