Pull to refresh
-1
0
Богдан Солоненко @Feodot

User

Send message

[ libGDX ] Пишем полноценную игру под Android. Часть 1

Reading time8 min
Views115K
Здравствуйте! Я решил попробовать себя на поприще game-dev'а и заодно рассказать и показать как это было. Вторая часть здесь.

Игра представляет собой экран, на котором расположены созвездия. Каждая звезда этого созвездия имеет свой цвет (нота). Например, ноту «До» обычно представляют красным цветом, а «Ми» — желтым. Вот что получится в итоге:

image

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

Писать будем, используя фреймворк libGDX. Мне он больше всех понравился, как новичку в этом деле. Да и информации по нему я нашел больше. Итак, приступим.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments20

Как сделать робота за 24 часа

Reading time3 min
Views64K
Когда категории, на которой планировал выступать, не будет, а экзамены не за горами. 


Предисловие

Так вышло, что в этом сезоне я серьёзно занимался только микро-сумо: начал делать робота в июле 2013 года, закончил к концу марта 2014. Соревнования представляют собой обычное робосумо, но масса робота не должна превышать 100 грамм, а сам робот в стартовом положении должен помещаться в кубик 5 см * 5 см * 5 см. Выставлял его только на одних соревнованиях 6 апреля, там он был единственным роботом.


Black Python соревнуется с двусторонним скотчем:



Поскольку в Санкт-Петербурге на данный момент только 2 робота данного класса, то в майские соревнования не включили этот вид состязаний. А так как выступить хотелось, то я решил сделать по-быстрому лайнтрейсера, робота для движения по линии, благо за 5 лет увлечением робототехники их было штук 10 (не считая сделанных из лего). 


Читать дальше →
Total votes 76: ↑73 and ↓3+70
Comments32

Ключевое слово volatile и атаки по времени

Reading time6 min
Views19K
Такие часы плохо подходят для атаки по времениВ библиотеке OpenSSL есть довольно любопытная функция с многообещающим именем CRYPTO_memcmp(). Комментарии к ней объясняют, что обычная memcmp() обладает фатальным недостатком – время ее работы зависит не только от размера сравниваемых блоков, но и от их содержимого, а это может помочь атакующему осуществить так называемую атаку по времени.

Аналогичные функции есть в ряде других проектов — поиск по запросу constant time memcmp дает несколько тысяч результатов.

Не будем подвергать сомнению необходимость использования функции CRYPTO_memcmp(), а вместо этого рассмотрим, решает ли она поставленную ей задачу.
Читать дальше →
Total votes 80: ↑74 and ↓6+68
Comments21

Приглашаем разработчиков из Красноярска принять участие в хакатоне «Вперёд вместе с Google»

Reading time1 min
Views4.2K
Если вы живете в Красноярске или поблизости и никогда не участвовали в Google Хакатоне, пора это исправить. 7 и 8 июня в рамках программы «Вперед вместе с Google» мы совместно с Hackaphone организуем соревнование для разработчиков в крупнейшем из старинных городов Сибири.



Участие в Хакатоне бесплатное — достаточно оставить заявку на сайте vpered.withgoogle.com.
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments0

Вызов функции, соответствующей заданной строке

Reading time14 min
Views15K
Привет!
Не знал, как поточнее назвать статью, но хотелось бы разобрать одну маленькую задачку, которая звучит следующим образом:
На вход подаётся отформатированная некоторым образом строка, в которой указаны имя функции, её аргументы и типы аргументов. Нужно иметь возможность вызвать соответствующий обработчик функции, корректно передав все аргументы.

Например, так ActionScript пытается вызвать функцию test с тремя аргументами str, false, 1.0(соответственно типы аргументов: String, Boolean, Number):
<invoke name="test" returntype="xml"><arguments><string>str</string><false/><number>1.0</number></arguments></invoke>

Хотелось бы, чтобы со стороны C++ была вызвана соответствующая функция:
void test_handler(const std::wstring& str, bool flag, double n);


Под катом — реализация с использованием нового стандарта и, для сравнения, реализация с использованием старого стандарта(и капельки boost-а).
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments12

Метеостанция: от идеи до реализации

Reading time9 min
Views71K

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

Мне всегда хотелось чего-то большего, чем обычный градусник за окном или ЖК-экран метеостанции с температурой на улице и в комнате. Поэтому, когда я задумался, «что же такое сделать» для того, чтобы начать знакомство с миром микроконтроллеров, ответ нашелся сам собой — свою метеостанцию. Естественно, с отображением градусов на улице и внутри помещения, влажности и давления. И с подсветкой — мне всегда нравилась реализация прогноза погоды на Яндексе — одного взгляда на фон достаточно, чтобы понять, будет тепло или холодно, и насколько.
Как это устроено?
Total votes 55: ↑54 and ↓1+53
Comments29

Специалисты IBM открыли новый класс прочных самовосстанавливающихся полимеров

Reading time3 min
Views16K


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

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

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

Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments8

Режимы наложения слоёв в Web

Reading time2 min
Views48K
Привет, Хабр!
Одна из главных причин тяжёлых увечий дизайнеров претензий к неопытным дизайнерам от верстальщиков, при получении от них PSD-макетов — это наличие слоёв с заданными режимами смешивания, отличными от normal. Вполне возможно, что скоро это уйдёт в прошлое!
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments21

Что делать, если Google Adsense отключает показ рекламы на вашей площадке

Reading time5 min
Views30K
Хочу поделиться нашей историей взаимодействия с Google Adsense. Начиная с их первого предупреждения и заканчивая отключением показов контекстной рекламы на darudar.org. Покажу, как мы решали озвученную перед нами проблему о недопустимости размещения рекламы рядом с «контентом для взрослых». А также хочу узнать, был ли у кого-то подобный опыт, что мы сделали неправильно, что ещё можно предпринять?

image
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments69

Tesseract. Распознаем ошибки в системе распознавания

Reading time6 min
Views12K

Tesseract — свободная компьютерная программа для распознавания текстов, разрабатываемая компанией Google. В описании проекта говорится: «Tesseract is probably the most accurate open source OCR engine available». А давайте попробуем, сможет ли статический анализатор PVS-Studio распознать какие-то ошибки в этом проекте.
Читать дальше →
Total votes 52: ↑43 and ↓9+34
Comments16

Мобильная аналитика. Теперь бесплатно!

Reading time3 min
Views13K
Друзья, мы рады поделиться с вами хорошей новостью — официальный запуск сервиса автоматизированного продвижения приложений Appintop состоялся! Кроме того, мы приготовили для вас отличный подарок, на который ушло несколько месяцев кропотливого труда. Это модуль рыночной аналитики SPY, который доступен абсолютно бесплатно! Подписка на подобные сервисы стоит около $10 000 в месяц.

Модуль SPY позволяет:
— просматривать, сколько зарабатывают ТОП-400 приложений по 25 странам;
— подсматривать за конкурентами (выручку и установки);
— выбрать нишу для приложения;
— узнать, сколько нужно установок, чтобы выйти на любую позицию по любому региону;
— узнать, сколько вы будете зарабатывать на определенной позиции;
— выбрать страны для продвижения;
— искать объекты для инвестирования;
— и многое другое.

Каким образом мы собираем данные?

Доступ к модулю SPY бесплатен, но с одним условием: взамен вам необходимо предоставить iTunes connect вашего приложения. Это позволяет нам делать аналитику еще более точной. В системе насчитывается уже более 5000 iTunes connect’ов приложений, которые отдают нам свои данные по установкам и заработку. Большинство аналитических сервисов работают по такой же схеме, и только мы предоставляем все аналитические данные абсолютно бесплатно!

Подключая свой iTunes connect, вы получаете доступ к удобной системе аналитики по 25 самым крупным странам и по ТОП-400 позиций по каждой из них:

image

Как создавался модуль SPY

Создание подобного модуля было очень непростой задачей как с технической стороны, так и со стороны получения iTunes connect’ов. Несколько крупных аналитических компаний, собрав приличный пул приложений, стали монополистами на рынке мобильной аналитики. Но мы верили, что можно создать технически более совершенный сервис, и главное, сделать его бесплатным! Разработчики не должны платить за аналитику, тем более по $10 000 в месяц.
Читать дальше →
Total votes 39: ↑24 and ↓15+9
Comments39

Многоязычный Badoo: «трудности перевода»

Reading time10 min
Views26K


Хорошая локализация, то есть адаптация приложения для пользователей из разных стран, позволит ему завоевать сердца своей аудитории. Плохая же, напротив, станет настоящей болью. Например, один из навигаторов в Google Play предлагает «Не обновлять, не вы приобрели коммерческая карта» и пугает, что «На некоторых устройствах вы будете просить, чтобы выбрать папку установки».

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

В этой статье мы вкратце расскажем о тех аспектах локализации, которым нужно уделить внимание в первую очередь, и поделимся опытом, который мы накопили при переводе Badoo на 46 языков. Это очень обширная тема, и мы продолжим рассказывать в деталях, как мы реализовали те или иные инструменты. В конце статьи вы можете проголосовать и выбрать тот аспект, о котором вам интересно узнать в первую очередь.
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments30

Даурия ввязывается в большую микроспутниковую гонку

Reading time5 min
Views49K
В мировом частном спутникостроении сегодня наметился очевидный тренд, который можно выразить фразой “снять за сутки”. Сразу несколько молодых компаний, выразили готовность создать недорогие спутниковые группировки, для съемки какого-либо места на Земле один раз в сутки. Многие инвесторы поверили в бизнес-успех такой идеи и компании активно взялись за реализацию. Среди них оказалась и созданная в России «Даурия Аэроспейс»

P1 (3)900
Читать дальше →
Total votes 117: ↑112 and ↓5+107
Comments79

Добавь газку: +200% производительности

Reading time6 min
Views20K
Привет, Хабр.

В прошлый раз я рассказывал тебе, как мы написали Raw конвертер на JavaScript, а ты сказал мне, что он работает медленно. Сегодня я хочу рассказать о том, как мы ускорили наш raw.pics.io почти в 3 раза. Я не буду постить простыни кода с описанием каждого шага, постараюсь рассказать в общем виде о подходах к оптимизации, которые мы использовали. Также я решил не писать о доступе к DOM, уменьшении количества HTTP-запросов, склеивании и минификации файлов, опциях сжатия на сервере и т.д. Все это техническая работа
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments44

Месяц поиска уязвимостей: как мы к нему готовились и как его пережили

Reading time5 min
Views22K


21 апреля совместно с Hacker One мы запустили программу поиска уязвимостей. 20 мая завершился конкурс, ставший первым шагом этой программы. Сегодня мы хотим рассказать, как мы укрепляли нашу оборону, готовясь к конкурсу, как исследователи искали в ней бреши и что они помогли нам найти.
Читать дальше →
Total votes 92: ↑75 and ↓17+58
Comments26

CLRium: мини-конференция по нутрям .Net в Санкт-Петербурге

Reading time2 min
Views6.5K
Буквально на прошлой неделе была проведена мини-конференция по внутренностям CLR и как ими можно манипулировать. Сам тренинг очень сильно ждали и хотели увидеть не только в Москве, но и в остальных городах (ссылка на статью на Хабре с опросом). И исходя из того что сам я живу в Санкт-Петербурге, анонсирую его грядущее проведение именно в этом городе. Прошу заметить, что время проведения этой мини-конференции — вечернее. Это сделано для того чтобы Вы смогли сходить на него не отпрашиваясь с работы и не беря отгул. На этот раз день проведения — четверг. А это значит что у вас будет свободен вечер пятницы. А это, согласитесь, прекрасно -)

На текущей мини-конференции появилась новая тема — декомпиляция и обратная компиляция. Разбор библиотеки Mono.Cecil и личного опыта замены ей продукта PostSharp.

На этой мини-конференции будут освещены следующие темы:
  • Управление памятью .Net/Windows/процессора
  • Строение объектов .Net в памяти
  • Передаем объекты между AppDomains без сериализации: без накладных расходов.
  • Как работают исключения? Вклиниваемся в процессы обслуживания исключений.
  • Пишем пул объектов вне .Net памяти
  • Пишем ядро Memory Profiler’а — делаем дамп виртуальной памяти с распознанием .Net объектов в ней.
  • Пишем метод fork(): метод, создающий поток, который стартует с того же места, на котором был вызван fork (ветвление потоков) — C++/CLI/asm
  • Декомпиляция, редактирование и обратная компиляция. Что такое MSIL и так или он прост?


Картинка для затравки (после вызова CloneThread, текущий поток ветвится на два, каждый из которых идет в свою часть условия if):

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

Intel GPA для Android — оптимизируем графику в мобильных приложениях

Reading time8 min
Views8.8K
image В продолжение серии статей, посвященных Intel INDE, хочу рассказать об уникальном (не побоюсь этого слова) инструменте для разработчиков, созданном компанией Intel — Intel GPA (Graphics Performance Analyzers). Я уже упоминал его в обзорной статье, посвященной Intel INDE.

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

Intel GPA поддерживает анализ производительности приложений для Windows и Android. Версия для Windows (DirectX) существует на рынке давно, о ней написано много статей; версия же для Android, предназначенная для приложений, использующих OpenGL, появилась сравнительно недавно, и многие разработчики даже не подозревают о ее существовании. Этот пробел я и собираюсь восполнить.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments1

Mail.Ru для бизнеса: всё, что вы хотели и не стеснялись просить

Reading time5 min
Views37K


Вы, возможно, помните, как мы анонсировали проект «Mail.Ru для бизнеса» несколько месяцев назад.

Если кто-то из вас пропустил, «Mail.Ru для бизнеса» — это бесплатный сервис, позволяющий создать до 5000 корпоративных адресов в домене и открывающий пользователям доступ к полному объему ресурсов Почты Mail.Ru. При этом мы обеспечиваем надежную защиту от спама и вирусов и предлагаем неограниченный объем почтового ящика. Почтой можно пользоваться через сторонние клиенты, поддерживающие протоколы IMAP, POP3/SMTP — Outlook, The Bat, а также через мобильные приложения для всех популярных платформ. Вместе с почтой пользователям доступны и другие инструменты, такие как Облако для виртуального хранения данных, Календарь для организации работы и Агент для мгновенного обмена сообщениями с коллегами.
Читать дальше →
Total votes 95: ↑75 and ↓20+55
Comments96

Ответ интернет-сообщества «Леваде»: только 4% опрошенных считают необходимым ограничения в Сети

Reading time4 min
Views25K
image


Ранее я опубликовал пост "«Левада»: только 5% граждан РФ считают недопустимым ограничение информации в интернете. Наш альтернативный опрос". В настоящее время представляю результаты, полученные в ходе исследования мнения Хабра-сообщества относительно заявленной проблемы и подвожу их итоги.
Но предварительно небольшой экскурс — почему я решил провести подобный альтернативный опрос.

12 мая по СМИ широко разошелся пресс-выпуск от «Левада-Центра» относительно полученных ими результатов опроса по теме «Ограничения в интернете».

В основном интернет-издания по этому случаю пестрели заголовками: «У регулирования интернета больше сторонников, чем противников», «Россияне не против цензуры в интернете», «Регулирование интернета считают недопустимым лишь 5% россиян», «Россиянам не нужна свобода в интернете» и т.д.

Позже, подробные результаты опроса «Левада» выложила и на своем портале.

Меня, мягко говоря, насторожили представленные аналитическим центром данные, неужели на самом деле свобода и доступ к информации в интернете без навязанных сверху ограничения нужен лишь только 5% пользователей Сети?
Читать дальше →
Total votes 118: ↑93 and ↓25+68
Comments107

Поисковик Спутник запущен

Reading time1 min
Views84K
Запущен отечественный поисковик Sputnik.

image

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

На текущий момент доминирующим фактором ранжирования в Спутнике являются ссылки, что вполне очевидно, так как других мощных сигналов для ранжирования у него и быть не могло.
Также в Спутнике пока нет контекстной рекламы, а это в общем увеличивает долю SEO-трафика.
Таким образом, запуск новый поисковой системы может оказать поддержку в развитии SEO-рынка и рынка ссылок в частности.
Читать дальше →
Total votes 81: ↑61 and ↓20+41
Comments223
1
23 ...

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity