Как стать автором
Обновить
-1
0
Богдан Солоненко @Feodot

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

Отправить сообщение

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

Время на прочтение8 мин
Количество просмотров115K
Здравствуйте! Я решил попробовать себя на поприще game-dev'а и заодно рассказать и показать как это было. Вторая часть здесь.

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

image

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

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

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

Время на прочтение3 мин
Количество просмотров64K
Когда категории, на которой планировал выступать, не будет, а экзамены не за горами. 


Предисловие

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


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



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


Читать дальше →
Всего голосов 76: ↑73 и ↓3+70
Комментарии32

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

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

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

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

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

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



Участие в Хакатоне бесплатное — достаточно оставить заявку на сайте vpered.withgoogle.com.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии0

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

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

Например, так 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-а).
Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии12

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

Время на прочтение9 мин
Количество просмотров71K

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

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

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

Время на прочтение3 мин
Количество просмотров16K


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

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

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

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии8

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

Время на прочтение2 мин
Количество просмотров48K
Привет, Хабр!
Одна из главных причин тяжёлых увечий дизайнеров претензий к неопытным дизайнерам от верстальщиков, при получении от них PSD-макетов — это наличие слоёв с заданными режимами смешивания, отличными от normal. Вполне возможно, что скоро это уйдёт в прошлое!
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии21

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

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

image
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии69

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

Время на прочтение6 мин
Количество просмотров12K

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

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

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

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

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

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

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

image

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

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

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

Время на прочтение10 мин
Количество просмотров26K


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

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

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

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

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

P1 (3)900
Читать дальше →
Всего голосов 117: ↑112 и ↓5+107
Комментарии79

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

Время на прочтение6 мин
Количество просмотров20K
Привет, Хабр.

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

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

Время на прочтение5 мин
Количество просмотров22K


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

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

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

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

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


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

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии9

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

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

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

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

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

Время на прочтение5 мин
Количество просмотров37K


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

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

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

Время на прочтение4 мин
Количество просмотров25K
image


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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров84K
Запущен отечественный поисковик Sputnik.

image

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

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

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность