Search
Write a publication
Pull to refresh
83
0
Бузинов Роман @Romer

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

Send message

Программист учится рисовать. Дневник Емели

Reading time16 min
Views35K
Так получилось, что моим основным хобби на лихой 2020-й год стало освоение ремесла рисования.

Еще в январе я дал себе некое обещание в виде цели к концу года — прокачать навык рисования (звучит конечно абстрактно и совсем не по SMART-у, я думаю, это и повлияло в дальнейшем на то, как я развивал этот навык весь год и что получилось в итоге).

spoiler
В конце года я остался доволен собой и окончательно понял, что я хотел бы прокачиваться и дальше!

image
Так выглядел мой уровень изобразительных навыков в ноябре предыдущего (2019-го) года

Формат подачи данной статьи — это на 95% личный дневник, который я вел в гугл-доке, записывая, что я делал каждый месяц, свои ощущения и как-то фиксируя собственный прогресс — смотрел, сколько работ мне удалось нарисовать и какого они были качества — нравились ли они мне лично или были совсем так себе по исполнению.
Читать дальше →

Какое пламя горячей? ФАКЕЛЬНИК

Reading time14 min
Views18K
Хомяки приветствуют вас, друзья!

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



Эта история начинается с одного человека, который написал мне в инстаграме что-то типа:
Привет, я знаю как настраивать «Факельник»
Как раз в это время я пил пивас на кухне и думаю…
Да, а чего это я не знаю как настраивать «Факельник», и начал разбираться

В принципе это устройство довольно простое, но из-за того что оно работает на высоких частотах свыше 10 МГц и довольно больших токах, в его основе должны лежать несколько специфические радиодетали.

Схема состоит всего из шести отдельных элементов и хомяк с любопытством спешит их изучить. Слева направо. Резонатор, дроссель по питанию, контурная индуктивность на керамике и контурный серый конденсатор, MOSFET транзистор на радиаторе и коричневый слюдяной конденсатор КСО. Эти кадры «как вы понимаете» снимались в самом конце, когда всё было настроено и резонансы были подогнаны друг к другу.
Читать дальше →

Инструменты и методы работы, повышающие продуктивность программистов

Reading time8 min
Views11K
В этом материале рассматриваются 5 эффективных инструментов, которые позволяют ускорить разработку программного обеспечения, не ухудшая качество готового продукта. Эти инструменты применимы в самых разных масштабах — от уровня отдельных программистов, до уровня компаний из сферы информационных технологий.

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



В частности, в этом материале мы поговорим о 5 группах таких инструментов. Это — дизайн-системы, линтеры, средства для автоматического форматирования кода, CI/CD-системы и IaaS/PaaS-провайдеры. Всё это позволяет программистам автоматизировать рутинные процессы, а значит, освободить время, необходимое для решения самых важных задач, связанных с разработкой собственных продуктов.
Читать дальше →

О разворачивании строк в .Net/C# и не только

Reading time11 min
Views37K
Давайте поговорим о строках, точнее об их переворачивании средствами .Net/C#. Так уж сложилось, что в стандартной библиотеке соответсвующей функции не наблюдается. И как мне подсказывают, написание функции обращения строки довольно популярный вопрос на собеседованиях при приеме на работу. Давайте посмотрим, как можно эффективно перевернуть строку средствами данной платформы.

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

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

Книга «Я отлично вижу! Улучшаем зрение сами. Советы врача»

Reading time9 min
Views20K
image Привет, Хаброжители!

Светлана Троицкая в своей книге делится опытом и личными секретами поддержания здоровья глаз. Автор разрушает стереотипы о причинах возникновения тех или иных проблем с глазами и дает читателям не просто набор упражнений, а комплексную программу для восстановления зрения и здоровья. Естественное восстановление зрения — это совсем не набор банальных упражнений для глаз, известных всем рецептов и правил, а стройная, интересная и легкоприменимая система, которая прекрасно внедряется в жизнь любого, даже самого занятого человека. Благодаря ей множество людей не только избавились от очков и страшных диагнозов, избежали оперативного вмешательства, но и улучшили свое самочувствие в целом.
Читать дальше →

Как создать простое Rest API на .NET Core

Reading time12 min
Views102K

Введение

Всем привет, в данной статье будет рассказано, как с использованием технологии C# ASP.NET Core написать простое Rest Api. Сделать Unit-тесты на слои приложений. Отправлять Json ответы. Также покажу, как выложить данное приложение в Docker.

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

Читать далее

Репликация баз данных MySQL. Введение

Reading time9 min
Views53K
Редкая современная продакшн система обходится без репликации баз данных. Это мощный инструмент на пути к повышению производительности и отказоустойчивости системы, и современному разработчику очень важно иметь хотя бы общее представление о репликации. В данной статье я поделюсь базовыми знаниями о репликации, и покажу простой пример настройки репликации в MySQL с помощью Docker.

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

Авалония для самых маленьких

Reading time8 min
Views39K
В свежем превью Rider, помимо прочего, появилась поддержка Авалонии. Авалония — это самый крупный .NET фреймворк для разработки кроссплатформенного UI, и его поддержка в IDE — отличный повод наконец разобраться, как писать десктопные приложения для любых платформ.

В этой статье я на примере простой задачи по реализации калькулятора покажу:

  • как управлять разметкой,
  • как связывать функциональность с компонентами,
  • как управлять стилями.


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

Переезжайте в YouTrack легко

Reading time5 min
Views30K
Привет, Хабр!

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

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

image

А теперь поговорим обо всем этом подробнее.
Читать дальше →

Эволюция Material Design для AvaloniaUI

Reading time3 min
Views8.8K

image


Material.Avalonia — быстрый способ стилизовать под Material Design приложение, написанное на AvaloniaUI — кросс-платформенном XAML фреймворке для .NET.


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

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

Что не так с интерфейсами SCADA-систем

Reading time8 min
Views35K

В этой статье хочу рассказать и поделиться своим мнением насчет пользовательских интерфейсов scada-систем и систем диспетчеризации в целом.

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

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

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

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

Читать далее

Защита .Net кода от реверс инженеринга с помощью ConfuserEx 0.6.0

Reading time10 min
Views12K

В статье рассказывается об опыте боевого применения обфускатора ConfuserEx 0.6.0 для защиты сервиса .Net под Windows и Mono. Дело было в далеком 2016 году, но, я думаю, тема не потеряла актуальность и сейчас.

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

Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство

Reading time9 min
Views100K


Введение


Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.

Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.

Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.

В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
Читать дальше →

Мониторинг данных АСУ ТП и не только

Reading time3 min
Views8.4K
Здравствуйте, пользователи сообщества Хабр.

Цель статьи: Демонстрация реализации дешевого решения для визуализации данных, которое можно применять в системах диспетчеризации.
Читать дальше →

Ленивая инициализация в C#

Reading time4 min
Views35K
Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от желания снизить нагрузку при старте приложения и заканчивая оптимизацией редко используемого функционала. И действительно, не все функции приложения используются всегда и, тем более, сразу, потому создание объектов, реализующих их, вполне рационально отложить до лучших времён. Я хотел бы рассмотреть варианты ленивой инициализации, доступные в языке C#.
Читать дальше →

Эмулятор RFID

Reading time14 min
Views75K

Эмулятор карт EM Marine



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

Как слепой разработчик в одиночку создала синтезатор речи

Reading time11 min
Views18K

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

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

Называется от RhVoice и упоминался в нескольких публикациях на Хабре. Но знаете ли вы, что многие считают его лучшим бесплатным синтезатором русской (и не только) речи, а написан он в одиночку полностью слепым разработчиком — Ольгой Яковлевой?

Сегодня восстанавливаем историческую справедливость и немного узнаем про сам синтезатор вообще, и Ольгу в частности.

Идеальный график отпусков. Естественные алгоритмы. Поведение роя пчёл

Reading time5 min
Views4.8K


Естественные (или эволюционные) алгоритмы – это направление в искусственном интеллекте, которое моделирует процессы естественного отбора, мутации и воспроизводства.

Одним из видов естественных алгоритмов является метод роя пчел. Его целью является концентрация бОльшего количества пчел в областях с наибольшей плотностью цветов.


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

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

Опубликован исходный код Command & Conquer: смотрим, что внутри

Reading time19 min
Views37K

Компания Electronic Arts открыла исходный код первой Command & Conquer, а также Command & Conqueror: Red Alert. Скачать его можно с GitHub.

Всё содержимое имеет лицензию GPL v3; кроме того, в исходном коде сохранены все комментарии. Отсутствует только changelog использовавшейся при разработке системы контроля версий. Похоже, всё просто недавно выложили на Git.

Я решил изучить, что же происходит внутри этого игрового движка. Не буду описывать каждую строку кода, но, по крайней мере, будет интересно взглянуть на то, какой была разработка на C++ в начале 1990-х.

Изучать мы будем только исходный код «Command & Conquer: Red Alert», потому что он похож на форк первой игры. В репозитории он находится в папке REDALERT.

Статистика


  1. 290 файлов заголовков C++
  2. 296 файлов реализации на C++
  3. 14 файлов ассемблера, содержащих инструкции ассемблера x86
  4. 222090 строк кода на C++

Количество строк кода я получил, подсчитав непустые строки, после чего вычел из них те строки, которые очевидно были комментариями.

Почти все файлы имеют имена в верхнем регистре.

Кроме того, есть файл «RedAlert.vcxproj», поэтому можно предположить, что проект можно собрать в более новых версиях Visual Studio, но этого я не проверял.
Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 6: Решение практических задач

Reading time7 min
Views22K


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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity