Search
Write a publication
Pull to refresh
52
0
Роман Калачик @xtraroman

.NET Developer

Send message

20+ кейсов с изображениями в ChatGPT. Или экономим 100,000₽+ на дизайнерах

Level of difficultyEasy
Reading time9 min
Views7.5K

С момента, как OpenAI выпустила свой новый генератор картинок, прошло уже почти 3 месяца. Хайп уже давно прошел, а у меня дошли руки до статьи на Хабре

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

Постарался найти такие юзкейсы, которые у графических дизайнеров будут стоить десятки тысяч рублей 💫

Внутри много примеров, прям много

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

Узнать, как экономить 💰 на дизайне

Кто формирует будущее разработки игр в России: перспективные команды и проекты

Reading time12 min
Views5.7K

Привет! Думаю, никого не удивлю, если скажу, что российская игровая индустрия долгое время оставалась в тени студий-гигантов мирового уровня. Однако в последние годы ситуация понемногу начала меняться в лучшую сторону. Несмотря на все сложности, независимые студии и небольшие команды разработчиков продолжают создавать игры, которые находят свою аудиторию не только в России, но и за ее пределами. Особенно активно развивается сектор AA- и инди-игр, где авторские идеи, интересные механики и оригинальные миры находят себе дорогу к геймерам.
Читать дальше →

Создание контрола Avalonia/WPF для двухцветных векторных Bootstrap Icons

Level of difficultyHard
Reading time33 min
Views1.3K

В мире разработки приложений, будь то веб или десктоп, использование иконок является неотъемлемой частью пользовательского интерфейса. Векторные иконки предпочтительнее растровых, так как они масштабируются без потери качества. Одной из популярных коллекций векторных иконок является Bootstrap Icons, содержащая более 2000 готовых иконок. Хотя коллекция Bootstrap Icons доступна как npm-пакет bootstrap-icons и ориентирована на веб-разработку, её можно эффективно использовать в десктопных приложениях.

Создадим с нуля контрол BootstrapIcon для удобного использования двухцветных векторных иконок в приложениях на Avalonia/WPF. Сами изображения, в основном берем из SVG-файлов библиотеки bootstrap-icons, отсюда и название нашего контрола.

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

🔗 Полученные контролы BootstrapIcon для Avalonia и WPF с примерами использования размещены на GitHub.

👉 Продолжение следует...
Планируется публикация ещё пары туториалов, в которых будет пошаговое руководство для создания главного меню приложения и аналога ToolBar с использованием BootstrapIcon.

Читать далее

Добавление пользовательских иконок для типов MIME в Linux

Level of difficultyEasy
Reading time2 min
Views2.3K

Привет! Меня зовут Станислав Ермохин, я руководитель группы методического обеспечения в команде КОМПАС-3D. По ходу подготовки версии КОМПАС-3D для Linux мы встречаемся с «очевидными и невероятными» ситуациями. Решением одной из них решили поделиться. Тем более, что в Рунете не удалось найти достаточно полного описания, как назначать пользовательские иконки для файлов. Вся информация разрозненная, отрывочная или устаревшая. 

Читать далее

Особенности расчета импеданса линий передач в Polar SI9000

Level of difficultyMedium
Reading time5 min
Views2.2K

Ухин В.

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

Стоп!!! А где же здесь Polar SI9000? - спросит нетерпеливый читатель. Не торопись, друг, история только начинается.

Не так давно один из пользователей обратился к нам со следующей проблемой: необходимо спроектировать копланарную линию передачи с волновым сопротивлением 75 Ом на материале RO4003С с параметрами: толщина диэлектрика 0.203 мм, диэлектрическая проницаемость 3.38. На рисунке 1 представлен фрагмент спецификации материала.

Читать далее

Оценка влияния и учет параметров  переходного отверстия на передачу высокочастотного сигнала

Level of difficultyMedium
Reading time5 min
Views1.8K

В.А. Ухин, В.С. Кухарук,  Д.С. Коломенский, О.В. Смирнова

В статье оценивается влияние переходного отверстия на потери сигнала в линии передачи. Оценка выполняется с помощью расчета коэффициентов S матрицы. Подчеркивается необходимость реализации вычисления первичных и вторичных параметров межслойного перехода непосредственно в САПР печатных плат. 

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

Когда говорят о линиях передачи, реализованных на печатной плате, то часто подразумевают опорный слой и проводник определенного поперечного сечения в среде диэлектрика (рис. 1) [1, 2].

Читать далее

Вглубь ядра: знакомство с LTTng

Reading time11 min
Views9.3K
LTTng

В одной из предыдущих публикаций мы уже затронули проблематику трассировки и профилирования ядра Linux.

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

Вычисляемое видео в 755 мегапикселей: пленоптика вчера, сегодня и завтра

Reading time19 min
Views86K


Какое-то время назад автору довелось читать лекцию во ВГИК, и в аудитории было много людей с операторского факультета. Аудитории был задан вопрос: «С каким максимальным разрешением вы снимали?», и дальше выяснилось, что примерно треть снимала 4К или 8 мегапикселей, остальные — не более 2К или 2 мегапикселя. Это был вызов! Мне предстояло рассказать про камеру с разрешением 755 мегапикселей (raw разрешением, если быть точным, поскольку конечное у нее 4К)  и какие феерические возможности это дает для профессиональной съемки.

Сама камера выглядит так (этакий маленький слоник):



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



Кому интересны принципиально возможности вычисляемого видео о которых редко пишут — вся правда под катом! )
Читать дальше →

Правдоподобная реконструкция Инстаграм-подобных фильтров

Reading time4 min
Views11K

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


https://github.com/homm/color-filters-reconstruction


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


Для примера, одно из следующих изображений было получено с применением фильтра Clarendon на оригинальном изображении в самом Инстаграме, а другое с помощью наложения восстановленного фильтра. Попробуйте угадать, какое восстановлено.



Для сравнения, это результат применения того же фильтра из коммерческого набора «Инстаграм-подобных фильтров», который вы без труда сможете нагуглить:


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

Сделаем Windows медленнее! Часть первая: файловый доступ

Reading time7 min
Views43K
imageОС Windows долгое время попрекали за медлительность её файловых операций и медленное создание процессов. А почему бы не попробовать сделать их ещё более медленными? Эта статья покажет способы замедления файловых операций в Windows примерно в 10 раз от их нормальной скорости (или даже больше), причём способы эти практически не поддаются отслеживанию обычным пользователем.

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

Профилирование: измерение и анализ

Reading time13 min
Views17K


Привет, я Тони Альбрехт (Tony Albrecht), инженер в Riot. Мне нравится профилировать и оптимизировать. В этой статье я расскажу об основах профилирования, а также проанализирую пример С++-кода в ходе его профилирования на Windows-машине. Мы начнём с самого простого и будем постепенно углубляться в потроха центрального процессора. Когда нам встретятся возможности оптимизировать — мы внедрим изменения, а в следующей статье разберём реальные примеры из кодовой базы игры League of Legends. Поехали!

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

Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core

Reading time23 min
Views105K
Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть между фронтэндом и бэкендом, и планка вхождения в область становится все выше и выше, разработчики начинают делиться на два лагеря и уходит такое понятие как фуллстек.

Да, под Node.js можно написать сервер, но для бэковой разработки, все же, .net бесспорный лидер. На js, на мой взгляд, очень сложно написать гибкий и легко поддерживаемый бэкенд, хотя возможно многие со мной и не согласятся.

Давайте ударим автопробегом по бездорожью попытаемся вопреки всему этому написать SPA приложение с бэком на .net core и клиентом на js, из инструментов разработки будем использовать горячо любимую Visual Studio.

После этого туториала, я надеюсь, веб и бэк разработчикам будет проще найти почву под ногами в вражьей области и понять в какую сторону двигаться для более углубленного изучения. Поехали!
Читать дальше →

Hyperapp для беженцев с React/Redux

Reading time5 min
Views18K

image


Я люблю Redux


Именно благодаря Redux для меня началось путешествие в мир удивительного функционального программирования. И это первое из функциональщины, что я попробовал в production. Прошли те времена, когда я использовал DOM для хранения состояния и неуверенно манипулировал им с помощью jQuery.


Redux — это инструмент для управления состоянием приложения (state), который позволяет полностью отделить его от представления (view). Представление (view) становится производным состояния (state), которое предоставляет пользователю интерфейс для его изменения. Действия пользователя (actions) не изменяют состояние (state) напрямую. Вместо этого они попадают в редюсер (reducer). Это такая чистая функция, которая на основе предыдущего состояния (state) и действия (action) генерирует следующее состояние (state). Такой подход к обновлению данных во многом был вдохновлен архитектурой языка программирования Elm и концепцией однонаправленного потока данных Flux. Это, возможно, самая популярная JavaScript-библиотека для иммутабельного изменения состояния из тех, что существуют сегодня. Авторы Redux сфокусировались на решении одной единственной проблемы — управление состоянием приложения (state), и сделали это хорошо. Redux получился достаточно модульным, чтобы работать с различными библиотеками для отображения представления (view).


React использует аналогичный сфокусированный подход для представления (view), имеет эффективный виртуальный DOM, который можно подключить к DOM браузера, нативным мобильным приложениям, VR и прочим платформам.


Что бы создавать надежные, функциональные и легко отлаживаемые web-приложения, можно использовать React и Redux. Правда, потребуются вспомогательные библиотеки вроде react-redux и куча boilerplate-кода. А можно попробовать Hyperapp.

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

Бесплатное программное обеспечение для IP-камер

Reading time5 min
Views815K
За 11 лет работы на рынке видеонаблюдения, нам пришлось столкнутся с множеством программ для управления системами видеонаблюдения, с какими-то мы работали, какие то тестировали, какие хотели потестировать, но так и не успели этого сделать, про какое-то просто читали в обзорах подобных тому, что читаете вы.

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

Все программное обеспечение разбито на три группы:

  • Программное с открытым исходным кодом
  • Бесплатное программное обеспечение с ограниченным функционалом
  • Программное обеспечение бесплатное в течении пробного периода

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

Безопасный Android для ребёнка

Reading time8 min
Views57K
Подозреваю, что многие из читателей этой публикации в детстве не носили с собой мобильный телефон, или начали носить его только в старших классах — как ни странно, обыденные на сегодняшний момент мобильники появились не так давно. И даже после их появления в течение долгого времени мобильные телефоны были огромными и дорогими, и позволить их себе могли только серьёзные дядьки. Но на дворе 2018 год, и младшеклассники вовсю пользуются смартфонами.

Конечно, дети разные, и проблемы у всех в связи с этим возникают разные. У кого-то проблем вообще не возникает, и я могу только порадоваться за этих людей. Лучше всего, если получается договориться с ребёнком о разумном использовании телефона — но этот случай мы рассматривать не будем как довольно очевидный (договорились — молодцы). Будем рассматривать тот случай, когда нужно выдавать ребёнку смартфон, но при этом технически ограничивать его применение.

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

Почему самые сложные уравнения физики такие трудные?

Reading time4 min
Views22K

Уравнения Навье-Стокса описывают простые повседневные явления, вроде воды, текущей из садового шланга — однако на них основана задача, решение которой оценили в миллион долларов




В физике есть уравнения, описывающие всё, от растяжения пространства-времени до полёта фотона. Однако же лишь один набор уравнений считается настолько математически сложным, что его выбрали в роли одной из семи "Задач тысячелетия", за решение которых Математический институт Клэя предлагает премию в миллион долларов: это уравнения Навье-Стокса, описывающие течение жидкостей.

Недавно я писал о том, как для этих уравнений был получен новый важный результат. И эта работа свидетельствует о том, что прогресс на пути к «премии тысячелетия» будет более тяжёлым, чем ожидалось. Почему же эти уравнения, описывающие такие знакомые явления, как вода, текущая по шлангу, математически понять гораздо сложнее, чем, допустим, уравнения поля Эйнштейна, включающие в себя такие ошеломляющие объекты, как чёрные дыры?
Читать дальше →

Вы неверно измеряете загрузку процессора

Reading time6 min
Views67K
Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:



А на самом деле это выглядит вот так:



«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.
Читать дальше →

Статический анализ и property-based тестирование: вместе мы сила

Reading time7 min
Views6.6K

Как известно, баги есть во всех программах. Есть множество способов борьбы с ними: юнит-тесты, ревью, статический анализ, динамический анализ, дымовое тестирование и так далее. Иногда для искоренения определённого бага полезно сочетать разные методики.


Я разрабатываю Java-инспекции в IntelliJ IDEA, которая большей частью написана на Java. В некотором смысле я нахожусь в привилегированном положении по сравнению с другими программистами: доработать статический анализатор IDE, чтобы находить новый класс ошибок — это моя прямая рабочая обязанность, которая при этом же позволяет найти и обезвредить баги в этой же самой IDE. Хочу поделиться одной такой историей успеха.

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

Theme Hospital создавался в качестве сатиры на американскую систему здравоохранения

Reading time3 min
Views23K

Пример плохого управления больницей в Theme Hospiital

Компания Sega анонсировала новую часть своего давнишнего хита Theme Hospital. Сюжет оригинальной игры — развитие сети больниц, которые должны приносить деньги. При этом приходится соблюдать баланс между желанием заработать как можно больше и чувствами пациентов, которые приходят для того, чтобы получить лечение. Насколько можно судить, первичный замысел игры сохраняется, юмор здесь тоже есть, и он весьма неплохой.

Оригинал был представлен в 1997 году, игра вышла на ПК и на первой PlayStation. Разработчики добавили большое количество черного юмора, который в этой игре был весьма кстати. Как и говорилось выше, главное, что должен делать здесь делать игрок — зарабатывать деньги. Пациенты рассматриваются, как источник прибыли, неистощимый поток денег извлекается при помощи пациентов и… да, их трупов.

Имитируем иридисценцию: шейдер CD-ROM

Reading time27 min
Views8.3K
Этот туториал посвящён иридисценции. В этом туториале мы исследуем саму природу света, чтобы понять и воссоздать поведение материала, создающего цветные отражения. Туториал предназначен для разработчиков игр на Unity, однако описанные в нём техники можно запросто реализовать на других языках, в том числе в Unreal и на WebGL.


Туториал будет состоять из следующих частей:

  • Часть 1. Природа света
  • Часть 2. Усовершенствуем радугу — 1
  • Часть 3. Усовершенствуем радугу — 2
  • Часть 4. Разбираемся с дифракционной решёткой
  • Часть 5. Математика дифракционной решётки
  • Часть 6. Шейдер CD-ROM: дифракционная решётка — 1
  • Часть 7. Шейдер CD-ROM: дифракционная решётка — 2

Information

Rating
1,436-th
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer
English
Docker
Nginx
Git
Linux
OOP
.NET