Как стать автором
Обновить
0
@Delta_Zread⁠-⁠only

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

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

Reverse-инжиниринг Caesar III (часть 2, Рисование города)

Время на прочтение4 мин
Количество просмотров45K
Надеюсь, предыдущий пост Back-инжиниринг Caesar III, где был описан алгоритм получения текстур из ресурсов оригинальной игры, был благосклонно встречен хабражителями. В этой статье я опишу формат карт, алгоритм выбора и порядок тайлов для отрисовки, формирование итоговой текстуры.



Как это устроено

Unity3d. Уроки от Unity 3D Student (B25-B28)

Время на прочтение7 мин
Количество просмотров60K
Всем привет. Это заключительная серия базовых уроков по Unity 3D от сайта Unity3DStudent. Далее будут еще два урока среднего уровня. Upd: планы изменились, этих уроков не будет, так как второй урок (по анимации) уже довольно сильно устарел, а выкладывать перевод только одного урока не вижу смысла. Пусть он останется на самостоятельное изучение =)

Ссылки на предыдущие уроки:

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

Алгоритм решения задачи о рюкзаке ( версия 2, исправленная)

Время на прочтение5 мин
Количество просмотров136K
Ниже приведен алгоритм точного решения целочисленной задачи о рюкзаке. Предлагаемый алгоритм требует меньше вычислительных ресурсов и возможно несколько проще алгоритма динамического программирования (ДП).

Причина побудившая автора к публикации


Первая версия описания алгоритма было послана мною в институт математики им. С. Л. Соболева Сибирского отделения РАН, откуда был прислан ответ что указанный алгоритм известен давно. Цитирую:
Одно из его первых упоминаний в книге Кереллера Nemhauser, Ullman, Discrete dynamic programming and capital allocation, Management Science, 15 p. 494-505, 1969.
Тем не менее я решил ознакомить сообщество с алгоритмом, т.к. в известных мне учебниках по дискретной математике я его не обнаружил (возможно плохо искал). В первой версии алгоритма была ошибка, указанная мне пользователем wataru. За это ему большое спасибо. Я постарался эту ошибку устранить. До алгоритма я дошел самостоятельно, так что надеюсь ничьих прав не нарушаю. Возможно кому нибудь описание будет интересно и пригодится.
Читать дальше →

О недостатках современных синтезаторов и как с ними бороться

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

Все любят музыку. Но не все способны её играть. Лишь немногие способны её создавать, и ещё меньше людей создают для этого музыкальные инструменты. Легендарные инструменты, наравне с легендарными композиторами и музыкантами, входят в историю, но мало кто интересуется этими самыми инструментами. Мы интересуемся. Так почему бы не внести в историю свою микроскопическую лепту?
Читать дальше →

Как я писал свою криптовалюту

Время на прочтение15 мин
Количество просмотров46K
3 года назад у меня появилась мысль создать свою криптовалюту. От биткоина решил взять идею с нодами и блокчеином.


Я решил сделать привязку каждой ноды к человеку. Каждый, кто хочет стать майнером, должен заснять на видео своё лицо и сделать фото. При проверке сранивается фото и видео, чтобы убедиться, что лицо одно и то же. Видео нужно только потому, что подделать его практически невозможно, в отличие от фото.
На фото нужно нанести точки в определенные части лица, чтобы при поиске по БД сравнивать пропорции.
Проверяют это всё майнеры, которые ранее уже прошли такую проверку. В итоге нужно набрать 10 положительных голосов и менее 10 отрицательных в течение суток.
Всё это происходит путем рассылки транзакций и блоков между нодами, никаких центральных серверов нет. Все фото/видео находятся в паблике.
Читать дальше →

Как работает сжатие GZIP

Время на прочтение6 мин
Количество просмотров182K
imageВ жизни каждого мужчины наступает момент, когда трафик растёт и сервак умирает необходимо задуматься об оптимизации. В последнем дайджесте PHP (№ 40) была упомянута ссылкой статья «How GZIP Compression Works». Исходя из статистики, 56% веб-сайтов используют GZIP. Я надеюсь, эта статья раскроет перед читателем достоинства этой технологии.
Читать дальше →

Разъяснение http2

Время на прочтение25 мин
Количество просмотров196K
На днях Даниэль Штенберг, один из участников группы HTTPbis IETF, которая ведёт разработку протокола http2, опубликовал в своём блоге крайне интересный документ «http2 explained». Небольшой PDF-документ на 26 страницах весьма доступным языком рассказывает о предпосылках и деталях реализации протокола http2.

Как мне кажется, на сегодняшний день это одно из самых лучших разъяснений о том, что такое протокол http2, зачем он нужен, как он повлияет на веб-разработку и какое будущее ждёт Интернет в связи с его появлением. Думаю, что всем людям, причастным к веб-разработке и веб-строению, информация будет полезна, ведь ожидается, что стандарт http2 будет принят уже в июне этого года после завершающей встречи группы HTTPbis в Нью Йорке.
Читать дальше →

Бесплатная книга «Game Programming Patterns» от программиста Electronic Arts Боба Найстрома

Время на прочтение1 мин
Количество просмотров85K
Боб Найстром, программист, проработавший восемь лет в компании Electronic Arts, закончил работу над книгой «Game Programming Patterns». Она доступна бесплатно на сайте gameprogrammingpatterns.com. Писать книгу Боб Найстром начал четыре года назад. Большинство книг, посвящённых программированию игр, говорит он во введении, либо подробно раскрывают какой-то из аспектов создания игры — физический движок, графику, искусственный интеллект, либо описывают процесс создания игры в определённом жанре от начала до конца. Ему очень не хватало книги, рассказывающей о решении типовых задач, возникающих перед программистом, книги достаточно универсальной, не привязанной к жанрам или конкретным подсистемам игр. И поэтому он решил написать такую книгу сам.
Читать дальше →

Вредные советы от создателей API Яндекс.Карт. Как сделать так, чтобы всё было плохо

Время на прочтение8 мин
Количество просмотров102K
Если гонится за вами
Слишком много человек,
Расспросите их подробно
Чем они огорчены?
Постарайтесь всех утешить.
Дайте каждому совет,
Но снижать при этом скорость
Совершенно ни к чему.
Г. Остер

Сегодня чудесный весенний день. И не только потому что он весенний и очень скоро кому-то придется ехать на дачу копать картошку. А потому что сегодня версия 2.1 API Яндекс.Карт перестает быть beta-версией и становится основной.

К этому событию мы полностью обновили документацию, добавили новых примеров в песочницу и написали эту статью. В этот раз мы решили не рассказывать только про версию 2.1, так как про нее мы уже и так достаточно поговорили во время запуска беты. Поговорим об использовании API Яндекс.Карт в целом.

Разработка API – очень специфичная область программирования. На любую задумку дизайнера и разработчика накладываются потребности и умения пользователей API. Основной фидбек, который мы получаем – это сообщения пользователей в нашем клубе. Туда присылают примеры сайтов с Яндекс.Картами, багрепорты и рекомендации по улучшению нашего продукта. Мы видим, как API смотрится в боевых условиях, и мотаем на ус.

Некоторые вещи часто делают неправильно. Сегодня я хочу о них рассказать. Все советы, которые вы прочтете — вредные. Если вы поймете, что соблюдаете некоторые из рекомендаций этой статьи, ничего страшного – никогда не поздно сделать ваш проект немного лучше. Итак, Irony mode ON.
Читать дальше →

Что значит «слишком дорого»?

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


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

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

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

История продвижения торрент-рендера для 3ds max

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


Прошло почти два месяца с момента релиза и месяц с момента публикации на хабре первой статьи «История создания торрент-рендера для 3ds max». Все это время я выпускал апдейты, улучшал систему, общался с пользователями и соображал, что же делать дальше. И поскольку нынешняя ситуация весьма отличается от моих изначальных планов, думаю нужно рассказать о процессе продвижения.
Читать дальше →

Печать и воспроизведение звука на бумаге

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

На ум сразу приходит QR-код или некие его аналоги. В такой код можно записать ссылку на mp3, или даже совсем маленький звуковой файл. Но в первом случае требуется выход в сеть, а во втором — большая плотность кода и повышенные требования к качеству изображения. Кроме того, ни тот ни другой способ не обеспечит мгновенное воспроизведение.

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


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

Новый MinnowBoard – в два раза дешевле, вдвое меньше и на три года современнее

Время на прочтение2 мин
Количество просмотров38K
Около года назад мы представили в блоге мини-компьютер MinnowBoard на базе процессора Intel Atom, адресованный, прежде всего, любителям создавать интеллектуальные и роботизированные устройства своими руками. В комментариях к тому и последующим постам о MinnowBoard заинтересованные пользователи не преминули отметить недостатки этого мини-ПК: высокую стоимость, устаревший процессор и избыточный размер. Тем приятней нам сегодня сообщить, что теперь у нас есть MinnowBoard, в котором все эти проблемы решены – новый MinnowBoard MAX.
Читать дальше →

Скелетная анимация в первый раз

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

Введение


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

Ratchet 2.0 — самый красивый HTML5-фреймворк теперь дружит и с iOS, и с Android

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


Ratchet — так называется HTML5-фреймворк для быстрого прототипирования мобильных приложений, который 1,5 года назад создали те же парни, которые когда-то выпустили Bootstrap.

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

Я являюсь поклонником Ratchet с момента выхода первой версии. Тогда он был доступен только под iOS.
Не так давно вышла вторая версия, которая наряду с iOS поддерживает Android. Ура-ура!
(правда, обратной совместимости с первой версией нет)

Кому интересно про новые возможности Ratchet 2.0 — прошу под кат!
Читать дальше →

1000+ часов видео по Java на русском

Время на прочтение7 мин
Количество просмотров1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →

Язык Go для начинающих

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

Цель этой статьи — рассказать о языке программирования Go (Golang) тем разработчикам, которые смотрят в сторону этого языка, но еще не решились взяться за его изучение. Рассказ будет вестись на примере реального приложения, которое представляет из себя RESTful API веб-сервис.
Читать дальше →

Возвращаем электронику к жизни — смываем пыль и вытесняем воду

Время на прочтение2 мин
Количество просмотров46K
Привет всем хабрапользователям!

Давненько мы ничего не рассказывали про наши решения. Исправляемся. Сегодня речь пойдет о двух главных врагах любого электронного девайса — пыли и воде и наших способах борьбы с ними.

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

Бот для аркады. Часть №2: подключаем OpenCV

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

Введение

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

Для обработки изображений возьмем широкораспространенную библиотеку OpenCV. Она неродная (unmanaged) для .net, поэтому подключим ее через wrapper OpenCvSharp.

OpenCV нам нужна для того, чтобы, применяя различные преобразования к изображениями, выбрать такое преобразование, которое отделит фон и тени от объектов, а объекты друг от друга. К этой цели и будем сегодня двигаться.


Затрагиваемые темы: выбор библиотеки для обработки изображений, выбор wrapper-а для работы с OpenCV, основные функции OpenCV, выделение движущихся объектов, цветовая модель HSV.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность