Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Тестирование Spring Security

Reading time10 min
Views9K

Безопасность играет важную роль в программном обеспечении. В конечном итоге каждому необходимо повысить безопасность своего проекта. В этой статье мы рассмотрим, как протестировать аутентификацию и авторизацию приложений Spring Boot. Мы рассмотрим как приложения-сервлеты MVC, так и реактивные приложения WebFlux.

Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring WebTestClient.

Читать далее

Кодер умеет в пыху. Какие словечки бесят айтишников

Level of difficultyEasy
Reading time8 min
Views26K

Мы провели опрос и узнали, какие слова, словечки и высказывания раздражают IT-специалистов. Среди ответов есть неожиданные, но лидер вряд ли кого-то удивит. Как к этому всему относиться? Как к профессиональному жаргону, который есть в каждой специальности. Обычного человека скорее всего покоробят профессионализмы юристов и врачей, но для нас всех короткое и ёмкое слово — формулировка короткой и точной мысли. По крайней мере, очень хочется так думать ;-)

Читать далее

Пароли в открытом доступе: ищем с помощью машинного обучения

Level of difficultyMedium
Reading time18 min
Views11K

Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. 

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

Привет, меня зовут Александр Рахманный, я разработчик в команде информационной безопасности в Lamoda Tech. В этой статье поделюсь опытом, как мы ищем в корпоративных ресурсах чувствительные данные — пароли, токены и строки подключения — используя самописный ML-плагин. Рассказывать о реализации буду по шагам и с подробностями, чтобы вы могли создать такой инструмент у себя, даже если ML для вас — незнакомая технология.  

Читать далее

Автоматический Wi-Fi выключатель и как с его помощью спасти дом от повреждений

Level of difficultyMedium
Reading time5 min
Views23K


Автоматические выключатели рычажного типа необходимы для защиты электропроводки и подключенного к нему оборудования. Но с развитием технологий появились WiFi автоматы которые предлагают еще больше комфорта и возможностей. В данном материале будет описываться мой опыт применения автоматического выключателя с управлением через Wi-Fi.
Читать дальше →

Восстановление старых компьютеров: кому это надо

Level of difficultyEasy
Reading time6 min
Views21K

Лаборатория по восстановлению старых компьютеров PCOfficina, фото из презентации волонтёрской организации

Детские дома, сельские школы и другие учреждения образования и социальной защиты не всегда могут позволить себе купить современную технику. В то же время ПК довольно старой конфигурации отлично тянут десктопный Linux, так что дети могут осваивать свободную ОС и учиться программировать. По серии статей «Выдающиеся программисты 21 века» можно убедиться: 90% героев рубрики начинали компьютерную жизнь в Линуксе и до сих пор работают в нём, потому что для разработчика нет ничего удобнее.
Читать дальше →

Обучающие игры для разработчиков: кодим, играя

Reading time4 min
Views20K

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

Читать далее

Большая шпаргалка по Rust. 2/2

Level of difficultyMedium
Reading time39 min
Views11K



Hello world!


Представляю вашему вниманию вторую часть большой шпаргалки по Rust.


Первая часть.


Другой формат, который может показаться вам более удобным.


Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить 😉


Также настоятельно рекомендуется хотя бы по диагонали прочитать замечательный Учебник по Rust (на русском языке).

Читать дальше →

Начало работы с Axum — самым популярным веб-фреймворком Rust

Level of difficultyMedium
Reading time11 min
Views19K


Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum все больше набирает обороты. В этой статье мы немного погрузимся в Axum — веб-фреймворк для создания REST API на Rust, разрабатываемый командой Tokio. Он прост в использовании и хорошо совместим с Tower — надежной библиотекой для создания модульных компонентов сетевых приложений.


В этой статье мы подробно рассмотрим, как использовать Axum для создания веб-сервиса. Кроме того, мы рассмотрим изменения, которые произошли в версии 0.7.

Читать дальше →

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика

Level of difficultyMedium
Reading time18 min
Views5.3K

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

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

Читать далее

Как языковая модель предсказывает следующий токен (часть 1)

Reading time27 min
Views8.4K

Я обучил небольшой (порядка 10 миллионов параметров) трансформер по превосходному туториалу Let’s build GPT: from scratch, in code, spelled out Андрея Карпати. После того, как он заработал, я захотел максимально глубоко понять, как он устроен внутри и как создаёт свои результаты.

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

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

Если вы знакомы с трансформерами и хотите сразу узнать вывод, то он таков: каждый блок трансформера (содержащий слой многоголового внимания и сеть с прямой связью) изучает веса, связывающие конкретный промт с классом строк, найденных в обучающем корпусе. Распределение токенов, соответствующее этим строкам в обучающем корпусе, и есть приблизительно то, что блок выводит как прогноз для следующего токена. Каждый блок может ассоциировать один и тот же промт со своим классом строк обучающего корпуса, что приводит к другому распределению следующих токенов, а значит, и к другим прогнозам. Окончательный результат работы трансформера — это линейное сочетание прогнозов каждого блока.

Читать далее

Практическое руководство по Rust. 1/4

Level of difficultyMedium
Reading time21 min
Views30K



Hello world!


Представляю вашему вниманию первую часть практического руководства по Rust.



Другой формат, который может показаться вам более удобным.


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →

Как приручить нейросеть: практический опыт

Reading time5 min
Views45K

Итак, в прошлой статье я уже немного рассказывал о том, что с LLM можно работать и даже построить определенный RAG. Как и обещал, перейдем к практике! :)

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

Читать далее

10 продвинутых сниппетов Python, которые повысят ваши навыки программирования

Reading time3 min
Views18K

Универсальность и простота Python делают его любимцем среди разработчиков для различных задач, от веб-разработки до анализа данных и машинного обучения. Однако владение Python выходит за рамки понимания его синтаксиса; речь идет о написании эффективного, элегантного и читаемого кода. В этой статье мы рассмотрим 10 сниппетов Python, которые помогут вам кодировать как профессионал, улучшая ваши навыки программирования и продуктивности.

Читать далее

Защищаем SSH от брутфорса на любом порту

Reading time3 min
Views116K
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества:
— дает мне больше попыток для набора правильного пароля
— но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?
Читать дальше →

Hastebin: самый простой способ сохранения заметок и фрагментов кода

Reading time1 min
Views15K
Если вам не нравится стандартный pastebin или навороченный ideone.com, то опубликовать фрагмент кода можно и альтернативным способом. Знакомьтесь: Hastebin, веб-приложение с базовым функционалом pastebin, но в хакерском стиле. Просто вставьте текст и нажмите «Сохранить». Необязательно даже запускать браузер, потому что из Linux или OS X можно отправить текст на сервер командой из консоли (URL скопируется в буфер обмена).

Как говорится, сделано гиками для гиков: тут и минималистский интерфейс, похожий на терминал, и поддержка горячих клавиш:
Ctrl+S — сохранить
Ctrl+N — новый текст
Ctrl+D — сделать дубликат и редактировать
Ctrl+Shift+R — сохранить в plain text

Разумеется, есть подсветка синтаксиса, нумерация строк и всё остальное, что полагается подобному веб-приложению.
Читать дальше →

Где джуну оттачивать навыки программирования: 6 бесплатных ресурсов

Reading time3 min
Views74K

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

Читать далее

Очистка текста с помощью Python. Часть 1

Level of difficultyEasy
Reading time5 min
Views9.3K

Возьмем простейшую ситуацию, когда вы спарсили некоторые данные с Ф.И.О., номерами телефонов, email и именем пользователя с какого-либо сайта. Однако пользователи не особо любят соблюдать правила заполнения полей. Потому, иногда в Ф.И.О. присутствуют числа и различные символы, которые в дальнейшем затруднят поиск по таким данным. Да и номера телефонов могут быть записаны вразнобой. А потому, необходимо привести их к какому-то общему знаменателю. Следовательно, напрашивается логический вывод – данные необходимо очистить. Вот этим мы и займемся в данной статье.

Читать далее

Представляем приложение Microsoft Family Safety

Reading time5 min
Views6.7K

Автор статьи: Лиат Бен-Зур, корпоративный вице-президент, Modern Life, Search and Devices

Сегодня мы рады сообщить, что приложение Microsoft Family Safety, разработанное для защиты вашей семьи в цифровом и реальном мире, доступно для скачивания на iOS и Android.

В течение последних нескольких месяцев моя семья использовала предварительную версию приложения, и это полностью изменило нашу жизнь! В детстве у меня было два любимых занятия после школы — покататься на велосипеде и поиграть в футбол с друзьями во дворе. Сейчас мои дети все время проводят у экранов своих устройств: играют в видеоигры с друзьями, просматривают социальные сети или дистанционно учатся. Детям доступно больше информации и возможностей для общения. Это тревожит родителей. Я мать, и я хочу, чтобы мои дети могли самостоятельно учиться и расти, при этом я хочу позаботиться об их безопасности в цифровом и реальном мире. Сегодня я с радостью хочу рассказать вам о преимуществах приложения Microsoft Family Safety для семей, которые волнуются о безопасности своих детей в Интернете, а также о том, как это приложение помогает сформировать полезные привычки у детей и сохранить душевный покой родителей.

Под катом 5 основных преимуществ приложения Microsoft Family Safety, которые оказались полезны для нашей семьи.
Читать дальше →

Information

Rating
8,500-th
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity