Pull to refresh
-6
Алексей@java3000

Администратор windows умеющий в программирование

Send message

Разработка первой игры [на Unity3D]

Reading time10 min
Reach and readers97K
Когда-то я пошел на ПОВТ (можете вставить свою специальность в IT) для того чтобы узнать как писать игры. Хотя обучение и было несколько отдалено от интересующей тематики, оно принесло фундаментальные знания, без которых было бы очень тяжело. Дальнейшая после выпуска работа в нескольких компаниях только затягивала в энтерпрайз, отдаляя от геймдева. Но, время от времени, покупая новую игру, или наблюдая за разработкой очередного тайтла, возникает очень навязчивая идея — «Хочу этим заниматься!».

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

За последний проект я взялся очень крепко и довел до стадии релиза.

В данной статье хотелось пройти по базовым этапам создания новой игры, с изрядной долей субъективного мнения. Я не буду углубляться в детали реализации и код — больше хотелось поделиться своим опытом и помочь тем, кто вынашивает свои идеи, но не предпринимает дальнейших шагов. Если вы готовы, то
Добро пожаловать!

Изучаем OpenGL ES2 для Android Урок №3. Освещение

Reading time20 min
Reach and readers17K
Перед тем как начать
Если вы новичок в OpenGL ES, рекомендую сначала изучить уроки №1 и №2, так как данный урок опирается на знания предыдущих уроков.
Основы кода, используемого в этой статье, взяты отсюда:
1. http://andmonahov.blogspot.com/2012/10/opengl-es-20.html
2. http://www.learnopengles.com/android-lesson-two-ambient-and-diffuse-lighting/
В результате мы получим такую картинку на экране устройства или эмулятора.

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

Рекомендации по продвижению проекта в США

Reading time2 min
Reach and readers4.3K
Для многих индустрий на сегодняшний день существует простой закон: если вы успешны на американском рынке, то вам гораздо проще выходить на другие. Но есть еще одно непреложное правило — наладить бизнес-процессы и запустить продажи удаленно практически невозможно. Работайте и развивайте свой бизнес там, где собираетесь продавать, и ваши шансы на успех станут гораздо выше.

В то время, как большинство стартапов мечтают попасть на западный берег, восточный зачастую остается недооцененным. Хотя именно здесь находится мировая столица диджитал и потребления — Нью-Йорк, а рядом — Бостон, Вашингтон, Чикаго. К тому же Нью-Йорк удобнее расположен — 7 часов временной разницы с Москвой против 10-11 часов разницы западного берега.
Читать дальше →

Что такое деревья поведения и как они используются

Reading time5 min
Reach and readers34K


/ фото Harry Li CC

Нас в компании «ИТ-ГРАД» очень интересуют вопросы искусственного интеллекта. Мы уже затрагивали тему автопилотируемых автомобилей, а неделю назад публиковали материал, в котором рассказывали о новых достижениях ученых и разработчиков в сфере ИИ, а также об опасениях скептиков.

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

XCOM 2 – разбираем механики и смотрим на «вот в точно такую же, только меньше и другую»

Reading time13 min
Reach and readers57K


Второй XCOM с анонса обещал сразу море вкусного – и летающая база на корабле, отжатом у пришельцев, и подпольное сопротивление, и гибриды пришельцев и людей, и вообще полный улёт.

Конечно же, парни решали сразу две задачи:
  • Сделать «как было» — с сектоидами, защитой базы, деревом наук.
  • И при этом не сделать повтор прошлой игры, где всё это уже было.

Если посмотреть на первую UFO – это, фактически, история войны во Вьетнаме с точки зрения вьетнамцев. Прибегает вдруг агрессор на две головы технологически выше. Надо использовать все возможные методы от изготовления боеприпаса из консервных банок до бросания кусков вражеского мыла в дупла с пчёлами. И если повезёт – удастся захватить целый танк, из которого получается станция радиоперехвата, много разного металла, куча взрывчатки для мин из боезапаса и ещё шлёпанцы из резины.

Так что суть ко второй «новой» игре осталась той же – только теперь мы играем за, как в песне, «желтолицых». И «Фантом» свой мы уже сбили. Ведь главная часть интереса к серии XCOM – это то, что ты не знаешь, что там дальше в войне с захватчиками. Если же всё дерево наук известно, все шаги гадов записаны, то дальше это просто работа, а не врыв в неизвестность.

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

Часть 2. СППР Универсальные алгоритмы – Алгоритм для службы поддержки

Reading time4 min
Reach and readers9K
В следующей статье описан еще один подход по реализации системы поддержки принятия решений. На основе этой СППР был реализован алгоритм для службы поддержки.

Исходное состояние – я руководил службой внедрения и сопровождения в частной медицинской компании. Филиальная сеть отделений в регионах, которая работает под управлением единой системы. Так же используется схожее оборудование на всех объектах. Фактически все оборудование подключено в систему и отдает данные (диализные аппараты, лабораторные анализаторы, аппараты УЗИ и кардиографы, измерители веса и давления, водоподготовка, система вентиляции, датчики температуры и влажности).

Сеть отделений постоянно расширяется. В каждом отделении есть ИТ-специалист. Далеко не всегда этот специалист компетентен в различных областях. Задача стояла достаточно масштабная по обеспечению работоспособности довольно сложной с точки реализации системы.
Читать дальше →

История языков программирования: что помогло языку Java «войти в каждый дом»

Reading time7 min
Reach and readers46K

Изображение сайта vanillajava.blogspot.com

Кто-нибудь думал, что язык Java, первоначально предназначенный для устройств бытовой электроники, станет использоваться во многих других областях?

Расширение влияния Java, как ни странно, началось с разработки браузеров.

Главный разработчик Java Джеймс Гослинг перешел в Sun в 1984 году из исследовательского отдела IBM. До Java Гослинг разработал не имевший коммерческого успеха оконный интерфейс NeWS и GOSMACS — первую реализацию текстового редактора EMACS на языке С.

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

Java и ограничения памяти в контейнерах: LXC, Docker и OpenVZ

Reading time4 min
Reach and readers10K
Недавно была опубликована информативная статья Мэтта Уильямса о Java в Docker и существующих ограничениях памяти. Автор поднимает интересную тему о скрытой проблеме ограничения памяти, с которой пользователи могут столкнуться во время работы с контейнерами.

Большое количество репостов и лайков показывает, что данная тема довольно популярна среди Java-разработчиков.image

Поэтому хотелось бы более подробно проанализировать данную проблему и определить возможные пути ее решения.

Проблема


Мэтт описывает свое ночное «путешествие» в контейнере Docker со стандартным поведением памяти JVM. Он обнаружил, что ограничения RAM отображаются некорректно внутри контейнера. В результате, приложение Java, или любое другое, видит общий объем ресурсов оперативной памяти, выделенной для всей хост-машины, а JVM не может указать, сколько ресурсов было предоставлено родительскому контейнеру для работы. Это приводит к ошибке OutOfMemoryError, вызванной неправильным поведением динамической памяти JVM в контейнере.

Фабио Кунг, из Heroku, подробно описал основные причины возникновения этой проблемы в своей недавней статье "Память внутри контейнеров Linux. Или почему в контейнере Linux не работает free и top?"

Большинство инструментов Linux, предоставляющих метрики ресурсов системы, были созданы в то время, когда cgroups еще не существовали (например: free и top, как у procps). Они обычно читают метрики памяти из файловой системы proc: /proc/meminfo, /proc/vmstat, /proc/PID/smaps и других.
Читать дальше →

Особенности продвижения приложений в СНГ, на западных рынках и в Азии

Reading time21 min
Reach and readers14K
Предыдущая статья про 15 нестандартных инструментов продвижения мобильного приложения неожиданно хорошо зашла на Хабре. Это говорит о том что тема для сообщества актуальна.

В данной статье вас ожидает большой текст (TLD:DR!) о продвижении приложения в СНГ, на западных рынках и в Азии, с подробным разбором каждого из рынков и большим количеством полезных ссылок.

Запасайтесь чаем и добро пожаловать под кат.

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

Основы реактивного программирования под Android на практическом примере

Reading time8 min
Reach and readers42K

1. Введение в реактивное программирование


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

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

RxJava — реализация ReactiveX с открытым исходным кодом на Java. Базовыми строительными блоками реактивного кода являются Observables и Subscribers. Подробнее с базовой основой можно ознакомиться в статье Грокаем* RxJava, часть первая: основы.

RxAndroid — расширение к RxJava, которое позволяет планировщику запускать код в основном и дополнительных потоках Android приложения и обеспечивает передачу результатов из созданных дополнительных потоках в основное для агрегации и взаимодействия с интерфейсом пользователя.
С целью более полного понимания основных принципов реактивного программирования рассмотрим практический пример для платформы Android. И начнем с настройки окружения для разработки.
Читать дальше →

Эффективное кеширование. От теории к практике

Reading time13 min
Reach and readers78K
image

Как правило, статьи о кешировании начинаются за здравие, а заканчиваются LRU кешем. Попробуем переломить эту тенденцию? Начнем с того, чем LRU плох, а закончим за здравие. Я надеюсь.

Вне зависимости от того, строите ли вы хайлоад сервис для миллионов посетителей или проектируете мобильное приложение, пишите операционную систему или СУБД — ключевое звено, влияющее на конечную стоимость системы и на отзывчивость интерфейса/сервиса — это кеш.
Читать дальше →

Обзор физики в играх Sonic. Части 7 и 8: пружины и штуковины, суперскорости

Reading time6 min
Reach and readers15K


Продолжение цикла статей о физике в играх про Соника. В этом посте рассматриваются отталкивания персонажей от различных игровых объектов и их суперспособности.
Читать дальше →

Киберпреступная группа Carbanak связана с российской компанией в сфере безопасности?

Reading time6 min
Reach and readers13K
Brian Krebs написал у себя в блоге объёмный материал, который показывает интересный взгляд на то, кто и как связан с группой Carbanak, нашумевшей во взломе около 100 финансовых учреждений и похитивших около 1 миллиарда долларов США.

Ниже перевод данной статьи (замечания просьба писать в личные сообщения).


Наиболее известной киберпреступной группой является группа Carbanak. Этих хакеров из Восточной Европы обвиняют в краже более миллиарда долларов из банков. Сегодня мы рассмотрим некоторые убедительные улики, указывающие на связь между Carbanak и российской фирмой по безопасности, претендующей на работу с некоторыми крупнейшими брендами в сфере кибербезопасности.

Группа Carbanak получила свое название от вредоносного банковского программного обеспечения, используемого в бесчисленных кибер-кражах. Данная группа, пожалуй, является самой известной за проникновение в банковские сети с помощью заражённых файлов Microsoft Office, используя затем этот доступ для выдачи наличных банкоматами. По оценкам Лаборатории Касперского, Carbanak-ом, скорее всего, украдено более 1 млрд. долл. США, – но, в основном, из российских банков.

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

JIT-компилятор оптимизирует не круто, а очень круто

Reading time6 min
Reach and readers56K

Недавно Лукас Эдер заинтересовался в своём блоге, способен ли JIT-компилятор Java оптимизировать такой код, чтобы убрать ненужный обход списка из одного элемента:


// ... а тут мы "знаем", что список содержит только одно значение
for (Object object : Collections.singletonList("abc")) {
    doSomethingWith(object);
}

Вот мой ответ: JIT может даже больше. Мы будем говорить про HotSpot JVM 64 bit восьмой версии. Давайте рассмотрим вот такой простой метод, который считает суммарную длину строк из переданного списка:


static int testIterator(List<String> list) {
    int sum = 0;
    for (String s : list) {
        sum += s.length();
    }
    return sum;
}
Читать дальше →

Спросите Итана №75: как мы можем до сих пор видеть Большой взрыв?

Reading time4 min
Reach and readers16K

Если он произошёл миллиарды лет назад, что он всё ещё тут делает?



Мы любим признавать только то, что уже сияет, хотя благороднее поддерживать свет до того, как он начнёт сиять, а не после
— Дежан Стоянович

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

Почему мы продолжаем обнаруживать космическое фоновое излучение? То, что мы продолжаем бесконечно наблюдать космическое фоновое излучение, спустя миллиарды лет после его возникновения – это доказательство инфляции, или того, что Вселенная искривлена сама на себя (конечна, но безгранична)? Или, если эти факторы не влияют, какие могут быть объяснения?

Давайте задумаемся над историей Вселенной.



Конкретно, давайте поразмыслим, почему мы вообще можем обнаруживать космическое фоновое излучение. История начинается в момент Большого взрыва, или, точнее, во время горячего Большого взрыва.
Читать дальше →

Спросите Итана №76: очень ранняя Вселенная

Reading time7 min
Reach and readers8.8K

Что происходило, когда всё было настолько горячее, что материя и антиматерия образовывались спонтанно?


Из специальной теории относительности вытекает, что масса и энергия являются разными проявлениями одного и того же – концепция, среднему уму незнакомая.
— Альберт Эйнштейн

Каждую неделю у вас есть возможность отправлять вопросы и пожелания, чтобы стать звездой нашей ежедневной колонки. На этой неделе мы переносимся на самые ранние стадии Большого взрыва благодаря Уэйну Кингу, который спрашивает:

Есть период, о котором мы знаем немного, это период аннигиляции частиц и античастиц. Было ли это “материей” в смысле протонов и позитронов? И что случилось с нейтронами? Или это была какая-то форма уплотнённой энергии из области квантовой хромодинамики? Как она появлялась? Оставалось ли что-либо в процессе аннигиляции? Сколько энергии выделялось, и куда она делась?
Большинство авторов просто ограничиваются общими отписками, описывая эту тему.

О чём же толкует Уэйн? Начнём с сегодняшнего состояния Вселенной, и нажмём «перемотку» назад.



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

Но как Вселенная стала такой? Она расширялась из более плотного, сжатого, однородного и горячего состояния. Сейчас всё так далеко разбросано, поскольку Вселенная расширялась очень долго.
Читать дальше →

MATRЁSHKA – модульная система беспилотного коммерческого транспорта

Reading time2 min
Reach and readers15K


Буквально только что был представлен концепт модульного электротранспорта российской компанией Volgabus, которая занимается производством автобусов. Если быть точнее, то разработкой занимается дочерняя компания BMG (Bakulin Motors Group) созданная владельцем Volgabus Алексеем Бакулиным. Но несмотря на статус «концепта», разработка проекта идет полным ходом и уже идут испытания на территории «Сколково».
Давайте изучим этот концепт подробнее вместе.
Читать дальше →

С 18 июля новый порядок регистрации программ для ЭВМ в Роспатенте. Что изменилось?

Reading time6 min
Reach and readers76K
18 июля 2016 года вступили в силу новый Административный регламент предоставления государственной услуги по государственной регистрации программы для ЭВМ, а также новые Правила регистрации программ и баз данных. Таким образом, прекращает действие Административный регламент 2008 года. Понятно, что если вы по каким-то причинам регистрируете программы в Роспатенте (зачем их регистрировать — мы обсуждали здесь ранее), то с 18 июля нужно пользоваться новой формой заявления.



Больший интерес представляет анализ нового Регламента с целью понять, есть ли что-то существенно новое в регистрации программ, улучшающее или ухудшающее положение заявителей.
Подробности

Синтезатор речи «для роботов» с нуля

Reading time25 min
Reach and readers26K
image

Давным-давно посетила меня идея создать синтезатор речи с «голосом робота», как, например, в песне Die Roboter группы Kraftwerk. Поиски информации по «голосу робота» привели к историческому факту, что подобное звучание синтетической речи характерно для вокодеров, которые используются для сжатия речи (2400 — 9600 бит/c). Голос человека, синтезированный вокодером, отдает металлическим звучанием и становится похожим на тот самый «голос робота». Музыкантам понравился данный эффект искажения речи, и они стали активно его использовать в своем творчестве.
Подробнее про реализацию синтезатора речи.

Мобильный UX-дизайн: Как правильно запрашивать у пользователей разрешения

Reading time4 min
Reach and readers14K
image

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

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

● доступа к данным о местоположении

● доступа к контактам

● доступа к камере
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Администратор серверов
Младший
From 110,000 ₽
Java
Java Spring Framework
RESTful WebServices.
PostgreSQL
SQL
Hibernate
Linux
Базы данных
Microsoft SQL Server
Разработка программного обеспечения