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

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

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

Практика программирования игр на python: жизнь

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


Недавно стало известно, что python признан самым популярным языком для обучения студентов в США. Я, будучи студентом Технопарка, решил не отставать от тренда, поподробнее изучить этот модный язык и заодно написать несколько постов. Для разминки я решил реализовать Conway's Game of Life. Это довольно-таки забавная «игра», в которой мы можем в некотором смысле моделировать развитие группы организмов в окружающей среде. Правила такие: делим пространство на клетки, которые могут быть либо живыми, либо пустыми. А затем на каждом шаге состояние клетки обновляем в зависимости от числа живых соседей. Например, слишком много — клетка умирает, а если нет — рождается. Можно от души экспериментировать с конфигурациями, получаются разные странные вещи, иногда корабли. Корабли (gliders) — отдельная тема, это такие группы клеток, которые изменяются и вместе с тем путешествуют в пространстве. Кроме кораблей могут образовываться и другие группы клеток с хитрыми свойствами, но о них — в Википедии.
Читать дальше →
Всего голосов 71: ↑44 и ↓27+17
Комментарии11

Строим маршруты с помощью OpenStreetMap, OSRM и Leaflet

Время на прочтение3 мин
Количество просмотров56K
Привет, %username%! Хочу написать маленькую статейку о том, как с помощью OpenStreetMap, OSRM и Leaflet прокладывать маршруты в своем проекте. Рассказывать что представляют из себя вышеуказанные технологии я не буду — на хабре о них писалось не раз уже, статья будет маленькая и только по делу. Итак, если вы хотите строить маршруты — прошу под кат.

image
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии6

С большой силой приходит и большая ответственность — техника безопасности в AngularJS

Время на прочтение3 мин
Количество просмотров19K
image

Несомненно, ангуляр даёт вам силу. Но пользоваться ей нужно с умом. Я постарался сформулировать три простых правила, которые я много раз нарушал и страдал от этого.
Читать дальше →
Всего голосов 28: ↑18 и ↓10+8
Комментарии22

Мега-Учебник Flask, Часть 8: Подписчики, контакты и друзья

Время на прочтение17 мин
Количество просмотров24K
Это восьмая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.



Краткое повторение


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

Сегодня мы немного поработаем с нашей базой данных.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии5

Функциональный Javascript. Пишем свои линзы, часть 1

Время на прочтение7 мин
Количество просмотров29K
Привет, хабр.
В данной статье мы познакомимся с линзами, узнаем для чего они нужны, а также реализуем их на JavaScript.

Зачем нужны линзы


Начнем, пожалуй, с ответа на вопрос, зачем же нужны линзы.

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

В основе этого лежит тот факт, что при изменении какой-либо части неизменяемой структуры данных создается ее копия, отличающаяся от оригинала этой самой измененной частью. Полное копирование всей исходной структуры не эффективно, поэтому новая структура как правило использует ссылки на неизмененные части из оригинала.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии42

Python-digest #33. Новости, интересные проекты, статьи и интервью [13 июля 2014 — 20 июля 2014]

Время на прочтение3 мин
Количество просмотров11K
Очередной выпуск новостей из мира Python. Мы продолжаем собирать для вас интересную информацию о любимом языке программирования и близлежащих технологиях. Возможно, вы спросите, а что же нового в мире python произошло? А мы вам ответим, произошло много интересных событий, таких как, релизы Tornado 4.0, Widgy CMS, PyMonad, Omega: новый Web Framework Python, pycomedi 0.8. Вышли в свет интересные статьи, эффективная многопоточность в Python, разворачивание developer окружения Django на Windows 7, обоснование для применения python, 1 урок из цикла Python для Android, SQLite — компактный, быстрый и отзывчивый — выбери все три пункта! Подробнее обо всем этом можно прочитать под катом.
Перейти к дайджесту
Всего голосов 39: ↑37 и ↓2+35
Комментарии3

Как с большой вероятностью поступить в североамериканский ВУЗ

Время на прочтение7 мин
Количество просмотров59K
Добрый день! Меня зовут Чингиз. По просьбе Csklassami постараюсь рассказать, как с большой долей вероятности поступить в североамериканский ВУЗ на бакалавра. Мне 17 лет и поступал я в этом году первый раз.



Скажу так: если вы пишете статьи на Хабре или с большим интересом их читаете, а главное понимаете суть, то, скорее всего, вы сможете поступить. Звучит, конечно, не очень правдоподобно, но вот в чем дело: в университетах США действует отличная от российской система приема. В американской системе, помимо результатов теста, университет интересуется вашими увлечениями. Для них важно, чтобы вы могли заниматься там научной деятельностью, были разносторонними.

Вот, например, цитата с официального сайта MIT для абитуриентов (undergraduate):

«The most important thing to remember is that at MIT we admit people, not numbers...».
«Очень важно понимать, что в MIT мы принимаем людей, а не цифры...».

В этом посте я опишу весь процесс поступления, начиная от выбора универов и заканчивая прохождением интервью, основываясь на своем личном опыте.
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии28

Магистратура в США. Fulbright Graduate Student Program. Часть 1

Время на прочтение7 мин
Количество просмотров51K
На Хабре периодически попадаются истории о том, как люди едут учиться за границу. Было уже и несколько статей именно про обучение в Америке. Но я не нашел постов о получении стипендии программы Фулбрайта, поэтому решил поделиться своим опытом подачи документов на стипендию, прохождения конкурса и обучением в Университете Пердью. Так что, если вам интересно и особенно если есть желание попробовать поучаствовать в конкурсе на стипендию, добро пожаловать под кат.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии9

Стартап шаг за шагом: первая бизнес-модель

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


Мы продолжаем цикл статей о том, как построить стартап, — рассказываем о каждом шаге на собственном примере. Мы уже описали, как придумать идею и как собрать команду, теперь поговорим о бизнес-модели.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии6

JavaScript модули

Время на прочтение4 мин
Количество просмотров18K
Перевод статьи «JavaScript Modules» с сайта jsmodules.io.

В новой версии JavaScript появится модульная система, главным образом вдохновленная идеей модулей Node.js.
В этой статье я расскажу, как это будет работать.

Создание модуля


В качестве упражнения, мы построим простой asap модуль, который позволит назначать выполнение действий «как только так сразу» асинхронным образом. В Node.js, вы можете сделать это при помощи process.nextTick, есть и разные подходы, которые работают во многих браузерах. Мы создадим модуль, который будет работать в любом окружении.1
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии10

Функциональный JavaScript, Часть 1: Введение

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

Введение


JavaScript мощный, но недопонятый язык программирования. Людям нравится говорить, что он является объектно-ориентированным языком программирования или является функциональным языком. Другим нравится говорить, что он не является объектно ориентированным или не является функциональным языком программирования. Некоторые скажут что он относится к обеим парадигмам или ни к одной из них — но, давайте отложим на пока этот спор в сторонку.
Читать дальше →
Всего голосов 48: ↑37 и ↓11+26
Комментарии15

Реализация и апробация алгоритма распознавания мимики

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

Содержание:


1. Поиск и анализ цветового пространства оптимального для построения выделяющихся объектов на заданном классе изображений
2. Определение доминирующих признаков классификации и разработка математической модели изображений мимики"
3. Синтез оптимального алгоритма распознавания мимики
4. Реализация и апробация алгоритма распознавания мимики
5. Создание тестовой базы данных изображений губ пользователей в различных состояниях для увеличения точности работы системы
6. Поиск оптимальной аудио-системы распознавания речи на базе открытого исходного кода
7. Поиск оптимальной системы аудио распознавания речи с закрытым исходным кодом, но имеющими открытые API, для возможности интеграции
8. Эксперимент интеграции видео расширения в систему аудио-распознавания речи с протоколом испытаний

Цели:



Определить наиболее оптимальный алгоритм под задачи распознавания мимики человеческого лица, рассмотреть способы его реализации.

Задачи:



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

Введение



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

1. Алгоритмы распознавания человеческого лица:

1.1 Алгоритмы, основанные на деформируемой модели.



Деформируемая модель (deformable template model) – это шаблон некоторой формы (для двумерного случая — открытая либо замкнутая кривая, для трехмерного — поверхность). Наложенный на изображение, шаблон деформируется под воздействием различных сил, внутренних (определенных для каждого конкретного шаблона) и внешних (определенных изображением, на которое наложен шаблон) — модель меняет свою форму, подстраиваясь под входные данные [1]. Исходная грубая модель губ деформируется под действием силовых полей, заданных входным изображением (Рис.1).
image
Основное преимущество над традиционными методами поиска, такими как преобразование Хафа (Hough transform [2]), в которых шаблон для поиска задается жестко, заключается в том, что деформируемые модели в процессе работы могут менять свою форму, позволяя более гибко осуществлять поиск объекта [3].

Основной недостаток деформируемых моделей [4] заключается в необходимости проведения большого числа итераций над большим количеством кадров, что значительно нагружает систему, но при вынесении основных вычислений в облако можно разгрузить систему.

Деформируемые модели можно классифицировать по типу ограничений, накладываемых на их форму, на два вида: деформируемые модели свободной формы и параметрические деформируемые модели.
Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии4

Стартап шаг за шагом: будущее онлайн-образования

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


Всем привет!

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

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

В серии статей мы пройдем по шагам от идеи до реализации на нашем собственном примере. С чего начать, как найти единомышленников, где найти деньги, как построить бизнес-модель и т. д. Все это с точки зрения начинающих стартаперов. Также расскажем об ошибках и трудностях и дадим советы, исходя не из теории, а из полученного опыта.
Читать дальше →
Всего голосов 35: ↑25 и ↓10+15
Комментарии31

20 заповедей качественного общения с клиентом

Время на прочтение5 мин
Количество просмотров284K
Можно ли ответить на вопросы клиента еще до того, как он их задаст? Общаться с клиентом по-свойски или в официальном тоне? За какое время надо отвечать на вопросы в почте? Как сделать клиента счастливым и постоянным?

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

Перед вами выдержка из нашего внутреннего документа, обязательного к изучению каждому менеджеру-новичку в Alconost. Итак, 20 заповедей качественного общения с клиентами:


Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии10

Обзор наиболее интересных материалов по анализу данных и машинному обучению №4 (23 июня — 7 июля 2014)

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

Прошлый выпуск обзора был полностью посвящен онлайн-курсам по тематике Data Science. Данный выпуск обзора наиболее интересных материалов по анализу данных и машинному обучению будет содержать ссылки на свежие материалы по тематике. В данном выпуске некоторое количество материалов посвящено важной теме визуализации данных. Есть несколько статей, которые описывают небольшие практические примеры анализа данных. Как обычно много статей посвящено алгоритмам машинного обучения, в том числе несколько статей посвящены популярным алгоритмам машинного обучения Deep Learning и Random Forest. Также есть несколько ссылок на интересные видеоматериалы.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии0

Autopolyfiller — Precise polyfills

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

В этой статье я хочу рассказать об инструменте Autopolyfiller, который помогает вам использовать последние функции ECMAScript и при этом не думать об подключаемых полифиллах.

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

Есть целый ряд способов исправить эту ситуацию:

lodash и underscore


Это достаточно популярный способ «починить» браузеры на сегодняшний день, плюс ко всему lodash приносит ряд полезных функций для работы с данными. К тому же он позволяет беречь нервы разработчиков, которые до сих пор боятся менять прототип базовых классов «во благо».

_.chain([1, 2, 3, 4])
.map(function (item) {
    return item * item;
})
.filter(function (item) {
    return item < 9;
})
.value();

Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии5

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №116 (29 июня — 6 июля 2014)

Время на прочтение4 мин
Количество просмотров28K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии7

Дайджест статей по анализу данных №4 (23.06.2014 —06.07.2014)

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

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

Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии0

Нагрузочное тестирование базы данных. ContiPerf + DBUnit

Время на прочтение4 мин
Количество просмотров15K
Ниже представлен опыт нагрузочного тестирования базы данных с использованием JUnit и ассоциированных с ним DBUnit и ContiPerf.

ContiPerf

ContiPerf — утилита, которая позволяет использовать JUnit4 для нагрузочных тестов. Проста в использовании, легко и разнообразно настраивается. Использует Java аннотации для задания настроек теста и требований выполнения, создает подробный отчет в виде html файла с графиком распределения времени выполнения. Требует использование Java не ниже 5 версии и JUnit не ниже версии 4.7.

DBUnit

DBUnit — расширение для JUnit, упрощающее тестирование программ, работающих с бд. Впрочем, вполне популярен и в представлении не нуждается, поэтому ограничусь ссылками: знакомство для начинающих, упоминания на хабре.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Пишем бота для онлайн-игры на JavaScript с применением AOP

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

Если вы как и я любите онлайн игры, но не любите тратить на них сильно много времени, добро пожаловать под кат. Мы не будем обсуждать боты это хорошо или нет, а просто разберем как можно для конкретной онлайн игры сделать бота. Он будет не тупо клацать по кнопке по таймауту, а будет реагировать на события в браузере. Это мы сделаем с помощью Аспектно-ориентированного программирования (далее AOP). Для примера я выбрал полюбившуюся хабром игру Пернатск.
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии6

Информация

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