16.02.2014
|
|||||||
|
Здравствуйте, Аноним, Вы писали:
А>Мне кажется второй способ более простой и удобнее для чтения отладки и т.п. А>Есть ли какая-то эффективность у 1го способа или это уже можно считать как устаревший подход ? На нынешнем этапе развития науки и техники устаревшим считается скорее второй подход. Во всех трех вариантах: 1) Begin/End-методы, 2) обертка Task.FromAsync над ними, упомянутая TK и 3) синхронные сетевые вызовы в теле таски, непосредственно вызовы и ожидания ответов действительно происходят в потоках из IO-пула. Но вариант №3 потребляет _еще_один_ поток, в дополнение к уже потребляемым IO-потокам. Т.е. в общем случае требует в два раза больше потоков (=> в два раза больше памяти) и рано или поздно упрется в лимит на их число. Преимущества первых двух вариантов над третьим особенно хорошо видны, если принудительно ограничить размер ThreadPool-а: [c#] class Program { const int CallCount = 30; |
||||||
16.02.2014
|
|||||||
|
На днях компания Apple представила новый документы: Secure Coding Guide. Вышло у них немного "водянисто", но в целом стоит отметить хорошую структурированность и продуманность документа.
|
||||||
11.02.2014
|
|||||||
|
В Компьютерре вчера была опубликована статья Михаила Ваннаха "Так зачем DARPA открывает всему свету закрома инноваций?".
|
||||||
31.01.2014
|
|||||||
|
Да, на сайте не так давно появилась поддержка раскраски Objective-C. Тэга нет в в панеле редактирования, так что вставлять вручную [ objc ], само собой без пробелов, и будет вам счастье
![]()
|
||||||
04.02.2014
|
|||||||
|
Проект довольно известного криптографа Jean-Philippe Aumasson представляющий собой набор правил, позволяющих избежать ошибок при реализации/использовании криптографических функций в своем коде: https://cryptocoding.net/index.php/Cryptography_Coding_Standard
В качестве бонуса, наглядная иллюстрация последствий нескольких подобных ошибок. |
||||||
03.02.2014
|
|||||||
|
Реализуемая Rust модель памяти оставляет свой отпечаток на всем, включая такие вещи как замыкания и функции обратного вызова. Привычные по другим языкам концепции в случае с Rust начинают вести себя иначе и далеко не с первого взгляда очевидно почему такое происходит.
В Rust имеются два вида замыканий: стековые и уникальные и указатели на функции. В некоторых случаях замыкания взаимозаменяемы и совместимы с указатели на функции, в некоторых нет. Поведение данных замыканий идентично поведению стековых данных и данных адресуемых посредствам уникальных указателей. Так как весь этот набор выглядит довольно обширным, то мне кажется что лучше всего разбираться на примерах. http://sysdev.me/callbacks-closures-and-rust-memry-model/ |
||||||
01.02.2014
|
|||||||
|
В Rust используется разрушающее сопоставление с образцом, что в купе с моделью памяти Rust, иногда, дает очень занятные эффекты. Для примера возьмем структуру MyStruct и создадим две переменные типа Option в которых будет лежать наша структура, в одном случае в виде стекового объекта, а во втором в виде уникального указателя.
http://sysdev.me/destructive-pattern-matching |
||||||
01.02.2014
|
|||||||
|
Теперь RSDN поддерживат и Rust!
Как несложно догадаться, нобходимо использовать тег rust в квадратных скобочках. |
||||||
25.01.2014
|
|||||||
|
Сергей, добрый день.
Что ж, я в принципе разобрался со всеми сложностями и напастями, что мне встречались и теперь могу рассказать, что же у меня получилось. На текущий момент, у меня готов первый вариант, из тех, что я описывал, т.е. практически всю работу на себя берет WCF (правда в .Net 4.5 работа так или иначе идет с использованием WIF, но от вас лично не потребует ни строчки кода для WIF — разве что вы начнете делать какие-то кастомные расширения). Для начала, чтобы у нас было единое понимание того, что происходит, позволю себе небольшое описание процесса (см. картинку): ![]() 0. Пользователь вводит свои UserName и Password (U/P) 1. Клиент пытается подключиться к WCF Service используя переданные ему U/P. Однако, инфраструктура WCF, анализирует указанные ей настройки и выясняет, что от нее требуется работать по Federation протоколу, а это значит, что вместо прямого обращения WCF Service... |
||||||
23.12.2013
|
|||||||
|
Это загадка, которую я недавно публиковал на Twitter и давал коллегам на работе. Пока что её отгадал только один человек — Mads Torgersen (причём почти сразу).
Напишите валидную C# программу, которая содержит следующую последовательность токенов:
и которая остаётся валидной, если мы уберём токен null из этой последовательности, т.е. оставим
|
||||||