Обновить
24
Лев Рычковский@devlev

web-программист

3
Подписчики
Отправить сообщение

Как ограничить количество одновременно выполняемых задач в фоне

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.2K

Написание этой статьи навеяно статьёй "Task изнутри: управление потоками в .NET и создание своих планировщиков". Одна из проблем озвученная в данной статье это ограничение числа одновременно выполняемых задач.
В указанной статье для таких целей использовался кастомный планировщик. Полагаю многим пришла в голову мысль о возможности создании решения на основе SemaphoreSlim, а я же решил его воплотить и проверить насколько проще такое решение, чем кастомный планировщик.

Читать далее

Служба Windows на C# в .Net 9 (Telegram.Bot)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели13K

После перехода Microsoft с .NET Framework на .NET Core программирование на C# стало более увлекательным, хотя некоторые аспекты изменились.

В частности, шаблон проекта Служба Windows (.NET Framework) создаёт класс, наследник от ServiceBase в пространстве имен System.ServiceProcess. Прогеру предлагается  реализовать виртуальные методы базового класса OnStart и OnStop, которые задают действия, подлежащие выполнению при запуске (остановке) службы, что собственно и есть суть и назначение Службы Виндовз. Регистрация Службы в этом случае производится с помощью утилиты installUtil.exe, в .Net Core это делается утилитой SC.exe.

Реализовать службу на .NET Core (в моем случае .NET 9) не сложнее, но по другому, шаблон проекта теперь называется Worker Service (Microsoft), а рабочий класс наследуется от BackgroundService.

В этой статье я подробно опишу процесс создания, публикации и регистрации Службы в .Net 9 на примере службы для Telegram-бота (сокращенно — Телебот). Почему бот? Во-первых, писать Телебота на C# — это действительно приятно. Во-вторых, чтобы обеспечить его круглосуточную доступность на сервере под управлением Windows, логично использовать именно Службу Windows, которая будет поддерживать его работу в фоновом режиме и запускаться может сама при перезагрузке сервера.

В заключении рассмотрим как добавить логирование в стандартный виндовый EventLog и немного обсудим функционал самого Телебота.

Читать далее

Как продакт-менеджеру учить английский: план, сроки, советы

Время на прочтение7 мин
Охват и читатели6.1K

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

Большинство моих учеников — сотрудники IT, еще точнее — продакт менеджеры, которые либо ищут работу в международных компаниях, либо нуждаются в адаптации своего уровня под должность. Основной запрос к процессу изучения в таком случае звучит так: язык нужен по делу и за короткое время. Простым прохождением учебника или изучением всего подряд в надежде, что в нужный момент это все трансформируется в практический скилл, задачу “язык для работы” не решить.

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

Английский для работы — это проект, который в среднем закрывается за полтора года. В моей практике самые успешные случаи были 8 месяцев, причем 2 ученика с абсолютного нуля. 

50% результата зависит от воли ученика 

50% от грамотного планирования процесса и опыта преподавателя

Читать далее

Заточка кухонных ножей мусатом

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели139K

Я инженер, «переболел» заточкой ножей. Поделюсь наименее очевидными элементами теории; и простейшей техникой поддержания кухонного ножа острым за одну минуту в неделю.

Читать далее

Я наконец понял, что не так с ЕГЭ…

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели113K

По мотивам книги "Долой среднее!"

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

Читать далее

Неочевидные для начинающих тонкости Postgres

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели70K

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

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

За исключением… Postgres.

Не потому, что официальная документация несовершенна (она прекрасна!), просто её очень много. Если распечатать её как стандартный PDF на бумаге формата Letter, то получится 3206 страниц (для текущей версии 17)1. Разработчик-джун вряд ли сможет сесть и прочитать её с начала до конца.

1. Если печатать на бумаге A4, то получится 3024 страницы; наверно, это ещё один аргумент в пользу стандарта.

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

Надеюсь, это упростит процесс освоения для читателей моей статьи.

Стоит отметить, что многое из описанного может быть применимо и к другим системам управления базами данных (СУБД) SQL и вообще к базам данных в целом, но я слабо знакома с ними, так что не буду утверждать с уверенностью.
Читать дальше →

Готовьтесь к росту цен

Время на прочтение8 мин
Охват и читатели251K
Это был тяжёлый год, был он тяжелей, чем тот.

В этом году Центробанк выставил высокие ставки и фактически перекрыл возможность строить ЦОДы за кредитные деньги. А если что, то дата-центры строятся за колоссальные деньги. То есть исключительно на кредиты — с тем, чтобы потом продавать их мощности и постепенно отбивать кредитные деньги. То же самое происходит в других областях бизнеса, и почти везде практическая невозможность взять кредит означает стагнацию многих направлений бизнеса. За ипотеку же вообще можно слетать в космос!

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

А дефицит стойко-мест растёт. Уже в прошлые годы всё, что строилось, на 80 % раскупалось ещё на стадии строительства. То есть речь идёт даже не про текущие свободные стойки, а про предзаказы на то, что будет готово только в следующем году.

Цена размещения стойки уже выросла на 9–21 % в зависимости от колокации в России.

Кстати, познакомьтесь со звездой рынка — киргизскими серверами:

imageЭто экспорт из Германии в Кыргызстан. Примерно такие же графики — по Польше, Австрии, Италии и т. п.
Читать дальше →

Аппаратное кодирование HEVC в FFmpeg — как быстро вникнуть и начать уже сейчас?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели26K

В прошлой статье, посвящённой изучению кодирования на HEVC в FFmpeg, мы разобрали большинство функций работы с видео и научились эффективно сжимать видео или ускорять процесс кодирования для различных задач, преимущественно в программном кодировании. На этот раз моё внимание привлекла тема аппаратного кодирования (ГПУ) в FFmpeg.

Буду рассматривать аппаратные кодеки Nvidia, AMD и Intel.
Читать дальше →

Начинаем читать на английском — как сделать первый шаг и не забросить

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели30K

Думаю, мало кто станет спорить с тем, что знание английского языка — это один из важнейших навыков ИТ-специалиста. На начальных этапах становления ИТ-карьеры такой потребности может и не ощущаться, однако по мере роста начинаешь осознавать важность и необходимость этого навыка. Английский крайне необходим для чтения документации, новейших книг по актуальным технологиям (которые либо вовсе не переводят на русский, либо переводят со значительной задержкой, да еще часто с многочисленными опечатками и неточностями), для поиска ответов на технические вопросы и решения проблем (поиск google, stackoverflow, и пр.), для того же общения с ChatGPT и другими подобными системами, для расширения географии своей деятельности (общение с иностранными заказчиками или клиентами) либо для релокейта.

Однако сегодня я хотел бы поговорить не об изучении языка в общем, а конкретно о развитии такого навыка, как чтение на иностранном языке. Безусловно, это не единственный навык. Конечно, важен и разговорный английский, и письменный, и восприятие на слух, однако даже чтение само по себе уже открывает перед ИТ-специалистом множество возможностей, ряд из которых я уже перечислил выше. Кроме того, регулярное чтение увеличивает словарный запас, а также позитивно сказывается на улучшении грамматики и в целом на способности выражать свои мысли на английском языке.

Читать далее

Создаем свою библиотеку на C++ с тестированием, CMake и блекджеком: часть 2

Уровень сложностиСредний
Время на прочтение30 мин
Охват и читатели15K

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

Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку?», то я рекомендую прочитать вам мою статью.

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

Некоторые из вас могут подумать, что мы изобретаем велосипед. А я в ответ спрошу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок?

Добро пожаловать во вторую, скорее всего финальную часть статьи! Здесь мы окончательно допишем код, исправим некоторые ошибки.

Читать далее

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1M

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Время на прочтение4 мин
Охват и читатели489K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее

Я победил замедление YouTube

Время на прочтение4 мин
Охват и читатели692K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее

Вышел симулятор электронных схем с открытым кодом Qucs-S v24.3.0

Время на прочтение1 мин
Охват и читатели31K

Qucs-S https://github.com/ra3xdh/qucs_s это кроссплатформенное (Linux, Windows, Mac) программное средство с открытым исходным кодом для моделирования электронных схем. В качестве движка используюется открытый Ngspice https://ngspice.sourceforge.io/ для схем общего назначения, либо QucsatorRF для анализа ВЧ устройств. Сегодня, 23 июля этого года состоялся очередной релиз программы.

Читать далее

«Финансово я на самом дне. Какой бизнес мне начать?»

Время на прочтение8 мин
Охват и читатели21K

Этот заголовок я взял из видеоролика американского предпринимателя Алекса Хормози, который в свои ранние тридцать перевалил за сотню миллионов заработанных долларов и теперь рассказывает, как именно он этого добился, и раздаёт бесплатные советы.

Поначалу я скептически относился к материалам Алекса, т.к. от них отдавало инфоцыганщиной, но с каждым новым выступлением (а у этого парня трудно найти что-то короче 20 минут) проникался всё большим доверием к его словам. Эту статью пишу на основе его 24-минутного видеоролика под заголовком: «I'm Broke, What Business Do I Start?» (я вставил его внутрь статьи).

Я собираюсь пересказать своими словами всё то, чем делится в ролике Алекс, а также примерить его советы на свою деятельность. Тем более я как раз занимаюсь проработкой и запуском новой услуги у себя в Проекторате.

И, если верить Алексу, та схема, которую он предлагает, буквально гарантирует мне пять первых клиентов в результате её применения. Что ж, проверим!

Итак, поехали.

Читать далее

Создание цифровой модели рельефа (DEM) по открытым данным

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.8K

Построение цифровой модели рельефа (DEM) с использованием открытого программного обеспечения PyGMTSAR (Python InSAR) является ярким примером технология, которая выглядит настоящей магией. Действительно, для создания спутникового DEM требуется всего один клик. Указанный пример и многие другие интерактивные примеры InSAR с 3D визуализацией доступны на Google Colab, в Docker образах и даже на GitHub Actions на https://InSAR.dev

Читать далее

.NET Aspire — империя дотнета наносит ответный удар

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели90K

Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.

Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.

Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.

Я даже представить не мог, что DevEx можно сделать настолько офигительным.

Узнать про Aspire без смс и регистрации

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели116K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее

Поиск опечаток в проекте

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели2.6K

Ничего не нашёл на Хабре про CSpell, попробую исправить ситуацию.

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

Таким инструментом оказался CSpell. Если пишите код в Visual Studio Code, то вы его уже используете. CSpell позиционирует себя как спеллер для кода, но он может также спеллерить и обычные тексты. Давайте подключим его в проект.

Читать далее

Самый простой способ обхода блокировок доступа к сайтам любых стран

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели145K

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

Я понимаю (программисты, сисадмины, DevOps'ы и т.д.) данный способ нельзя назвать уникальным, оптимальным и вообще, так лучше не делать, но согласитесь - это достаточно простой способ туннелирования трафика, который позволяет обойти (если не все), то огромное количество разнообразных сетевых блокировок.

О туннелирование через SSH на хабре написана не одна статья, но в виде инструкции, которую можно дать любому домохозяйкеину (ведь в рф запретили феминитивы) лично я не нашел. Поэтому добро пожаловать подкат.

Так же, этот способ - достаточно дешевый (меньше чашки кофе в день) и очень быстрый с точки зрения реализации (буквально 5 минут).

Интересно?

Читать далее

Информация

В рейтинге
5 723-й
Откуда
Тула, Тульская обл., Россия
Зарегистрирован
Активность