Pull to refresh
3
Karma
0
Rating
Илья @becks

User

Устройство поисковых систем: базовый поиск и инвертированный индекс

Search engines *Programming *System Analysis and Design *Algorithms *Rust *

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Views 17K
Comments 6

Как найти удаленную работу в США и Европе: списки ~1000 компаний, полезные инструменты для поиска + личный опыт инженера

IT-emigration IT career Remote work


Изображение: Unsplash

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

Я решил разобраться в том, что для этого нужно сделать инженеру с постсоветского пространства. Для этого я изучил компании, которые предлагают remote-позиции для ИТ-специалистов, нашел несколько полезных сервисов и поговорил с Никитой Львовым, инженером, который как раз недавно нашел такую работу и согласился поделиться опытом. Надеюсь, получилось полезно. Поехали!
Читать дальше →
Total votes 57: ↑55 and ↓2 +53
Views 131K
Comments 20

Визуализация больших графов для самых маленьких

Open Data Science corporate blog Data Mining *Data visualization *Machine learning *Artificial Intelligence


Что делать, если вам нужно нарисовать граф, но попавшиеся под руку инструменты рисуют какой-то комок волос или вовсе пожирают всю оперативную память и вешают систему? За последние пару лет работы с большими графами (сотни миллионов вершин и рёбер) я испробовал много инструментов и подходов, и почти не находил достойных обзоров. Поэтому теперь пишу такой обзор сам.
Читать дальше →
Total votes 95: ↑94 and ↓1 +93
Views 50K
Comments 30

Галерея лучших блокнотов по ML и Data Science

Python *Data Mining *Big Data *Machine learning *
Привет, читатель.

Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

image

Итак, приступим.

Вводные курсы в Jupyter Notebook


Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Views 31K
Comments 7

ТОП-9 YouTube-каналов для изучения английского языка

EnglishDom corporate blog
Tutorial
Впереди пора отпусков и каникул, поэтому мы просто поделимся с вами полезными YouTube-каналами на случай, если у вас будет пара свободных минут и желание немного заняться английским.

// "Enjoy the Content" — from author with Love 
Читать дальше →
Total votes 49: ↑35 and ↓14 +21
Views 119K
Comments 14

Открываем доступ к видеозаписям HighLoad++ за последние пять лет

Конференции Олега Бунина (Онтико) corporate blog High performance *Website development *Programming *System Analysis and Design *
image

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

Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)

Перейти в канал YouTube!

Читать дальше →
Total votes 115: ↑110 and ↓5 +105
Views 27K
Comments 19

Книги для тимлидов и руководителей проектов

DevRain Solutions corporate blog
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →
Total votes 84: ↑74 and ↓10 +64
Views 169K
Comments 53

Лекции Технотрека. Проектирование СУБД (осень 2016)

VK corporate blog PostgreSQL *System Analysis and Design *SQL *NoSQL *

image


Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка SQL с учетом особенностей объектно-реляционной базы данных PostgreSQL. Программа предусматривает комплексный подход к изучению стандартизованного языка SQL на платформе PostgreSQL, включая некоторые минимальные возможности администрирования пользователей, ролей, схем, базовых таблиц и других объектов базы данных. Мы рассмотрим основы работы с базой данных PostgreSQL и некоторые особенности SQL применительно к ней. Более подробно — под катом.

Total votes 43: ↑40 and ↓3 +37
Views 30K
Comments 8

Где искать работу: чаты в Telegram, группы в FB и другие ресурсы

icanchoose.ru corporate blog Freelance Personnel Management *IT career
Recovery mode
Схема с созданием резюме на одном сайте и ожиданием приглашений на собеседование уже не работает. Найти отличную вакансию помогут социальные сети, где роль резюме играет ваш профиль, а рекрутерами могут стать друзья. Например, в Facebook друзья могут отмечать вас под вакансиями, а в LinkedIn подтверждать ваши навыки.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 124K
Comments 12

10 подкастов для изучения/продолжения изучения английского языка

Learning languages
image

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

Подкасты – это звуковые аудиофайлы в стиле радиопередач в интернете Как правило, подкасты имеют определенную тематику и периодичность издания. Каждый человек, у которого есть смартфон, может прослушивать подкасты. Для прослушивания подкастов у владельцев Apple есть родное приложение, называется «podcasts». Android пользователи могут использовать приложение «Podcast Addict».
Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Views 175K
Comments 42

C++ без new и delete

Align Technology, R&D corporate blog Programming *C++ *
Tutorial
Привет, хабравчане!

Меня зовут Михаил Матросов, я технический менеджер в компании Align Technology. Сегодня я поработаю капитаном и немного расскажу об основах современного С++.

Работая над большим проектом, мне часто приходится смотреть чужой код и порой я вижу странное. А именно, многие даже вполне матёрые программисты на С++ могут не знать некоторых фундаментальных для языка вещей. Ну, это даже не слишком удивительно — язык такой.

Мне бы хотелось поговорить об этих основах и начну я со своей любимой темы. Будем говорить об операторах new и delete. А точнее, об их отсутствии. Я расскажу, как писать надёжный и современный код на С++ без использования операторов new и delete.

Казалось бы, тема стара как мир, Саттер и Майерс в своё время всё разложили по полочкам. Именно поэтому я не буду вдаваться в ненужные подробности, отправляя читателей к первоисточникам. Моя цель собрать информацию по вопросу в одном месте, дать соответствующие ссылки и сформулировать ёмкие рекомендации.

Статья будет интересна в первую очередь начинающим разработчикам и регулярам, но я уверен, что и опытные программисты узнают для себя что-то новое.


Изображение взято с сайта behappy.me
Читать дальше →
Total votes 59: ↑59 and ↓0 +59
Views 83K
Comments 134

Большой опрос по алгоритмам

Programming *Algorithms *
Тема «нужны или не нужны алгоритмы современным разработчикам» на днях в очередной раз всплывала на Хабре и породила множество комментариев. В связи с этим предлагаю следующий опрос.

Сможете ли вы реализовать, пусть и не production ready, этот алгоритм, почти не подсматривая в спецификацию:

UPD: Касательно последнего опроса — было бы очень интересно в комментариях услышать реальные интересные примеры из жизни.
Total votes 55: ↑44 and ↓11 +33
Views 22K
Comments 74

Круглендарь 2016 — плакат-ежедневник

Self Promo
image

Друзья, готов круглый календарь 2016!

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

К концу года плакат становится исторической вещью и отправляется в архив.

Круглый календарь к концу года

  1. Скачайте *.pdf с сайта kruglendar.ru.
  2. Распечатайте и повесьте на стенку, рядом — фломастер.
  3. Подпишите какое-нибудь событие, например, появление круглендаря.

Как и раньше, круглендари бесплатные, исходный код — на гитхабе.
Процесс
Total votes 34: ↑31 and ↓3 +28
Views 17K
Comments 37

Повышаем производительность поиска с помощью партиционирования индекса в Apache Solr

Wrike corporate blog High performance *Website development *Search engines *


Полнотекстовый поиск используется в Wrike почти повсеместно. Поиск в шапке страницы дает возможность быстрого доступа к последним задачам с сортировкой по дате обновления, с совпадением по названию. Такой вариант поиска представлен в разделах «Моя работа» и «Панель задач».
Поиск в списке задач работает по всем полям: название, описание, имена файлов вложений, авторы, комментарии, дата изменения. Максимальный приоритет у задач, активность по которым связана с текущим пользователем, с фразовым совпадением в названии, описании или в комментариях.
Упрощенный вариант поиска по названиям используется:
  • при расстановке зависимостей для диаграммы Ганта (предшествующая и последующая задачи),
  • при добавлении ссылок на задачи по названиям (меншенинг),
  • при добавлении подзадач.

В этих разделах используется instant search с неявным wildcard: пользователь последовательно вводит u, up, upd, update, а поисковые запросы принимают вид: u*, up*, upd*, update*.
Кроме того, wildcards можно использовать во всех вариантах поиска.
Таким образом, часто приходят “тяжелые” поисковые запросы, вызывающие многократное чтение индекса, повышенную нагрузку по CPU/IO на серверах и, как следствие, общие задержки в обработке запросов в “часы-пик”.
В данной статье мы поделимся своим способом решения проблемы производительности.
Речь пойдет об ускорении поиска при работе с поисковым сервером Apache Solr через партиционирование коллекций. Описанный способ был нами опробован на версиях 4.9.0 и 4.10.2.

Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 21K
Comments 3

Анонс онлайн-курсов Технопарка, Техносферы и Технотрека на Stepic

VK corporate blog Website development *C++ *Algorithms *Big Data *


Приятная новость для всех, у кого нет возможности обучаться в Технопарке, Техносфере или Технотреке: теперь курсы этих проектов доступны в виде онлайн-курсов на платформе Stepic! На сегодняшний день доступна запись по пяти дисциплинам:


Со временем количество курсов будет увеличено.

Зачем мы это делаем? Вполне очевидно: далеко не каждый желающий может стать слушателем наших проектов, ведь участие могут принять лишь учащиеся из трех московских вузов. А благодаря онлайн-обучению столь полезные для начинающих IT-специалистов знания смогут получить и многие другие талантливые студенты. В рамках онлайн-курсов учащиеся смогут смотреть интересный им контент и выполнить практические задания на проверку усвоенного материала. Кроме того, у них будет возможность общаться друг с другом, обсуждать задачи и задавать вопросы онлайн. По итогам успешного прохождения курса будет выдаваться сертификат. А теперь подробнее о доступных дисциплинах.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Views 23K
Comments 15

Тематическая картография: общие вопросы

Geoinformation services *Open data *Data visualization *
Tutorial


Хочу поделиться с вами переводом руководства по тематической картографии от ребят из axismaps.

Рекомендую к прочтению информационным дизайнерам, журналистам (данных), аналитикам, начинающим картографам, а также всем, кто хочет научиться читать тематические карты и отличать хорошую карту от плохой, вводящей читателя в заблуждение. Всех заинтересовавшихся приглашаю под кат.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views 26K
Comments 6

Возможности PostgreSQL, которых нет в MySQL, и наоборот

PostgreSQL *
Sandbox


Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
Читать дальше →
Total votes 141: ↑132 and ↓9 +123
Views 99K
Comments 313

Как работает реляционная БД

VK corporate blog Algorithms *
Tutorial
Translation
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Total votes 232: ↑229 and ↓3 +226
Views 500K
Comments 134

Визуализация статических и динамических сетей на R, часть 4

Инфопульс Украина corporate blog Data Mining *R *Data visualization *
Tutorial
Translation
В первой части:
  • визуализация сетей: зачем? каким образом?
  • параметры визуализации
  • best practices — эстетика и производительность
  • форматы данных и подготовка
  • описание наборов данных, которые используются в примерах
  • начало работы с igraph

Во второй части: цвета и шрифты в графиках R.

В третьей части: параметры графов, вершин и ребер.

В этой части: размещения сети.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 11K
Comments 0

Как создавать интерактивные карты

Airbnb corporate blog Geoinformation services *Data visualization *
Tutorial


Недавно была опубликована интерактивная карта, отображающая демографические изменения в Европе с 2001 по 2011 год — период, для которого доступна максимально подробная статистика от каждого муниципального образования. С помощью цветовой шкалы обозначается степень убыли или прироста населения буквально в каждой точке Европы (за исключением России и стран СНГ) и Турции.

Один из разработчиков команды Airbnb принимал участие в работе над созданием этой демографической карты. Хотите узнать, как самостоятельно создать подобный проект? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views 23K
Comments 2

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity