Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

UX установки диффузионного силицирования

Время на прочтение8 мин
Количество просмотров35

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Новости

Как решить типичные проблемы Django нестандартным подходом: Fake Injection

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров138

Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я backend-разработчик продукта 10D в компании Самолет. Последние пять лет я занимаюсь backend-ом и большую часть времени я использую именно Django. С ростом проекта увеличивается и его сложность, в случае с Django есть набор часто встречающихся проблем. В этой статье я расскажу о методах нашей команды, которые помогли нам справиться с этими проблемами и привести код к новому уровню надежности и эффективности.
Читать дальше →
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии0

Подводные грабли экспертных утилит при работе с инцидентами

Время на прочтение10 мин
Количество просмотров69

Привет, Хабр!

Меня зовут Максим Суханов, я ведущий эксперт в команде CICADA8 Центра инноваций МТС Future Crew. Это подразделение отвечает, в том числе, за реагирование на инциденты кибербезпасности, форензику и реверс-инжиниринг вредоносного ПО. Ещё я занимаюсь другими интересными вещами, вроде немалварного реверса, например, файловых систем NTFS, FAT12/16/32, exFAT, реестра Windows и теневых копий.

Сегодня я расскажу о двух опасных типах ошибок DFIR-инструментов: когда использование утилиты приводит к отказу на целевом хосте и если инструмент выдаёт ошибочные, но ожидаемые результаты. Для подробностей заходите под кат.

Этот пост — текстовая версия выступления на конференции SOC-Форум 2023. Вот тут можно посмотреть запись этого доклада

Читать далее
Рейтинг0
Комментарии0

Книга: «Podman в действии»

Время на прочтение14 мин
Количество просмотров342
image Привет, Хаброжители!

Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривилегированные контейнеры и управлять ими. OCI-совместимая поддержка Docker API позволяет перевести существующие контейнеры на Podman, не ломая свои скрипты и не меняя привычного порядка работы.

«Podman в действии» познакомит вас с менеджером контейнеров Podman. Простые объяснения и примеры позволят быстро разобраться с тем, что такое контейнеры, как они работают и как управлять ими. Вы получите глубокие знания об используемых Podman компонентах Linux и даже узнаете больше о Docker. Особенно ценны соображения автора Дэна Уолша по поводу безопасности контейнеров.

Для разработчиков и системных администраторов, имеющих опыт работы с Linux и Docker.
Читать дальше →
Всего голосов 4: ↑6 и ↓-2+8
Комментарии0

Истории

Простой способ создания самодельных витражей с помощью ЧПУ-станка

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров544
Картинка Vecstock, Freepik

Сегодня поговорим о такой интересной технике оформления стёкол, как витраж, а также попробуем прикинуть, как нам создать его минимальными усилиями!
Читать дальше →
Всего голосов 7: ↑10 и ↓-3+13
Комментарии0

ClearML Data Management

Время на прочтение15 мин
Количество просмотров190


Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться и воспроизведутся ли при этом результаты экспериментов. Для всех перечисленных задач есть множество различных инструментов: DVC, MLflow, W&B, ClearML и другие. Git использовать недостаточно, потому что он не был спроектирован под требования ML. Но есть инструмент, который подходит для версионирования данных и не только — это ClearML. О нем я сегодня и расскажу.

Читать дальше →
Всего голосов 12: ↑13.5 и ↓-1.5+15
Комментарии0

Sun Microsystems: легенда Кремниевой долины, совершившая революцию и канувшая в Лету

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров628

Sun Microsystems произвела настоящую революцию в сфере вычислительной техники. Всего за десять лет она из небольшого стартапа превратилась в лидера отрасли, выпустила более 10 млн устройств и вошла в рейтинг крупнейших мировых компаний Fortune Global 500. Рассказываем, как ей это удалось и почему победа над конкурентами сменилась поражением и привела к поглощению некогда флагмана IT-сектора. 

Читать далее
Всего голосов 6: ↑5.5 и ↓0.5+5
Комментарии2

REST API на котиках

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров681

Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.

С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)

Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Attaque a-la russe: атака с помощью промт-инъекций русскоязычных моделей семейства Saiga2

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров177

Насколько хорошо защищены открытые большие языковые модели от генерации вредоносного контента? Рассмотрим механизмы атаки с промт-инъекцией на большие языковые модели, а так же рекомендации по защите от них.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Как мы используем владение кодом в нашем проекте

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров334

Привет, Хабр! Концепция Code Ownership известна уже много лет. Если за код никто не отвечает, то изменения добавляются неконтролируемо, и со временем код превращается в месиво, в котором очень тяжело разобраться и с которым никто не хочет связываться. Такой код является вечным источником дефектов, замедляет добавления новых фич и служит демотиватором для всех, кто с ним взаимодействует. Хочу рассказать как мы реализуем владение кодом в нашем проекте и какую пользу это нам приносит.

Читать далее
Всего голосов 3: ↑2.5 и ↓0.5+2
Комментарии0

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров940

На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно организовать самостоятельно.

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

Если вам покажется, что в чем-то я ошибаюсь, добро пожаловать в комментарии. Буду рад услышать любые альтернативные точки зрения. Кроме, как я уже отметил в заголовке, рекомендации переписать все на Go/Rust/You name it :) Этот холивар мы уже проходили.

Читать далее
Всего голосов 23: ↑24.5 и ↓-1.5+26
Комментарии2

Куда пойти на майские в Калининградской области: IT-фестиваль KODE Waves в Светлогорске

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров310

Впереди две недели долгожданных майских праздников и мы знаем, куда вам отправиться 10 мая: на IT-фестиваль KODE Waves в Калининградской области. Почему на него стоит приехать — узнали у программного директора Алексея Гладкова.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

8. Nix в пилюлях: Универсальные скрипты сборки

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров209

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

Люка Бруно продолжает свой захватывающий рассказ.

Читать далее
Всего голосов 1: ↑2 и ↓-1+3
Комментарии0

Ближайшие события

Кошмар нефалема. Исследуем ошибки в коде эмулятора сервера Diablo 3

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров628

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

Читать далее
Всего голосов 5: ↑6 и ↓-1+7
Комментарии2

Как настроить ETL с json’ами в Apache NiFi

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров319

Привет, Хабр! Меня зовут Сергей Евсеев, сегодня я расскажу, как в Apache NiFi настраивается ETL-пайплайн на задаче с JSON’ами. В этом мне помогут инструменты Jolt и Avro. Пост пригодится новичкам и тем, кто выбирает инструмент для решения схожей задачи.

Что делает наша команда

Команда работает с данными по рекрутингу — с любой аналитикой, которая необходима персоналу подбора сотрудников. У нас есть различные внешние или внутренние источники, из которых с помощью NiFi или Apache Spark мы забираем данные и складируем к себе в хранилище (по умолчанию Hive, но есть еще PostgreSQL и ClickHouse). Этими же инструментами мы можем брать данные из хранилищ, создавать витрины и складывать обратно, предоставлять данные внутренним клиентам или делать дашборды и давать визуализацию.

Описание задачи

У нас есть внешний сервис, на котором рекрутеры работают с подбором. Сервис может отдавать данные через свою API, а мы эти данные можем загружать и складировать в хранилище. После загрузки у нас появляется возможность отдавать данные другим командам или работать с ними самим. Итак, пришла задача — нужно загрузить через API наши данные. Дали документацию для загрузки, поехали. Идем в NiFi, создаем пайплайн для запросов к API, их трансформации и складывания в Hive. Пайплайн начинает падать, приходится посидеть, почитать документацию. Чего-то не хватает, JSON-ы идут не те, возникают сложности, которые нужно разобрать и решить.

Ответы приходят в формате JSON. Документации достаточно для начала загрузки, но для полного понимания структуры и содержимого ответа — маловато. 

Мы решили просто загружать все подряд — на месте разберемся, что нам нужно и как мы это будем грузить, потом пойдем к источникам с конкретными вопросами. Так как каждый метод API отдает свой класс данных в виде JSON, в котором содержится массив объектов этого класса, нужно построить много таких пайплайнов с обработкой разного типа JSON’ов. Еще одна сложность — объекты внутри одного и того же класса могут отличаться по набору полей и их содержимому. Это зависит от того, как, например, сотрудники подбора заполнят информацию о вакансии на этом сервисе. Этот API работает без версий, поэтому в случае добавления новых полей информацию о них мы получим только либо из данных, либо в процессе коммуникации.

Читать далее
Всего голосов 2: ↑2.5 и ↓-0.5+3
Комментарии1

Lane margining: как оценить качество PCIe-соединения без дополнительной аппаратуры

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров806

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

Долгое время без специального дорогостоящего инструмента нельзя было убедиться в устойчивости линка: что он не пропадает при малейших воздействиях температуры, влажности или любопытных лапок. То есть нелегко было узнать количественный запас по уровню сигнала, насколько он близок к границе потери различимости физических уровней — а значит, и разрыва соединения. Эта безнадежная ситуация изменилась с появлением четвертого поколения стандарта PCIe.

Читать далее
Всего голосов 13: ↑15.5 и ↓-2.5+18
Комментарии0

Как инженеры GitHub используют GitHub Copilot: 4 способа

Время на прочтение4 мин
Количество просмотров667


Узнаем, как GitHub Copilot повышает эффективность работы инженеров из GitHub, позволяя автоматизировать повторяющиеся задачи, сохранять концентрацию и многое другое.
Читать дальше →
Всего голосов 8: ↑5.5 и ↓2.5+3
Комментарии1

Greenplum, NiFi и Airflow на страже импортозамещения: но есть нюансы

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров341

В статье описывается практическое применение популярных Open-Source технологий в области интеграции, хранения и обработки больших данных: Apache NiFi, Apache Airflow и Greenplum для проекта по аналитике учета вывоза отходов строительства.

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

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Векторизация амебы

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров331

Этот текст написан для владеющих минимальными навыками работы в Матлаб. Из математики нам потребуются некоторые материалы из учебников по Информатике для 10 и 11 классов. Мы попытаемся совместно написать программу векторизации некоторых изображений.

/

1. Предварительная обработка.

Мы будем векторизовать вот это изображение амебы:

 

Читать далее
Всего голосов 1: ↑1.5 и ↓-0.5+2
Комментарии0

Это база: нюансы работы с Redis. Часть 2, репликация

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров569

Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0
1
23 ...