
В последнее время я стал все больше и больше интересоваться функциональным программированием, и при выборе языка предо мною пал выбор среди двух очень понравившихся мне языков — Haskell и F#.
В F# меня соблазнило то, что его можно компилировать в MSIL сборки, что обеспечивает возможность использования библиотек классов F# в других языках Microsoft .Net, а также то, что он и сам может их использовать. Ко всему прочему, я ещё и начинающий разработчик Unity3D, и мне в голову пришла мысль: если компилируется в MSIL, то может можно использовать F# скрипты в Unity? Гугление дало ответ: по-человечески нельзя. Можно создать библиотеку классов, поставить в проекте ссылки на библиотеку UnityEngine.dll, компилировать и импортировать как ассет, после чего добавлять компоненты Mono-behaviour напрямую из библиотеки, но это не слишком удобно, согласитесь. Однако, пройдя гугл, Reflection и справку по Unity, мне все таки удалось приблизить(но не повторить в точности) работу с F# скриптами внутри редактора к тому виду, в котором производится работа со скриптами на встроенных языках. Подробности — под хабракатом.
Читать полностью »
Рубрика «Программирование» - 1053
Как я подружил Unity3D и F#
2012-09-06 в 21:29, admin, рубрики: .net, game development, Mono, unity3d, Visual Studio, Компиляторы, Программирование, функциональное программирование, метки: .net, c++, game development, Mono, unity3d, Visual Studio, компиляторы, функциональное программированиеРеализация Single Sign-On для SalesForce
2012-09-06 в 16:17, admin, рубрики: java, SSO, Программирование, метки: java, SSO После 3 дней мучений и бесплодных попыток завести SSO для SalesForce спешу поделиться с сообществом правильным путем решения проблемы, дабы будущие поколения не тратили прорву драгоценного времени на битье головой об стену. Если интересно то прошу под кат.
Читать полностью »
IT-компот #21 Подкаст о программировании и технологиях
2012-09-06 в 8:26, admin, рубрики: подкасты, Программирование, метки: подкасты, Программирование 
Сегодня обсуждаем исключительно гиковские темы. Много времени уделяем Continuous Integration и организации бизнес-процессов в команде.
В выпуске:
- Зачем и когда нужен Continuous Integration. CI-сервера: TeamCity, Travis CI, Jenkins.
- Фильтрация строковых идентификаторов в Sphinx.
- «Правильный» бизнес-процесс создания ПО.
Слушать в Itunes
слушать на podfm
скачать файл(56.9 Мб)
Читать полностью »
Генерация дизайнерских идей при помощи генетического алгоритма
2012-09-06 в 6:55, admin, рубрики: EvoJ, Алгоритмы, Блог компании Luxoft, генетические алгоритмы, генетический алгоритм, дизайн, Программирование, метки: EvoJ, генетические алгоритмы, генетический алгоритм, дизайн Я, как и многие люди технического склада ума, испытываю трудности с рисованием и графическими решениями вообще. Я, конечно, могу отличить красивое решение от плохого, но оказываюсь в тупике, когда нужно нарисовать что-то с нуля, будь то пользовательский интерфейс приложения, презентация или открытка.
В своей прошлой статье я продемонстрировал, как можно использовать генетический алгоритм чтобы аппроксимировать изображение по заданному образцу. В этой статье, я покажу, как применить генетический алгоритм для генерации изображений «из головы».
Kinect for Window SDK. Часть 1. Сенсор
2012-09-06 в 4:26, admin, рубрики: .net, kinect for windows sdk, Microsoft Kinect, Программирование, метки: kinect for windows sdk- [Kinect for Windows SDK. Часть 1. Сенсор]
- Kinect for Windows SDK. Часть 2. Потоки данных
- Kinect for Windows SDK. Часть 3. Функциональные возможности
- Играем в кубики с Kinect
- Программа, апорт!
Три части обзорной статьи можно считать вводными к двум другим: «Играем в кубики с Kinect» и «Программа, апорт!». Хотя хронологически они идут последними. Более того, за время их написания Microsoft успел выпустить новую версию SDK – 1.5. Какой удар со стороны корпорации!
Как вам должно быть известно, Kinect – это бесконтактный контроллер, т.е. скажем в играх, вместо того, чтобы яростно стучать по клавиатуре или терзать gamepad, вы размахиваете руками и ногами и время от времени голосом даете какие-то команды. Самое время спрятать дорогие китайские вазы X века подальше!
Читать полностью »
Перехват видео в браузере или TCP сниффер под Windows на коленке (часть вторая)
2012-09-05 в 16:49, admin, рубрики: cниффер, windows, внедрение DLL, ловушки, перехват системных функций, Программирование, Софт, метки: cниффер, windows, внедрение DLL, ловушки, перехват системных функцийЭто обещанное дополнение к моему предыдущему посту, в котором рассказывается про альтернативную технику установки ловушек на функции. Одним из недостатков реализации ловушек в предыдущем посте было постоянное переписывание кода в начале перехваченной функции. В качестве альтернативы было упомянуто решение, которое не требовало бы постоянной перезаписи. Принципиальная схема его работы предоставлена здесь:
.jpg)
Исходники, детали и пояснения под катом…
Читать полностью »
Сериализация объектов в json формат для реализации REST API
2012-09-04 в 19:33, admin, рубрики: json, php, rest api, serialization, symfony, Программирование, метки: json, PHP, rest api, serialization, symfonyУже вот-вот выйдет версия Symfony 2.1, а в сообществе до сих пор нельзя реализовать «без костылей» полноценный REST, и, по-моему, здесь что-то не так. Недавно вышла статья с громким названием REST API’s with Symfony2: The Right Way, но, по существу, она лишь подтверждает мои слова. Вся проблема упирается в сериализацию и десериализацию объектов. Казалось бы, простейшая задача и решений должно быть много, но, к сожалению, нет. Давайте обо всем по порядку. Читать полностью »
Button c обведенным(stroke) шрифтом на Android
2012-09-04 в 19:29, admin, рубрики: android, interface, Программирование, Разработка под android, метки: android, interface, Программирование -shriftom-na-Android.png)
Понадобился мне для проекта один специфический элемент — кнопка с обведенным шрифтом. Казалось бы, что тут такого — google точно должен был это предусмотреть. Но, как оказалось, стандартными способами это сделать нельзя и нужно покопаться под капотом Button. Начал я свои поиски с тени для шрифта.
Но попытка сделать stroke шрифт таким способом провалится —
во-первых, линия вокруг букв будет размытой тем больше, чем больше вы укажете число в shadowRadius;
во-вторых, нельзя изменить ширину линии.
Немного поразмыслив, я реализовал класс, который делает все что требуется. Кого заинтересовало — прошу под кат.
Читать полностью »
Главный принцип хорошего кода
2012-09-04 в 19:03, admin, рубрики: Программирование, программирование как искусство, Проектирование и рефакторинг, разработка, философия программирования, философия разработки, метки: программирование как искусство, философия программирования, философия разработкиЗа двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.
Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут
Считаем Пи параллельно. Часть 1
2012-09-04 в 11:45, admin, рубрики: параллельное программирование, Программирование, метки: параллельное программирование 
В этой серии постов мы попробуем решить одну простую задачу с помощью более-менее актуальных технологий параллельного программирования (Нативные потоки, OpenMP, TBB, MPI, CUDA, OpenCL, OpenACC, Chapel может быть еще что-нить экзотическое. Как бы сравнительно и в hands-on ключе.
Читать полностью »

