Pull to refresh
105
-1
Алексей Мерсон @m_a_d

Developer Advocate at Sage (Tinkoff)

Send message

Книга «Blazor в действии» в правильном переводе команды DotNetRu

Reading time 7 min
Views 7.2K

Совместно с издательством ДМК Пресс мы, сообщество DotNetRu, рады сообщить об окончании работы над переводом новой книги «Blazor в действии» Криса Сэйнти.

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

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

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 4

Книга «ASP.NET Core Security» в правильном переводе команды DotNetRu

Reading time 4 min
Views 5.6K

Сообщество DotNetRu совместно с издательством ДМК Пресс договорились на доработку и проверку перевода очередной книги. Напомним, что мы уже помогли выпустить три книги: «Управление памятью в .NET для профессионалов» Конрада Кокосы,  «ASP.NET Core в действии» Эндрю Лока и «EF Core в действии» Джона Смита. Издатель делает первоначальный перевод, а ребята из сообщества в качестве экспертов корректируют текст, придавая переводу оригинальный и непротиворечивый смысл.

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

Рады представить вам очередной результат совместных усилий: книга Кристиана Венца «Безопасность ASP.Net Core» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 1

Книга «EF Core в действии» в правильном переводе команды DotNetRu

Reading time 8 min
Views 9.8K

Около трех лет назад наше сообщество DotNet.Ru приняло участие в интересном эксперименте. Взаимодействуя с издательством ДМК-пресс, члены сообщества работали над переводом на русский язык замечательной книги Конрада Кокосы «Управление памятью в .NET для профессионалов». Перевести книгу на 1000 страниц со сложным техническим текстом стало для нас настоящим вызовом, но мы с ним справились и эксперимент оказался успешным. Сообщество получило качественный перевод отличной книги.

Вдохновившись результатами эксперимента, мы принялись за следующий проект — «ASP.NET Core в действии» Эндрю Лока. Если кто не знает, Эндрю Лок — настоящий эксперт в ASP.NET Core, также у него есть прекрасный блог, в котором он делится опытом и пишет глубокие технические статьи. Вторая книга пошла еще бодрее, рассказывали про нее тут.

А сегодня мы рады представить вам наш новый релиз: книгу Джона Смита «Entity Framework Core в действии» в правильном переводе от DotNetRu. EF Core стал почти стандартом при разработке .NET приложений, использующих реляционные базы данных, и большое число разработчиков успешно применяют его в своих проектах. Эта книга представляет собой подробное руководство по работе с этим инструментом и будет интересна как новичкам, так и опытным разработчикам.

Под катом расскажем о процессе перевода и снабдим промокодом на книгу и не только.

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 10

DotNetRu. 2020-2021. Итоги

Reading time 6 min
Views 3.6K

Привет, на связи DotNetRu – сообщество, объединяющее .NET разработчиков России и не только. Казалось бы, совсем недавно мы рассказывали про митапы и прочие наши активности 2019 года и с оптимизмом смотрели в наступающий 2020-й. Штош, начался он действительно бодро, но затем известные события чуть охладили наш пыл. Какое-то время мы посидели со всей страной в домике в надежде переждать неприятности. Но ближе к лету дошли до стадии принятия и провели митап онлайн, открыв новую большую главу в истории сообщества DotNetRu. И если в конце 2020-го хотелось просто сесть, выдохнуть и забыться, а не писать статьи на хабр, то сейчас, в начале 2022-го, мы полны сил и бодры как никогда!

Поэтому встречайте – итоги жизни сообщества сразу за два года! Под катом не только интересные истории, но и хит-парад докладов.

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 4

Книга «ASP.NET Core в действии» в правильном переводе команды DotNetRu

Reading time 4 min
Views 26K

Полтора года назад мы рассказывали про опыт совместной работы нашего сообщества DotNetRu с издательством ДМК Пресс над переводом книги Конрада Кокосы «Управление памятью в .NET для профессионалов». Напомним суть: издатель делал первоначальный перевод, а ребята из сообщества в качестве экспертов доводили текст до ума, пока кровь из глаз не превратилась в слезы счастья. В итоге книга была успешно напечатана и выпущена в продажу, а эксперимент признан успешным.

И сегодня мы рады представить вам наш следующий совместный проект: книга Эндрю Лока «ASP.NET Core в действии» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 28

Integration hell: путеводитель

Reading time 15 min
Views 2K

В мае 2021 года ваш покорный слуга выступил на Codefest c докладом про интеграции и связанные с ними трудности. Поездка на эту конференцию запомнилась сразу несколькими вещами. Во-первых, было чертовски приятно выступить оффлайн — организаторам и участникам большой респект! А во-вторых, ни одна компания из тех, где я раньше работал, не поддерживала так сильно своих спикеров, как это делает Каруна. И где, как не в блоге компании, публиковать расшифровку доклада.

Читать далее
Total votes 13: ↑12 and ↓1 +11
Comments 4

Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu

Reading time 5 min
Views 16K
Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов».

Это издание примечательно тем, что в переводе участвовали не только люди со стороны издательства, но и члены сообщества DotNet.Ru, практикующие разработчики, для которых эта книга действительно актуальна.

Под катом история о том, зачем мы в это ввязались, как был организован процесс и с какими трудностями мы столкнулись.


Читать дальше →
Total votes 41: ↑41 and ↓0 +41
Comments 25

DotNext 2019 Piter: небольшой отчёт

Reading time 5 min
Views 4.2K
15-16 мая прошла конференция DotNext 2019 Piter. Погода в Санкт-Петербурге стояла необыкновенно тёплая. Горожане недоверчиво глядели на странный жёлтый шар в непривычно синем небе и всё никак не могли решить, пора ли уже переходить на летнее пальто. А конгресс-центр гостиницы Park Inn Пулковская открыл двери для посетителей самого большого события в российском дотнете. Вспоминаем, как это было.


Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 5

DotNetRu на конференции DotNext 2019 Piter

Reading time 6 min
Views 2.6K


15-16 мая в Санкт-Петербурге пройдёт DotNext — крупнейшая в России конференция, посвящённая разработке на платформе .NET. В рамках конференции всероссийское объединение .NET-сообществ DotNetRu проведёт свой собственный трек. Мы соберёмся все вместе для того, чтобы обсудить будущее языка, платформы, технологий и сообщества в целом. Вас ждут круглые столы, викторины, конкурсы, подарки и, конечно же, общение.

imageПриятные сюрпризы для всех .NET'чиков обеспечат наши хорошие друзья Arcadia и Контур. У вас есть шанс заполучить: фирменные толстовки и футболки DotNetRu, браслеты Xiaomi Mi Band, лицензии от JetBrains, Raspberry Pi Starter Kit, шикарные наклейки и многое другое. А ещё книгу, которой нет, и наши фирменные медитативные лестницы. Если хотите представить уровень веселья, посмотрите, как это было на первом и втором слёте сообществ.


Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 1

Исчерпывающий список различий между VB.NET и C#. Часть 2

Reading time 42 min
Views 8.7K
В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow.

C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или нет? Рейтинг TIOBE строится на основе запросов в поисковиках, а рейтинг SO — на основе тегов задаваемых вопросов. Возможно, разработчики VB.NET, в число которых входит множество людей не айти специальностей, просто не знают о существовании StackOverflow? Или попав туда через гугл, а то и Bing, не понимают, как задать вопрос? А может быть им достаточно документации Miscrosoft, а все немногочисленные вопросы уже отвечены.

Так или иначе, доля VB.NET заметна и стабильна, пусть и не на первом месте по объему. И, конечно, такой результат был бы невозможен без сильной команды проектировщиков и разработчиков языка. Ниже — вторая часть перевода статьи участника этой команды, Энтони Грина.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 14

Исчерпывающий список различий между VB.NET и C#. Часть 1

Reading time 32 min
Views 22K
image

Согласно рейтингу TIOBE в 2018 году VB.NET обогнал по популярности C#. Совпадение или нет, но в феврале Эрик Липперт, один из создателей C#, призвал читателей обратить внимание на блог его друга, бывшего коллеги по команде компилятора Roslyn и, по совместительству, ярого фаната VB.NET, Энтони Грина. «Подобные ресурсы — это глубинные детали от экспертов, которые не так легко найти, читая документацию», пишет Эрик. Представляем вашему вниманию первую часть перевода статьи Энтони Грина «Исчерпывающий список различий между VB.NET и C#». Возможно, именно в этих различиях кроется секрет динамики рейтинга этих языков.
Читать дальше →
Total votes 37: ↑33 and ↓4 +29
Comments 20

Domain-driven design: рецепт для прагматика

Reading time 21 min
Views 66K

Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?

Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.
Total votes 45: ↑44 and ↓1 +43
Comments 29

Валидация: внутри сущностей или снаружи?

Reading time 3 min
Views 20K
Обратите внимание, что хотя пост написан от первого лица, это перевод статьи из блога Jimmy Bogard, автора AutoMapper.

Меня часто спрашивают, особенно в контексте архитектуры вертикальных слоев (vertical slice architecture), где должна происходить валидация? Если вы применяете DDD, вы можете поместить валидацию внутри сущностей. Но лично я считаю, что валидация не очень вписывается в ответственность сущности.

Часто валидация внутри сущностей делается с помощью аннотаций. Допустим, у нас есть Customer и его поля FirstName/LastName обязательны:
public class Customer
{
    [Required]
    public string FirstName { get; set; }
    [Required]
    public string LastName { get; set; }
}

Проблем с таким подходом две:
  • Вы изменяете состояние сущности до валидации, то есть ваша сущность может находиться в невалидном состоянии
  • Неясен контекст операции (что именно пытается сделать пользователь)

И хотя вы можете показать ошибки валидации (обычно генерируемые ORM) пользователю, не так-то просто сопоставить исходные намерения и детали реализации состояния. Как правило, я стараюсь избегать такого подхода.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 39

Использование C# и Wix# для создания msi-пакетов

Reading time 9 min
Views 39K
От переводчика: англоязычные it-блоггеры обычно начинают такие статьи со слов I'm so excited. Про Wix# я узнал совершенно случайно и спешу поделиться этим открытием с хабрасообществом, т.к. каждый, кто имел дело с «голым» WiX, знает, насколько неприятным может быть этот процесс. И вот теперь можно сделать msi-дистрибутив, написав всего лишь несколько строчек на C#! По-моему, это круто! А относительно недавно (4 дек 2014) автор Wix# Олег Шило дал интервью изданию InfoQ. Перевод этого интервью я и представляю вашему вниманию. И прошу не судить строго за кальку некоторых слов — тот же «деплоймент» мне как-то ближе, чем «развертывание».
Предоставим слово Олегу Шило, автору Wix#
Total votes 26: ↑24 and ↓2 +22
Comments 9

PDB-файлы доступны для загрузки в подписках DXperience и Universal

Reading time 1 min
Views 2.1K
Уже много лет компоненты DevExpress в подписках верхнего уровня поставляются вместе с полным исходным кодом. Это очень удобно и для клиентов, которые могут воспользоваться им как справочником в вопросах, не затронутых документацией, и для тех.поддержки, которая может написать «смотрите исходный код» в случае необходимости. Более того, имеются скрипты для самостоятельной сборки компонентов. Кому-то это будет полезно для доработки компонентов под свои задачи. Но уверен, что большинство как и я использовало пересборку для получения отладочной информации. И до недавнего времени это был единственный (из бесплатных) способ ходить по коду DevExpress в отладке.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 0

Домашний сервер/NAS на платформе Mini-ITX

Reading time 10 min
Views 277K
UPD3: наткнулся на статью, написанную на схожую тематику. И хотя появление двух таких статей с разницей в сутки — не более чем случайность, но моя вышла позже, а посему я чувствую необходимость это как-то прокомментировать. Во-первых, мне стали более понятны слова AbnormalHead. Если бы я прочитал ту статью раньше, моя не увидела бы свет в том виде, в котором она появилась. Во-вторых, я хотел бы более явно сформулировать цель моей статьи. Когда я собирал свою машину, я столкнулся с тем, что найти материнскую плату с двумя встроенными сетевыми адаптерами под Mini-ITX — это достаточно большая проблема в принципе (с тех пор ситуация в этом направлении улучшилась). Найти то же, но с более чем четырьмя портами SATA — проблема и сейчас, лично я другой кроме описанной в моей статье не знаю. Да, можно поставить дополнительный контроллер, но тогда придется отказаться от чего-то другого. То же и с mini-ITX корпусами: обычных полно, но они не подходят для NAS. Есть корпуса под NAS, но нестандартный блок питания с мелким и высокооборотным вентилятором будет раздражать если не вас, то ваших близких. Найти максимально гибкое решение, которое позволит не идти на компромиссы и собрать хоть NAS, хоть сервер виртуализации, хоть роутер — не так просто. В какой-то момент я уже думал, что невозможно. Однако же оно нашлось и именно им я хочу поделиться в этой статье. Да, она не про умный дом, но имея COM-порты, GPIO и Watchdog на плате его можно построить, а через LVDS можно прикрутить ЖК-экран от старого ноутбука, или вовсе управлять машиной удаленно через vPro/iAMT. Да, она не про NAS, потому что в ней нет ни слова о производительности и софте для этих целей, но из этой машины получится прекрасный NAS (и если взять соответствующий задаче процессор и объем памяти, то цена будет сильно ниже той, что вышла у меня). Да, она и не про домашнюю виртуализацию, потому что здесь не описан мой опыт установки SCVMM (тем более что он еще не закончен). Статья про платформу, на которой все вышеперечисленное можно без особых проблем организовать хоть вместе, хоть поотдельности. И при этом у вас будет не монстр, ревущий на всю квартиру и занимающий полкомнаты, а маленький, тихий, холодный корпус, который можно подключить к любому находящемуся поблизости монитору/телевизору, или не подключать вовсе. Надеюсь, этот опыт будет кому-то полезен.

Свой первый домашний сервер я собрал в 2008 году: Celeron E1400 на mATX платформе ASUS и всё это в прекрасном корпусе Antec NSK 1380. Корпус действительно хорош за исключением двух моментов: 1. Нестандартный формат блока питания (и как следствие возможность поставить только низкопрофильное охлаждение на процессор) 2. Малое число посадочных мест под накопители и плохое их охлаждение (поэтому я никогда не ставил туда больше одного диска — и так было тесно и жарко).

С ролью маршрутизатора эта машина справлялась прекрасно. Но организация на ней файлопомойки уже создавала неудобства: место вечно кончается -> приходится менять диск на новый большего размера (ну не чистить же его в самом деле!) -> для этого надо перенести на новый диск систему -> уж если переносишь, то не обновить ли ее заодно, а то пакеты с новыми часовыми поясами под текущую приходится искать чуть ли не собаками (пламенный привет Федоре) -> … И так каждый раз.

Захотелось собрать новый сервер, который позволил бы организовать RAID или хотя бы просто установить несколько дисков, чтобы решить проблему с местом радикально и надолго. А еще поднять несколько виртуальных машин для производственных нужд. А еще…

Но самый главный аргумент — это, конечно, желание пощупать новые железки! Поэтому я определился с требованиями и отправился в магазин гуглить.

Требования:
  • бесшумность
  • компактность
  • возможность удобной установки/замены дисков и достаточное количество посадочных мест (от 4)
  • универсальность (больше разъемов/интерфейсов, всяких и разных, мало ли что захочется прикрутить)


Форм-фактор Mini-ITX не был обязательным критерием, но логично вытекал из второго пункта. Поэтому я решил для себя, что попытаюсь выжать из него максимум и только в крайнем случае начну смотреть в сторону mATX.

Disclaimer
Знакомство автора с фотографией на момент описанных в статье событий ограничивалось несколькими снимками с камеры жены. Поэтому прежде чем читатель со словами “ну кто же так снимает!” потянется к оружию кнопке “-”, спешу сообщить — я встал на путь исправления! Также, пользуясь случаем, выражаю огромную благодарность моей жене за обработку фотографий. Да-да, это они еще обработаны!

Вот что получилось в итоге
Total votes 97: ↑79 and ↓18 +61
Comments 56

Библиотека morelinq: то, чего не хватает в LINQ to Objects из коробки

Reading time 4 min
Views 16K
Я думаю многим читателям блога .Net знакомо имя Jon Skeet. Особенно после вчерашнего прошлогоднего поста юзера SergeyT. Поэтому я не буду повторять про сравнение с Чаком Норрисом и первое место по карме на StackOverflow.com. А вот упомянуть лишний раз про его замечательную книгу “C# In Depth” точно лишним не будет. Центральное место в ней занимает LINQ вообще и LINQ to Objects в частности. Джон очень обстоятельно описывает все возможности языка C# и платформы .Net, которые сделали возможным появление LINQ в его нынешнем виде, а также подробности его реализации. Именно после прочтения этой книги я стал активно использовать LINQ to Objects в своих проектах. Однако в стандартной библиотеке не хватает нескольких крайне нужных операторов. К счастью, Джон Скит исправил это недоразумение. Так появилась небольшая, но очень полезная библиотка morelinq. А с конца прошлого года она доступна в виде NuGet-пакета.
Далее на нашем канале краткий обзор операторов morelinq
Total votes 33: ↑32 and ↓1 +31
Comments 42

Отладочные инструменты .NET разработчика

Reading time 10 min
Views 15K
От переводчика: я наткнулся на эту статью случайно, когда искал информацию по управлению загрузкой символов во время отладки. И хотя по этому вопросу информации было не так много, я с удовольствием прочитал всю статью. Большая часть были мне известна и до этого, но не всё. Уверен, что многие найдут в ней для себя что-то полезное. Статья написана полтора года назад, однако не все переходят на новые версии студии и сопутствующих инструментов сразу после их появления, так что актуальности статья не потеряла.
Читать дальше →
Total votes 34: ↑26 and ↓8 +18
Comments 10

«Читая некоторые статьи хабра, на глаза наворачиваются слезы от негодования» или деепричастные обороты в русском языке

Reading time 1 min
Views 679
Прочитав на главной странице очередное «Работая с svn нередко появляются моменты», возник вопрос: доколе? вас ничего не смущает в моем предложении? Например, а как это вопрос может читать.

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

И ведь правило здесь всего одно и очень простое:
Основное действие, выраженное сказуемым, и добавочное действие, выраженное деепричастием, должны выполняться одним и тем же действующим лицом.

Например, предложение из заголовка должно было бы быть записано так: «Читая некоторые статьи хабра, я плачу от негодования». Или же «Когда читаешь некоторые статьи хабра, на глаза наворачиваются слезы от негодования» — здесь деепричастный оборот заменен подчиненным предложением и проблема снимается.

Материал для самостоятельной проработки:

С наступающим первым сентября!
Total votes 147: ↑90 and ↓57 +33
Comments 24
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity