Нагрузочное тестирование API без использования UI
В этой статье поговорим о Нагрузочном тестировании при помощи JMeter-Java-Dsl и реализуем наш первый нагрузочный тест для API с генерацией динамических значений.
User
Нагрузочное тестирование API без использования UI
В этой статье поговорим о Нагрузочном тестировании при помощи JMeter-Java-Dsl и реализуем наш первый нагрузочный тест для API с генерацией динамических значений.
В конце марта 2022 года в СМИ и профильных изданиях начали появляться заметки о том, что группа независимых разработчиков работает над альтернативой социальной сети Instagram**. Приложение получило название Now (читается как «Нау») и тогда было доступно только в виде тестовых сборок для Android и iOS. Сейчас Now уже официально вышло в App Store, Google Play, RuMarket, и в ближайшее время ожидается релиз в AppGallery. Менее чем за месяц аудитория Now преодолела отметку в 200 тыс. пользователей, ежедневно регистрируется более 4 тыс.
Редакции Хабра удалось пообщаться с командой Now, узнать об истории создания приложения, внутренней кухне и планах. Список вопросов к разработчикам мы формировали на основе комментариев пользователей Хабра и собственных интересов.
Дальше создаю серверное ядро на языке Rust, в данной часте был сделан переход с Go и добавлено несколько интересный изменений.
Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)
Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft.
Конкретно в этой части статьи будет рассматриваться основные понятия об Minecraft, мультиплеере и почему решил сделать такое. Так же сделаем основу сервера, который пока будет поддерживать Ping-Pong List
В этой статье на примере простого приложения будут описаны подготовка и развертывание инфраструктуры для локальной разработки с Kubernetes и последующий запуск проекта в этом окружении.
Зачем это может понадобиться? Предоставляя услуги поддержки инфраструктуры нашим клиентам, нам часто приходится искать баланс между эффективностью и затраченными ресурсами. Когда есть потребность в нескольких рабочих окружениях для разработчиков (stage, dev, test, review и т.п.), как правило, ограничивающим фактором в их реализации являются деньги. Поэтому для решения такой задачи — в дополнение к динамическим окружениям (или вместо них) — задействуются локальные окружения прямо на рабочих местах разработчиков, о которых и пойдет речь далее.
Статья посвящена так называемым review-окружениям, реализуемым в рамках кластеров Kubernetes. Ранее эта тема затрагивалась, например, в нашем докладе «Лучшие практики CI/CD с Kubernetes и GitLab», но не была там основной темой, поэтому раскрывалась не во всех деталях. Попробую восполнить этот пробел, рассказав, для чего нужны и/или обычно используют review-окружения, как сделать pipeline c review-окружением в GitLab CI/CD, какие могут быть потенциальные проблемы и способы их решения.
Сложно в одном тексте описать всё необходимое для разработки даже самого простого навыка для Алисы с одной стороны. А с другой стороны, показать разработку на serverless-стеке так, чтобы и новичку было не так сложно и заядлому девелоперу было не скучно. Но попробую осилить эту задачу, написав навык на Go. и будет у меня семейный список дел.
В эпоху, когда крупные компании используют более 500 микросервисов одновременно, важно иметь возможность быстро выяснить, из-за чего произошел сбой или снизилась производительность. Без специализированных инструментов это может быть похоже на поиск соломинки в стоге сена.
Распределённая трассировка (Distributed Tracing) - это метод, используемый для мониторинга приложений. Для микросервисов он просто незаменим.
В качестве примера мы будем использовать приложение Meow-Micro , специально созданное для этой статьи. Но вы можете развернуть собственные приложения, если захотите.
Одна из важных задач при работе с Kubernetes - рациональное распределение ресурсов. Для этого необходимо правильно назначать контейнерам лимиты(limits) и запросы (requests). Но это не всегда простая задача.
Может возникнуть ситуация, при которой, вы зарезервировали намного больше ресурсов, чем необходимо приложению, потому что хотите избежать проблем связанных с исчерпывается памяти в контейнерах или возникновения троттлинга ЦП. В таком случае вам придётся оплачивать неиспользуемые ресурсы. Учтите, что планировщику Kubernetes будет сложнее найти подходящий узел для таких рабочих нагрузок.
Эта статья поможет разобраться, как быстро находить неиспользуемые ресурсы с помощью PromQL.
Одним из нововведений в Go 1.9 было добавление в стандартную библиотеку нового типа sync.Map, и если вы ещё не разобрались что это и для чего он нужен, то эта статья для вас.
Для тех, кому интересен только вывод, TL;DR:
если у вас высоконагруженная (и 100нс решают) система с большим количеством ядер процессора (32+), вы можете захотеть использовать sync.Map вместо стандартного map+sync.RWMutex. В остальных случаях, sync.Map особо не нужен.
Если же интересны подробности, то давайте начнем с основ.
Пока Vue3 официально еще не вышел, а продакшене в основном 2 версия - я хочу поговорить о типизации и том, что она все еще не идеальна во Vue. И сегодня мы попробуем создать идеальное приложение с типизацией на typescript сделав упор на code style, пропагандируя vue style guide и прочие обычно не значащие вещи, которые были придуманы умными людьми!
GET /api/products?page=10
{"items": [...100 products]}
GET /api/products?page=11
{"items": [...another 100 products]}
CS193P
по разработке приложений на iOS
, который читает профессор Пол Хэгерти. CS193P
«Developing Application for iOS with SwiftUI» («Разработка приложений для iOS с использованием SwiftUI») были прочитаны студентам Стэнфорда с ориентацией на новый продукт, предоставленный Apple
разработчикам в 2019 г, — фреймворк SwiftUI
для разработки реактивного пользовательского интерфейса (UI). На сайте курса вы найдете материалы, которые были предоставлены студентам Стэнфорда в течение весеннего семестра 2020 г.: ссылки на видео, слайды, домашние задания и код демонстрационных примеров. Русскоязычный конспект курса представлен здесь.SwiftUI
— это совершенно новая вещь, которой было всего несколько месяцев от роду на момент прочтения лекций. Но это самый передовой край технологий, которые, наконец, добрались до разработки приложений на iOS
. В июне 2020 г. состоялась международная конференция разработчиков Apple WWDC
и там была представлена следующая версия SwiftUI 2.0
. Изменения в версии SwiftUI 2.0
отражены на сайте курса на закладке WWDC
.Привет Хабр.
Однажды мне попалось описание приложения для Android, которое определяло пульс по камере телефона, просто по общей картинке. Камера не прикладывалась к пальцу, кожа не просвечивалась светодиодом. Интересный момент был в том, что ревьюеры не поверили в возможность такого определения пульса, и приложение было отклонено. Чем дело кончилось у автора программы, не знаю, но стало интересно проверить, возможно ли это.
Для тех кому интересно что получилось, продолжение под катом.