Как стать автором
Обновить
0
0

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

Отправить сообщение

Moneyball и Формула-1: модель прогнозирования результатов квалификаций

Время на прочтение6 мин
Количество просмотров2.4K


Сразу скажу: я не IT-специалист, а энтузиаст в сфере статистики. Помимо этого, я на протяжении многих лет участвовал в различных конкурсах прогнозов по Формуле-1. Отсюда вытекают и задачи, стоявшие перед моей моделью: выдавать прогнозы, которые были бы не хуже тех, которые создаются «на глаз». А в идеале модель, конечно, должна обыгрывать человеческих оппонентов.

Эта модель посвящена прогнозированию исключительно результатов квалификаций, поскольку квалификации более предсказуемы, чем гонки, и их проще моделировать. Однако, конечно, в будущем я планирую создать модель, позволяющую с достаточно хорошей точностью предсказывать и результаты гонок.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии14

50+ лучших дополнений к Bootstrap

Время на прочтение5 мин
Количество просмотров202K


Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Всего голосов 123: ↑111 и ↓12+99
Комментарии25

Как работает yield

Время на прочтение6 мин
Количество просмотров683K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Всего голосов 141: ↑136 и ↓5+131
Комментарии41

Выразительный JavaScript: Функции высшего порядка

Время на прочтение17 мин
Количество просмотров104K

Содержание




Цу-ли и Цу-су похвалялись размерами своих новых программ. «Двести тысяч строк»,- сказал Цу-ли,- «не считая комментариев!» Цу-су ответил: «Пф-ф, моя – почти миллион строк». Мастер Юнь-Ма сказал: «Моя лучшая программа занимает пятьсот строк». Услышав это, Цу-ли и Цу-су испытали просветление.

Мастер Юнь-Ма, Книга программирования

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

Энтони Хоар, 1980 лекция на вручении премии Тьюринга


Большая программа – затратная программа, и не только из-за времени её написания. Большой размер обычно означает сложность, а сложность сбивает с толку программистов. Сбитые с толку программисты делают ошибки в программах. Большая программа означает, что багам есть где спрятаться и их получается труднее отыскать.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии7

Как я завел дружбу с асинхронностью в JavaScript

Время на прочтение12 мин
Количество просмотров43K
JavaScript встречает разработчиков асинхронностью можно сказать чуть ли не с порога. Начинается все с DOM-событий, ajax, таймерами и библиотечными методами, связанными с анимацией (например jQuery-методы fadeIn/fadeOut, slideUp/slideDown). В целом, это все не очень сложно и разобраться с асинхронностью на этом этапе не представляет проблем. Однако, как только мы переходим к написанию более или менее сложных приложений, в которых комбинируется все вышеуказанное, асинхронный поток может сильно затруднить понимание происходящего в коде. Цепочки асинхронных действий, например, анимация > ajax-запрос > инициализация -> анимация, создают достаточно сложную архитектуру, которая не подчиняется строгому направлению «снизу верх». В этой статье я намерен рассказать про свой опыт преодоления трудностей связанных с асинхронным JS.
Читать дальше →
Всего голосов 58: ↑32 и ↓26+6
Комментарии15

Развёртывание django приложения на OpenShift хостинге от Red Hat

Время на прочтение4 мин
Количество просмотров16K
Преимущества облачного хостинга в наше время объяснять не приходиться, а Red Hat предлагает нам ещё и опробовать все вкусности бесплатно (естественно с некоторыми ограничениями).
Вы не платите за хостинг и получаете?

  • 1 Gb дискового пространства
  • возможность создать 3 приложения
  • поддержку php 5.3, Ruby 1.9, Node.js 0.6, Perl 5.10, python 2.6 (3.3), Zend Server 5.6 и это ещё не полный список.

Ну а если необходимого языка не нашлось можно создать Do-It-Yourself приложение и настроить его как душе угодно.

Мы же рассмотрим развёртывание Django приложения.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии6

Несколько полезных шорткатов для Sublime Text ниндзи

Время на прочтение2 мин
Количество просмотров217K
Доброго времени суток, уважаемые хабравчане. Многие пользуются замечательным редактором Sublime Text, который стал популярен благодаря своей простоте, гибкости/кастомизации и огромному количеству плагинов. Хочу поделиться с вами, на мой взгляд, самыми полезными шорткатами при работе с Sublime.

image

Переход по фрагментам

Win/Linux: CTRL+R
Mac: CMD+R
Вероятно, самое полезное сочетание клавиш для экономии вашего времени. Содержимое документа разбивается на определенные фрагменты (функции, HTML теги или CSS стили). Переход происходит при выборе соответствующего фрагмента во всплывающем окне.

Читать дальше →
Всего голосов 85: ↑60 и ↓25+35
Комментарии52

Попытка сделать дайджест новостей из мира Python

Время на прочтение3 мин
Количество просмотров18K
Постоянно читаю на хабре Дайджест новостей о php и ловлю себя на мысли, что очень бы хотел читать что-то похожее о python на постоянной основе. Понятное дело, что в одиночку это дело неподъемное, но хочу попытаться — а может читатели и пожелают помочь. Для удобного создания дайджестов я написал небольшое приложение на Dajngo и выложил его код на github — есть он и в web, но за ссылкой лучше в личку стукнуться. Там есть еще два прошлых выпуска и лента по мере добавления новостей, ну и права дам на админку, если нужно.

Новости в основном с PythonWeekly и на английском так как активность рускоязычного сообщества примерно с 2011 года по субъективным ощущениям небольшая. Хотя, вполне возможно я просто плохо ищу источники и вы подкажете мне где можно находить хорошие материалы о python на русском. Также для подбора материалов я использую информацию о трендах github, pypi и pep8.ru — отличный но почему-то приостановивший свое развитие ресурс.

Под катом собственно дайджест. Очень жду комментариев о том как улучшить оформление, состав, тематику, группировку новостей. Даешь python в массы.
Читать дальше →
Всего голосов 89: ↑87 и ↓2+85
Комментарии27

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность