Как стать автором
Обновить
2
Карма
0.3
Рейтинг

Пользователь

Некомпетентные компетенции

Блог компании ГК ЛАНИТ Учебный процесс в IT Образование за рубежом Карьера в IT-индустрии
✏️ Технотекст 2022

Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов.  Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.

Читать далее
Всего голосов 194: ↑181 и ↓13 +168
Просмотры 55K
Комментарии 308

Как задавать требования к качеству ПО в цифрах?

Тестирование IT-систем *Анализ и проектирование систем *Подготовка технической документации *

Требования к качеству, несмотря на свой небольшой размер, очень сильно влияют на реализуемость всей совокупности требований, на трудоёмкость, длительность и стоимость реализации, а следовательно окупаемость инвестиций в разработку и в целом возможную успешность проекта.

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

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

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

При этом остаётся прагматический вопрос — а что именно писать в требования, чтобы они были полезными, измеримыми, реализуемыми?

С точки зрения системной инженерии, требования к качеству программной системы являются разновидностью системных ограничений (constraints) и в этом они отличаются от требований к способностям (capabilities) системы, в мире ИТ обычно называемых «функциональными».

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

Давайте попробуем сделать это хотя бы ремеслом.

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

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла

Программирование *Разработка для Office 365 *
Из песочницы

Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого.

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

Тихая революция и новый дикий запад в ComputerVision

Блог компании Recognitor Анализ и проектирование систем *Алгоритмы *Обработка изображений *Машинное обучение *
✏️ Технотекст 2021

Казалось бы, революция с Computer Vision уже была. В 2012 году выстрелили алгоритмы основанные на сверточных нейронных сетях. Года с 2014 они дошли до продакшна, а года с 2016 заполонили все. Но, в конце 2020 года прошел новый виток. На этот раз не за 4 года, а за один. поговорим о Трансформерах в ComputerVision. В статье будет обзор новинок, которые появились в последний год.

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

Обратные задачи аффинных преобразований или об одной красивой формуле

Математика *
Из песочницы
В этой статье я расскажу об одной необычной формуле, которая позволяет взглянуть под новым углом на аффинные преобразования, а особенно на обратные задачи, которые возникают в связи с этими преобразованиями. Обратными я буду называть задачи, требующие вычисления обратной матрицы: нахождение преобразования по точкам, решение системы линейных уравнений, преобразование координат при смене базиса и т.д. Сразу оговорюсь, что в статье не будет ни фундаментальных открытий, ни уменьшения алгоритмической сложности — я просто покажу симметричную и легко запоминающуюся формулу, с помощью которой можно решить неожиданно много ходовых задач. Для любителей математической строгости есть более формализованное изложение здесь [1] (ориентированно на студентов) и небольшой задачник вот здесь [2].
Поехали!
Всего голосов 48: ↑48 и ↓0 +48
Просмотры 20K
Комментарии 25

Поиск научных публикаций в Интернете. Часть 3. Настройка оповещений

Поисковые технологии *Профессиональная литература *
Продолжение (начало – здесь (1) и (2))

Уметь искать информацию о научных публикациях по своей тематике – хорошо. Но ещё лучше, если эта информация будет сама вас находить. Поэтому в заключительной части обзора по поиску научных публикаций я рассмотрю особенности настройки оповещений.


Обычный вид моего почтового ящика — существенную часть писем составляют оповещения о новых публикациях
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 5K
Комментарии 2

Шесть степеней свободы: 3D object detection и не только

Блог компании Open Data Science Алгоритмы *Обработка изображений *Машинное обучение *

В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже - с 3D объектами. Из-за этого многие ML инженеры чувствуют себя неуверенно в этой области: много незнакомых слов, непонятно, куда тут применить старых друзей Resnet и Unet. Поэтому сегодня я хотел бы немного поговорить о 3D на примере задачи определения шести степеней свободы, что в каком-то виде синонимично 3D object detection. Я разберу одну из свежих работ на эту тему с некоторыми отступлениями. 

Кратко о задаче

Для начала давайте определимся, что такое шесть степеней свободы (6 DoF - degrees of freedom). Представим себе некоторый ригидный (неизменяемый, т.е. при трансформации все точки будут оставаться на той же дистанции друг от друга) объект в трехмерном мире. Чтобы описать его положение относительно наблюдателя понадобится 6 измерений: три будут отвечать за повороты по разным осям, а еще три - за смещение по соответствующим осям. Соответственно, имея эти шесть чисел, мы представляем, как объект расположен относительно какого-то базиса (например, точки, с которой ведется фотосъемка). Эта задача является классической для робототехники (где находится объект, который нужно схватить роборукой?), дополненной реальности (где нарисовать маску в MSQRD, ушки в Snapchat или кроссовки в Wanna Kicks) , беспилотных автомобилей и других доменов.

Я буду рассматривать статью MobilePose: Real-Time Pose Estimation for Unseen Objects with Weak Shape Supervision (Hou et al., 2020). Эта статья, написанная авторами из Google Research, предлагает надежный и, что немаловажно, быстрый пайплайн для решения задачи, будет уместно разобрать его по частям.

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

Одноглазый глубиномер

Блог компании Recognitor Работа с 3D-графикой *Обработка изображений *Машинное обучение *AR и VR

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

Далее много картинок
Всего голосов 40: ↑40 и ↓0 +40
Просмотры 12K
Комментарии 11

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Python *Data Mining *Машинное обучение *Искусственный интеллект Natural Language Processing *
🔥 Технотекст 2020
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Всего голосов 57: ↑55 и ↓2 +53
Просмотры 59K
Комментарии 25

Изучаем mutmut — инструмент для мутационного тестирования на Python

Блог компании VDSina.ru Python *Программирование *Тестирование веб-сервисов *
Перевод
Мутационное тестирование позволяет выявить баги, которые не покрыты обычными тестами.

У вас есть тесты на все случаи жизни? Или может быть, в репозитории вашего проекта даже лежит справка «О 100-процентном тестовом покрытии»? Но разве в реальной жизни всё так просто и достижимо?


Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Просмотры 6.9K
Комментарии 8

ТАУ для самых маленьких: пример реализации ПИД-регулятора в Unity3D

Разработка игр *Алгоритмы *C# *Математика *Unity *
Туториал

Вместо введения


Системы автоматического управления (САУ) предназначены для автоматического изменения одного или нескольких параметров объекта управления с целью установления требуемого режима его работы. САУ обеспечивает поддержание постоянства заданных значений регулируемых параметров или их изменение по заданному закону либо оптимизирует определенные критерии качества управления.

Всего голосов 23: ↑23 и ↓0 +23
Просмотры 74K
Комментарии 42

Как спроектировать корпус для прибора. Полное руководство

Прототипирование *Развитие стартапа Производство и разработка электроники *Дизайн Электроника для начинающих
Туториал
От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

image
Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.

Ни одной. Всё, что есть в интернете, касается лишь одного или двух аспектов этого процесса. Ну например: давайте набросаем корпус и распечатаем на 3D-принтере. Или купим типовой и насверлим в нём отверстий. Хотя на Хабре и есть пара материалов, но они тоже не так полны информацией, как могли бы быть.

Но так, чтобы были расписаны все этапы, от идеи до серийного производства, — я такого не нашёл. Поэтому решил написать своё руководство, максимально наполненное фактами, картинками и примерами.

Как спроектировать корпус — схема работы


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

Разработка корпуса — процесс, разбитый на несколько обязательных этапов. Это даже обсуждать не буду: проверено много раз. Даже если вы не собираетесь связываться с «большим» производством (например, если планируете делать устройство только для себя), всё равно лучше бы вам соблюдать правильную последовательность этапов.

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

Вот схема, по которой мы пойдем:
Читать дальше →
Всего голосов 149: ↑149 и ↓0 +149
Просмотры 63K
Комментарии 69

Криптографические атаки: объяснение для смятённых умов

Информационная безопасность *Криптография *Алгоритмы *Серверное администрирование *Тестирование веб-сервисов *
Перевод
При слове «криптография» некоторые вспоминают свой пароль WiFi, зелёный замочек рядом с адресом любимого сайта и то, как трудно залезть в чужую почту. Другие вспоминают череду уязвимостей последних лет с говорящими аббревиатурами (DROWN, FREAK, POODLE...), стильными логотипами и предупреждением срочно обновить браузер.

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

За последние годы коллекция криптографических атак превратилась в зоопарк кричащих логотипов, набитых формулами научных статей и породила общее мрачное ощущение, что всё сломано. Но на самом деле многие из атак основаны на нескольких общих принципах, а бесконечные страницы формул часто сводятся к простым для понимания идеям.
Читать дальше →
Всего голосов 103: ↑103 и ↓0 +103
Просмотры 45K
Комментарии 22

Руководство по организации архитектуры Android приложения

Разработка под Android *
Из песочницы
Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто использовал представленную архитектуру с рекомендациями её использования.

Это руководство охватывает лучшие практики и рекомендуемую архитектуру для создания надежных приложений. Эта страница предполагает базовое знакомство с Android Framework. Если вы новичок в разработке приложений для Android, ознакомьтесь с нашими руководствами для разработчиков, чтобы начать работу и узнать больше о концепциях, упомянутых в этом руководстве. Если вы интересуетесь архитектурой приложений и хотели бы ознакомиться с материалами этого руководства с точки зрения программирования на Kotlin, ознакомьтесь с курсом Udacity «Разработка приложений для Android с помощью Kotlin».

Опыт пользователя мобильного приложения


В большинстве случаев настольные приложения имеют единую точку входа с рабочего стола или программы запуска, а затем запускаются как единый монолитный процесс. Приложения на Android имеют гораздо более сложную структуру. Типичное приложение для Android содержит несколько компонентов приложения, включая Activities, Fragments, Services, ContentProviders и BroadcastReceivers.

Вы объявляете все или некоторые из этих компонентов приложения в манифесте приложения. Затем ОС Android использует этот файл, чтобы решить, как интегрировать ваше приложение в общий пользовательский интерфейс устройства. Учитывая, что правильно написанное приложение Android содержит несколько компонентов, и пользователи часто взаимодействуют с несколькими приложениями за короткий промежуток времени, приложения должны адаптироваться к различным типам рабочих процессов и задач, управляемых пользователями.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 39K
Комментарии 7

Универсальные испытательные машины (разрывные машины). Часть 2

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

image
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 9.3K
Комментарии 22

Универсальная машина для проведения испытаний своими руками ч.1

CAD/CAM *Разработка под Arduino *Физика DIY или Сделай сам
В продолжение тем (первая, вторая) про испытательные машины, хочу собрать бюджетный вариант машины консольного типа, на небольшую нагрузку (20 кг), для испытания различных материалов…


Всего голосов 32: ↑32 и ↓0 +32
Просмотры 9.3K
Комментарии 22

Универсальные испытательные машины (разрывные машины)

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


Всего голосов 18: ↑17 и ↓1 +16
Просмотры 23K
Комментарии 53

Сжимаем список IP-адресов наилучшим образом

Программирование *Системное программирование *Алгоритмы *Сетевые технологии *
Туториал


Как-то я прочитал на Хабре статью про настройку BGP на роутере. Инструкции оттуда можно использовать для настройки домашнего роутера так, чтобы трафик на определённые IP-адреса шёл через другой канал. Однако здесь есть проблема: список IP-адресов может быть очень большим.

В этот граф, помимо сетей из списка, добавлены ещё и наибольшие общие подсети соседних сетей. О том, зачем это нужно, читайте далее.
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры 18K
Комментарии 29

OpenVPN, о котором вы так мало знали

Системное администрирование **nix *Сетевые технологии *DevOps *
Туториал

OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настройками по умолчанию или с типовыми конфигурациями широко описанными в разных HOW-TO. Но так ли прост OpenVPN, как он кажется на первый взгляд? В данной статье мы рассмотрим скрытые от глаз внутренние механизмы OpenVPN, которые кардинально меняют представление о его возможностях.

Читать дальше →
Всего голосов 63: ↑62 и ↓1 +61
Просмотры 146K
Комментарии 18

Работа каскада Хаара в OpenCV в картинках: теория и практика

Блог компании Recognitor Разработка под iOS *Обработка изображений *


В прошлой статье мы подробно описали алгоритм распознавания номеров (ссылка), который заключается в получении текстового представления на заранее подготовленном изображении, содержащем рамку с номером + небольшие отступы для удобства распознавания. Мы лишь вскользь упомянули, что для выделения областей, где содержатся номера, использовался метод Виолы-Джонса. Данный метод уже описывался на хабре (ссылка, ссылка, ссылка, ссылка). Сегодня мы проиллюстрируем наглядно то, как он работает и коснёмся ранее необсужденных аспектов + в качестве бонуса будет показано, как подготовить вырезанные картинки с номерами на платформе iOS для последующего получения уже текстового представления номера.
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры 69K
Комментарии 0

Информация

В рейтинге
1,622-й
Откуда
Россия
Зарегистрирован
Активность