Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Скрываем воду внутри лодки

Reading time6 min
Views8.3K
При разработке игр про лодки, да и любых других игр с обширными водными поверхностями, существует проблема сокрытия поверхности воды, когда на ней что-то плавает. Я расскажу о решении, используемом в моей игре Sail Forth на движке Unity, но эта методика применима для любого другого движка.


Та самая проблема. Тащите ведро!

Так как в большинстве игр вода — это просто большая плоскость, логично, что плавающие на ней объекты будут пересекаться с её поверхностью!

Как же нам устранить эту проблему? Мне известны две основные методики: одна основана на деформировании меша воды вокруг корпуса судна, вторая заключается в маскировании поверхности воды внутри судна. Я знаю, как использовать вторую методику, поэтому мы реализуем её.

Решение состоит из трёх компонентов:

  • Создание меша «маски» для каждого судна
  • Написание шейдера для меша «маски»
  • Изменение шейдера воды для использования маски
Читать дальше →

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

Reading time10 min
Views12K
Всем привет! Меня зовут Леонид, и я не люблю переплачивать. Наверняка многие слышали про компании, занимающиеся пересылкой посылок, через которые можно заказать вещи из американских интернет-магазинов. Этой весной мне удалось посетить склад одной из таких компаний, и сегодня я расскажу, как это работает.


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

Шаблонизация PDF

Reading time6 min
Views27K
imageХабрахабр, уважаемые коллеги!

Проблема впечатывания данных в PDF документ не нова, не я первый и не я последний кто с ней сталкивается, поэтому решил поделиться опытом решения и заодно представить вашему вниманию небольшое веб приложение по этой теме.
2024.10.28 немного доработал проект, теперь можно взять xlsx файл с данными и впечатать эти данные нужно количество раз в бланк pdf, как это сделать описано в Readme.md проекта на гитхабе. Для добавления нового шрифта просто положите новый шрифт в папку static/fonts и он станет доступным для впечатывания.

1. PDF формат хорош тем, что он не редактируемый. Во всяком случае рядовой пользователь вряд-ли будет заниматься внесением правок в документ PDF. И значит формат PDF хорошо подходит для обмена важными документами.

2. PDF формат плох тем, что он нередактируемый ) Т.к. шаблонизация, заполнение набором данных бланка документа PDF в автоматическом режиме затруднена, а в ручном режиме требуется установка платных, тяжеловесных приложений.

Меня, как программиста, беспокоит прежде всего 2-й пункт. Как в программном приложении впечатать необходимый набор данных в документ PDF?
Читать дальше →

Языки программирования с однобуквенным названием

Reading time5 min
Views21K
image

Список языков программирования, названных одной буквой.

А


Язык программирования A+ является потомком APL, как и другие языки на этой странице, потому что сообщество APL любит однобуквенные имена. Артур Уитни (создатель многих диалектов APL) создал A, затем Морган Стенли расширил его до A+.

B


Язык программирования B является предшественником C и в наши дни больше не используется.

C


Нет необходимости представлять C. Если эта статья вас интересует, то вы знаете C. Мы также можем считать C++ и C #, поскольку разрешены небуквенные и нецифровые символы.

D


D — это улучшенный C++. В настоящее время это мой самый любимый язык, поэтому все будет очень предвзято. Если у вас есть возможность выбирать языки, считайте это рекомендацией проверить D!
Читать дальше →

Учим ASP.NET Core новым трюкам на примере Json Rpc 2.0

Reading time16 min
Views10K

Хотите добиться нестандартного поведения от aspnet core? Мне вот понадобилось добавить прозрачную поддержку Json Rpc. Расскажу о том, как я искал решения для всех хотелок, чтобы вышло красиво и удобно. Может быть, вам пригодятся знания о разных точках расширения фреймворка. Или о тонкостях поддержки Json Rpc, даже на другом стеке/языке.


В результате получилась библиотека, которая позволяет работать с Json Rpc, вообще не задумываясь, что он спрятан под капотом. При этом пользователю не нужно уметь ничего нового, только привычный aspnet mvc.

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

HMM: ловим мошеннические транзакции

Reading time5 min
Views5.7K

Три года я проработал в Сербии iOS-евангелистом - было два профильный проекта и один Machine Learning-овый.

Если вам стало интересно - добро пожаловать в мир HMM.

Читать далее

Войны лоббистов и развитие BIM. Часть 5: BlackRock — хозяин всех технологий. Как корпорации контролируют Open source

Reading time26 min
Views30K

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

Сегодняшние лидеры САПР-индустрии: Autodesk, Hexagon, Nemetschek, Bentley, Trimble - хорошо готовятся к будущим угрозам: стандартной тактикой больших корпораций стал агрессивный захват новых рынков и поглощение возможных конкурентов на ранних стадиях развития. 

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

Читать далее

Поиск изображений

Reading time5 min
Views13K

Пытаясь реализовать обратный поиск изображений для своего сайта, я столкнулся с огромным миром поиска изображений. Ниже приведены краткие описания и варианты применения некоторых подходов обратного поиска/поиска похожих изображений.

Читать далее

50 оттенков жёлтого. Часть 2

Reading time7 min
Views18K
Продолжим подкреплять теорию практикой. В первой части статьи я рассказал о своих ранних экспериментах по отбеливанию пластмассы — успешных и не очень. Несмотря на большой объём материала, там, по сути, был рассмотрен лишь один вариант — с использованием жидкой перекиси водорода и солнечного света. И хотя результаты получились обнадёживающие, у описанного метода есть масса ограничений.



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

Как можно использовать шейдеры в Android View и как Android View может использовать шейдеры

Reading time17 min
Views5.8K

Для полноценной работы с динамическими элементами пользовательского интерфейса, которые используют тени, фильтры в реальном времени для фото или видео, или адаптивный пользовательский интерфейс и освещение, недостаточно использовать только Canvas. Было бы куда лучше, если бы у нас в распоряжении было что-то помощнее. Раньше мы могли использовать RenderScript, но поддерживается ли он сейчас?

В этой статье я расскажу как использовать стандартные GLSL шейдеры OpenGL в вашем пользовательском view, которое является наследником класса Android View (android.view.View). Я предлагаю вам использовать это решение, если вы работаете над чем-нибудь из нижеперечисленного:

Читать далее

Android и привязка к жизненному циклу компонентов

Reading time5 min
Views4.2K

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

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

Читать далее

Глобальные объекты в Angular

Reading time6 min
Views13K

В JavaScript мы часто используем сущности, вроде window, navigator, requestAnimationFrame или location. Некоторые из этих объектов существуют испокон веков, некоторые являются частью вечно растущего набора Web API. Возможно вы встречали класс Location или токен DOCUMENT в Angular. Давайте обсудим, для чего они нужны и чему мы можем у них научиться, чтобы сделать наш код чище и более гибким.

Давайте!

Крутые трюки с переменными CSS

Reading time4 min
Views16K


Переменные в CSS (или custom properties, кому как удобнее) изначально задумывались для хранения повторяющихся свойств вроде цветовой палитры или шрифтов в одном месте. В препроцессорах работа с переменными куда более гибкая, но магия SASS/SCSS применима не всегда и не везде, и в реальном мире часто обходятся без них, что нередко ведёт к раздуванию и размазыванию кодовой базы по разным файлам и форматам. В этой статье мы рассмотрим несколько интересных хаков, которые позволяют построить на механизме custom properties вещи, кажущиеся невозможными без препроцессоров или вмешательства JS.

Почему в iPhone до сих пор стоят 12 Мп камеры?

Reading time4 min
Views85K
Заметили, что мегапикселей стало как-то очень много? В Samsung готовят матрицы разрешением 600 Мп, уже есть — 108 Мп, а вот в iPhone, по-прежнему, 12 Мп. Почему так?

Вы наверное думаете, что всё дело в Deep Fusion и других волшебных алгоритмах. Отчасти, да. Но дело не только в них.


А что если я вам скажу, что в iPhone гораздо больше мегапикселей, чем мы думаем. А в Samsung, наоборот, гораздо меньше. Смотря как посчитать эти мегапиксели. Что это еще за заговор такой? Давайте разберемся!

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views69K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Советы по работе с Gradle для Android-разработчиков

Reading time15 min
Views37K

Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого понимания, как правильно структурировать свои проекты и писать build-скрипты.


CameraX+ML Kit для распознавания номера карты в действии

Reading time8 min
Views9.1K

Привет, меня зовут Виталий Беляев, я Android-разработчик в red_mad_robot. В этой статье я расскажу про опыт интеграции CameraX с ML Kit на замену библиотеки card.io, и что в итоге из этого получилось.

Читать далее

Что такое суперлуние? Сегодня первое суперлуние 2021 года?

Reading time3 min
Views27K
Сегодня, 28 марта 2021 года, у нас есть возможность увидеть восход полной «Луны червя» (Worm Moon). Сегодняшняя Луна особенно огромна, потому что она ближе к Земле, чем большинство остальных полных лун.

Можно ли считать «Луну червя» суперлуной? Если да, то она может начать целую серию из четырех суперлуний подряд.

На самом деле, всё зависит от того, какое определение мы выберем.
Читать дальше →

Как мы с братом алмаз делали

Reading time6 min
Views126K

Наверное кто-то задумывался, а можно ли сварить алмаз «на кухне и/или на коленке». Можно! Я решился рассказать, как мы с братом это делали.

Читать далее

У английского языка нет будущего (времени)

Reading time5 min
Views86K

«Английский язык не имеет будущего времени, потому что у него нет ни словоформ будущего времени в том виде, в котором они есть в других языках, ни других грамматических форм, которые могли бы обозначать только будущее время».

Но погодите. А чем тогда является Future Tense, который изучают уже на уровне Elementary? 

На самом деле, все сложнее, чем кажется на первый взгляд. Говорим сегодня о будущем времени в английском языке. Поехали.

Читать далее

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity