Обновить
-6
Алексей@java3000

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

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

История как мы хотим сделать наш мир чуточку лучше

Время на прочтение4 мин
Охват и читатели8.9K
Всем привет.

Хочу рассказать вам историю, как очередная ночная посиделка в поисках вдохновения привела к готовому приложению.
Эта идея возникла у нас сравнительно недавно. После релиза нашего первенца мы загорелись мыслью, что сейчас начнем клепать 100500 приложений в год, будем повышать квалификацию android-разработчиков и вскоре настанет мир во всем мире, а самое главное в душе.
Но ничто не вечно под луной — основная работа отнимала все силы и свободное время, очень скоро у нас наступил творческий кризис. Все наши идеи были либо слишком амбициозны и требовали приличных вложений, либо уже затерты до дыр. Но души прекрасные порывы было уже не остановить, каждый день мы засыпали и просыпались с мыслью о новом приложении.

В одну прекрасную пятничную вечероночь, потягивая вкусный чаек с лимончиком, я попал на статью о часах судного дня. Ничоси — подумал я и отправился спать. Но сну не суждено было случиться в ту ночь. Едва, рассекая личиком воздух, я коснулся подушки, как в голове произошел творческий взрыв. Стоп! Стоп! Да не, бред, спать надо. Не прошло и минуты, как я сидел за столом с очередной кружкой чая. Так и родились ОНИ. Прошу под кат.
Читать дальше →

Consul: Service Discovery это просто, или прощаемся с конфиг-файлами

Время на прочтение8 мин
Охват и читатели144K
Что здесь интересного:

image

Обзорная статья о Consul (http://consul.io) — системе для поддержания обнаружения сервисов и распределенного хранилища ключ-значение. Кроме самого Consul, рассмотрим Consul-Template — средство для управления конфигурациями сервисов автоматически отражающее изменения в топологии. Статья будет интересна DevOps инженерам, системным архитекторам, тим-лидам проектов и прочим интересующимся микросервисными архитектурами.
Читать дальше →

Как я получил первый опыт геймдизайна и создания игры

Время на прочтение5 мин
Охват и читатели22K
Я хочу поделится с вами моим опытом создания первой игры.

Предыстория


Так вышло, что я всегда хотел делать игры, но долго не мог выбрать идею и приступить к созданию. И после получения определенного опыта использования движка Unity, я решил, что настало время заняться своей игрой. Мне хотелось чего-то простого в плане разработки, но интересного с точки зрения геймплея. И уже тогда в моей голове начала зарождаться идея Layer Switch.


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

Vector Drawable API. Возможности применения

Время на прочтение12 мин
Охват и читатели57K
2014 год был особенным для всех, кто занимается разработкой под Android — он принес одно из самых значимых обновлений Android за всю его историю, версию Android 5.0. С этим обновлением мы получили новый визуальный язык, детальные гайдлайны, множество новых API и инструментов. И, как всегда в случае таких массивных обновлений, не все новшества сразу пробивают себе дорогу в реальные проекты. Где-то мешает инерция мышления разработчиков, привыкших решать определенные задачи определенным образом, где-то — отсутствие документации по новым API, где-то — отсутствие поддержки новых возможностей на старых версиях платформы. Но время не стоит на месте и благодаря труду команды Android, а также независимых разработчиков, такие API постепенно обретают обратную поддержку. И сегодня я хочу рассказать об API векторной графики Android, который способен серьезно облегчить жизнь разработчика, но при этом до сих пор не пользуется популярностью.

векторный Android


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

RxJava. Борьба с вызовами суровой действительности

Время на прочтение10 мин
Охват и читатели36K
Реактивное программирование — очень модный тренд в мобильной разработке на данный момент. Если говорить про android разработку, то реактивность представлена в основном библиотекой RxJava.
В сети все больше статей, обучающих видео, презентаций, записей с конференций, в которых рассказывается про данную тематику. Но подавляющее большинство представленного материала содержит теоретические аспекты и весьма тривиальные примеры, на которых разработчик не может оценить реальный профит от использования Rx. А ведь так хочется увидеть реальный и сложный пример из жизни, который очень наглядно покажет всю мощь, красоту и простоту реактивного программирования.
Поэтому данная статья будет посвящена подробному разбору реального и довольно таки сложного примера. И я очень надеюсь, что после прочтения, вы по-настоящему откроете для себя мир реактивного программирования.
Читать дальше →

История света и тени в одной маленькой, но гордой игре

Время на прочтение7 мин
Охват и читатели35K
Если коротко, то суть статьи можно можно проиллюстрировать так:



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

Рецепты под Android: Как вкусно приготовить LayoutManager

Время на прочтение16 мин
Охват и читатели50K
Привет хабр!

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


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

Как мы ABC анализ для ритейла делали, или «без пол-литра не разберешься»

Время на прочтение11 мин
Охват и читатели63K
Пословицы сами по себе не появляются… Иногда в такие дебри аналитики залезаешь, что поневоле рука к шкафчику с горячительными тянется (да ладно, мы знаем он есть в каждом офисе).



Но будем говорить немного о другом.

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

Когда категорийный менеджер или маркетолог торговой сети вплотную подходит к проведению АВС анализа у него неизбежно возникает целый ворох вопросов, колебаний и сомнений. Именно с ними мы и будем работать в данной статье!

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

Как разблокировать Android, не зная пароль

Время на прочтение1 мин
Охват и читатели85K
Обнаружена очередная уязвимость CVE-2015-3860 в Android 5.0 и старше, позволяющая при должном усердии получить полный доступ к устройству, несмотря на установленный пароль на экран блокировки.

Для этого необходимо:
— создать достаточно длинную строку и скопировать её в буфер обмена
— вызвать с экрана блокировки приложение «Камера»
— перейти на настройки
— вставить скопированную строку в появившееся окно ввода пароля
— немного подождать
Читать дальше →

Тысяча и один блистер. Поиск лекарств с завышенной ценой

Время на прочтение3 мин
Охват и читатели41K
Недавно Минздрав выложил таблицу с предельными ценами на жизненно необходимые лекарства, я неслабо заморочился и проверил как часто эти пределы в Москве превышаются.


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

Пишем простую* игровую физику самолёта

Время на прочтение9 мин
Охват и читатели30K
* — в трёх измерениях.


Предупреждение: дальнейшие рассуждения вполне могут быть ошибочными, мой опыт ограничивается игрой в авиасимуляторы и курсом теоретической механики. Знания в аэродинамике и игровых физических движках весьма скудные. Картинка для привлечения внимания — фотография, а не скриншот.

«Что может быть проще самолёта? Подъёмная сила пропорциональна квадрату скорости, двигатель тянет вперёд, всё просто» — такая мысль пришла в мою голову летом, и я сел писать игру. Лето прошло, было собрано несколько граблей, а списочек того, что я планировал добавить в проект, очень сильно вырос.

В данной статье я попробую написать именно о физической составляющей, не отвлекаясь на графику и прочие штуки. Надеюсь, кому-то это поможет — в интернете не очень много информации на эту тему.

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

Опубликован код эксплойта для критических Android-уязвимостей Stagefright

Время на прочтение2 мин
Охват и читатели20K
Весной 2015 года исследователи обнаружили ряд критических уязвимостей в компоненте ядра мобильной ОС Android под названием Stagefright (библиотека для работы с файлами мультимедиа, например PDF). Ошибки безопасности позволяли злоумышленникамии удаленно получать доступ к смартфону, например, с помощью отправки зловредного MMS-сообщения — для проведения подобной атаки нужно знать лишь номер телефона жертвы.



На этой неделе был опубликован код эксплойта, использующий ошибки безопасности в компоненте Stagefright. Эти уязвимости были обнаружены исследователями компании Zimperium, которая в своем блоге описала атаку с помощью специально созданного эксплойта.
Читать дальше →

Вымогатель Android/Lockerpin.A атакует пользователей США

Время на прочтение5 мин
Охват и читатели6.9K
Недавно наши аналитики зафиксировали очередной всплеск активности злоумышленников, которые распространяли одну из модификаций вымогателя для Android. Ранее мы уже наблюдали семейства вымогателей, которые также совмещали в себе функции фальшивого антивируса (Fake AV) и могли блокировать экран устройства пользователя (напр., Android Defender). В прошлом году мы также писали о вымогателе Simplocker, представляющем из себя первую вредоносную программу – вымогатель для Android, которая содержала в себе возможности по шифрованию файлов.



В предыдущих версиях вымогателя для Android типа LockScreen, механизм блокировки экрана обычно реализовывался методом постоянной прорисовки окна вымогателя на переднем плане, причем такая операция выполнялась в бесконечном цикле, чтобы никто не мог прервать ее. С другой стороны, преодоление такого механизма самозащиты не представляло сложности для опытного пользователя, он мог использовать для разблокировки механизм Android Debug Bridge (ADB) или отключить права Администратора, а также удалить вредоносное ПО в безопасном режиме (Safe Mode).

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

Как работает реляционная БД

Время на прочтение51 мин
Охват и читатели583K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Анализ одной из модификаций шифровальщика VaultCrypt

Время на прочтение116 мин
Охват и читатели25K
Привет, хаб!

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

Раньше я такого не делал, так что мне стало интересно посмотреть, что же можно отсюда вытянуть. Под катом — разбор кода дроппера и исполняемого bat-файла.

TL;DR: под катом — практически построчный разбор довольно большого и муторного BAT-файла. Код, картинки, минимум мыслей.

ATTENTION: некоторые антивирусы (в частности, мой Avast!) очень негативно реагируют на приведенные фрагменты JS-кода. При включенном Avast! у меня вместо статьи отображалась пустая страница с сообщением «Соединение было сброшено». Учтите это, если захотите почитать.

NB:
В попытках понять, что происходит, я провел несколько экспериментов, в результате чего стал счастливым обладателем пятидесяти черновиков постов. И я слишком поздно осознал, что удалить на Хабре черновик невозможно.)
Отключите Avast!

Протоколирование JDBC запросов и их параметров в существующем приложении

Время на прочтение4 мин
Охват и читатели15K


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

Hash array mapped trie

Время на прочтение5 мин
Охват и читатели23K
Hash array mapped trie — это ассоциативный контейнер, который обладает свойствами хэш таблиц и trie. Операции вставки пары ключ-значение и поиск по ключу — О(1) операции.
Про trie на хабре уже писали.

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

Пешком по тайлам

Время на прочтение6 мин
Охват и читатели24K


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

Ни один из известных нам сервисов не строил маршрут из точки А до точки Б там, где нет тропинок и тротуаров, зато полно заборов и домов причудливых очертаний.

2ГИС решил эту проблему. Мы научились строить маршруты для пешеходов по растеризованной карте местности. Карта формально представляется графом с вершинами на регулярной решётке в местах, где пешеход может находиться физически.

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

Практическое руководство по взлому (и защите) игр на Unity

Время на прочтение7 мин
Охват и читатели232K


Когда речь идёт о программном обеспечении, термин «взлом» зачастую ассоциируют с пиратством и нарушением авторских прав. Данная статья не об этом; напротив, я решительно не одобряю любые действия, которые прямо или косвенно могут навредить другим разработчикам. Тем не менее, эта статья всё же является практическим руководством по взлому. Используя инструменты и методы о которых далее пойдёт речь, вы сможете проверить защиту собственной Unity игры и узнаете, как обезопасить её от взлома и кражи ресурсов.
Читать дальше →

О повадках наших пользователей и техподдержки

Время на прочтение9 мин
Охват и читатели41K


У нас офис, склад, много магазинов по стране и куча технически подкованных пользователей, которые умеют продавать настольные игры. Интересно наблюдать, как вся эта экосистема эволюционирует в плане работы с техподдержкой. Поэтому ниже – спокойный пост наблюдений без каких-либо советов или выводов. Просто такова жизнь.

Вот, например, продавцы поняли, что не все выездные админы одинаково полезны. Старшие точек умеют чудовищно быстро меняться нужной информацией. Поэтому теперь на разные случаи просят разных инженеров. Стоит кому-то сделать работу хотя бы на 10% быстрее обычного или ещё как-то показать качество – и сразу же начнутся звонки в духе:
— Привет. Поддержка?
— Добрый день.
— А кто сегодня выездной?
— Миша.
— Ааааа… А Валера когда?
— Валера завтра до 15. Так что у вас сломалось-то?
— Да не, не, всё в порядке. Сегодня всё хорошо. Завтра сломается. В 11:30.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

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