Pull to refresh
0
0
Send message

Улучшаем биндинги в CSharpForMarkup

Reading time5 min
Views1.4K

Недавно мне пришлось разбираться с Xamarin Forms и на глаза попалась такая штука как CSharpForMarkup. Она показалась очень интересной, поскольку позволяет использовать стандарный C# вместо XAML, тем самым нивелируякучу неудобств связаных с XAML. Но реализация биндингов мне показался недостаточно хорошой. Поэтому я начал её улучшать при помощи expression-ов и Roslyn анализаторов. Кому интересно что с этого получилось прошу под кат.

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

Я 20 лет наслаждаюсь разнообразием архитектур и хочу поделиться мыслями

Reading time8 min
Views23K


Сначала хотел написать комментарий к статье "Я десять лет страдал от ужасных архитектур в C#...", но понял две вещи:

  1. Слишком много мыслей, которыми хочется поделиться.
  2. Для такого объёма формат комментария неудобен ни для написания, ни для прочтения.
  3. Давно читаю Хабр, иногда комментирую, но ни разу не писал статей.
  4. Я не силён в нумерованных списках.

Disclaimer: я не критикую @pnovikov или его задумку в целом. Текст качественный (чувствуется опытный редактор), часть мыслей разделяю. Архитектур много, но это нормально (да, звучит как название корейского фильма). 

Однако давайте по порядку. Сначала моё мнение о том, что влияет на архитектуру, потом про спорные моменты в статье об «исправлении архитектур». Ещё расскажу о том, что у нас хорошо работает — может, пригодится кому-нибудь.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments60

Расширьте возможности машинного обучения Azure с помощью расширения VS Code

Reading time3 min
Views1.5K
Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерфейсе и способы, которые помогут вам управлять хранилищами данных, наборами данных и вычислениями прямо из любимого редактора!

Возможно некоторые из вас читают о Azure ML и расширении впервые — не волнуйтесь, мы здесь, чтобы рассказать об этом больше.

Azure ML — это сервис машинного обучения, который предоставляет исследователям, работающим с данными, широкий набор инструментов для создания, обучения и развертывания моделей. Расширение AML — это сопутствующий инструмент, который обеспечивает управляемый опыт, помогающий создавать ресурсы и управлять ими непосредственно из VS Code. Расширение направлено на оптимизацию задач, таких как проведение экспериментов, создание вычислительных целей и управление средами, без необходимости переключения контекста из редактора в браузер. Пользователи расширений могут работать в своих рабочих пространствах и взаимодействовать со своими основными ресурсами AML с помощью простого дерева навигации и с помощью команд по щелчку мыши.

Подробнее о начале работы со службой Azure ML можно узнать здесь. Если вы хотите поэкспериментировать с расширением, вы можете установить его здесь и прочитать документацию по началу работы здесь!

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

Сравнение мозга с нейронной сетью

Reading time18 min
Views36K


Можно встретить много критических замечаний о том, что биологический мозг или биологические нейронные сети работают совершенно не так как ныне популярные компьютерные нейронные сети. К подобным замечаниям прибегают различные специалисты, как со стороны биологов, нейрофизиологов так и со стороны специалистов по компьютерным наукам и машинному обучению, но при этом очень мало конкретных замечаний и предложений. В этой статье мы попытаемся провести анализ этой проблемы и выявить частные различия между работой биологической и компьютерной нейронной сетью, и предложить пути улучшения компьютерных нейронных сетей которые приблизят их работу к биологическому аналогу.
Total votes 38: ↑36 and ↓2+34
Comments179

.NET Core: Взаимодействие микросервисов через Web api

Reading time21 min
Views46K

Введение


Практически все, кто имел дело с микросервисами в .NET Core, наверняка знают книгу Кристиана Хорсдала “Микросервисы на платформе .NET”. Здесь прекрасно описаны подходы к построению приложения на основе микросервисов, подробно рассмотрены вопросы мониторинга, журналирования, управления доступом. Единственное, чего не хватает — это инструмента автоматизации взаимодействия между микросервисами.

При обычном подходе при разработке микросервиса параллельно разрабатывается web-клиент для него. И каждый раз, когда меняется web-интерфейс микросервиса, приходится затрачивать дополнительные усилия для соответствующих изменений web-клиента. Идея генерировать пару web-api/web-клиент с использованием OpenApi тоже достаточно трудоемка, хотелось бы чего-то более прозрачного для разработчика.

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

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

Web-клиент для микросервиса должен генерироваться автоматически на основе интерфейса и предоставляться через Dependency Injection.

Должен быть механизм организации редиректов на конечные точки микросервисов из главного приложения, взаимодействующего с пользовательским интерфейсом.
Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments24

Настройка нейронной сети для детекции необходимых объектов

Reading time6 min
Views13K

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

В качестве примера для детекции объектов будем использовать алгоритм YOLOv3. Дополнительные материалы по статье вы сможете найти на github странице. Пример установки и настройки осуществляется на ОС Windows 10.

В первую очередь нам необходимо скачать или клонировать необходимые материалы для переобучения нейронной сети под определенный тип объекта с данной github страницы. Для того чтобы не возникало проблем с доступом или разрешениями, материалы лучше разместить в директории своей учетной записи, например: C:\Users\user_name\Documents\NN\.

1. Переходим в папку yolov3-master, вызываем терминал (командную строку) и выполняем команду pip install -U -r requirements.txt. При запуске команды некоторые из пакетов не установились, т.к в репозитории pip для windows, пакетов с таким названием не существует. Чтобы установка прошла успешно, в requirements.txt мы должны закомментировать несколько пакетов («torch >= 1.5» и «pycocotools»). Затем установить pytorch с помощью следующей команды:
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments5

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт

Reading time14 min
Views19K

КДПВ

Хабр, приветствую!

Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе.

Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-то новое или принять какое-либо решение. И, само собой, надеюсь получить конструктивный фидбек от сообщества. Это даёт шанс делать что-то лучше.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments39

Применение машинного обучения и Data Science в промышленности

Reading time22 min
Views67K
Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

image

Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments13

Один день до DotNext 2019 Piter. Анонс бесплатной трансляции

Reading time4 min
Views3.6K


15 мая, то есть уже завтра, состоится конференция DotNext 2019 Piter. Это два дня докладов про настоящее и будущее платформы .NET, оптимизацию производительности, детали внутреннего устройства платформы, архитектуру, решение необычных задач и так далее.


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


Трансляция начнется в 9:45 утра (по московскому времени), через 15 минут начнётся открытие, а закончится всё ближе к 7 часам вечера. Открывать ссылку именно в 9:45 необязательно — ссылка будет работать весь день, поэтому можно открывать её только на наиболее важных докладах.


Ссылка на сайт трансляции — под катом. Там же есть краткое описание докладов и обсуждение пары вещей, которых на трансляции (даже если купили онлайн-билет) всё-таки не будет.

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

Deep Learning в вычислении оптического потока

Reading time11 min
Views20K
С появлением множества различных архитектур нейронных сетей, многие классические Computer Vision методы ушли в прошлое. Все реже люди используют SIFT и HOG для object detection, а MBH для action recognition, а если и используют, то скорее как handcrafted-признаки для соответствующих сеток. Сегодня мы рассмотрим одну из классических CV-задач, в которой первенство по-прежнему остается за классическими методами, а DL-архитектуры томно дышат им в затылок.


Total votes 64: ↑64 and ↓0+64
Comments7

TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки

Reading time4 min
Views62K
TensorFlow — это опенсорсная библиотека, созданная Google, которая используется при разработке систем, использующих технологии машинного обучения. Эта библиотека включает в себя реализацию множества мощных алгоритмов, рассчитанных на решение распространённых задач машинного обучения, среди которых можно отметить распознавание образов и принятие решений.

image

Этот материал посвящён основам TensorFlow и рассчитан на читателей, которые ничего не знают о данной библиотеке.
Читать дальше →
Total votes 41: ↑32 and ↓9+23
Comments16

«Zero Security: A» — курсы этичного хакинга для начинающих

Reading time3 min
Views18K


Одним из основных направлений PENTESTIT является разработка специализированных программ начальной (Zero Security: A) и профессиональной (Корпоративные лаборатории) подготовки в области информационной безопасности. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 80% от общей программы курса. В данной статье мы разберем несколько примеров практических заданий «Zero Security: A».

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

Программа обучения "Zero Security: A"
  • УК РФ и преступления в сфере информационных технологий;
  • Модели угроз, их виды, объекты исследований;
  • Знакомство с Linux. Введение в Kali Linux 2.0 и обзор стандартного инструментария;
  • Разведка и сбор информации;
  • Сканирование сети;
  • Эксплуатация web-уязвимостей, введение в Burp Suite, знакомство с OWASP Top-10;
  • Безопасность сетевой инфраструктуры;
  • Анализ защищенности беспроводных сетей;
  • Введение в Metasploit Framework;
  • Обход проактивных систем защиты;
  • Введение в социальную инженерию;
  • Итоговое тестирование. Окончание стажировки.
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments0

Unity — Концептуальные идеи и подсказки для новичков игродева. Мощная оптимизация 2D проекта

Reading time5 min
Views38K
Ссылка на первую статью из этой серии.

Быстрое вступление

Я долго думал какую тему выбрать на этот раз, и решил, что расскажу про некоторые фишки, которые помогут оптимизировать вашу игру. Особенно это будет актуально для новичков, потому что чаще всего первая игра оказывается игрой для смартфонов и планшетов. А на мобилках, сколько бы там ядер не оказывалось — 6 или 8, игры все ещё очень несбалансированные в плане потребления ресурсов. Код и его идея, которые будут приводится в этой статье являются немного более сложными для понимания чем те две строчки кода, которые я приводил в своей предыдущей публикации. Хотя, я не правильно выразился — код легко понять — но порог вхождения в это понимание будет чуть выше чем легко (для новичков конечно), придется посидеть минут 5.

Введение в идею

Как вы создаете объекты в Unity из префабов? Только Instantiate и никак иначе — другой функции там просто не существует.

Для тех кто не помнит или еще не знает, что такое Instantiate (), маленькая справка — *аргументы инстанции*. Вот вы их создаете (объекты), и создаете, иногда удаляете, потом опять создаете, и так в течении всего уровня. Это бьёт по оптимизации и существенно — почему? Потому что так написано на всех форумах Unity, а иногда проглядывается и в документации, а документацию надо слушаться. Как Instantiate бьет по про производительности?
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments13

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity