Обновить
8
Евгений Филиппов@javaorca

Lead

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

Рейтинг на основании истории

Время на прочтение4 мин
Охват и читатели3K

Постановка задачи


Контекст: есть шахматный турнир с достаточно большим количеством игроков самого разного уровня.
Приняты решения: не разбивать игроков на чётко определённые группы (друг друга не знаем ещё, непонятно, кого куда помещать), не делать турнир «на вылет» (много новичков, им просто обидно будет вылететь после первой партии). Более-менее (вручную) справляемся с выбором партнёром примерно одинакового уровня.

Задача: сделать систему рейтинга по результатам турнира. Поскольку играем не «на вылет», финала нет. Учитывать количество очков несерьёзно из-за разношерстности игроков. То есть система рейтинга должна быть такой, что выигрыш у самого слабого игрока или проигрыш у самого сильного практически не должны влиять на наш рейтинг.
Читать дальше →

Распознавание и синтез речи в любое приложение под iOS за час

Время на прочтение12 мин
Охват и читатели12K
Вводная часть:

Сам инструментарий называется NDEV. Чтоб получить необходимый код (его мало) и документацию (её много), надо зарегиться на сайте в «программе сотрудничества». Сайт:

dragonmobile.nuancemobiledeveloper.com/public/index.php

Это весь «геморрой», если клиентов вашего приложения менее полумиллиона и они пользуются сервисами менее 20 раз в день. Сразу после регистрации вы получите членство «Silver», которое позволит вам бесплатно пользоваться данными сервисами.
Разработчикам предлагается пошаговая инструкция по внедрению в свое приложение на iOS сервисов распознавания и синтеза речи:

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

Последовательный вызов асинхронных функций

Время на прочтение3 мин
Охват и читатели34K
Как известно, язык JavaScript преследует парадигму событийно-ориентированного программирования. Это, безусловно, хорошо, но что делать, если за одной асинхронной функцией должна вызываться другая асинхронная функция, а затем еще одна, и еще… Иногда такой код очень запутывает, и не только человека привыкшего к синхронному и поочередному вызову функций. Это касается сложных анимаций, таймаутов, аякса, когда за одним должно следовать другое, и так дальше.

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

UPD
image
Ниже моё решение, являющееся аналогом этой функции модуля async и кучи других подобных решений, представленных в комментариях. Спасибо всем комментирующим и sedictor в частности.
/UPD

Рассмотрим пример (который взят из головы и в нем возможны ошибки) гипотетического парсера сайта, который после парсинга заносит данные в БД, и, после занесения, вызывает некоторый код.

var html = '';
request.on('response', function (response) {

    response.on('data', function (chunk) {
        html = html + chunk;
    });

    response.on('end', function() {
        //какой-то парсер
        parse(html, function(data){  
                //какая-нибудь функция, добавляющая данные в базу
		addToDatabase(data, function() {  
			doSomething();
		})
	});

    });
});


Много вложенных колбеков — не есть гуд, пробуем по-другому.
Читать дальше →

Домашняя бухгалтерия от портала FINANCE.UA

Время на прочтение5 мин
Охват и читатели8.2K
Сегодня речь пойдет о еще одном проекте портала FINANCE.UA — онлайн-системе для ведения домашней бухгалтерии «Домашние Финансы — Home.Finance.Ua» и об открытом API «Домашних Финансов».
Структурно ведение домашней бухгалтерии в Домашних Финансах можно разделить на учет, планирование и анализ. Под катом я расскажу об этом подробнее.

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

Как делалось iPhone-приложение для ServerClub

Время на прочтение5 мин
Охват и читатели1.9K
В преддверии осени я завершил разработку iPhone-приложения для хостинга ServerClub.com. Теперь выдалась свободная минутка, и мне хотелось бы воспользоваться ею, чтобы поделиться с Хабрасообществом некоторыми усвоенными в ходе проекта уроками, а также поведать о «граблях», которые встретились на пути.

Итак, началось все с того, что в HQ компании ServerClub.com, предоставляющей в аренду серверы и сопутствующий сервис, родилась идея дополнить веб-сайт мультиплатформенным мобильным клиентом, который предоставлял бы пользователям доступ к их серверам, данным по трафику, датчикам, тикетам, финансам, счетам на оплату, а также позволял бы заказывать серверы прямо из приложения. Вообщем, задумали они повторить весь функционал веб-клиента, переосмыслив и упаковав его в мобильное приложение. Сразу было понятно, что работы предстоит немало, но все же, как это часто бывает, оптимизм переборол разум, и я оценил работу в 1 календарный месяц, по прошествии которого я рассчитывал опубликовать приложение в App Store. Вот только в ходе разработки, согласования и уточнений каждая крупная фича «обросла» еще и мелкими нюансами, на реализацию и полировку которых ушло дополнительное время. Кроме того, неожиданные сюрпризы преподнесли ревьюверы, но обо всем по порядку.
Читать дальше →

Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 3

Время на прочтение3 мин
Охват и читатели2.3K
Те, кто до этого времени использовали класс vk.wallpost.php, возможно, столкнулись с проблемой работы данного скрипта на хостинге. Данный класс был написан пользователем xbreaker и подробно разобран по частям в статьях: Часть 1 и Часть 2.

Скрипт замечательно работает на локальном компьютере. Но когда его закидываешь на хостинг он перестает отсылать сообщения.
Читать дальше →

Установка приложений Google в эмулятор Android

Время на прочтение3 мин
Охват и читатели38K


В этой статье описано как установить дополнительные программы (в частности, Google Apps) в эмулятор Android. Это может понадобиться если вы хотите на эмуляторе:
1. Настроить синхронизацию с аккаунтом Google.
2. Установить календарь и календарь провайдер.
3. Установить Android Market.
4. И прочее…

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

Создание плагина для WordPress — Видеоуроки

Время на прочтение1 мин
Охват и читатели65K
Видеоуроки по созданию плагина для WordPress

Приветствую вас, уважаемый хабрачеловек!

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

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

Из видеокурса вы узанаете:
  • С чего начать разработку плагина.
  • Что такое хуки, экшены и фильтры.
  • Как сделать страницу настроек плагина в админке блога.
  • Принципы программирования на PHP функционала плагина.


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

Разработка на Java и OpenCL: Дорога в облака

Время на прочтение5 мин
Охват и читатели10K


В статье рассматривается использование платформы Java для разработки совместно с OpenCL, преимущества и недостатки этого подхода. Сочетание этих технологий в разработке ПО в перспективе позволит использовать всю мощь облачных вычислений и OpenCL
Читать дальше →

Не DropBox единым жив человек – 10 альтернатив популярному сервису

Время на прочтение5 мин
Охват и читатели83K
Dropbox — чрезвычайно популярный облачный сервис. Если вы давно им пользуетесь, то скорее всего, не искали альтернативы. Это не удивительно — Dropbox настолько удобен в пользовании, что стимула для поиска другого сервиса просто нет. Однако, если задуматься, сервис имеет ряд весомых недостатков:
• Нельзя разместить свой собственный сервер;
• Бесплатно доступно всего лишь 2 Гб;
• Нет удаленного доступа к компьютерам;
• Нет открытого исходного кода.

А ведь сервису DropBox существует множество альтернатив — как новых, так и не очень.
Читать дальше →

Защита от платного контента партнеров-мошенников ОПераторов СОтовой Связи

Время на прочтение7 мин
Охват и читатели269K
Я попытаюсь собрать в этом топике актуальную на настоящий момент информацию о сервисах операторов Большой тройки для частных пользователей по противодействию воровству денег с помощью поставщиков коммерческого контента.
Читать дальше →

REST vs SOAP. Часть 2. Как проще и эффективнее организовать общение платформ?

Время на прочтение6 мин
Охват и читатели106K
После написания первой части статьи аппетит разыгрался и захотелось продолжить изучение, на этот раз больше с уклом в практическую часть. Весь сыр-бор у нас разгорелся из-за необходимости взаимодействии приложений и платформ, поэтому именно этому в основном и будет посвящена статья.
Читать дальше →

XenApp: Опыт установки и настройки

Время на прочтение6 мин
Охват и читатели94K
Доброго времени суток, Хабровчане.

Преамбула

XenApp (читается «ЗенАп») придуман компанией Citrix для виртуализации и доставки приложений через тонкий клиент, посредством своего собственного протокола CIA. Надо сказать, что идея сама по себе хороша, потому что в теории избавляет от многих головняков, типа покупки лицензионного софта от Империи Зла и других, чуть менее жадных вендоров. Конечно, это интересно, только если брать приложения в аренду, потому что лицензии на XenApp стоят достаточно дорого. Хочется отметить, что XenApp работает только под Windows.
Не знаю, к сожалению или к счастью, но все крупнейшие производители самого потребляемого софта сейчас имеют свои полнофункциональные продукты, доступные либо через web-интерфейс, либо через тонкий клиент, поэтому мне кажется, что XenApp, как отдельный продукт, очень скоро станет неинтересен конечному потребителю, и останется в поле зрения у компаний, которые сами занимаются арендой приложений. Как раз на аренду приложений сделала ставку моя компания.
И после того, как я был озадачен этой интересной затеей, я понял, что гугль ничего внятного на русском языке про XenApp не выдаёт, а всё, что можно покурить — это обширный мануал на сайте Citrix.com на английском языке. Но разве для нас это проблема?
Руководствуясь чувством «помочь ближнему своему» я решил описать процесс установки и настройки XenApp, который мне пришлось расковыривать самостоятельно, используя англоязычный мануал и плохо знакомого человека, который лицензированный специалист Citrix.
Читать дальше →

Вакансии в новых проектах – вы нужны нам уже завтра

Время на прочтение4 мин
Охват и читатели11K
Сегодня прошел первый день Харвеста – рабочих выходных, в течение которых IT-предприниматели создают будущие звездные проекты. Подробный отчет мы подготовим чуть позже, а пока оперативные новости.

В субботу утром было представлено почти 30 идей проектов. Многим из них требуются специалисты. Программисты, маркетологи, дизайнеры… Найдите вашу будущую работу здесь и приходите завтра за ней на Харвест!

Вот, кто нужен проектам:


EYC
Мобильная система лояльности для кафе и ресторанов. Заведениям предоставляется облачный CRM-сервис, который позволяет повышать возвращаемость клиентов.
  • Разработчики: front end (PHP, Ruby), back end (разработка CRM)
  • Разработчик мобильных приложений на iOS и Android
  • Специалист по продажам
Verdict.me
Пользователи узнают о том, как видят их окружающие: о каждом человеке на сервисе можно оставить мнение (в том числе анонимно), оценку, дать характеристику.
  • Дизайнер и специалист по юзабилити (лучше в одном лице)
  • Веб-разработчик
Читать дальше →

Кроссплатформенность — это круто

Время на прочтение8 мин
Охват и читатели30K
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

Ни для кого не секрет, что сегодня мобильные игры очень популярны. Возможность написать одну из таких игр есть у каждого разработчика, даже начинающего. Часто возникает вопрос с выбором платформы. Конечно, хочется, чтобы игра была сразу везде: на iOS и Android, на WP7 и MeeGo, на десктопе и в браузере. И чтобы все это можно было лекго реализовать с помощью бесплатных инструментов.



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

Impressive Solids: делаем игру на C# под OpenGL, часть II

Время на прочтение15 мин
Охват и читатели16K
Скриншот оформленной игры В первой части разработки тетрисоподобной игры Impressive Solids мы реализовали основную часть геймплея, уделив минимальное внимание внешнему виду приложения. Мы и OpenGL-то почти не использовали, всего и делали, что рисовали цветной прямоугольник. Пришла пора заняться оформлением, а также реализовать подсчёт очков и хранение рекорда (high score). Ну что, поехали дальше.

Picture This


Займёмся текстурами. Нам нужно, во-первых, натянуть что-нибудь на фон окна, а во-вторых, сделать приятно выглядящие блоки (сейчас это просто цветные прямоугольники). Понятное дело, сначала надо изготовить текстуры. В этом нам поможет GIMP. Если у вас нет желания заниматься графикой, можете просто скачать архив с готовыми текстурами и переходить к следующему этапу.

Но сперва отмечу один очень важный нюанс. До версии OpenGL 2.0 каждый из размеров текстуры обязан был быть равным степени двойки (т. е. 64×64, 512×256; это POT-текстуры, от англ. power of two). Если текстуры произвольного размера (NPOT-текстуры) не поддерживаются видеокартой или драйвером видеокарты, такая текстура не будет работать. Это имеет место, например, для встроенных видеокарт Intel под Windows XP.

Чтобы гарантированно обезопасить себя от этой проблемы, самое простое и удобное решение — всегда использовать POT-текстуры. Однако это не всегда возможно, и дальше, когда мы дойдём до вывода текста, нам придётся заняться этим моментом.

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

Рейтинг Top-50 digital-агентств России-2011

Время на прочтение2 мин
Охват и читатели3.4K
Привет, Хабр!

Мы публикуем долгожданный революционный рейтинг digital-агентств России.
Он оценивает их размер (обороты, сотрудники, проекты), известность, влиятельность, качество работ и репутацию.

В нем (в отличие от рейтинга веб-студий) проранжированы компании, оказывающие комплексные услуги маркетинговых коммуникаций в digital — онлайн-стратегии, креатив, разработка сайтов, видео и других интерактивных продуктов, продвижение (медийная, контекстная реклама, SEO, SMM), работа с обратной связью и т.д. Под digital мы понимаем любые решения для браузера, мобильных устройств и других цифровых коммуникационных платформ.

Первая десятка рейтинга:

image

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

Эвристический решатель судоку

Время на прочтение3 мин
Охват и читатели35K
В статье "Решение судоку с помощью веб-камеры" большинство решений реализовано очень красиво, за исключением самого решателя. В одном из моих старых проектов «Решатель судоку» была попытка подобрать алгоритм с комплектом эвристик для решения стандартной задачи судоку (поле 9х9). Вариант прямого полного перебора не рассматривался.

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

Информация

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