Pull to refresh
-11
0.8
Send message

Гигиена зрения для регионов с пониженной инсоляцией

Reading time2 min
Views1.2K

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

Теория основана на необходимости дополнения основного источника света УФ-А и ИК-А диапазоном излучения, в случае их отсутствия либо недостаточной мощности.

Читать далее
Total votes 3: ↑0 and ↓3-3
Comments0

Деплой .NET приложений для самых маленьких. Часть 1. Jenkins

Level of difficultyMedium
Reading time7 min
Views1.7K

В прошлой статье мы рассмотрели способы запуска наших проектов на удаленном VPS. Для этого мы арендовали хостинг, создали шаблонное приложение, перенесли его на хостинг через простое копирование через ssh и через git clone, запустили через dotnet run / dotnet publish, а также развернули приложение в докере.

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

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments5

Проект модели солнечной системы из LEGO

Level of difficultyEasy
Reading time14 min
Views3.4K

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments2

Клятва на крови: контрактные тесты с Pact в .NET. Часть первая

Level of difficultyMedium
Reading time21 min
Views1.1K

Необходимость написания тестов каждый определяет сам для себя. Модульные и интеграционные тесты вполне могут спасти нас от ошибок, вызванных нашей забывчивостью: убрали проверку на null или удалили строку сохранения сущности в БД? Хороший тест скорее всего обратит наше внимание на эту оплошность, и мы исправим её ещё до того, как задача перейдёт в стадию тестирования.

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

Есть ли способ зафиксировать контракт, обеспечить его неизменяемость и сделать результаты тестирования наглядными для всех участников взаимодействия? Да, библиотека Pact позволяет писать кроссплатформенные контрактные тесты, в результатах которых заинтересованы сразу несколько систем.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Клятва на крови: контрактные тесты с Pact в .NET. Часть вторая

Level of difficultyMedium
Reading time16 min
Views1.1K

Продолжение темы использования библиотеки контрактного тестирования Pact для .NET. В первой части темы были рассмотрены теория и процесс контрактного тестирования взаимодействий по HTTP.

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

В этой статье подробнее остановимся на тестировании асинхронных коммуникаций на примере RabbitMq, а также познакомимся с инструментом PactBroker.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Как работать с объектным хранилищем на Python

Reading time7 min
Views4.2K

Файлы в проекте можно хранить разными способами: локально на компьютере, в базе данных или S3-хранилище (объектное хранилище). Последнее — одно из самых популярных решений. Оно отличается надежностью и масштабируемостью. Использовать S3 можно не только в личных целях, но и для решения бизнес-задач. Для специалиста навык работы с объектным хранилищем востребован. Он поможет быстрее дойти до следующего уровня в карьере.

Под катом расскажем о преимуществах S3, научимся загружать и получать файлы, сверстаем небольшой сайт с его использованием!
Читать дальше →
Total votes 25: ↑22 and ↓3+28
Comments5

Использование face_recognition и OpenCV для автоматического распознавания лиц и отправки уведомлений в Telegram

Reading time8 min
Views3.6K

Всем добра.

В наше время технологии распознавания лиц становятся все более популярными и востребованными в различных областях, начиная от безопасности и заканчивая маркетингом. В этой статье мы рассмотрим, как с помощью Python и библиотек face_recognition и OpenCV создать систему, которая будет распознавать лица, делать скриншоты при обнаружении лица в кадре и отправлять эти скриншоты в Telegram.

Проект «Кто приходил»

Проект «Кто приходил» представляет собой систему, которая использует технологии распознавания лиц для автоматического определения лиц в кадре, их идентификации и отправки уведомлений с изображениями в Telegram. Это может быть полезно для обеспечения безопасности, мониторинга доступа в определенные зоны или просто для наблюдения.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments6

Разработка самой маленькой в мире книги на e-ink дисплее

Level of difficultyMedium
Reading time9 min
Views12K
Приветствую, Хабр!



Хоть название и громкое, но тут почти нет преувеличения. Моя разработка не предполагает ежедневного использования и сделана больше просто ради забавы, но тем не менее она довольно интересная. Владимир Анискин из Новосибирска, например, создал книгу на лавсановой пленке размерами 70х90 мкм, а почему бы и нет? На занесение в книгу рекордов Гиннеса я не претендую, но, если Вы остались заинтересованы, заходите под кат. Не хотел делить статью на части, так что наберитесь терпения.
Читать дальше →
Total votes 81: ↑80 and ↓1+108
Comments83

Настройка iScsi в L3-сети для эффективной утилизации возможностей канала и СХД

Reading time6 min
Views12K

После тестирования NVME over TCP, описанной тут https://habr.com/ru/companies/beeline_tech/articles/770174/, решили проверить, насколько хорошо iScsi в L3-сети работает по сравнение со специализированным решение на FC.

Настройки iScsi

TL/DR

Машина в Bios переведена на профиль HPC (был пустой).

На уровне OS и iscsid сделаны такие изменения

Читать далее
Total votes 12: ↑12 and ↓0+17
Comments2

Дроиды и питоны: работаем с ADB на Python

Level of difficultyEasy
Reading time16 min
Views4.1K

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

И вот, тогда я узнал об одной прекрасной утилите - Android Debug Bridge, ADB. Прекрасный инструмент для работы с Android - подключил телефон, и занимайся чем хочешь. Но иногда так лень запоминать разные команды, вводить их каждый раз... Вот здесь на помощь приходит Python. Прекрасный язык с большими возможностями.

В этой статье я рассмотрю как работать с ADB через python.

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

Читать далее
Total votes 12: ↑12 and ↓0+15
Comments15

Управление напряжением PWM сигналом (PWM+RC=DAC)

Level of difficultyEasy
Reading time7 min
Views7.3K

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

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

В этом тексте я написал как мне это удалось.

Читать далее
Total votes 14: ↑12 and ↓2+17
Comments157

Как работает отрисовка в фреймворках на основе XAML

Level of difficultyMedium
Reading time2 min
Views2.2K

Довольно часто мне приходится видеть вопросы, причиной которого либо непонимание как работают под капотом фреймоворки на базе XAML (я работал с WPF и AvaloniaUI, но имею все основания считать, что эта информация применима и к другим их родственникам).

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

Читать далее
Total votes 12: ↑3 and ↓9-6
Comments1

Настраиваем взаимодействие с внутренним API приложения через свой API-proxy

Level of difficultyEasy
Reading time5 min
Views1.3K

Что делать, если хочется повзаимодействовать с приложением-мессенджером, но его издатель такой опции в виде API для нас не предусмотрел?

Конечно же стоит попробовать себя в качестве джуниор-минус реверс-инженера - всего лишь на уровне перехвата HTTP-запросов с их последующим воспроизведением.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments0

Максимально точное увеличение разрешения изображений: билинейная аппроксимация

Level of difficultyMedium
Reading time8 min
Views4.6K

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

Продолжаем увеличивать апскейл...
Total votes 17: ↑17 and ↓0+20
Comments19

Слушаем события в Selenium с помощью Listeners. Как реагировать на события без тонны кода

Level of difficultyMedium
Reading time8 min
Views1.7K

Привет!

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

Читать далее
Total votes 4: ↑4 and ↓0+5
Comments2

Эволюция сети Ethernet на витой паре

Level of difficultyEasy
Reading time20 min
Views43K

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

Читать далее
Total votes 135: ↑135 and ↓0+171
Comments104

Вышли новые процессоры Ryzen 9000 на Zen 5. AMD говорит, что они мощнее, чем Intel Core 14-го поколения

Reading time4 min
Views11K

Как вы уже, вероятно, знаете, на выставке Computex 2024 компания AMD представила флагманский модельный ряд процессоров Ryzen 9000. Даже несмотря на то, что немало информации о новинках просочилась задолго до презентации, кое-какие утечки заставляли сомневаться в их достоверности и требовали верификации. Посмотрим, что получилось на деле?

Читать далее
Total votes 10: ↑6 and ↓4+3
Comments11

Новый Selenium Python: стелс-режим, профиль, скрытая автоматизация

Level of difficultyMedium
Reading time7 min
Views5.9K

Привет всем! У меня отличные новости: работа с Selenium стала еще проще. Больше никаких танцев с вебдрайверами — теперь всё работает "из коробки"!

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

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments6

Celery: разбираемся с Celery Beat

Level of difficultyEasy
Reading time10 min
Views2.5K

Это продолжение цикла статей про Celery. Первая часть тут.
Сегодня мы более глубоко разберем работу с Celery. Узнаем как работает Celery Beat внутри, научимся настраивать и создавать периодические задачи. И конечно же коснемся практических вопросов.

Роль Celery Beat проста: это планировщик и он запускает задачи с установленными интервалами. Эти задачи затем выполняются доступными рабочими узлами.
Для начала нам нужно разобраться с основными компонентами и названиями, которые будут использоваться в дальнейшем.

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments0

DIY: Личная электронная медицинская карта

Level of difficultyEasy
Reading time11 min
Views1.8K

Всем привет!

Как говорит народная мудрость, «коли болен — лечись, а здоров — берегись». Долгое время я ощущал себя здоровым человеком (хоть и были некоторые хронические заболевания), и не посещал регулярно врачей. Но всё когда-нибудь кончается, и в 41 год я понял, что ощущение здоровья улетучивается как спирт из открытой тары. С этим запросом я пошёл к лекарю – понять какие у меня есть проблемы и что нужно сделать, чтобы вернуться в состояние здоровья.

Как обычно, на приёме был назначен ряд лабораторных и инструментальных исследований, а также были даны направления на консультации к другим узким специалистам. Те, в свою очередь, назначили другие исследования. В рюкзаке стали копиться направления, протоколы приёмов, результаты анализов, диски с результатами исследований. Попытки систематически разложить их в отдельные папки успехом не увенчались – непонятно какой должен быть принцип. Хронологический? Или по системам организма? Или по врачам? Любой вариант в каких-то сценариях неудобен.

Поскольку я всё же ИТшник, то было принято решение систематизировать материалы и сделать свою «электронную медицинскую карту» - с которой лично мне было бы удобно работать. А поскольку я не разработчик (хоть иногда и пишу код), то использовал для этого Excel. В статье хочу поделиться опытом использования Excel для ведения личной электронной медицинской карты – что я там веду, почему именно это и почему именно в такой форме.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments3
1
23 ...

Information

Rating
1,490-th
Registered
Activity

Specialization

Fullstack Developer
Middle
C#
.NET Core
ASP.Net
Docker
Git
Linux
Python
English
SQL