Pull to refresh
36
0
Денис Лещёв @Zuncl

User

Send message

Глупая сортировка и некоторые другие, поумнее

Reading time4 min
Views100K

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

Сегодня мы снова возьмём за основу stupid sort и внесём в неё другое маленькое, но существенное изменение. В результате получим совершенного другой эволюционный ряд сортировочных алгоритмов.

image: эволюция

Другое ответвление глупой сортировки

Очки виртуальной реальности с использованием планшета

Reading time4 min
Views79K
В моём детстве был такой замечательный фильм, как «Газонокосильщик». Тогда мне было всё равно на сюжет, на какой-то смысл, заложенный автором. Но фильм мне очень нравился и манил одной вещью — виртуальной реальностью. Те несколько сцен, в которых герои погружались внутрь виртуального мира, — это то, ради чего стоило его смотреть. Мне хотелось испытать всё то, что испытывали они. Полёт внутри виртуальной реальности — то, что запомнилось навсегда.

Шло время и вот я уже вырос. Фильм забылся, но потаённое желание окунуться в виртуальную реальность осталось. И однажды я увидел проект Oculus Rift. Он приковал моё внимание на некоторое время, но ненадолго. Ведь очки Oculus ещё в разработке и получить их не так просто. Но это дало толчок. Голова начала копаться в прошлом, доставая то самое потаённое желание наружу, и искать пути решения.
Читать дальше →

Миникрафт в 252 символа

Reading time5 min
Views41K
В продолжении популярного цикла статей о том, что 30 строк джаваскрипта достаточно каждому, предлагаю Вашему вниманию перевод статьи Мэтью P01 Генри о его последней работе:


Итак, Мэтью пишет:

Любовь в пикселях или что такое Love2d

Reading time3 min
Views44K
Что же такое Love2d и о чем этот пост? Это кроссплатформенный фреймворк для разработки 2d игр. Почему именно love2d? Потому что это бесплатный, легкий, кроссплатформенный, с открытым исходным кодом, а главное сделанный с любовью движок.

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

Преимущества C++ как первого языка для обучения программированию

Reading time7 min
Views221K
Всем доброго времени суток!

Это статья о том, почему же все-таки стоит выбрать C++ в качестве первого языка программирования для обучения студентов, и немного о проблемах преподавания в ВУЗах. Часть суждения, касающегося процесса обучения, основывается на личном опыте преподавания (три года, во время учёбы в аспирантуре), а также на общении с преподавателями и студентами.
Рассматриваются преимущества языка программирования C++ именно для обучения и с точки зрения лучшего понимания основных концепций. Остальные кандидаты на роль первого языка (Pascal/Python/C#/Java) не рассматриваются, дабы не разжигать холивар. Еще раз отмечу: не для промышленной разработки и не с точки зрения такого субъективного критерия, как удобство.
Написано под впечатлением откровенно рекламного поста «Delphi XE5 как основа для обучения программированию» (на момент написания, доступна только версия «от гугла»).

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

Разработка кроссплатформенных мобильных приложений в Delphi #3

Reading time6 min
Views31K
Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2

Настройка среды и создание нового мобильного приложения.


В предыдущей части цикла мы определились с задачей и создали простейшее FM приложение, которое отображает список рецептов. При этом мы использовали библиотеку доступа к данным FireDAC и технологию связывания объектов LiveBinding. Также мы условились, что в рамках поставленной задачи будет создано два приложения, использующих единую кодовую базу. И теперь, настало время для, возможно, самой интересной части – создания первого Android приложения.
Читать дальше →

Разработка кроссплатформенных мобильных приложений в Delphi #2

Reading time8 min
Views61K
Delphi for Android

Часть #1

В предыдущей части цикла мы сделали обзор основных возможностей новой RAD Studio XE5. Сегодня же перейдем к практике. Прежде всего, давайте определимся с задачей.

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


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

Пересчет количества требуемых продуктов.

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

Таймер.

Если вы новичок в кулинарии, то, вам следует использовать рецепты, в которых четко указано время той или иной операции. И таймер на планшете, телефоне или нетбуке вполне может стать удобной заменой кухонному таймеру.
Часто бывает, что несколько операций выполняются параллельно. Каждая операция может иметь свой «таймер».
При этом нас интересует, как «настольная», так и мобильная реализация приложения. Мобильное приложение будет использоваться в качестве пособия для визуализации рецепта и сопровождения процесса подготовки. Настольная версия может быть использована в более расширенном функционале для, например, формирования новых рецептов.


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

Данное приложение мы реализуем для Windows и для Android. Затем на основе единой базы исходных кодов мы сможем выполнить портирование приложения на MacOS и iOS.
Читать дальше →

Confederate Express — игра про выживание в тонах сурового ретро, «написанная» мастерами современного пиксель-арта (Kickstarter Campaign)

Reading time11 min
Views63K


Страница проекта на Кикстартер — (Kickstarter link)
Страничка проекта на Фейсбуке — (Facebook link)
Официальный сайт разработчика Kilobite
Твиттер Максима Пашанина Twitter-link
Дебютный трейлер KS кампании Trailer Link

Честно, как на духу, не собирался писать что-либо до завершения еще одного туториала, ибо лучше моей болтовни — хорошая, добрая помощь, вы ясно мне дали это понять (смеется). Но сегодня под вечер увидел эту игру на Kickstarter, и как в случае с SpinTires не удержался. И вовсе не потому, что ее также делают наши соотечественники, и даже не потому, что ролик естественен как пение птиц по утру, но потому, что она… сказочная. И одновременно настоящая. Это не закос (да простят мне подобные формулировки) под ретро, это именно следование заветам, уважение традиций, и одновременно оригинальная подача того чтобы мы знали когда-то и того что мы никак не можем забыть. Предположу, что и не хотим забывать.



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


Back to the Future

Как я делал W-Mouse — игровую мышь с уникальными способностями

Reading time4 min
Views161K


Как известно все фломастеры разные на вкус, и естественно такой специфичный дивайс как игровая мышь, не может удовлетворять абсолютно всем требованиям и желаниям конкретного человека.
Многие выбирая мышь и пытаясь подобрать для себя наилучший вариант, читают тесты и обзоры, общаются на форумах. Но зачастую купив мышь и с сожалением осознав, что не подходит, вынуждены идти в магазин менять или покупать другую.
Один гениальный человек, с ником Walkie, решил самостоятельно разработать и сделать себе мышь которая бы отвечала его желаниям и требованиям… И сделал. И назвал он её W-Mouse.
Walkie сделал мышь не только себе, но научил делать w-mouse-ы, других хороших людей.
Читать дальше →

Game Maker AI — С чего начать?

Reading time8 min
Views35K
Game Maker — платформа разработки (в начальной концепции 2D) игр. На данный момент наиболее популярны Game Maker 8.0\8.1 и Game Maker Studio. Последний, к слову, поддерживает кросс-платформенную разработку (что, наверное, и является почти единственным фактором выживания движка в целом).

В последнее время GM теряет свою популярность под тенью таких гигантов, как Unity3D/Cryengine/Unreal. Я считаю потерю спроса на этот движок совершенно необоснованной, ведь для создания многих игр (например, под Android) нет необходимости в последних технологиях разработки 3D и других «ненужных» функциях, очень требовательных к системе пользователя. При использовании Game Maker для разработки таких игр можно достичь достаточно высокой производительности без видимых жертв со стороны графики или функционала.

Итак, ближе к делу. С некоторых пор я занимаюсь разработкой игр в среде GM. И в один прекрасный день передо мной возникла интереснейшая задача — разработать приемлемый AI для игры жанра TDS (Top Down Shooter). Признаться, до того момента я не сталкивался с разработкой искусственного интеллекта, и задача поначалу просто поставила меня в тупик. Три последующих дня я провел в поиске решения (естественно, методом проб и ошибок), и узнал я за эти 3 дня довольно много. На основе своего короткого и болезненного опыта, я постараюсь описать основные методы и сторонние библиотеки по разработке AI в среде Game Maker.
Читать дальше →

Ubuntu Touch выйдет 17 октября

Reading time1 min
Views36K
image

Хотя Ubuntu Edge не получил достаточного финансирования, но операционная система Ubuntu Touch дальше развивается. Один из сотрудников Canonical, Nicholas Skaggs, в своем блоге сообщил, что начался месяц финального тестирования Ubuntu Touch. Предполагается, что операционка первое время будет распространяться в виде прошивки для существующих устройств, таких как Galaxy Nexus, Nexus 4, Nexus 7, и Nexus 10. Каждый может поучаствовать в тестировании, установив на свое устройство Ubuntu Touch.
Собственное устройство Canonical планирует выпустить в следующем году.
Читать дальше →

Хакаем Transcend WiFi SDHC карту памяти

Reading time10 min
Views147K
Перевод немного вольный, но смысл не потерян. Я (переводчик) заинтересовался этой карточкой давно и почти сразу заказал её, сегодня забрал с почты и не могу нарадоваться, но хочется больше, чем дает Transcend, а карточка, между прочим, Linux сервер с WiFi! Очень много буковок.

С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
Читать дальше →

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views382K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →

Создаем OLAP куб. Часть 2

Reading time4 min
Views66K
OLAP

Итак, продолжаем создавать куб.
Напомню, что в предыдущей статье, мы создавали Data Warehouse для хранения голосов хабра-пользователей за хабра-топики. Для тех, кто хочет начать сразу создавать куб, я выложил скрипт, который создает и наполняет хранилище (на моей машине скрипт занял 10 минут и нагенерил 1866268 хабра-голосов).
Для того, чтобы создать OLAP куб, нам понадобится:
  • SQL Server, на котором хранится наш HabraDW (подойдет любой);
  • Microsoft SQL Server, с запущенными Analysis Services (2005/2008);
  • Business Intelligence Studio, которая входит в пакет клиентских приложений для Microsoft SQL Server-а, и интегрируется с Visual Studio, если она у вас установлена (2005/2008);
Читать дальше →

Создаем OLAP куб. Часть 1

Reading time3 min
Views165K
OLAP

Продолжая тематику Многомерные кубы, OLAP и MDX и olap для маленькой компании, традиционно, предлагаю начать с простенького «Hello World» куба, который будет анализировать процессы и тенденции голосований на Хабре.

Итак, давайте попробуем создать свою первую OLAP систему.
Но, прежде чем, потирая руки, запускать Business Intelligence Studio, предлагаю вначале создать хранилище данных хабра-голосов, так называемый Data Warehouse.
Зачем? Причин в этом несколько:
  • сама суть Data Warehouse-а хранить «очищенные» данные, готовые для анализа, поэтому даже его изначальная структура может сильно отличаться от структуры нашей хабра-OLTP базы данных
  • в HabraDW (так мы его назовем) мы вынесем только ту информацию, которая нам нужна будет для анализа, ничего лишнего
  • к Data Warehouse не накладываются требования нормализации. Даже наоборот, денормализировав некоторые данные можно добиться более понятной схемы для построения куба, а также скорости загрузки данных в куб
Читать дальше →

Запуск OLAP-сервера на базе Pentaho по шагам

Reading time13 min
Views90K

Итак, дорогие хабровчане, хочу представить на ваше обозрение инструкцию, как нам пришлось поднимать OLAP-сервер в нашей компании. Шаг за шагом мы пройдем по пути, который был нами проделан, начиная с установки и настройки Pentaho и заканчивая подготовкой таблиц данных и публикацией olap-куба на сервере. Естественно, многое здесь может быть сумбурным/неточным/неоптимальным, но когда нам понадобилось поднять сервер и посмотреть, сможет ли Pentaho заменить нашу самописную статистику, у нас не было и такого…
Дальше много букв и картинок...

Переведено профессиональными программистами, или Трудности игровой локализации

Reading time8 min
Views14K


Roses are red
Violets are blue
All of my base
Are belong to you


Локализация игр — крайне благодатная тема для IT-юмора, один из хрестоматийных примеров которого представлен в эпиграфе. Обычно это происходит, когда за дело берутся недобросовестные переводчики, неграмотные любители или пираты. А иногда и сами разработчики в целях экономии берут на себя несвойственные функции, в результате чего появляются мемы вроде вынесенного в заголовок.

У нас в Alconost локализацию делают не программисты, а профессиональные переводчики, носители языка. Однако за 8 лет работы мы убедились, что качественный переводчик — это только одна из составляющих успешной локализации. Если продукт не подготовлен к локализации, работа переводчика усложняется, что может вести к недопониманию смысла, ошибкам, потере времени на дополнительные вопросы, перепроверку и внесение исправлений в тексты.

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

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

Колосс на глиняных ногах. Принципы управления быстроразвивающейся игровой студией

Reading time8 min
Views22K


 Часто бывает, казалось бы: сплоченный коллектив профессионалов, сильный и качественный продукт на подходе, толстая инвестиционная подушка финансовой безопасности, а что-то не так. Причем, с каждой неделей этих «что-то» становится все больше и больше. Сотрудники нервничают, огромное количество работы проходит в режиме овертайм, постоянные сбои во внутренних коммуникациях, поиск ответственных и виноватых – у победы много отцов, поражение – всегда сирота. Такой деструктивный сценарий развития студии – медленный, но верный путь к завершению её деятельности. Но мы же не просто так собрались несколько месяцев назад?

 Большое количество стартапов «сходят с дистанции» именно из-за того, что в какой-то момент не могут правильно спланировать и проконтролировать своё масштабирование. Любая организация, как живой организм. Отсутствие развития прямо свидетельствует про медленное, но верное умирание. Парадокс заключается в том, что бурный и неконтролируемый рост может привести к обратному от желаемого результату. Через некоторое время компания становится колоссом на глиняных ногах. Ощущение, что все может рухнуть от малейшего дуновения ветерка, изменения конъюнктуры рынка или еще каких-либо глобальных процессов оптимизма совершенно не добавляет. Нервозность, стресс, склоки, падение продуктивности как следствие.

 В этой статье мы попробуем описать наш опыт преодоления подобного рода ситуации. Это было чертовски не просто, но мы с этим справились.

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

Базы данных в онлайн-играх. От Аллодов Онлайн до Skyforge

Reading time7 min
Views161K
Когда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.

Меня зовут Андрей Фролов. Я ведущий программист Allods Team и работаю в команде сервера. Мой опыт разработки — почти 10 лет, но в игры я попал только в октябре 2009. В коллективе я уже больше трёх лет, с марта 2010. Начинал работу на Аллодах Онлайн, а сейчас на Skyforge. Занимаюсь всем, что так или иначе связано с сервером Skyforge и базами данных. В этой статье я расскажу о базах данных в онлайн-играх на примере Аллодов и Skyforge.



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

Information

Rating
Does not participate
Location
Могилев, Могилевская обл., Беларусь
Date of birth
Registered
Activity