Search
Write a publication
Pull to refresh
0
0
auth @auth

User

Send message

Поддерживает-ли браузер пользователя CSS в необходимом объеме?

Reading time1 min
Views1.8K
Modernizr — это небольшая простая JavaScript-библиотека, которая поможет получить ответ на вопрос поддерживает ли браузер пользователя такие технологии как:
Читать дальше →

Вышел в свет черновик стандарта WebGL

Reading time1 min
Views1.4K
[WebGL]Черновик стандарта WebGL описывает свободный кросс-платформенный API, предназначенный для подключения OpenGL ES 2.0 к холсту (<canvas>) в качестве контекста, возвращаемого стандартной функцией canvas.getContext().

Публичная версия черновика была выложена 10 декабря (в четверг) на CVS сайта Khronos Рабочей группою WebGL.

Арун Ранганатан (Arun Ranganathan) выложил во блоге hacks.mozilla.org достаточно подробный вводный рассказ о том, как включить эту функцию в еженощных тестовых сборках браузера Firefox, и как обеспечить её работу на тех видюхах, которые не поддерживают OpenGL ES 2.0 сами собою. (Читатели в тамошних комментариях проявляют неимоверную радость и признаются в том, что ждут не дождутся новой версии Файерфокса.)

[WebGL demo screenshots]Владимир Вукичевич (Vladimir Vukićević) также посвятил краткую блогозапись этому событию.

Всё это является очередным шагом к появлению в Паутине такой трёхмерности, которая не потребует никаких плагинов, однако станет невозбранно поддерживать OpenGL (и, в частности, язык шейдеров GLSL ES). И эта трёхмерность будет кросс-платформенною. Браузеры, которые приуготавливаются понимать WebGL, поимённо перечислены на заглавной странице вики WebGL: это Apple WebKit, Google Chrome, Mozilla Firefox и Opera.

Практическим примером использования WebGL является джаваскриптовая библиотека X3DOM, поддерживающая использование сцен X3D внутри обычных вебостраниц.

Список Javascript библиотек для рисования графиков и диаграмм 2

Reading time2 min
Views37K
Продолжаем тему визуализации данных в интернете.

Предыдущие топики:
Читать дальше →

Оптимизация с помощью замыканий

Reading time2 min
Views1.7K
Дано — раз в секунду дергается AJAX'ом скрипт, в нем несколько вызовов одной функции (назовем ее updater) с разными аргументами. Функция в соответствии с аргументами апдейтит некоторый набор DOM-элементов (меняет контент, скрывает, показывает) на текущей странице. Используется jQuery, визэффекты и т.п. Т.е. на клиента приходит примерно такой код…
updater('id1', 10, 20);
updater('id33', 11, 22);
updater('id181', 102, 27);


* This source code was highlighted with Source Code Highlighter.

Проблема — после увеличения количества вызываемых функций (увеличилось количество типовых блоков) все жутко тормозит — много времени уходит на jQuery, на выбор DOM-элементов по селекторам.

Требуется по-возможности быстро и безболезненно, не меняя верстку и не отказываясь от jQuery оптимизировать процесс.
Далее...

Шпаргалка => Cross Domain AJAX. Dynamic script Tag Hack

Reading time2 min
Views5.6K
Так сложилось исторически (из-за соображений безопасности), что Javascript-обьект XMLHttpRequest, который лежит в основе AJAX, не может делать кросс-доменные вызовы. Это бесполезное ограничение: для злоумышленников не представляет особой проблемы, а для разработчиков создает некоторое неудобство. В следующих поколениях браузеров эту проблему обещали решить, но не раньше чем W3C хотя бы одобрит новые стандарты.

Есть море хаков чтобы обойти это ограничение, но самый популярный это Dynamic Script Tag Hack. Именно через этот хак организован доступ к многим API современных веб-приложений.

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

Javascript от а и до… II

Reading time7 min
Views11K
Вот и продолжение первой части, много времени прошло, и вот… здесь я, как и обещал, расскажу поподробней об основных типах. Для начала пара замечаний, первая часть не прошла естественно без критики, так что вступление будет 'работой над ошибками'. В дальнейшем такие работы над ошибками буду вставлять регулярно, и надеюсь хабралюди этому посодействуют…
Читать дальше →

Реализация паттерна декоратор на JS

Reading time10 min
Views6.6K
Суть паттерна в том, что есть класс с фактической функциональностью (компонент) и опциональными классами-обертками, которые дополняют основной функционал (декораторы). А фишка в том, что декораторов может быть сколько угодно, совмещаться они могут в произвольном порядке и (поскольку требуют от компонента только интерфейса) — могут работать с разными компонентами.

Безусловно, реализовать что-то похожее можно даже за счет только лишь того, что функции в JS являются объектами первого уровня, но мне бы хотелось поделиться реализацией весьма близкой к ГОСТу GoF'у.

UPD: ссылка на рабочий пример, спасибо Barttos.

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

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

File API: читаем джаваскриптом нужные файлы с компьютера посетителя сайта (по согласию этого посетителя)

Reading time2 min
Views1.7K
Сегодня PsychodelEKS точно подметил по поводу API джаваскриптового сжатия файлов, недавно встроенного Yahoo в BrowserPlus:
Уж было подумал, что они портировали алгоритм сжатия на js, но оказалось, что это просто браузерный интерфейс к архиватору =)

А вот возможность сжимать большие объёмы текстовых (json) данных на стороне клиента перед отправкой на сервер, была бы удобна в современных веб-приложениях.
Конец цитаты.

На эту тему я очень рад сообщить всем вам приятную новость: в недрах W3C редактор Арун Ранганатан (Arun Ranganathan) подготавливает черновик стандарта File API, в значительной мере поддерживаемого свежими еженощными сборками Файерфокса. Этот стандарт определяет особые API, посредством которых джаваскрипт может читать файлы на машине у пользователя, затем по-разному преобразовывать их, изготавливая при необходимости URLы «data:...» или base64-кодированные строки, а затем совершать с ними что угодно желаемое (например, отсылать на сервер, или использовать в джаваскрипте, или в CSS...).

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

(Это то самое и есть, что делает новый API BrowserPlus, так что тогда он не будет для этой цели нужен, а довольно будет и одного Файерфокса.)

Пока же этого ещё не произошло, я предлагаю вам лицезреть одно зрелищное приложение, недавно упомянутое на hacks.mozilla.org оно называется Font Dragr, навешивается на некоторый сайт и позволяет читателю сайта закинуть (drag-n-drop) на страницу этого сайта какой-нибудь файл шрифта с собственного диска, чтобы эта страница отображалась на сайте именно этим шрифтом. Отображаться начинает сразу же, так как файл не передаётся на сервер, а преобразуется и скармливается во браузер же, через CSS.

В частности, это полезно для разработчика такого сайта, чтобы у него не возникало надобности редактировать CSS на сервере всякий раз. С такой-то страницею можно даже в оффлайне работать.

Как работать с руководителем

Reading time4 min
Views9.7K

Введение


«Наибольшей выгода будет тогда, когда каждый в команде будет думать не только о своем успехе, а о своем успехе и об успехе команды в целом»
Х/ф «Игры разума»

Есть очень много статей на тему того, как руководить людьми. Но я почти не встречал материалов на тему, что значит быть подчиненным. Видел модели: «пусть начальник даст мне свободу, а я тогда обязательно добьюсь результата, а сейчас один контроль», «мир есть мир: начальник всегда прав, мое дело молчать в тряпочку».

Сам я работаю ведущим программистом, руковожу группой программистов.

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

Стоит отметить, что руководители бывают разными, и эти принципы где-то могут не работать. Но, как показывает мой опыт 2,5 лет работы в крупной компании, опыт работы других людей, а также аналитика из книг для руководителей, где говорится об успешных сотрудниках (о лучших из лучших) и об их качествах, есть много общего.

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

Программирование: Практики которые я возьму с собой

Reading time3 min
Views4.3K
Я имею довольно небольшой опыт работы в сфере разработки программного обеспечения (всего 6 лет), но я уже накопил ряд полезных и правильных практик (по моему скромному мнению), которые можно использовать при создании программного обеспечения.

В основном описаны моменты которые касаются поддержки процесса разработки программного обеспечения, не затрагиваются темы планирования хода выполнения работ. Также не затронут процесс программирования и полезные плюшки для него (например расслоение системы на уровни, использование шаблонов проектирования). Но все ниже приведенное было и остается полезным для меня лично, и я буду рад если и вам на что нибудь сгодится :)
Читать дальше →

MythBusters: Правда и вымысел о Flash

Reading time6 min
Views6.9K

Последнее время, ходит очень много разговоров о html5, тэге видео и отсутствию Flash на iPad (это очень обидело flash разработчиков) и заявлению Стива Джобса в адрес Adobe. Было много разных мнений — кто-то считал, что это плохо, кто-то что хорошо. В этой статье я бы хотел рассказать от технологии flash со стороны разработчика и рассказать что, почему и как.

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

String.Format

Reading time3 min
Views71K
Те, кто пишут на C# очень хорошо знают и часто используют механизм String.Format, которого сильно не хватает в JavaScript. Несмотря на его простоту и удобство, на просторах Сети мало что можно накопать, в основном вариации на тему sprintf (привет сишникам). Достаточно давно был написан скрипт, который позволял форматировать строки на JavaScript и был похож на String.Format C#. Форматирование стало использоваться коллегами достаточно плотно в скриптах и я решил немного причесать код и опубликовать для тех, кто хочет получить String.Format в JavaScript.
Читать дальше →

QUnit. Тестирование javascript кода

Reading time5 min
Views64K
Наткнулся вчера на этот инструмент и не смог пройти мимо, провел ночь за написанием тестов, а теперь хочу поделиться находкой. QUnit — это библиотека от разработчиков jQuery, позволяющая писать unit-тесты для кода на javascript. Удобна в использовании, ничего лишнего, осваивается за 20 минут, выгода от применения — колоссальная.

Самым нетерпеливым сразу ссылки:
Официальная документация на сайте jquery: docs.jquery.com/QUnit
Реальные примеры тестов (для модулей jquery): view.jquery.com/trunk/jquery/test/unit
Руководство для начинающих (англ): www.swift-lizard.com/2009/11/24/test-driven-development-with-jquery-qunit
Система распределенного тестирования (гениально и просто): testswarm.com

Под катом информация о преимуществах юнит-тестирования применительно к js и разбор возможностей библиотеки на примерах.
Читать дальше →

Качества успешного предпринимателя – Практическая хватка (2/11)

Reading time6 min
Views1.4K
Перевод второго поста Марка Састера из серии про качества успешного предпринимателя (здесь перевод первого поста).
_________

Это часть моей новой серии постов о том, что делает предпринимателя успешным. Исходно я публиковал их на сайте VentureHacks, одном из моих любимых сайтов для предпринимателей. Если вы там не были, то стоит зайти.

Серия была начата с разговора о том, что я считаю самым важным качеством: об упорстве.



2. Практическая хватка. Итак, вы упорный человек и никогда не сдаетесь. Очевидно, с этого мало толку, если ваша стартап-идея никуда не годится. Не думаю, что для создания хороших компаний требуются начитанные люди — часто это только мешает делу. Но вам нужно быть умным, и я предпочитаю тех, кто обладает житейской, практической мудростью. Есть люди, которые просто «рубят фишку» — их-то я ищу. Они на инстиктивном уровне понимают, как покупают их клиенты, и знают, как их вдохновить. Слабости конкурентов они чуют шестым чувством. Они выявляют благоприятные возможности, на которые никто еще не обратил внимание, и создают продукты, которые удовлетворяют соответствующие потребности.
Читать дальше →

Вести от IE Team после присоединения к SVG WG

Reading time1 min
Views661
imageВ данном посте я хочу поделиться некоторыми примерами прогресса, произошедшего со времени нашего недавнего присоединения к рабочей группе SVG. Другие члены команды (Mozilla, Apple, Opera и другие) приветствовали нас тепло.
Читать дальше →

Якорная навигация на jQuery (graceful degradation)

Reading time2 min
Views5.4K
Недавно я наткнулся на интересный плагин для jQuery: BBQ — Back Button & Query Library.

И решил на ее основе сделать свой плагин для навигации на основе якорей. Задачи, которые я себе ставил:
  1. нормальная работа ссылок в условиях выключенного javascript (читай — нормальная индексация страниц поисковиками)
  2. поддержка обычных anchor-ссылок безо всяких дополнительных запросов
  3. поддержка отображения подгруженного контента в разных областях страницы

Результат можно посмотреть здесь. А еще можно почитать чуть подробнее.

UPD: дамы и господа, некоторые жалуются на недоступность странички (403 Forbidden), однако, я ничего такого не вижу. В комментах привели ссылку на рабочий вариант, который можно попробовать, если моя ссылка у вас не заработала: http://vbolshov.org.ru.nyud.net/anchornav/.

как это использовать

Аналитическая машина Бэббиджа. Часть третья — заключительная

Reading time5 min
Views32K
(Для начала советую прочесть первую и вторую части статьи.)
Разностная машина Чарльза Бэббиджа впервые позволила автоматизировать процесс вычислений и производить его в некоторой степени без вмешательства человека. Как было сказано в предыдущей части, для вычисления функций типа логарифма, тригонометрических функций и прочих, их необходимо было разбить на участки, каждый из которых представлялся своим многочленом, и только потом можно было произвести расчёт значений функции для данного участка. Переходя от одного многочлена к другому, оператор машины должен был вручную ввести все исходные значения регистров. К тому же машина позволяла производить только операцию сложения, что было не много даже по меркам 19го века.

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

Стартап Интернет-магазина часть2 (оплата и доставка)

Reading time9 min
Views9.9K
В этой статье продолжение темы стартапа интернет-магазина и на сей раз речь пойдет об оплате и доставке. Из комментариев к прошлой статье стало ясно, что уважаемые хабравчане желают видеть больше цифр, поэтому постараюсь сделать эту статью более прозрачной в плане понимания затрат и острых углов.
Итак…
Читать дальше →

Time-memory trade off и нерадужные таблицы

Reading time5 min
Views21K
Нет, я не буду рассказывать с какими параметрами нужно генерировать радужные таблицы, или как придумывать «стойкие» пароли. Сама по себе тематика немного устарела и едва ли поможет в отвлеченных вопросах. Но, как оказалось, в основу «радужных таблиц» положен замечательный способ (я бы не стал называть его методом или алгоритмом) размена времени на память, то бишь «time-memory trade off». Это не первый (и, наверное, не последний) топик про предвычисления, но, надеюсь, он Вам понравится.
Приступим...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity