Как стать автором
Обновить
225
0
Акиньшин Андрей @DreamWalker

Performance Methodologist at JetBrains

Отправить сообщение

Шпаргалка по языку R

Время на прочтение2 мин
Количество просмотров57K

Многие слышали про R — язык программирования и систему статистических вычислений. Язык весьма популярен за рубежом, а вот в России, к сожалению, на нём пишут относительно мало. Да и ресурсы на русском языке можно по пальцам пересчитать. Я считаю, что ситуацию нужно как-то исправлять.
На официальном сайте есть такая замечательная штука, как R reference card. В базовых пакетах R содержится множество очень полезных функций, которые делают программирование действительно быстрым и лаконичным. Но новички, как правило, большую часть самых прекрасных функций не знают. Да и не откуда узнать — мануалы очень большие, мало кто их полностью читает. А вот R reference card позволяет совершить быстрое путешествие по основной функциональности и вынести для себя много полезного.
Я решил перевести этот замечательный документ на русский язык. Но не просто перевести, а сделать его немного получше. Я чуток поменял структуризацию, для каждой функции поставил ссылку на документацию, убрал избыточные описания.
Предлагаю вам ознакомиться с результатом. Готов к любым замечаниям и предложениям, чтобы сделать этот список ещё лучше. Надеюсь, что данный обзор R окажется полезным для многих людей, которые решили начать писать на этом прекрасном языке.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии1

Как мы приложение с Silverlight на Windows 8 портировали

Время на прочтение6 мин
Количество просмотров7.5K
Недавно мы портировали на Windows 8 относительно объемное бизнес приложение — редактор диаграмм, флоу чартов и другой деловой графики. Изначально этот редактор был написан под платформу Silverlight, но мы его переписали под Windows Runtime и успешно разместились с ним в Windows 8 Store. К сожалению, стандартных контролов нам очень не хватало, поэтому попутно пришлось ещё написать свою библиотеку контролов. И теперь мы готовы поделиться опытом. В этой статье собран ряд нюансов разработки приложений под Windows 8 — от проектирования интерфейса пользователя до технических деталей по работе с DirectX.

Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии29

Шаблон диссертации в LaTeX

Время на прочтение1 мин
Количество просмотров58K
Недавно я начал нелёгкое дело по вёрстке диссертационной работы в LaTeX-е. Естественным первым желанием было найти какой-нибудь готовый шаблон. Увы, я не нашёл ничего, что подходило бы под мои нужны. Поэтому я решил сделать свой шаблон (с преамбулой и макрокомандами)! Сразу скажу по поводу соответствия шаблона ВАК-овским требованиям: строгих требований нет (можете сами посмотреть список нормативных документов). Однако определённые требования могут быть у конкретного совета (но они, как правило, весьма похожи и соответствуют здравому смыслу). В своём шаблоне я постарался учесть общие тенденции в оформлении такого рода работ. Не буду приводить кучу технических особенностей вёрстки в LaTeX (на эту тему и так хватает статей), а просто поделюсь готовым результатом: GitHub.
Почитать о содержимом шаблона
Всего голосов 67: ↑65 и ↓2+63
Комментарии62

Mono 3.0

Время на прочтение1 мин
Количество просмотров17K
18-го октября вышла новая версия свободной кроссплатформенной реализации .NET Framework: Mono 3.0. Полный список новых фич можно найти в Release Notes на официальном сайте, а пока что некоторые из них:
  • Поддержка асинхронной модели программирования C# 5.0
  • Единый C#-компилятор для всех профилей
  • C# Interactive Shell
  • 4.5 Async API Profile
  • Работа с ASP.NET MVC 4, ASP.NET WebPages, Entity Framework, Razor, System.Json
  • Сборщик мусора с улучшенной производительностью
  • Поддержка CodeContracts
  • Частичная поддержка Portable Class Libraries
Всего голосов 47: ↑46 и ↓1+45
Комментарии23

Понимание ООП в JavaScript [Часть 1]

Время на прочтение16 мин
Количество просмотров338K
— Прототипное наследование — это прекрасно
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.

Одна из таких особенностей — это реализация прототипного наследования. Этот простой концепт является гибким и мощным. Он позволяет сделать наследование и поведение сущностями первого класса, также как и функции являются объектами первого класса в функциональных языках (включая JavaScript).

К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
Читать дальше →
Всего голосов 129: ↑119 и ↓10+109
Комментарии71

Doppio — JVM, Компилятор и дизассемблер в JavaScript

Время на прочтение2 мин
Количество просмотров9K
На сегодняшний день мы не испытываем недостатка в прекрасных вещах, которые написаны на JavaScript. Да и реализации JVM в JavaScript мы уже видели. Теме не менее, Doppio представляет собой наиболее полную и активно развивающуюся JVM.


Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии23

Вы не поверите, насколько прекрасный офис у Нотча

Время на прочтение1 мин
Количество просмотров138K
Ну, быть может, поверите. Minecraft от Mojang — это история успеха. Это не только означает, что шеф Mojang-а Notch (он же Markus Persson) может позволить себе хорошие шляпы, это также означает, что студия может позволить себе хорошее рабочее место. Ребята, да только посмотрите на это рабочее место!

Студия недавно переехала на новую большую площадку. Сейчас это самый красивый офис в Швеции, поскольку он был номинирован на «Sveriges Snyggaste Kontor 2012». Поздравляем! Всегда приятно видеть, что люди делают что-то хорошо.

Вот, посмотрите на рабочее место Mojang, облачённое в кожу и покрытое деревом:
Читать дальше →
Всего голосов 90: ↑77 и ↓13+64
Комментарии67

Knockout MVC — Сила Knockout.js для ASP.NET MVC

Время на прочтение7 мин
Количество просмотров54K
knockoutmvcДля тех кто не в курсе, Knockout.js — это популярная JavaScript библиотека, позволяющая реализовать Model-View-View Model (MVVM) паттерн на клиенте. На Хабре уже много писали про него (раз, два, три, четыре, пять, видео). Освоить Knockout.js можно очень быстро — ведь есть система интерактивного обучения, куча живых примеров (можно потыкать и посмотреть исходный код) и прекрасная документация.

Очень часто Knockout.js используют в связке с ASP.NET MVC — ведь библиотека существенно упрощает написание клиентской логики. Однако, возникает много типичных проблем для клиент-серверной разработки: основную модель и часть логики её обработки приходится описывать как на клиенте (JavaScript), так и на сервере (C#/VB). Кроме того, есть рутинная часть, связанная с обращением клиента к серверным методам и передачи им модели для обработки. Но не стоит печалиться! Теперь у нас есть Knockout MVC — это .NET оболочка для Knockout.js, которая генерирует весь нужный JavaScript-код за нас. Нам остаётся только описать нашу модель на C# и в MVVM-стиле указать для каждого нужного html-элемента к какому свойству модели нужно привязаться (а можно указать и целые выражения — они будут транслированы в js). Таким образом, можно получить полноценное кроссбраузерное клиентское веб-приложение без единой строчки JavaScript!
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии24

Вышел ReSharper 6.1

Время на прочтение1 мин
Количество просмотров788
JetBrains выпустили ReSharper 6.1. В новой версии исправлены многие проблемы производительности, добавлена поддержка Async CTP (список нововведений), обновлён движок настроек (список нововведений), добавлена экспериментальная поддержка Visual Studio 11 Developer Preview. Скачать новую версию можно с официального сайта
Всего голосов 29: ↑25 и ↓4+21
Комментарии11

Silverlight 5 Released!

Время на прочтение1 мин
Количество просмотров5.1K
Microsoft выпустили Silverlight 5. Поддержка будет производиться до 2021 года.



Установочный файл Silverlight 5 весит меньше 7МБ и устанавливается за 10 секунд. В него добавили много вкусного и полезного.
Читать дальше →
Всего голосов 64: ↑40 и ↓24+16
Комментарии34

Введение в Microsoft “Roslyn” CTP

Время на прочтение4 мин
Количество просмотров33K

Почему Roslyn?


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

Как пишет Soma в своём блоге, часть Visual Studio language team работает на проектом, который называется Roslyn. Его главная цель — переписать компиляторы C# и VB и создать языкове сервисы в управляемом коде. С чистым, современным и управляемым кодом наша команда сможет быть более продуктивной, внедрять инновации быстрее и выдавать больше возможностей скорее и с лучшим качеством.

Более того, мы открываем компиляторы C# и VB со всей их внутренней информацией, делая доступным для вас анализ кода. Мы предоставляем публичное API и обеспечиваем точки расширения в языковых сервисах C# и VB.

Это открывает новые возможности для расширений VisualStudio — написание мощных инструментов рефакторинга и утилит языкового анализа, а так же позволит любому использовать наши парсеры, семантические движки, генераторы кода и сценариев в своих проложениях.
Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии13

Вышел Microsoft “Roslyn” CTP

Время на прочтение1 мин
Количество просмотров8.4K
Большинство компиляторов на текущий момент являются чёрными ящиками — они превращают исходный код в объектные файлы или сборки. Цель “Roslyn Project” от компании Microsoft — открыть компиляторы Visual Basic и C#, дав разработчикам возможность пользоваться API, предоставляющим SyntaxTree, Emit API, Symbol API, Binding & Flow Analysis API. Над API надстраивается множество полезных сервисов:


Roslyn можно использовать для генерации кода, анализа и оптимизации, а так же поддержки сценариев и интерактивного использования VB и C#. На днях вышел Microsoft “Roslyn” October 2011 CTP, который уже можно скачать и попробовать на деле. Под катом подборка ссылочек по теме.
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии7

Roslyn Project — compiler as a service

Время на прочтение1 мин
Количество просмотров3.7K
Не так давно в рамках конференции Build был доклад «Future directions for C# and Visual Basic» от Anders Hejlsberg, в котором анонсировался Roslyn Project. Сейчас об этой разработке известно не так много, но я постараюсь осветить наиболее интересные моменты, имеющиеся на данный момент.

В настоящее время компиляторы C# и Visual Basic представляют из себя чёрный ящик — они берут исходный высокоуровневый код и выдают нам готовый IL-код. Roslyn Project представляет из себя compiler as a service, т.е. компилятор, предоставляющий разработчику API, позволяющее добираться до его внутренних данных. Теперь можно анализировать код и принимать участие в компиляции — проводить модификацию исходного кода, создавать дополнительную функциональность для C# и VB.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии8

Эрик Липперт — Генерация всех произвольных деревьев

Время на прочтение3 мин
Количество просмотров8.7K
BinaryTrees1В прошлый раз мы говорили о том, что число бинарных деревьев с n вершинами равно C(n), где C(n) – это n-ое число Каталана. Я заинтересовался чего больше: произвольных деревьев из n вершин или бинарных деревьев из n вершин. Ответ может вас удивить, он не лежит на поверхности.
BinaryTrees2

Распространённый ответ на этот вопрос я получу сразу: «Разумеется, произвольных деревьев больше, т.к. бинарное дерево – это частный случай произвольного дерева». Можете ли вы сказать, почему это неверно? Бинарных деревьев больше, чем произвольных деревьев! Существует два бинарных дерева из двух вершин: одно с левым потомком ребёнком корня, а другое – с правым потомком корня. Но есть только одно произвольное дерево с двумя вершинами, в нём нет разницы между «левым» и «правым» потомком.
Читать дальше →
Всего голосов 73: ↑57 и ↓16+41
Комментарии12

Эрик Липперт — Генерация всех бинарных деревьев

Время на прочтение4 мин
Количество просмотров12K
Раньше я описывал небольшой алгоритм, который делал небольшие операции на бинарными деревьями. Я хотел протестировать его. Я попробовал несколько небольших тестов и они прошли, но я не был доволен. Я был почти уверен, но возможно какая-то непонятная топология бинарного дерева могла привести к ошибке. Я сообразил, что существует конечное количество бинарных деревьев данного размера. Я решил попробовать их все.
Читать дальше →
Всего голосов 39: ↑32 и ↓7+25
Комментарии8
2

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность