Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Топ-10 лучших систем управления тестированием 2021

Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *Тестирование игр *

Рост и развитие IT-сферы происходит очень быстро —  нагрузка растет, команды становятся многочисленнее, задачи усложняются. Для обеспечения темпа работы при высоких требованиях к качеству необходимо формировать особую IT-инфраструктуру и привлекать современные удобные инструменты, способные при этом подстроиться под запросы конкретной QA-команды.

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

Читать далее
Рейтинг 0
Просмотры 4
Комментарии 0

Пыль, пылевые клещи и их аллергены. Профилактика и защита

Научно-популярное Здоровье Химия Экология Биология
Tutorial
Пыль и пылевые клещи в ней есть практически везде и всегда. Уничтожить их удается возможно только в условиях «чистых комнат» на производстве полупроводников. Смиритесь с этим! Все что нам под силу — уменьшить их количество. Считается, что если концентрация клещей < 100 штук на грамм пыли — аллергия у большинства не возникает. После того как пришлось пару тройку минут чихать без остановки — у меня накопилось достаточно злобы, чтобы рассмотреть, что же представляет из себя пыль в квартире и что и кто в этой пыли живет. А теперь вот нашлось время, чтобы познакомить с «нашими маленькими друзьями» и читателей Хабра. В заметке рассуждения о некоторых особенностях биологии вездесущего домашнего паразита и методикам его контроля. В интернете вроде информация есть, да все как-то несерьезно. То, что под катом можешь смело давать почитать жене, %username%!


Дружно скажем НЕТ пыли и ее обитателям
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 344
Комментарии 8

PoW вместо капчи

Информационная безопасность *Разработка веб-сайтов *JavaScript *

Для чего обычно используется капча? Для защиты от автоматических регистраций (либо автоматической отправки сообщений на форумах, в чатах, через форму обратной связи и т.&nbsp;п.) и для предотвращения брутфорса пары логин/пароль при аутентификации. Более экзотические случаи ее использования достаточно редки.

Сказать, что капча всем надоела и очень многих раздражает&nbsp;— значит ничего не сказать. Проблема еще в том, что очень и очень многие используют «облачную» капчу от одной всемирно известной корпорации... и в случае проблем с доступом к такой капче (тьфу-тьфу-тьфу) львиная доля использующих ее сайтов просто перестанет работать.

Под катом&nbsp;— простейший альтернативный вариант защиты от автоматической отправки сообщений и от брутфорса логина/пароля, основанный на идее PoW (proof of work, доказательство выполнения работы).

<cut/>

## Что такое PoW

Идея PoW хорошо знакома разработчикам и пользователям криптовалютных систем и впервые была предложена, по-видимому, в 1993 году профессором Гарвардского университета, сотрудницей Microsoft Синтией Дворк (Cynthia Dwork) и израильским профессором Мони Наором (Moni Naor). Идея чрезвычайно проста: мы придумываем задачу, требующую значительных вычислительных ресурсов и процессорного времени на клиенте, но такую, что результат ее решения легко проверяется на сервере. Тем самым хакеру, от которого требуется отправить на сервер этот самый результат для получения определенных прав, потребуется существенное время, что сведет его хакерские усилия к нулю.

Идеи подобных задач (значительные ресурсы для решения&nbsp;— легкость проверки результата) за прошедшие 28 лет накоплены в достаточном количестве. Мы возьмем самую простейшую идею: перебор вариантов «соли», используемой для хеширования входных данных, для достижения определенного вида полученного хеша. Если алгоритм хеширования достаточно надежен, эта задача может быть решена только перебором, что и соответствует нашей цели: значительным затратам времени на клиентской стороне.

## Реализация

Нам потребуется реализация алгоритма sha1 на javascript; соответствующий скрипт (в разных вариантах) можно с легкостью найти на GitHub. Далее мы пишем совсем простенький собственный скриптик:

```javascript

const pow16 = str => {

let res = '', n = 0;

while(res != "abcd") {

res = sha1(sha1(n.toString()) + str).substr(15, 4);

n++;

if (n > 1e6) return;

}

return n - 1;

}

```

Для проверки его работоспособности и временны&#769;х характеристик можно использовать, например, вот такую демо-страничку (`pow16.js`&nbsp;— файл с нашим самодельным скриптом):

```html

<!DOCTYPE html><html><head><meta charset="utf-8"></head>

<body>

<p><input id="str" placeholder="Строка"></p>

<p><input id="nnc" placeholder="Результат"></p>

<p><input id="dur" value="0 ms"></p>

<p><button type="button" onclick="goPow()">Go!</button></p>

<script src="sha1.js"></script>

<script src="pow16.js"></script>

<script>"use strict";

const goPow = () => {

let str = document.querySelector("#str").value;

let tm = (new Date()).getTime();

let res = pow16(str);

let dur = (new Date()).getTime() - tm;

document.querySelector("#nnc").value = res;

document.querySelector("#dur").value = dur + " ms";

}

</script></body></html>

```

Определенная в скрипте функция `pow16(str)` хеширует входную строку `str` сначала с солью `sha1('0')`, затем с солью `sha1('1')` и так далее до тех пор, пока 15&ndash;18-е цифры (всего 16 бит, отсюда и название функции) полученного хеша не станут равны `'abcd'`. Конечно, можно взять и любой другой участок хеша, а не обязательно 15&ndash;18-е цифры (и не обязательно `'abcd'`, конечно). Величина 16 бит (четыре цифры хеша) получена опытным путем: 3 цифры это мало (такой скрипт выполняется практически мгновенно), а 5 цифр уже много (браузер просто виснет). Желающие, безусловно, могут поэкспериментировать с количеством бит, не кратным 4.

Функция возвращает натуральное число&nbsp;— количество итераций, потребовавшихся для достижения результата. В случае, если за 10<sup>6</sup> итераций результат не достигнут, возвращается `undefined`. Демо-страничка позволяет протестировать скрипт, показывая количество затраченного на его выполнение времени при различных входных строках.

## Использование вместо капчи

Идея использования приведенной выше реализации идеи PoW вместо капчи очень проста. При отправке данных формы (например, с парой логин/пароль, с сообщением чата и т.&nbsp;п.) мы на клиенте вычисляем `pow16` от отправляемых данных (назовем эту величину <i>контрольным числом</i>) и вместе с этими данными посылаем на сервер. На серверной стороне (ниже приведен пример на php) мы проверяем соответствие контрольного числа `$n` пришедшим данным `$str` и в случае несоответствия отказываем в авторизации (в приеме сообщения форума и т.&nbsp;п.):

```php

if (substr(sha1(sha1($n).$str), 15, 4) != "abcd") {

// отказываем в авторизации или ином действии

}

```

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

## Тестирование и проблемы

Приведенный выше скрипт тестировался в браузере Firefox 78.12.0esr из-под ОС Debian 10 (4.19.194-3 x86_64) на компьютере с процессором Intel Core m3-7Y30 CPU 1&nbsp;GHz и оперативной памятью 4&nbsp;ГБ. Среднее время выполнения скрипта составило около 1&nbsp;с; разброс&nbsp;— от 50&nbsp;мс до 4&nbsp;с в зависимости от входной строки. Такое время задержки решает поставленную задачу: позволяет значительно снизить эффективность брутфорса логина и пароля либо отправку автоматических сообщений в чатах или на форумах. Тестировать скрипт в других браузерах из-под других ОС и на других компьютерах мне было лень :)

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 299
Комментарии 9

О чём .NET-разработчикам расскажут на DotNext 2021 Moscow

Блог компании JUG Ru Group Высокая производительность *.NET *Конференции

Порой жизнь разработчика превращается в кошмар. Называться это может по-разному: «миграция большого проекта», «отладка асинхронного кода», «запущенное легаси» или даже «зоопарк технологий для распределённых приложений». Уже скоро мы проведем .NET-конференцию DotNext, и поучаствовать в ней не только интересно, но и может помогать от кошмаров.

Среди тем конференции — и низкоуровневый хардкор, и нестандартные подходы, и личные истории преодоления препятствий. А рассказывать обо всём этом будут яркие спикеры, уже знакомые многим .NET-разработчикам: например, Скотт Влашин, Дилан Битти, Стивен Тауб, Егор Богатов, Евгений Пешков.

В программу сейчас вносятся последние штрихи, так что возможны маленькие изменения, но в целом доклады будет такими, как описано под катом. А кроме докладов, будут ещё и активности от программного комитета (вроде игры в формате ЧГК), о них позже расскажем отдельно.

Смотреть программу
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 96
Комментарии 0

Принцип работы планировщика задач в Linux

Блог компании RUVDS.com Системное администрирование **nix *Разработка под Linux *
Перевод


Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 266
Комментарии 0

Виниловый проигрыватель своими руками

DIY или Сделай сам Звук
Из песочницы

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

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

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 645
Комментарии 2

Тайные тропы в данных: как отобразить десятки признаков в данных при помощи UMAP

Блог компании SkillFactory Python *Программирование *Визуализация данных Машинное обучение *
Перевод
Tutorial

Пока эксперты Хабра дегустируют наши курсы, пробуем алгоритм UMAP урожая 2018, раскрывающий тонкие оттенки данных высокой размерности.

Статья напомнит об этой прекрасной альтернативе t-SNE или PCA и поможет с визуализацией на флагманском курсе Data Science.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 233
Комментарии 0

Компромисс скорости и качества разработки в agile. Как найти баланс

Блог компании QIWI Разработка под e-commerce *Управление разработкой *Agile *

Привет!

Меня зовут Тимофей, и я продуктовый разработчик. О продуктовой разработке подробнее можно почитать тут

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

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

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

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

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 505
Комментарии 2

Сборка Linux и CPSS на отладке Marvell RD-AC3X-48G4X2XL-A с Ethernet-коммутатором Prestera DX

Open source *Сетевые технологии *Lua *Разработка под Linux *Производство и разработка электроники *
Tutorial

Мы подготовили статью-гайд для пошаговой сборки и запуска базовой прошивки с CPSS на отладочной плате Marvell RD-AC3X-48G4X2XL-A. Эта плата предназначена для проектирования и отладки управляемых коммутаторов до 48 портов. Чем она примечательна для инженера-разработчика? У нее на борту установлен коммутатор Marvell Prestera DX 98DX3257 с мощной СнК семейства Prestera. А Ethernet-коммутаторы Prestera DX позволяют реализовать 5G при самой низкой в отрасли мощности и занимаемой площади. 

А что касается CPSS, то это базовый программный уровень для железа Marvell Prestera или, другими словами, Core Prestera Software Suite. CPSS используется в проекте Open Compute Project как часть открытой операционной системы SONiC. Эта операционка расширяет функции центра обработки данных в сложных системах, например, в системах интеллектуального хранения данных и машинного обучения.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 284
Комментарии 0

Первые шаги в aiohttp, часть 3: публикуем приложение в Интернете

Блог компании KTS Разработка веб-сайтов *Python *Учебный процесс в IT
Tutorial

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

В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.

Асинхронное программирование — большая тема. Если хотите разобраться в ней подробнее, приходите к нам на курс. 

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 477
Комментарии 0

Лучший язык программирования

Программирование *

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

Можно ли на него ответить?

Читать далее
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 4.8K
Комментарии 15

Пять ключевых аспектов оптимизации облачных приложений

Блог компании IBM Высокая производительность *IT-инфраструктура *Облачные вычисления *Облачные сервисы
Практически каждая компания или организация (это относится и к новичкам, и к опытным пользователям облачных технологий) признает, что управлять приложениями в облаке гораздо сложнее, чем ожидалось. Труднее всего оптимизировать производительность приложения при минимальных расходах. Так как производительность крайне важна, наименее рискованное решение — выделение излишних ресурсов на ее обеспечение. Но без понимания того, какие ресурсы действительно нужны приложению, компаниям приходится полагаться на коэффициент использования ресурсов как основной ориентир.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 137
Комментарии 0

Оставайтесь голодными, оставайтесь разумными, оставайтесь умеренными

Карьера в IT-индустрии

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

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 1.7K
Комментарии 7

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

Учебный процесс в IT История IT
Перевод


Астрофизик Кэтрин Гарланд впервые столкнулась с этой проблемой в 2017-м. Она преподавала инженерное дело, а её ученики использовали симуляторы для моделирования турбин реактивных самолётов. Она чётко сформулировала задачу, но один за другим студенты просили её помочь им. Все они получали одно и тоже сообщение об ошибке: программа не могла найти файлы.

Гарланд думала, что это легко исправить. Она спрашивала каждого из этих учеников, где они сохранили свой проект. На рабочем столе? На общем диске? Но каждый раз её встречало непонимание. «О чём вы говорите?» – недоумевали студенты. Они не только не знали, где сохранили свои файлы – они просто не понимали вопроса.

Постепенно Гарланд начала понимать то, к чему её коллеги-преподаватели приходили в последние четыре года. Концепция папок, директорий, файлов, необходимая предыдущему поколению пользователей для понимания работы компьютера, современным ученикам кажется тарабарщиной.
Читать дальше →
Всего голосов 16: ↑11 и ↓5 +6
Просмотры 4.2K
Комментарии 32

Ортодонтия во взрослом возрасте: зачем вам это надо и что лучше знать до начала лечения

Блог компании Белая Радуга Научно-популярное Здоровье
image
Примерно так в конце XIX века выпрямляли зубы

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

В принципе 99% проблем с расположением зубов сегодня можно исправить без проблем. Для этого есть опоры, создающие давление на зубы и кости, двигающие их. Брекеты несъёмные фиксируются с внешней или внутренней стороны зубов, ими можно решить много проблем, но они требуют постоянного ухода и посещения клиники раз в месяц. Альтернатива — элайнеры, прозрачные капы. Их можно снимать, чистить зубы как обычно и есть всё подряд.

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

Смоделировать возможную ситуацию можно на основе данных КТ, телерентгенограммы и 3D-моделирования (это после съёмки полости рта сканером). Это более-менее страхует от скрытых кист, сверхкомплектных зубов и прочих радостей, которые могут вылезти в процессе лечения.

Итак, сегодня:

  • Что умеет современная ортодонтия и сколько она стоит.
  • Как мы корректируем прикус с помощью брекетов и элайнеров.
  • Зачем используем в дополнение минивинты (импланты) и нёбные расширители.
  • Когда будет результат. И что мы делаем, чтобы его закрепить.
  • Что может пойти не так при установке брекетов или элайнеров.
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Просмотры 2.3K
Комментарии 4

Чем занимается тимлид?

Блог компании OTUS Управление разработкой *Управление персоналом *

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

Мы решили продолжить тему и в этот раз поговорили с Олегом про такую роль у разработчиков как тимлид. То, что из этого вышло, читайте под катом.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.2K
Комментарии 0

Радиолюбительская Аварийная Служба (Красноярск)

Беспроводные технологии *Разработка систем связи *
Recovery mode

Радиолюбительская Аварийная служба

Немного истории: В Красноярске, 12 декабря 1988 г. в дни землетрясения в Армении была создана Радиолюбительская Аварийная Служба Красноярского края. К которой постепенно присоединились и другие регионы, образовав в итоге РАС Сибири, Урала и Дальнего Востока.

С 1-го мая 1995 г. Центр РАС позывной RE0RAS перешел на круглосуточное дежурство. Такой радиоцентр любительской аварийной радиосвязи, который проводит ежедневно три трафика на аварийных частотах и самое главное осуществляет круглосуточный мониторинг трех аварийных радиочастот к сожалению и на сегодня единственный в России.

Цели и задачи Радиолюбительской Аварийной Службы

Целью РАС является оказание помощи государственным и общественным организациям Сибири в обеспечении радиосвязи во время стихийных бедствий, промышленных аварий и катастроф, при ликвидации их последствий. Выяснение судьбы родственников проживающих в местах ЧС, а также любым радиолюбителям, попавшим в сложную ситуацию в разных походах, восхождениях, и плаваниях. Ежедневно на трафиках присутствуют не только члены Сибирской РАС, а радиолюбители всей России и Ближнего Зарубежья.

На этой неделе я принял участие в ежедневном трафике Радиолюбительской Аварийной Службы на диапазоне 20 метров, в том числе и с мобильной радиостанции Barrett 940 в условиях приближенных к чрезвычайным, полевым с автономным питанием.

Расположение мое традиционно - Московская обл. Красногорский р-он

Обустроился я на снежной горке, высотой около полуметра ;-)

Антенна использовалась - штырь из комплекта, без противовеса, на выходе около 25 Ватт

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 908
Комментарии 16

Технологии спасают планету

Блог компании М.Видео-Эльдорадо Читальный зал Экология

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 518
Комментарии 2

CWE Top 25 2021. Что такое, с чем едят и чем полезен при статическом анализе?

Блог компании PVS-Studio Информационная безопасность *Java *C++ *C# *

Впервые поддержка классификации CWE появилась в PVS-Studio с релизом 6.21, который состоялся 15 января 2018 года. С тех пор прошло уже очень много времени, и хотелось бы рассказать об улучшениях, связанных с поддержкой этой классификации в последних версиях анализатора.


https://import.viva64.com/docx/blog/0869_CWE_status_ru/image1.png


Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 377
Комментарии 2

Видеоаналитика в финансовом секторе

Блог компании Atos Высокая производительность *IT-инфраструктура *Искусственный интеллект Интернет вещей

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 226
Комментарии 0