Pull to refresh
29
0.1
Кирилл Белов @KirillBelovTest

Инженер по автоматизации тестирования

Send message

Как потреблять API с ограничением по RPS в .NET приложениях

Level of difficultyEasy
Reading time11 min
Views7.9K


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

Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.

Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.
Читать дальше →
Total votes 44: ↑43 and ↓1+62
Comments10

Отопление майнингом. Как я грею дом бесплатно

Level of difficultyMedium
Reading time3 min
Views25K

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

В моём случае майнинговое отопление максимально выгодно: объект коммерческий, с розеткой 7 р/кВт, отопление электрическое, газа нет вообще, на объекте постоянно люди.

Читать далее
Total votes 41: ↑38 and ↓3+48
Comments54

GPU-вычисления в браузере на скорости нативного приложения: марширующие кубы на WebGPU

Reading time13 min
Views3.8K

WebGPU — это мощный GPU-API для веба, поддерживает продвинутые рендеринговые конвейеры и вычислительные конвейеры GPU. WebGPU ключевым образом отличается от WebGL своей поддержкой вычислительных шейдеров и буферов хранения данных. В WebGL такие возможности отсутствуют, а WebGPU, в свою очередь, позволяет целиком выполнять в браузере мощные приложения, требующие вычислений на GPU. Речь может идти о самых разных приложениях, от GPGPU (напр., симуляции, обработка/анализ данных, машинное обучение, т.д.) до конвейеров рендеринга на основе GPU-вычислений — а также о многих других приложениях в этом спектре.

В этой статье мы оценим вычислительную мощность WebGPU, сравнив её с показателями Vulkan. Для этого мы реализуем классический алгоритм «марширующие кубы» (Marching Cubes) для WebGPU. Алгоритм марширующих кубов почти без оговорок относится к чрезвычайно параллельным, в составе этого алгоритма выполняется два глобальных шага редукции, необходимых для синхронизации местоположений рабочих элементов и вывода потоков. Поэтому данное решение — отличный вариант GPU-параллельного алгоритма, который стоит первым делом попробовать на новой платформе. Дело в том, что он достаточно сложен, чтобы API испытал давление сразу по нескольким направлениям сверх элементарных параллельных операций диспетчеризации в ядре. При этом он не столь сложен, чтобы на его реализацию требовалось существенное время, а также он не превращается в узкое место из-за ограничения производительности ЦП.

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

Как ChatGPT поможет заменить репетитора по английскому для айтишников

Level of difficultyEasy
Reading time1 min
Views29K

По мотивам нашей прошлой статьи «Как айтишникам быстро выучить английский с помощью ChatGPT? » мы решили написать продолжение и чуть побольше раскрыть эту тему, раз она так залетела.

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

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

Читать далее
Total votes 21: ↑9 and ↓12+2
Comments14

Как мы сделали визуализатор трехмерных изображений с нуля

Level of difficultyMedium
Reading time9 min
Views4.7K

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

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

Читать далее
Total votes 22: ↑22 and ↓0+25
Comments8

Народный измеритель ёмкости батареек BatteryTest

Level of difficultyEasy
Reading time6 min
Views27K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Total votes 213: ↑213 and ↓0+232
Comments51

Как поменьше беспокоиться о собственной бездарности

Reading time7 min
Views85K

Только что я столкнулся с еще одним проявлением синдрома самозванца: «Я правда разработчик — или просто хорошо гуглю?»

Далее следовал ответ, в котором я, однако, не увидел главного — поэтому ответить придется мне: слишком уж многие боятся без каких-либо оснований.

Переведено в Alconost

Если информацию легко найти, это не делает человека глупым


Частенько мне доводится слышать одну историю — полагаю, подлинность ее сомнительна, но, как бы там ни было, суть такова. Когда у Эйнштейна попросили номер телефона, он полез его искать и сказал: «Зачем запоминать то, что можно найти менее чем за две минуты?»

Читать дальше →
Total votes 83: ↑76 and ↓7+69
Comments226

Самые полезные библиотеки JS для красивых анимаций

Reading time5 min
Views14K

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

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

Мы поговорим о библиотеках JavaScript упрощающих добавление этих анимаций для разработчиков, делая приложения более приятными.

Приятного прочтения :-)

Читать далее
Total votes 31: ↑31 and ↓0+32
Comments6

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Запускаем privateGPT локально на WSL c поддержкой GPU Nvidia

Level of difficultyMedium
Reading time3 min
Views7.2K

Приватный GPT - это готовый к производству проект искусственного интеллекта, который позволяет задавать вопросы о ваших документах, используя мощь больших языковых моделей (LLM), даже в сценариях без подключения к Интернету. 100% приватный, никакие данные не покидают ваше окружение выполнения в любой момент.

Запуск на Windows Subsystem для Linux (WSL) с поддержкой GPU может значительно улучшить его производительность. В этом руководстве я проведу вас пошаговый процесс установки PrivateGPT на WSL с использованием ускорения GPU.

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

9 советов как ускорить автоматизированные UI тесты

Level of difficultyMedium
Reading time13 min
Views4.2K

Интересуетесь, как ускорить автоматизированные UI тесты? Узнайте эффективные и действенные советы, которые помогут вам быстрее и эффективнее выполнять UI автотесты.

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

Обучение на веб-тестировщика | Как и с помощью чего обучаю я

Level of difficultyEasy
Reading time3 min
Views3.9K

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

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

Читать далее
Total votes 7: ↑3 and ↓4+1
Comments2

Генерация тест-кейсов на основе искусственного интеллекта: революционный подход для тестировщиков

Level of difficultyMedium
Reading time8 min
Views5.8K

Современные приложения становятся все более сложными и потребность в актуальном и эффективном тестировании растет. Ручное создание тест-кейсов может занять много времени, поэтому применение генерации тестов на основе ИИ может сделать этот процесс более эффективным. 

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

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

Хорошие и разные одноплатники конца февраля 2024 года: 5 моделей для различных целей

Reading time4 min
Views14K

Время идет быстро, уже конец февраля 2024 года. За относительно небольшой срок, прошедший с момента публикации прошлой подборки, производители успели выпустить новые устройства. Их больше, чем пять, но расскажем именно о тех, которые понравились нам больше всего. Подробности — под катом.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments6

API-автотесты: как достичь наиболее полного покрытия?

Reading time9 min
Views8.5K

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

Под катом мы подготовили практический шаблон, который поможет вам в этом.

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

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views103K

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 187: ↑185 and ↓2+212
Comments77

Работаем с HTTP API: разбор частых проблем и методы их решения

Level of difficultyMedium
Reading time16 min
Views7.3K

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

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

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

Простой, полезный проект интеграционных тестов

Level of difficultyMedium
Reading time21 min
Views4.7K

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

По отзывам моих ревьюеров, эта статья ‑ «Инструкция по входу в автоматизированное тестирование и настройка фрейма».

В статье приведена информация о специфике, мотивации создания интеграционных тестов, обосновании выбранных технологий. Как бонус, в конце будет ссылка на обезличенный проект, который с минимальной адаптацией, запускается в работу в краткие сроки. Но «подпилить» его придется.

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

Нейросети и глубокое обучение, глава 1: использование нейросетей для распознавания рукописных цифр

Reading time56 min
Views131K

Примечание


Michael NielsenПеред вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по программированию, "Выразительный JavaScript". Книга по нейросетям тоже достаточно популярна, на неё активно ссылаются авторы англоязычных статей. Её переводов я не нашёл, за исключением перевода начала первой главы с сокращениями.

Желающие отблагодарить автора книги могут сделать это на её официальной странице, переводом через PayPal или биткоин. Для поддержки переводчика на Хабре есть форма «поддержать автора».


Введение


Этот учебник подробно расскажет вам о таких понятиях, как:

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

Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments4

Большая подборка тестовых заданий для тестировщиков. Гайд и рекомендации

Level of difficultyEasy
Reading time3 min
Views24K

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

Достаточно часто соискателям на позицию QA Engineer компании высылают тестовые задания (ТЗ). Их решение дает первичное понимание об уровне специалиста и является дополнительным фильтром для нанимающего менеджера.

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

Читать далее
Total votes 11: ↑7 and ↓4+3
Comments2
1
23 ...

Information

Rating
2,793-rd
Location
Саратов, Саратовская обл., Россия
Registered
Activity