Pull to refresh
37
Karma
0
Rating
Денис Лещёв @Zuncl

User

  • Followers 3
  • Following 1

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

Perfect code *Algorithms *

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

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

image: эволюция

Другое ответвление глупой сортировки
Total votes 69: ↑62 and ↓7 +55
Views 88K
Comments 23

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

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

Шло время и вот я уже вырос. Фильм забылся, но потаённое желание окунуться в виртуальную реальность осталось. И однажды я увидел проект Oculus Rift. Он приковал моё внимание на некоторое время, но ненадолго. Ведь очки Oculus ещё в разработке и получить их не так просто. Но это дало толчок. Голова начала копаться в прошлом, доставая то самое потаённое желание наружу, и искать пути решения.
Читать дальше →
Total votes 76: ↑75 and ↓1 +74
Views 76K
Comments 32

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

CodeOrchestra corporate blog Abnormal programming *JavaScript *
Translation
В продолжении популярного цикла статей о том, что 30 строк джаваскрипта достаточно каждому, предлагаю Вашему вниманию перевод статьи Мэтью P01 Генри о его последней работе:


Итак, Мэтью пишет:
Total votes 170: ↑151 and ↓19 +132
Views 41K
Comments 12

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

Programming *Game development *Lua *
Sandbox
Tutorial
Что же такое Love2d и о чем этот пост? Это кроссплатформенный фреймворк для разработки 2d игр. Почему именно love2d? Потому что это бесплатный, легкий, кроссплатформенный, с открытым исходным кодом, а главное сделанный с любовью движок.

Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 39K
Comments 25

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

C++ *
Всем доброго времени суток!

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

Читать дальше →
Total votes 77: ↑36 and ↓41 -5
Views 207K
Comments 229

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

«Embarcadero (Borland)» corporate blog Delphi *
Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2

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


В предыдущей части цикла мы определились с задачей и создали простейшее FM приложение, которое отображает список рецептов. При этом мы использовали библиотеку доступа к данным FireDAC и технологию связывания объектов LiveBinding. Также мы условились, что в рамках поставленной задачи будет создано два приложения, использующих единую кодовую базу. И теперь, настало время для, возможно, самой интересной части – создания первого Android приложения.
Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Views 28K
Comments 11

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

«Embarcadero (Borland)» corporate blog Delphi *Firebird/Interbase *
Delphi for Android

Часть #1

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

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


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

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

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

Таймер.

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


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

Данное приложение мы реализуем для Windows и для Android. Затем на основе единой базы исходных кодов мы сможем выполнить портирование приложения на MacOS и iOS.
Читать дальше →
Total votes 57: ↑43 and ↓14 +29
Views 57K
Comments 65

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

Game development *


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

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



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


Back to the Future
Total votes 126: ↑116 and ↓10 +106
Views 62K
Comments 116

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

DIY
Sandbox


Как известно все фломастеры разные на вкус, и естественно такой специфичный дивайс как игровая мышь, не может удовлетворять абсолютно всем требованиям и желаниям конкретного человека.
Многие выбирая мышь и пытаясь подобрать для себя наилучший вариант, читают тесты и обзоры, общаются на форумах. Но зачастую купив мышь и с сожалением осознав, что не подходит, вынуждены идти в магазин менять или покупать другую.
Один гениальный человек, с ником Walkie, решил самостоятельно разработать и сделать себе мышь которая бы отвечала его желаниям и требованиям… И сделал. И назвал он её W-Mouse.
Walkie сделал мышь не только себе, но научил делать w-mouse-ы, других хороших людей.
Читать дальше →
Total votes 85: ↑77 and ↓8 +69
Views 79K
Comments 35

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

Programming *Game development *
Sandbox
Tutorial
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.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Views 33K
Comments 11

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

Configuring Linux *
image

Хотя Ubuntu Edge не получил достаточного финансирования, но операционная система Ubuntu Touch дальше развивается. Один из сотрудников Canonical, Nicholas Skaggs, в своем блоге сообщил, что начался месяц финального тестирования Ubuntu Touch. Предполагается, что операционка первое время будет распространяться в виде прошивки для существующих устройств, таких как Galaxy Nexus, Nexus 4, Nexus 7, и Nexus 10. Каждый может поучаствовать в тестировании, установив на свое устройство Ubuntu Touch.
Собственное устройство Canonical планирует выпустить в следующем году.
Читать дальше →
Total votes 41: ↑36 and ↓5 +31
Views 36K
Comments 56

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

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

С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
Читать дальше →
Total votes 167: ↑158 and ↓9 +149
Views 142K
Comments 238

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

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

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

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →
Total votes 236: ↑219 and ↓17 +202
Views 361K
Comments 182

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

SQL *
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);
Читать дальше →
Total votes 56: ↑48 and ↓8 +40
Views 61K
Comments 34

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

SQL *
OLAP

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

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

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

SQL *
Sandbox

Итак, дорогие хабровчане, хочу представить на ваше обозрение инструкцию, как нам пришлось поднимать OLAP-сервер в нашей компании. Шаг за шагом мы пройдем по пути, который был нами проделан, начиная с установки и настройки Pentaho и заканчивая подготовкой таблиц данных и публикацией olap-куба на сервере. Естественно, многое здесь может быть сумбурным/неточным/неоптимальным, но когда нам понадобилось поднять сервер и посмотреть, сможет ли Pentaho заменить нашу самописную статистику, у нас не было и такого…
Дальше много букв и картинок...
Total votes 25: ↑24 and ↓1 +23
Views 77K
Comments 4

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

Alconost corporate blog Game development *


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


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

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

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

Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Views 14K
Comments 9

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

Room 8 Studio corporate blog Game development *


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

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

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

Читать дальше →
Total votes 33: ↑23 and ↓10 +13
Views 21K
Comments 10

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

Mail.ru Group corporate blog Programming *Game development *
Когда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.

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



Читать дальше →
Total votes 203: ↑193 and ↓10 +183
Views 146K
Comments 169

Information

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