Pull to refresh
41
0
Send message

The Little Redis Book

Reading time1 min
Views5.4K


Вчера 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)
Total votes 39: ↑39 and ↓0+39
Comments18

Создание форм для глубоко вложенных View Model в ASP.NET MVC

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

Познакомиться с шаблонами для редактирования
Total votes 20: ↑15 and ↓5+10
Comments14

Сколько нужно платить разработчикам?

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

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

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

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

Перейти к документу.
Total votes 83: ↑65 and ↓18+47
Comments73

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

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

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

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

Ок, сделаем это.
Total votes 24: ↑22 and ↓2+20
Comments17

Приводя в порядок POSTs в ASP.NET MVC

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

Если вы это не используете, тогда мы идем к вам!
Total votes 12: ↑8 and ↓4+4
Comments1

Фильтрация коллекций в отладочных окнах Visual Studio

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

Неужели есть способ?
Total votes 30: ↑25 and ↓5+20
Comments7

Измеряем производительность с помощью DynamicObject

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

Посмотрим, посмотрим...
Total votes 28: ↑22 and ↓6+16
Comments31

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

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

Снова присоединиться к дискуссии.
Total votes 31: ↑24 and ↓7+17
Comments5

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

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

Присоединиться к дискуссии.
Total votes 45: ↑38 and ↓7+31
Comments33

Что не так с программой Microsoft Student Partners (MSP)?

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

Так что же на так с программой?
Total votes 39: ↑27 and ↓12+15
Comments43

Вы НЕ инженер-программист!

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

Познать дзен садоводства!
Total votes 233: ↑203 and ↓30+173
Comments103

Ускоряя Stackoverflow.com

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

Понятно, продолжайте
Total votes 58: ↑49 and ↓9+40
Comments19

[Перевод] Теперь поиск Twitter ещё в 3 раза быстрее

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

Я готов жить с этим!
Total votes 63: ↑53 and ↓10+43
Comments36

Information

Rating
Does not participate
Registered
Activity