Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Почему свет и темнота на фотографии — это сложно

Обработка изображений *Фототехника
Перевод
HDR imagery on Flickr

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

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

Эта статья, наряду с моим предыдущим постом о перспективе, является частью более обширной темы зависимости картин и фотографий от художественных и технических решений. Фотографии — это не объективная фиксация реальности, как и картины — не точные отображения воспринимаемого художником. Подробнее я расскажу об этом в своём следующем посте.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 493
Комментарии 0

Новости

Пространственный анализ тренировок

Python *Геоинформационные сервисы *Визуализация данных
Tutorial

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

Для решения задач я использовал несколько библиотек Python, предназначенных для работы с пространственными данными и их визуализации – GeoPandas, PyProj, Shapely, Folium, Branca, H3-Pandas, OSMnx.

Подробное описание кода, примеры картографических изображений и ссылка на полный git-проект внутри.

Читать далее
Рейтинг 0
Просмотры 203
Комментарии 0

Клептография и криптовирология

Блог компании Криптонит Информационная безопасность *Криптография *

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

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

На эти вопросы отвечают профессиональные криптографы, специалисты российской технологической компании «Криптонит».

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 259
Комментарии 1

22 новых фичи C# — каким будет C# 11+

Программирование *.NET *C# *

1. Полуавтоматические свойства и ключевое словоfield.
2. Модификатор уровня доступа file.
3. Первичные конструкторы для классов и структур.
4. Паттерн-матчинг для списков.
5. Атрибуты для Main в программах с top level statement.
6. Сырые строки без экранирования внутри строки для удобства работы с json, xml, html и регулярными выражениями.
7. Строковые литералы для UTF-8.
8. Паттерн-матчинг для Span<char>.
9. Перенос строк в выражениях интерполяции.
10. Возможность перегрузки операторов с проверкой на переполнение
11. Оператор побитового сдвига вправо без знака >>>.
12. Доступ к параметрам методов nameof.
13.nameof для членов экземпляров.
14. Ключевое слово required для обязательно инициализируемых свойств и полей.
15. Автоматическая инициализация свойств структур значением по-умолчанию.
16. generic-атрибуты.
17. локальные переменные и параметры только для чтения.
18. Кэширование делегатов при использовании method group для статических методов.
19. Поля с значением хранящимся по ссылке.
20.params Span<T>/params ReadOnlySpan<T>/params IEnumerable<T> в объявлении методов чтобы избежать лишних неявных созданий массива в куче и копирований коллекций.
21. Удаление оператора проверки параметров на null !!.
22. Предупреждения для имен типов полностью в нижнем регистре.

Внутри — разбор каждой фичи и сценарии применения.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.3K
Комментарии 2

Esperanto: не только язык, но и производительный 1000-ядерный RISC-V процессор для систем машинного обучения

Блог компании Selectel IT-инфраструктура *Машинное обучение *Процессоры IT-компании

Постепенно в индустрии производства процессоров развиваются альтернативные архитектуры, на базе которых создают весьма примечательные чипы. Так, стартап Esperanto Technologies представил собственную версию RISC-V процессора, причем не обычного, а высокопроизводительного, предназначенного для работы с ИИ-системами и машинным обучением. Мы уже не раз писали об экспериментах в этой отрасли, давайте посмотрим, что это за новинка.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.8K
Комментарии 3

Переход с 1С: УПП на 1C:ERP: Переделываем интеграции с SQL-запросами к СУБД (на примере УПП &gt; QlikView &gt; ERP)

SQL *SQLite *Промышленное программирование *Управление проектами * *
Из песочницы

Для тех, кто не читал предыдущую статью, расскажу о сути проекта. В 2020-2021 году я участвовал в роли руководителя команды разработчиков Внедренческого центра "Раздолье" в проекте Управление продажами в международной компании на базе "1С:ERP" (ссылка на сайт 1c.ru). Проект был выбран победителем международного конкурса «1С:Проекта года» в номинации «Лучший проект с использованием технологии "Дистанционное внедрение"».

Суть проекта заключалась в переводе Заказчика с 1С:УПП на 1С:ERP. На его примере кратко опишу, какой была организационная структура и какие программы мы использовали при взаимодействии в команде и с пользователями.

Практически весь проект выполнялся удалённо. Многие сотрудники Заказчика, участвующие в проекте, в условиях карантинов и локдаунов были переведены на удалённую работу. Многие сотрудники нашей компании тоже работали удалённо, с командировками в этот период были большие проблемы. Сам Заказчик работает в режиме 24х7 и является одним из крупнейших предприятий в России по производству кофе. На начало проекта в качестве основы корпоративной системы у Заказчика была программа 1С:УПП редакции 1.2 (даже не 1.3). По завершению проекта в 2021-м перешли на ERP 2.5. К слову, когда начинали работу, в 2020-м году, когда 2.5. была ещё в бета-версии, но мы решили прислушаться к рекомендациям "Фирмы 1С" запускать новые проекты на ней, а не на 1С:ERP 2.4.

Читать далее
Рейтинг 0
Просмотры 1.2K
Комментарии 4

В апреле выйдет GNU Compiler Collection 12

Блог компании SkillFactory Программирование *C++ *Компиляторы *
Перевод

Смягчение уязвимости Trojan Source, оптимизация функций приведения типов, многомерный оператор [], подавление предупреждений о вендорных атрибутах — вот лишь некоторые возможности GCC 12. Подробностями делимся к старту курса по разработке на C++.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.3K
Комментарии 0

Библиотека для создания веб-приложений OMGlib, как это работает?

Lisp *

В предыдущем посте я, немного сумбурно, рассказал про библиотечку OMGlib, которая позволяет создавать полностью динамические веб-приложения. Вкратце, идея состоит в следующем: приложение использует браузер для взаимодействия с пользователем, для этого браузер открывает WebSocket-соединение с сервером, после чего просто выполняет получаемый от него javascript-код, отправляя результаты обратно через это же соединение. Все DOM-элементы при этом создаются динамически, через соответствующие функции javascript, без использования HTML вообще. Также, сервер может создавать функции в браузере и вызывать их, сгружая, таким образом, всю логику и механику, связанную с интерфейсом, прямо в браузер. Библиотечка реализована на языке Common Lisp, развитая система макросов которого позволяет писать код единообразно, просто помечая часть функций как browser-side, а компиляция их в JS происходит при помощи JSCL прозрачно для программиста.

Казалось бы, что тут может пойти не так?
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.3K
Комментарии 9

Доклады PHDays 11: заражение буткитами, санитайзеры для ядра Linux, новое лицо OSINT и фишинг на официальном сайте

Блог компании Positive Technologies Информационная безопасность *

Считаные недели остаются до Positive Hack Days 11. Международный форум по практической безопасности пройдет 18–19 мая в Москве. Команды атакующих и защитников для The Standoff уже сформированы, а мы завершаем подготовку инфраструктуры киберполигона и программы конференции.

Читать далее
Рейтинг 0
Просмотры 983
Комментарии 0

Как создать цифровой двойник электроэнергетического объекта. Часть 1. Sampled Values

Блог компании ЦИТМ Экспонента Сетевые технологии *Прототипирование *Matlab *Энергия и элементы питания

Так вышло, что испытания релейной защиты обязательно проводят на специальных комплексах в режиме реального времени. Внутри этих комплексов находятся цифровые двойники электроэнергетических объектов. Чтобы разобраться как и зачем их туда загружают, мы прольем свет на всеми любимый и ненавистный стандарт МЭК 61850 и поделимся своим опытом моделирования энергосистем на КПМ РИТМ.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.2K
Комментарии 4

Нереальный baselining или доработки PVS-Studio для Unreal Engine проектов

Блог компании PVS-Studio Unreal Engine *

Статический анализатор PVS-Studio постоянно развивается: улучшаются различные механизмы, происходит интеграция с игровыми движками, IDE, CI/CD и другими системами и сервисами. Благодаря этому несколько лет назад появилась возможность использования PVS-Studio для анализа Unreal Engine проектов. Однако один из важных механизмов PVS-Studio – подавление сообщений анализатора (baselining, отключение выдачи предупреждений на существующий код) — не работал с UE-проектами. Почему он не был реализован сразу, и как в итоге была решена эта задача – читайте далее.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 662
Комментарии 0

Псс, парень… индекс нужен?

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

Самый больной вопрос для любого разработчика, которому приходится вычитывать данные из базы: "Как сделать мой запрос быстрее?". Классический ответ - необходимо создать подходящий индекс. Но куда именно его стоит "накатывать", да и как вообще он должен выглядеть?..

Мы научили наш сервис визуализации планов PostgreSQL отвечать на эти вопросы, и под катом расскажем, чем именно он руководствуется в своих рекомендациях.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3.3K
Комментарии 6

Тест-ревью: как прошли два года написания unit-тестов

Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *Тестирование мобильных приложений *

Часто слышу мнение, что unit-тесты не нужны для мобильной разработки: в приложении должно быть минимум логики, основная работа с UI, а его сложно тестировать, да ещё и тесты отнимают время, которое можно было бы потратить на написание фич. 

За этим мнением скрывается простая правда — люди, которые так говорят, не умеют писать тесты. Не умеют писать их быстро; писать там, где нужно; писать так, чтобы была ощутимая польза для бизнеса. Я тоже был таким — понимал, что тесты нужны, но не понимал какие, где и как их писать. 

Рассказываю, что поменялось спустя 2 года и 4 тысячи тестов. 

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 1.4K
Комментарии 6

Выбор API Management платформы: какие критерии важны?

API *
Recovery mode

В один ненастный момент мы осознали, что без комплексного, и главное, продуманного управления несколькими десятками API, что есть в нашем ПО, всё больше времени тратим на борьбу с хаосом. Привычный Postman спасал лишь от малой толики проблем, и мы начали выбирать себе API Management платформу.

К вопросу решили подойти масштабно, с изучением рынка, сравнением систем, выпытыванием подробностей у вендоров и реальных пользователей. Убили на это 3 месяца, систему выбрали, но хочется, чтобы труд не пропал зря, а потому делимся наработками.

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

Функции и состав платформы

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

Основные задачи. которые решает платформа API Management, это:

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 589
Комментарии 3

Как настроить VS Code для Java разработки

Java *
Перевод
Tutorial

Недавно я перешел с IntelliJ IDEA Ultimate на Visual Studio Code (VS Code) и не жалею! VS Code легко настраивается и работает быстро. Он сохраняет ваши настройки в облаке, поэтому вам не нужно беспокоиться о конфигурациях при переходе на другой компьютер.

Как и ожидалось, он поддерживает Java, Git, SQL, Spring Boot и многие другие языки, фреймворки и инструменты.

В этой статье я покажу вам расширения и конфигурации, которые я использую с моей новой любимой IDE.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 2.9K
Комментарии 14

САПР системы и их основные направления. Внедрение BIM в объектную модель

Блог компании Bimeister IT-инфраструктура *CAD/CAM *IT-компании

Хей йо, Хабр! Меня зовут Королёв Николай. Я инженер-конструктор компании BIMeister и при этом успеваю доучиваться в Московском Политехническом Университете на факультете машиностроения. Наш отдел разрабатывает высокодетализированные 3D модели для крупнейших компаний на рынке, к примеру, Газпром, а также внедряет BIM технологии в объектные модели.

Сегодня я расскажу, что такое САПР системы и для чего нужны BIM технологии.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 767
Комментарии 4

Издательство Питер. Колонка редактора

Блог компании Издательский дом «Питер» Профессиональная литература
image

Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами сданных в типографию новинок.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.4K
Комментарии 0

Причинно-следственный анализ в машинном обучении

Блог компании Open Data Science Data Mining *Big Data *Машинное обучение *

Что появилось первым: курица или яйцо?
Статистики давно уже нашли ответ на этот вопрос.
Причем несколько раз.
И каждый раз ответ был разным.

А если серьезно, то для машинного обучения становятся все более актуальными вопросы причинно-следственного анализа (causal inference) - когда главной целью моделирования является не прогноз и его качество, а то, как мы можем принимать решения на основе нашего алгоритма. И как это повлияет на мир, в котором эта модель будет действовать. Сделает ли модель его лучше, чем он был? Или наоборот.

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

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 1.4K
Комментарии 0

Левел-дизайн 101: язык разработки локаций

Блог компании Pixonic Разработка игр *Дизайн игр *Игры и игровые консоли

Однажды, если мне не изменяет память, в Нью-Йоркском университете кто-то сформулировал определение геймдизайна как «мотивирование игрока на определенные действия». Хорошая формулировка. По аналогии с ней, про левел-дизайн я бы сказал так:

Левел-дизайн — это мотивирование игрока на определенные действия через окружение, в котором существует управляемый персонаж. 

Почему мы отталкиваемся от определения геймдизайна — хотя, казалось бы, я должен отстаивать левел-дизайн как самостоятельную нишу? Всё очень просто: наша первая и основная задача — подкреплять в пространстве механики, заложенные геймдизайном. Давать игроку возможность поиграть. А «душную» поправку про управляемого персонажа я добавил тогда, когда в очередной раз услышал в обсуждении левел-дизайна споры про интерфейс. Давайте забудем про него на время прочтения этой статьи: все-таки UI почти всегда существует вне игрового пространства и не является инструментом левел-дизайнера.

А теперь, когда у нас есть определение, разберемся в сущности левел-дизайна. 

Откуда возникла эта ниша? Что левел-дизайнер отдаёт в результате работы над локациями? В этом мы и будем разбираться дальше в этой статье. А вообще их будет целый цикл, в котором я постараюсь охватить всю базу этой области геймдизайна от самых основ до приемов AAA-сегмента.

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 1.2K
Комментарии 0

50 оттенков нагрузочного тестирования

Блог компании Ozon Tech Высокая производительность *Тестирование IT-систем *Go *Тестирование веб-сервисов *

С нарастающими скоростями и распределёнными системами всё сложнее бывает создать приложение удобным для конечного пользователя. Программы обладают кучей фич. Но выполняют ли они то, что нужно юзерам? А скорость их выполнения достаточная? А производительность при выполнении не хромает? На эти вопросы помогает ответить нагрузочное тестирование (НТ).

Меня зовут Саша, я работаю в команде тестирования Ozon Fintech и расскажу про разнообразный спектр вариантов НТ: как именно мы его применяем и какие инструменты используем. Статья будет полезна тем, кто уже что-то слышал про НТ и хочет добавить его в свой проект, но пока страшновато. Давайте разбираться!

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 1.5K
Комментарии 11