
344.92
Общий рейтинг
Веб-разработка *
Делаем веб лучше
Сначала показывать
Порог рейтинга
Уровень сложности
Смена оформления сайта в зависимости от времени суток.
1 мин
12KПодобное конечно не новинка, и технически совершенно не сложно, но возможно кому то это покажется интересным и нужным.
Сразу отмечу, что меня побудил написать пост этот блог.
Многие видели в сети и писали скрипты, которые здороваются с посетителем по разному, в зависимости от времени суток («доброе утро», «добрый день», «привет тебе, человек с бессонницей»). Но можно пойти дальше, меняя оформление сайта, путём переключателя CSS.
Сразу отмечу, что меня побудил написать пост этот блог.
Многие видели в сети и писали скрипты, которые здороваются с посетителем по разному, в зависимости от времени суток («доброе утро», «добрый день», «привет тебе, человек с бессонницей»). Но можно пойти дальше, меняя оформление сайта, путём переключателя CSS.
+19
Передача параметров в обработчики событий JavaScript
1 мин
15KОчень долго я не мог решить задачу по простому способу передачи параметров в обработчик событий JavaScript, но недавно в обсуждении рабочих моментов с Артемом Горбуновым меня осенила одна идея о которой стоит
-3
Обновление Google Gears 0.2 — все внимание на WorkerPoll
3 мин
722
Программа-дополнение ко всем основным браузерам Google Gears это своеобразный мост между оффлайновым режимом работы и онлайном, так как одна из основных функций, предоставляемой пользователю (в данном случае — разработчикам различных веб-сервисов) — это способность приложения работать без соединения с интернетом, сохраняя всю функциональность и возможности, а после подключения — синхронизировать состояние с сервером. Но это, конечно, не все — встроенная база данных и локальный веб-сервер могут намного больше, особенно в умелых руках разработчиков. Раньше я уже писал о разных API, которые могут быть реализованы в Gears, а теперь посмотрим, что же есть в новой версии.
+29
О выборе инсталлятора
3 мин
47KВопрос выбора инсталлятора, как мне кажется, стоит чуть ниже вопроса выбора языка программирования. Кривой инсталлятор действительно может испортить все впечатление от продукта, поэтому подойти надо со всей ответственностью.
+17
Об интернационализации приложений
4 мин
1.2KВсегда хочется верить в то, что создаваемый Вами программный продукт выйдет за пределы своей страны. Это с одной стороны. С другой стороны, количество возникающих по этой причине сложностей будет очень велико. В этом посте я постараюсь раскрыть некоторые из них.
+5
Тематические Медиа: задача для собеседования
3 мин
2.3KВ свете того, что в последнее время похожая тема довольно часто стала появляться на страницах проекта, опубликую задание, которое на протяжении значительного времени мы предлагали соискателям на позицию php-разработчика в нашей компании.
+23
AUTO.RU запустил «офисный» блог
1 мин
850
Вчера запустили «офисный блог» на AUTO.RU, ожидаются как официальные посты в духе: «завтра переносим сервер», или :«запустили новый подпроект», так и «офисный треп».Помимо блога на home.auto.ru есть раздел «О проекте», «Вакансии» и, конечно, страница нашей команды — «Команда AUTO.RU» где можно на нас, собственно, поглядеть.Что самое интересное, буквально минуту спустя с официального запуска у наших канареек вылупился птенец =)
Всем приятного дня.
+6
Safari для веб-разработчиков
4 мин
8.4KЛетом прошлого года компания Apple анонсировала новую версию своего браузера Safari. Неожиданностью стало то, что данный браузер работает не только под Mac OS, но и под Windows XP/Vista. Данный факт дал возможность в первую очередь веб-разработчикам ознакомиться с браузером и тестировать свои разработки в нем, не имея возможности, как например у меня, работы на компьютерах Apple.
На данный момент этот браузер проходит бета-тестирование, и доступен всем желающим для скачивания. Все мы уже не раз читали заявления по поводу того, что Safari быстрее всех, но это вызывает противоречивые мнения. Хотя хочу заметить, что в собственных тестах, часто Safari оказывается на первом месте. Но скорость, браузера хоть и важна, но не является приоритетной. Нам, как веб-разработчикам, важно знать, что представляет из себя браузер, что в нем поддерживается, что нет. В этом плане данный браузер только радует. Он поддерживает стандарты так же хорошо как и FF, и Opera. Конечно, есть свои недоработки, но у кого их нет? У меня выходит так, что все что работает в FF и Opera, так же работает и в Safari. Крайне редко замечаются какие то глюки, ощущение, что баги чаще случаются в других браузерах — но это субъективно. Так же стоит отметить, что Safari идет в авангарде, и многие фишки впервые были внедрены именно в нем, к примеру, тот же <canvas>.
Мне до недавнего времени казалось, что браузер пытаются сделать более стабильным, потому не выпускают релиз. Было странным, что уже больше полугода релиз не может состояться. Однако, на днях наткнулся на интересный блог, где описываются нововведения. Оказывается до сих пор в браузер вводят новую функциональность. Нет, не новые табы и настройки, а именно ту функциональность, которую могут задействовать веб-разработчики. Многие вещи еще тестируются, и доступны только в ночных сборках.
На данный момент этот браузер проходит бета-тестирование, и доступен всем желающим для скачивания. Все мы уже не раз читали заявления по поводу того, что Safari быстрее всех, но это вызывает противоречивые мнения. Хотя хочу заметить, что в собственных тестах, часто Safari оказывается на первом месте. Но скорость, браузера хоть и важна, но не является приоритетной. Нам, как веб-разработчикам, важно знать, что представляет из себя браузер, что в нем поддерживается, что нет. В этом плане данный браузер только радует. Он поддерживает стандарты так же хорошо как и FF, и Opera. Конечно, есть свои недоработки, но у кого их нет? У меня выходит так, что все что работает в FF и Opera, так же работает и в Safari. Крайне редко замечаются какие то глюки, ощущение, что баги чаще случаются в других браузерах — но это субъективно. Так же стоит отметить, что Safari идет в авангарде, и многие фишки впервые были внедрены именно в нем, к примеру, тот же <canvas>.
Мне до недавнего времени казалось, что браузер пытаются сделать более стабильным, потому не выпускают релиз. Было странным, что уже больше полугода релиз не может состояться. Однако, на днях наткнулся на интересный блог, где описываются нововведения. Оказывается до сих пор в браузер вводят новую функциональность. Нет, не новые табы и настройки, а именно ту функциональность, которую могут задействовать веб-разработчики. Многие вещи еще тестируются, и доступны только в ночных сборках.
+31
На дизайне от Google построили открытый сервер БД
2 мин
3.1KМаленькая поисковая фирма Zvents выпустила под свободной лицензией уникальную разработку — систему управления базами данных, которая легко распараллеливается на сотни машин. В роли серверов может использоваться стандартное дешёвое железо, оно в случае необходимости заменяется «на лету» без потери данных. Новая программа Hypertable теоретически рассчитана работать на кластере из 1000 узлов, хотя текущая альфа-версия 0.9 испытывалась только на десяти. Но тесты прошло отлично, а интерес к разработке уже проявила компания Yahoo. Дело в том, что в настоящее время в Hypertable используется файловая система Hadoop, ведущий разработчик которой работает как раз в Yahoo.
Руководители компании Zvents говорят, что они были вынуждены открыть свою программу в виде open source, потому что у них маленькая софтверная фирма и совершенно нет денег на инфраструктуру. Подобные СУБД коммерческого масштаба нужно испытывать на громадных кластерах.
Программа Hypertable создана по образцу известной базы данных Bigtable, которая используется в Google. Эта распределённая система, когда она была представлена на суд научной общественности в 2006 году, произвела настоящий фурор как одно из лучших изобретений в компьютерной области. Правда, там в качестве файловой системы используется запатентованная Google File System.
Руководители компании Zvents говорят, что они были вынуждены открыть свою программу в виде open source, потому что у них маленькая софтверная фирма и совершенно нет денег на инфраструктуру. Подобные СУБД коммерческого масштаба нужно испытывать на громадных кластерах.
Программа Hypertable создана по образцу известной базы данных Bigtable, которая используется в Google. Эта распределённая система, когда она была представлена на суд научной общественности в 2006 году, произвела настоящий фурор как одно из лучших изобретений в компьютерной области. Правда, там в качестве файловой системы используется запатентованная Google File System.
+42
Задачи на собеседовании — от простого к сложному.
2 мин
27KДа, это крик души. Потому что в среднем за неделю я собеседую несколько, которые претендуют на должность php-программиста.
Крик души, собственно в следующем:
из, предположим, 10 человек простейшие тесты сдают максимум двое (один — наполовину или на две трети). Вот такая простая статистика.
Может быть, я задаю слишком сложные вопросы ( несколько видоизмененные вопросы под катом )?
Собственно, в данном топике я предложил бы побеседовать на тему задач, предлагаемых потенциальному сотруднику на собеседовании.
Может быть, кто-то поделится своими задачами, или в комментариях каким-то образом родится что-то удивительно-простое, но позволяющее понять уровень человека?
Крик души, собственно в следующем:
из, предположим, 10 человек простейшие тесты сдают максимум двое (один — наполовину или на две трети). Вот такая простая статистика.
Может быть, я задаю слишком сложные вопросы ( несколько видоизмененные вопросы под катом )?
Собственно, в данном топике я предложил бы побеседовать на тему задач, предлагаемых потенциальному сотруднику на собеседовании.
Может быть, кто-то поделится своими задачами, или в комментариях каким-то образом родится что-то удивительно-простое, но позволяющее понять уровень человека?
+45
-4
text-overflow в Firefox и все, все, все
9 мин
15KМногие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?
+53
Ближайшие события
Практический JS: проблемы innerHTML
3 мин
42KПеревод
Примечание: ниже перевод статьи Julien Lecomte «The Problem With innerHTML», в которой автор рассматривает проблемы при использовании метода innerHTML в современных браузерах и предлагает ряд советов, как ее можно избежать. Мои комментарии далее курсивом
Свойство
Есть и еще несколько более мелких недостатков, которые тоже стоит упомянуть:
Свойство
innerHTML крайне популярно среди веб-разработчиков в силу своей простоты и удобства, поскольку оно совершено элементарно позволяет заменить HTML-содержание у конкретного тега. Можно также воспользоваться DOM Level 2 API (removeChild, createElement, appendChild), но использование innerHTML гораздо более простой и эффективный способ для модификации DOM-дерева. Однако, есть ряд проблем при использовании innerHTML, которых следует избегать:- Неправильная обработка свойства
innerHTMLможет привести к атакам, связанным со script-инъекциями (XSS) в Internet Explorer, когда HTML-строка содержит вызов<script>, помеченного как отложенный:<script defer>...</script> - Выставление свойства
innerHTMLуничтожит все текущие вложенные HTML-элементы со всеми обработчиками событий, что потенциально может вызвать утечки памяти в некоторых браузерах.
Есть и еще несколько более мелких недостатков, которые тоже стоит упомянуть:
- Нельзя получить ссылку на только что созданные элементы, вам приходится добавлять код для получения ссылки на них вручную (используя DOM API).
- Вы не можете выставить
innerHTMLдля всех HTML-элементов во всех браузерах (к примеру, Internet Explorer не позволяет выставитьinnerHTMLдля строки таблицы (tr)).
+31
Оптимизация JavaScript — делаем билд процесс
2 мин
2KВ моем проекте очень много классов взаимодействуют на клиентской части. Каждый класс лежит в отдельном файле для удобства разработки. Хорошей практикой для увеличения скорости загрузки страницы, является уменьшение количества запросов к серверу. Поэтому чем меньше файлов и рисунков включать в страницу тем быстрее она загрузится. В случае с рисунками – СSS спрайты помогут уменьшить количество запросов. А в случае с js и css файлами – это конкатенация файлов и сжатие. Об этом и поговорим.
Очень удобный инструмент с открытым исходным кодом js-builder

Отличный инструмент для того чтоб сформировать в правильном порядке конкатенацию файлов. Работает с любыми расширениями, которые задаешь. Также сжимает js.
В моем проекте я использую библиотеку prototype.js. Билдер при сжатии прототайпа выдает эксепшн. Поэтому я скачал исходники и перебилдил так чтоб билдер занимался только конкатенацией без сжатия. Пересобранную длл, можно скачать тут
Билдер также содержит консольное приложение. А это то что нужно для билда.
Далее необходимо сделать компрессию файлов которые сгенерирует билдер.
Для этой цели я использовал YUI Compressor. Отличная библиотека с высокой степенью сжатия.
Осталось только как то автоматизировать процесс сборки. Для этого я написал batch файл (я в виндовс работаю).
Выглядит он (build.bat) примерно так
set path1=D:\Projects \build\
%path1%JSBuilder\JSBuildConsole.exe /path=%path1%MyHeritageBuild.jsb
java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\output_file_from_js_builder.js -o %path1%target-min.js
java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\style-all.css -o %path1%style-all-min.css
В моем случае джс билдер на выходе дает 2 файла — css и js, а компрессор их сжимает.
Надеюсь это поможет вам создать удобный процесс сборки файлов.
Эту статью я взял из своего техноблога на сайте www.kigorw.com
Очень удобный инструмент с открытым исходным кодом js-builder

Отличный инструмент для того чтоб сформировать в правильном порядке конкатенацию файлов. Работает с любыми расширениями, которые задаешь. Также сжимает js.
В моем проекте я использую библиотеку prototype.js. Билдер при сжатии прототайпа выдает эксепшн. Поэтому я скачал исходники и перебилдил так чтоб билдер занимался только конкатенацией без сжатия. Пересобранную длл, можно скачать тут
Билдер также содержит консольное приложение. А это то что нужно для билда.
Далее необходимо сделать компрессию файлов которые сгенерирует билдер.
Для этой цели я использовал YUI Compressor. Отличная библиотека с высокой степенью сжатия.
Осталось только как то автоматизировать процесс сборки. Для этого я написал batch файл (я в виндовс работаю).
Выглядит он (build.bat) примерно так
set path1=D:\Projects \build\
%path1%JSBuilder\JSBuildConsole.exe /path=%path1%MyHeritageBuild.jsb
java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\output_file_from_js_builder.js -o %path1%target-min.js
java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\style-all.css -o %path1%style-all-min.css
В моем случае джс билдер на выходе дает 2 файла — css и js, а компрессор их сжимает.
Надеюсь это поможет вам создать удобный процесс сборки файлов.
Эту статью я взял из своего техноблога на сайте www.kigorw.com
+23
+117
WCP: MappedUP
1 мин
633MappedUp is an application that tracks a large number of RSS news sources and displays their latest items on a world map, geographically and in real-time. -::- МаппедАп — это приложение, которое переносит большое количество новостных RSS ресурсов и показывает их на географической карте мира в рельном времени.
-3
WCP: Пи-и-и-и-и… Хлоп!
1 мин
728Mosquito CMS
Это ремейк (наследник, сын и потомок) Микроблога (Microblog 1.1.5).
Синопсис: Компактный, минималистичный и шустрый блог-движок на php.
Так гласит ревью на сайте разработчика. Лично для меня это легко модифицируемый и чёткий движок для блоггинга, при хорошом оформление и джентельменских плагинах — фора перед Wordpress {ИМХО} будет явная.
Линки:
Скачать
Обсуждения
Пример блога на этой CMS (если не верите — посмотрите внизу написано на чём он работает)
Это ремейк (наследник, сын и потомок) Микроблога (Microblog 1.1.5).
Синопсис: Компактный, минималистичный и шустрый блог-движок на php.
Нетребовательность: Работает без mysql и дополнительных серверных модулей.
Прозрачность: Понятный и лаконичный. Ядро движка — всего несколько страниц (~ 400 строк) кода.
Минимализм: Базовый дистрибутив Mosquito в zip занимает 35 кб.
Вездеходность: Одинаково хорошо идет как на платных так и на бесплатных хостингах (нужно только php 4).
Функциональность: Расширяется дополнительными плагинами. Дизайн настраивается действительно просто («на лету»).
Открытость: Mosquito принадлежит к роду Open Source скриптов. Лицензируется в соответствии с GNU GPL.
Идеология Mosquito: «лучше меньше да лучше» :-j или, если вам это что-то говорит.
---------------------------------------
Так гласит ревью на сайте разработчика. Лично для меня это легко модифицируемый и чёткий движок для блоггинга, при хорошом оформление и джентельменских плагинах — фора перед Wordpress {ИМХО} будет явная.
Линки:
Скачать
Обсуждения
Пример блога на этой CMS (если не верите — посмотрите внизу написано на чём он работает)
+6
Рисуем графику через ж… жаваскрипт
2 мин
3KИнформация в принципе общеизвестная, но новичкам (вроде меня) может быть будет полезно.
Возникла тут недавно потребность рисовать чарты яваскриптом. В итоге была найден элемент canvas от WHATWG и его спецификация. Вещь в высшей степени привлекательная. Позволяет рисовать вот такие штуки:

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

Делается примерно так:
+48
Создание EXE приложений на PHP
5 мин
37KINTRO
Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP «немного» иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась!
Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP «немного» иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась!
+42
