• The Little Redis Book



      Вчера Karl Seguin – автор книги The Little MongoDB Book, которую часто рекомендуют для быстрого старта с MongoDB, опубликовал аналогичное руководство для Redis под названием The Little Redis Book (при участии Perry Neal). Книга состоит из 29 страниц, написанных за 2 коротких дня с использованием Markdown. Исходная разметка книги находится на GitHub. Сама книга распространяется свободно под лицензией Attribution-NonCommercial 3.0 Unported license.

      Содержание книги
      • About This Book
      • Introduction
      • Chapter 1 — The Basics
      • Chapter 2 — The Data Structures
      • Chapter 3 — Leveraging Data Structures
      • Chapter 4 — Beyond The Data Structures
      • Chapter 5 — Administration
      • Conclusion
      Скачать
      The Little Redis Book (PDF)
    • Создание форм для глубоко вложенных View Model в ASP.NET MVC

      • Translation
      Ёще один интересный пост от Jimmy Bogard, посвященный cозданию форм для глубоко вложенных View Model в ASP.NET MVC. Несмотря на то, что в нём постоянно идёт отсылка к ASP.NET MVC 2, информация актуальна и для 3-ей версии. Под хабракатом оригинальный пост в вольном переводе.

      Познакомиться с шаблонами для редактирования
    • Сколько нужно платить разработчикам?

      • Translation
      Не так давно в блоге stackoverflow появился интересный пост от сооснователя компании Stack Exchange Joel Spolsky о расчёте зарплат разработчикам. Далее до хабраката выдержка из этого поста, а после — вольный перевод документа по системе компенсации в Stack Exchange.

      Сейчас то самое время года, когда мы пересматриваем зарплату каждого сотрудника с целью убедиться, что она соответствует его уровню. Мы зависим от десятка системных разработчиков и платим им на основе системы компенсации, разработанной нашими двоюродными братьями из Fog Creek, которая настолько отличается от Stack Exchange, что возникали некоторые трения.

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

      Одним из ключевых принципов Stack Exchange является то, что мы делаем всё, что можно, публичным, и мы стараемся оставлять публичные артефакты для всего, что мы делаем. В духе этого, я загрузил полную версию нашего актуального плана расчёта компенсации, так что вы можете увидеть, как принимаются решения относительно уровня компенсации в Stack Exchange. Только одна вещь не стала публичной – финальные расчёты, которые определяют каждый индивидуальный чек, это потому, что мы должны сбалансировать нашу философию открытости с правом каждого разработчика на личную неприкосновенность.

      Перейти к документу.
    • Разработка приложения живого поиска по Twitter с помощью Knockout, jQuery и ASP.NET MVC 3

      • Translation
      Достаточно не тривиально разработать хорошо спроектированный front-end веб-приложения с уровнем отклика, производительностью и фичами, которые ожидают пользователи сегодня. Легко потеряться в кипящей смеси jQuery обработчиков событий, HTML разметки и AJAX вызовов и даже относительно простой GUI быстро может стать кошмаром для сопровождения.

      Один из способов добавления некоторой структуры и порядка на клиентской стороне – использование фреймворка вроде Knockout. Knockout – это свободная Javascript библиотека с открытым исходным кодом, которая помогает реализовать Model-View-View Model (MVVM) паттерн на клиенте. Она хорошо документирована и официальный веб сайт великолепная точка старта с кучей реальных примеров, которые не только демонстрируют использование встроенных фич библиотеки, но и показывают, как расширить её свои собственными фичами.

      В этом посте мы рассмотрим, как Knockout может быть использован совместно с плагином отображения, каким-нибудь jQuery и ASP.NET MVC 3 backend (или модель, как вам нравится) для построения простого, но эффективного приложения для живого поиска в Twitter.

      Ок, сделаем это.
    • Приводя в порядок POSTs в ASP.NET MVC

      • Translation
      В топике описывается один из профессиональных приёмов разработки ASP.NET MVC приложений, который позволяет значительно сократить количество повторяющегося кода в обработчиках POST действий форм. Несмотря, на то, что я узнал о нём ещё во времена первого издания ASP.NET MVC In Action и первой mvcConf, стиль изложения Jimmy Bogard мне показался очень простым и я решил опубликовать вольный перевод для тех, кто ещё не использует этот подход на практике.

      Если вы это не используете, тогда мы идем к вам!
    • Фильтрация коллекций в отладочных окнах Visual Studio

        Большинство .Net разработчиков знакомы с лямбда-выражениями (lambda expressions) и активно их используют. Однако при попытке использовать их в таких отладочных окнах как Watch / Immediate и Locals, Visual Studio сообщит нам о том, что “Expression cannot contain lambda expressions”. На это есть свои причины, и они очень подробно изложены в этих постах. К сожалению, в них также отсутствует информация о решении данной проблемы. В то время как разработчики каждый день сталкиваются с необходимость фильтрации коллекций в режиме отладки и поддержка лямбда-выражений значительно упростила бы их труд.

        Неужели есть способ?
        • +20
        • 1.5k
        • 7
      • Измеряем производительность с помощью DynamicObject

          С динамическими типами данных сложилась ситуация, схожая с АОП. А именно – полезных примеров применения этой техники можно пересчитать по пальцам, и они достойны коллекционирования (одна из коллекций по АОП собрана mezastel здесь). Сегодня, я надеюсь, мы добавим ещё пару таких примеров.

          Посмотрим, посмотрим...
        • Использование Protocol Buffers на платформе .Net (Часть 2)

            В первой части мы познакомились с Protocol Buffers и попробовали использовать их в .Net приложении. Сегодня мы продолжим дискутировать и ответим на оставшиеся вопросы. Как и прежде читатель должен немного владеть языком C# и системой контроля версий SVN для лучшего усвоения материала. Также не помешает иметь общее представление о WCF, т.к. будет снова (не)много кода, но уже в контексте этой технологии!

            Снова присоединиться к дискуссии.
            • +17
            • 16.4k
            • 5
          • Использование Protocol Buffers на платформе .Net (Часть 1)

              Предлагаю вашему вниманию введение в использование Protocol Buffers на платформе .Net в формате дискуссии. Я расскажу и покажу что это такое и зачем оно нужно .Net разработчику. Топик требует от читателя начального владения языком C# и системой контроля версий SVN. Так как объем материала превышает среднестатистический объем топиков на хабре, которые не вгоняют хаброюзеров в тоску и не заставляют их скроллить до комментариев, было принято решение разбить его на две части. В первой части мы познакомимся с основами и даже напишем (не)много кода!

              Присоединиться к дискуссии.
            • Что не так с программой Microsoft Student Partners (MSP)?

                В свете недавнего обсуждения об обучении в наших вузах и того, что на днях понаблюдал со стороны за программой Microsoft Student Partners (MSP), решил написать этот топик. Суть программы в следующем – компания выбирает наиболее активных студентов, и они становятся представителями Microsoft в своём вузе. Активность требуется подтверждать каждый семестр. В её перечень входит проведение студенческих user groups, организация конкурсов (призы Microsoft предоставляет), запись веб-кастов и т.д. По выпуску из программы (а он совпадает с завершением учёбы в вузе, а как подсказал kultishev, может быть продлён на срок обучения в аспирантуре) каждый студент получает диплом и шанс на собеседование в Microsoft без предварительного телефонного собеседования.

                Так что же на так с программой?
              • Вы НЕ инженер-программист!

                • Translation
                От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.

                Познать дзен садоводства!
              • Ускоряя Stackoverflow.com

                  Примерно, 3 недели назад я прочёл на хабре в этом топике о DapperORM от одного из ведущих разработчиков популярного сайта Stackoverflow. Имя этого супергероя Sam Saffron (далее просто Сэм). Кроме того, до появления этого топика об архитектуре Stackoverflow было известно, что в ней используется Linq-to-Sql. Это главная причина, почему я, как и другие разработчики, принялся изучать исходный код Dapper. Как оказалось его немного, а точнее всего один файл. Внимательно просмотрев его, я подумал – а можно ли его сделать ещё быстрее. Ускорять код Сэма было не просто, слишком качественно он был написан. Дальше я опишу мои микрооптимизации в виде советов другим разработчикам. Но для начала хочу предостеречь некоторых разработчиков. Описанная оптимизация ускорила Dapper на 5% и это существенно для такого проекта как Stackoverflow, но может быть не существенным для вашего проекта. Поэтому всегда рассматривайте вариант макрооптимизации (примеры в конце топика) по результатам профилирования и прибегайте к микрооптимизации только в особых случаях.

                  Понятно, продолжайте
                • [Перевод] Теперь поиск Twitter ещё в 3 раза быстрее

                  Мне всегда был интересен Ruby-on-Rails (RoR) и Twitter как яркий представитель платформы на этом framework. 6 апреля этого года в блоге команды Twitter появилась запись о полной смене поисковой платформы с RoR на Java. Под катом перевод о том, как это было.

                  Я готов жить с этим!