Как стать автором
Поиск
Написать публикацию
Обновить
0
0
auth @auth

Пользователь

Отправить сообщение

Маленький тест на знание JS

Время на прочтение2 мин
Количество просмотров32K
Пост про (вполне логичные) особенности javascript ( habrahabr.ru/blogs/javascript/84311 ) вызвал бурное обсуждение. Я вслед за автором WTFJS.com сильно облажался, считая эти странности действительно чем-то мистическим ) Большое спасибо всем тем, кто объяснил, почему так происходит на самом деле или для чего так сделано. Понимание таких тонкостей позволяет перейти в общении с языком на «ты». Кто-то скажет, что это должен знать любой программист, хоть как-то владеющий JS? Возможно. Но, как оказалось, многие не знали, и я в их числе.

Простите, но кат здесь стоит только потому, что пост чуть больше, чем нужно

Ох уж этот javascript

Время на прочтение1 мин
Количество просмотров17K
Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:

Number.MIN_VALUE > 0; // true or false?

typeof null; // what type?
null === Object; // true or false?

// и самый сок

NaN === NaN; // true or false?

typeof NaN; // what type?


* This source code was highlighted with Source Code Highlighter.


Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».

Для нетерпеливых ответы под катом.

Подглядеть

Как я в вузе электронную коммерцию преподавала (ч. 1, подготовка к семестру)

Время на прочтение3 мин
Количество просмотров2.9K
Закончив вуз летом 2009 года, я вполне натурально расстроилась, решив, что никогда уже не вернусь в альма-матер. С институтом в моей жизни было многое связано: я всегда активно участвовала в разнообразных конференциях, два младших курса подрабатывала методистом, помогала с выставками и другими мероприятиями… Однако, расставаться надолго не пришлось: в конце лета мне позвонили и поинтересовались, не хочу ли я читать курс электронной коммерции? Я, конечно, хотела. Судя по всему, других желающих не было, так как мне поставили занятия на субботу, чтобы я могла не отрываться от основной работы, и даже согласились закрыть глаза на вероятные отъезды в командировки, с условием, что я отчитаю все положенные часы.
Читать дальше →

Bundler: клиентская оптимизация Javascript в ASP.NET

Время на прочтение4 мин
Количество просмотров2.4K
imageСегодня, при разработке приложений в интернете, вопрос клиентской оптимизации встает все чаще. Если раньше, страница отправленная клиенту содержала только информацию, то сегодня очень часто такая страница содержит много JavaScript-кода. Для достижения наилучшей производительности и снижения нагрузки на сервер применяются правила клиентской оптимизации.

В этой статье речь пойдет про Bundler — удобное средство клиентской оптимизации JavaScript для .net-проектов.
Читать дальше →

Небольшой обзор веб-радио сервисов и интернет плееров

Время на прочтение4 мин
Количество просмотров48K
В последнее время, особенно когда нечего делать, часто хочется включить какую-нибудь музыку для фона (Работаю я чаще в тишине). Искать и заполнять плеер каждый раз разными хорошими песнями меня дико раздражает. Лень взяла свое или фантазия иссякла, но мне надоело каждый раз составлять плейлист подобным образом, как, впрочем, и обычным шаффлом. Решено было попробовать то, что предлагает веб. Что я там нашел для себя, попробую рассказать. Если вы можете добавить вкусный url, предлагайте.
Читать дальше →

Об экстремальных способах подтянуть уровень английского

Время на прочтение2 мин
Количество просмотров13K
Тема изучения иностранных языков не раз уже поднималась на хабре. Смотреть фильмы, читать статьи и книги в оригинале, слушать BBC — эти методы уже обсуждались неоднократно.

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

iLoad 3 — javascript галерея изображений

Время на прочтение1 мин
Количество просмотров13K
Я разработал хорошую на мой взгляд галерею изображений под названием iLoad. Сегодня опубликовал уже 3 версию. Галерея может достаточно много всего, хотя и работает только с изображениями. Подробнее можно прочитать в большущем посте вот тут или посмотреть на работу галереи на странице скачивания. Надеюсь, вы оцените.

UPD

Подготовил версию 3.2.5. Теперь галерея стабильно работает в IE9. Пофиксены все найденные баги.

Интересная техника сокрытия кодов JS «вируса»

Время на прочтение2 мин
Количество просмотров6.5K
Сегодня скинули код, дропающий на машину штатный вирус «отправьте SMS для разблокировки». Предысторию и методику чистки изложил force

Попробовал расковырять. Взял код, отформатировал, стал дебагать… Хм, интересно… В коде идет вызов (после приведения к читабельному виду)

window['eval'](var2);

А вот в var2 — бинарные данные. Ух ты… Но ведь eval не может выполнять бинарные данные!!!

И почему же в eval оказались бинарные данные?

Работа с объектами в JavaScript: теория и практика

Время на прочтение15 мин
Количество просмотров221K
В этой статье я хочу по возможности полно и последовательно рассказать о том, что такое объект в JavaScript, каковы его возможности, какие взаимоотношения могут строиться между объектами и какие способы «родного» наследования из этого вытекают, как это все влияет на производительность и что вообще со всем этим делать :)

В статье НЕ будет ни слова про: эмуляцию традиционной класс-объектной парадигмы, синтаксический сахар, обертки и фреймворки.

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

если не боимся многабуков, то читаем дальше

nodeJS и nonblocking I/O

Время на прочтение5 мин
Количество просмотров9.7K

Добрый вечер уважаемые читатели,


На хабре последнее время проскакивало несколько упоминаний о node, быстрой платформе для создания вэб приложений на javascript, обладающей довольно уникальной на сегодняшний день особенностью, неблокирующим I/O (вводом/выводом).

Для начала о nodeJS:


1) В качестве языка используется JavaScript
2) Для выполнения JavaScript используется движок V8 от Google, который работает довольно быстро благодаря компиляции в машинный код перед выполнением.
3) Для реализации неблокирующего I/O используются libev и libeio, (libev показывает более хорошие результаты по сравнению с libevent)
4) Для реализации подключения библиотек выбран синтаксис commonJS
5) Есть возможность писать модули ещё и на C/C++, при этом подключаются они точно так-же как и js модули, это позволит Вам, к примеру, любое узкое место в вашем приложении переписать на C++ без каких либо трудностей.

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

Дайджест по итогам 2009 года на рынке веб-разработок

Время на прочтение5 мин
Количество просмотров637
Привет, Хабр!

Нашими силами подготовлен аналитический материал, посвященный итогам 2009 года на рынке разработки интернет-проектов. Материал получился довольно большой, поэтому приведу некоторые выдержки (а именно, разделы «ситуация на рынке» и «тренды развития»), представляющие наибольший интерес:

Ситуация на рынке:

Объем рынка в 2009, по нашим оценкам, вырос по отношению к 2008 году (напомним, объем рынка в 2008 был оценен на уровне 6,8 млрд. руб.). На рынке действует порядка 4 000 игроков (в подавляющем большинстве — небольших компаний), что делает его по-прежнему весьма непрозрачным. Финансовый кризис сыграл определяющую роль в развитии отрасли в 2009, в положительном смысле повлияв на скорость взросления рынка и среднее качество оказываемых услуг, а также на эффективность взаимодействия с клиентом.

Консолидация

Практически с самого начала 2009 года отдельные представители крупных и средних компаний начали вести переговоры о формировании различных объединений, которые бы способствовали защите их интересов и росту рынка в целом. Некоторые из этих начинаний не закончились ничем, а ряд инициатив был доведен до логического завершения и получил статус ключевых событий в отрасли.
Читать дальше →

Система домашнего учета финансов — koshelek.org

Время на прочтение5 мин
Количество просмотров3K
Image Hosted by ImageShack.us
Приветствую всех. Сегодня я хотел бы немного попиариться и рассказать о своем небольшом проекте, посвящённом системе домашнего учета финансов «koshelek.org»
и о том как я его делал.

P.S Хочу сказать, что — это не моя система, если я заработаю инвайт, то приглашу человека сюда.
P.P.S Сайт испытывает хабро эффект. Нагрузка на БД. Хостер сказал, что не будет включать ее.
Если у вас есть на примете хостер с поддержкой JAVA, отпишитесь в комментариях.

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

jQuery 1.3.x -> 1.4.x и JSON

Время на прочтение1 мин
Количество просмотров3.6K
Это не пост, а скорее памятка для тех, кто столкнулся с проблемой ajax и json, при переходе на jQuery 1.4.
В новой версии используется встроенный парсинг JSON, а вместе с этим становится необходимо следить за его (json’a) правильностью.
Примеры, как делать не надо:

{ 'qwe' : 'asd' }
{ "qwe" : 'asd' }
{ qwe: "asd" }
{ qwe: 'asd' }

т. е. такие варианты теперь не проходят. Использовать надо только двойные кавычки!

{ "qwe" : "asd" }

Если же у вас нет возможности внести изменения в серверные скрипты, то на клиенте быстрый фикс можно сделать следующим образом:

$.ajax({
url: "/test.php",
dataType: "text",
success: function(data) {
json = eval("(" + data + ")");
// alert(json.success);
}
});

Возможно, кому-то окажется полезным. Всем спасибо, всем удачи!

Вращение географических карт при помощи CSS3 и jQuery

Время на прочтение1 мин
Количество просмотров5.2K
Одна из тех штук, которые мне всегда хотелось проделывать с сетевыми географическими картами — это вращать их: я привык к этому с реальными, материальными картами. И так как материальные карты в наши дни становятся гораздо умнее (например, видели ли вы карту, способную к увеличению?), то настало время смочь делать это также и с сетевыми.

Хотя Google поддерживает поворот спутниковых и гибридных карт, основные ещё не могут поворачиваться. Вот почему я взял CSS3-преобразования (обёрнутые весьма полезным плагином jQuery), и вуаля! – вращение сделалося возможным:

[Вращайте географическую карту при помощи CSS3 и jQuery]

Читайте далее про реализацию и про некоторые нюансы, которые надобно пофиксить, в первоначальной блогозаписи о вращении географических карт.

Именуем картинки с умом

Время на прочтение3 мин
Количество просмотров4.3K
Каждому HTML кодеру приходится нарезать картинки .psd из макетов будущего сайта, и эта задача настолько обыденна, что опытный верстальщик делает её на автомате. Не перегружая головной мозг, просто вырезает картинку, выбирает подходящий формат и настройки оптимизации, называет как бог на душу положит и кладёт в папку с картинками.
Читать дальше →

Использование picasaweb в качестве фотохостинга

Время на прочтение5 мин
Количество просмотров6.7K
Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

процесс загрузки фотографий на сервер
Читать дальше →

Принцип подстановки Барбары Лисков

Время на прочтение6 мин
Количество просмотров153K
Привет, хабрачеловеки!

Захотелось вот поделиться сокровенным знанием по этой теме. К тому же материалов по этому, достаточно важному принципу проектирования классов и их наследования, в Рунете как-то негусто. Имеются формулировки вида:

«Пусть q(x) является свойством верным относительно объектов x некоторого типа T. Тогда q(y) также должно быть верным для объектов y типа S, где S является подтипом типа T.» © Wikipedia

Но они выносят мой мозг меня совершенно не радуют.

Если хочется услышать объяснение этой хрени умной фразы — прошу под кат.
Читать дальше →

Рисуем графику через ж… жаваскрипт

Время на прочтение2 мин
Количество просмотров3K
Информация в принципе общеизвестная, но новичкам (вроде меня) может быть будет полезно.

Возникла тут недавно потребность рисовать чарты яваскриптом. В итоге была найден элемент canvas от WHATWG и его спецификация. Вещь в высшей степени привлекательная. Позволяет рисовать вот такие штуки:
штуки
Делается примерно так:
Читать дальше →

Простой способ сделать «дешёвый» Private в JS

Время на прочтение6 мин
Количество просмотров1.4K
В общем-то способ создавать члены класса, которые будут недоступны извне, в JavaScript существует и называется замыканием. Но при таком подходе есть один серьёзный минус — создаётся много экземпляров одной и той же функции, что не есть хорошо для ресурсов.

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

Raphaël

Время на прочтение2 мин
Количество просмотров38K

Привет, Хабр


В этом коротком очерке хотел бы рассказать о маленькой (по словам авторов) библиотеки на JavaScript — Raphaël. Данная библиотека использует для работы SVG и VML и служит, как не сложно догадаться для облегчения работы с векторная графикой в вебе.
Так же по утверждению создателей работает во всех актуальных на даных момент браузерах, а именно Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+. К сожалению обошли создатели внимание вторую лису, хотя сюда по данным лайвинтернета на ней приходится почти 2% пользователей, что вообще немало. Да, и не смотря на то, что Хром не заявлен, в нем тоже все работает как часы.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность