Pull to refresh
0
0
Send message

Что почитать на выходных? Рекомендуем, выпуск №8

Reading time2 min
Views1.1K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Темы номера:ASP.NET MVC/WebMatrix:
  • Glimpse — серверный firebug для проектов ASP.NET (link);
  • WebMatrix- работа с пакетом определения мобильных клиентов от 51Degrees.mobi (link);
  • ASP.NET MVC 3- использование скаффолдинга контроллеров (link);
  • Модуль импорта/экспорта рецептов в Orchard CMS 1.1 (link);
  • ReSharper 6 предложит глубокую поддержку Razor (link);
  • Демонстрационное приложение MVC Music Store v3.0 для изучения ASP.NET MVC (link);
  • Razor- вывод секций в мастер-страницах мастер-страниц (link);
  • ASP.NET MVC 3 Tools Update, now with Drop-Down Lists! (link);
Читать дальше →

Dapper.NET — «микро-ORM» на котором работает StackOverflow

Reading time1 min
Views39K
Dapper.NET — это «мини-ORM», как ее называют сами разработчики, на которой работает движок StackExchange и сайт StackOverflow в частности.

Сегодня Sam Saffron (@samsaffron, один из разработчиков платформы) выложил ее в OpenSource на Google Code.

Основная фишка этой микро-библиотеки — производительность в тех случаях, когда надо запустить, например, 500 select-команд подряд и замапить тысячи результатов в объекты определенных классов. Разработчики утверждают, что скорость их решения практически не уступает «ручной» работе с SqlDataReader.
Читать дальше →

Архитектура Orchard CMS. Концепции безопасности и разработки

Reading time5 min
Views4.1K
Это продолжение второй части руководства “Как создать свой сайт с нуля с помощью Orchard CMS”. С первой частью руководства вы можете познакомиться здесь: начало и продолжение. Начало “Архитектура Orchard CMS. Основные понятия” можно найти и прочитать здесь и здесь.

Введение


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

Напомню, что автоматическая загрузка Orchard доступна из галереи приложений с помощью средства быстрого доступа к веб-инструментам Web Platform Installer (нажмите на эту ссылку, чтобы начать установку).

Концепции безопасности Orchard CMS


Важной частью каждой системы управления контентом является обеспечение безопасности, разграничение и управление правами пользователей. В этой части руководства мы рассмотрим концепции Orchard CMS относящиеся к безопасности.

Читать дальше →

apache+nginx+gzip_static+yuicompressor

Reading time6 min
Views15K
В этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
Читать дальше →

HgAssist — программа для уведомления о забытых push'ах

Reading time2 min
Views1.1K

HgAssist — repositories are synced!



Пользуясь системой управления кодом Mercurial мы часто сталкивались с тем, что забывали делать push после того, как в локальный репозиторий были сделаны комиты.

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

Поэтому мы написали HgAssist.
продолжить чтение

Что почитать на выходных? Рекомендуем, выпуск №5

Reading time3 min
Views1.2K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

В этом выпуске я добавил два новых раздела с полезными ссылками: облачные технологии и Silverlight/WP7.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:
  • Записи более 460 докладов конференций PDC 2008-2010 в одном месте на Channel9 [link];
Читать дальше →

Yandex Search API для .Net

Reading time10 min
Views26K
Добрый день!
В процессе работы над одним .Net проектом появилась необходимость получать результаты поиска Яндекса по определённому запросу. В этой статье мне хотелось бы рассказать об опыте работы с API Яндекса из .Net среды.
Конечно, изначально мне не хотелось самому реализовывать обёртку API Яндекса (я надеялся на то, что кто-то уже сделал это до меня), поэтому где-то минут 20 я потратил на то, чтоб выяснить, что готовых решений, которые бы мне подходили, нет. В итоге мне ничего не оставалсоь, как писать её самому, благо документация API Яндекса в открытом доступе и довольно подробная.
Читать дальше →

Разбор простейшей капчи (C#)

Reading time3 min
Views13K
    Какое-то время назад мне пришлось сделать программку, которая скачивала в автоматическом режиме файлы с одного достаточно известного сайта. Проблема /на первый взгляд/ состояла в том, что там была капча. Однако одного взгляда на нее было достаточно, чтобы понять, решаемо и очень быстро :) По прошествии нескольких лет снова наткнулся на тот проект и решил вот выложить на хабр. Сразу оговорюсь, сайт называть не буду ибо капча там до сих пор такая и пусть такой и остается.

Вобщем, кому интересно - прошу ...

Что почитать на выходных? Рекомендуем, выпуск №4

Reading time2 min
Views1.2K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Темы  номера:
  • видео-курс обучения разработке для Windows Azure из 12 видео [link];
  • Конкурс: зарегистрируй сайты — получи шанс выиграть Xbox360+Kinect [link].
WebForms:
  • ASP.NET AppDomain – что это такое и почему важно понимать как это работает? [link];
  • ASP.NET WF4 / WCF и асинхронные вызовы [link];
  • Tailspin Spyworks Tutorial — тестовый демонстрационный проект на ASP.NET [link];
  • Пример производительного решения на Windows Azure и Windows Server 2008 R2: StockTrader 5 [link];
Читать дальше →

Архитектура и платформа проекта Одноклассники

Reading time10 min
Views120K

Архитектура и платформа проекта Одноклассники


В этом посте расскажем о накопленном за 5 лет опыте по поддержанию высоконагруженного проекта. Надеемся, что коллегам-разработчикам будет интересно узнать, что и как мы делаем, какие проблемы и трудности у нас возникают и как мы справляемся с ними.

Читать дальше →

Разработка с использованием паттерна проектирования Model-View-ViewModel на примере Twitter клиента шаг за шагом

Reading time12 min
Views41K
Введение

Статья посвящена работе с MVVM и WPF. В ней описывается процесс разработки twitter client. Процесс разработки разбит на шаги. В конце каждого шага читатель параллельно пишущий приложение должен иметь работающее приложение. Каждый последующий шаг добавляет какую-то функциональность к написанному на предыдущем шаге. Используется thirdparty библиотека TweetSharp. Ссылку на исходный код, а так же оригинал статьи, написанный мной на английском, можно найти тут.
Статья рассчитана на новичков в WPF разработке. Но предполагается, что читатель имеет некоторый начальный опыт работы с WPF, в частности освоил data binding.
Я не буду писать зачем нужно использовать MVVM – считаю, что об этом хорошо написано в статье “Приложения WPF с шаблоном проектирования модель-представление-модель представления” от Джоша Смита. Если вы не хотите читать эту статью – просто поверьте мне – неверное спроектированное GUI в случае с WPF превращается в большую головную боль.

Читать дальше →

Задачка по C#

Reading time1 min
Views2.7K
При каких условиях пройдет данный тест?

    [Fact]
    public void NewTest()
    {
      var a = new A();

      a.GetType().GetField("b").SetValue(a, 83);
      a.GetType().GetField("c").SetValue(a, 42);

      Assert.Equal(a.b, a.c);
    }

upd: В комментариях написали уже 5 верных решений, если интересно оценить свои знания и фантазию — не заглядывайте туда преждевременно.

Делаем PDF-книгу из веб-комикса при помощи C# на примере xkcd

Reading time6 min
Views5.5K
Sony PRS-650 и xkcdРассматривая новый выпуск xkcd, я взглянул на свою свежеприобретённую электрокнигу Sony PRS-650, и немедленно подумал — хочу смотреть комиксы на ней! Xkcd как раз чёрно-белые и, обычно, небольшие по размеру. Слегка погуглив, нашел лишь сборник картинок на TPB, и скрипт на bash, который должен делать PDF. Решил слегка поразмяться в программировании и сделать граббер комиксов на любимом C#.

Можно было бы обойтись консольным приложением, но, для наглядности, сделал простой интерфейс на WPF.

Увидеть код и результат

OpenID, OAuth и другие плюшки

Reading time10 min
Views24K

Зачем нужен OpenID



Вот бывает так, заходишь на сайт любимый, а там ссылка на другой сайт, а там статья ну очень интересная и главное – полезная – и хочется добавить комментарий, типа «Молодцы!» и чтобы добавить комментарий, нужно зарегистрироваться, а чтобы зарегистрироваться нужно ввести «Имя», «Фамилия», «Логин», «Email», «Email еще раз», «Пароль», «Снова Пароль», «Прочитал правила и согласен со всем что тут будет происходить» и «Капчу». И жмакаешь «Зарегистрироваться», а тут бац – «Логин» — занят, и поля «Пароль», «Снова Пароль», «Капча» — стерты. Ну вот так. Вводишь другой свой логин (который второй, и не главный и не любимый) и снова пароль, снова снова пароль (постите) и капчу, и бац – всё ок, только забыл снова поставить галку «Прочитал правила...». Ну ладно, прошел еще раз круги ада, на мыло вышло письмо, активировал аккаунт, так, а где там была статья, да и ну их, не молодцы они, ну т.е. молодцы ну и хрен с этим, знают и так.
Проведите эксперимент, в вашей любимой почте сделайте поиск по слову «activate» — вот примерно столько вы регистрировались на сайтах.
А с другой стороны думаешь, а давайте упростим, и делаешь простое добавление комментария: «Имя», «Email», «Сообщение» — причем «Email» можно не вводить. Через 3 месяца заходишь, а там – СПАМ! Ладно, почистил – и ноль эффекта, спам продолжает, добавил капчу – ну вроде ок, но потом снова как-то они ее обходят. И внимание(!) – вводим регистрацию… Ой!
Но есть (УРА!) – OpenID.
Читать дальше →

Входите! Вход без логина и пароля

Reading time8 min
Views21K

Кто виноват?


Одна из часто встающих задач при разработке web-проектов — пустить пользователя на сайт без ввода логина и пароля, при этом авторизовав его.

Вот некоторые примеры таких ситуаций:
  • Ссылка на активацию аккаунта только что зарегистрированным пользователем.
  • Ссылка на восстановление пароля.
  • Приглашение (возвращение) на сайт пользователя, который давно не заходил.

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

Видеообзор платформы Windows Phone 7 на HTC Mozart

Reading time1 min
Views587
К нам в руки попал смартфон HTC Mozart на платформе от Microsoft WP7. Спешим порадовать вас большим 15-минутным видеообзором операционной системы.

От себя добавлю: если описать впечатления в нескольких словах — такой красивой мобильной ОС я еще не встречал.

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Обзор SSL-сертификатов: типы, выбор, приемущества.

Reading time3 min
Views101K
Многие задавали себе вопрос, чем различаются разные SSL-сертификаты, зачем его получать и почему нельзя использовать самоподписанный.

Здесь я попытаюсь ответить на эти вопросы, рассмотрев:

  • Причемущества от наличия SSL вообще, и подписанного сертификата в частности.
  • Типы SSL-сертификатов.
  • Пути их получения.


Я не претендую за 100% верность данной статьи, она основана только на моем мнении и личном опыте :)
Подробности

Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET

Reading time12 min
Views20K

Введение


В данной статье я расскажу про то, как можно добавлять свой код в существующие .NET сборки и о том, как это связано с аспектно-ориентированным программированием. Статья будет сопровождаться работающими примерами, так как я считаю, что код — это лучший способ донести идею.

Многие .NET разработчики знают, что для доступа к объектам чужой сборки можно использовать Reflection. С помощью типов из System.Reflection мы можем получить доступ ко многим объектам .NET сборки, просмотреть их метаданные, и даже использовать те объекты, доступ к которым ограничен (например, private методы чужого класса). Но использование Reflection имеет свои ограничения и главная причина этому — данные, с котороми вы работаете через Reflection, все еще считаются кодом. Таким образом, вы, к примеру, можете получить CodeAccessSecurity exception, если сборка, к которой вы пытаетесь применить Reflection, запрещает это. По этой же причине Reflection работает довольно медленно. Но наиболее важным для данной статьи является то, что стандартный Reflection не позволяет изменять существующие сборки, только генерировать и сохранять новые.

Mono.Cecil


Качественно иной подход предлагает бесплатная библиотека с открытым исходным кодом Mono.Cecil. Главное отличие подхода Mono.Cecil от подхода Reflection в том, что данная библиотка работает с NET сборкой как с потоком байт. При загрузке сборки, Mono.Cecil разбирает PE заголовок, CLR заголовок, MSIL код классов и методов и т.д. работая напрямую с потоком байтов, представляющим сборку. Таким образом, с помощью данной библиотеки можно как угодно (в пределах предусмотренного) изменять имеющуюся сборку.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity