Pull to refresh
60
0
fatal @fatal

User

Send message

Различия в поведении window.open в разных браузерах

Reading time5 min
Views16K
При разработке одного сайта столкнулся с необходимостью проверить работу функции window.open в разных браузерах. Результаты решил оформить и выложить, глядишь кому понадобится, а кто и дополнит, что ещё лучше…

Для тестирования использовались: FireFox 3 beta 3, Netscape Navigator 9, Internet Explorer 6, Opera 9 и Konqueror 3.5 (тест Safari отдельно, в конце топика). При этом FireFox 3 тестировался в двух конфигурациях: по умолчанию и c TabMixPlus (с разрешением открывать popup-ы в новых окнах). Рабочая среда: KDE 3.5 на Debian.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments40

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views178K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23+265
Comments208

Практический JS: избавляемся от утечек памяти в IE

Reading time2 min
Views1.2K
Примечание: ниже находится перевод статьи Understanding and Solving Internet Explorer Leak Patterns", в которой автор рассматривает некоторые характерные случаи утечек памяти в IE и предлагает методы для их избежания и устранения. Рассмотренные проблемы не являются чем-то новым или революционным, однако, знать об их существовании должен любой уважающий себя программист клиентских интерфейсов. Мои комментарии далее курсивом.

Опубликована: июнь 2005

Развитие веб-разработок



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

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

Большим плюсом в данной ситуации будет то, что шаблоны утечек памяти могут быть легко обнаружены, если вы знаете, где их искать. Наиболее тяжелые из них, с которыми, возможно, вам довелось столкнуться, имеют подробно описанные методы устранения, которые, скорее всего, в вашем случае потребуют лишь небольшого количества дополнительной работы. Хотя некоторые страницы могут по-прежнему «падать» из-за небольших утечек, самые значительные могут быть легко удалены.

читать дальше на webo.in →
Total votes 34: ↑32 and ↓2+30
Comments13

BSD vs Linux. Вступление

Reading time2 min
Views7.7K

О чём это я?

Мои компьютеры работают под управлением FreeBSD. У многих моих друзей на компьютерах стоит Linux, хотя бы один из его дистрибутивов. Несмотря на то, что мы согласны с тем, что системы *nix — это правильный выбор, в выборе конкретных дистрибутивов наши мнения расходятся.У меня сложилось впечатление, что BSD-сообщество, в целом, понимает Linux лучше, чем Linux-сообщество понимает BSD. У меня есть несколько предположений, почему так происходит, но это не суть важно. Я полагаю, многие линуксоиды отказались от BSD, потому что они не совсем понимают, что там к чему. Таким образом, как пользователь BSD, я попытаюсь объяснить, как работает BSD, в доступной форме.Хотя системы очень похожи во многих аспектах, существует множество различий. Если вы копнёте глубже, то узнаете, что они возникают из-за укоренившихся разногласий. Одни из них касаются методологии разработки, другие — установки и использования, третьи — того, что важно и кто важен, а четвёртые — какое мороженое вкуснее. Сравнение поверхностных различий не скажет вам ни о чём — только сравнение более глубокое объяснит и расставит всё по полочкам.

Чего здесь нет?

Здесь нет:
  • списка соответствия команд, вроде «netstat -rnfinet в BSD = netstat -rnAinet в Linux» и всё прочее.
  • Как сделать те или иные вещи при администрировании и работе BSD.
  • Почему следует использовать BSD вместо Linux.
  • Почему следует использовать Linux вместо BSD.
  • Почему следует использовать эту BSD, а не ту BSD.
  • Почему следует использовать этот Linux, а не тот Linux.
  • Почему BSD — это правильно, а Linux — неправильно.
  • Почему Linux — это правильно, а BSD — неправильно.
Лично я верю, что мой выбор ОС правильный. Но это я. Я не говорю вам, что вы должны верить в то же. Изучите факты, их предпосылки, и сделайте ваш выбор. Ведь именно для этого он вам и дан.

Некоторые соображения.

Есть много философских различий между миром Linux и миром BSD. И множество высказываний по этому поводу. Одно из моих любимых выглядит примерно так:

«BSD — это то, что получается, когда кучка Unix-хакеров пытается портировать Unix на PC. Linux — это то, что получается, когда кучка PC-хакеров пытается написать Unix-систему для PC.»

Мне нравится, как тонко замечено, не потому что это какая-то сакральная правда, а потому что это дает толчок к пониманию некоторых отличий. BSD-системы, в целом, более похожи на традиционный Unix, чем Linux. Во многом это связано с тем, что они являются прямыми потомками Berkeley Software Distibution, которая в свою очередь родилась из AT&T Unix. Торговая марка Unix принадлежит The Open Group, а код Unix является собственностью SCO, поэтому нельзя говорить, что BSD-системы — это Unix. Но, во многих отношениях, BSD-системы являются прямыми потомками традиционной Unix.Это прослеживается во многом: в дизайне системы, в дополнениях, в разбиении жесткого диска, в деталях команд, в отношении, предрассудках и реакциях разработчиков и в пользователях.BSD разрабатывают. Linux выращивают. Наверное, это единственное краткое описание, и возможно, наиболее корректное.

Этим небольшим вступением я начинаю перевод серии статей Мэтта Фуллера, которые в свое время вдохновили меня перейти на FreeBSD.
Total votes 71: ↑65 and ↓6+59
Comments165

Как удачно расчитать цену и время проектов во фрилансе

Reading time2 min
Views8.3K
Одна из самых больших проблем начинающих фрилансеров — оценка стоимости задания.

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

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

Так как же правильно оценить проект?

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments32

Классы, объекты и наследование в JavaScript

Reading time17 min
Views27K
Недавно в офисе Хабра я хотел прочитать своим коллегам небольшой доклад об объектной ориентации и наследовании классов в JavaScript.

Дело в том, что в свое время я был в полном восторге, научившись создавать свои собственные объекты и выстраивать цепочки наследования, и решил, что называется, поделиться с другими своими находками и наблюдениями. (=

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

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

Весь текст подеён на 5 разделов:
  1. ООП в Java Script (1/5): Объекты
  2. ООП в Java Script (2/5): Классы
  3. ООП в Java Script (3/5): Свойства и методы класса
  4. ООП в Java Script (4/5): Наследование классов
  5. ООП в Java Script (5/5): Полезные ссылки

Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments54

Основы масштабирования

Reading time10 min
Views62K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



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

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments49

Как JavaScript тормозит Веб (и что с этим делать)?

Reading time1 min
Views3.1K
Примечание: ниже перевод статьи «How JavaScript is Slowing Down the Web (And What To Do About It)», посвященной, в основном, работе с виджетами: характерные проблемы и методы их решения.

Одна строка JavаScript является основой большинства текущих технологий, которые используют авторы блогов. Виджеты, средства (фото-/видео-)обмена, отслеживание посетителей, рекламные объявления. Во многих случаях единственная строка JavaScript — это все, что нужно автору, чтобы добавить в своей блог что-то новенькое. Проблемы начинаются тогда, когда много-много этих самых строчек собирается вместе...

читать дальше на webo.in →
Total votes 40: ↑37 and ↓3+34
Comments52

GridMove //… или что делать с большими мониторами… ;)

Reading time3 min
Views8.5K
На написание этого топика меня сподвигла вот эта статья.

«That's the large display paradox. Having all that space can make you less productive due to all the window manipulation excise you have to deal with to make effective use of it.»

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

Так вот GridMove и предназначена для облегчения работы с окнами.

Кому может быть полезна эта программа?

Всем, у кого хотя бы один монитор с разрешением по ширине не меньше 1280 пикселей. Программа только для Windows, но наверняка для *nix есть аналоги, а в МакОС и без нее достаточно удобно;)

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments63
12 ...
33

Information

Rating
Does not participate
Location
США
Registered
Activity