Привет, Хабр!
В этой статье поговорим о паттерне «Компоновщик» (он же Composite) — на примере котиков. Котики идеально иллюстрируют структуру паттерна: в каждом доме есть простые котики, сложные котики (например, те, кто лазает по шкафам и открывает холодильники), а иногда — целые прайды из котиков.
Читать далееЕсли бы всего пару лет назад мы задали вопрос IT- или ИБ-специалисту, какой NGFW лучше выбрать, то все в один голос рекомендовали бы продукты иностранных вендоров. Они созревали десятилетиями, были вне конкуренции по своим характеристикам и, как следствие, доминировали на российском рынке. Сейчас, когда переход на отечественные NGFW должен произойти уже вот-вот, компаниям предстоит не только выбрать оптимальное решение под свои задачи, но и внедрить его на своей инфраструктуре, причем так, чтобы не положить весь корпоративный трафик. На примере опыта внедрения собственного продукта InfoWatch ARMA Стена (NGFW) в ГК InfoWatch рассказываем, как развиваются события, когда компания уже выбрала межсетевой экран и приступает к его пилотированию. Внутри – рекомендации для заказчиков NGFW: какие важные моменты нужно учесть на старте, как сформировать список требований и какие шаги нужно предпринять для доработки, чтобы на выходе получить рабочий корпоративный межсетевик.
Читать далееБудущее C++ уже не первый год служит поводом для огромного количества разногласий.
Возможно, вы подумаете, что я говорю о профильных тредах на Reddit — местная публика давно славится своей многополярностью и любовью к спорам ради спора, так что разговоры на повышенных тонах там в принципе никогда не утихают. Однако гораздо страннее их видеть даже на официальных заседаниях комитета по стандартизации C++. Ниже я приведу несколько красноречивых примеров.
Читать далееКоманда Amplicode решила реализовать свой собственный HTTP-клиент и пару недель назад, в последнем мажорном релизе 2024-го года, мы его выпустили!
Сегодня я расскажу, чем наш клиент лучше HTTP-клиента от JetBrains, покажу базовые сценарии его использования, а также немного расскажу о планах на будущее.
Статья также доступна в формате видео на YouTube, VK Видео и RUTUBE, так что можно и смотреть, и читать — как вам удобнее!
Читать далееВсем привет! Сегодня рассказываем о важной детали, которую никак нельзя упустить при выборе источника бесперебойного питания (ИБП) – способе подключения к нему нагрузки. Использование переходника неудобно, а для целого ряда применений вообще запрещено. Разберемся в том, какие интерфейсы для присоединения нагрузки могут иметь однофазные ИБП и для каких применений используются те или иные способы подключения.
Розетка Schuko
Привычная нам всем розетка с контактами заземления. Ее изобрели почти 100 лет тому назад, предназначена она для использования главным образом в быту. Отсюда и основные недостатки.
Читать далееПривет. Меня зовут Олег, и я руковожу отделом компьютерного зрения в «Северсталь Диджитал». Мы занимаемся проектами для металлургической и добывающей промышленности. В 2024 году мы стали кластером «Искусственного интеллекта» в ИТ «Северстали» и стараемся соответствовать этому названию. Для этого не только применяем устоявшиеся, хорошо зарекомендованные подходы, но и активно пробуем новое.
Если провести сотню собеседований, отсмотреть пару десятков подрядчиков, видно, что многое в CV (Computer Vision) для промышленности продолжает крутиться вокруг хорошо зарекомендовавших себя детекторов: Yolo разных версий, Faster RCNN, Mask RCNN. Мы тоже во многом живём на них: безопасность на производстве контролируется Yolo-детекторами, дефекты поверхности металла в плоском прокате работают на Faster RCNN и Mask RCNN. Это уже бейзлайн, который зачастую и доходит до продуктива.
Но на месте не стоят ни архитектуры нейронок, ни подходы к решению задач.
Если посмотреть на текущие тренды, то можно выделить следующее:
● в статьях преобладают архитектуры, основанные на трансформерах;
● появляется все больше foundation-моделей;
● модели работают в открытом мире и учатся в self-supervised манере;
● инструменты для CV используют для автоматизации универсальные модели, например, CLIP, Dinov2, Segment Anything;
● развиваются few-shot, single-shot и zero-shot подходы, unsupervised и self-supervised обучение.
О том, для чего мы применяем это, я и расскажу подробнее.
Читать далееОбзор немецкого тепловизора Ermenrich SEEK TV70, который может использоваться при строительстве, обслуживании отопительных систем, диагностике электрооборудования и просто в быту. Что из себя представляет и сколько стоит?
Читать далееБайесовская оптимизация (Bayesian Optimization) призвана решить проблему исследования данных от «черного ящика» путем объединения вероятностного машинного обучения (ML) и теории принятия решений. Несмотря на то, что BayesOpt доказала свою эффективность во многих реальных задачах оптимизации «черного ящика», многие практикующие ML-специалисты все еще сторонятся этой методики, полагая, что для этого им нужны более высокие компетенции. Теперь у вас есть возможность получить нужные знания с новой книгой от издательства Manning в русском переводе от Alist в партнерстве с БХВ.
Читать далееПередо мной встала задача провести реверс-инжиниринг программы мониторинга артериального давления для устройства Spacelabs OnTrak 90227 ABP Monitor.
Устройство подключается через USB и определяется системой как виртуальный COM-порт.
Программа, с которой мне предстояло работать, 32 битная, написана на C++ с использованием MFC и была выпущена в 2010 году.
Основная цель — найти код, связанный с кнопками «Выгрузить монитор» и «Инициализировать монитор», чтобы осуществить обмен данными с устройством.
На основе найденного кода нужно разработать консольное приложение, которое будет инициализировать устройство для последующих измерений или считывать данные с устройства и записывать результаты в файл.
Читать далееДелаем звонок из браузера в игре на движке Godot 4
Представим ситуацию, вам очень хочется необычно поздравить человека, ну или сделать маркетинговую акцию. В голове уже созрел сценарий – пользователь открывает ссылку, выполняет простые действия и затем прямо из браузера звонит на определенный номер. А мы на том конце сообщаем ему какую-нибудь приятную новость. Чудеса да и только!
Но вот незадача, оплаченные курсы «Как стать фронтенд-специалистом с нуля до техлида за два дня» начнутся только через неделю, поэтому разрабатывать супер крутые сайты – пока за гранью ваших возможностей.
К счастью в активе есть жгучее желание делать игры на бесплатном движке Godot, пара свободных часов и аккаунт в МТС Exolve.
Не будем терять ни минуты и начнем эту задачу решать.
Читать далееТуториал посвящён полезным инструментам из модуля collections в Python, которые помогают решать типовые задачи программирования быстро и эффективно.
Читать далееПривет всем читателям! На повестке дня у нас системы автоматизированного проектирования (САПР). Данные «помощники инженеров» прошли немалый и тернистый путь, чтобы дойти до того состояния, в котором мы можем лицезреть их сейчас. И данные программы действительно важны, ибо без них было бы крайне сложно конструировать и проектировать что-либо (только представьте объем чертежей, который инженерам приходилось рисовать от руки).
Но как же они помогают инженерам (и не только) выполнять свою работу? Насколько сильно они переплетены с другими ИТ отраслями? Каким именно был их путь развития? А каково же их будущее? Сегодня об этом и поговорим.
Читать далееУ Java есть много возможностей, благодаря которым она хорошо подходит для больших и долгих проектов. Но я обнаружил, что она на удивление неплохо справляется и с небольшими задачами. Благодаря новым возможности языка это становится ещё удобнее. Киллер-фичи — это типизация во время компиляции и отличная поддержка инструментов.
В моей работе писателя и преподавателя есть множество повторяющихся задач, например, перемещение файлов и скучное преобразование их содержимого. Берясь за автоматизацию рутины, я обычно смотрю на задачу и думаю: «Никаких проблем, напишу шелл-скрипт». А затем происходит неизбежное: с появлением новых особых случаев скрипт превращается в ужасный хаос bash-кода. И я начинаю жалеть, что не написал его на настоящем языке программирования.
«Очевидный» выбор для этой задачи — Python, но Python API не так уж чудесен, а из-за динамической типизации мне понадобится слишком много времени на отладку. Поэтому я попробовал Java. Я знаю её API назубок; по крайней мере, то, что касается коллекций, файлов, regex и так далее. Java статистически типизируемая, поэтому я защищён от глупостей ещё на ранних этапах кодинга. А её среды разработки просто потрясающие.
Что вы говорите? Действительно ли я хочу создавать отдельный файл POM и иерархию src/main/java для каждого скрипта? Хм.
Нет, я этого не делаю. К счастью, современная Java и её инструменты этого не требуют. Давайте разбираться!
Читать далееКомпания «Автомакон», ведущий интегратор в области автоматизации и роботизации, стала участником масштабного проекта крупнейшей розничной компании России X5 Group по внедрению автономных мобильных роботов в распределительных центрах (РЦ) торговой сети «Пятёрочка».
Читать далееКультурные растения, которые мы выращиваем для получения урожая, являются одними из ключевых объектов сельского хозяйства. Однако на полях и огородах также произрастают сорные растения (сорняки), которые конкурируют с культурными за ресурсы. В природе тоже идут войны и это одна из них (рис. 1).
Читать далееКогда к нам в К2Тех пришла крупная энергетическая компания с задачей по замене Microsoft Teams на российское решение, мы сразу поняли, что это будет не рядовой рутинный проект. Заказчик — высокотехнологичная корпорация с очень специфичными требованиями, а ещё штатом продвинутых айтишников, которые знают, чего хотят, и не собираются идти на компромиссы.
Читать далееДостижения и результаты любого руководителя или специалиста зависят от врождённых качеств его таланта намного сильнее, чем принято считать. Об этом свидетельствуют результаты масштабных исследований на основе нового подхода, разработанного Эдуардом Барским и его коллегами. Изучая особенности и различия в деятельности и мышлении многих людей Барский открыл существование устойчивых типов, или «уровней» таланта, которые кардинальным образом влияют на возможности и достижения человека. Уровень таланта обусловливает глубину познания, проникновение в объект, реализм и конструктивность мышления. (Подробнее в первой части цикла.)
Согласно результатам исследований, люди с более высоким уровнем таланта генерируют более значимые идеи. Ряд наиболее высоких уровней Барский выделил в особую подгруппу, называемую высшими талантами. В экономике и бизнесе они играют исключительно важную роль. Главная ценность высших талантов в их способности создавать нечто принципиально новое, передовое, полезное для общества. Именно люди с талантом высшего типа изобретают новые технологии, способы производства, бизнес-модели, новые виды товаров и услуг, они эффективно организуют и координируют деятельность предприятий и отраслей, создают полезные инновации.
У талантов высшего типа уровни обозначаются номерами, начиная от самого низкого 1-го уровня, и далее по порядку возрастания. Талантом высшего типа обладают многие успешные руководители и специалисты. Самым распространённым типом является талант 1-го уровня, реже встречается талант 2-го, и совсем редко – 3-го уровня. Таланты 4-го, или более высоких уровней встречаются крайне редко. С точки зрения бизнеса таланты 3-го, и более высоких уровней особенно важны, поскольку они вносят наибольший вклад в развитие бизнеса и экономики.
Читать далееСегодня будет про культуру ведения тикетов в трекере.
Раз за разом я долдоню своим менеджерам одно и тоже, а все равно стоит отвлечься, и треш, с которым я веду войну, просачивается в процесс разработки. Я не претендую тут на идеальную картину мира и идеальный процесс разработки, у каждой команды свои правила работы, но есть пара моментов, которые вымораживают при любом процессе. И, вроде, они настолько очевидны, что даже не стоят кликов по клаве, чтобы писать, но почему-то каждый раз мне приходится объяснять это новеньким.
Наверное, просто надо один раз написать и потом слать ссылку на текст. Для этого и напишу
Добрый день всем хабрчанам и не только! После 15 декабря у меня перестало работать абсолютно всё: ни один из рабочих VPN, которыми я пользовался ранее, ни различные утилиты. В связи с этим я начал тестировать массу способов и решил собрать для вас 4 действительно рабочих метода, которые точно вам помогут.
1 способ
Для обхода блокировок можно поднять собственный VPN-сервер (вот легкая инструкция как это сделать), используя разные протоколы вроде Shadowsocks, VLESS, VMess, Trojan и OpenVPN. У каждого из них есть свои фишки и нюансы.
Shadowsocks — это по сути прокси, который шифрует трафик и маскирует его под обычный HTTPS. Работает быстро, не требует больших ресурсов и сложно обнаруживается системами блокировки. Но шифруется только тот трафик, который проходит через него, а не весь интернет-трафик целиком.
VLESS — более современный и продвинутый протокол для проекта Xray. Он умеет маскировать трафик под обычный HTTPS и поддерживает разные способы передачи данных вроде WebSocket или gRPC. Плюс, его можно использовать через CDN (например, Cloudflare), чтобы ещё сильнее усложнить блокировку. Но настраивать его непросто, нужно разбираться в деталях.
VMess — это основа для V2Ray. Он тоже позволяет шифровать и обфусцировать трафик, чтобы его было сложно отследить. Работает через TLS и поддерживает разные виды транспорта. Крутой инструмент для продвинутых пользователей, но требует времени на настройку.
Trojan хорош тем, что маскирует трафик под обычный HTTPS на порту 443. Выглядит как обычный запрос к веб-сайту, поэтому блокировать его сложнее. Настроить проще, чем VLESS или VMess, но если серверный IP попадёт в чёрный список, всё слетит.
Читать далее