Search
Write a publication
Pull to refresh
0
Send message

Линейная алгебра для разработчиков игр

Reading time19 min
Views796K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →

История взлома одной браузерной игры. Возврат контроля

Reading time11 min
Views37K
Доброго времени суток. Я занимаюсь аудитом защищённости веб-приложений. По простому — тестами на проникновение в отношении веб-сайтов. Иногда в моей практике встречаются интересные и познавательные случаи, которые я бы хотел описывать в виде таких вот статей, но редко (для меня это первый случай) бывают ситуации когда клиент разрешает публикацию подобного материала с подробным описанием всех имевшихся проблем и предпринятых действий. Естественно, тут вы не встретите никаких конкретных имён, названия фирмы-заказчика и т. д. Упоминания таких данных мне, наверное, никто никогда не разрешит. Надеюсь что для вас, уважаемые читатели, данная статья окажется интересной и полезной.
Читать дальше →

Сервис Google для проверки отображения сайтов на мобильных устройствах

Reading time1 min
Views24K
Поисковый гигант сегодня в рамках Google Initiative представил новый инструмент Go Mo, назначение которого — проанализировать «дружелюбность» (friendly) сайта для отображения на мобильных устройствах.

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

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

Также есть возможность оценить примеры «хороших» сайтов, которые авторы GoMo поcчитали удовлетворяющими выдвинутым требованиям.

Видео для оценки возможностей Go Mo:



[Источник]

Первый блин комом, или Как начать писать под Android и не бросить

Reading time3 min
Views50K
На написание статьи вдохновили несколько жалоб на разных ресурсах о том, что во время написания или установки sdk что-то не получалось или что-то повисло и поэтому «забил на Android». Действительно, человек, который хочет заняться разработкой под эту платформу, может потеряться в обилии статей и мануалов о том, как написать свое первое «Hello, Adroid» или как сделать конкретное приложение, особенно если недостаточно опыта в программировании. В этой статье я попробую охватить по возможности все способы, которые помогут в процессе самообучения и не дадут потерять энтузиазм из-за появившихся трудностей. Надеюсь, эта статья поможет сэкономить начинающим время и нервы.

Тех, кому этого ресурса достаточно, данная статья вряд-ли заинтересует.

Установка и настройка инструментов для разработки хорошо описана в Android Development Tutorial, поэтому это я могу пропустить.

Где тестировать свое приложение


Сначала нужно определиться, на что устанавливать и где тестировать свой проект. Можно ставить на эмулятор, как это описано в выше указанной статье. Как многие замечают, работает он очень медленно. К тому же, частое заблуждение – перед запуском приложения новички закрывают каждый раз эмулятор и снова его запускают. Этого делать не надо.
Другой способ — можно установить на VirtualBox Android-x86.
Но настоящий девайс рано или поздно понадобится – хотя бы по той причине, что писать приложения, где задействована камера или видео, или очень неудобно, или просто невозможно. Поэтому, если есть возможность приобрести устройство с Android – лучше использовать его. Я ставлю на свой HTC Wildfire, не смотря на то, что в нем появляется ненужный хлам, но я экономлю свое время (и нервы).

Какую литературу использовать

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

Ещё более современный C++

Reading time6 min
Views49K
“C++11 feels like a new language.” – Bjarne Stroustrup

Не так давно Герб Саттер открыл на своём сайте новую страничку — Elements of Modern C++ Style, где он описывает преимущества нового стандарта и то, как они повлияют на код.
А под катом прячется вольный перевод содержимого этой странички.

Россиянин со смартфоном: 121 МБ трафика в месяц, 3 платных приложения

Reading time3 min
Views3K
Компания J’son & Partners Consulting по заказу Google провела исследование мобильного интернета в России и выяснила, как сколько активных пользователей мобильного интернета насчитывается в стране, с каких устройств и как часто они выходят в Сеть.

Исследование показало, что мобильный веб растёт в РФ бурными темпами. Сейчас там уже сидит 39 млн россиян, а к концу года будет 43 млн. По итогам нынешнего года общий мобильный трафик в России превысит 25 петабайт.



61% пользователей смартфонов – мужчины, обычно в возрасте от 18 до 34 лет (68%), с высшим образованием (60%). По устройствам сюрпризов нет. Рынок поровну поделен между Android и Symbian, а в конце 2011 года в России продажи смартфонов на платформе Android впервые превысят продажи устройств с ОС Symbian.
Читать дальше →

Сборка Android проекта: исключение ненужных файлов

Reading time4 min
Views4.9K
Заканчивая свой первый проект на Android я столкнулся с проблемой отсутствия достаточной гибкости при сборке релиза.

Изначально для сборки предполагается использование ant. При создании проекта платформа любезно создает вам build.xml. Как правило, вся конфигурация состоит на указании пути к Android-SDK в local.properties файле. Еще может возникнуть желание указать там key.store и key.alias параметры, чтобы приложение подписалось автоматически при сборке. Google в документации не рекомендует так делать, потому что предлагаемый в процессе сборки ввод пароля для ключа логируется в Shell.

Но что если при сборке нужно дополнительно что-либо сделать? В моем случае понадобилось исключить некоторые файлы из финального пакета, находящиеся assets/test папке. В этих файлах хранятся пути к тестовым вебсервисам и данные для авторизации. Совершенно ни к чему включать их в состав финального приложения. Решение оказалось найти не быстро, несмотря на простоту. Проблема — малое количество документации. Предлагаю заглянуть внутрь для экономии времени в будущем.

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

Интеграция карт в ваше Android-приложение

Reading time4 min
Views128K
Есть много разных идей, для реализации которых могут понадобиться карты на мобильных устройствах.
Возможности таких устройств позволяют довольно оперативно получать информацию о местоположении, графические данные и графические преобразования для отображения объёма ландшафта.

В данном статье я расскажу как интегрировать возможность просмотра карт для мобильных устройств на основе Android, на примере Yandex Карт и Google Maps.
Функционал библиотек этих компаний позволяет:
  • Перемещать карту
  • Изменять масштаб
  • Изменять виды карт
  • Получать события от карты



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

Примеры работы с разными map API

Reading time6 min
Views82K

Есть много статей на тему знакомства с Google Map Api и Yandex Map Api, но про остальные картографические сервисы не так много практического материала. В недавнем времени работал с Api:
  1. Google map
  2. Yandex map
  3. Yahoo map
  4. Bing map
  5. OpenStreet map

И хотел обобщить работу с вышеупомянутыми сервисами, а именно инициализация карты и установление маркеров по клику мышки. Материалы в статье представлены в виде Html кода, javascript и результата — скриншота, а так же исходники на vs 2010 MVC3.
Читать дальше →

SQL инъекции. Проверка, взлом, защита

Reading time4 min
Views341K
SQL инъекция — это один из самых доступных способов взлома сайта.
Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно.

Как вычислить уязвимость, позволяющую внедрять SQL инъекции?


Довольно легко. Например, есть тестовый сайт test.ru. На сайте выводится список новостей, с возможностью детального просомтра. Адрес страницы с детальным описанием новости выглядит так: test.ru/?detail=1. Т.е через GET запрос переменная detail передаёт значение 1 (которое является идентификатором записи в табице новостей).
Читать дальше →

«Инвестиционный эквалайзер» – новый термин в стартап-лексике

Reading time5 min
Views1.3K
Стартап-движение переживает бум. Вместе с этим финансово-правовые отношения между участниками стартапа (включая руководителя проекта, команду, инвестора, соинвесторов и т.д.) еще не имеют устоявшихся форм, шаблонных практик, «откалиброванных» настроек. Завышенные риски, необоснованно высокие доли, высокая степень неопределенности, — с одной стороны это и есть венчурный бизнес, с другой — он может быть более регулируемым, справедливым, адекватным вкладу сторон в общий успех. Это и явилось предпосылкой для возникновения нового термина — «инвестиционный эквалайзер».


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

О бедном Александреску замолвлю я слово

Reading time6 min
Views20K
Дорого времени суток!
Книга АлександрескуПрочитал я недавно статью одну про Template metaprogramming в С++. И был там такой комментарий: «Ровно то же самое с тем же уровнем настраиваемости можно было сделать на интерфейсах, реализациях, на фабриках, на дефайнах, на конфигах и на еще целой куче вещей». И вообще, мораль статьи и обсуждения — эти шаблоны от Александреску в жизни не шибко-то и нужны.
Я вспомнил свою задачу, где мне его (Александреску) идея об ортогональном проектировании здорово помогла. Хочу с вами ею поделиться.
Читать дальше →

Поиск создателя Bitcoin

Reading time4 min
Views25K
Основополагающий документ с принципами пиринговой криптосистемы Bitcoin опубликовал некий Сатоси Накамото (Satoshi Nakamoto). До сих пор не известно, кто скрывается за псевдонимом, один или несколько человек.

Японское имя Сатоси означает «ясно мыслящий, сообразительный, мудрый». Слово naka переводится как «внутри», а moto — «начало, основание, базис, организация». То есть Сатоси Накамото можно перевести как «ясно мыслящий человек внутри фундаментальной организации». Интересное совпадение, если учесть революционную сущность платёжной системы Bitcoin, которая грозит перевернуть мировую финансовую систему.

Американские журналисты в последние дни опубликовали сразу два расследования (1, 2), выдвинув разные версии о личности создателя Bitcoin. Одна из этих версий (с российским следом) выглядит весьма правдоподобно. Впрочем, обо всём по порядку.
Читать дальше →

Как ускорить эмулятор Android на 400%

Reading time5 min
Views143K
Последние несколько месяцев я работал над SDK для Android, входящим в платформу управления контентом Nuxeo. Особенно много работы было в последнее время, с приближением официального релиза SDK. Я хочу поделиться несколькими практическими советами по поводу разработки под Android, в частности тестирования и эмуляции. Уже после нескольких дней разработки я понял, что работа с эмулятором Android — не сахар, потому что он чудовищно медленный.

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

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

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

Flurry Analytics. Как держать руку на пульсе приложения

Reading time3 min
Views39K
Около года назад, после первого знакомства с Flurry у меня прямо вырвалось — она же рвет Google Analytics как Тузик грелку тряпку какую-то материю. И обещался написать об этом повесть. Еще до знакомства с Flurry, для своего первого приложения пришлось использовать именно гугловую аналитику, стабильную но в бета-версии. С того момента все повзрослели но я так и остался с Flurry. Пост о том, какой от нее прок и как ее готовить. А готовить ее как два пальца яйца о сковородку.
Читать дальше →

Произносим правильно

Reading time2 min
Views153K
Из знакомых мне айтишников очень немногие стараются правильно произносить английские слова. Конечно, привычнее произносить C++ как «си-плюс-плюс», а не «си-плас-плас» или «опен-бэ-эс-дэ», а не «оупэн-би-эс-ди».
Но когда «echo $value;» читают как «ечо валуй» — это уже не смешно. Другой человек вас может просто не понять, особенно иностранец.

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

♫ — прослушать произношение в словаре
► — прослушать произношение на youtube

Начнем с названий:
ABBYY аби
Adobe эдоуби [əˈdəʋbɪ]
Apache эпэчи [əˈpætʃiː] от «a-patchy»
Asus офиц. э́сус
амер. э́йсус

 
BenQ бенкью
Cisco сискоу [ˈsɪskoʊ]
EBay ибэй
Eee PC и писи
Ethernet изэрнэт [ˈiθərˌnɛt]
Itanium айтэйниум [aɪˈteɪniəm]
Juniper джу́нэпэр [ˈdʒunəpər]
LaTeX лэйтех
лэйтек
латех
латек
[ˈleɪtɛk]
['leɪtɛx]
[ˈlɑːtɛx]
[ˈlɑːtɛk]
Linux офиц. линэкс
вар. линукс
[ˈlɪnəks]
[ˈlɪnʊks]

 
Mac OS X мэк оу-эс тэн
MySQL офиц. май-эс-кью-эл
вар. май-сиквел
как «My Ess Que Ell», см. оф. сайт
nginx энджин-икс (от engine-x)
PuTTY пати [ˈpʌtɪ] см. оф. сайт
Qt кьют [kyut] см.
TeX тех
тек
[ˈtɛx]
[tɛk]
не «текс»
XBox 360 экс-бокс фри сискти
Xen зен [ˈzɛn]
Xeon зион
Xerox зирокс [ˈzɪərɒks]
Xilinx зайлинкс [ˌzaɪliːŋks]
ZyXel рус. зайксел
амер. зайзел
см.


Аббревиатуры:
GNU гну вар. гню
GWT гвит [ˈɡwɪt]
ICANN айкэн
IEEE ай-трипл-и как «I triple E»
ISO айсо
PNG пинг [ˈpɪŋ] как «ping», см. спецификацию
PXE пикси [ˈpɪksi]
RUP рап
SCSI скази ['skʌzi]
SOAP соуп [soʊp]
SQL эс-кью-эл [ˈɛsˈkjuˈɛl] неофиц. «сикуел»
SWF свиф [ˈswɪf] см. спецификацию
WYSIWYG визивиг [ˈwɪziˌwɪg]
XAML зэмл [ˈzæməl]
XUL зул [ˈzuːl]
Yii длинное «и» [ji:]

Обычно аббревиатуры произносятся по правилам английского языка: API — эй-пи-ай, PCMCIA — пи-си-эм-си-ай-эй, OpenBSD — оупен-би-эс-ди и т.д.

Обычные слова дальше

17 простых советов для повышения продуктивности

Reading time3 min
Views33K
Эти советы — не очередная компиляция из книг и блогов, посвященных продуктивности. Каждый совет основан на моём личном опыте. На каждый совет я мог бы дать гарантию, если бы гарантия на советы была возможна в принципе.

Вступление окончено, переходим к советам!
Читать дальше →

Дневник репатриантов часть 2: Как привлечь инвестиции в стартап, не имея связей и опыта

Reading time6 min
Views2.4K
В прошлом посте мы писали о том, как Островок.ru привлёк инвестиции размером 1 млн долларов от лучших инвесторов всего за 6 недель, имея только идею.

Мы получили очень много положительных отзывов на тот пост. Но в нём был существенный недостаток: мы описывали процесс с точки зрения нашего предыдущего опыта и связей. Большинство из этих рекомендаций неприменимы к вопросу о том, как начать в России свой бизнес, не имея связей и опыта.

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

Движки Shopping Cart. Сколько их? И как найти свой?

Reading time6 min
Views16K


Однажды поиски движка для интернет магазина завели меня на рессурс www.practicalecommerce.com
Где я прочел такую фразу: — Есть больше чем 350 движков онлайн-шоппинга. И каждую неделю мы обсуждаем один, беря интервью и у разработчика движка и у клиента…

Неужели так много? Подумал я. Да, на некоторых российских рессурсах зарегистрировано более 540 CMS. Но не все из них магазины, а большинство это самописные движки студий. А если брать только коробочные, то наберется всего около 30. Так где же сотни? И, что самое важное, не пропустил ли я самый лучший движок? Который где-то лежит, и ждет именно меня. И я решил найти эти самые сотни.
Достиг ли я своей цели, читайте дальше…
Читать дальше →

Бесплатные книги

Reading time3 min
Views60K
Несколько книг по разным темам, которые находятся в открытом доступе.

Основы программирования
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity