среда, ноября 19, 2014

Обзор книги A Tour of C++

Прочитала новую книгу Страуструпа "A Tour of C++". Это очень краткое введение в С++11. Рекомендуется новичкам, которые уже умеют программировать на каком-то языке. Но мне такая рекомендация не нравится, потому что книга уж очень лаконичная. Она подойдет скорее человеку, который когда-то писал на С++, подзабыл, а сейчас надо срочно вспомнить и заодно понять чего нового появилось за прошедшее время.

Если вы на C++ пишете все время и в курсе изменений в C++11, то ничего нового вы там не найдете.

вторник, мая 06, 2014

Что будет, если смешать C++ и C#

Если очень хочется, то можно звать C++ методы из C# кода и наборот. Например, если какие-то приятные функции есть в C++ API, но их нет в C#, их можно подключить следующим образом: Mixing .NET and native code

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

Порча C# кучи
Если у вас намешан C++ и C# код, то из C++ можно залезть в C# кучу. Поробнее проблема разобрана в блоге Тесс Феррандес: .NET Crash: Managed Heap Corruption calling unmanaged code
Кстати, очень рекомендую ее блог. В постах до 2011 года она пишет про отладку, про WinDbg.

Потеря AppDomain
При переключении между C++ и C# кусками можно потерять текущий C#-контекст. Текущую директорию, например, что неприятно. Есть способы борьбы, которые работают не всегда.
Вот тут человек разбирает конкретный пример: Unmanaged callbacks across AppDomains.
Также есть разные кривые методы получения списка всех AppDomain'ов.

суббота, марта 08, 2014

Впечатления от курса по машинному обучению

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

Кстати, Эндрю Нг читает свои лекции опять прямо сейчас. Еще не поздно присоединиться! Stanford Machine Learning