• Краткий конспект по языку JavaScript

    • Tutorial
    Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

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

    JavaScript — язык со слабой динамической неявной типизацией, автоматическим управлением памятью и прототипным наследованием.

    JavaScript состоит из трёх обособленных частей:

    • ядро (ECMAScript),
    • объектная модель браузера (Browser Object Model или BOM),
    • объектная модель документа (Document Object Model или DOM).


    В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
    Читать дальше →
  • Защита прав потребителей в России: Мы далеко не последние

      Устал я слушать от знакомых причитания по качеству защиты прав покупателей в России и завистливые возгласы: «Вот на западе....».
      Нет, я не хочу сказать что я негативно отношусь к западу, просто хочу показать, что и у наших граждан, есть защита. И закон о защите прав потребителей далеко не такой, каким многие его представляют.
      Что же даёт нам закон?
    • Microsoft Research AutoCollage 2008

        Microsoft AutoCollage 2008
        Microsoft AutoCollage 2008 — это программа, которая автоматически обработает Ваши фотографии и совместит их в фотоколлаж. Система определения лиц, фильтрация выступов, интеллектуальные выборка объектов и смешивание, используемые в AutoCollage, создадут красивый коллаж. Нужно просто выбрать папку с фотографиями.

        И что получится?
      • GMail? Хорошая вещь. Но терпение лопнуло

          Использую GMail с лета 2004-го. Он позволил перестать думать, за каким компом сидишь — это стало просто совсем не важно. Если у тебя есть учётная запись Google, можно просто грузиться с диска Ubuntu и сразу начинать работать с почтой, документами, общаться. Отлично.

          Но я так больше не могу. Вот как выглядит мой Inbox сейчас:
          Читать дальше →
        • Знакомимся с PayPal Standard Checkout

          Подключение PayPal Standard Checkout

          В данном руководстве последовательно описан мой опыт внедрения PayPal Standard Checkout с использованием языка Java на платформе Google App Engine. Данная статья рассчитана на людей уже имеющих опыт работы с облачной платформой GAE.

          Задача

          Потребовалось мне интегрировать платёжную систему PayPal на сайт собственного проекта который будет предоставлять сервис по подписке. Начав работу с PayPal Express Checkout API через некоторое время пришло осознание того что система приёма платежа становится слишком громоздкой, в то время как у готовых кнопок Standard Checkout отсутствует необходимая гибкость, которая требуется в случае интеграции сайта с другими платёжными системами.
          Выход был найден в использовании инструментов Standard Checkout которые предоставляет PayPal разработчикам сторонних “корзин” для сайта.

          Читать дальше →
          • +20
          • 41.6k
          • 8
        • OpenID, OAuth и другие плюшки

          • Tutorial

          Зачем нужен OpenID



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

            topic image
            На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

            Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
            Читать дальше →
          • Вёрстка c «Ушами»

              Очень часто фантазия человека, разрабатывающего макет сайта, не ограничивается шириной 1024px, при этом требуется, чтобы сайт выглядел достойно на всех разрешениях и соответствовал полёту мысли дизайнера.

              Проблему можно представить графически так:
              image

              Задача вёрстки заключается в следующем:
              • — независимо от разрешения (размера она браузера), информативная часть сайта находилась посередине;
              • — справа и слева должны остаться графические блоки (уши), причём эти уши должны быть видны только при увеличенном размере экрана браузера, а при уменьшенном не уместившаяся часть должна прятаться (в идеале, чтобы ещё горизонтальной полосы прокрутки не было);;
              • — страница должна быть резиновой от 680px до 1000px.

              Работает для FF3, FF4, IE8 и почти для Opera.
              Читать дальше →
            • Хранение, обработка и отдача статики

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

                Задачи решаемые системой:
                — удобная загрузка файлов;
                — возможность асинхронной обработки картинок;
                — легкая работа с превью;
                — отделение конфигурирования от выполнения.

                Поехали

                Читать дальше →
              • Paginator3000 и колёсико мыши

                  Потребовалось однажды реализовать пейджер постраничной навигации а-ля дёти.
                  Далеко в лес ходить я не стал, а решил найти, что же это за зверь такой раскопированный на множестве сайтов, а оказалось, что это детище karaboz. И даже есть аналог, переделанный под jQuery.

                  Но у каждой версии есть, как мне показалось, огромный недостаток, игнорирование колесика мыши. «Но ведь с этим было бы удобнее!» — воскликнул я и решил немного переписать, чтобы пейджер прокручивался на событие mousewheel. А также есть другие недостатки, которые я освещу под катом.
                  Читать дальше →
                • DI и IoC для начинающих

                    Тема DI/IoC достаточно простая, но в сети очень сложно найти хорошее описание того, как это работает и зачем это нужно. Вот моя попытка, с использованием Unity. Хорошо ли объяснена тема – судить вам.

                    Читать дальше →
                  • Расширяем и улучшаем Cache в ASP.NET

                      Про ASP.NET-объект Cache наверняка знает каждый web-разработчик на платформе .NET. Совсем не странно, ведь это единственное решение для кэширования данных web-приложения в ASP.NET, доступное прямо из коробки.
                      Достаточно функциональный и легкий, снабженный механизмами приоритета, вытеснения, зависимостей и обратных вызовов, Cache хорошо подходит для небольших приложений, работая внутри AppDomain. Кажется, Microsoft предусмотрела все, что необходимо… Но я, тем не менее, хочу сделать его еще немного лучше. Чем же именно?
                      Об этом я расскажу под катом
                    • Expression Web SuperPreview

                        Новая программа от Microsoft позволит упростить кроссбраузерную web-разработку.

                        image


                        Источник новости утверждает, что эта информация была под NDA, но уже нарушена самими разработчиками. Официальный анонс наверняка последует на MIX09.

                        Скачать программу уже можно.

                        UPD: по ссылке — превью-версия для сравнения только разных версий IE. Превью-версия бесплатна. Представленная картинка отражает интерфейс расширения для Expression Web 3, выход которого только ожидается. Expression Web 3 — это платное средство разработки.
                      • Tagnetic — холодильник тэгов, плагин для jQuery

                          tagnetic.jpg В ответ на флэш-скрипт от Ray Tanck, реализующий облако тэгов, стилизованное под доску с магнитами, я написал плагин для jQuery, который создает облако тэгов, стилизованное под холодильник с налепленными на него магнитами :)

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

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

                          Тестировал работу в ФФ 2 и 3, ИЕ 6 и 7, опере 9.60, Сафари и Гугл Хроме. К сожалению, в ИЕ 6 из-за использования IE PNG Fix скрипт заметно тормозит. Сейчас работаем над созданием новых скинов (хочу преобразовать холодильник в доску или забор с налепленными на него объявлениями-тэгами) и над оптимизацией графики.

                          Интересно мнение хабраюзеров о полезности этой работы, а также о возможных глюках.

                          Upd. С подачи nikel303 сделал пример, в котором магниты можно перетаскивать.
                        • Silverlight File Upload Progress

                            Возникла как-то передо мной задача, организовать File Upload Progress для платформы ASP.NET. Было перекопано множество технологий и решений, но найти простого не удавалось. Был написан HttpModule, который справлялся со своими задачами, но использовать его было довольно трудно.

                            И тут я подумал: а как с этой задачей справляется Silverlight? Начал активно искать по данной тематике и увидел, что готовых решений не так и много (точней я вообще их не нашел).

                            В данном топике я привожу свой пример создания прогресса загрузки файла на сервер, с использованием технологии SilverLight 2b2.



                            Читать дальше →
                          • SQL Server 2008: обзор нововведений

                              SQL Server 2008: обзор нововведений


                              Microsoft SQL Server – это проприетарная система управления базами данных,
                              обеспечивающая сетевой многопользовательский доступ,
                              использует расширенный язык запросов T-SQL.
                              Ведет свою историю с 1989 года, первоначальная версия создана Sybase.
                              В предыдущей 2005 версии была введена поддержка CLR, которая позволяла
                              писать процедуры с использованием языков, работающих на платформе .Net.

                              Читать Далее
                            • Устранение мигания фоновых картинок в IE6

                                Часто, на этапе тестирования сайта в разных браузерах, приходилось сталкиваться с неприятным эффектом «мигания» фоновых изображений в IE6, которое проявляется при наведении курсора на ссылку, являющуюся блочным элементом. Мигание происходит из-за того, что браузер производит перезагрузку всех фоновых картинок с сервера.

                                Для устранения мигания нужно подключить к веб-странице небольшой код на JavaScript:
                                var m = document.uniqueID
                                && document.compatMode
                                && !window.XMLHttpRequest
                                && document.execCommand;

                                try{
                                     if(!!m)
                                      {
                                         m("BackgroundImageCache", false, true)
                                      }
                                   }
                                   catch(oh){};