Pull to refresh
0
0

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

Send message

Оптимизация длинной арифметики на C++

Reading time3 min
Views15K

С Новым годом! Опишу классический сюжет — оптимизацию длинной арифметики в C++ при помощи ассемблерных вставок. Однако, на Хабре его еще не было, поэтому после некоторых колебаний решил запостить сюда, вы уж простите, если сами когда-то писали то же самое и продвинулись дальше меня :-)

Читать дальше →
Total votes 82: ↑80 and ↓2+78
Comments22

Прагматичный подход к производительности

Reading time7 min
Views2.3K
Является преждевременная оптимизация дорогой в ад? Или подход «потом исправим» превращает программистов из «специалистов» в презираемую всеми «школоту»?

Эти вопросы не имеют четких ответов, тем не менее, в этой статье я постараюсь описать мой собственный подход к производительности. Что я делаю для того, чтобы мои системы работали с приличной скоростью, но не нарушали прочих требований, таких как модульность, сопровождаемость и гибкость.
Читать дальше →
Total votes 81: ↑70 and ↓11+59
Comments26

Игры на CANVAS/WebGL (часть вторая)

Reading time1 min
Views2.5K
В преддверии нового года и продолжительных праздников публикую вторую подборку игр, не вошедших в первый пост. С наступающим! )

TankWorld


3D шутер на танках. На некоторых уровнях можно найти вертолет и нести смерть супостатам с воздуха.


Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments15

Как стреляет шутер

Reading time10 min
Views21K
image

[Статья Armin Ronacher о принципах вычисления коллизий в сетевых шутерах. Носит скорее обзорный и исследовательский, нежели технический характер. Здесь и далее в квадратных скобках примечание переводчика]

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

И еще – несмотря на все мои изыскания, я не выяснил достаточно для того, чтобы ясно представлять себе механику очень динамичных игр, вроде баттлфилда, так что я не выражаю претензий на бытие истиной в последней инстанции. И еще, очень многое из этого было действительно трудно раскопать.
Читать дальше →
Total votes 124: ↑115 and ↓9+106
Comments47

Кучи. Часть 1. Биномиальная куча

Reading time4 min
Views30K
Здравствуйте, Хабросообщество!

На хабре есть описание множества интересных структур данных, таких как деревья отрезков, дуча и т.п. Если Вам интересны сложные структуры данных, то добро пожаловать под кат!
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments14

Обновлен пакет обучения Visual Studio 11 Training Course

Reading time1 min
Views5.8K
Для загрузки доступен обновленный подробный курс обучения новым возможностям Visual Studio 11, которые сегодня можно опробовать каждый желающий, установив Visual Studio 11 Developer Preview.

Загрузить новый курс можно с официальной страницы на MSDN в двух видах: веб-установщик для выборочной загрузки лабораторных работ и полный пакет установки.

Новый курс Visual Studio 11 Training Course предлагает следующие лабораторные работы:

Среда разработки Visual Studio
  • A Lap Around the Visual Studio 11 Development Environment
  • What's New in Visual Studio 11 for C++ Developers (new)
Языки
  • Asynchronous Programming in the .NET Framework 4.5
Web
  • What's New in ASP.NET and Web Development in VS 11
  • What's New in Web Forms in ASP.NET 4.5
  • What's New in ASP.NET MVC 4 (new)
  • Using Page Inspector in Visual Studio 11 (new)
  • Build RESTful APIs with WCF Web API
продложение списка...
Total votes 23: ↑18 and ↓5+13
Comments0

Учебный курс по разработке для Android от Google

Reading time1 min
Views8.3K
image
Желая привлечь еще больше разработчиков, в Google приняли решение организовать самостоятельно специальную программу для обучения программированию под свою мобильную платформу.

Обучающая программа носит название Android Training и уже доступна желающим. Надо сказать, что диапазон тем программы весьма разный: начиная от азов, таких как работа с Layout — затем рассматриваются такие темы как работа с аудио, фото, оптимизация работы батареи — заканчивая вопросами монетизации приложения. Статьи, конечно, сопровождаются инфографикой и примерами кода, а сам ресурс, как обещает команда Android Team, будет развиваться и дополняться.

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

Пост-анонс можно посмотреть здесь.

[Android Training]
Total votes 111: ↑104 and ↓7+97
Comments14

Онлайн курсы от Stanford University и Berkeley University на 2012 год

Reading time1 min
Views14K
Читать дальше →
Total votes 118: ↑108 and ↓10+98
Comments41

Как уменьшить вероятность ошибки на этапе написания кода. Заметка N4

Reading time9 min
Views1.7K
PVS-Studio vs Firefox
Это уже четвертая заметка, где я хочу поделиться полезными наблюдениями о паттернах ошибок и том, как можно с ними бороться. В этот раз я затрону такую тему, как обработка редких и аварийных ситуаций в программах. Рассматривая множество программ, я пришел к выводу, что код обработки ошибок в Си/Си++ программах — одно из самых ненадежных мест.
К чему приводят такие дефекты? Программа, вместо того, чтобы выдать сообщение «файл X не найден», падает и заставляет пользователя гадать, что он не так делает. Программа для работы с базой данных выводит невразумительное сообщение, вместо того, чтобы сообщить, что неверно заполнено одно из полей. Попробуем сразиться с этой разновидностью ошибок, которые досаждают нашим пользователям.
Читать дальше →
Total votes 70: ↑57 and ↓13+44
Comments35

Data Mining в онлайн играх

Reading time11 min
Views32K
АионВо всех онлайн сервисах и играх самая большая доля аудитории уходит прямо на старте – в первые же минуты и часы знакомства с продуктом. Этой теме уже посвящены сотни книг и статей с самыми различными гипотезами успеха и причин лояльности аудитории – уникальность, простота, юзабилити, бесплатность, обучение или инструкция, эмоциональность, и еще множество факторов считаются крайне важными.

Мы захотели узнать, почему уходят игроки и можно ли предсказать их уход. Предмет исследования – ММОРПГ Аион, однако наши результаты оказались применимы к широкому кругу игр и онлайн сервисов.
Заглянуть в будущее
Total votes 214: ↑206 and ↓8+198
Comments87

Как создать ТЗ для программиста

Reading time6 min
Views107K
Рекомендации геймдизайнеру от программиста (архитектора).


Вступление

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

Все слышали про pre poduction, но мало кто знает как именно это происходит. И если про стадию разработки написано много, а про стадию издания — еще больше, то про стадию планирования известно очень мало. В лучшем случае вам посчастливится ознакомится с результатами планирования. А вот как были достигнуты эти результаты? — загадка во тьме.

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

Я намеренно оставил за кадром другие документы: концепцию, экономическое обоснование и ТЗ для других исполнителей. Это позволило сфокусироваться на одной теме и осветить ее и только ее достаточно подробно.

Читать дальше →
Total votes 70: ↑64 and ↓6+58
Comments50

Проще лучше, чем лучше

Reading time5 min
Views3.7K
В своей книге Парадокс выбора («The Paradox of Choice» by Barry Schwartz) Барри Шварц приходит к интересному выводу относительно осуществления выбора человеком:

«Люди выбирают не на основе того, что важнее, а основываясь на том, что легче всего оценить.»

Здравый смысл подсказывает, что из всех вариантов вы должны выбрать тот, который наиболее важен для вас, хотя на самом деле люди обычно выбирают тот, который удобен для них, легок в понимании. Очень часто мы делаем это, потому что не хотим тратить время на исследования, разбираясь в вопросе для принятия обоснованного решения. Политики редко избираются на основе того, что большинство людей проводят исследования о их политических программах. Они избираются потому, что люди запомнили сообщение, которое политики распространили, и потому, что они слышали об этом политике раньше.
Читать дальше →
Total votes 104: ↑97 and ↓7+90
Comments70

Опыт внедрения Getting Real. Часть 1 из 2

Reading time8 min
Views12K
Год назад я прочитал книгу Getting Real от 37signals. Она очень впечатлила меня, и я решил, что стоит опробовать этот подход в нашей компании, чем и занялся прямо с начала 2011 года. Эта статья — своего рода отчет о годовом опыте внедрения Getting Real в отдельно взятой компании. Отчет конечно же промежуточный, потому что о реальном эффекте от изменения подхода к работе (а Getting Real – это не методика управления или разработки, а именно подход) можно судить спустя более ощутимый промежуток времени; к тому же, не все принципы подхода мы смогли применить. Об этом я тоже расскажу.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments14

Алгоритм сортировки Timsort

Reading time6 min
Views153K
Timsort, в отличии от всяких там «пузырьков» и «вставок», штука относительно новая — изобретен был в 2002 году Тимом Петерсом (в честь него и назван). С тех пор он уже стал стандартным алгоритмом сортировки в Python, OpenJDK 7 и Android JDK 1.5. А чтобы понять почему — достаточно взглянуть на вот эту табличку из Википедии.



Среди, на первый взгляд, огромного выбора в таблице есть всего 7 адекватных алгоритмов (со сложностью O(n logn) в среднем и худшем случае), среди которых только 2 могут похвастаться стабильностью и сложностью O(n) в лучшем случае. Один из этих двух — это давно и хорошо всем известная «Сортировка с помощью двоичного дерева». А вот второй как-раз таки Timsort.

Алгоритм построен на той идее, что в реальном мире сортируемый массив данных часто содержат в себе упорядоченные (не важно, по возрастанию или по убыванию) подмассивы. Это и вправду часто так. На таких данных Timsort рвёт в клочья все остальные алгоритмы.
Читать дальше →
Total votes 292: ↑285 and ↓7+278
Comments63

American vs. British

Reading time2 min
Views34K
Сегодня деление на американский и британский варианты английского языка во многом можно считать условным. Американизмы могут активно использоваться в речи британцев и впоследствии укорениться в британской речи, так что иногда при редактировании очередной статьи в словаре ABBYY Lingvo приходится отказываться от пометы «амер.» (американский вариант английского языка) или ограничиваться компромиссным «преим. амер.» (используется преимущественно в американском варианте английского языка). Например, не так давно пользователь на форуме Lingvo упрекнул нас в том, что мы до сих пор считаем слово awesome (в его известном значении) американизмом, хотя это давно не так. Возразить нечего, пользователь прав. Региональные границы стираются, модные американские словечки становятся атрибутом речи британской молодежи и т.д.

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

То, что британцы именуют reception, американцы назовут front desk (стойка администрации — в гостинице, например).
Читать дальше →
Total votes 100: ↑91 and ↓9+82
Comments102
12 ...
21

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity