Итак господа, приближается первое августа, поэтому задумался я над тем чтобы заиметь себе ip страны, в которой попроще с законодательством в сфере p2p, а именно Нидерландов. После достаточно долгих поисков нашел провайдера, который обещал два ядра от E3-1230, пару гигов памяти, 460 гигов винта и прекрасный нелимитированный(специально связывался с саппортом по этому вопросу — уверяют что канал не режут и после сотни терабайт) гигабитный канал за какихто 40 с копейками баксов. Единственное но — виртуализация OpenVZ — обычно я настраивал OpenVPN на XEN или KVM, поэтому все прошло не так гладко как обычно и поэтому я решил поделиться полученными знаниями.
Drone @dorne
User
Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio
86 min
42K![Плагины для C#](https://habrastorage.org/getpro/habr/post_images/e62/82d/87d/e6282d87db074b7c771e65e7fc321eda.png)
Аннотация
Около года назад мы опубликовали в блоге цикл статей о разработке плагинов для Visual Studio на языке C#. Сейчас мы переработали эти материалы, добавили новые разделы и предлагаем вашему вниманию новый вариант руководства.
+45
ASP.NET MVC client-side routing
6 min
20K![](https://habrastorage.org/storage2/506/dbd/fee/506dbdfee54a89b9e829983219968e74.jpg)
Постановка проблемы
Система маршрутизации ASP.NET MVC избавляет разработчика от необходимости вручную поддерживать URL, используемые в приложении при помощи таблиц маршрутизации и url шаблонов. Таким образом, с программиста снимается задача по формированию URL вручную. Напротив, в его распоряжении оказывается богатый набор URL-хелперов. Это замечательно! Но все меняется, когда приходят они — AJAX-запросы.
Проблема заключается в том, что таблицы маршрутизации и механизм генерации URL являются частью серверной архитектуры asp.net mvc и недоступны из Javascript-файлов.
+16
Cookie без куков
1 min
55KTranslation
Отслеживание
Как мы обычно отслеживаем посетителей сайта? Одним из следующих методов:
- cookies
- javascript
- local storage
- flash, java, иные плагины
- ip-адрес и UserAgent
Допустим, пользователь отключил всё это (и ходит через прокси или даже vpn). Есть ли способ всё-таки его отследить?
Оказывается — да. Это кэш браузера.
+88
Настраиваем OpenVPN на Linux Server'e с авто-подключением iOS устройств за 5 минут
2 min
41K![](https://habrastorage.org/getpro/habr/post_images/af7/79d/c19/af779dc19b1153b5abec35d88e2a64c6.png)
В наше время, вопрос защиты своего трафика становится все актуальней, для решения проблемы конфиденциальности можно использовать множество методов.
Сегодня я расскажу о том, как за 5 минут настроить работающий VPN On Demand на iOS устройстве при наличии своего Linux сервера.
VPN On Demand — VPN Который подключается по запросу / переподключается при разрыве
+21
Список Full-Mesh VPN решений
2 min
234KВведение
Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.
+43
Знай сложности алгоритмов
2 min
1MTranslation
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
+280
Облака — ещё дешевле
5 min
115KTutorial
![](https://habrastorage.org/storage2/0a0/652/55a/0a065255ab64d7300bef3925c7fc342b.jpg)
Случайно пробежавший мимо обзор сервиса DigitalOcean по-началу оставил меня равнодушным. Ну, облачный сервис, ну виртуалки. Ну да, чуть-чуть дешевле (но не так чтобы уж очень), чего-то аналогичного Glacier вроде бы нет да и вообще оно того не стоит.
Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
+84
DryadLINQ. Распределенный LINQ от Microsoft Research
11 min
11KПредметом внимания вчерашнего поста на Хабре стал фреймворк распределенных вычислений от Microsoft Research — Dryad.
В основе фреймворка лежит представление задания, как направленного ациклического графа, где вершины графа представляют собой программы, а ребра — каналы, по которым данные передаются. Также обзорно была рассмотрена экосистема фреймворка Dryad и сделан подробный обзор архитектуры одного из центральных компонентов экосистемы фреймворка – среды исполнения распределенных приложений Dryad.
В этой статье обсудим компонент верхнего уровня программного стэка фреймворка Dryad – язык запросов к распределенному хранилищу DryadLINQ.
![](https://habrastorage.org/storage2/a26/1c0/959/a261c095997714cebce988ef62cfe6ff.png)
В основе фреймворка лежит представление задания, как направленного ациклического графа, где вершины графа представляют собой программы, а ребра — каналы, по которым данные передаются. Также обзорно была рассмотрена экосистема фреймворка Dryad и сделан подробный обзор архитектуры одного из центральных компонентов экосистемы фреймворка – среды исполнения распределенных приложений Dryad.
В этой статье обсудим компонент верхнего уровня программного стэка фреймворка Dryad – язык запросов к распределенному хранилищу DryadLINQ.
![](https://habrastorage.org/storage2/a26/1c0/959/a261c095997714cebce988ef62cfe6ff.png)
+37
Картины из печатных плат
7 min
108KКонцепт изготовления подарка от гика.
![](https://habrastorage.org/getpro/geektimes/post_images/caa/5a6/515/caa5a6515a75028da0d372a161e848d3.jpg)
Сокро грядёт Новый Год, день святого Велентина, восьмое марта. Да много чего ещё грядёт, и вот хочется подготовить сани летом, телегу зимой, в общем основательно подготовиться к сиим праздничным событиям и порадовать нашу вторую половину чем-то необычным. На мой взгляд, самый бесценный подарок — это подарок, который сделан своими руками. Отсюда и будем плясать.
![](https://habrastorage.org/getpro/geektimes/post_images/caa/5a6/515/caa5a6515a75028da0d372a161e848d3.jpg)
Сокро грядёт Новый Год, день святого Велентина, восьмое марта. Да много чего ещё грядёт, и вот хочется подготовить сани летом, телегу зимой, в общем основательно подготовиться к сиим праздничным событиям и порадовать нашу вторую половину чем-то необычным. На мой взгляд, самый бесценный подарок — это подарок, который сделан своими руками. Отсюда и будем плясать.
+19
Взгляд изнутри: Вскрытие чипа Nvidia 8600M GT
6 min
97K![image](https://habrastorage.org/getpro/habr/post_images/9a2/350/0d4/9a23500d47714ade8b9ef5eb1a20f0ed.jpg)
Предисловие
Года 3-4 назад судьба распорядилась так, что в руки мне попал ноутбук Asus G2S. Счастье моё длилось ровно до прошлой зимы, когда ни с того, ни с сего на экране стали появляться артефакты, особенно при запуске игрушек или «мощных» приложений, активно работающих с видеочипом. В результате оказалось, что проблема именно в нём. Nvidia для практически всей геймерской линейки G2 поставляла видеочипы с браком (отслоение контактов между самим кристаллом и подложкой), который обнаруживался лишь через пару лет интенсивной работы. Решение было однозначным – замена видеочипа. Но что делать со старым?! Ответ на этот вопрос пришёл на редкость быстро…
Много трафика под катом
+257
Введение в CQRS + Event Sourcing: Часть 1. Основы
8 min
182KВ первый раз я услышал о CQRS, когда устроился на новую работу. В компании, в которой работаю и по сей день, мне сразу сказали что на проекте, над которым я буду работать используется CQRS, Event Sourcing, и MongoDB в качестве базы данных. Из этого всего я слышал только о MongoDB. Попытавшись вникнуть в CQRS, я не сразу понял все тонкости данного подхода, но почему-то мне понравилась идея разделения модели взаимодействия с данными на две — read и write. Возможно потому что она как-то перекликалась с парадигмой программирования “разделение обязанностей”, возможно потому что была очень в духе DDD.
Вообще многие говорят о CQRS как о паттерне проектирования. На мой взгляд он слишком сильно влияет на общую архитектуру приложения, что бы называться просто “паттерном проектирования”, поэтому я предпочитаю называть его принципом или подходом. Использование CQRS проникает почти во все уголки приложения.
Сразу хочу уточнить что я работал только со связкой CQRS + Event Sourcing, и никогда не пробовал просто CQRS, так как мне кажется что без Event Sourcing он теряет очень много бенефитов. В качестве CQRS фреймворка я буду использовать наш корпоративный Paralect.Domain. Он чем-то лучше других, чем то хуже. В любом случае советую вам ознакомиться и с остальными. Я здесь упомяну только несколько фреймворков для .NET. Наиболее популярные это NCQRS, Lokad CQRS, SimpleCQRS. Так же можете посмотреть на Event Store Джонатана Оливера с поддержкой огромного количества различных баз данных.
Что же такое CQRS?
CQRS расшифровывается как Command Query Responsibility Segregation (разделение ответственности на команды и запросы). Это паттерн проектирования, о котором я впервые услышал от Грега Янга (Greg Young). В его основе лежит простое понятие, что вы можете использовать разные модели для обновления и чтения информации. Однако это простое понятие ведет к серьёзным последствиям в проектировании информационных систем. (с) Мартин Фаулер
Вообще многие говорят о CQRS как о паттерне проектирования. На мой взгляд он слишком сильно влияет на общую архитектуру приложения, что бы называться просто “паттерном проектирования”, поэтому я предпочитаю называть его принципом или подходом. Использование CQRS проникает почти во все уголки приложения.
Сразу хочу уточнить что я работал только со связкой CQRS + Event Sourcing, и никогда не пробовал просто CQRS, так как мне кажется что без Event Sourcing он теряет очень много бенефитов. В качестве CQRS фреймворка я буду использовать наш корпоративный Paralect.Domain. Он чем-то лучше других, чем то хуже. В любом случае советую вам ознакомиться и с остальными. Я здесь упомяну только несколько фреймворков для .NET. Наиболее популярные это NCQRS, Lokad CQRS, SimpleCQRS. Так же можете посмотреть на Event Store Джонатана Оливера с поддержкой огромного количества различных баз данных.
Начнем с CQRS
Что же такое CQRS?
CQRS расшифровывается как Command Query Responsibility Segregation (разделение ответственности на команды и запросы). Это паттерн проектирования, о котором я впервые услышал от Грега Янга (Greg Young). В его основе лежит простое понятие, что вы можете использовать разные модели для обновления и чтения информации. Однако это простое понятие ведет к серьёзным последствиям в проектировании информационных систем. (с) Мартин Фаулер
+18
Information
- Rating
- 3,456-th
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity