AVK Selected
Показавшиеся интересными, на мой вкус, посты
29.12.2013
|
|
Ссылка |
|
26.12.2013
|
|
Краткое описание ключевых возможностей нового языка программирования Rust. Основной акцент делается на особенностях Rust, которых не хватает многим системным и сетевым разработчикам в других языках программирования.
|
|
05.01.2014
|
|
Т.к. считается, что принцип открытости-закрытости был введен Бертраном Мейером, а позже несколько перефразирован и конкретизирован Бобом Мартином, то для лучшего понимания принципа стоит рассмотреть, как он описывался в обоих источниках: у Мейера и у Мартина.
Начнем с рассмотрения принципа в книге Мейера "Объектно-ориентированное конструирование программных систем": [q]Открыт-Закрыт Любой метод модульной декомпозиции должен удовлетворять принципу семафора: Открыт-Закрыт: Принцип Открыт-Закрыт Модули должны иметь возможность быть как открытыми, так и закрытыми. Противоречие является лишь кажущимся, поскольку термины соответствуют разным целевым установкам: [list] Модуль называют открытым, если он еще доступен для расширения. Например, имеется возможность расширить множество операций в нем или добавить поля к его структурам данных. Модуль называют закрытым, если он доступен для использования другими модулями. Это означает... |
|
08.12.2013
|
|
http://adamralph.com/2013/12/06/ndc-diary-day-3/
Имхо, какой то хоть и полезный но хлам. |
|
01.01.2014
|
|
Здравствуйте, Аноним, Вы писали:
А>Nunit А>Есть вот такой метод для теста А>Как лучше, оставить как есть или сделать через параметры и указывать все значения init1, do1, 0, 1 — через аттрибуты А>Насколько это удобно будет отлаживать во 2м случае ? Конечно здесь явно напрашиваются параметризованные тесты, ведь по сути, здесь не один тест, а два.
Основной плюс параметризованных тестов в том, что это четко показывает, что у нас не один тест, а два. Ведь существуют правила написания юнит-тестов... |
|
29.12.2013
|
|
Здравствуйте, IncremenTop, Вы писали:
ST>> здравый смысл говорит, что чистая функция будет проще с точки зрения всех сложностей, поскольку все, что идет на вход и является результатом является очевидным! IT>С точки зрения сложности, то функция в которой или для которой создается объект и работающая с ним без интерфейса — это ад и израиль. Это не гибко, не читаемо, трудно поддерживается. Хм... Я понимаю, что мы здесь теряем контекст рассуждения, но все небезызвестные ОО товарищи (Мейер, Фаулер, Эванс, Сииман) считают, что вводить интерфейсы и полиморфное поведение нужно лишь тогда, когда это требуется. К тому же, "гибко" и "трудно поддерживается" всегда идут рука об руку; за гибкость всегда нужно платить сложностью, без этого ни как (см. Who Needs an Architect Файлера в качестве примера рассуждения на эту тему). Очень интересно, что отсутствие побочных эффектов рьяно популяризируется сторонниками ФП мира... |
|
13.12.2013
|
|
Здравствуйте, 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. |
|
17.09.2012
|
|
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 |
|
19.04.2013
|
|
В процессе подготовки статьи на тему того, насколько бестолковым и несерьезным является проверка запросов в ASP.NET, в голову пришла идея набросать proof-of-concept того, как на самом деле оно должно быть реализовано, чтобы давать хоть какие-то гарантии защиты от отраженных XSS. В итоге, после пары вечеров кодинга и недели тестов с привлечением коллег, родилось вот это: https://github.com/kochetkov/Irv
Результаты по производительности и проценту false-позитивов обоих родов приятно удивили (ожидал, что будет еле ворочаться и пропускать некоторые замороченные векторы атак). Поиграть с демкой можно тут: http://irv.c2e.pw/Demo/ P.S: Как и почему это работает, а также почему это единственный адекватный способ, дающий гарантии защиты от отраженных XSS — расскажу в статье |
|
10.03.2013
|
|
Последний год пользовался 3-м айПадом в качестве основного устройства для чтения почты, браузинга итп. Взял тут на пару недель Surface RT Для тестирования. Изначально начитался отзывов в интернете и был настроен довольно негативно. (Многие тут писали, что мол мега-фейл.) На практике оказалось, что устройство весьма симпатичное и расставаться я с ним уже не хочу.
Плюсы сурфейса по сравнению с айПадом: — Нормальный доступ к файлам и сети – можно смотреть видео и фотки по сети из коробки без всяких извращений — Полноценный офис из коробки — Нормальный USB разъем — без проблем втыкаются флешки, мышки, электронные книжки, фотоаппараты. Все, что нашлось у меня дома подключилось без проблем. — Разъем под микроSD — Нормальный стереозвук (на айПаде смотреть видео без наушников с его моно перделкой на задней панели вообще нельзя) — Клавиатура\обертка на магнитной защелке – к ней необходимо привыкнуть, но потом понимаешь, что это мега удобная вещь — Встроенная подставка – еще одна мега удобная вещь... |
|