Search
Write a publication
Pull to refresh
38
0
Danov @Danov

Dev UWP/Mobile, Data Scientist, EduTech

Send message

Как работает сортировка у Реддита

Reading time4 min
Views8.9K
Сейчас на хабре продолжают обсуждать сортировки и рейтингования сущностей (записей, постов, комментов), так что я сам этим заинтересовался и, как раз находясь на реддите, решил узнать как там работает сортировка, и наткнулся на отличную и короткую статью.

Этот пост — продолжение разбора алгоритмов сортировки (в прошлый раз был Hacker News). В этот раз, мы разберем как работает сортировка постов и комментариев на Reddit. Алгоритмы у Реддита достаточно простые, чтобы понять их и реализовать.

Первая часть этой записи будет сфокусирована на сортировке постов, а вторая на сортировке комментариев. Они довольно сильно различаются, и за идеей способа сортировки комментариев стоит Randall Munroe (автор xkcd).

Разбираем сортировку постов

Реддит open-source-ный проект и его код полностью доступен на гитхабе. Он написан на питоне, исходники вы можете увидеть тут. Их алгоритмы сортировки написаны под Pyrex, для дальнейшей компиляции (трансляции) в C-код. Pyrex был выбран из-за производительности. Я переписал их реализации на чистый питон, чтобы они легче читались.
Читать дальше →

Что скрывается под алгоритмом ранкинга в Apple App Store? Хабра Квест

Reading time5 min
Views20K
Введение

Когда в разговорах между людьми речь заходит о мобильных приложениях, часто приходиться слышать об астрономических суммах, которые зарабатывают те или иные всемирно известные разработчики или об огромном числе загрузок того или иного приложения. СМИ то и дело сообщают о запуске на МКС плюшевых свиней из Angry Birds, а в США и вовсе Цукерберг купил Instagram за 1 000 000 000 долларов.

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

Вскоре после того, как мы начали делать проект Apps4All летом 2011 года, я стал интересоваться вопросом, сколько раз скачали или сколько зарабатывает то или иное приложение. Общаясь с другими разработчиками и представителями венчурных фондов и корпораций, я также обратил внимание, что они часто интересуются данными об успехах мобильных приложений.

Эти данные оказалось совсем не просто найти…
Читать дальше →

Обратная сторона луны

Reading time14 min
Views48K
При написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).

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

А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.

А я скажу как бы ни так!

В данной статье мы рассмотрим:
  • структура организации размещения объектов в памяти
  • CLR 4.5 Background Server GC
  • правильная настройка сборщика мусора
  • эффективный апгрейд приложений до .NET 4.0+
  • правильное ручное управление памятью

Читать дальше →

Умный дом от любителя или HomeMatic & Co

Reading time14 min
Views145K
В этом повествовании я бы хотел описать свой собственный опыт в области домашней автоматизации на уровне любителя. В своих экспериментах я столкнулся с довольно простыми в использовании системами HomeMatic и X10, применение которых и хотел бы здесь затронуть.
В новостях часто появляются сообщения, что можно управлять чайником или новогодней гирляндой с iPhone (причем обязательно с iPhone, а то новость не будет понята воспринята массами). При этом у меня каждый раз появляется негодование: ну почему люди так бурно реагируют на такие сообщения? Ведь уже давно существуют решения, которые позволяют это сделать. При этом управлять домом из любого браузера, и да… с iPhone тоже!


WebFront
Читать дальше →

Жесткая приоритизация, или 5 первых шагов к отличному приложению для Windows 8. Навигация

Reading time10 min
Views12K
From Idea to App

В предыдущей части мы рассмотрели три первых шага на пути проектирования приложения:
  1. Определение целевой аудитории
  2. Формулировка цели приложения
  3. Отбор ключевых сценариев

Как вы могли заметить, первые три шага действительно можно смело применять к любым проектам,
я думаю, они от этого только выиграют. В этой части мы рассмотрим четвертый шаг — планирование навигации в приложении, и на этот раз нам никак не обойтись без понимания специфики Windows 8.

Читать дальше →

Классификатор kNN

Reading time6 min
Views150K
kNN расшифровывается как k Nearest Neighbor или k Ближайших Соседей — это один из самых простых алгоритмов классификации, также иногда используемый в задачах регрессии. Благодаря своей простоте, он является хорошим примером, с которого можно начать знакомство с областью Machine Learning. В данной статье рассмотрен пример написания кода такого классификатора на python, а также визуализация полученных результатов.
Читать дальше →

Использование subversion и trac в учебном процессе студентов ИТ специальностей

Reading time6 min
Views3.4K
В последнее время про низкое качество подготовки студентов в вузах не говорит только ленивый. В том числе и на хабре за последнее время появилось множество статей, которые клеймят позором существующую систему высшего образования, сложившуюся в настоящий момент. Основная претензия, которую предъявляют вузам – это оторванность высшего образования от реальной жизни, от тех технологий, которые используются в бизнесе. Увы, зачастую эти претензии не безосновательны. Но я хочу показать свой личный, позитивный (надеюсь) опыт, как можно преломить эту ситуацию.

В данной статье представлен опыт использования системы версионного контроля subversion и системы отслеживания изменений Trac в рамках учебного процесса по дисциплине «Лингвистическое и программное обеспечение САПР» на каф. КСУП ТУСУР. Показаны преимущества, которые получили студенты и я, как преподаватель, от использования этих систем в учебном процессе.
Читать дальше →

Создание интерактивной карты офиса

Reading time4 min
Views92K
За последние пару лет число сотрудников нашей компании увеличилось практически в три раза и сейчас приближается к трем сотням. Это влечет за собой некоторое количество организационных проблем. В частности, из-за того что компания занимает множество различных помещений в бизнес-центре, остро встает вопрос ориентирования сотрудников (особенно это касается новичков) в офисном пространстве.

Ежедневно мы сталкиваемся с проблемой «Как найти в офисе Васю?» или, наоборот, мучаемся вопросом «Как зовут парня, который сидит в том углу?». В итоге пара энтузиастов решила положить этому конец. Так началась история разработки интерактивной карты нашего офиса. Об этом мы сегодня и расскажем.
Читать дальше →

Живые тайлы (Live tiles) в Windows 8 (WinRT)

Reading time21 min
Views24K
UI Windows 8 был существенно переработан и появился стартовый экран с тайлами (tiles – далее в скобках буду указывать используемые английские терминологии). Одним из основных преимуществ тайлов перед иконками – это возможность «оживления» (live tile) и предоставления важной для пользователя информации непосредственно на тайле. Кроме того, есть возможность создать вторичные тайлы (secondary tiles), которая позволяет переходить в приложение с определенными параметрами или на страницу вглубь приложения. В качестве примера можно привести погодное приложение отображающее погоду на основном тайле и погоду в выбранных городах на вторичных тайлах.

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

В этой статье рассмотрим следующие пункты.
подробнее

Контракт Settings в WinRT (Windows 8)

Reading time4 min
Views3.6K
Одним из основных контрактов доступных в чудо-панели Windows 8 является контракт Settings.
Активация панели настроек осуществляется соответствующей кнопкой «Settings» в чудо панели:
image

Пользователь всегда может зайти в эту панель для того чтобы управлять настройками приложения. (К примеру отключить возможность определения местоположения).
Довольно логично было бы не заставлять пользователя думать, где искать настройки самого приложения и разместить свои настройки приложения в эту же панель.

В этой статье мы рассмотрим две темы:.
Добавление поддержки контракта Settings
Добавление собственной панели настроек.

Подробности

Создание сайта Windows Azure Web Site и развёртывание там приложения ASP.NET MVC 4

Reading time2 min
Views27K

Итак, вы решили попробовать, что же такое Windows Azure Web Site и что там можно сделать. Начинать нужно, если у вас нет подписки Windows Azure, с получения пробного доступа. Этот шаг мы опустим в статье, как простой и сразу перейдём к главному — созданию Web Site.
Создание Windows Azure Web Site и развёртывание ASP.NET MVC 4 - много картинок

Ectognathus, робот-хексапод на микро-сервах своими руками

Reading time7 min
Views50K
Добрый день, уважаемые хабровчане. Представляю вашему вниманию статью, в которой я описываю процесс проектирования и создания шестиногого робота полностью с нуля. Вы не найдете здесь надоевших всем ардуин и готовых наборов «хексапод за 5 минут». Из-за большого объема информации, статья будет состоять из нескольких частей, описывающих разные этапы проектирования и освещающих грабли, на которые я наступал в процессе оного.
Итак, встречайте – Ectognathus.
Читать дальше →

Семь практических методов и инструментов, позволяющих оптимизировать работу над диссертацией

Reading time5 min
Views20K
Написание качественной магистерской диссертации полноценно охватывающей все разделы проведенного исследования, основной работы, анализа и апробации результатов является сложной и комплексной задачей, ежедневно с различным успехом решаемой множеством студентов по всему миру. К сожалению, изучение существующей литературы [1, 2], посвященной тематике написания диссертационного исследования, указывает на отсутствие материалов описывающих практический опыт применения различных методов и инструментов, позволяющих не только оптимизировать работу над диссертацией, но и улучшить качество конечного результата.
В данной статье рассмотрим семь практических методов и инструментов, применение которых позволит обеспечить целостное структурирование и систематизацию задач, знаний и различных данных получаемых в ходе работы с диссертацией:
  1. Формирование структуры задач.
  2. Поиск литературы в каталогах.
  3. Сбор, обработка и систематизация информации.
  4. Формирование списка литературы.
  5. Составление плана по вехам.
  6. Определение предмета исследования.
  7. «Summary» для научного руководителя.

Читать дальше →

Диагностика в картинках: понимаем состояние продукта с помощью таблиц и графиков

Reading time11 min
Views5.1K
Красивая идея продукта в рамках крупной компании или стартапа почти всегда неизбежно сталкивается с рядом сложностей на этапе воплощения. Частенько бывает, что работа идет, баги фиксятся, релиз приближается, но общего понимания состояния продукта нет как нет. Так бывает потому, что собственная гениальность создателей софта или сервиса (особенно если речь идет о стартапах) застит им глаза, и проблемы продукта понимаются неадекватно. Как результат — в лучшем случае команда не попадает в сроки релиза, а в худшем – на свет появляется нежизнеспособный продукт, который пользователи презрительно называют альфой и шлют создателям лучи ненависти через форму обратной связи.

Капитан Очевидность намекает: чтобы такого не допустить, важно уметь понимать, в каком состоянии находится ваш продукт на каждом этапе его развития. В этой большой статье предлагается методика оценки его состояния в самой наглядной форме – в форме таблиц и графиков. Здесь обобщен мой опыт и опыт всей команды новосибирского офиса Parallels за последние шесть лет. Чтобы было понятно: мы делаем Parallels Plesk Panel – хостинг-панель, которая используется примерно на каждом втором сервере в мире, предоставляющем услуги веб-хостинга. Применив эту методику, мы получили вот такие результаты:
  1. существенно улучшилось качество выпускаемых релизов (согласно Incident rate);
  2. релизы стали более предсказуемыми, точность наших прогнозов и оценок выросла в разы;
  3. появилось понимание, почему что-то идёт не так и как этого избежать в будущем.

Заинтересованных лиц прошу под кат и в комменты. Отвечу на любые вопросы.
Читать дальше →

Прототип, блочная схема, макет – что выбрать?

Reading time6 min
Views15K
image

Это перевод оригинальной статьи «Wireframing, Prototyping, Mockuping – What’s the Difference?».

Итак


Пару лет назад я понял, что многие из моих коллег(не дизайнеров) по разному называют результаты моей работы. Они предположили, что блочная разметка (wireframe), прототип (prototype) и макет (mockup) – это одно и тоже – своего рода сероватый, квадратный, эскиз поясняющий гениальные идеи.
Читать дальше →

Как я покупал квартиру

Reading time11 min
Views62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →

События .NET в деталях

Reading time9 min
Views153K
Если вы .NET программист, то вы наверняка объявляли и использовали события в своем коде. Несмотря на это, не все знают, как события работают внутри и какие особенности связаны с их применением. В этой статье я попытался описать работу событий как можно более подробно, включая некоторые частные случаи, с которыми редко приходится иметь дело, но про которые важно и\или интересно знать.
Читать дальше →

Сергей Белоусов: Мы инвестируем в тех, кто хочет решить какую-то проблему, а не заработать деньги

Reading time1 min
Views8.1K


Основатель венчурного фонда Runa Capital Сергей Белоусов дал эксклюзивное и почти часовое интервью телеканалу Дождь и рассказал о истории своего успеха и секретах венчурного бизнеса.
Читать дальше →

Хочешь быть программистом — будь им!

Reading time4 min
Views51K
Данный пост навеян статьей "Я, пользователь!", которая вызвала много споров, и была весьма прохладно встречена сообществом. Обсуждение в комментариях показало, что мысль, которую Автор высказал довольно жестко и агрессивно, была воспринята как призыв вернуться к ветряным мельницам. Однако, на мой взгляд, проблема затронутая автором, гораздо глубже.
Сейчас я постараюсь объяснить, что я имею в виду.

Firefox 15 поддерживает свободный аудиоформат Opus

Reading time2 min
Views5.3K
В браузере Firefox 15 (бета-версия) реализована поддержка свободного аудиоформата Opus. Этот кодек недавно приняли для рассмотрения в качестве стандарта организацией IETF, он качественно превосходит любые другие стандарты кодирования и передачи звука.


Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity