Pull to refresh
6
0
Дмитрий @hudson

Пользователь

Send message

Поисковые подсказки изнутри

Reading time11 min
Views27K


Ночная зала. Тысячи таинственных ликов в темноте, подсвеченных голубоватым свечением мониторов. Оглушительный треск миллиона клавиш. Подобные выстрелам автомата удары по клавишам «Enter». Зловещее стрекотание сотен тысяч мышек… Так, наверняка, играло воображение каждого разработчика высоконагруженной системы. И если его вовремя не остановить, то может выйти целый триллер или фильм ужасов. Но в данной статье мы будем гораздо ближе к земле. Мы кратко рассмотрим известные подходы к решению задачи поисковых подсказок, как мы научились делать их полнотекстовыми, а также расскажем о парочке уловок, на которые мы пошли, чтобы придать им скорости, но при этом не научить жадности к ресурсам. В конце статьи вас ждёт бонус — небольшой рабочий пример.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments14

К чему можно оказаться не готовым, став тим-лидом

Reading time8 min
Views60K
imageОдин технический специалист нашей компании PayOnline, которая занимается автоматизацией приема платежей, предложил перевести статью автора Pascal de Vink, который проработал тим-лидом уже 2 года. Когда Pascal только занял эту должность, оказалось, что ко многим вещам он был просто не готов. Эта статья поможет избежать многих ошибок на пути от разработчика к лидеру команды. Ниже идет непосредственно перевод.

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

Меньше заниматься разработкой


Может, это и очевидно, но роль ведущего разработчика означает, что надо больше смотреть на общую картину, чем углубляться в конкретные аспекты того, что происходит. Я этого не понимал, пока не проработал пару месяцев, в течение которых мучился от того, что хотел разобраться во всех задачах, а времени на это не было. У меня было все меньше времени копаться в коде, а люди продолжали обращаться ко мне со своими очень узкоспециализированными задачами. Слишком поздно я понял, что надо разбираться в команде, а не во всех ее знаниях. Узнать, кто разбирается в нужной области оказалось намного быстрее и ценнее. Хотя, копаться в коде было намного веселее.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments27

Big Data от А до Я. Часть 2: Hadoop

Reading time9 min
Views225K
Привет, Хабр! В предыдущей статье мы рассмотрели парадигму параллельных вычислений MapReduce. В этой статье мы перейдём от теории к практике и рассмотрим Hadoop – мощный инструментарий для работы с большими данными от Apache foundation.

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


Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments8

Ричард Фейнман: Характер физического закона. Лекция #1. Пример физического закона — закон тяготения [Озвучка Vert Dider]

Reading time1 min
Views19K


Первая лекция из цикла Мессенджеровских чтений, проведенных Ричардом Фейнманом в 1964 году в Корнелльском университете. В этой лекции профессор Фейнман знакомит зрителей с законом тяготения в качестве примера физического закона, рассказывает об истории его открытия, а также о характерных чертах, отличающих его от других законов.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments9

Еще один способ отключения сбора телеметрии в OC Windows 10

Reading time10 min
Views350K
Микрософт с помощью пасьянса и косынки учила пользователей пользоваться мышью,
теперь с помощью windows 10 учит читать лицензионное соглашение.

После выхода windows 10 сразу появились сообщения о сборе информации о действиях пользователей и много обсуждений, что делать. Достаточно быстро пользователи составили список основных серверов, собирающих информацию и попытались их заблокировать через файл hosts. Но скептики сразу выдвинули здравое предположение, что MS мог предусмотреть этот метод и некоторые адреса прописать в коде. Тем более, что MS всегда может актуализировать адреса серверов через windows update.

В нашей компании начали появляться первые пользователи windows 10, и мы решили опробовать блокировку передачи телеметрии через встроенный windows firewall.
Читать дальше →
Total votes 97: ↑89 and ↓8+81
Comments245

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

Reading time5 min
Views22K
Я хочу поделится с вами моим опытом создания первой игры.

Предыстория


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


Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments7

Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

Reading time6 min
Views511K

Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.



Проблематику больших данных постараемся описывать с разных сторон: основные принципы работы с данными, инструменты, примеры решения практических задач. Отдельное внимание окажем теме машинного обучения.



Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.


Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments35

После прочтения применить. 25 книг для игрового разработчика

Reading time8 min
Views118K
Предлагаю подборку всегда актуальных книг по программированию, геймдизайну и концепт-арту для новичков и бывалых бойцов геймдева. Конечно, во главе профессионального развития стоит практика, но эти книги сэкономят ваше время и позволят не выдумывать велосипед заново.


Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments7

«Худой мир». Глава 3

Reading time12 min
Views12K
Продолжаем повествование. И на случай, если кто наткнулся на этот пост впервые, это третья глава повести. Первые две можно найти по ссылкам ниже.
Предыдущие части

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


Немного фантастики под катом
Total votes 20: ↑15 and ↓5+10
Comments7

Краткая история масштабирования LinkedIn

Reading time9 min
Views26K
Примечание переводчика: Мы в «Латере» занимаемся созданием биллинга для операторов связи. Мы будем писать об особенностях системы и деталях ее разработки в нашем блоге на Хабре (например, об обеспечении отказоустойчивости), но почерпнуть что-то интересное можно и из опыта других компаний. Сегодня мы представляем вашему вниманию адаптированный перевод заметки главного инженера LinkedIn Джоша Клемма о процессе масштабирования инфраструктуры социальной сети.



Сервис LinkedIn был запущен в 2003 году с целью создания и поддержания сети деловых контактов и расширения возможностей поиска работы. За первую неделю в сети зарегистрировалось 2 700 человек. Спустя несколько лет число продуктов, клиентская база и нагрузка на серверы заметно выросли.

Сегодня в LinkedIn насчитывается более 350 миллионов пользователей по всему миру. Мы проверяем десятки тысяч веб-страниц каждую секунду, каждый день. На мобильные устройства сейчас приходится более 50% нашего трафика по всему миру. Пользователи запрашивают данные из наших бэкенд-систем, которые, в свою очередь, обрабатывают по несколько миллионов запросов в секунду. Как же мы этого добились?
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments5

По-настоящему адаптивные письма. Часть вторая. Фреймворк

Reading time3 min
Views28K

Картинка для привлечения внимания честно сперта у invisionapp (кстати, у них божественная рассылка)

С момента публикации последнего поста прошло ни много ни мало, полтора месяца, но на то были причины. Уйма работы и бредовые мысли задрота-верстальщика. Сначала я собирался просто перенять приемы Николь Мерлин для верстки писем себе, но потом хипстерская голова подумала: А почему бы не зафигачить целый фреймворк? Громкое слово для моей поделки, но мне приятно его так называть. Начнем с простого.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments8

Лучшие подходы к управлению версиями баз данных

Reading time5 min
Views17K
Перевод статьи «Database versioning best practices», опубликованной на сайте enterprisecraftsmanship.com.

Отслеживание изменений базы данных вашего приложения является не легкой задачей. Как правило, схемы баз данных не совпадают в различных средах, данные в одной БД могут не иметь некоторых важных частей данных. Такие обстоятельства могут быть неприятными, особенно если возникают в production.

Ситуация становится еще хуже, если вы разработчик распространяемого ПО. В этом случае, каждый ваш клиент имеет собственный экземпляр БД, структура которого может отличаться от других. В таких проектах, отслеживание изменений БД клиентов может стать кошмаром.

Давайте рассмотрим лучшие подходы к управлению версиями баз данных.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments19

RESTful API — большая ложь

Reading time7 min
Views433K
От переводчика:
Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении. Однако, не смотря на то, что в статье преподносится много очевидных вещей, мне она показалась достойной обсуждения на Хабре.

Почему Вам стоит похоронить эту популярную технологию

image
Читать дальше →
Total votes 71: ↑47 and ↓24+23
Comments148

Оперативные планы в Redmine без дополнительных плагинов

Reading time5 min
Views19K
Прочитав несколько хороших статей по организации оперативного планирования средствами Redmine (например, тут), решил поделиться опытом и написать о том, как реализовано оперативное планирование в нашей компании.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Задачи вступительного экзамена в ШАД 2014

Reading time14 min
Views64K


При поступлении в ШАД проверяются знания в рамках общей программы, включающей базовые разделы высшей алгебры, математического анализа, комбинаторики, теории вероятностей, а также основы программирования. Под катом подробно разобраны задачи вступительного экзамена в ШАД 2014 года. Внимание! Пост довольно объёмный, поэтому устраивайтесь поудобнее, вооружайтесь карандашом, если нужно, доставайте чай с печеньем. Убедитесь, что сделали все дела на вечер! Велика вероятность, что рассматриваемые ниже задачи поглотят ваш разум на несколько часов, а кому-то помешают вовремя лечь спать. Во всяком случае сегодняшний вечер обещает быть интересным. Добро пожаловать под кат
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments16

Покупка оптимальной квартиры с R

Reading time12 min
Views61K
Многие люди сталкиваются с вопросом покупки или продажи недвижимости, и важный критерий здесь, как бы не купить дороже или не продать дешевле относительно других, сопоставимых вариантов. Простейший способ — сравнительный, ориентироваться на среднюю цену метра в конкретном месте и экспертно добавляя или снижая проценты от стоимости за достоинства и недостатки конкретной квартиры. image Но данный подход трудоемок, неточен и не позволит учесть все многообразие отличий квартир друг от друга. Поэтому я решил автоматизировать процесс выбора недвижимости, используя анализ данных путем предсказания «справедливой» цены. В данной публикации описаны основные этапы такого анализа, выбрана лучшая предиктивная модель из восемнадцати протестированных моделей на основании трех критериев качества, в итоге лучшие (недооцененные) квартиры сразу помечаются на карте, и все это используя одно web-приложение, созданное с помощью R.

Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments35

NAS для нас: от дорогого к простому и бюджетному

Reading time4 min
Views132K
Продолжая тему накопителей, поднятую в постах про беспроводные диски и флешки, хочу перейти к теме NAS. Штука эта довольно интересная, особенно в эпоху планшетов, ноутбуков и множества семейных устройств. Я специально остановлюсь на домашнем применении, потому что корпоративный NAS – тема отдельной большой статьи.



Зачем нужен NAS дома? Вроде бы простой вопрос и большинство на него ответит так – для хранения данных и доступа к ним всех членов семьи. Только вот это совсем не так, потому что тогда проще и вполне достаточно будет взять нормальный роутер и подключить к нему внешний диск по USB.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments63

Best practices от Google по разработке Android приложений

Reading time8 min
Views45K
В данной статье я хотел бы вкратце рассказать про самые последние best practices от Google. Я постарался выделить самые основные моменты, чтобы читатель сразу мог понять, что именно какая-либо фича дает разработчику. Не удивляйтесь, если где-то повторяюсь. Конспектировал + добавлял от себя по ходу просмотров видео в www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg

Также к каждому пункту приводятся все необходимые ссылки для более подробного ознакомления с конкретной best practice.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments18

Аттракцион невиданной щедрости: 52 000 рублей от государства каждому на покупку акций

Reading time5 min
Views27K
Как накопить на свою квартиру, если у тебя на зарплатной карте с каждым днем таят деньги не только потому, что ты их тратишь, но и потому, что процент по вкладу ниже даже официальной инфляции?! В такой ситуации приходится искать новые способы защиты капитала, а так же дополнительные источники заработка.

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

image
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments36

Пишем свой упрощенный OpenGL на Rust — часть 3 (растеризатор)

Reading time13 min
Views14K
Продолжаю свой цикл статей про упрощенный аналог OpenGL на Rust, в котором уже вышло 2 статьи:
  1. Пишем свой упрощенный OpenGL на Rust — часть 1 (рисуем линию)
  2. Пишем свой упрощенный OpenGL на Rust — часть 2 (проволочный рендер)

Напоминаю, что основой моего цикла статей является «Краткий курс компьютерной графики» от haqreu. В предыдущих статьях я шел не очень быстро. Фактически на одну статью курса у меня получилось 2 статьи. Это связанно с тем, что в своих статьях я сосредоточиваюсь главным образом на нюансах работы с Rust, а когда только изучаешь новый язык, сталкиваешься с большим количеством новых для тебя нюансов, нежели чем когда программируешь на нем уже некоторое время. Думаю дальше Rust будет подбрасывать меньше граблей, и я выровняю соотношение своих статей к статьям оригинального курса.

Пока же традиционно предостерегаю, что поскольку я не являюсь профессионалом ни в Rust ни в 3D-графике, а изучаю эти вещи прямо по ходу написания статьи, то в ней может быть немало глупостей. Если замечаете такое, пишите комментарий — я поправлю ошибку. Ну и конечно в статье будет немало личных впечатлений, с которыми вы можете оказаться несогласными. Конструктивная критика приветствуется.


То, что мы получим по итогам данной статьи
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments18

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity