Search
Write a publication
Pull to refresh
5
0

Специалист по БД

Send message

Приключение на 20 минут. Часть 1: автоматизируем запуск проектов в SoapUI

Level of difficultyMedium
Reading time8 min
Views2.2K

Всем привет, меня зовут Вероника Дюкарева. Я работаю старшим инженером-программистом в компании Bercut.

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

Вошли и вышли!

Docker для разработки C#

Reading time6 min
Views11K

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

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

Возможности Docker достаточно обширны, однако в данной статье хотелось бы остановиться на трех:

Читать далее

Мой сервер бэкапов

Reading time9 min
Views20K

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

В качестве железа выбрал старенький HP Microserver Gen7. Продавать большого смысла не видел, куда-то в продакшн ставить тоже — он почти на любой чих под 100% загружается, если какие-то сервисы вешать или просто в несколько потоков файлы по гигабитной сети копировать. А вот с простым хранением файлов он ещё справится.

Читать далее

Auth service без библиотек

Level of difficultyMedium
Reading time8 min
Views13K

О чем эта статья: статья посвящена схемам регистрации, аутентификации, авторизации пользователей в веб приложениях, смене паролей, отзыве токенов, и т. п. Мы также рассмотрим, как организовать хранение данных, обсудим, что такое JWT, коротко поговорим о «сервисе для отправки email»

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

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

Читать далее

Подробно про JWT

Level of difficultyMedium
Reading time6 min
Views49K

О чем эта статья: мы разберемся, что такое JSON Web Token, как он устроен и для чего используется, рассмотрим такие приемы, как «black-list токенов» и «контроль версий» токенов. Для наглядности, в конце будут блок-схемы клиент-серверных запросов с пояснениями.

Для кого эта статья: для тех, кто хочет детально понять что такое JWT, а так же для тех, кто просто ищет схему реализации.

Читать далее

Разбираемся, что такое S3 и делаем простое объектное хранилище на Go

Reading time11 min
Views53K

Привет, Хабр! С вами снова Матвей Мочалов из cdnnow!, и в этом посте мы не будем разбираться с FFmpeg - в этот раз наша рубрика «Эээээксперименты!» будет затрагивать объектные хранилища. Разберёмся, чем S3 отличается от S3, а также почему не всё то S3, что называется S3. А заодно эксперимента ради сделаем своё собственное простенькое объектное хранилище на любимом языке всех DevOps и SRE-инженеров – Go.

Читать далее

Решаем проблему блокировок (и YouTube) за 5 минут на роутере Mikrotik через контейнеры и без VPN

Level of difficultyMedium
Reading time12 min
Views173K

Всем привет! Это моя первая статья на хабре, которая точно кому-то пригодится в данное время. Здесь я расскажу как ускорить ютуб и разблокировать доступ к некоторым заблокированным ресурсам прямо на роутере Mikrotik и без VPN.

В моем случае используется MikroTik hAP ax3. Стоит упомянуть, что подойдут только роутеры с архитектурой ARM, ARM64 или x86 (CHR), которые и поддерживают контейнеры.

Кто подходит под эти условия, велком под кат)

Читать далее

PERQ: оживляем чудо из 1970-х

Level of difficultyMedium
Reading time5 min
Views4.1K

Рассказ про процесс оживления и запуска в эмуляторе еще одной легенды — первой коммерческой рабочей станции с графическим интерфейсом, существовавшей еще до моего рождения и никогда не поставлявшейся в СССР. В качестве бонуса выступает компилятор Pascal из 1970х.

Прикоснуться к истории

Давайте сделаем крупное приложение на Flask (язык Python)

Reading time18 min
Views26K

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее

Ловушка неинтересной работы

Level of difficultyEasy
Reading time5 min
Views21K

Привет, Хабр! В этой статье я хочу поделиться личным опытом попадания в ловушку неинтересной работы. Поначалу меня интересовали только деньги, и я подходил к работе с меркантильной точки зрения. Мне было неважно, чем именно заниматься, хоть в блокноте писать WCF сервисы.

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

Читать далее

Домашний сервер на базе Proxmox

Level of difficultyEasy
Reading time9 min
Views81K

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

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

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

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

Читать далее

Настройка Git сервера с нуля

Level of difficultyEasy
Reading time12 min
Views20K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее

Собираем полноценный NAS с 4 NVME дисками размером с небольшую книгу

Level of difficultyEasy
Reading time6 min
Views35K

Увидев видео про эту плату, я подумал, что она по сути может быть полноценной медиа приставкой, файлопомойкой и торрентокачалкой одновременно и при этом занимать место размером с маленькую книгу формата А5 и кушать 5 ватт в простое, работая 24/7. Вкусно!

На самом деле несмотря на маркетинг, нормальная комплектация стоит порядка 175 долларов (а не 100, плюс доставка и растаможка) и диски, естественно не входят в эту цену. Речь идёт про плату CM3588 на базе системы на чипе RK3588. Маркетинговая страничкаспецификациявики. Комплектов на алике очень много вариантов (с корпусами и всякими доп. железками) - выбирайте очень аккуратно.

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

Что получилось, что не получилось?

Повышаем безопасность домашнего сервера

Level of difficultyEasy
Reading time8 min
Views27K

Всем привет. Меня зовут Максим, и уже почти два года я содержу домашний сервер.

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

Обезвредить, защитить, усмирить

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

Level of difficultyMedium
Reading time14 min
Views14K

По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится больше времени, чем на его написание. Поэтому, разработчику нужно постоянно задаваться вопросом: не пишет ли он код, чтение которого создает чрезмерную когнитивную нагрузку?

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Полгода задает изощренные вопросы как начать программировать, но не написал даже Hello, world

Reading time3 min
Views50K

Я не понимаю, как на это реагировать. Некий товарищ полгода спрашивает у меня советы как начать с Verilog/FPGA/ASIC, но при этом ничего не начинает, хотя его вопросы становятся все более экзотическими. Чтобы было понятнее, опишу как бы это выглядело для программирования. Предположим к вам пришел молодой человек и спрашивает как научиться программировать. Вы ему говорите что-нибудь типа:

"Сесть за компьютер, написать и запустить программу Hello, world. Одновременно скачать книжку с описанием языка и базовых приемов и читать ее в общественном транспорте, перед сном и в приемной у зубного врача. Периодически садиться за компьютер, написать и отладить программы: сортировки массива, игры Жизнь, ханойских башень итд. С выводом на текстовый терминал, окно в GUI или веб-страницу - по вкусу. Далее вы поймете в какую сторону копать или не идти в это дело вообще."

Молодой человек вас горячо благодарит и уверяет как он сильно хочет стать настоящим программистом. Потом он Hello, world не пишет и никакой книжки читать не начинает, но последовательно спрашивает у вас:

Читать далее

Профиль Firefox для посещения Сбербанка и Рунета в целом

Level of difficultyEasy
Reading time4 min
Views9.8K

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

Как известно, некоторые российские госкомпании сейчас под санкциями, в том числе эмитентами сертификатов. Сбер уже перешёл на сертификаты от Минцифры. Ростелеком, вероятно, к ноябрю 2024 года тоже перейдёт. А CA Минцифры соответственно рукопожат только браузерами Яндекс Браузер и Atom.

У этой проблемы есть несколько решений.

Использовать Яндекс Браузер или Atom с уже установленными сертификатами Минцифры и горя не знать.

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

Использовать браузер Firefox с выделенным пользовательским профилем под Рунет.

Использовать виртуальное окружение для любимого браузера с нелюбимым сертификатом Минцифры. (не могу найти ту публикацию).

Запускать браузер от имени другого пользователя.

Статья собственно о третьем методе.

Читать далее

Микросети: настройка коммутации

Level of difficultyMedium
Reading time7 min
Views18K

Привет, читатель!

У меня в квартире есть множество вещей, которым требуется постоянный доступ к локальной сети и интернету. Планируя ремонт, я учел подключение приставок, телевизоров и ПК по кабелю для стабильности. Однако такой вариант ограничивается возможностями маршрутизатора, который в лучшем случае имеет до десяти портов. Мне же их нужно не менее 11, а для некоторых устройств необходимо POE. Кроме того, для надежного соединения ноутбуков, телефонов и портативных приставок стандартом стали Wi-Fi зоны 5 ГГц.

Чтобы это все реализовать, я подключил и настроил коммутатор и точку доступа, которые когда-то покупал для экспериментов. В статье привожу описание настроек. Это решение легко масштабировать на небольшую компанию. Нужно лишь добавить несколько коммутаторов уровня агрегации и доступа, а также точки доступа для покрытия всей территории.
Читать дальше →

Best Practices по подключению к сторонним API в проекте

Level of difficultyMedium
Reading time6 min
Views18K

При разработке больших web-проектов нам часто приходится взаимодействовать с API сторонних или внутренних микросервисов. Когда количество таких взаимодействий растёт, настройки вызовов к другому API и подробности самих вызовов кратно множатся и могут растекаться по проекту.

В Домклике у нас микросервисная архитектура, и каждому сервису приходится взаимодействовать с десятком других. Чтобы межсервисное взаимодействие было предсказуемым, надёжным, удобным и отслеживаемым, мы следуем ряду практик при разработке, и в этой статье я расскажу вам о них.

Узнать лучшие практики

Установка и настройка Samba с доменной авторизацией и аутентификацией (файловый сервер)

Level of difficultyEasy
Reading time4 min
Views24K

Статья чисто для того, чтобы молодые коллеги, которые столкнутся с подобной задачей, могли быстрее с ней справиться. Всю информацию по развёртыванию брал почти только из оф. документации Samba, ибо русскоязычные статьи скудны и неинформативны.

Всё описанное ниже можно даже назвать листингом по настройке. Создана статья с целью привести последовательность действий по базовой настройке на русском языке, т.к. не все могут сходу разобраться в англоязычной документации (понятное дело, можно сразу идти в официальную документацию Samba и там рыться)

Новичкам и критикам, как говорится, welcome!

Читать далее

Information

Rating
6,628-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Developer
ASP.NET Web API
PostgreSQL
Git