Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Как правильно писать тесты? Часть 1

Level of difficultyMedium
Reading time2 min
Views7.1K

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

Обсудим три базовых подхода к тестированию чего‑либо в программе:

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

Python: как переменные работают на самом деле? Погружаемся в байткод и C

Level of difficultyHard
Reading time8 min
Views15K

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

Сегодня я хочу рассказать, как на самом деле работают переменные в CPython.

Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).

Читать далее
Total votes 44: ↑43 and ↓1+58
Comments6

Методы моделирования атак на основе сценариев использования

Reading time9 min
Views2.7K

Привет! Меня зовут Даниил Нейман, я работаю в Positive Technologies в направлении развития инициатив ИБ-сообществ, где я активно занимаюсь поддержкой и развитием open-source-проектов и сообществ. Одна из наших целей — продвижение обмена знаниями между специалистами в области информационной безопасности.

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

Методы моделирования атак (attack modelling techniques), или AMT, используются для моделирования и визуализации последовательности событий, приводящих к успешной кибератаке на системы. Их можно разделить на три категории: 1. методы, основанные на диаграммах сценариев использования, 2. темпоральные методы (акцент на хронологическом порядке и последовательности событий в кибератаке) и 3. методы, основанные на графах.

В этой статье расскажу про первую категорию методов — на основе сценариев использования (use case methods).

Подробности
Total votes 10: ↑10 and ↓0+16
Comments0

Как создать игру «Армия големов» в Minecraft – программирование на Python для детей

Level of difficultyEasy
Reading time4 min
Views4.2K

Хотите сделать мод на големов в игре «Майнкрафт»? В этом поможет язык Python. Предлагаем начинающим мододелам использовать его по представленной инструкции, чтобы разобраться, как создать игру «Армия големов». Урок предназначен для детей 9–10 лет и старше.

«Дети не умеют писать код». «Им это не интересно». «IT — не детская, а взрослая тема». Это ложные установки, хотя они и имеют место. Мы считаем, что детей, увлеченных геймингом, нетрудно сделать начинающими программистами: на примере популярной игровой вселенной Minecraft это возможно благодаря языку Python. С его помощью даже младшие школьники могут создавать собственные моды для популярной инди‑игры в жанре песочницы.

А мы предлагаем нашим читателям разобраться, как создать собственный проект на «Питоне» и запустить его в Minecraft. Будет просто и интересно: нами подготовлена краткая инструкция, а в конце представлен видеоролик, в котором наглядно и с примерами описаны основные шаги.

Приступим?

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

Программирование на C в Linux на примере создания командной оболочки: часть 2

Level of difficultyMedium
Reading time55 min
Views8.1K

Я решил недавно улучшить свой навык владения C, путем написания проектов. Самая первая мысль, которая пришла мне на ум — это командный интерпретатор, командная оболочка, shell проще говоря. А также я расскажу о системе сборки make, и о том, как правильно писать и документировать C-код.

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

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

Читать далее
Total votes 25: ↑24 and ↓1+33
Comments12

Ассемблер для программистов на языках высокого уровня: Hello World

Level of difficultyMedium
Reading time6 min
Views25K

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

Рассмотрим следующий код:

section .data
  msg db "Hello, World!"

section .text
  global _start

_start:
  mov rax, 1
  mov rdi, 1
  mov rsi, msg
  mov rdx, 13
  syscall

  mov rax, 60
  mov rdi, 0
  syscall

К счастью, по второй строке мы можем понять, что он делает.

Здесь нет ничего привычного нам: мы не видим ни условных операторов, ни циклов, нет никакого способа создавать функции… Да даже у переменных нет имён!

С чего же вообще начать?

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

Завершив прочтение этого руководства, вы сможете ориентироваться в ассемблерном коде, будете знать, где искать информацию, и даже сможете самостоятельно писать простые программы.
Читать дальше →
Total votes 61: ↑57 and ↓4+69
Comments41

Делаем нагрузочные тесты за 5 минут (ну почти)

Level of difficultyEasy
Reading time5 min
Views5.1K

Всем привет! Нагрузочные тесты за 5 минут (ну почти).

Не так давно делился историей о том, как решали проблему E2E автотестов в маленьком проекте. Продолжим историю).

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

Программирование для детей 10 лет: с чего начать

Level of difficultyEasy
Reading time8 min
Views6.7K

Стоит ли обучать ребенка программированию в десять лет? Однозначно да, если он интересуется темой. Но мы не настаиваем, а хотим рассказать о популярных и распространенных направлениях, которые часто становятся основами онлайн-курсов программирования для детей 10 лет.

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

Давайте перейдем к сути и рассмотрим 6 основных направлений, связанных с кодингом, а также 3 дополнительных, которые подойдут, если программирование не интересует или кажется слишком сложным.

Читать далее
Total votes 23: ↑11 and ↓12+3
Comments19

Полноценный API на Django REST Framework: легкая разработка, автодокументация и быстрый деплой

Level of difficultyEasy
Reading time17 min
Views7.5K

Сегодня мы погрузимся в процесс создания собственного API на Django с использованием мощного инструмента — Django REST Framework (DRF). Этот фреймворк предоставляет полный набор инструментов для разработки API: маршрутизация, сериализация данных, обработка запросов и формирование ответов. DRF значительно упрощает взаимодействие с клиентами через HTTP, поддерживая такие методы, как GET, POST, PUT и DELETE.

Однако, в отличие от FastAPI, Django REST Framework не включает встроенный инструмент для автодокументирования API. Мы легко решим эту задачу, воспользовавшись расширением drf‑spectacular, которое генерирует спецификации API в формате OpenAPI 3.0. Это позволит интегрировать интерфейсы, такие как Swagger и Redoc, для удобного тестирования и наглядной визуализации документации.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments16

Администрирование PostgreSQL для начинающих (часть 1)

Level of difficultyEasy
Reading time33 min
Views17K

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

Читать далее
Total votes 16: ↑12 and ↓4+10
Comments29

Mojo: убийца Python и будущее Ai?

Level of difficultyEasy
Reading time8 min
Views13K

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft, и сегодня мы погрузимся в Mojo. Я уже делал обзор данного языка программирования и рассмотрел его преимущества, примеры использования, а также провел сравнение с Python.

Теперь давайте посмотрим, как обучить простую сверточную нейронную сеть, и разберём один из методов машинного обучения — линейную регрессию. В качестве примеров задач возьмем стандартные соревнования машинного обучения: предсказание стоимости жилья и классификацию рукописных цифр MNIST. Для проведения экспериментов на Python используем фреймворк машинного обучения PyTorch. А на Mojo — фреймворк машинного обучения Basalt.

Читать далее
Total votes 14: ↑10 and ↓4+12
Comments5

Оптимизация, которая невозможна в Rust

Level of difficultyHard
Reading time15 min
Views17K

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

Читать далее
Total votes 37: ↑36 and ↓1+43
Comments4

Использование подчеркивания в коде на Python

Level of difficultyEasy
Reading time13 min
Views9.9K

Подчёркивание _ — это символ, который используются в именах в коде на Питоне. Он влияет на то, как код работает и как код читают. Знания о том, куда поместить подчёркивание, помогает писать код.

Читать далее
Total votes 19: ↑19 and ↓0+24
Comments13

Автоматизация тестирования: 3 ошибки в начале обучения и как их избежать

Level of difficultyEasy
Reading time4 min
Views4.7K

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

Привет! Я Дима Синицын, лид команды тестирования и наставник на курсе «Автоматизатор тестирования на Java». Я заметил, что студенты часто совершают одинаковые ошибки, которые легко избежать. Рассказываю об этом в статье.

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

Python для школьников: 25 бесплатных видеоуроков

Level of difficultyEasy
Reading time9 min
Views12K

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

В обучении Python не так сложен, как, например, Java или С++, и поэтому отлично подходит для школьников даже раннего возраста (10-11 лет). Уроки программирования на Python не только научат ребенка писать код на этом языке, но и дадут понимание, как в целом устроено программирование, что такое циклы, операции, условия, генерации и другие термины.

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

Сначала собраны ролики для новичков, где можно познакомиться с самим языком и научиться писать простые программы. Затем вы можете посмотреть мини-видеокурс по созданию проектов: ботов, нейросети, игр и др. Все видеоуроки доступны на видеохостингах: YouTube, Rutube, ВК, Дзен.

Читать далее
Total votes 15: ↑10 and ↓5+9
Comments4

На Alibaba можно купить станок для изготовления алмазов за $200 000

Level of difficultyEasy
Reading time4 min
Views18K

В эпоху, когда в Интернете можно купить практически всё, что угодно, нет ничего удивительного в том, что на китайском сайте электронной коммерции Alibaba можно приобрести станок для изготовления бриллиантов за $200 000. Если вы, как и я, не обращали внимания на алмазную промышленность, то окажется, что доступность этих машин отражает постоянную тенденцию к демократизации производства алмазов — процесс, начавшийся несколько десятилетий назад и продолжающий развиваться.

Читать далее
Total votes 22: ↑18 and ↓4+21
Comments24

Лидерство в тестировании: тестирование сервисов

Level of difficultyMedium
Reading time9 min
Views2.6K

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

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

Руководство по нагрузочному тестированию для начинающих

Reading time11 min
Views5.3K

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

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

Как настроить автодополнение для команды ssh с хостами из .ssh/config

Level of difficultyMedium
Reading time5 min
Views7.1K

Я администрирую много серверов и параметры подключения к ним занесены в ~/.ssh/config файл. В этой статье я расскажу, как настроить автодополнение для команды ssh, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config.

Читать далее
Total votes 30: ↑28 and ↓2+33
Comments17

Бесплатный домен с HTTPS для локальных приложений: универсальное руководство с примером на Flask

Level of difficultyEasy
Reading time7 min
Views12K

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

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

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments9

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity