Pull to refresh
2
0
Ярослав @ROXTON

django разработчик

Send message

Нагрузи меня, Gatling

Level of difficultyMedium
Reading time16 min
Views1.5K

Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. Если решитесь продолжать, то Вас ждет длинное чтиво. Результатом потраченного времени и внимания будет понимание того, зачем нужно нагрузочное тестирование, с чего начать, куда двигаться дальше и шаблонный проект нагрузочных тестов, который Вы сможете адаптировать под себя. Все используемые мной технологии в этой статье несут печать Java экосистемы. Это тоже может повлиять на то, решитесь ли Вы продолжать. Поехали ...

Читать
Total votes 3: ↑4 and ↓-1+5
Comments2

Backup. Файловое резервное копирование бюджетного VPS

Level of difficultyEasy
Reading time6 min
Views1.9K

Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуются. Достаточно восстановить работоспособность за пару часов или хотя бы пару дней. В общем, в поиске нужной статьи мне не особо повезло. Зато в комментах оказались интересные находки. Попробовав некоторые из них, в итоге остановился на описанном ниже варианте. Настроил и забыл. В качестве облачного хранилища ранее был выбран Storj. Но недавно они превратили бесплатные аккаунты в триальные. Пришлось отказаться, пересесть на Mega и освежить в памяти настройки. Заодно и выложить сюда. Надеюсь, кому-то тоже пригодятся.

TL;DR Статья состоит из настройки rsnapshot, rclone и небольшого скрипта автоматизации.

Читать далее
Total votes 5: ↑6 and ↓-1+7
Comments24

Полный гайд о стиле для IT-специалистов: как выглядеть актуально и чувствовать себя комфортно

Level of difficultyEasy
Reading time7 min
Views35K

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

Читать далее
Total votes 181: ↑86.5 and ↓94.5-8
Comments350

Регистрация компании в Катаре

Reading time24 min
Views785

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

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

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

Как провести фаззинг REST API с помощью RESTler. Часть 3

Reading time9 min
Views743

Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В прошлых статьях, посвященных фаззингу REST API, мы рассказывали о методе Stateful REST API Fuzzing и настройках инструмента RESTler. Сегодня мы поговорим о режимах тестирования, аннотациях, проблемах при подготовке и проведении фаззинга API и способах их решения. Статья написана в соавторстве с инженером по безопасности Артемом Мурадяном @TOKYOBOY0701.

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

Процесс учреждения предприятия в Объединенных Арабских Эмиратах за три этапа: путеводитель по созданию фирмы в Эмиратах

Reading time18 min
Views751

Каковы выгоды от запуска бизнес-деятельности в Объединенных Арабских Эмиратах, какие действия необходимо осуществить для легализации фирмы и как произвести открытие счета в местных банковских учреждениях.

Объединенные Арабские Эмираты ‒ страна, которая активно развивается с привлекательной для инвесторов средой. В последнее время страна обрела популярность для учреждения компаний бизнесменами из разных стран, вызвав увеличенный интерес к процессу официальной регистрации бизнеса на ее территории.

В этом обзоре мы подробно изучим ключевые преимущества данной юрисдикции и дадим пошаговую инструкцию по созданию компании в ОАЭ.

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

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1

Reading time12 min
Views9.9K

Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения отказоустойчивых кластеров, а Михаил — анализом производительности СУБД. У каждого за плечами более десяти лет опыта в своей области.

Порассуждаем о том, как развивалась технология «Мультимастер» в экосистеме PostgreSQL, остановимся на том, что она из себя представляет, на каких внутренних механизмах PostgreSQL основана и как её можно использовать.

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

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

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2

Reading time11 min
Views4K

Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта в своей области.

В первой части статьи «Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL» мы посмотрели как развивалась технология «Мультимастер» в экосистеме PostgreSQL. Обсудили существует ли «Честный Мультимастер», какие у него реализации и как его следует применять. Теперь поговорим о надёжности хранения данных.

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

PostgreSQL 17: Часть 4 или Коммитфест 2024-01

Level of difficultyMedium
Reading time11 min
Views4.2K


Весна уже в разгаре, а мы вспомним горячие новости самого зимнего, январского коммитфеста. И сразу начнем с козырей.


Предыдущие статьи о 17-й версии: 2023-07, 2023-09, 2023-11.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments2

Как работает multiprocessing в Python под капотом

Level of difficultyHard
Reading time12 min
Views7.3K

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

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

Читать далее
Total votes 17: ↑17.5 and ↓-0.5+18
Comments2

Как эффективно самостоятельно изучать английский язык

Level of difficultyEasy
Reading time8 min
Views40K

Читатели Хабра, категорически вас приветствую! В этой статье я хочу поделиться с вами моделью эффективного изучения английского языка, которую я постарался сформировать исходя из своего n-летнего опыта его изучения.

Расскажу вам насколько это актуально, с чего начать, какие ресурсы и приемы использовать и как эффективно достичь результата.

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments27

Материаловедение кубита: как физически устроен центр принятия решений квантового компьютера?

Level of difficultyMedium
Reading time6 min
Views7.6K

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

Давайте вспомним самые основные моменты, которые тесно связаны с физикой работы кубита. Как это водится, стоит начать с полупроводников. Без этого не прочувствовать принципиальную разницу.

Материаловедение полупроводника

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

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

Материаловедение полупроводникового транзистора простое. Полупроводник проводит электрический ток только при определенных физических условиях и занимает место между диэлектриками и проводниками. Одним из условий проводимости для полупроводника является легирование - искусственное увеличение количества свободных электронов или вакантных мест для них.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments8

Советские и постсоветские НИИ и КБ как конвейер уничтожения ресурсов развития

Level of difficultyEasy
Reading time11 min
Views79K

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

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

В 2008 году я устроился ведущим инженером в НИИ Физических измерений, г. Пенза.

Для меня работа в этом НИИ была более чем знакома, я там работал с середины 80-х по середину 90-х. НИИФИ с момента своего создания было сосредоточено на создании датчиков и специализированной измерительной аппаратуры для космической отрасли.

Начало 2000-х характеризовалось тем, что цены на нефть поползли вверх, в государстве появились какие-то деньги, но одновременно стала происходить череда ярких и красочных неудач с нашими ракетами. И вопрос – а что же там происходит с нашими ракетами – создал на НИИФИ фокус ощутимого финансового потока.

Поскольку в этой организации работает куча людей, связанных между собой родственными связями, то, помимо официального молчания по всем щепетильным вопросам, организация была пронизана слухами, что у нас общий бюджет НИИ достиг сначала 0,7 (примерно 2008–2009), далее 0,9; потом 1,3; 2,1 и 2,7 (2012) миллиарда рублей.

Здесь можно задаться очень простым вопросом – а вот кто будет делать интеллектуальное наполнение проектов под эти в общем-то огромные финансовые потоки.

Читать далее
Total votes 306: ↑276.5 and ↓29.5+247
Comments512

Блок питания на 5 выходов

Level of difficultyMedium
Reading time3 min
Views5K

Для своих электронных поделок я использую самодельный регулируемый линейный блок питания на 30V 3A. Он собран на базе конструктора с AliExpress, но я добавил несколько доработок от себя. У него неплохие характеристики в плане уровня пульсаций и шума, но всего один выход. Когда я начинал проект с операционными усилителями мне потребовалось двухполярное питание. Тогда я использовал два аккумулятора формата 6F22 "Крона", включённых последовательно со средней точкой. Это хорошее решение если вам не нужен большой ток или напряжение (у аккумуляторов формата 9F22 максимально можно получить 8.4V, а в номинале 7.4V). Ну и аккумуляторы приходится периодически заряжать.

Когда пришло время соединить аналоговую часть с цифровой, пришлось использовать ещё и регулируемый блок питания для получения +5V. Всё собиралось на беспаечных макетках и не было одного выключателя чтобы отключить все питания разом. Да и напряжение +7.4V и -7.4V с аккумуляторов бывает недостаточно для операционных усилителей. Чтобы не городить батарею из аккумуляторов 18650 я решил собрать простенький линейный блок питания на 5 фиксированных напряжений: +12V, +5V, +3.3V, -5V и -12V. Такие же напряжения выдаёт компьютерный блок питания, но там есть пульсации и шумы из-за импульсного преобразователя. Для аналоговой части это бывает критично, а фильтровать помехи сложнее нежели изначально построить линейный блок.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments43

$2500 в месяц на сервисе с 1 функцией, которая уже была у крупных компаний

Level of difficultyEasy
Reading time5 min
Views50K

Разбираем, как разработчик создал простой продукт с выручкой $2500 в месяц, связав два популярных сервиса. Несмотря на то, что это уже было сделано до него крупными компаниями.

Читать далее
Total votes 95: ↑77 and ↓18+59
Comments39

Когда пишешь приложения для себя

Level of difficultyEasy
Reading time12 min
Views28K

require 'glimmer-dsl-libui'
include Glimmer
window('hello world').show

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

А как насчёт написать для своей семьи мобильное приложение? Это уже новый уровень.
Читать дальше →
Total votes 79: ↑77 and ↓2+75
Comments7

Аномальное смещение перигелиев без тензоров

Level of difficultyMedium
Reading time1 min
Views2K

Формулы для численного вычисления аномального смещения перигелиев без применения тензоров.
a - большая полуось орбиты в метрах
r_0 - гравитационный радиус Солнца в метрах (2953,25).
ε - эксцентриситет орбиты (Мерк. 0,20563593, Земля 0,01671123).

Интегралы не берущиеся.

Вычисление делается в электронной таблице за 500 шагов

через дельту = 0,0125663706143592 радиана.
Интегрирование по полному обороту.

L=a \int_{0}^{1} \sqrt{1-\varepsilon^2 \cos^2 (\varphi)} ~d (\varphi)

L1=\int_{0}^{1} a * \left (1- \frac{r_0}{a}\frac{(1- \varepsilon \cos (\varphi))}{(1-\varepsilon^2)}\right)^{-3/2} }*\sqrt{1-\varepsilon^2 \cos^2 ( \varphi)} ~d ( \varphi)

Смещение перигелия за сто лет в угловых секундах:

Δφsec= = \left(\frac{L_1 - L}{L} \right)

N — число оборотов планеты за сто лет.
Проверено для Меркурия (42,9) и Земли (3,8).
Проверка была и для двойных квазаров.

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

Формула получена на основе гипотезы опубликованной на странице https://beard-studio.website.yandexcloud.net/

Гипотеза по нашему времени крамольная, но мне нравится. Да и формула на её основе рабочая.

Читать далее
Total votes 20: ↑7 and ↓13-6
Comments48

Pgpool-II

Level of difficultyEasy
Reading time6 min
Views4.5K

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

Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их к соответствующим серверам БД согласно настроенным правилам и политикам.

Pgpool-II также поддерживает множественные режимы репликации, включая репликацию на уровне строки и репликацию на уровне транзакций. Репликация на уровне строки позволяет синхронизировать изменения данных между серверами в реальном времени, в то время как репликация на уровне транзакций сосредотачивается на синхронизации транзакций целиком.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments3

Американец построил огромного боевого робота в лесу

Level of difficultyEasy
Reading time12 min
Views95K

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

Для воплощения своей идеи этот упорный конструктор преодолел множество препятствий: сам придумал механизм, овладел мастерством сварки алюминия, лазерной резки, 3D-печати, создал уменьшенный прототип и построил такого. Его проект выделяется даже среди самых интересных устройств, созданных своими руками, про которые вы читали.

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

Читать далее
Total votes 77: ↑70 and ↓7+63
Comments127

Защищаем сервис от перегрузки с помощью HAProxy

Reading time13 min
Views6.6K

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

Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments0
1
23 ...

Information

Rating
Does not participate
Registered
Activity