Вышел новый релиз web фреймворка Yesod
9-ого февраля сего года вышел 0.10 релиз фреймворка Yesod. Для тех кто о нем никогда не слышал – рассказываю. Есод – это бесплатный фреймворк предназначенный для быстрого построения проектов с высокой нагрузкой. В качестве языка программирования используется Haskell. Да-да, вы не ослышались именно тот о котором в последнее время так много упоминают. Есод будет для вас хорошим выбором, если для вас выполняются данные условия:
- Вашему проекту необходима замечательная асинхронность ввода-вывода и производительность – быстрее, чем node.js и в некоторых случая даже быстрее чем приложения на C/C++ (благодаря технологии мемоизации вычислений)
- Нужны хорошие возможности по расспаралеливаню вычислений
- Нужен низкий порог дефектов кода – без необходимости писать огромное количество тестов
- нужна высокая безопасность ваших приложений (большинство проблем безопасности не представляется возможными в хаскеле)
- Вы опытный программист Haskell или хотите выучить новый язык программирования
Facebook+Skype=?
Посетив Сиэтл на прошлой неделе генеральный директор Facebook Марк Цукерберг намекнул журналистам, что в ближайшие дни компания собирается выпустить новый продукт, разработанный его командой. Приглашение на пресс-конференцию появилось 1 июля. Пока что можно лишь гадать, какой именно продукт собирается показать миру FaceBook, однако, как заявляют осведомленные источники, FB собирается запустить браузерный видео-чат, создать который им помог Skype.
Видео-чат разработанный Skype будет включать в себя также и настольные компоненты. И пока совершенно не ясно, как будет работать видео-чат от FB, если на компьютере уже установлен Skype, будет ли это дополнительный продукт, который необходимо загрузить и установить, либо дополнительной инсталляции не потребуется?
Судя по всему, такое слияние компаний будет выгоднее больше Skype, чем FaceBook, ведь FB уже имеет более 750 миллионов активных пользователей, в то время как у скайпа всего 170 миллионов, если здесь вообще уместно слово “всего”. Ну и ко всему прочему, этот факт еще больше сблизит Microsoft и FaceBook, ведь MS уже является акционером FB, и уже почти купило компанию Skype за 8,5 миллиардов долларов.
Используем сервис Gravatar
Название Gravatar переводится как “глобально распознаваемые аватары“, и предназначен для хранения и глобального доступа к аватаркам пользователя и его персональным данным.
Все URL-ы в системе gravatar имеют одну общую ключевую деталь – хеш адрсеса электропочты пользователя. Именно этот хеш уникально идентифицирует пользователя в рамках сервиса gravatar. Хеш формируется очень просто. Для этого нужно взять e-mail, убедиться, что в нем отсутствуют начальные и конечные пробелы, привести его в нижний регистр, и взять MD5-хеш полученной строки.
На языке PHP этот код будет выглядеть так:
$email = "vgrinin@gmail.com"; echo md5(strtolower(trim($email)));
А на C# – вот так:
string email = "vgrinin@gmail.com"; byte[] hash = MD5.Create().ComputeHash(Encoding.Default.GetBytes( email.Trim().ToLower())); StringBuilder hashString = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { hashString.Append(hash[i].ToString("X2")); } Console.WriteLine(hashString.ToString().ToLower());
Гм… получилось несколько длиннее, чем на PHP.
(more…)
ADO.NET Entity Framework. Часть 2.
Итак, продолжаем изучать ADO.NET Entity Framework.
Будем продолжать развивать решение, полученное в первой части статьи. Напомню, что мы спроектировали концептуальную схему данных, сгенерировали и выполнили DDL-скрипт, создавший для нас структуру хранения данных, а также научились создавать объекты в концептуальном поле и делать выборку из коллекций. Естественно, все изменения мы сохраняли в БД, обеспечив таким образом синхронность данных в концептуальном слое и в БД.
Предположим, что перед нами теперь возникла необходимость дополнить объект User новыми полями, пусть это будет FIO и BirthDate. (more…)
Редиректы
Всем привет. Сегодня мы поговорим о редиректах. Редирект – это по сути команда браузеру, при помощи которой сервер требует от браузера загрузить другой ресурс. Сразу возникает вопрос – зачем нужны редиректы? Вопрос этот носит характер глобальный. Например, можно построить целую архитектуру веб-приложения, которая будет основываться на редиректе. Самый яркий пример редиректов в современном рунете – мегатонны рекламы, которая открывается в новых окнах, хотя, конечно, этого можно достичь и другими способами.
В общем, на сегодня наша задача разобраться с тем, как работает редирект, посмотреть примеры и разобраться в разнице подходов.
Мы рассмотрим следующие типы редиректа в PHP/HTML
– Стандартная функция header. Редирект с помощью отправки заголовков Location и Refresh
– Разница между 301 и 302 кодами состояния HTTP-протокола
– Редирект с помощью мета тега.
– Попытаемся ввести браузер в ступор ссылками на перекрёстные файлы и посмотрим, что будет. (more…)