Рубрика «Блог компании Luxoft» - 6

Вот и подходит двухнедельный отдых к концу, а вместе с ним и накопившиеся темы с предыдущей встречи сообщества .Net разработчиков на CLRium. Эта серия постов примерно показывает уровень, с которым мы раскрываем темы на этом мастер-классе, а что будет во второй встрече, можно почитать по ссылке: CLRium #2.

Ссылка на проект в GitHub: Делаем отгружаемые сборки: взаимодействуем между доменами без маршаллинга - 7 DotNetEx

На множественных ресурсах время от времени задается вопрос. Можно ли сделать отгружаемые сборки с текущего домена? Так, чтобы попользовался и «давай, до свидания!»? Везде и всегда ответ, который давался – это «нет». Ведь единственное, что можно выгрузить – это домен. Соответственно, если хочется наладить отгрузку, сборку надо помещать в домен, и налаживать между доменами взаимодействие через сериализуемые типы. А это — очень медленное взаимодействие. А мы скажем так. Можно. С ньюансами. Загружать мы будем также в отдельный домен. Но отменим сериализацию при вызове методов между доменами.

Вопросы, которые мы будем решать:

  • Создание домена с возможностью отдачи объекта из домена в родительский
  • Выгрузка сборки

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

Снимаем дамп объектов с памяти .Net приложения - 1 Продолжаем тему интересного на .Net, от чего мир Java будет посмеиваться (хотя у них это также возможно сделать), а приверженцы С++ говорить: «чего они только не сделают чтобы не учить C++».

В данной заметке мы напишем по сути – простенькое ядрышко профилировщика памяти для платформы .Net, который будет снимать дамп с SOH кучи (а в перспективе и с LOH).

Для написания статьи нам понадобится код из статьи Снимаем дамп объектов с памяти .Net приложения - 2 Получение указателя на объект .Net и Снимаем дамп объектов с памяти .Net приложения - 3 Ручное клонирование потока (измерение размера объектов).

Наши цели на сегодня:

  • Научиться итерировать кучу .Net
  • Научиться находить начало кучи .Net
  • Попробовать сытерировать все объекты чужого домена.

Ссылка на проект в GitHub: Снимаем дамп объектов с памяти .Net приложения - 4 DotNetEx

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

Roslyn: встреча .Net сообщества на CLRium #2 - 1 Довольно долгое время я пытался изучить Roslyn, но как и все мы, столкнулся с единой проблемой: времени на это абсолютно не было. Как обычно решается этот вопрос? Мы идем на множество ресурсов и ищем доклады и статьи на интересующую нас тему и как по шаблону повторяем движения автора, который показывает как этим пользоваться. С чем мы сталкиваемся, когда ищем описания тем, предложенных на CLRium? Мы не находим ничего. Т.е., конечно, Google выдает что-то по запросам “Roslyn”, “Roslyn samples”, но все-таки это тысячу раз разжеванные примеры, и притом древние как мамонты по меркам выхода новых версий CTP. Это важно, т.к. наличие информации предполагает развитость той или иной инфраструктуры. А самая крутая и единственная статья по Roslyn на данный момент — это эта: Roslyn: встреча .Net сообщества на CLRium #2 - 2 Roslyn для автоматического перевода кода C# в 1С-код
Отсюда и возникли идеи рассказать на CLRium про Roslyn, RyuJIT, CoreFx, шаринг объектов между процессами и прочие вопросы, на которые сложно найти ответы в сети Интернет.
Читать полностью »

Добрый день, уважаемые разработчики (просто не знал, с чего начать пост). Предлагаю перед тем как начнется трудовая неделя немного подразмять мозги (совсем немного) и построить свой Small Objects Heap для .Net. Вернее даже не Small Objects Heap, а Custom Objects Heap. Это — один из примеров прошлогодней конференции CLRium, новая итерация которой состоится Продолжаем кромсать CLR: пул объектов .Net вне куч SOH-LOH - 1 в Апреле — в Москве и в Мае — в Питере

Как все мы знаем, в .Net существует две группы куч: для больших и малых объектов. Как выяснить, во сколько нам обойдется объект можно при помощи кода из этой статьи (он нам пригодится): Продолжаем кромсать CLR: пул объектов .Net вне куч SOH-LOH - 2 Ручное клонирование потока, а получить указатель на объект и по указателю получить сам объект можно научиться, прочтя эту статью: Продолжаем кромсать CLR: пул объектов .Net вне куч SOH-LOH - 3 Получение указателя на объект .Net. Также нам понадобится статья корейского (южно-) программиста по перенаправлению указателя на скомпилированную часть метода на другой метод: 실행 시에 메서드 가로채기 — CLR Injection: Runtime Method Replacer 개선

Так что давайте поэкспериментируем и напишем библиотеку, которая позволит:

  • Аллоцировать участок памяти
  • Разметить его как набор объектов определенного .Net типа
  • Выделять объекты с этой памяти
  • Возвращать их обратно

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

Переводил три дня с переменным успехом, осталось текста в два раза больше =) Наслаждайтесь историей успеха, которую мало кто знает, но сам продукт при этом знают все.

История создания Norton Commander. Часть 1 - 1

Пьяный программист сидит с открытым Norton Commander на экране. На обоих панелях открыт диск С. «Ну и зачем мне два диска С с одними и теми же файлами?» — подумал он и стер все его содержимое, нажав F8 и Enter.
— анекдот конца 80-х годов.

Нортон (Norton Commander) for DOS – это файловый менеджер для DOS, который существовал в 5 основных версиях – 1.0, 2.0, 3.0, 4.0, 5.0, причем только последняя версия имеет подверсию 5.5. Многие версии до сих пор используются различными энтузиастами и лежат на различных сайтах по сети Интернет.
Например, сайт Symantec содержит такой раздел FAQ: «Поддерживает ли Norton Commander 1.0/2.0 работу под MS Windows NT 5 (Beta)?»

Это был, возможно, один из самых популярных файловых менеджеров в эпоху операционной системы DOS, который наряду с XTree порвал со своими корнями DOS и в виде других программ, унаследовавших его функциональность, которые существуют на других операционных системах.
Читать полностью »

Интересное по хабу .Net за 2014 год. Часть 2 - 1 Пропустившим самое интересное за год в хабе .Net посвящается данный пост.

Если вы мало ли пропустили первую часть, вот она

Интересное по хабу .Net за 2014 год. Часть 2 - 2 UDP и C# async/await
Интересное по хабу .Net за 2014 год. Часть 2 - 3 Пишем Skype бота на C# с модульной архитектурой
Интересное по хабу .Net за 2014 год. Часть 2 - 4 Расширенные инструкции процессора в .NET или «C# Intrinsics»
Интересное по хабу .Net за 2014 год. Часть 2 - 5 NemerleWeb — Уникальный веб-фреймворк
Интересное по хабу .Net за 2014 год. Часть 2 - 6 Как я перестал бояться и полюбил Windows 10
Интересное по хабу .Net за 2014 год. Часть 2 - 7 Изменение кода системных сборок или «утечка» .Net Framework 5.0
Интересное по хабу .Net за 2014 год. Часть 2 - 8 UDP и C# Reactive Extensions
Читать полностью »

Интересное по хабу .Net за 2014 год - 1 Мы с вами люди рабочие и зачастую не замечаем ничего что происходит за пределами нашей работы. Так и я, работая изо дня в день, знаю только про свой SpecFlow и смежные вопросы. Но ничего – по сторонам. Этим постом я хочу восполнить пробелы новостей в области .Net

Новости хаба .Net на Хабре занимают 33 страницы или 328 постов. Что говорит о том что новости появляются почти каждый день =) Посмотрим на самое интересное из них (на мой скромный взгляд). Ну и загляните под кат: до ката, конечно же, не все.

Интересное по хабу .Net за 2014 год - 2 Доступен новый JIT: теперь с поддержкой SIMD
Интересное по хабу .Net за 2014 год - 3 Как работает декомпиляция в .Net или Java на примере .Net
Интересное по хабу .Net за 2014 год - 4 Microsoft раскрыла исходный код компилятора С#
Интересное по хабу .Net за 2014 год - 5 Consulo: ~1000 коммитов, или как прошла осень
Интересное по хабу .Net за 2014 год - 6 Под капотом у Stopwatch
Интересное по хабу .Net за 2014 год - 7 Как тестировать код финализатора (c#). Послесловие: тест все-таки упалЧитать полностью »

Мясо на любителя. Встреча .Net сообщества на CLRium #2. Москва, Питер, online - 1 Я не люблю заезженное слово «конференция». Это — встреча разработчиков с общими интересами, которые хотят послушать о трюках, которые позволяют обходить правила, установленные в.Net Framework, которым интересна тема использования меняющих и создающих языки, тулов. А также, что можно получить если знаешь как компилировать и декомпилировать приложение. Об этом не говорят. Потому что разговор на эту тему слишком долгий чтобы уместить в формат одного часа стандартного выступления на конференциях. Я пробовал выступать на .NEXT, и помимо положительных отзывов были «галопом по Европам». Согласен, за час не уложиться. Добро пожаловать в полный формат!

Я надеюсь, в вашей памяти теплится еще прошлый CLRium и сейчас никто не отчаивается и яро смотрит на технологии и все с удовольствием готовы их поглощать. Я помню и время от времени поглядываю на ваши многочисленные отзывы, которые греют мое желание провести все еще раз. Причем на этот раз — с хорошей и полезной практикой.

Теперь у нас целых два дня. Причем вы можете купить билет как на один, так и на оба дня. Первый день — как в прошлый раз: много хардкора, не практичного, но очень интересного… Позволяющего еще лучше понять как все работает и как этим можно воспользоваться… Тем со временем еще немного накидаю. Много мяса на любителя. И второй — практика. Второй длиннее первого. На час =). Во второй день будет очень много Roslyn, JetBrains Nitra (он же N2, он же Nemerle2)? RyuJIT, .Net Framework open sourced. Вот честно, я бы сам сходил

Почитать и зарегистрироваться

Мясо на любителя. Встреча .Net сообщества на CLRium #2. Москва, Питер, online - 2

cool Примеры статей и полный список тем выступлений — под катом
Читать полностью »

Прагматичное интеграционное тестирование может повысить вашу производительность и гарантировать развертывание JavaEE-приложения.

Адам Бин (Германия) – консультант, тренер, архитектор, член экспертной группы Java EE 6 и 7, EJB 3.X, JAX-RS, и JPA 2.X JSRs. Java Champion, Top Java Ambassador 2012 и JavaOne Rock Star 2009, 2011, 2012 и 2013 гг. Автор книг «Real World Java EE Patterns–Rethinking Best Practices» и «Real World Java EE Night Hacks–Dissecting the Business Tier».

Предлагаем вам ознакомиться с переводом статьи Адама «Integration Testing for Java EE»
Читать полностью »

С# 6, Roslyn, умные дома и контроль дизайна приложений на онлайн встрече DevLabs - 1 Что является главным на любой конференции для разработчиков? На мой взгляд любую конференцию определяют не организаторы, не помещение и даже не наличие обедов. Их прежде всего определяют люди и те доклады, которые они делают. Ведь при годных и интересных докладах остальное уходит на второй план =) Потому, при проектировании очередной онлайн встречи разработчиков .Net мы крайне ответственно подошли к вопросу выбора спикеров и тем. В перенасыщенную конференциями, осень, мы рады представить онлайн-конференцию по вопросам разработки на платформе .Net.

Что будет? Три НЕ разжеванные вдоль и поперек, темы. Онлайн-конференция, на которую можно сходить бесплатно, из любого города. И послушать про новый язык C#6, Roslyn и историю его эволюции, про возможность сделать умный дом привычными для .Net разработчика, средствами и про автоматическую проверку нарушений дизайна приложений при помощи зарекомендовавшего себя годами, продукта PostSharp, который совсем недавно обжился новыми функциями и поддержал кросс-платформенную разработку с Xamarin

Я рекомендую пройти под кат (либо напрямую к нам в DevLabs) и ознакомиться со спикерами и темами докладов более подробно и записаться. Ведь несколько часов экспертного мнения никогда не повредит.

Онлайн-встреча будет проводиться: 20 декабря, в субботу, с 12:00 до 16:30
Читать полностью »


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