с удивлением обнаружил RFC 3106, которая среди прочего предлагает унифицировать имена полей в формах, в которые мы вводим данные кредитных карт. Нечто похожее существует в спеке openid: поле для идентификатора в ней просят всегда называть "openid_identifier". А здесь имена типа "Ecom_Payment_Card_Number".
подозреваю, что из браузеров это пока поддерживает только хром. Думаю, что доля веб-программистов, знающих об этом, и действительно называющих поля таким образом, ещё меньше.
интересно, как всё-таки нужно знакомиться со стандартами, чтобы не упускать такие интересные вещи? Неужели просто читать все RFC подряд, начиная с самых свежих?
я в очередной раз решил пободаться с проверкой орфографии в системе. Вернее, в опере и пиджине, больше я нигде много текста не пишу. Коротко:
удалить aspell, myspell, ispell со словарями (но не библиотеками, от которых могут зависеть многие другие программы) — что-то из этого может ставиться по умолчанию, и загромождать список словарей
переименовать словарь в enru.zip и положить его в $HOME/.opera/dictionaries
перезапустить оперу, в многострочном поле ввода в контекстном меню выбрать Dictionaries → «English-Русский (с ё)»
создать папку $HOME/.config/enchant/myspell, в которую распаковать словарь (в новой убунте ещё и переименовать из enru.* в используемую локаль, например, en_US.*)
перезапустить пиджин (и гажим)
если подробнее, то разных спеллчекеров в линуксе уже штук восемь. Кто-то справедливо решил, что так жить нельзя, и сделал для них общую обёртку Enchant. Именно её использует GtkSpell, которой пользуются Pidgin и Gajim. Но Pidgin ещё не умеет выбирать словарь по умолчанию, поэтому должен остаться только один словарь — двуязычный. Именно поэтому удаляются aspell, ispell и myspell (и другие установленные спеллчекеры) вместе со своими словарями. libhunspell, наверное, нужен для того, чтобы Enchant мог прочитать формат этого словаря.
сейчас большинство браузеров уже поддерживают localStorage, и можно довольно смело его использовать для хранения данных на клиенте. Но каков размер этого хранилища? Спецификация говорит про «случайно выбранное ограничение в 5 мегабайт». Но не всё так просто.
большинство приложений будет хранить не байты, а символы. Абсолютное большинство символов даже в utf-8 занимает два байта. Некоторые реализации используют utf-16, которая использует два байта даже для ascii-символов.
каждый производитель браузеров принял своё решение. Chrome ограничивает размер базы именно пятью мегабайтами. Firefox позволяет хранить около 5 миллионов символов. Explorer — чуть меньше 5 миллионов. И только Opera уже сейчас при достижении предела просто предлагает пользователю выделить побольше места для приложения — вплоть до всего диска!
скорее всего, эти ограничения будут меняться со временем. Чтобы в любой момент можно было легко проверить актуальные ограничения, я сделал тест квоты на количество данных в localStorage.
недавно вышла IDE WebStorm специально для веб-разработчиков. Я скачал её на попробовать, впечатлился, и даже подумал купить её. Но как же обойтись без небольшого исследования перед приобретением важного рабочего инструмента? : )
последний раз я сравнивал IDE пару лет назад, и не нашёл ничего достаточно хорошего. Все они приблизительно одинаково не подходили под мои требования. В итоге я остановился на Komodo Edit, который хотя бы тормозит меньше, чем остальные. Но порой за два года многое меняется. Итак, вот мои претенденты.
Eclipse — классная среда. В ней очень умно и удобно сделано почти всё. Собственно, именно её я использовал, когда работал преимущественно не с js. Однако поддержка яваскрипта в ней всегда хромала. Под эклипс есть несколько плагинов, поддерживающих яваскрипт, и все они почти блокнотного уровня. JSEclipse выкуплен и убит Адобом. Spket ничем особенным себя не проявляет. WebTools, хотя и сменил версию с 1.5 на 3, по-прежнему примитивен.
Aptana я пущу отдельным абзацем, хотя это тоже перелицованный эклипс. Хвалят её, конечно, и даже тормозить она перестала (странно было: эклипс не тормозит, а аптана еле шевелится). Но в плане яваскрипта ушла недалеко.
NetBeans оказался вполне прикольным. Местами лучше эклипса, местами похуже, да и страшноват. Но тоже обрабатывает каждый файл как вещь в себе.
Visual Studio я не рассматривал по понятным причинам ; )
в чём же обломались все перечисленные IDE? В примитиве. Go to definition работает, только если функция определена в этом же файле. Это смешно для любого хоть сколько-то крупного проекта. Даже Komodo иногда справлялся с этой задачей.
в общем, пока что я попробую остановиться на WebStorm, благо демка у него на 45 дней.
да, на всякий случай скажу, что между набором простых утилит и gui я выбираю gui
я люблю консоль для тех задач, которые целиком помещаются у меня в голове. Если же я чего-то не знаю, и требуется исследовать, например, содержимое каталога, то файловый менеджер намного упрощает жизнь. И в программировании крайне редко случается так, что я целиком осознаю то, что делаю. Такое бывает, только если пишется минимального размера скриптик — это действительно можно сделать и в подручном блокноте
но программирование серьёзных вещей целиком построено на абстракциях. Ты абстрагируешься, отвлекаешься от частностей, чтобы сосредоточиться на более высоком уровне сложности. И в силу сложности задачи получается развесистое дерево, которое целиком загрузить в голову невозможно. Поэтому зачастую становишься исследователем чужого, а порой и своего кода. А для исследования как раз лучше всего gui.
кстати, мой любимчик — highlight selected. Поставил курсор на слово, и оно подсветилось во всём тексте. Для этого нужно нажать ноль клавиш.
в спеке html5 есть удобный интерфейс classList для работы с классами (и другими подобными строками из разделённых пробелами слов). Естественно, он базируется на том, что яваскрипт-библиотеки давно уже сделали удобным и привычным, поэтому переходник сделать очень легко в качестве развлечения на пять минут: