Как стать автором
Обновить
0
0
Александр Холодович @kholodovitch

Lead Java backend developer

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

Знакомство с UnrealEngine. Часть 1

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

Хотелось ли вам когда нибудь сделать свою игру или 3D презентацию, или просто узнать как работают другие игры? Мне всегда хотелось сделать свою игру, и было интересно узнать как работают уже существующие. Не буду скрывать что одной из моих любимых игр является Unreal, работающая на движке UnrealEngine от Epic Games. Первая версия движка появилась 1998 году. На данный момент актуальная версия движка четвёртая. Кроме самой серии Unreal на движке было сделано очень много игр.
Выпустив первую версию движка Epic Games приложила к движку UnrealEditor — редактор позволяющий делать свои уровни и моды для игры. В 2009 году Epic Games выпустила UDK который позволил делать свои игры. На мой взгляд этот движок достоин того, чтобы разобраться как с ним работать и что он может.
Я попытаюсь описать основы работы с UnrealEngine, но в силу некоторых причин я буду описывать его в основном по второй его версии. Большинство из описанного будет работать и в UDK и в UnrealEngine4. Итак, если вас это заинтересовало, добро пожаловать под кат.
Читать дальше →
Всего голосов 80: ↑62 и ↓18+44
Комментарии16

Как вести много проектов сразу и не закопаться в них

Время на прочтение6 мин
Количество просмотров133K
Успеваете ли вы делать всё, что планируете? Храните ли сотни невыполненных задачек пылящимися на полке, или решаете одну за одной? Чувствуете ли вы в целом удовлетворение в достижении своих желаний (и неважно каких, рабочих или личных)?

Если на какой-либо из вопросов вы ответили негативно — эта статья для вас. В ней я поделюсь опытом, как делать больше и лучше!
Читать дальше →
Всего голосов 99: ↑83 и ↓16+67
Комментарии71

Некоторые наблюдения и советы по использованию Bittorrent Sync для синхронизации резервных копий

Время на прочтение4 мин
Количество просмотров41K
Как только выпустили Bittorrent Sync, я сразу его стал использовать для резервирования файлов на домашнем компьютере, настроив штатным образом через web-интерфейс. Программа показала себя с наилучшей стороны, и у меня появилось желание использовать её также для копирования резервных копий на серверах…

Я настроил и использую уже около месяца Bitorent Sync в продакшене и готов поделиться некоторыми наблюдениями.
Подробности
Всего голосов 36: ↑34 и ↓2+32
Комментарии31

Размышления основателя MySQL о развитии проекта под крылом Oracle и о экономике открытых продуктов

Время на прочтение4 мин
Количество просмотров23K
Один из основателей проекта MySQL, на данный момент руководитель проекта MariaDB Ульф Майкл Видениус (известный также под ником Монти), в интервью ITwire говорит о том, что Oracle провалила попытку сделать MySQL успешным продуктом, потому что компания не понимает открытую модель разработки программ.

«Это не в их ДНК», — добавил Монти. — «Они пытаются вести открытый проект в той же самой манере, в которой они разрабатывают свои закрытые продукты, и это большая ошибка».

Недавно Red Hat — компания, стоящая за разработкой наиболее популярного дистрибутива Linux в бизнес-секторе — объявила о том, что в готовящейся к выпуску седьмой версии дистрибутива MySQL будет заменён его ответвлением — MariaDB. За разработкой MariaDB в свою очередь стоит Монти и основанная им компания Monty Program Ab. Ранее под крылышко компании Монти также перешла компания SkySQL, вместе с другим со-основателем MySQL Дэвидом Аксмарком, который работал там как технический директор. Третий со-основатель MySQL — Алан Лариссон — также работает с Монти, помогая ему по мере необходимости своим советом и делом.

Монти сказал, что главной причиной, по которой всё больше и больше людей и компаний стали искать альтернативу MySQL, послужил в большей степени тот факт, что Oracle ясно показала своё нежелание играть по принятым правилам с сообществом разработчиков. Объясняя своё мнение, он добавил, что «выделение открытого ядра MySQL, удаление тестов из исходных кодов (большей частью для того, чтобы усложнить жизнь проектам, основанным на его кодовой базе) и создание таких условий, при которых никто не может разрабатывать MySQL с теми же привилегиями, какие есть у Oracle», это всё послужило причиной сложившейся ситуации.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии39

Перенос толстого банк-клиента BSS в т.ч. на Windows 7 x64

Время на прочтение2 мин
Количество просмотров15K
Добрый день, сегодня я потратил много времени на перенос банк-клиента одного из банков, «идущего на острие прогресса» — называть его не буду. Использует этот банк очень распостраненный «толстый» BSS банк-клиент., написанный на Delphi в незапамятные времена. Сотрудник техподдержки услышав от меня слова Windows 7 x64 сказал что перенос осуществить невозможно. Однако меня это получилось, и я готов поделиться краткой инструкцией по переносу. К сожалению без скриншотов.
Читать дальше →
Всего голосов 16: ↑8 и ↓80
Комментарии17

Я делаю свой квадрокоптер. Часть 1. Уравнения динамики

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

Оглавление


1. Уравнения динамики

Введение




Давным-давно я написал следующий комментарий: Всё.
После такой новости сажусь делать свой квадрокоптер. А то вон все делают, а я нет.
Не, ну а что.
Всегда хотел, чтобы у меня была какая-нибудь летающая штука. Были 2 вертолета радиоуправляемых. Но кончилось это плохо.
Я решил делать свой квадрокоптер. Как это кончится — посмотрим. Я не буду использовать какие-либо готовые полетные контроллеры, все запрограммирую самостоятельно. И постараюсь этот процесс описать в цикле статей. Сейчас представляю вашему вниманию первую часть. В ней будет бегло показано то, какие уравнения динамики скрываются внутри квадрокоптера.
Итак, поехали.

Немного уравнений и еще меньше текста
Всего голосов 121: ↑110 и ↓11+99
Комментарии133

Совершенный код и реальные проекты

Время на прочтение12 мин
Количество просмотров82K
У меня есть проблема — я перфекционист. Я люблю совершенный код. Ведь это не только правильный подход к написанию программ, но и настоящее искусство. От чтения хорошего листинга я получаю не меньше удовольствия, чем от чтения хорошей книги. Проектировать архитектуру большого проекта ничуть не легче, чем проектировать архитектуру большого здания, а в случае хорошей работы — результат не менее прекрасен. Порой меня завораживает то, как изящно переплелись паттерны проектирования в создании совершенной программной системы. Меня восхищает внимание к деталям, когда абсолютно каждый метод настолько прост и понятен, что претендует на место классического примера совершенного кода.

Но, увы, всё это великолепие разбивается о суровую действительность и реальные проекты. Если мы говорим о продакшн-проекте, то пользователей не волнует, насколько красив ваш код и насколько хороша архитектура, их волнует, чтобы проект хорошо работал. Но я всё равно считаю, что в любом случае нужно стремиться писать правильно, просто при этом фанатизма быть не должно. После чтения различных холиваров на тему правильных подходов к написанию кода мне в глаза бросилась одна тенденция: каждый пытается применить означенные подходы не в целом к программированию, а только к своему опыту разработки, к своим проектам. Многие не осознают, что хорошие практики — это не абсолютные правила, которые должны строго соблюдаться в 100% сценариев, это лишь советы о том, как следовало бы поступать в большинстве ситуаций. На каждую хорошую практику всегда можно придумать несколько дюжин примеров, в которых она работать не будет. Но это вовсе не означает, что хорошая практика не такая уж и хорошая, просто её применили не к месту.

Читать дальше →
Всего голосов 114: ↑101 и ↓13+88
Комментарии99

Облака — ещё дешевле

Время на прочтение5 мин
Количество просмотров115K
Наверняка вы слышали о сервисах Amazon EC2, Rackspace и им подобным. Может быть даже пользовались. Лично мне бывает нужен иногда личный VPN-сервер. Для этих целей я уже давно держал микро-инстанс на Амазоне, предоставляемый им в течении первого года бесплатно. Плюс использовал для архивов Amazon Glacier, который с его ценой «1 цент за гигабайт в месяц» можно считать тоже почти бесплатным. Но вот год закончился и за EC2 стало нужно платить. Архивы мои тоже разрослись прилично и затраты на Glacier аналогично перестали радовать.

Случайно пробежавший мимо обзор сервиса DigitalOcean по-началу оставил меня равнодушным. Ну, облачный сервис, ну виртуалки. Ну да, чуть-чуть дешевле (но не так чтобы уж очень), чего-то аналогичного Glacier вроде бы нет да и вообще оно того не стоит.

Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
Читать дальше →
Всего голосов 120: ↑102 и ↓18+84
Комментарии87

Алгоритм seam carving для изменения размера изображения

Время на прочтение7 мин
Количество просмотров30K
Seam carving это алгоритм для изменения размера картинки, сохраняющий важный контент и удаляющий менее значимый. Он был описан в статье S. Avidan & A. Shamir. Он дает лучший результат, чем обычное растягивание изображения ввиду того, что не меняет пропорций значимых элементов изображения. Две фотографии ниже демонстрируют работу алгоритма – исходное изображение имеет размер 332x480, в то время как модифицированное seam carving'ом 272x400.


В данной статье я опишу работу алгоритма используя псевдокод и код Matlab. Оригинал статьи, написанный мной на английском доступен тут, исходный код на гитхабе.
Читать дальше →
Всего голосов 84: ↑82 и ↓2+80
Комментарии29

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

Время на прочтение2 мин
Количество просмотров38K
Древний холивар о том, нужна ли программисту математика, получил неожиданное продолжение в спорах о ЕГЭ. Активно начала продвигаться идея о том, что вообще не надо проверять знания, а надо проверять умение быстро искать ответы. Ну и как вывод – замена ЕГЭ на чемпионат по поиску в Гугле/Яндексе. На мой взгляд, с тем же успехом можно проводить экзамен в виде поиска по школьной библиотеке. Почему-то никто не замечает такой очевидной истины, что быстро находит ответы те, кто знают, что искать, то есть как раз обладают знаниями. Для подтверждения этой идеи я составил 3 задачки для программистов, алгоритмы решения которых я нашел бы за пару минут.
Читать дальше →
Всего голосов 172: ↑114 и ↓58+56
Комментарии212

Стоит ли разрабатывать карточные игры?

Время на прочтение2 мин
Количество просмотров3.6K
Разработка цифровых карточных игр год-два назад считалась в России бесперспективной. По крайней мере без серьезного бэкграунда или финансовой поддержки. Я попытался найти данные, оправдывающие разработку цифровых TCGs.
Читать дальше →
Всего голосов 9: ↑3 и ↓6-3
Комментарии1

Minnowboard – мини-компьютер на Intel Atom

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

На прошедшей в конце мая конференции «Automotive Linux Summit» Intel представила роботизированную руку – «рыбака», определявшую похожие на рыбок предметы и помещавшую их в аквариум. Мозгом робота был мини компьютер Minnowboard, аналог Raspberry Pi на процессоре Intel Atom. Проект Minnowboard находится сейчас на стадии последних приготовлений к выходу на рынок, поэтому информация о нем, думаю, будет небезынтересна хабра сообществу, тем более, что эта тема поднимается здесь в первый раз.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии45

Десять возможностей C++11, которые должен использовать каждый C++ разработчик

Время на прочтение12 мин
Количество просмотров535K
В данной статье рассматривается ряд возможностей С++11, которые все разработчики должны знать и использовать. Существует много новых дополнений к языку и стандартной библиотеке, эта статья лишь поверхностно охватывает часть из них. Однако, я полагаю, что некоторые из этих новых функций должны стать обыденными для всех разработчиков С++. Подобных статей наверное существует много, в этой я предприму попытку составить список возможностей, которые должны войти в повседневное использование.

Сегодня в программе:
  • auto
  • nullptr
  • range-based циклы
  • override и final
  • строго-типизированный enum
  • интеллектуальные указатели
  • лямбды
  • non-member begin() и end()
  • static_assert и классы свойств
  • семантика перемещения
Читать дальше →
Всего голосов 133: ↑125 и ↓8+117
Комментарии115

Bitcoin: теперь по 100$ штука (не 1-е апреля), и Avalon

Время на прочтение1 мин
Количество просмотров95K
Помните старые, добрые времена, когда Bitcoin стоил 30$ штука (это было всего месяц назад)?
Все это в прошлом. Обменный курс стал трехзначным, т.е. превысил 100$ за 1 BTC.

Месячный объем торгов — превышает 150 млн$, а размер денежной массы — впервые превысил 1 млрд $.

Сложность майнинга (подбора хэшей SHA256, необходимых для проведения платежей в системе — за что полагается часть эмиссии биткоинов) за последний месяц резко возросла — т.к. заказчикам наконец стали приходить специализированные компьютеры производства Avalon с процессорами, заточенными именно под расчет SHA256. Butterfly Labs же пока создать такую систему не смогла, хотя обещала поставки 7 месяцев назад и до сих пор принимает предзаказы.

Под катом — несколько фотографий майнера от Avalon.
Читать дальше →
Всего голосов 101: ↑86 и ↓15+71
Комментарии468

Получены фотографии кристалла специализированного Bitcoin-процессора Avalon

Время на прочтение2 мин
Количество просмотров66K
2 месяца назад я писал о том, что первые заказчики начали получать специализированные компьютеры для майнинга / поддержки сети Bitcoin — Avalon. Я сразу же написал разработчику Avalon'a — Yifu Guo, и он согласился выслать мне несколько микросхем для вскрытия. Однако, посылка погрязла в пучине слоупочты России.

К счастью, со мной связался needbmw — оказалось ему приехал Авалон с одним поврежденным чипом, его отпаяли и отдали мне минуя почту. Теперь мы наконец сможем одним глазком взглянуть на внутренности процессора. Особенно это будет интересно многочисленным желающим разработать свой Avalon с блекджэком и косить миллионы.
Читать дальше →
Всего голосов 98: ↑92 и ↓6+86
Комментарии91

Разработка контентного приложения для iOS, атакуем русский App Store

Время на прочтение7 мин
Количество просмотров6.4K
Вступление

Разработчиком мобильных приложений под iOS я стал совсем недавно. Все началось с обычного увлечения, когда пришла мысль попробовать свои силы в новых технологиях. После нескольких успешных проектов на фрилансе я решился на разработку своего собственного приложения – визитки для фирмы, в которой на тот момент работал инженером-конструктором. К сожалению, после всех согласований и утверждений, когда проект уже был в рабочем состоянии на моем телефоне, я так и не смог получить добро на публикацию его в App Store. Бюрократическая машина в нашей стране работает исправно.



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

Портирование кода на мобильные устройства iOS/Android

Время на прочтение13 мин
Количество просмотров20K
Что вам кажется привлекательней: сталкиваться с новыми интересными задачами и разрабатывать нетривиальные алгоритмы или переписывать с одного языка на другой уже существующую логику и воевать со странными особенностями конкретных API? Я занимаюсь мобильной разработкой уже лет 8, и, не раздумывая, выбираю первый вариант, но и повоевать с API тоже люблю. Тем, кто со мной согласен, но еще не знает, как заниматься первым и сводить к минимуму второе, будет интересно заглянуть под кат.

Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии16

Одно предложение, которое делает нас сильнее

Время на прочтение2 мин
Количество просмотров93K
Это мой самый короткий топик, суть которого в одном предложении. Часто именно с этого предложения начинается успешный стартап, бизнес и любое другое начинание.

Это шаблон описания сути вашей компании или проекта в одном предложении. Я открыл его для себя во время стажировки в США. Составив его, мы реально становимся сильнее. В последствии мне это помогло выбрать правильный курс, сфокусироваться и расставить приоритеты.
Читать дальше →
Всего голосов 198: ↑168 и ↓30+138
Комментарии51

Как я не спал год или создание социального Android приложения

Время на прочтение8 мин
Количество просмотров35K
Доброго времени суток, уважаемые хабражители. Я работаю в большой IT компании Android-разработчиком.

Все началось примерно год назад. Тогда, я решил начать свой первый проект. Идея приложения пришла мне практически сразу. Ее первоначальная версия звучала примерно так — «Я хочу, чтобы каждый мог узнать независимое мнение людей всего мира, по интересующему вопросу».

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

В статье присутствуют цены на те или иные услуги сайтов с которыми мне удалось связаться.
Читать дальше →
Всего голосов 119: ↑114 и ↓5+109
Комментарии30

Анонс Visual Studio 2013

Время на прочтение6 мин
Количество просмотров50K
Вчера на конференции TechEd Брайан Харри сделал анонс выпуска Visual Studio 2013 и Team Foundation Server 2013 а также множества новых возможностей этих продуктов связанных с управлением жизненным циклом приложений. Некоторые из этих новых возможностей уже доступны прямо сейчас в Team Foundation Services и позднее в этом месяце (а точнее во время конференции Build) будут опубликованы предварительные версии VS 2013 и TFS 2013. Релиз этих продуктов состоится в конце этого года.
Наконец то (и с большой радостью) мы можем рассказать вам о том, что ожидается от нашего продукта в новой версии. К сожалению, рамки этой статьи не позволят вместить описание всех новинок которые мы подготовили в VS 2013, основной акцент будет сделан на возможности связанные с управлением жизненным циклом приложений и совместной работой.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии72

Информация

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

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

Backend Developer, Chief Technology Officer (CTO)
Lead
От 300 000 ₽
Java
Spring Boot
Hibernate
Apache Kafka
RabbitMQ
C#
MySQL
Redis