Pull to refresh
11
0
Михаил Гордеев @Chkon

Разработчик

Send message

LESS: программируемый язык стилей

Reading time13 min
Views428K
Я не люблю CSS. Он простой и понятный. Это движущая сила Интернета, но он слишком ограниченный и им трудно управлять. Пришло время привести этот язык в порядок и сделать его более полезным, используя динамический CSS при помощи LESS.
Объясню свою позицию на примере. Почему бы вместо использования #FF9F94 для получения темно-персикового цвета просто не хранить значение этого цвета в переменной для её последующего использования? Что бы перекрасить сайт достаточно будет изменить значение переменной всего в одном месте и всё.
Другими словами: это будет очень изящно, если мы будем использовать немного программирования и логики в CSS, что бы сделать его более мощным инструментом. Хорошо, что это всё возможно с использованием LESS.
Так что же такое LESS?
Total votes 161: ↑147 and ↓14+133
Comments136

Упрощение жизни разработчика с помощью сторонних сервисов

Reading time3 min
Views9.6K
Представляю скромную подборку сервисов, которые ускоряют экономят время разработчику и/или ресурсы сервера. Здесь не будет подробных обзоров, только список с кратким описанием и ссылками. Также, я не претендую на свежесть ресурсов, поэтому кому-то перечисленный список покажется слишком очевидным и известным всем.

Буду рад включить ссылки и описания, предложенные в комментариях.

Google Fusion Tables


Позволяет развернуть реляционную базу данных на серверах гугла с обращениями с помощью библиотеки Visualization или JSONP.
Статья на хабре: habrahabr.ru/blogs/webdev/116035
Ссылка: www.google.com/fusiontables/Home

Минусы: количество обращений в секунду равно пяти с одно IP адреса и столько же при обращении с аккаунта (используя авторизацию). То есть развернуть сайт с хорошей посещаемостью и работать с сервисом с помощью сервера не получится. Стоимость увеличения лимита — от 10 тысяч долларов в год (см. Maps API Premier). Кроме того, отсутствуют джойны, которые заменяются представлениями (view), создаваемыми через интерфейс.
Читать дальше →
Total votes 170: ↑156 and ↓14+142
Comments41

Расширение Orchard CMS: создание контентных типов

Reading time5 min
Views1.3K
Это продолжение цикла статей на тему разработки собственных сайтов на базе системы управления контентом Orchard CMS. Первые статьи данного цикла вы можете найти по следующим ссылкам:В этой статье речь пойдет о расширении сайта на базе Orchard CMS через создание элементов контента известных как контентные типы.

Создание контентных типов


Хотя Orchard CMS уже включает в себя набор из нескольких контентных типов, таких как Страница (Page) и Запись Блога (Blog Post), вы можете легко создать собственный контентный тип (или даже расширить существующий тип) с помощью панели администрирования. По умолчанию, функция контентных типов в Orchard включена. Она должна быть включена для успешного создания собственных контентных типов. Если это требуется, вы можете активировать функцию на странице Modules в панели администрирования.

Читать дальше →
Total votes 43: ↑29 and ↓14+15
Comments3

MongoDB и C# driver от 10gen, неочевидные моменты

Reading time4 min
Views5.5K

Под катом частичная загрузка объектов, поиск объекта по элементу вложенного в него массива и немного идентификаторов. Вещи, которые так или иначе отняли у меня время на расследование как это работает, а иногда и на копание в исходных кодах драйвера при использовании MongoDB в реальном проекте.
Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments20

Java сертификация — прохождение SCJP и SCBCD

Reading time8 min
Views84K
Не нашел на хабре статей, в которых бы авторы описывали сертификации по Java и делились своим опытом подготовки и ощущениями от сдачи.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
читать далее
Total votes 46: ↑44 and ↓2+42
Comments24

IronRuby и IronPython переданы в руки сообщества, выпущены IronRuby Tools for Visual Studio

Reading time2 min
Views2.1K
Большие новости от Microsoft по поводу открытой реализации динамических языков Ruby и Python для .NET. Прежде всего надо сказать, что долгожданная интеграция и поддержка IronRuby в Visual Studio выпущена в свет! Ранее такая поддержка была доступна для IronPython (подробности по этой ссылке).

Кроме того в новом IronRuby 1.1.1 поддерживается Ruby 1.9.2. Кроме того есть поддержка проектов Ruby On Rails!

image

Читать дальше →
Total votes 57: ↑43 and ↓14+29
Comments25

7-Zip из .NET или как я делал open source проект на CodePlex

Reading time9 min
Views17K


Эта статья с одинаковым успехом может быть отнесена к блогам ".NET", «Open source» и «Я пиарюсь». После того. как я написал материал, стало ясно, что больше всего в ней «Open source»… Просьба сильно не бить, если я ошибся.

Итак, ниже пойдет рассказ о моем полуторагодичном опыте разработки библиотеки SevenZipSharp с открытыми исходниками, выложенной на CodePlex в феврале 2009. Эта библиотека — обертка над 7-Zip, позволяющая с легкостью его использовать в .NET.
Читать дальше →
Total votes 175: ↑152 and ↓23+129
Comments46

Выступаем публично. Подготовка к твоему первому выступлению на конференции

Reading time4 min
Views6.9K
AHTUNG!!!!Приветствую, коллеги по цеху. Начну с отказа от ответственности. Сам я не опытный рассказчик, а только учусь. Возможно, именно поэтому мой опыт будет интересен другим новичкам. Опытных презентаторов, кому есть что добавить — прошу отписаться в комментах или в личку — что можно было бы сделать лучше.

Началось всё с того, что на РИФ+КИБ нашей компании выступить не удалось, в силу разных причин, а давно хотелось. Следующее интересное отраслевое событие — "Неделя электронной торговли", и наши доклады включили в программу мероприятия (не без помощи razmolot).

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

Итак. Первое: Цели. Как правильно писали умные люди на Хабре — презентация это не "о чем", а "зачем".

Мои цели были следующие:
Total votes 101: ↑84 and ↓17+67
Comments67

Программисту .NET: как быстро показать LaTeX

Reading time4 min
Views8K
В этой статье описаны несколько способов отображения LaTeX документов в программах на .NET. Информация пригодится в первую очередь программистам, работающим в сфере образования. Все, о чем идет речь, проверено на собственном опыте разработки на кафедре высшей математики одного из ведущих московских технических ВУЗ-ов.

Задача

В вашем программном комплексе автоматически создается много научных документов на LaTeX (как наиболее подходящем для этих целей текстовом формате), каждый документ необходимо как можно быстрее показать пользователю в качестве черновика. «Автоматически» означает, что пользователь не набирает документы LaTeX вручную, он даже может не знать о том, что это такое. Подразумевается, что когда будет создан окончательный вариант документа, он будет либо экспортирован в LaTeX-е, либо преобразован в PDF средствами установленного дистрибутива TeX и распечатан. Показывать черновые варианты следует по возможности без использования сторонних программ и быстрее, при этом их корректность гарантируется. Размер документов не превышает нескольких листов A4, количество формул умеренное.

Казалось бы, если все равно в конце документ придется печатать, что невозможно без установки TeX, то к чему подчеркивать независимость от TeX-а? Дело в специфике программного комплекса, разрабатываемого автором.

Решения

  • В лоб — компилировать LaTeX в нечто PDF-подобное, используя дистрибутив TeX, и показывать во внешнем просмотрщике
  • Похитрее — показывать LaTeX сразу, в браузере (т.е. в компоненте WebBrowser), используя Integre techexplorer — ActiveX плагин к Internet Explorer
  • Еще хитрее — конвертировать LaTeX в MathML и показывать в поддерживающем этот стандарт браузере (т.е. соответствующем компоненте .NET)

Какой же способ выбрать?
Читать дальше →
Total votes 44: ↑30 and ↓14+16
Comments8

jQuery для JavaScript-программистов

Reading time12 min
Views70K
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

Большинство современных обзоров jQuery делают упор на дизайнеров и неопытных разработчиков. Я попытаюсь объяснить, почему она также нужна и опытным программистам.

Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments121

Накручиваем PollDaddy.com. Битва за iPad в 4-ех действиях

Reading time9 min
Views2.8K
iPad

1. Предистория


Вот уже некоторое время я наблюдаю за развитием стартапа friendsaround.me. Идея стартапа это запустить социальную сеть для владельцев мобильных утройств с привязкой к местоположению. Сейчас как я понимаю они все еще в процессе разработки — ну не суть. Наблюдаю я достаточно пассивно и поэтому только 7 марта обнаружил, что они проводят конкурс на лучший слоган для их продукта с главным и единственным призом в виде iPad (а точнее iTunes gift карты на необходимую для его покупки сумму). Конкурс заканчивался сообственно 7 марта и я, предварительно посмотрев на текущие присланные варианты (и не найдя ни одного понравившегося), решил тоже попытать, так сказать, счастья. После нескольких минут креативного раздумья в голове вертелось несколько вариантов, из которых я остановился на слогане «Locate Friendship!» (А че — подумал я — коротко, ясно и по делу. Отличный слоган!). Его и послал на участие…

Читать дальше →
Total votes 95: ↑80 and ↓15+65
Comments50

.NET и работа с неуправляемым кодом. Часть 1

Reading time4 min
Views30K
.NET и работа с неуправляемым кодом. Часть 1

.NET и работа с неуправляемым кодом

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

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

Мне не хотелось бы полностью описывать всю структуру взаимодействия, т.к. это заняло бы значительную часть статьи. В этой статье я опишу принцип взаимодействия на конкретных примерах, опишу способы выделения и очистки выделенной памяти.
Читать дальше →
Total votes 53: ↑38 and ↓15+23
Comments24

MVC Framework: большое введение для начинающих

Reading time16 min
Views80K
Необходимое отступление: не так давно я разместил статью предназначавшуюся для печатного издания. Приведенная ниже статья имеет ту же самую судьбу: она не попала в печать в связи с тяжелым положением журнала. Как и в прошлый раз, я решил опубликовать статью на Хабре, благо тематика попадает под формат. Необходимо заметить, что статья оформлена и содержит текст для журнала, если бы она готовилась для Хабра, то некоторые часть могли бы быть изменены. Надеюсь, статья вам понравится.

В последнее время заметно, что компания Microsoft уделяет повышенное внимание развитию своих средств разработки, новым инструментам и механизмам разработки программ на своей платформе .net. Быстро развивается язык C#, четвертая версия которого не за горами. Представлен и активно продвигается новый язык F#. Для разработчиков баз данных разработан Entity Framework, который уже доступен в виде финальной версии в первом сервиспаке к .Net Framework 3.5 и Visual Studio 2008. Microsoft активно занялась и клиентской частью разработки web-проектов. Для нашего внимания предложен путь развития Ajax.Net 4.0. Internet Explorer 8 все больше соответствует стандартам и становится привлекательным инструментом для web-программистов, так например, его вкладка Developer Tools включает в себя профайлер JavaScript. Очень хорошей новостью стало недавно объявление о полной поддержке и включении JavaScript-библиотеки jQuery в следующее обновление Visual Studio. В этом свете возникает вопрос, что же предложено разработчикам ASP.NET? Ответ — MVC Framework. Целью данной статьи рассмотреть некоторые общие проблемы, с которыми могут столкнуться программисты, решившие использовать MVC Framework для своих web-проектов, и их решения.
Читать дальше →
Total votes 65: ↑59 and ↓6+53
Comments71

Осваиваем ASP.NET MVC вместе. Введение

Reading time8 min
Views20K

Немного предыстории


Я с другом всецело интересуемся веб-разработкой и всем что с ней связано. В этом году университету дали заказ написать веб-портал для студентов, в котором можно будет получить последнюю информацию о оценках, расписание… Но об этом потом. Естесственно «Конструкторское Бюро» (так называется отдел который отвечает за разработку программного обеспечения в университете), не долго думая, решили перебросить задание на студентов. Так уж случилось, что мы попали в число этих студентов и на выбор нам предложили ASP.NET Web Forms или PHP Symfony. И дабы усложнить себе задание и выучить что-то новое, мы попросили разрешить нам сделать задание на ASP.NET MVC. Проект сейчас всецело развивается, и я думаю как закончим, мы выложим исходные коды проекта сюда. Но об этом тоже потом. И так, дабы как-нибудь систематизировать наши знания и получить советы от профессионалов, мы решили начать серию статей, которые могут помогут начать другим людям изучать этот прекрасный фреймворк. Ну что ж? Начнем!
Читать дальше →
Total votes 56: ↑39 and ↓17+22
Comments20

ASP.NET MVC на реальном примере. Теория и вступление.

Reading time9 min
Views64K
Команда Microsoft очень интенсивно развивает свои продукты и средства для разработчиков. На эту тему уже и выхлопы шуточные были, по поводу выхода новых версий фреймворков. Разработчики, которые работают в крупных компаниях, ввязаны в большие проекты в общем-то без особого энтузиазма на это смотрят, так как такие махины нельзя в короткие сроки перевести на новую версию. Может быть чревато как всплыванием багов, так и изменением всей структуры проекта, что делать не всегда получается легко. Сказанное выше, к сожалению (или к счастью), меня не касается и это дает мне возможность использовать все самое новое без оглядки на бекграунд. Проекты довольно таки обозримые, часто переводятся на новую версию безболезненно, и новые фичи начинаю внедрять уже при реализации следующей задачи в пректе. На момент внедрения это, конечно, вносит некий хаос в код, так как в разных кусках кода используются разные принципы (например, внедрение LINQ), но последующий рефакторинг кода приводит все к единому виду и все приходит в норму.

К чему все это?


Одним из таких нововведений является ASP.NET MVC — реализация шаблона Model-View-Controller под платформу .NET. Попробуем разобраться что же это такое, зачем нужно, и применим наши знания на простом, но реальном приложении.
Приступим
Total votes 36: ↑33 and ↓3+30
Comments166

Smooth Streaming в Silverlight

Reading time4 min
Views4.7K
В этом топике я не буду учить вас настраивать Smooth Streaming под IIS для Silverlight, не буду давать примеры кода для воспроизведения видео. Я ставлю цель рассказать принцип работы Smooth Streaming в Silverlight, недостаток IIS в роли streaming сервера и как Microsoft решила эту проблему. Я хочу получить отзывы от хабрасообщества о возможной применимости в жизни данного подхода вещания видео в Интернет.

Весь процесс от подготовки видео и до его трансляции конечному пользователю я представил в виде трех шагов.
Узнать больше
Total votes 55: ↑33 and ↓22+11
Comments25

WPF 4

Reading time11 min
Views31K
Нововведения в WPF 4image

WPF (Windows Presentation Foundation) — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения. WPF 4 содержит важные улучшения в продуктивности, производительности, возможностей — в частности в областях: элементов управления, XAML, текста, графики, интеграции в Windows 7 (мультитач, интеграция в панель задач, и т.п.), основных принципов работы, развертывания. Это только первая статья из серии, которая описывает нововведения.

Я напишу отдельную статью, которая опишет важные изменения, которые грядут в WPF и Silverlight конструкторах в VS 2010.
Читать дальше →
Total votes 72: ↑51 and ↓21+30
Comments26

Коллекция Nigma-фич 2009

Reading time1 min
Views853
Пора встречать Новый Год и подвести итоги года уходящего. 2009 год для Nigma.ru был еще более урожайным, чем 2008-й. Мы разработали и запустили более десятка новых полезных сервисов, а также по вашим многочисленным просьбам обновили дизайн :))

Пользуясь случаем, мы поздравляем всех пользователей Хабрахабра с наступающим 2010 годом! Желаем вам покорения новых вершин и душевного равновесия!

Пора провожать старый год — мы представляем вашему вниманию коллекцию основных Nigma-фич 2009:
Читать дальше →
Total votes 45: ↑37 and ↓8+29
Comments14

Установка и настройка Microsoft Hyper-V Server 2008 R2

Reading time4 min
Views130K

Вступление


Сегодня я расскажу вам как установить и настроить гипервизор от Microsoft, а так же как управлять им.
Итак, сначала небольшое лирическое отступление.
По мере оптимизации существующей инфраструктуры встал вопрос о виртуализации. Я тут же вспомнил про замечательное решение от VMware — ESXi, с которым раньше неоднократно работал и был более чем доволен и собрался уже было на него мигрировать, но судьба распорядилась иначе. В процессе планирования и выбора платформы виртуализации неожиданно победил Hyper-V.
Две вещи склонили чашу весов в его сторону: отличная поддержка железа, а так же тот фактор, что у меня в организации используются только продукты Microsoft, вследствие чего имеем более тесную интеграцию и лучшую управляемость. К сожалению, поддержка AD была анонсирована в ESXi 4.1 позже начала миграции, а то наверное я бы еще подумал.
Как многие знают, Hyper-V Server 2008 R2 — бесплатный продукт и представляет собой ОС Windows Server 2008 R2 Standard, работающую в режиме Server Core (то есть без GUI) и с включенной ролью Hyper-V. В связи с этим возникают некоторые сложности в настройке системы для «виндовых» админов, так как нет волшебных кнопочек «далее» и «готово», а уж для линуксоидов и подавно — синтаксис комманд в винде и рядом не лежал с никсами по удобству и понятности.

Установка


Начнем с установки.
Установка с компакт-диска не представляет собой ничего сложного — загрузились с диска, выбрали язык, согласились с лицензионным соглашением, выбрали раздел и «ушли курить» минут на 10.
image
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments14

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity