01.01.2014
SergeyT.
Здравствуйте, Аноним, Вы писали:


А>Nunit

А>Есть вот такой метод для теста
А>Как лучше, оставить как есть или сделать через параметры и указывать все значения init1, do1, 0, 1 — через аттрибуты
А>Насколько это удобно будет отлаживать во 2м случае ?

Конечно здесь явно напрашиваются параметризованные тесты, ведь по сути, здесь не один тест, а два.

[TestCase("init1", "do1", Result = 0)]
[TestCase("init2", "do2", Result = 1)]
public int Test_That_Do_Produces_Expected_Result(string initData, string doData)
{
  // У нас же тут ООП, как никак, а раз так, то инварианты класса А
  // должны устанавливаться в конструкторе
  var a = new A(initData);

  return a.Do(doData);
}


Основной плюс параметризованных тестов в том, что это четко показывает, что у нас не один тест, а два. Ведь существуют правила написания юнит-тестов...
29.12.2013
SergeyT.
Здравствуйте, IncremenTop, Вы писали:

ST>> здравый смысл говорит, что чистая функция будет проще с точки зрения всех сложностей, поскольку все, что идет на вход и является результатом является очевидным!


IT>С точки зрения сложности, то функция в которой или для которой создается объект и работающая с ним без интерфейса — это ад и израиль. Это не гибко, не читаемо, трудно поддерживается.


Хм... Я понимаю, что мы здесь теряем контекст рассуждения, но все небезызвестные ОО товарищи (Мейер, Фаулер, Эванс, Сииман) считают, что вводить интерфейсы и полиморфное поведение нужно лишь тогда, когда это требуется. К тому же, "гибко" и "трудно поддерживается" всегда идут рука об руку; за гибкость всегда нужно платить сложностью, без этого ни как (см. Who Needs an Architect Файлера в качестве примера рассуждения на эту тему).

Очень интересно, что отсутствие побочных эффектов рьяно популяризируется сторонниками ФП мира...
13.12.2013
alex_public
Здравствуйте, Dair, Вы писали:

D>Для меня загадка — современные алгоритмы шифрования (криптографии). Мат.аппарата не хватает


D>На практическом уровне — public key/private key понятно, но чо там внутри — чисто магия.


Да ладно, если говорить о принципах, то там же всё вообще тривиально.

Вот смотри, предположим у нас есть функция y=exp(x); и соответственно обратная ей x=ln(y); Причём (и это ключевой момент) ln вычисляется намного дольше, чем exp. Кстати, это и для обычных exp и ln справедливо, а в асимметричной криптографии используется спец. вариант, в котором ln вычисляется годами... Теперь, при наличие пары таких функций, мы можем тривиально наладить защищённый канал.

Вот предположим у нас есть два человека (1 и 2) с каждый стороны и ещё третий, прослушивающий канал. 1 и 2 генерируют по одному случайному числу k1 и k2. Затем считают от них p1=exp(k1) и p2=exp(k2). И отсылают друг другу. В итоге у первого есть k1 и p2, у второго k2 и p1, а у прослушивающего p1 и p2.
28.11.2013
ShaggyOwl
Сегодня Владимир Кочетков опубликовал на рсдн сообщение о смерти Макса Шеманарёва, ака McSeem2 http://www.rsdn.ru/forum/life/5377045.
09.04.2013
AndrewVK
В выходные мы успешно мигрировали RSDN@Home с BLToolkit на linq2db. Было поправлено несколько не очень серьезных, но неприятных ошибок. В итоге полет нормальный, так что всем рекомендую как минимум новые проекты начинать на linq2db, и, по возможности мигрировать старые.
Основные исправления заключаются в смене неймспейсов и переименовании части атрибутов для разметки маппинга.
Изменений в запросах не понадобилось.
На очереди rsdn.ru
14.09.2012
Hacker_Delphi
Описание первого взгляда на Windows 8
17.09.2012
nikov
http://msdn.microsoft.com/en-US/roslyn

New C# Language Features Implemented Since June 2012 CTP:

Collection initializers
Extern aliases
Expression trees
Multi-dimensional arrays
Nullable types
Object initializers
Type forwarders
Unsafe code (except fixed-size buffers)

New VB Language Features Implemented Since June 2012 CTP:

Array literals
Collection initializers
External method declarations (Declare)
Handles clauses
Late-binding
Nullable types
Object initializers
Operator overloading
ParamArray parameters
Partial methods
Shared constructors
User-defined conversions
With statements
XML literals
23.05.2013
ionoy
Помнится, Влад предлагал сделать на NemerleWeb новое дерево/меню для rsdn.ru.

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

Если кому интересно, посмотреть можно здесь: http://m.rsdn.ru
Самое интересное — это код. Вся структура меню состоит из трёх Unit'ов

1. MainPage https://github.com/NemerleWeb/NemerleWeb/blob/master/NemerleWeb.RSDN/MVVM/MainPage.n
Здесь рендерится общая структура страницы: левая часть (поиск, прикреплённые ветки, меню) и правая, которая содержит iframe для страниц rsdn.

2. TreeNode https://github.com/NemerleWeb/NemerleWeb/blob/master/NemerleWeb.RSDN/MVVM/TreeNode.n
Собственно, нода.
16.09.2013
ShaggyOwl
Хочу поделиться интересной ссылкой на научно-популярный проект http://postnauka.ru/. Что удивительно — добротного качества и наполнения. Что ещё более удивительно — на русском языке. Создатели определяют себя так:

ПостНаука – это интернет-проект о современной фундаментальной науке и ученых, которые ее создают.

24.08.2012
ionoy
Как KnockoutMVC ( http://knockoutmvc.com/ ) но намного круче.
Уже сейчас есть невообразимые вещи как DSL , который генерирует JS и все это без написания дополнительных трансляторов

Демо сайт не работает, но это временно =)
<  1  …  31  32  33  34  35  36  37  …  49  > rss