Search
Write a publication
Pull to refresh
1
0
Сергей Слепцов @ssleptsov

User

Send message

Затухающие полоски на CSS3 без изображений

Reading time2 min
Views22K
Хочу поделиться с вами моим способом создания затухающих полосок без использования изображений. Дальше под катом описан метод создания таких элементов с комментариями и примером.


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

Популярно об Amazon Web Services

Reading time9 min
Views191K

Вступление


В этом докладе будут рассмотрены сервисы AWS, которые использует наша платформа и с которыми я знаком не по наслышке. Я работаю над проектом, который использует почти все возможные сервисы, а так же мы нацелены в ближайшем будущем охватить ещё больше возможностей, которые предоставляет нам Amazon.

Управление AWS осуществляется как с помощью веб интерфейса (AWS console), так и с помощью Command Line Tools. В консоли собраны все сервисы AWS, но функциональность настройки несколько обрезана. В командной строке же можно более гибко настроить тот или иной сервис, так же доступны закрытые в консоли функции.

Amazon Elastic Compute Cloud (EC2)


Описание

EC2 — это облачный сервис, предоставляющий виртуальные сервера (Amazon EC2 Instance), 2 вида хранилищ данных, а так же балансировщик нагрузки (Load Balancer).
Читать дальше →

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

Reading time10 min
Views24K

Зачем нужен OpenID



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

Сравнение объектов в C#.NET

Reading time6 min
Views141K
C#.NET предлагает множество способов сравнить объекты, как экземпляры классов, так и структур. Способов так много, что без упорядочения этих способов и понимания их грамотного использования и имплементации (при наличии возможности переопределения), в голове, неминуемо, образуется каша.
Читать дальше →

Оформление изображений на CSS3. Часть 2

Reading time2 min
Views4.5K
В предыдущей статье про оформление изображений была затронута тема создания у картинок идеально закругленных углов, строгих теней и других графических «фишек» с помощью свойств box-shadow, border-radius и transition. Т.к. эти свойства обрабатываются некоторыми браузерами некорректно, проблема кроссбраузерности была решена обёртыванием изображения в контейнер, где оно (изображение) используется в качестве фона.

Сегодня я подготовил перевод второй части, где решается еще одна проблема такого метода, а именно невозможность фонового изображения изменять размеры и, как следствие, невозможность использовать данный метод при проектировании масштабируемого (адаптивного) дизайна.

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

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

Hello, Umbraco!

Reading time6 min
Views38K

Это вовсе не кастрюлька с двумя ручками на оранжевом фоне – а логотип Umbraco – open-source ASP.NET CMS. Данная статья – краткий вводный курс в Umbraco. Помимо общих вопросов – что это и зачем, я покажу, как можно быстро развернуть ее и сделать первое приложение – буквально за 5 минут.
Читать

CSS3 с погружением

Reading time7 min
Views36K
CSS3 видели и пробовали все, кого он мог заинтересовать. И закругленные уголки и падающие тени мы уже можем генерировать без лишнего труда.

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

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

Браузеры, поддерживающие свойства перечислены в виде CSS комментариев. Генераторы и инструменты чаще всего могут выполнять сразу несколько функций, поэтому в таких случаях я указывал их только там, где они, по-моему, справляются лучше всего.
Читать дальше →

Изучение иностранных языков: живые учителя или интернет?

Reading time4 min
Views74K


— Феденька, ты очень интеллигентный мальчик, ты мне очень нравишься, но Я БУДУ СТАВИТЬ ДВА В ГОДУ!!! — визжала моя школьная учительница по французскому и делала примерно такое лицо.

Моя школьная учительница по английскому языку делала другое лицо:
Читать дальше →

SqlBulkCopy — безбашенная загрузка больших данных или как оседлать дикую лошадь (C#)

Reading time8 min
Views44K

SqlBulkCopy — это эффективное решение для массовой загрузки данных в таблицы Microsoft SQL Server. Источник данных может быть любой, будь то xml-файл, csv-файл или другая СУБД, например MySQL. Достаточно получить из источника данные в виде объекта DataTable или реализовать интерфейс IDataReader поверх методов доступа к данным.

Вам не придется создавать файлы на диске для дальнейшей их загрузки с помощью утилиты BCP, вам не придется писать код для генерации множественных INSERT запросов. При загрузке данных SqlBulkCopy работает на более низком уровне, позволяя вставлять миллионы записей за максимально короткий срок.
Читать дальше →

Браузеры запутались в блочной модели для таблиц

Reading time2 min
Views9.8K
В процессе создания новой версии своего грида на JavaScript, столкнулся с не очень приятным багом. Причем там, где меньше всего ожидал…

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

Похоже, производители браузеров в гонке за количеством внедренных черновиков – забыли, что стандарты нужно не только поддерживать, но и поддерживать правильно и одинаково.
Читать дальше →

Учебный курс. Обновление связанных данных с помощью Entity Framework в приложении ASP.NET MVC

Reading time11 min
Views20K
Это продложение цикла статей, посвященого разработке с помощью Entity Framework и ASP.NET MVC 3. Первые главы вы можете найти по следующим ссылкам:
В предыдущих уроках мы отображали данные. Теперь вы будете их обновлять. Для большинства связей обновить связанные данные можно с помощью внешних ключей. Для связи многие-ко-многим EF не использует напрямую объединённую таблицу, поэтому вы должны вручную добавить и удалить сущности из соответствующих navigation properties.

Результаты представлены на иллюстрациях.

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

Keep it simplest. Или про простые сайты

Reading time2 min
Views5.1K
Для начала, у меня просто возникла потребность сделать сайт с текстовой информацией. Сделать надо было что-то несложное, но не забывая про мобильные устройства, которых все больше ходит по сайтам.

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

Так что следующим шагом стал просмотр готовых вариантов в сети.

Поиск


Шаблоны для CMS не подходят хотя бы потому, что CMS не будет. И такие шаблоны чаще всего рассчитаны на более сложные сайты. И они не будут радовать посетителей с мобильными устройствами.

Хотя, сейчас появились шаблоны с адаптирующейся разметкой (responsive design), которые и вызвали у меня интерес. К сожалению, большинство найденных решений оказались платными, что не удивительно, учитывая объем работы, который проделывают их авторы.
Читать дальше →

Когда использовать Parallel.ForEach, а когда PLINQ

Reading time13 min
Views78K

Введение


Обычно, при оптимизации программы для многоядерных компьютеров первым шагом является выяснение возможности разделения алгоритма на части, выполняющиеся параллельно. Если для решения задачи необходимо параллельно обрабатывать отдельные элементы из большого набора данных, то первыми кандидатами станут новые возможности параллельности в .NET Framework 4: Parallel.ForEach и Parallel LINQ (PLINQ)

Parallel.ForEach


Класс Parallel содержит метод ForEach, представляющий собой многопоточную версию обычного цикла foreach в C#. Подобно обычному foreach, Parallel.ForEach выполняет итерации над перечислимыми данными (enumerable), но с использованием множества потоков. Одна из более часто используемых перегрузок Parallel.ForEach выглядит следующим образом:

public static ParallelLoopResult ForEach<TSource>(
			 IEnumerable<TSource> source,
			 Action<TSource> body)

Ienumerable указывает на последовательность, по которой нужно выполнить итерации, а Action body задает делегат, вызываемый для каждого элемента. Полный список перегрузок Parallel.ForEach можно найти здесь.

PLINQ


Родственный с Parallel.ForEach PLINQ представляет собой модель программирования для паралелльных операций над данными. Пользователь определяет операцию из стандартного набора операторов, включающих в себя проекции, фильтры, агрегирование и т.д. Подобно Parallel.ForEach PLINQ достигает параллельности, разбивая входную последовательность на части и обрабатывая элементы в разных потоках.
В статье выделяются различия между этими двумя подходами к параллельности. Разбираются сценарии использования, в которых лучше всего использовать Parallel.ForEach вместо PLINQ и наоборот.

Выполнение независимых операций


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

Создание собственного элемента управления CheckBoxList

Reading time13 min
Views8.9K

Предисловие


В данной статье будет рассмотрена возможность создания собственного элемента управления и его использования в рамках нового проекта на ASP .NET MVC 3.0. Все написанное ниже является точкой зрения автора и может не совпадать с распространенными или общепризнанными методами создания контролов, поэтому критика и комментарии приветствуются.

Введение


Вероятно, многие пользователи, которые ранее работали в своих проектах с WinForms или ASP .NET WebForms, замечали, что Html хелперы в проекте ASP .NET MVC не предоставляют возможность создания такого элемента управления, как CheckBoxList, который мог бы быть полезен в сложных формах фильтров данных или при множественном выборе не структурированных данных, будь то в профиле о пользователе или при добавлении нового топика на хабрахабр. Конечно, никто не запрещает использовать одиночный CheckBox или CheckBoxFor, но будет ли работа с такой группой чекбоксов удобной, а код легко расширяемым, понятным сопровождающему и защищенным от дублирования,- это далеко не последние вопросы для программиста, который планирует использовать свои наработки в будущих проектах. А если принять во внимание, что мы можем добавить к нашему элементу управления некоторые полезные опции для его визуального отображения, то необходимость его создания становится все более и более очевидной.
Читать дальше →

Учебный курс. Создание модели данных Entity Framework для приложения ASP.NET MVC

Reading time13 min
Views153K
На примере веб-приложения для Contoso University мы продемонстрируем создание приложений ASP.NET MVC с использованием Entity Framework, в функциональность которого будут входить такие возможности как принятие стуентов, создание курсов и назначение преподавателей.

Данные учебные материалы объяснят по шагам процесс создания веб-приложения для Contoso University. Вы можете скачать готовое приложение или создать его согласно приведенной последовательности шагов. Примеры приведены на C#, примеры кода доступны в C# и VB. Если у вас есть вопросы, косвенно касающиеся учебных материалов, вы можете задать их ASP.NET Entity Framework forum или Entity Framework and LINQ to Entities forum.

Обучение предполагает наличие знаний по работе с ASP.NET MVC в Visual Studio, в противном случае хорошее место для начала обучения ASP.NET MVC Tutorial. Если вы предпочитаете работать с ASP.NET Web Forms, обратите внимание на Getting Started with the Entity Framework и Continuing with the Entity Framework.

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

«Облако» как альтернатива традиционному хостингу

Reading time8 min
Views36K

На последнем РИФе я рассказывал об «облаке» как альтернативе традиционному хостингу (на примере Амазона).

С тех пор прошло несколько месяцев. За это время я многократно дискутировал как с ярыми противниками «облака», так и с не менее активными сторонниками.

Последний такой спор случился пару дней назад непосредственно с хостерами. И закончился (с их стороны) примерно таким выводом: «Сейчас облако в хостинге — маркетинговое зло, которое только путает людей».

Тема, как мне кажется, не просто популярная и интересная, но и очень важная. Поэтому я хотел бы обобщить свой собственный опыт (у меня есть несколько личных сайтов на виртуальном shared хостинге, периодически по знакомству присматриваю за одним дедиком, а все рабочие проекты размещены в «облаке» Амазона) и вместе с вами постараться разобраться во всех плюсах и минусах облачного хостинга по сравнению с традиционным.
Читать дальше →

Валидация в JavaScript с помощью Valid8

Reading time2 min
Views5K
Часто приходится «насыщать» интерфейсы с помощью JavaScript. В основном работаю через jQuery, всё нравится, но одна беда – валидация. Постоянно приходится изобретать «велосипед», искать в сети обрывки кода; а ведь хочется написать пару строчек без углубления в детали. Радость не заставила себя ждать: нашёл библиотеку Valid8 (произносится как validate), и, наконец, решил проблему написания кода валидации.

Как пользоваться


Пользоваться библиотекой оказалось очень просто, чего не скажешь о склеивании jQuery «обрезков» из интернета. Чтобы подключить библиотеку, нужно зайти сюда и нажать заветный Download. Скачается архив, в котором особый интерес представляет файл jquery.valid8.js, его копируем в папку с js файлам нашего проекта и подключаем библиотеку в html:
<script src="/js/jquery-1.6.3.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/jquery.valid8.js" type="text/javascript" charset="utf-8"></script>

Допустим у нас есть форма:
<form><ul>
<li><input type="text" id="inputSome" /></li>
</ul></form>

Добавляем валидацию (по умолчанию только проверка обязательности заполения), передавая в качестве параметра строку с сообщением об ошибке. Работаем в стиле jQuery:
$('#inputSome').valid8("Заполни это поле!");

После того как поле получит фокус и вы из него выйдете не заполнив, объемлющий тег (в нашем случае li) получит класс стиля error.
Для визуализации ошибок добавим CSS в head нашего документа:
<style>
.error input { background:pink; }
</style>

Валидация готова. Все.

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

Работаем с jQuery Templates

Reading time20 min
Views140K

Введение


Плагин jQuery Templates – это «движок шаблонов», работающий на стороне клиента как расширение jQuery.

Этот плагин помогает показать в браузере данные, которые находятся в объектах и массивах JavaScript, избавляя вас от рутинных операций по созданию HTML-кода, экранированию специальных символов и т.п. Кроме того, он обладает очень интересными возможностями – например, позволяет обновлять созданный с его помощью HTML-код при изменении исходных данных.

Разумеется, jQuery Templates – не единственный и не первый «движок шаблонов», но у него есть большое преимущество перед альтернативными вариантами – поддержка со стороны jQuery Team. Это позволяет нам не бояться того, что этот плагин окажется заброшенным, и различные проблемы, возникающие при выходе новых версий браузеров, придется решать своими силами.

В этой статье я расскажу об основных возможностях jQuery Templates и продемонстрирую его работу в различных сценариях, а в последующих статьях я расскажу о функциях, не вошедших в основной код плагина (jQuery Templates Plus) и о расширении языка шаблонов.

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

Собственная страница ошибки 404 на ASP.NET MVC

Reading time6 min
Views27K
При разработке проекта на ASP.NET MVC возникла необходимость сделать собственную страницу ошибки 404. Я рассчитывал, что справлюсь с этой задачей за несколько минут. Через 6 часов работы я определил два варианта ее решения разной степени сложности. Описание — далее.
Читать дальше →

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity