Как мы обучили нейронную сеть классифицировать шурупы

Автор: admin от Вчера, 14:25, посмотрело: 12

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



Как мы обучили нейронную сеть классифицировать шурупы


Проблема интернет-магазина шурупов — в ассортименте. Тысячи или десятки тысяч моделей. У каждого шурупа свое описание и характеристики, поэтому на фильтры нет надежды. Что делать? Искать вручную или искать в гипермаркете на полках? В обоих случаях это потеря времени. В итоге клиент устанет и пойдет забивать гвоздь. Чтобы помочь ему, воспользуемся нейросетью. Если она может находить котиков или диваны, то пусть занимается чем-то полезным — подбирает шурупы и болты. Как научить нейросеть подбирать для пользователя шурупы быстро и точно, расскажем в расшифровке доклада Марии Мацкевичус, которая в компании Grid Dynamics занимается анализом данных и машинным обучением.

Категория: Программирование

 

Небольшая история разработки своей игры на чистом Windows Forms + С# в мои 16 лет

Автор: admin от 3-07-2019, 13:40, посмотрело: 27

Небольшая предыстория



В разработку я пришёл в середине 8 класса(сейчас закончил 9), раньше я очень много играл в игры, поэтому написать свою было большое желание. И вот спустя огромную кучу теории, и мелких проектов я добрался до первого большого проекта. Вообщем, я — самоучка. Первым серьезным проектом стала моя игра про рыбалку, написанная на чистом Windows Forms + C#. Сразу скажу, что писать игру на стороннем движке я не вижу смысла, ведь моя дорога не лежит в Gamedev.



Разработка проекта



Идея создания появилась от крупной 2D игры «Русская рыбалка», кстати большинство текстур я взял именно оттуда, потому что заниматься рисованием не входит в мои планы. Удивительно, но благодаря большому опыту на мелких задачах Гуглом при разработке почти не пользовался. Из чего делаю вывод, что решение даже простых мелких задач даёт большой профит.



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



Это большая матрица, состоящая из Labelов, по которым по теореме Пифагора обрабатываю наличие мыши рядом с ним. Сейчас уже есть вариант переделать по другому, но я один, а технологий которых надо изучать ещё много, ведь в планах у меня устроиться на работу к концу лета =). (Думаю, что представить, как это выглядит, довольно просто.)



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



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

Категория: Программирование, Веб-разработка

 

Изучаем MITRE ATT&CK. Mobile Matrices: Device Access. Часть 5

Автор: admin от 29-06-2019, 13:30, посмотрело: 29

Обзор (Discovery) и Боковое перемещение (Lateral Movement)



Ссылки на все части:



Часть 1. Первоначальный доступ к мобильному устройству (Initial Access)

Часть 2. Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation)

Часть 3. Получение учетных данных (Credential Access)

Часть 4. Обход защиты (Defense Evasion)



Получив доступ к мобильному устройству противник, вероятно, попытается использовать штатные средства операционной системы, чтобы «осмотреться», понять какое преимущество получено, способствует ли оно достижению цели вторжения. Данный этап атаки называется «Обзор» (Discovery). Техники осуществления обзора направлены на получение информации о характеристиках скомпрометированного мобильного устройства, а также других доступных сетевых систем.



Оценив имеющиеся в атакуемой среде возможности, противник попытается получить доступ к удаленным системам, и, возможно, контроль над ними, предпримет попытки запуска на удаленных системах вредоносных инструментов. Описанную активность называют Боковым перемещением (Lateral Movement). Методы бокового перемещения так же включают средства сбора информации из удаленных систем без использования дополнительных инструментов, таких как утилиты RAT (Remote Access Tools).

Категория: Программирование, Android, iOS

 

Перенос десктопных приложений на .NET Core

Автор: admin от 10-06-2019, 10:40, посмотрело: 12

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




  • Данный пост — простой случай. Он ориентирован на простые инструкции и небольшие приложения и рассматривает самый простой способ переноса приложения на .NET Core.

  • Позднее мы опубликуем еще один пост для более сложных случаев. В нем основное внимание будет уделено нетривиальным приложениям, таким как WPF-приложение с зависимостями от WCF и сторонних UI-пакетов.



Если вы предпочитаете смотреть видео, а не читать, то вот видео, где я делаю все, что описано ниже.



Категория: Программирование, Microsoft

 

Nullable Reference типы в C# 8.0 и статический анализ

Автор: admin от 7-06-2019, 11:45, посмотрело: 20

Nullable Reference типы в C# 8.0 и статический анализ



Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, реализация которых может показаться не совсем очевидной, или точнее, не совсем ожидаемой. Одним из таких нововведений стала возможность использования Nullable Reference типов. Заявленным смыслом данного нововведения является борьба с Null Reference Exception'ами (NRE).

Категория: Программирование

 

Поддержка Visual Studio 2019 в PVS-Studio

Автор: admin от 4-06-2019, 12:55, посмотрело: 31

Поддержка Visual Studio 2019 в PVS-Studio

Поддержка Visual Studio 2019 в PVS-Studio затронула сразу несколько различных компонентов: сам плагин для IDE, command line приложение для анализа, ядра C++ и C# анализаторов, а также несколько утилит. О том, с какими проблемами мы столкнулись в ходе поддержки новой версии IDE и как их решали, я кратко расскажу в данной статье.

Категория: Программирование

 

Как работает конфигурация в .NET Core

Автор: admin от 25-05-2019, 13:20, посмотрело: 29

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



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



public IConfiguration Configuration { get; set; }
public IHostingEnvironment Environment { get; set; }

public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
   Environment = environment;
   Configuration = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddJsonFile($"appsettings.{Environment.EnvironmentName}.json")
            .Build();
}


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

Категория: Программирование

 

Улучшения диагностики в .NET Core 3.0

Автор: admin от 15-05-2019, 18:50, посмотрело: 30

В .NET Core 3.0 мы представляем набор инструментов, которые используют новые возможности среды выполнения .NET, которые упрощают диагностику и решение проблем с производительностью.



Эти возможности помогут вам ответить на некоторые распространенные вопросы диагностики, которые могут у вас возникнуть:




  • Является ли мое приложение работоспособным?

  • Почему мое приложение имеет аномальное поведение?

  • Почему мое приложение крашится?



  • Улучшения диагностики в .NET Core 3.0

    Категория: Программирование, Microsoft

     

    .Net Community Райффайзенбанка приглашает на митап

    Автор: admin от 14-05-2019, 15:50, посмотрело: 36

    .NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.



    Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и знаниями друг с другом. В программе события два доклада. Поговорим про DDD в микросервисах и узнаем как коллеги из Ozon реализовали сбор метрик в приложениях ASP.NET Core



    .Net Community Райффайзенбанка приглашает на митап

    Категория: Программирование

     

    Серый кардинал .NET — Джон Гэллоуэй

    Автор: admin от 13-05-2019, 16:25, посмотрело: 33

    Серый кардинал .NET — Джон Гэллоуэй

    Знаете ли вы, кто такой Джон Гэллоуэй? А между тем, он есть. Он не только один из авторов «Professional ASP.NET MVC», но и человек, который является исполнительным директором .NET Foundation, по сути – отвечает за весь опенсорс .NET. Основные темы этой статьи: подробности работы .NET Foundation, примеры решаемых задач и пара слов о книгах и переходе на .NET Core. Добро пожаловать под кат!

    Категория: Программирование

     
    Назад Вперед