Крошечное убежище инженера
291 subscribers
55 photos
49 links
Небольшой канал инженера. Материалы по разработке, ИТ и кое-что еще.

GitHub:
https://github.com/YPermitin

Сайт:
https://ypermitin.github.io

Инструменты разработчика:
https://tinydevtools.ru

API сервиса работы с ФИАС:
https://fias.tinydevtools.ru
Download Telegram
😞 Лето прошло на 33%! 😕

Вы успели почувствовать летнее настроение?🥳 Получили загар? 🏖 Нашли летнее занятие по душе? 🏠

Если ДА, то отлично! 🫰Если НЕТ, то не отчаивайтесь, еще два месяца впереди! 🙏 В любом случае, сегодня Вы можете кое-что узнать про поиск. А именно про поиск устройств в компьютерной сети!😶‍🌫️

Новая статья "Поиск устройств в сети с .NET (C#)" под конец первого летнего месяца!
🫰 Пинг узлов в сети, ICMP пакеты и все из C#.
✌️ Как сделать "пинг" узла, если ICMP-пакеты заблокированы брэндмауэром. ARP протокол для проверки узлов сети.
✌️ Широковещательные сообщения UDP и обнаружение устройств.
✌️ Rasberry Pi + приложение для Android на MAUI. Пример поиска устройств со смартфона. Весь код приложений открыт.

P.S. Всем приятного остатка пятницы (если еще есть) и хороших выходных😎!
P.P.S. Да найдете Вы то, что ищете! 🐌
P.P.P.S. ⚡️ Хорошей всем летней погоды! ⚡️
Please open Telegram to view this post
VIEW IN TELEGRAM
😎 Лето завершено на 66%! 🤨

Как известно, ничего с естественным ходом вещей порой сделать нельзя. 😶‍🌫️ Но иногда все же контроль выстроить можно, ведь на то мы и люди! И разработчики! 😛

Новая статья "Берем процессы под контроль в .NET" под конец прекрасного июля! 🏖
🫰 Запуск и мониторинг внешних процессов из приложений .NET (C#).
🫰 Реализация таймаута ожидания внешнего процесса.
🫰 Мониторинг активности процесса по потреблению ресурсов ЦП и вывода сообщений на консоль.
🫰 Решение проблемы взаимоблокировки потоков при чтении вывода на консоль и ожидания завершения процесса.
🫰 Дополнительный контроль ресурсов, логов и прочего для процессов.
🫰 Описание самого эффективного подхода контроля связанных процессов, если у Вас есть доступ к исходным кодам приложения.

Хоть примеры сделаны на базе Windows и утилите BCP для SQL Server 👨‍💻, фактически информация актуальна и для приложений под 🐧 *.nix / MacOS 💻.

В целом, взаимодействие с процессами - тема очень обширная и писать об этом можно много, очень много. 🎉 Дочерние процессы, анализ структур данных процесса, сбор информации пользователей через обходные пути работы с WinAPI и другое. Еле заставил себя остановиться, чтобы не создать книгу на одной странице 😄.

P.S. Всем, у кого идет отпуск или вот-вот наступит - приятного отдыха! 🛍🏖🐌
P.S.S. И всем, всем, всем - хорошей рабочей недели и отличного настроения! ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
😶‍🌫️ Много лет назад, почти в другой жизни, 😶‍🌫️ мне в руки попала интересная книга 😶‍🌫️

Организаторы конференции Инфостарт в 2019 году подарили мне, как оказалось, шикарную книгу:

🫰 "Сид Мейер: Жизнь в мире компьютерных игр"

😱 А книгу я взял в руки лишь в июле 2024 года! 😠 И вот спустя 5 лет книга была прочитана! 😇 И, без сомнений, говорю коллегам еще раз спасибо за такой щедрый подарок! 🤗

Для тех, кто не в курсе, Сид Мейер - это легендарный разработчик, создатель стратегии Civilization и множества других популярных игр. 😎 В книге автор рассказывает свою историю в сфере разработки игр с присущим ему юмором и оптимизмом. 💪 Автор внес огромный вклад в геймдев, который важен и для современной игровой индустрии.

✌️ Поэтому книга интересна как со стороны непосредственно разработки, так и теории проектирования геймплея и взаимодействия с игроком. 🚗 Книгу рекомендую всем разработчикам, даже если к разработке игр вы не имеете никакого отношения, ведь даже в корпоративном софте все делается для людей, для пользователей. 👌

P.S. До этого читал книгу "Потрачено. Беспредельная история GTA | Кушнер Дэвид".🥳 Эта книга больше история серии игр, особенно в части скандалов и судебных разбирательств. В части разработки там информации почти нет. В отличии от книги Сида Мейера.

P.P.S. Если Вам нравится "ковырять" игры, то возможно будет интересна статья "Управляем игровым миром с помощью C++ / C#".✈️

P.P.P.S. С началом новой рабочей недели! 👏👏👏
Please open Telegram to view this post
VIEW IN TELEGRAM
🐌 Небольшие эксперименты с React 🐌

В начале 2024 года перевел сайт с Jenkyll на React. 👍Все статьи теперь публикуются в новом виде. Но только статьи это не так интересно, ведь можно делать клиентские приложения.🤩

А раз интересно, то почему бы и не сделать. На сайте реализовал раздел "Инструменты" с небольшим набором клиентских приложений:

🫰 Информация обо мне - здесь показана информация о клиентском приложении, которым просматривается сайт (IP-адрес клиента, информация о приложении и кое-что еще). Фактически, это то же самое, что когда-то делал на сайте через Blazor.
🫰 Генератор GUID - генератор GUID по различным параметрам (дефисы, верхний регистр, фигурные скобки, base64) с функциями экспорта в Excel.
🫰 Конвертер Base64 - конвертер значений Base64 (decode / encode).
🫰 Декодер JWT - декодер JSON Web Token (JWT) - токенов доступа.

По большей части, приложения только с клиентской частью, без обращения к серверу. 🥸 Исключение - это инструмент "Информация обо мне", в котором выполняется обращение к API api.tinydevtools.ru для получения IP-адреса клиента.😶‍🌫️

Все инструменты делал под свои потребности, но может кому-то еще пригодится. 💪 Буду продолжать! Есть во фронтенде свои изюминки 🤭

P.S. Всем удачной следующей рабочей недели 🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🫰 3 сентября снова позади,🗓 календарь перевернут ✌️

⚡️ Пусть осень начнется с SQL Server! ⚡️

🥳 Вышла новая статья "Расширение для SQL Server. Быстро и просто. SQLCLR снова в деле" 🤩

🫰 Общие сведения о SQLCLR и полезные материалы по теме.
🫰 Пошаговый пример создания расширения SQLCLR для работы с HTTP-запросами из T-SQL.
🫰 Особенности работы с контекстным подключением базы данных в расширениях.
🫰 Хранимая процедура VS. функция. Самое распространенное ограничение, из-за которых обосновывается использование хранимых процедур.
🫰 Полезные материалы.

В репозитории SQLServerTools в разделе SQLCLR добавлен проект HttpHelper с 😜 финальной реализацией расширения для работы с HTTP-запросами из T-SQL.

P.S. Доброй Вам осени! 🎃🎃🎃🎃🍁🍂
Please open Telegram to view this post
VIEW IN TELEGRAM
🥳 Хороших всем выходных! 🥳

Выходные - хорошее время. 😏 Тем более можно заняться чем-нибудь интересным. 🤩

Последние недели было не так много свободного времени, но зато удалось пощупать такие разные темы как:
🫰 Unix-время - формат записи времени в виде секунд, отсчет которых начинается с 1 января 1970 года (по UTC).
🫰 Хэш-функции (SHA-1, SHA-2).

Обе темы достаточно часто встречаются при решении задач разработки. 👌 По большей части "ковырял" их на C# и C++,🧑‍🎓 но под конец решил небольшую часть сделать на TypeScript / JS.🖼

Как результат - добавил на сайте два онлайн-инструмента:
🫰 Калькулятор хэш-значений - калькулятор хэш-значений (SHA-512, SHA-256, MD5, SHA1 и другие).
✌️ Конвертер UNIX-времени - конвертер UNIX-времени в привычный формат даты и времени с учетом часовых поясов. И обратное преобразование.

Оба инструмента работают полностью в браузере, этим и было интересно ими заняться. 🥸 Хотя честно признаюсь, на C# / C++ с этим работать намного интересней, но не так красиво 🤣 Заодно победил несколько предубеждений к современному frontend'у, но это уже другая история... 😶‍🌫️

P.S. Удачи в делах и моря сил! Пусть выходные пройдут замечательно! 🏖🍴🏋️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Время идет. Жизнь меняется. 1С остается😏 ⚡️

🤣 Остается во всех смыслах....

Сегодня коллеги прислали 🫰 ссылку на тему "Тревожный звоночек. Причина отклонения публикации: По требованию контрольной группы 1С снято с продаж, т.к. является конкурентом для официальных сервисов 1С " на одном известном сайте.

😕 Сказать, что я был удивлен - это ничего не сказать. Мой путь на этом сайте закончился, когда мои статьи начали блокировать, т.к. они были неугодны фирме "1С". 😡 Блокировки судя по всему еще актуальны, но теперь уже кроме обычных статей блокируются и разработки участников этого сообщества.

😮 Удивляет то, что причина - конкуренция с сервисами "жёлтой" фирмы. То есть по факту это нечестная конкуренция. 😑 Фирма 1С владеет этой площадкой, поэтому и диктует свои условия, что логично. Получается, что площадка становится корпоративным порталом. 😶 А когда-то она воспринималась сообществом разработчиков.🥸 Прав я или нет покажет время, но в целом это уже не так важно.

🥳🥳🥳В любом случае желаю успехов сообществу разработчиков на платформе 1С:Предприятие. Пусть жизнь идет своим чередом.🥳🥳🥳

P.S. Напомню, что все забаненные публикации были перенесены на мой сайт, а все разработки на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
👨🏼‍🦳Немного ностальгии!👨🏼‍🦳

Кто-то слушает виниловые пластинки🎼. Кто-то играет в NES-игры🎮. Или слушает старые добрые кассеты на магнитофонах📼. А кто-то смотрит диафильмы!📽

Дома есть фильмоскоп ФМД-1 "Чиполлино" с парой десятков диафильмов. 🎥И вот иногда с их помощью можно серьезнейшим образом свести олдскулы 👨🏼‍🦳и показать 👶🏻молодому поколению, чем мы могли заниматься в детстве :)

Сейчас все сложнее найти запасные части к данным устройствам. Недавно закупал лампы и еще несколько диафильмов на сайте diafilm-nsk.ru. Аппарат снова жив!

P.S. Ставьте ⚡️, если тоже занимаетесь чем-то подобным 👨‍💻 Не все же программировать👨‍💻.

P.P.S. Хорошего остатка выходных и отличной следующей недели! 💪

P.P.S. А есть ведь еще видеомагнитофоны, Spectrum'ы и много других способов путешествовать во времени
Please open Telegram to view this post
VIEW IN TELEGRAM
❄️ Зима уже не близко. Зима уже здесь! ❄️

В честь этого события на сайте появился раздел по С++ и там же первая статья.

Как думаете, где кроется вся мощь разработки? В Python? C#? Java? Или может быть в 1С? Конечно же нет! В C++!

🤩 В этот раз в статье мы продолжили тему с контролем дочерних процессов и вывели этот контроль на новый уровень.
🫰 Контроль дочерних процессов с помощью C++ и WinAPI

😏 Ранее подобную тему мы разбирали в контексте платформы .NET и языка C# в частности.
🫰 Берем процессы под контроль в .NET

C++ дело очень крутое. Хотя может я так говорю, потому что это был мой первый язык программирования 😆

А Вы любите С++ так, как люблю его я? Люблю настолько, что отдельно заказал печать книги "Windows via C/C++" от Джефри Рихтера. Сейчас найти печатную версию книги очень сложно, а бумажные книги я уважаю больше электронных.

Но благодаря редакции "Yong & Furios" мне удалось заполучить печатную версию книги. Теперь она мне служит и символом мощи C++ и справочным руководством одновременно.

На странице 144 данной книги 😎 Джефри Рихтер просто и понятно рассказал про объекты ядра - "объекты заданий", которые в статье мы и использовали.

P.S. А если Вы любите читать не только техническую литературу, то 🤩рекомендую и другие книги редакции "Yong & Furios" на Ozon. Достойные к покупки произведения 😇 У них же Вы можете заказать печать книги по требованию 🥳
P.P.S. На фото как-раз уникальный экземпляр книги Windows via C/C++", распечатанный специально для меня 🤣😎🥸
Please open Telegram to view this post
VIEW IN TELEGRAM
🥳 С наступающим Новым 2025 годом! 🥳

🤩 Пусть следующий год будет удачным и успешным во всём! 🐌 Счастья Вам в Новом году! 🤩

И в честь праздников 😁 новая статья (или заметка😶‍🌫️) "Контроль дубликатов процессов в C# (.NET)", где рассмотрены способы контроля запуска дубликатов процессов под Windows 💠 / *.nix 🐧.

🎉 С праздником! Ура, ура, ура! 🎉

🎉🎊🎁🎄🎆🌲🎄🎄🌲🎁🎄🎇
Please open Telegram to view this post
VIEW IN TELEGRAM
👋 Приветствую всех! 🥳

Новая статья и новая "старая" тема по интеграции SQL Server и ClickHouse. Здесь же коснемся нюансов работы среды CLR для расширений SQLCLR.

✌️ Дружба между SQL Server и ClickHouse. SQLCLR снова с нами

Статья затрагивает такие темы как:
🫰 Ограничения среды CLR, которую использует SQL Server.
🫰 Самые популярные способы интеграции ClickHouse <-> SQL Server.
🫰 Адаптация современных библиотек к среде выполнения SQLCLR.
🫰 Установка дополнительных библиотек для среды SQLCLR.
🫰 Создание расширения SQLCLR для работы с ClickHouse из T-SQL (от разработки до установки и примеров использования).
🫰 И другие нюансы работы расширений.

Результат всей работы можно пощупать в репозитории SQLServerTools в разделе SQLCLR:

✌️ Расширение SQLCLR для SQL Server для работы с СУБД ClickHouse из T-SQL в качестве клиента.

Теперь мы сможем из SQL Server отправлять любые команды к ClickHouse (select, insert, bulk insert, update, delete и другое). Например, простейший запрос версии ClickHouse из SQL Server:

SELECT 
[dbo].[fn_CHExecuteScalar](
'Host=localhost;Port=8123;Username=default;password=;Database=default;',
'select version()') AS [ClickHouseVersion]


😇 Каждая СУБД по-своему хороша! Так почему бы не использовать их вместе! 🤔🥳

P.S. 🗃SQL Server + 📇ClickHouse = 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 SQL Server врывается в летнюю жизнь! 🏖

👨‍💻 Обновление в репозитории SQLServerTools.

Опубликовал множество исправлений, улучшений и нового функционала в служебной базе SQLServerMaintenance:
🫰Добавлены процедуры быстрой настройки мониторинга через Extended Events. За более точной информацией по мониторингу Вы можете пройти сюда.
🫰Расширен функционал шаблона заданий (job'ов) и обновлена документация и примеры по ним. Список стандартных шаблонов значительно расширен.
🫰Реализован контроль времени выполнения процедур обслуживания и любых других скриптов. Для обслуживания контроль был и раньше, но теперь он более строгий.
🫰 Контроль использования логов транзакций также стал более строгим. А для возобновляемых операций перестроения индексов теперь также проверяется свободное место для файлов данных. Плюс добавлены настройки ограничений по умолчанию, а сами ограничения можно использовать для любых скриптов.
🫰Добавлен контроль блокировок или ожидания на блокировках для произвольных скриптов.
🫰Добавлены процедуры сжатия данных и "умного" шринка, которые позволяют выполнять эти операции с минимальным влиянием на базу. Шринк в рабочем окружении возможен, если заниматься этим очень осторожно и разумно. Но все равно не рекомендую, т.к. побочные эффекты как здесь остаются, хоть и контролируемые.
🫰 Добавлены сервисные функции для работы с GUID'ами баз платформы 1С в SQL-запросах
🫰И много, много различных исправлений.

Когда-нибудь руки доберутся и до PostgreSQL, чтобы обновить репозиторий PGTools. Но не сегодня

P.S. Всем хорошего настроения и замечательного лета 🏖🏖🏖️
Please open Telegram to view this post
VIEW IN TELEGRAM