Feed aggregator

[Перевод] Создание XDP eBPF программы с использованием C и Golang: пошаговое руководство

Habr.com - Thu, 11/21/2024 - 13:48

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

В этом пошаговом руководстве мы рассмотрим процесс создания XDP eBPF программы с использованием языков C и Golang.

Читать далее

Selenium обход капчи кликами или токенами? Продолжаем разбираться что же быстрее

Habr.com - Thu, 11/21/2024 - 13:34

В предыдущейстатье — Распознавание капчи токеном или кликами, что быстрее? Сравнение методов на практике (я ее кстати опубликовал еще и на DTF) я сравнил два метода обхода капчи (кликами и токеном) но с использованием Puppeteer, и анонсировал, что в следующей статье (то есть уже в этой) сделаю практическое сравнение этих же двух методов, но уже с использованием selenium и обход капчи будем считать завершенным. Полная картина, так сказать сложится. Ну… Не будем тянуть, переходим сразу к делу.

Читать далее

Введение в Brisa: новый подход к веб-разработке

Habr.com - Thu, 11/21/2024 - 13:16

Brisa — это современный веб-фреймворк, который сочетает мощь серверного рендеринга и удобство клиентских компонентов. Он позволяет создавать быстрые, легкие и высокопроизводительные веб-приложения, минимизируя объем JavaScript, отправляемого в браузер. Поддержка веб-компонентов, гибкая интернационализация и возможность кроссплатформенной разработки с помощью Tauri делают Brisa универсальным инструментом для веб-разработчиков.

В этой статье мы подробно разберём, как начать работу с Brisa, изучим основные принципы и рассмотрим примеры кода.

Читать далее

Создаем свою ORM на python — гайд

Habr.com - Thu, 11/21/2024 - 13:10

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

ORM позволяет абстрагироваться от сырых SQL запросов путем абстракций.

В этой статье мы и рассмотрим создание своей ORM на Python с документацией и публикацией на PyPI. Данный проект очень интересен со стороны реализации: ведь требуется изучить большую часть ООП, принципов и паттернов.

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

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

Читать далее

Возможности поля HTML-документа, часть 2. Внедряем CSS и JS

Habr.com - Thu, 11/21/2024 - 13:09

В прошлой статье я рассказал, какие возможности скрывает в себе поле HTML-документа, выведенное на форму 1С. Сегодня подробнее остановлюсь на возможностях языков CSS (язык стилей и некоторых элементов поведения) и JavaScript (язык программирования, используемый в веб-разработке), которые могут пригодиться в работе с 1С-интерфейсом.

Читать далее

«ИИ-тестировщик»: от идеи к реализации

Habr.com - Thu, 11/21/2024 - 13:06

Привет, Хабр! На связи Денис Киров, руководитель отдела тестирования компании «ДОМ.РФ Технологии». В этой статье я расскажу, как проходило внедрение ИИ в процессы тестирования в нашей команде.

Искусственный интеллект в том или ином виде внедряется во все процессы: от бытовых до бизнесовых. Использование ИИ – это автоматизация различных процессов, которые долго выполняются руками, присутствует возможность человеческого фактора и допущения ошибок. Раньше все стремились автоматизировать регрессионные тесты, так проходить их руками долго и больно, сейчас, благодаря генеративному ИИ, появились новые возможности для автоматизации процессов тестирования, которые позволяют сократить трудозатраты.

Применение ИИ в тестировании

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

·         Тестирование требований – тут может помочь NLP (Natural Language Processing)

·         Генерация тестовых кейсов

·         Генерация API тестов

·         Генерация отчётной документации

·         Генерация UI автотестов

Далее мы попробовали немного детализировать то, что мы хотим, а именно:

1)    Тестирование требований – анализ текста на отсутствие неоднозначности, логических ошибок аналитики.

2)    Генерация тестовых кейсов – нам нужно, чтобы ИИ генерировал тестовые кейсы аналогично тому, как это делают функциональные тестировщики (ФТ) – то есть по спецификации, которая может храниться на внутрикорпоративном Confluence, в Jira, а также в формате OpenAPI/Swagger.

Читать далее

От токарно-копировального станка до космоса: немного о русской инженерной школе

Habr.com - Thu, 11/21/2024 - 13:04
Русская инженерная школа 19-го века готовила почти что космонавтов. В смысле, в тогдашней России можно было забросить такого инженера куда-то работать, и он там воспроизведёт цивилизацию с нуля — от первых деталей до мостов, станков и вообще чего угодно. Наших инженеров ценили по всему миру, в частности за широкий кругозор и практические навыки.


Студенты Московского инженерного училища на рубеже 19-го и 20-го веков решают какую-то интересную задачку

Рулили три базовых принципа:

  • Практика от простых ремесленных задач до сложных инженерных проектов.
  • Глубокое изучение фундаментальной теории и дальше узкоспециализированных прикладных областей.
  • Постоянная работа с промышленностью.

Студенты учились понимать всё через прикладной опыт. Так формировалось инженерное мышление.

И ещё одно.

Над инженером не было начальника. Главные конструкторы крупных государственных проектов (от Транссиба до космической программы) подчинялись напрямую руководителю страны. Это имело как плюсы, так и минусы. Читать дальше →

Расширенная модель записи данных REM: почему это стандарт для разработки Low-code решений?

Habr.com - Thu, 11/21/2024 - 12:47

Управление данными в корпоративных информационных системах становится всё более сложной задачей. Вслед за ростом бизнеса увеличивается объём и разнообразие обрабатываемой информации, что увеличивает нагрузку на ИТ-отделы.

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

Расширенная модель записи (REM) является решением этой проблемы. Этот подход позволяет использовать одну таблицу для хранения типовых запросов. REM — это не теоретическая концепция, а проверенный на практике подход, который уже помогает оптимизировать работу информационных систем, ускорять разработку и снижать затраты на поддержку. Все бизнес-приложения SimpleOne используют REM подход: от систем управления ИТ-услугами до инструментов автоматизации корпоративных продаж.

Читать далее

Инженеры больших идей: кто был бы спикером на ИТ-конференции вашей мечты?

Habr.com - Thu, 11/21/2024 - 12:43

Вы пришли на конференцию и — вот же удачное совпадение! — встретили там Андрея Петровича Ершова, пионера советского ИТ. Разумеется, у вас к нему множество вопросов. Например, о том, справедлив ли тезис «программирование — вторая грамотность» в эпоху промпт-инжиниринга. Андрей Петрович улыбается и собирается ответить… К сожалению, на этом месте вы просыпаетесь.

В реальности мы не всегда можем спросить того, чей ответ нас особенно интересует, но совместно с конференцией «Импульс Т1» мы попытаемся сделать невозможное возможным. Прямо сейчас вы можете задать вопрос тому самому инженеру, чей вклад в ИТ вы цените больше всего.

А отвечать на ваши вопросы будут спикеры «Импульса Т1» — те из них, кто разделяет ваш интерес к указанной личности и кто достаточно подкован в теме, чтобы предположить, каким мог бы быть ответ того самого %инженернейма%. По результатам опроса у нас будут не только видеоролики с ответами, но ещё и аналитическая статья, где мы расскажем, кого хабровчане больше всего уважают и почему.

Пройти опрос

История C и C++. Часть первая: появление и стандартизация C, C with Classes становится C++

Habr.com - Thu, 11/21/2024 - 12:37

C и C++ — культовые языки, на которых написано огромное количество кода. Но какой путь они прошли, чтобы стать таковыми? В этой статье расскажем о появлении C, начале его официальной стандартизации, а также о C with Classes и его окончательном превращении в C++.

Читать далее

Functional options in Go

Habr.com - Thu, 11/21/2024 - 12:30

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

Читать далее

Готовимся к Micromouse: как роботу построить карту лабиринта

Habr.com - Thu, 11/21/2024 - 12:20

Привет, Хабр! Меня зовут Денис Логашов, я инженер-исследователь отдела автоматической обработки результатов моделирования и визуализации YADRO. В этом году мне предложили поучаствовать в соревновании по робототехнике в дисциплине Micromouse, где роботизированной мыши нужно как можно быстрее найти путь в центр лабиринта и понять, что цель достигнута. Такие соревнования проводятся в разных странах уже почти 50 лет, и в этом году Micromouse вошел в программу фестиваля РобоФинист 2024 в Санкт-Петербурге, где мы заняли второе место.

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

Читать далее

Портал, манулы и мячи: опыт разработки для Apple Vision Pro. Часть 1

Habr.com - Thu, 11/21/2024 - 12:15

В статье описан мой опыт разработки мини-игр для Apple Vision Pro в условиях жёсткого ограничения во времени.

Расскажу, с какими сложностями я столкнулся в ходе работы с 3D-моделями, и поделюсь способами их преодоления. Лайфхаки для упрощения работы с RealityViewContent и Reality Composer Pro прилагаются.

Читать далее

Как пересылать сообщения из Telegram в SMS с помощью бота

Habr.com - Thu, 11/21/2024 - 12:13

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки своих серверов до открытия ворот по SMS. Наиболее интересные и подробные решили размещать в нашем хабе.

В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.

Читать далее

SDR радиоприёмник в FPGA плате Марсоход3GW2 (Gowin)

Habr.com - Thu, 11/21/2024 - 12:12

Когда-то давно, аж 2013-й год, на Хабре была статья "Простой SDR приёмник на ПЛИС" автора @iliasam. Я попытаюсь повторить этот проект на другой элементной базе: FPGA плата Марсоход3GW2, микросхема Gowin GW1NR-LV9QN88PC6/I5.

Законы Цифровой Обработки Сигналов кажется остаются всё те же, что и раньше. Посмотрим, что у меня получится.

Читать далее

Какие айтишники будут востребованы в 2035г, а какие – нет?

Habr.com - Thu, 11/21/2024 - 12:01

Часто слышу отголоски дискуссии, что через 10-15 лет за разработчиков будет писать код искусственный интеллект, он же будет находить и фиксить баги, автоматически создавать интерфейсы, анализировать пользовательский опыт и так далее. Так ли это?

Поскольку в Гринатоме сегодня мы уже не только выполняем функцию ИТ-интегратора для Росатома, но и создаем свои ИТ-продукты и выводим их на рынок, у нас очень высокая потребность в кадрах: в Гринатоме более 7 тысяч ИТ специалистов, а к 2035г. их должно стать более 12 тыс.

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

Читать далее

Стой и сражайся! Как мебельный интернет-магазин удвоил продажи в неравной битве с маркетплейсами

Habr.com - Thu, 11/21/2024 - 12:00

Маркетплейсы неумолимы, и все интернет-магазины рано или поздно сыграют в ящик… Так стоит ли продвигать интернет-магазин мебели или уже сейчас надо переходить только на маркетплейсы? Как масштабировать продажи в контекстной рекламе? Какие доработки сайта увеличивают конверсию?  Как не слить бюджет на медийную рекламу и получать заказы с холодного трафика? Методика масштабирования продаж интернет-магазина мебели по 4 точкам роста.

Читать далее

Топология Dragonfly для дата-центровых сетей

Habr.com - Thu, 11/21/2024 - 12:00

Итак, вы гиперскейлер, давайте отталкиваться от этого. Потому что если нет — собирайте хоть 3-tier на OSPF. А гиперскейлер вы в том случае, если у вас большая сеть на тысячи хостов, а лучше стоек. Вы уже попробовали топологию Клоза. Сначала вам очень нравилось. Она вся такая плотная, регулярная и масштабируемая — просто прелесть.

Как только кластер начал грозить вырасти за 2000 хостов, вы стали надстраивать ещё один уровень коммутации и докидывать в него всё новые и новые группы стоек. И продолжаете расти на десятки тысяч узлов. У вас отработанный дизайн, автоматизация ввода нового оборудования. Всё на потоке.

Но отчего‑то вы несчастливы. Вам плохо спится. Гложут сомнения и дурные мысли.
А всё дело в эпохе 400G! Вы долгие годы строили свою сеточку на 25+100, и всего всегда хватало. Раньше. А теперь надо на хосты соточку спустить. А значит и аплинки надо расширять, да вы и сами уже понимаете, что пора: ещё несколько лет — и эта сеть станет устаревшей. 200G, 400G, SerDes по 100 Гб/с на PSM4. Тут думать надо.

И новая сетка выглядит действительно привлекательной, даже почти изумительной.Но как только вы подумаете, что её, такую красивую, нужно как‑то интегрировать с существующей, уже немного опостылевшей сетью, настроение сразу портится — фактически это означает, что нужно менять уровень S2 или строить ещё одну сетку рядом с нужной ёмкостью и каким‑то ужасным образом скрещивать их друг с другом иначе.

Читать далее

Стили, темы и адаптивная верстка в React Native

Habr.com - Thu, 11/21/2024 - 11:59

Из этой статьи вы узнаете, как эффективно организовать очень важную часть разработки на React Native - работу со стилями и ресурсами для создания адаптивных и доступных интерфейсов под три платформы: iOS, Android и Web. Также в целом обсудим особенности верстки и проблемы производительности в рамках данного фреймворка.

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 2

Habr.com - Thu, 11/21/2024 - 11:36

Продолжаем готовить возможную замену GitLab или GitHub с удобным CI/CD и on-premise размещением. Во второй части подробной статьи-инструкции для новичков поговорим о Gitea Actions: настроим инфраструктуру и Gitea Actions CI/CD. 

Читать далее

Who's online

There are currently 1 user and 1 guest online.
Syndicate content