Рубрика «Программирование» - 742

Утверждён список российского ПО, обязательного для госзакупок - 1Государственный реестр отечественного софта, обязательного для закупок госорганами, заработает в ближайшие дни. 18 февраля был утверждён список около 80 программ, которые туда войдут, сообщает агентство РБК со ссылкой на несколько источников в Минкомсвязи. На этот момент на включение в реестр подано более 700 заявок, а всего он будет содержать информацию о нескольких тысячах программ.

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

По данным Минкомсвязи, государственные ведомства ежегодно покупают программы на 80 млрд руб. В 2014 году чаще всего покупали продукты компании SAP — 5,6 млрд руб. Следующие в списке Oracle и 4,6 млрд руб. Программ Microsoft было закуплено на 3,05 млрд руб.

Доля импорта клиентских и мобильных ОС составляет 95%, серверных ОС — 75%, систем управления базами данных — 86%, средств управления облачной инфраструктурой и виртуализацией — 93%, а пользовательского офисного ПО — 97%.
Читать полностью »

Мигаем светодиодом, с помощью ПЛИС Altera Cyclone iv, ПО Quartus и языка Verilog.
В этом видео я рассказываю о том, как сделать мигалку светодиодом: создам проект, напишу модуль, назначу выводы ПЛИС и прошью микросхему.

Пожалуйста, прибавьте громкость.

Читать полностью »

У большинства из нас есть дачи, а кто-то вообще круглогодично проживает в частном доме или коттедже. Проблема перебоев с электроэнергией на периферии знакома не понаслышке. Самый простой выход из ситуации – зажечь свечку и смиренно ждать лучшего, но в наше время это не всегда приемлемо. Более продвинутые дачники обзавелись генераторами, вот только их запуск и остановку нужно производить вручную. В темноте и в холодное время года это делать некомфортно. А бывают ситуации, когда хозяев вообще нет дома, однако прекращение подачи энергии может привести к останову систем управления обогревом дома и другим критическим ситуациям. В таких случаях просто необходимо автоматизировать процессы перехода с основного питания на резервное, и наоборот. В первой части мы рассмотрим пример работы модуля MP8036multi в режиме контроллера (смешанный режим, пример 1), управляющего автономным питанием загородного дома. А также приведем схему подключения и пример рабочей отлаженной программы.

Управляем автономным питанием загородного дома - 1
Читать полностью »

Часы на ПЛИС Lattice - 1 Некоторое время назад, хаброжитель DmitrySpb79 написал статьи о создании электронных часов. В них он рассмотрел источники точного времени, а так-же элементную базу для создания электронных часов. Были упомянуты Arduino, STM, Raspberry PI, ESP8266, но совсем забыли про ПЛИС.

Давайте заполним этот небольшой пробел. Узнаем, на сколько просто сделать часы на ПЛИС и какие аппаратные ресурсы для этого потребуются. К тому же, мне подарили микросхему ПЛИС очень малого объема — 64 макроячейки. Это ПЛИС LC4064v фирмы Lattice с которыми я до этого никогда не работал. Я думаю, будет интересно!

Цели:

  • попытаться уместить логику работы часов в ПЛИС малого размера (64 макроячейки);
  • освоить статическую либо динамическую светодиодную индикацию на ПЛИС для вывода времени;
  • собрать кучу граблей, связанных с самостоятельной разработкой схем и получить новый опыт;
  • освоить новую среду разработки и программирования для ПЛИС фирмы Lattice, оценить сложность перехода

Меня ожидает несколько очень приятных вечеров, посвященных разработке на ПЛИС!

Читать полностью »

В начале года на Coursera открылся курс по машинному обучению от Яндекса и Вышки, о котором мы уже рассказывали. К моменту старта на него записались 14000 человек. Через час после открытия пользователи создали канал в Slack, где стали обсуждать программу. Сейчас слушателей уже 21000.

Специализация по машинному обучению на Coursera от Физтеха и Яндекса - 1

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

Специализация «Машинное обучение и анализ данных» состоит из пяти курсов и работой над собственным проектом. Обучение будет длиться несколько месяцев. Записаться на него можно до 19 февраля. Если вы не успеете это сделать, с 14 марта можно будет записаться на второй поток.

Авторы курса — сотрудники Яндекса, специалисты Yandex Data Factory, которые преподают в Физтехе. Константин Воронцов тоже среди них. Мы попросили некоторых из коллег рассказать, кому может быть полезна специализация и для чего она нужна. Также под катом — программа всех курсов.
Читать полностью »

Пример работы системы
Это третья статья из серии про определение смайла по выражению лица.

Глубокое обучение в гараже — Братство данных
Глубокое обучение в гараже — Две сети
Глубокое обучение в гараже — Возвращение смайлов

Так что же со смайлами?

Фух, ну наконец, детекция лиц работает, можно учить сеть распознавания смайла. Только вот на чем учить? Открытых наборов данных нет. А из того, как долго в предыдущей части я добирался до, собственно, обучения моделей вы уже должны были понять, что в глубоком обучении данные решают все. И их нужно много.
Читать полностью »

Подходы к проектированию RESTful API - 1
Автор: Вячеслав Михайлов, Solutions Architect.

В этой статье я поделюсь опытом проектирования RESTful API — на конкретных примерах покажу, как делать хотя бы простые сервисы красиво. Также мы поговорим, что такое API и зачем он нужен, поговорим об основах REST — обсудим, на чем его можно реализовывать; коснемся основных веб-практик, которые зависят и не зависят от этой технологии. Также узнаем, как составлять хорошую документацию, затрачивая на это минимум усилий, и посмотрим, какие существуют способы нумерации версий для RESTful API.

Часть 1. Теория

Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

Почему хороший API — это важно?

  • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
  • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
  • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
  • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
  • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.

Теперь посмотрим, какие бывают виды API.

Виды API по способу реализации:
●     Web service APIs
○     XML-RPC and JSON-RPC
○     SOAP
○     REST
●     WebSockets APIs
●     Library-based APIs
○     Java Script
●     Class-based APIs
○     C# API
○     Java
 
Виды API по категориям применения:
●     OS function and routines
○     Access to file system
○     Access to user interface
●     Object remoting APIs
○     CORBA
○     .Net remoting
●     Hardware APIs
○     Video acceleration (OpenCL…)
○     Hard disk drives
○     PCI bus
○     …
Читать полностью »

Введение

Математика на пальцах: методы наименьших квадратов - 1

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

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.

Читать полностью »

Пример работы системы
Это вторая статья из серии про определение смайла по выражению лица.

Глубокое обучение в гараже — Братство данных
Глубокое обучение в гараже — Две сети

Калибрация

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

Язык С++ по сей день является одним из самых востребованных и гибких языков программирования. Но иногда возможностей языка не хватает, несмотря на то что стандарт развивается и расширяется. С такой проблемой столкнулся и я в процессе разработки 2D движка для игр. Я стоял перед необходимостью решения несколько нетривиальных задач, таких как сериализация, анимирование и связка с редактором. Для этого отлично подходит рефлексия. Готовые решения из сети, к сожалению, мне не подошли, поэтому пришлось конструировать свой велосипед.

Далее описаны детали реализации и демо проект. Кому интересно — добро пожаловать под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js