Pull to refresh
28
0
Денис Инешин @IonDen

Senior Front End Engineer at Booking.com

Send message

Создание объектов в Javascript

Reading time5 min
Views72K
Гибкость Javascript позволяет создавать объекты множеством способов. Но как это нередко случается, разнообразие таит в себе множество подводных камней. Из этой статьи Вы узнаете о том, как разглядеть и обогнуть эти опасные рифы.
Читать дальше →

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

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

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

Тема номера:
  • Доступен онлайн новый выпуск журнала MSDN Magazine за май 2011 (link);
WebForms:
  • Описание использования CSS Sprites и библиотеки ASP.NET Sprite and Image Optimization Library (link);
  • Важные счетчики производительности для мониторинга производительности ASP.NET (link);
  • Кэширование данных в приложениях ASP.NET (link);
  • Изменение размеров изображений без потерь в ASP.NET (link);
ASP.NET MVC/WebMatrix:
  • Восстановление пароля администратора в Orchard CMS (link);
  • Создание вебсервиса с помощью WebMatrix и его использование в приложении Windows Phone 7 (link);
  • Доклад Скотта Хансельмана про инструменты ASP.NET MVC 3 (link);
  • Использование WebMatrix Helpers в ASP.NET MVC 3 (link);
  • Руководство по Orchard, часть 2 (link);
  • Project Silk jQuery UI Widget QuickStart (link);
  • Использование REST-сервиса в ASP.NET Razor (link);
  • MvcScaffolding Nuget Package and EF Code First — Code Generation (link);
HTML5, JavaScript, веб-стандарты:
  • Всплывающие подсказки на CSS (link);
  • Чудеса HTML5 (link);
  • Презентация- Дмитрий Сошников — Будущее ECMAScript (link);
  • Мини-курс по jQuery для дизайнеров (link);
  • Вращающиеся лучи с помощью анимации CSS3 и JavaScript (link);
  • RazorJS — использование Razor внутри Javascript-файлов (link);
Читать дальше →

jPlayer — плагин для проигрывания аудио и видео

Reading time2 min
Views57K
imageЯ уже писал про скрипт audio.js, позволяющий проигрывать аудио файлы использую возможности html5 и flash. Пост был встречен хорошо, поэтому сейчас я хочу рассказать про jPlayer — jQuery плагин для проигрывания аудио и видео.
Читать дальше →

100-500-ый Хостинг Картинок. Зачем? Для души

Reading time1 min
Views1.2K
Доброго времени суток, Хабравчане. Хочу представить Вашему вниманию Хостинг Картинок.

Предыстория

Началось всё полтора года назад с симпатичного домена HostingKartinok.com приобретённого для личного использования (дабы мои скриншоты жили ровно столько, сколько мне они нужны и не были окружены «блекджеком и шл…ами» назойливой рекламой).



Если двое делают одно и то же, это не одно и то же

Дальше появился спортивный интерес, и мысль – «чем я хуже конкурентов?». Ведь уникальность стартапа часто заключается не в уникальности идей, а в уникальном подходе к ее реализации.
Пробежавшись по десятку других хранилищ для картинок – я понял, что уже сейчас смело, могу с ними конкурировать, благо технические ресурсы позволяют.
Читать дальше →

Нововведения в jQuery 1.6

Reading time4 min
Views7.2K
jquery
Совсем недавно (3 мая) был зарелизен jQuery 1.6 и вот что нового появилось в этой js-библиотеке давайте и посмотрим.

Самое «веселое» то, что в новом релизе есть важные изменения, которые несовместимы с предыдущими версиями jQuery. И в результате при переходе на новую версию, вполне возможно, что придётся просматривать и изменять уже существующий код.
Читать дальше →

Некролог погибших девайсов

Reading time3 min
Views1.7K
Каждую неделю мы слышим об очередном устройстве, снятом с производства из-за «коммерческой непривлекательности». Компания-производитель вложила миллионы долларов в разработку, но пришёл момент, когда старый продукт уже не даёт прибыль — и объект стирают из реальности, хотя он ещё мог бы принести пользу человечеству.

Редактор журнала Make: Online Филипп Торроун (Phillip Torrone) обратился к коммерческим компаниям с призывом отдавать старые и ненужные проекты в open source.
Читать дальше →

Оптимизация показателей конверсии

Reading time9 min
Views2.6K
Вашему вниманию предлагается перевод статьи Франка Пашера. Перевод одобрен для публикации для уважаемых читателей Хабрахабра.



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

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

Принципы дизайна страниц оплаты для интернет-магазинов

Reading time14 min
Views22K
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).

Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
Читать дальше →

Магия JavaScript: arguments

Reading time3 min
Views68K
arguments — очень специфическая штука, о которой новички и даже любители знают только то, что это «вроде массив, но какой-то неправильный». На самом деле, у него есть ряд интересных особенностей. Предлагаю в топике пофантазировать на тему TypeHinting, аргументов по-умолчанию и всякого другого.
(function (foo, bar) {
	console.log(typeof arguments); // ?
	
	arguments[0] = 42;
	console.log(foo); // ?
})(10, 20);


А также покажу интересную идею-библиотеку
function test (foo, bar) {
    Args(arguments).defaults(100, 100);

    return [foo, bar];
};

test(      ); // 100, 100
test(15    ); //  15, 100
test(21, 42); //  21,  42

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

Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов

Reading time8 min
Views29K
WTF is Node.js?

Node.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.

При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.

Так что же такое Node.js?

НАЧИНАЙ с технологиями Google

Reading time1 min
Views518
Вы когда-нибудь мечтали о создании собственного бизнеса? Если нет, то спокойно пропустите этот пост. Если же подобные мысли нередко вас посещают, советую обратить внимание на ближайшую рабочую сессию Nachinai.com, которая пройдет с 19 по 21 ноября в Москве.

image

Есть желание работать на себя — самое время Начать! Кстати, формат вашего будущего проекта ограничен только полетом фантазии, а при необходимости массу времени и сил можно будет сэкономить, используя технологии Google, который является партнером встречи.

Итак, что нужно сделать?
Читать дальше →

Objective-C с нуля

Reading time23 min
Views439K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →

XPath наглядно

Reading time1 min
Views60K
XPath является одним из ключевых моментов на дороге к пониманию XSLT. И на первых порах хочется получить какой-нибудь простой способ поэкспериментировать с ним, чтобы в деталях разобраться, как он работает. Способа такого, впрочем, не наблюдается. Приходится или качать совсем не бесплатные XML/XSLT редакторы, или довольствоваться статичными картинками с zvon.org. Может быть, я плохо искал. Но с моей колокольни все обстоит именно так. И когда передо мной в очередной раз встала задача «Объяснить XSLT», в голове и родилась идея крохотного сервиса. После того, как все заработало, было решено выкатить его для всеобщего пользования: наверняка не я один сталкивался с похожими проблемами.
Читать дальше →

C# for beginners. Лекция 2. Hello, World! и знакомство с Visual C# Express 2010

Reading time1 min
Views5.7K
Прежде всего, хотелось бы поблагодарить arinoki за публикацию первой лекции видеокурса, который вызвал большой интерес среди хабрапользователей. Благодаря вашим голосам, я могу выкладывать новые лекции от своего имени, а, прочитав комментарии я понял, что тема программирования на С# очень актуальна, а значит я буду и дальше стараться для вас и публиковать новые лекции.

А теперь — по теме:



Вышла вторая лекция видеокурса для начинающих программировать на C#. Вы познакомитесь со средой разработки приложений Visual C# Express, а также напишете свое первое "Hello, World!" приложение. Также для студентов прилагается еще некоторая полезная информация. Приятного просмотра!
Разбор синтаксиса языка C# начнется уже в следующей лекции!
Смотреть

C# для начинающих. Лекция 1 — Введение

Reading time1 min
Views85K
Топик опубликован по просьбе itdevelop, так что он будет отвечать на все ваши вопросы, а также плюсы кидать на его аккаунт. Спасибо за понимание.

Это первая лекция большого видео-курса для тех, кто хочет научиться программировать на языке С#. Поскольку это — вводная лекция, то хочу сразу предупредить, что сам процесс программирования начнется только со второй лекции. Здесь же я хочу вас познакомить с .NET Framework, чем удобна эта платформа, и как происходит перевод написанного вами кода на C# в код, понятный операционной системе.
Читать дальше →

Программист, который отвлекается

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

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

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

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

Грабли при верстке HTML писем

Reading time3 min
Views104K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →

extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)

Reading time4 min
Views21K
Хочу Вам рассказать о штуке, которую я изобрел сегодня, чтобы ускорить процесс загрузки сайтов. Все вы знаете, что <script src="..."></script> задерживает отрисовку страницы, пока не загрузится этот скрипт. Если их десятки — это может сереьезно замедлить работу сайта — в результате пользователь 20 секунд пялится на пустую (или недорисованную) страницу из-за какого-нибудь тупящего социального виджета (умножить на десяток этих виджетов).

Не правда ли было бы круто, если бы можно было сказать <script extsrc="..."></script> ("extsrc" = "грузи потом"), чтобы скрипты загружались после того как страница отрисована?

Все бы хорошо, но есть document.write… Сегодня я наконец решил его проблему — представляю extsrc.js — скрипт, который запустит все скрипты после отрисовки страницы (даже если они содержат document.write — и правильно отрисуется все).

Результат? Супер-быстрая загрузка страниц, даже если там море всяких внешних скриптов.

Использование:

Заменяем <script src="..."> на <script extsrc="...">.

Итого получается:

<script src="http://whiteposts.com/extsrc_js/extsrc.js"></script>
<script extsrc="..."></script>

все остальное под катом

JSNAV

Reading time3 min
Views2.9K

Навигация по странице


Всё чаще и чаще в web появляются сайты, использующие навигацию, написанную на JavaScript. Типичный случай использования javascript для навигации: страница с меню и блоком контента, куда через AJAX подгружается содержимое:



Пользователь кликает по пункту, JavaScript грузит из сети содержимое, вставляет в блок контента, пользователь доволен: страница без перезагрузки показывает требуемое и траффика потребовалось меньше за счёт того, что не потребовалось грузить все эти HEAD, BODY, STYLE и прочие элементы.

Но вот проблема: URL страницы. Если на old scool сайтах на каждый пункт меню показывается новая HTML страница, и у пользователя есть вменяемый URI, который он может скопировать из адресной строки бразуера, послать другу или положить в закладки, то в случае AJAX интерфейсов в URI странице зачастую нет никаких ссылок на текущий контент документа.

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

Не с секрет, что для решения этой проблемы многие программисты кодируют ссылку на текущее просматриваемое содержимое в якорь (anchor) URI документа. К примеру, на сайте jqapi.com (скриншот которого приведён вначале топика) при выборе того или иного пункта меню якорь страницы меняется на #p={contentId}.
Читать дальше →

Еще несколько полезных плагинов

Reading time2 min
Views1.8K
За последний месяц, я написал уже два поста с обзорами плагинов jQuery (1 и 2). Надо сказать, что подобные статьи на английском языке появляются все чаще и чаще. Однако их содержание довольно быстро приедается. Галереи картинок, слайдеры, опять галереи картинок, многочисленные динамические меню и опять слайдеры. Мне не хочется описывать очередную порцию подобных плагинов. Поэтому сегодня я расскажу не о двадцати-тридцати как обычно, а только о семи важных на мой взгляд плагинах, о которых очень хотелось рассказать. Лучше меньше, да лучше.
Читать дальше →

Information

Rating
Does not participate
Location
Amsterdam, Noord-Holland, Нидерланды
Date of birth
Registered
Activity