-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
1 lines (1 loc) · 56.5 KB
/
index.html
1
<!DOCTYPE html><html lang="en" translate="no"><head><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"/><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="google" content="notranslate"/><title>Крошечное убежище инженера | YPermitin</title><meta name="robots" content="index,follow"/><meta name="description" content="Мой небольшой сайт с блогом и информацией о моих проектах."/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="https://ypermitin.github.io/"/><meta property="og:title" content="Крошечное убежище инженера | YPermitin"/><meta property="og:description" content="Мой небольшой сайт с блогом и информацией о моих проектах."/><meta property="og:url" content="https://ypermitin.github.io/"/><meta property="og:type" content="website"/><meta property="og:image" content="https://ypermitin.github.io/images/og-image.jpg"/><meta property="og:image:alt" content="Крошечное убежище инженера | YPermitin"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:locale" content="en_IN"/><meta property="og:site_name" content="Убежище инженера"/><link rel="canonical" href="https://webexpe.com/"/><meta property="keywords" content="Блог, C#, .NET, SQL, SQL Server, PostgreSQL, 1C:Предприятие, производительность, оптимизация"/><meta property="al:web:url" content="https://ypermitin.github.io/"/><meta name="next-head-count" content="23"/><link rel="preload" href="/_next/static/css/0f4e17621cf8b6e4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0f4e17621cf8b6e4.css" data-n-g=""/><link rel="preload" href="/_next/static/css/622baaa1e31dab33.css" as="style"/><link rel="stylesheet" href="/_next/static/css/622baaa1e31dab33.css" data-n-p=""/><link rel="preload" href="/_next/static/css/f381482cc81d5917.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f381482cc81d5917.css"/><link rel="preload" href="/_next/static/css/4a9df9e795bce52b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4a9df9e795bce52b.css"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script defer="" src="/_next/static/chunks/3a17f596-055cd9ef17181fc5.js"></script><script defer="" src="/_next/static/chunks/fea29d9f.0cfd8a10f65a727d.js"></script><script defer="" src="/_next/static/chunks/1274.6124caf478e7e4b5.js"></script><script defer="" src="/_next/static/chunks/8681.4514a8f7d45090c5.js"></script><script defer="" src="/_next/static/chunks/7897.b3984fce345297e6.js"></script><script defer="" src="/_next/static/chunks/378.1716064792a824ac.js"></script><script src="/_next/static/chunks/webpack-1bbb6842385a093a.js" defer=""></script><script src="/_next/static/chunks/framework-945b357d4a851f4b.js" defer=""></script><script src="/_next/static/chunks/main-1ea98584d6ca11ba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-43f17b4291c36e9d.js" defer=""></script><script src="/_next/static/chunks/1664-468559f2e2a9395f.js" defer=""></script><script src="/_next/static/chunks/1486-03a923ef2c7105b1.js" defer=""></script><script src="/_next/static/chunks/pages/index-c03c3f56da53d1fe.js" defer=""></script><script src="/_next/static/1hUbZyIfYyZ98k8H3QaT1/_buildManifest.js" defer=""></script><script src="/_next/static/1hUbZyIfYyZ98k8H3QaT1/_ssgManifest.js" defer=""></script></head><body class="bg-slate-100 dark:bg-slate-900 transition-all"><div id="__next"><div data-overlay-container="true"><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><nav class="Navbar_navbar__W_ouQ bg-white dark:bg-slate-900 dark:text-white text-black"><div class="container flex items-center justify-between px-2"><div class="flex items-center"><div class="Navbar_mobileBurgerToggle__Bj_52 mr-5 "><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" class="dark:text-white text-black text-2xl" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z"></path></svg></div><a class="text-[22px] font-semibold" href="/">Убежище инженера</a></div><div class="flex items-center"><div class="text-[14px] font-normal items-center lg:flex hidden"><a class="cursor-pointer hover:text-blue-500 mx-2" href="/">Главная</a><div class="relative"><div class="flex items-center cursor-pointer mx-2"><p class="my-0">Блог</p><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-[20px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z"></path></svg></div><div class="overflow-auto absolute w-[180px] z-20 top-[30px] rounded-[4px] shadow-lg bg-white dark:bg-slate-800 border border-gray-300 dark:border-0 h-0 border-0"><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2" href="/blog/"><span>Все публикации</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=.NET"><span style="text-transform:capitalize">.NET</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=CPP"><span style="text-transform:capitalize">C++</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=DevOps"><span style="text-transform:capitalize">DevOps</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=PostgreSQL"><span style="text-transform:capitalize">PostgreSQL</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=SQL%20Server"><span style="text-transform:capitalize">SQL Server</span></a></div></div><a class="cursor-pointer hover:text-blue-500 mx-2" href="/instruments/">Инструменты</a><a class="cursor-pointer hover:text-blue-500 mx-2" href="/about/">Обо мне</a><a class="cursor-pointer hover:text-blue-500 mx-2" href="/contact/">Контакты</a><div class="ml-5 pt-1"><a href="https://github.com/YPermitin/" target="_blank" rel="noopener noreferrer" class="text-[18px] inline-block mr-4"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"></path></svg></a><a href="https://t.me/TinyDevVault" target="_blank" rel="noopener noreferrer" class="text-[18px] inline-block mr-4"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"></path></svg></a><a href="mailto:i.need.ypermitin@yandex.ru" target="_blank" rel="noopener noreferrer" class="text-[18px] inline-block mr-4"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z"></path></svg></a><a href="https://boosty.to/ypermitin" target="_blank" rel="noopener noreferrer" class="text-[18px] inline-block mr-4"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M4 21h9.62a3.995 3.995 0 0 0 3.037-1.397l5.102-5.952a1 1 0 0 0-.442-1.6l-1.968-.656a3.043 3.043 0 0 0-2.823.503l-3.185 2.547-.617-1.235A3.98 3.98 0 0 0 9.146 11H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h5.146c.763 0 1.448.423 1.789 1.105l.447.895H7v2h6.014a.996.996 0 0 0 .442-.11l.003-.001.004-.002h.003l.002-.001h.004l.001-.001c.009.003.003-.001.003-.001.01 0 .002-.001.002-.001h.001l.002-.001.003-.001.002-.001.002-.001.003-.001.002-.001c.003 0 .001-.001.002-.001l.003-.002.002-.001.002-.001.003-.001.002-.001h.001l.002-.001h.001l.002-.001.002-.001c.009-.001.003-.001.003-.001l.002-.001a.915.915 0 0 0 .11-.078l4.146-3.317c.262-.208.623-.273.94-.167l.557.186-4.133 4.823a2.029 2.029 0 0 1-1.52.688H4v-6zM16 2h-.017c-.163.002-1.006.039-1.983.705-.951-.648-1.774-.7-1.968-.704L12.002 2h-.004c-.801 0-1.555.313-2.119.878C9.313 3.445 9 4.198 9 5s.313 1.555.861 2.104l3.414 3.586a1.006 1.006 0 0 0 1.45-.001l3.396-3.568C18.688 6.555 19 5.802 19 5s-.313-1.555-.878-2.121A2.978 2.978 0 0 0 16.002 2H16zm1 3c0 .267-.104.518-.311.725L14 8.55l-2.707-2.843C11.104 5.518 11 5.267 11 5s.104-.518.294-.708A.977.977 0 0 1 11.979 4c.025.001.502.032 1.067.485.081.065.163.139.247.222l.707.707.707-.707c.084-.083.166-.157.247-.222.529-.425.976-.478 1.052-.484a.987.987 0 0 1 .701.292c.189.189.293.44.293.707z"></path></svg></a></div></div><div class="Navbar_search_icon_wrapper__1a_rL ml-5 dark:text-white"><button name="search-button" aria-label="search button"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" class="dark:text-white text-black text-[22px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></button></div><div class=""><button name="share" aria-label="share page"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="dark:text-white text-black text-[16px] mt-[7px] ml-2 mr-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.5 2.5 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5"></path></svg></button></div><button name="theme-switch" aria-label="theme button" class="Navbar_theme_switch__q7F_Z pl-3 dark:text-white text-black"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="text-md " height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278"></path></svg></button></div></div></nav><aside class="Navbar_nav_sidebar_wrapper__M0KaI dark:bg-slate-900 dark:text-white bg-white text-black"><div class="flex items-center justify-between pb-3"><p class="">МЕНЮ</p><div><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-slate-800 dark:text-white text-[25px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"></path></svg></div></div><hr/><div class="my-15"><a class="cursor-pointer hover:text-blue-500 text-[16px] block my-3" href="/">Главная</a><div class="relative"><div class="flex items-center cursor-pointer justify-between"><p class="my-0">Блог</p><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="text-[20px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z"></path></svg></div><div class="overflow-auto relative h-0 border-0"><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2" href="/blog/"><span>Все публикации</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=.NET"><span style="text-transform:capitalize">.NET</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=CPP"><span style="text-transform:capitalize">C++</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=DevOps"><span style="text-transform:capitalize">DevOps</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=PostgreSQL"><span style="text-transform:capitalize">PostgreSQL</span></a><a class="cursor-pointer hover:text-blue-500 block text-sm py-2 px-2 border-t border-gray-400" href="/blog/?category=SQL%20Server"><span style="text-transform:capitalize">SQL Server</span></a></div></div><a class="cursor-pointer hover:text-blue-500 text-[16px] block my-3" href="/instruments/">Инструменты</a><a class="cursor-pointer hover:text-blue-500 text-[16px] block my-3" href="/about/">Обо мне</a><a class="cursor-pointer hover:text-blue-500 text-[16px] block my-3" href="/contact/">Контакты</a></div><hr/><div class="my-5"><p class="font-light">Подписаться : </p> <a href="https://github.com/YPermitin/" target="_blank" rel="noopener noreferrer" class="text-[28px] inline-block mr-5 mt-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"></path></svg></a><a href="https://t.me/TinyDevVault" target="_blank" rel="noopener noreferrer" class="text-[28px] inline-block mr-5 mt-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"></path></svg></a><a href="mailto:i.need.ypermitin@yandex.ru" target="_blank" rel="noopener noreferrer" class="text-[28px] inline-block mr-5 mt-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z"></path></svg></a><a href="https://boosty.to/ypermitin" target="_blank" rel="noopener noreferrer" class="text-[28px] inline-block mr-5 mt-2"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M4 21h9.62a3.995 3.995 0 0 0 3.037-1.397l5.102-5.952a1 1 0 0 0-.442-1.6l-1.968-.656a3.043 3.043 0 0 0-2.823.503l-3.185 2.547-.617-1.235A3.98 3.98 0 0 0 9.146 11H4c-1.103 0-2 .897-2 2v6c0 1.103.897 2 2 2zm0-8h5.146c.763 0 1.448.423 1.789 1.105l.447.895H7v2h6.014a.996.996 0 0 0 .442-.11l.003-.001.004-.002h.003l.002-.001h.004l.001-.001c.009.003.003-.001.003-.001.01 0 .002-.001.002-.001h.001l.002-.001.003-.001.002-.001.002-.001.003-.001.002-.001c.003 0 .001-.001.002-.001l.003-.002.002-.001.002-.001.003-.001.002-.001h.001l.002-.001h.001l.002-.001.002-.001c.009-.001.003-.001.003-.001l.002-.001a.915.915 0 0 0 .11-.078l4.146-3.317c.262-.208.623-.273.94-.167l.557.186-4.133 4.823a2.029 2.029 0 0 1-1.52.688H4v-6zM16 2h-.017c-.163.002-1.006.039-1.983.705-.951-.648-1.774-.7-1.968-.704L12.002 2h-.004c-.801 0-1.555.313-2.119.878C9.313 3.445 9 4.198 9 5s.313 1.555.861 2.104l3.414 3.586a1.006 1.006 0 0 0 1.45-.001l3.396-3.568C18.688 6.555 19 5.802 19 5s-.313-1.555-.878-2.121A2.978 2.978 0 0 0 16.002 2H16zm1 3c0 .267-.104.518-.311.725L14 8.55l-2.707-2.843C11.104 5.518 11 5.267 11 5s.104-.518.294-.708A.977.977 0 0 1 11.979 4c.025.001.502.032 1.067.485.081.065.163.139.247.222l.707.707.707-.707c.084-.083.166-.157.247-.222.529-.425.976-.478 1.052-.484a.987.987 0 0 1 .701.292c.189.189.293.44.293.707z"></path></svg></a><hr class="mt-5"/></div><div class="mt-5 mb-4"><p class="mb-2 font-light">Переключиться на <!-- -->светлую<!-- --> тему :</p><button name="theme-switch" aria-label="theme-switch" class="Navbar_theme_switch__q7F_Z dark:text-white text-black"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="text-lg" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278"></path></svg></button></div><hr/><div class="my-5"><p class="text-sm font-light dark:text-gray-400 text-gray-500 mb-1">Copyright © 2024</p></div></aside><div class="transition-all fixed h-screen w-screen flex items-center justify-center left-0 z-20 top-0 pointer-events-none opacity-0"><div class="absolute top-0 left-0 w-screen h-screen bg-black opacity-50"></div><div class="bg-blue-100 border border-blue-400 text-blue-700 px-4 py-3 rounded lg:w-1/6 mx-3 w-full relative z-10 transition-all top-10"><div class="flex border-gray-300 pb-2 mb-3 border-b"><p class=" font-medium w-full">Share:</p><span class="pl-5"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="pt-1 text-[18px] cursor-pointer" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg></span></div><div class="flex flex-wrap items-center"><a class="mr-3" aria-label="facebook-share" href="https://www.facebook.com/sharer/sharer.php?u=https://ypermitin.github.io" target="popup"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" class="text-[30px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z"></path></svg></a><a class="mr-3" aria-label="twitter-share" href="http://twitter.com/share?text=Check out this article!! &url=https://ypermitin.github.io&hashtags=webdevelopment,javacript,javascriptdaily,webdevelopmenttutorial,tutorial" target="popup"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024" class="text-[30px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z"></path></svg></a><a class="mr-3" aria-label="linkedin-share" href="https://www.linkedin.com/shareArticle?mini=true&url=https://ypermitin.github.io&title=Check out this article!!&source=LinkedIn" target="popup"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="text-[23px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"></path></svg></a><button class="mr-3" name="copy-link" aria-label="copy-link"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="text-[30px]" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1 1 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z"></path><path d="M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z"></path></svg></button></div><div class="bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded fixed flex transition-all right-[10px] -bottom-20 opacity-0" role="alert"><strong class="font-bold">Link Copied</strong><span class="pl-5"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" class="pt-1 text-[18px] cursor-pointer" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg></span></div></div></div><div class="dark:bg-slate-900 dark:text-white bg-slate-100 text-black pb-[20px] md:min-h-screen font-regular text-lg leading-relaxed"><section class="w-full md:pt-[100px] md:pb-[70px] pt-[130px] pb-20 mb-10 dark:bg-slate-800 bg-slate-200"><div class="container text-center px-3"><h1 class="font-bold text-3xl md:text-4xl my-[10px] text-3xl" style="text-align:unset">Небольшой канал инженера</h1><p class="font-regular mb-3 text-lg leading-relaxed mt-3 text-xl" style="text-align:unset">Материалы по разработке, ИТ и кое-что еще</p><div class="flex justify-center mt-5 flex-wrap "><a href="https://github.com/YPermitin" target="_blank" rel="GitHub" class="flex items-center justify-center rounded-md bg-blue-600 px-4 pb-2 text-white hover:text-white shadow-lg hover:shadow-none transition-all mb-3 md:mx-5 mx-2"><span class="text-xl pt-2 block">GitHub</span></a><a class="cursor-pointer hover:text-blue-500 flex items-center justify-center rounded-md bg-blue-600 px-4 pb-2 text-white hover:text-white shadow-lg hover:shadow-none transition-all mb-3 md:mx-5 mx-2" href="/about/"><span class="text-xl pt-2 block">Обо мне</span></a><a class="cursor-pointer hover:text-blue-500 flex items-center justify-center rounded-md bg-blue-600 px-4 pb-2 text-white hover:text-white shadow-lg hover:shadow-none transition-all mb-3 md:mx-5 mx-2" href="/blog/"><span class="text-xl pt-2 block">Блог</span></a><a class="cursor-pointer hover:text-blue-500 flex items-center justify-center rounded-md bg-blue-600 px-4 pb-2 text-white hover:text-white shadow-lg hover:shadow-none transition-all mb-3 md:mx-5 mx-2" href="/instruments/"><span class="text-xl pt-2 block">Инструменты</span></a><a href="https://boosty.to/ypermitin" target="_blank" rel="support" class="flex items-center justify-center rounded-md bg-blue-600 px-4 pb-2 text-white hover:text-white shadow-lg hover:shadow-none transition-all mb-3 md:mx-5 mx-2"><span class="text-xl pt-2 block">Поддержать</span></a></div></div></section><div class="Seperator_section_seperator_line__gdWIB dark:border-white border-black"></div><div class="container mx-auto lg:px-[15px] px-0"><div class="flex flex-wrap"><h1 class="px-3 w-full mb-5 text-xl md:text-3xl font-medium">Последние публикации</h1><hr class="border-1 mb-5 w-[98%] mx-auto"/><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2025-02/sqlserver-and-clickhouse-friendship/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Дружба между SQL Server и ClickHouse. SQLCLR снова с нами" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=640&q=100 640w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=750&q=100 750w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=828&q=100 828w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2025-02/sqlserver-and-clickhouse-friendship/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2025-02-18</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2025-02/sqlserver-and-clickhouse-friendship/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Дружба между SQL Server и ClickHouse. SQLCLR снова с нами</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Создаем дружбу между SQL Server и ClickHouse через SQLCLR (SELECT, BULK INSERT и любые другие запрос<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->SQLServer</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->ClickHouse</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->SQLCLR</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-12/protect-dublicate-process/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Контроль дубликатов процессов в C# (.NET)" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-12/protect-dublicate-process/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-12-31</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-12/protect-dublicate-process/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Контроль дубликатов процессов в C# (.NET)</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Простейший пример контроля запуска дубликата процесса приложения.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->дубликат</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->контроль</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->процессы</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/CPP/2024-11/cpp-control-child-processes-with-winapi/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Контроль дочерних процессов с помощью C++ и WinAPI" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=640&q=100 640w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=750&q=100 750w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=828&q=100 828w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=1080&q=100 1080w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=1200&q=100 1200w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=1920&q=100 1920w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=2048&q=100 2048w, /imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=3840&q=100 3840w" src="/imp_assets/CPP/2024-11/cpp-control-child-processes-with-winapi/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-11-30</p><a class="cursor-pointer hover:text-blue-500" href="/blog/CPP/2024-11/cpp-control-child-processes-with-winapi/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Контроль дочерних процессов с помощью C++ и WinAPI</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Небольшой пример контроля дочерних процессов в Windows с помощью C++ и WinAPI.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C++</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->WinAPI</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Windows</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->контроль</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->процессы</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=CPP">CPP</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-09/simple-and-fast-sql-clr/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Расширение для SQL Server. Быстро и просто. SQLCLR снова в деле" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-09/simple-and-fast-sql-clr/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-09-08</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-09/simple-and-fast-sql-clr/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Расширение для SQL Server. Быстро и просто. SQLCLR снова в деле</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Создаем расширение SQLCLR для SQL Server на практических примерах.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->SQL Server</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->SQLCLR</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->плагины</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->разработка</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Решение проблем с модулями VMware в Ubuntu 22.04" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=640&q=100 640w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=750&q=100 750w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=828&q=100 828w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=1080&q=100 1080w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=1200&q=100 1200w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=1920&q=100 1920w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=2048&q=100 2048w, /imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=3840&q=100 3840w" src="/imp_assets/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-08-30</p><a class="cursor-pointer hover:text-blue-500" href="/blog/DevOps/2024-08/ubuntu-vmware-kernel-modules-issue/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Решение проблем с модулями VMware в Ubuntu 22.04</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Решение проблемы с установкой модулей VMWare Workstation на Ubuntu 22.04.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->DevOps</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->*.nix</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Linux</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->VMWare</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->решение</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->проблемы</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=DevOps">DevOps</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-07/processes-under-control/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Берем процессы под контроль в .NET" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-07/processes-under-control/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-07/processes-under-control/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-07/processes-under-control/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-07-31</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-07/processes-under-control/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Берем процессы под контроль в .NET</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Запуск внешних процессов и их контроль в C# (.NET).<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->разработка</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->процессы</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->контроль</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-06/detect-devices-with-charp/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Поиск устройств в сети с .NET (C#)" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-06/detect-devices-with-charp/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-06-28</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-06/detect-devices-with-charp/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Поиск устройств в сети с .NET (C#)</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Поиск устройств в сети с помощью C# (.NET). Пинг, сканирование сети, UDP и др.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->разработка</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->сеть</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->устройства</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-05/game-trainer-on-csharp-or-cpp/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Управляем игровым миром с помощью C++ / C#" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-05/game-trainer-on-csharp-or-cpp/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-05-31</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-05/game-trainer-on-csharp-or-cpp/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Управляем игровым миром с помощью C++ / C#</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Создание простого трейнера для игры Grand Theft Auto 2 (GTA 2) на C++ и C#.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C#</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->C++</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Windows</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->игры</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->разработка</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->трейнеры</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->читы</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full lg:w-1/3 md:w-1/2 md:px-[15px] px-2 mb-[30px]"><a class="cursor-pointer hover:text-blue-500 ArticleCard_article_card__YqXyn border-b-[5px] border-blue-500 dark:bg-slate-800 dark:text-white dark:drop-shadow-lg flex flex-col justify-between" href="/blog/.NET/2024-03/deploy-asp-net-core-on-linux/"><div><div class="rounded-t-[4px] overflow-hidden h-[200px] relative"><img alt="Развертывание ASP.NET Core приложений на Ubuntu Linux" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-fit:cover;color:transparent" sizes="100vw" srcSet="/imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=640&q=100 640w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=750&q=100 750w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=828&q=100 828w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=1080&q=100 1080w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=1200&q=100 1200w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=1920&q=100 1920w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=2048&q=100 2048w, /imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=3840&q=100 3840w" src="/imp_assets/.NET/2024-03/deploy-asp-net-core-on-linux/logo.png?w=3840&q=100"/></div><div class="d-block px-[15px] py-0"><p class="font-normal text-xs pt-3 mb-0 md:mb-3">2024-03-12</p><a class="cursor-pointer hover:text-blue-500" href="/blog/.NET/2024-03/deploy-asp-net-core-on-linux/"><h1 class="text-[22px] font-bold cursor-pointer tracking-wide hover:text-blue-600">Развертывание ASP.NET Core приложений на Ubuntu Linux</h1></a><p class="text-sm font-normal mt-2 md:mt-1">Последовательность действий для развертывания ASP.NET Core сервиса в Ubuntu Linux.<!-- --> ...</p><div class="md:mt-2 flex flex-wrap"><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->.NET</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->ASP.NET Core</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->*.nix</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Linux</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Ubuntu</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->публикация</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->развертывание</p><p class="text-[12px] font-normal mr-2 mb-1 inline-block text-gray-500 dark:text-gray-400">#<!-- -->Apache</p></div></div></div><div class="mt-4 mb-3 flex items-center px-3"><div class="flex items-center"><div class="flex items-center justify-center shadow-xl rounded-full overflow-hidden bg-blue-500 shrink-0 w-[40px] h-[40px] mr-3 text-xl"><p class="text-center font-medium text-white">Y</p></div><a class="cursor-pointer hover:text-blue-500 text-sm font-medium" href="/blog/?author=YPermitin">YPermitin</a></div><p class="text-[14px] md:text-[16px] px-2 font-normal">в</p><p class="font-medium text-[14px] md:text-[16px]"><a class="cursor-pointer hover:text-blue-500" href="/blog/?category=.NET">.NET</a></p></div></a></div><div class="w-full flex items-center"><a class="cursor-pointer hover:text-blue-500 w-auto h-auto text-sm py-3 px-10 text-center dark:bg-slate-800 bg-blue-500 rounded-full mx-auto text-white font-bold hover:!text-blue-900 dark:hover:!text-slate-400 transition-all" href="/blog/">Все публикации</a></div></div></div></div><div class="dark:bg-slate-900 dark:text-white bg-slate-100 text-black"><div class="md:container flex items-center md:justify-center justify-around flex-wrap md:text-[14px] text-[12px] py-5"><p class="my-0 mr-[10px] md:mr-3">Copyright © <!-- -->2025<!-- --> <!-- -->Убежище инженера</p></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"1hUbZyIfYyZ98k8H3QaT1","nextExport":true,"autoExport":true,"isFallback":false,"dynamicIds":[91274,28681,97897,90378],"scriptLoader":[]}</script></body></html>