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

image
При unit-тестированиии кода рано или поздно встает вопрос тестовых данных. И если в одном случае достаточно просто несколько жестко зашитых переменных, то в других случаях необходимы сколько-нибудь большие и случайные данные. В управляемом мире нет проблем с генерацией пользовательских типов (взять тот же Autofixture), но мир C++ зачастую вызывает боль и страдание(поправьте меня, если это не так). Не так давно я познакомился с замечательной библиотекой boost::di и под ее влиянием у меня начала созревать идея библиотеки, которая позволила бы C++ программистам генерировать пользовательские типы данных, забитых случайными значаниями, и это не потребовало бы предварительного их описания. Получилось что-то вроде:

struct dummy_member{
    float a;
    int b;
};
struct dummy{
    explicit dummy(dummy_member val, std::string c) : val_(val), c_(c) {}
private:
    dummy_member val_;
    std::string c_;
};
int main(int argc, char* argv){
    auto d = datagen::random<dummy>();
    return 0;
}

Ссылка на код (https://github.com/ukhegg/datagen). Библиотека header-only,C++14. Всех интересующихся прошу под кат.

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

N причин, чтобы использовать Create React App - 1

Create React App — отличный инструмент для быстрого старта React-приложений. Вы не тратите время на настройку Webpack, Babel и других привычных инструментов. Они заранее настроены и спрятаны, так что разработчики могут сфокусироваться на коде и бизнес-логике приложения.
Читать полностью »


Эта статья может помочь участникам конкурса SAP Кодер 2017 решить одну из задач


Интернет вещей – захватывающая тема, которая уже завтра изменит мир. Существующие IoT-платформы позволяют протестировать технологию, чем мы и займемся.

Перед вами пошаговый пример создания и настройки системы сбора данных с устройств на базе Arduino и ее подключение к SAP Cloud Platform.

Шаг за шагом: собираем и тестируем Интернет вещей на базе платформы SAP Cloud Platform - 1
Читать полностью »

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

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

Продолжая серию публикаций по докладам на конференциях, мы остановились на лучшем докладе DotNext 2016 Moscow, в которой Саша goldshtn Гольдштейн рассказывает о возможностях WinDbg для отладки .NET приложений. Этот действительно мощный инструмент позволяет решать задачи, с которыми не справляется встроенный отладчик Visual Studio.

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

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

Третий сервис лишний: Telegram и сам дружит с телефонией - 1

Я всегда восхищался силой коллективного разума. И укреплению моей убежденности в ней послужила недавняя история: я рассказал, как можно интегрировать телефонию с Telegram с помощью сервиса IFTTT, на что коллеги из Voximplant ответили, как это можно сделать проще, а потом господин recompileme в своем комментарии обратил внимание на то, что удобный API телеграма решает задачу без участия каких-либо третьих сервисов.

Третий сервис лишний: Telegram и сам дружит с телефонией - 2

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

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

Работа из дома — один из главных бонусов, который требуют программисты - 1

Работа из дома несколько дней в неделю — давняя привилегия избранных программистов. Но если 20 лет назад такая опция была скорее исключением из правил, то сейчас разработчики требуют её от работодателя. Её ценят настолько же высоко, как наличие отпусков и отгулов, расширенной медицинской страховки и соблюдения нормального рабочего графика без овертаймов. На это указывают результаты многочисленных исследований, в том числе результаты опроса разработчиков на Stack Overflow Developer Survey Results 2017.

В конце концов, сейчас так много инструментов для организации удалённой работы: Slack, Skype, Google Hangouts, Basecamp, BlueJeans. Групповые часты, видеоконференции, совместная работа и управление проектами. Зачем вообще программисту ходить в офис каждый день?
Читать полностью »

С 30 марта онлайн-площадка для биржевой торговли Liquid.pro начала фиксировать заявки на опционы, отправляемые на Московскую биржу в публичном блокчейне нашей платформы Waves. В этом материале мы расскажем, зачем Liquid.pro блокчейн и как этот сервис использовал технологию распределенного реестра в своей работе.

image

Предпосылки и суть работы сервиса Liquid.pro

После событий 2014 года сравнительно небольшой российский биржевой рынок обмелел еще сильнее. Этому во многом способствовал уход с рынка зарубежных инвесторов. В результате объем сделок уменьшился и с тех пор так и не показал заметного роста. Сокращение чистой прибыли Московской биржи по итогам 2016 года на 9,6% — лишнее тому подтверждение. Рынок сфокусировался на наиболее ликвидных инструментах.
Читать полностью »

День добрый. Почти каждый начинающий программист стремится к созданию своей первой игры. Спустя пол года ленивого кропотливого обучения я решился написать сапера. Языком написания был выбран Python, модулем для добавления интерфейса tkinter, потому как уже имелся опыт работы с ним. Этот пост будет полезен скорее начинающим кодерам, но если вы итак все знаете, можете написать свои советы по улучшению кода в комменты.
Читать полностью »

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

Владимир Маяковский

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

Сделаем еще один шаг в сторону универсального обобщения. Опишем идею комбинаторного пространства и то, как это пространство помогает искать закономерности и тем самым решать задачу обучения с учителем.
Читать полностью »


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