
C# *
Объектно-ориентированный язык программирования
Пул соединений MySQL и как это можно использовать для распараллеливания
Типичные исправления после обновления Windows Store приложений с версии 8 до 8.1

Переводя свои приложения на платформу 8.1, я обнаружил, что это довольно несложное занятие, которое не требует особых усилий.
После перевода зачастую возникают типовые предупреждения, возникшие в результате несоответствия платформ. Разумеется, эти предупреждения желательно исправить.
Рассмотрим самые популярные исправления?
Хочешь вкусного пива, Arduino в помощь
С чего все началось?
Я студент технического ВУЗа. Однажды, сидя в кафе с другом, который тогда учился в медицинском университете, решили открыть бар. Было много идей, которые, в принципе, заслуживали некоторого внимания. Например, танц-пол, который изменяет угол наклона в зависимости от стиля музыки… Но, наряду со всем многообразием идей, так же была еще одна —
… а не сварить ли нам свое пиво?
Через пару недель я сварил пиво, взяв ингредиенты с пивзавода, на котором работал друг отца. Но многие технологические процессы были нарушены, поэтому вместо пива вышло что-то с не очень приятным запахом.
Через несколько лет решил повторить процесс, немного автоматизировав его с помощью Arduino UNO. И вот, что получилось.
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC
От переводчика
После публикации статьи пошло активное обсуждение. Советую почитать комментарии, так как статья не совсем правильна с технической точки зрения. Я рекомендую ее как материал для рассуждений, а не пособие к действию.
Вступление
Сегодня познакомимся с паттерном «Общий репозиторий» (Generic Repository) и подходом Unit of Work в приложениях ASP.NET MVC. Для этого создадим приложение «Книги», в котором будут реализованы операции создания, получения, обновления и удаления данных. Для упрощения понимания материала пример будет построен на использовании только одной сущности книги.
В предыдущей статье «CRUD Operations Using the Repository Pattern in MVC» мы уже создавали приложение с использованием репозитория для сущности книги, реализующее CRUD операции. Но если мы захотим создать подобное приложение, но уже корпоративного уровня, то нам придется создавать по репозиторию на каждую новую сущность. Проще говоря, мы будем дублировать код, что идет в разрез с подходом DRY — поэтому необходимо воспользоваться паттерном «общий репозиторий».

Удобный двоичный источник данных взамен Stream
Затруднение номер один: если данные одного и того же источника нужны в нескольких компонентах, то после того как один компонент считал какие то данные из Stream, то он их «потребил», и другим компонентам они уже никак не достанутся. Затруднение номер два: данные нам нужны в виде некоторых блоков, а в результате чтения блок может оказаться в буфере лишь частично (только три байта 32-х битного числа, только половина букв слова и т.д.). Нерациональное использование ресурсов возникает из-за того, что каждый читающий данные компонент должен создавать свой собственный буфер для чтения. Далее я предлагаю простое в использовании решение указанных затруднений, которое позволит очистить ваш код, получить высокую производительность чтения и получать универсальные компоненты.
Как тестировать не-публичные методы в .NET

Молодец!
Настоящие профессионалы не полагаются на случай, они
Хочешь чтобы внутри, за публичным интерфейсом, тоже все было покрыто тестами?
Эффективное обучение C# разработчиков или Правильное программирование на C# с нуля
Эффективное обучение C# разработчиков или Правильное программирование на C# с нуля (Фишки для новичков в программировании организационного характера)
Добрый день тебе, Читатель.
Причиной написания этой статьи стало моё увлечение C# и некотоые наблюдения, изложенные ниже.
Я и помогавшие мне тренеры по избранной мной дисциплине, применяли свой опыт и наблюдательность, преследуя простую цель: Хоть кому-то облегчить жизнь программиста, сделать обучение лучше и удобней. К тому же это такое, своего рода, инсайдерство — Чистой воды GNU философия, приложенная к Майкрософтовскому продукту.
Как и многие другие, я столкнулся с отсутствием систематических и позволяющих получить понимание предмета материалов, рассчитанных на людей, к программированию ранее отношения не имевших. Говоря иначе, стало ясно, что — Нету в Укрнете такого ресурса или библиотеки с online консультантом профи, которые давали бы возможность взять и понять основы программирования. Вы скажете, минуточку, а как же Сертификационные центры Майкрософт. Есть ещё мощный и системный «Кибер Бионик Систематикс». Есть академия «ШАГ», прости Господи, ставшая притчей во языцех. Но все же обучающая. Все же…
Конечно, всё это есть. Платно, но ладно — «Бог с ними». Лишь бы доступно. Лишь бы с пользой для людей…
Здесь речь пойдёт не совсем об этом. Здесь статья о Старте. Той ситуации, когда человек хочет научиться и ищет информацию. Ищет. Ищет. Хочет. Очень хочет. И, всё-же, находит (Речь же всё таки идёт о наших студентах:) и, конечно-же, делает ошибки (Речь же всё таки идёт о наших студентах:).
Вот на их (ошибок) базе и базе здравого чувства юмора, мы и построили данный материал.
Надеемся, он понравится Вам.
Singleton serialization или сад камней

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

Внимание! Статья изменена согласно последних изменений на 19/03/2014
Футбол на плюсе, ч.2: практическая
В основном манипуляции производились с данными, хранимыми в Excell, таблицы которого сформированы по 3НФ, поэтому в некоторых местах кода вместо индексов используются данные из ячеек. Итак согласно алгоритму необходимо получить коэффициент клуба и климатическую характеристику города, в котором этот клуб принимает соперников = команда: {климат, рейтинг} — это и есть основная цель. Поехали.
DropDownList, Задать «value» для default option в MVC 4
Но вот столкнулся с проблемой, решение которой в Гугле не нашел. Как вывести выпадающий список и задать значение по умолчанию. Думаю для «бывалых» — это будет не проблема. Это то, что один раз «проехать» и больше никогда не вспомнишь, что были проблемы с этим. но вот проехать для новичка бывает довольно затруднительно. Если честно, то поначалу было просто вывести выпадающий список тяжко. Хотя мануалы по ASP.NET MVC на порядок превосходят «Быстрый старт» для любого фреймворка пхп.
Сей мануал предполагает, что Вы уже оперируете знаниями, полученными при ознакомлении с этими статьями: Entity Framework в приложении ASP.NET MVC. Или этими: ASP.NET MVC 4 Tutorials
Начнем с вывода Выпадающего списка.
1) Модель. Аннотаций и связей нету для упрощения примера.
C# консоль для выполнения простых «скриптов»
Находясь в похожей ситуации, в течение 15 минут было создано довольно простое приложение которое похоже на консоль, но которое понимает C#.

Ближайшие события
Работа с GPS в WinCE (C#)
Введение
Всем привет!
В этой статье я хочу рассмотреть вопрос реализации доступа к данным GPS в устройствах на базе WindowsCE. При создании продукта СКАУТ-Навигатор, необходимо было разработать приложение, работающее как в WinСЕ версии 5.0, так и в WinCE версии 6.0, которое умеет получать данные NMEA с навигационного приемника, и записывать их в журнал.
Использование JSON контроллера MVC в Visual Studio на шаблоне Empty Web Site и языке C#
В конце статьи будет реализован JSON контроллер на основе библиотеки MVC.
Жизненный цикл Request в MVC 3 Framework приложении
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional );
Она представляет собой правило по которым выбираются маршруты. В простейших случаях, можно поменять местами action и controller, или добавить еще множество параметров, которые будут выглядеть в url следующим образом- param1/param2/param3/. Иногда, например в CMS системах, необходимо сделать так, чтоб часть url приходила как переменная.
routes.MapRoute(
"Default",
"{controller}/{action}/{*url}",
new { controller = "Content", action = "Home", url = UrlParameter.Optional
});
Это правило выделяет Action и Controller, а остальную часть присваивает переменной url.
Регистрируются Routes при старте приложения. А именно в файле Global.asax в методе Application_Start().
Для создания большинства приложений этих знаний хватает. Цель же моей статьи пройти весь жизненный цикл Request и посмотреть, что же происходит, перед тем как приложение разберет url и передаст управление нужному action.
Ликвидатор велосипедов, часть 3: языки программирования

Ссылка на первую часть серии: оконные системы
Ссылка на вторую часть серии: построение графиков

Просто о сложном: архитектура фронта для техлида

Привет, Хабр! Меня зовут Максим Вишневский, я архитектор (в основном фронтенда) и автор небольшого Telegram-канала Вишнёвые истории. Эта статья основана на моём докладе с TeamLead Conf++ 2024.
Сегодня я проведу для вас экскурсию в мир фронтенда и немного поделюсь болями: расскажу, из чего он состоит, как работает, обсудим архитектурные проблемы и почему формочку так долго поставлять в продакшен.
C#, Кодогенерация и DDD Часть 3.2 — Добавляем шины, обработчики сообщений и реализацию обработчиков сообщений

В прошлой статье мы сгенерировали Enpoint-ы WebApi по описанию на основе классов, свойств и атрибутов.
(первая часть, вторая часть, третья часть, четвертая часть)
В этой статье мы добавим генерацию абстракций EventHandler-ов, работающих с шиной, саму шину, реализацию EventHandler-ов для MassTransit, узнаем во сколько раз больше мы генерируем, чем пишем (на этот раз без ошибки).
Балансирование нагрузки при разделяемых ресурсах при помощи очередей в Hangfire

Привет, Хабр! При создании фоновых работ, например, через Hangfire, может быть актуально учитывать разделяемые ресурсы (например, базы данных, внешнюю API или файловую систему). Поскольку такие ресурсы являются ограниченными, возникает потребность управления количеством параллельно исполняемых задач без написания сложной логики. Интересующимся особенностями распределения ресурсов в Hangfire при помощи очередей — пожаловать под кат :)
Вклад авторов
sidristij 1681.2SergVasiliev 1163.0olegchir 1001.8n0mo 667.0sahsAGU 656.0marshinov 654.6tguev 652.6kekekeks 623.4DreamWalker 566.0