Обновить
2
0
Владимир Калязин@Corelfrim

.NET Разработчик

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

8 приемов работы с CSS: параллакс, «липкий» футер и другие

Время на прочтение4 мин
Охват и читатели65K


От переводчика: перевели для вас статью Брета Кэмерона о хитростях в работе с CSS. Многие моменты пригодятся не только новичкам, но и опытным разработчикам.

Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий.

CSS — специфическая технология. На первый взгляд она кажется очень простой. Но некоторые эффекты, которые в теории кажутся простыми, не являются таковыми на практике.

Я покажу несколько приемов и расскажу о принципах их использования в CSS. Сама по себе статья не о сложностях. Наоборот, она призвана сделать вашу работу более комфортной.

Низкоуровневая оптимизация параллельных алгоритмов или SIMD в .NET

Время на прочтение12 мин
Охват и читатели49K
image

В настоящее время огромное количество задач требует большой производительности систем. Бесконечно увеличивать количество транзисторов на кристалле процессора не позволяют физические ограничения. Геометрические размеры транзисторов нельзя физически уменьшать, так как при превышении возможно допустимых размеров начинают проявляться явления, которые не заметны при больших размерах активных элементов — начинают сильно сказываться квантовые размерные эффекты. Транзисторы начинают работать не как транзисторы.
А закон Мура здесь ни при чем. Это был и остается законом стоимости, а увеличение количества транзисторов на кристалле — это скорее следствие из закона. Таким образом, для того, чтобы увеличивать мощность компьютерных систем приходится искать другие способы. Это использование мультипроцессоров, мультикомпьютеров. Такой подход характеризуется большим количеством процессорных элементов, что приводит к независимому исполнение подзадач на каждом вычислительном устройстве.
Читать дальше

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Время на прочтение26 мин
Охват и читатели1.2M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

Если вы пишите запросы на языке T-SQL, но плохо понимаете откуда берутся данные, то стоит прочитать данный перевод.
Если же вы захотите знать больше, то в конце перевода я даю тройку книг с которых следует двигаться дальше.

Перейти к чтению

Корректный ASP.NET Core

Время на прочтение14 мин
Охват и читатели82K

Корректный ASP.NET Core


Специально для любителей книг из серии "С++ за 24 часа" решил написать статью про ASP.NET Core.


Если вы раньше не разрабатывали под .NET или под какую-то аналогичную платформу, то смысла заходить под кат для вас нет. А вот если вам интересно узнать что такое IoC, DI, DIP, Interseptors, Middleware, Filters (то есть все то, чем отличается Core от классического .NET), то вам определенно есть смысл нажать на "Читать дальше", так как заниматься разработкой без понимания всего этого явно не корректно.

Читать дальше →

Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET

Время на прочтение9 мин
Охват и читатели54K

Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.



Читать дальше →

Инфраструктура System.Transactions в мире .NET

Время на прочтение33 мин
Охват и читатели34K

Встречали ли вы в C# конструкцию типа using (var scope = new TransactionScope(TransactionScopeOption.Required))? Это значит, что код, выполняющийся в блоке using, заключается в транзакцию и после выхода из этого блока изменения будут зафиксированы или отменены. Звучит понятно, пока не начинаешь копать глубже. И чем глубже копаешь, тем «страньше и страньше» становится. Во всяком случае, у меня при более близком знакомстве с классом TransactionScope и вообще транзакциями .NET возникла целая уйма вопросов.

Что за класс TransactionScope? Как только мы используем конструкцию using (var scope = new TransactionScope()), все в нашей программе сразу становится транзакционным? Что такое «управляющий ресурсами» (Resource Manager) и «управляющий транзакциями» (Transaction Manager)? Можно ли написать свой управляющий ресурсами и как он «подключается» к созданному экземпляру TransactionScope? Что такое распределенная транзакция и правда ли, что распределенная транзакция в SQL Server или Oracle Database — это то же самое, что и распределенная транзакция .NET?

В данной публикации я постарался собрать материал, помогающий найти ответы на указанные вопросы и сформировать понимание транзакций в мире .NET.
Читать дальше →

Аутентификация asp .net core через IdentityServer4

Время на прочтение3 мин
Охват и читатели23K
Тут не будет ничего необычного, один фреймворк «IdentityServer4» будет выполнять аутентификацию по логину и паролю на неком Api, плюс еще обрабатывать refresh_token.

Работать он будет с существующим IdentityDbContext, IdentityUser.

По итогу получится сценарий при котором, для каждой аутентификации будет выдан и сохранен в таблицу «PersistedGrants» один refresh_token. Это один из четырех типов разрешений OAuth 2.0:

Учётные данные владельца ресурса (Resource Owner Password Credentials): используются доверенными приложениями, например приложениями, которые являются частью самого сервиса.

Все работы по обслуживанию токенов берет на себя фреймворк.

Итак начнем.
Читать дальше →

События C# по-человечески

Время на прочтение6 мин
Охват и читатели510K

Невозможно, просто взять и вникнуть в этот глубокий смысл, изучая События (event) в просторах базового и, на первый взгляд, бесконечного C#.

Когда я изучал События (не в рамках .NET!), потратил много сил, чтобы, наконец-то, разобраться, как они устроены и должны конструироваться. Поэтому, я решил опубликовать свою методику понимания структуры пользовательского события, коим представляется ключевое слово event в С#.
Не буду цитировать и без того замученную MSDN, а постараюсь объяснить понятно и доступно.
Читать дальше →

Лицензирование музыки для инди-разработчиков

Время на прочтение8 мин
Охват и читатели21K
image

Когда я начала думать над созданием игры Bollywood Wannabe, одной из первых проблем была музыка. Мне нужны были песни, которые в сочетании с соответствующей графикой и геймплеем воссоздавали бы ощущения от просмотра болливудских фильмов. Музыку при разработке игр часто игнорируют, но в музыкальной игре (rhythm game) плохих композиций быть не может. Большинство песен в Bollywood Wannabe лицензировано — редкий случай для инди-игры. Мне задали кучу вопросов по этой теме, поэтому я написала небольшую инструкцию по лицензированию музыки для инди-разработчиков.

Зачем лицензировать музыку?


Сегодня инди-разработчики имеют множество разных вариантов. На многих сайтах продаются треки по лицензии без отчислений, есть даже бесплатная музыка разнообразных стилей. Кроме того, есть множество композиторов, готовых писать оригинальную музыку за небольшую цену. Но иногда этого недостаточно. Если вам нужны очень специфические песни или саундтрек, который выделит вашу игру на фоне остальных, то для вас подойдёт лицензирование.

Для Bollywood Wannabe мне нужна была очень специфическая музыка. После долгих поисков мне удалось найти для игры две песни с лицензией без отчислений (royalty free). Но мне нужно было десять. Я не знала ни одного композитора, способного написать остальные, и даже если бы и нашла его, это было бы слишком дорого. Оптимальнее всего оказалось найти уже выпущенные песни и убедить их авторов продать мне лицензию.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность