Обновить
455.92

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

Atlassian: любая программа за 10 баксов

Время на прочтение1 мин
Охват и читатели2.1K
Atlassian за 10 баксов продает любую из своих программ. Предложение предназначено небольшим компаниям или группам разработчиков — предлагается 10 лицензий.

Под раздачу попали JIRA, Confluence, GreenHopper, Bamboo, FishEye, Crowd. Полный комплект обойдется в 60 долларов.

Различия между IE6, IE7 и IE8. Часть первая

Время на прочтение4 мин
Охват и читатели6.1K
(От перев. Данная статья не претендует на полноту и непротиворечивость, потому мы не будем строить на ее основании никаких теорий. Это всего лишь практическое пособие для разработчиков, немного исправленное и дополненное мной под реалии Рунета.)

Одним из самых странных статистических фактов, связанных с использованием браузеров, является широкая распространенность Internet Explorer версии 6, 7 и 8. На сегодняшний день все версии Internet Explorer вместе занимают примерно 65% рынка используемых в настоящее время браузеров. Среди веб-разработчиков эта цифра ниже, здесь доля пользователей IE составляет лишь 40% рынка.
(От перев. Надеюсь, эти 40% составляют лишь несчастные верстальщики, проверяющие свои сайты на предмет кроссбраузерности. Статистика по Рунету доступна, например, здесь. Заметьте, в сентябре у всех браузеров IE-семьи график без видимых причин подскочил — это вернулись за свои компьютеры офисные пользователи, самые преданные почитатели наших героев.)

Интересно, что популярность браузеров семейства IE примерно одинакова, нельзя выделить один доменирующий браузер, как это было ранее. (От перев. Конечно, нельзя. Вот смотрю и ну никак не могу выделить доминирующий браузер. =) ) Таким образом, сейчас веб-разработчики обязаны проверять работоспособность своего проекта в различных браузерах, разрабатывая как сайты для своих заказчиков, так и персональные странички.

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

Эта статья является попыткой дать исчерпывающую, легкую в восприятии информацию для веб-разработчиков, пытающихся понять различия в обработке CSS между IE6, IE7 и IE8. Здесь собраны краткие описания для свойств, поддерживаемых одним или двумя браузерами, но не всеми тремя сразу. Здесь не рассматриваются свойства, не выполняемые ни одним из IE, а также специфичные только им. Таким образом, акцент стоит именно на различиях между браузерами, а не на недостатке поддержки ими тех или иных CSS-свойств.

Ну-ну, продолжайте...

W3C запустил новый сайт

Время на прочтение1 мин
Охват и читатели682
World Wide Web Consortium (W3C) обновил сайт. Новый сайт имеет гармоничный дизайн, упрощенную информационную структуру, новый стиль для технических докладов, и новые материалы, включая календари и блоги. Что касается содержимого, то появились новые страницы, которые будут пополнятся актуальным содержимым.

Обратите внимание на верстку и попробуйте сузить страницу в браузере :)

image

Статистика Google Analytics на вашем сайте. Часть вторая. Использование GAPI

Время на прочтение2 мин
Охват и читатели11K
С момента публикации первого топика о создании хабраподобной статистики (которую, кстати, почему-то тут не обновляют) с импортированием данных из Google Analytics прошел ровно год.

image

Весь этот год все работало, статистика обновлялась, графики рисовались… пока все не сдохло. Как это и присуще гуглу, сдохло оно не сразу у всех, а потихоньку, в течение недели. При беглой диагностике проблемы выяснилось, что она заключается в гугловой авторизации. Учитывая, что скрипт авторизации мною был заимствован, разбираться в нем не было никакого желания, и тут до меня дошло — ведь Google выпустил API для аналитикса! Поэтому было решено не обрабатывать напильником существующую версию, а просто получить данные цивилизованно, посредством API, тем не менее, оставив при этом «структуру» и основные моменты предыдущей версии.
Читать дальше →

Vraptor3 — MVC фреймворк родом из Бразилии

Время на прочтение2 мин
Охват и читатели826
4 октября вышел релиз 3.0.0 интересного MVC фреймворка для java web-разработки V|Raptor.

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

Поначалу мне он не показался чем-то особенным — какая-то бразильская (!) команда делает opensource проект, на сайте язык по умолчанию португальский, домен vraptor.org сразу редиректится на какой-то vraptor.caelum.com.br…



потом передумал

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

Время на прочтение3 мин
Охват и читатели2.3K
stop sign illustrationВсем нам знакомо правило первого экрана гласящее «Пользователь не прокручивает страницу, поэтому вся информация должна быть на верху», основано оно на том, что пользователь не использует полосы прокрутки, потому что ему лень.
Ребята в компании cxpartners (Великобритания, Бристоль) решили проверить это утверждение и провели исследование, представляю перевод их отчёта.
Читать дальше →

Какие бывают META теги и зачем они нужны

Время на прочтение7 мин
Охват и читатели271K

META-теги


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

META-теги имеют два возможных атрибута


— <META HTTP-EQUIV="имя" CONTENT="содержимое">
— <META NAME="имя" CONTENT="содержимое">
META-теги должны находиться в заголовке HTML-документа между <HEAD> и </HEAD> (особенно это важно для документов, использующих фреймы).

Стандартом HTML 4.01 значения и имена мета-тегов НЕ оговариваются, поэтому мы будем рассматривать те значения, которые уже устоялись в интернете и используются чаще других.
подробнее о META тегах

Зачем нужны личные сообщения на сайтах?

Время на прочтение1 мин
Охват и читатели1.6K
Привет! Зачем нужны личные сообщения на сайтах, если у каждого из нас уже есть своя хорошая почта? Почему бы не сделать просто почтовый шлюз, который бы выдавал псевдо-почтовые адреса и перенапрявлял письма с этих адресов на реальные? Поясню на примере: есть, например, пользователь хабра smallandpurple который со своей почты отправит письмо на torpe@habr.ru, а хабр, в свою очередь, перенаправит это письмо на мой адрес big-and-greep@gmail.com, поменяв отправителя на smallandpurple@habr.ru

Все это можно сделать с помошью гугла и его гугл аппс, например. Или без него.

Простая же идея?

Custom Action в WiX

Время на прочтение11 мин
Охват и читатели31K
Custom Actions один из важнейших элементов в WiX, позволяющий производить любые действия в процессе установки или удаления программы, раширяющий возможности WiX. С помощью Custom Action мы можем подключить к нашему установщику VBScript, JScript, Dll библиотеку, исполняемый модуль и производить любые действия в процессе работы инсталлятора.

Рассмотрим пример — в процессе установки программы нам требуется указать путь к файлу на локальном компьютере, допустим к файлу лицензии.
Читать дальше →

Контент-менеджмент по-секретарски

Время на прочтение3 мин
Охват и читатели3.1K
Сегодня, наверно, уже не бывает заказов на сайт без требования «возможность самостоятельно вносить изменения». Неважно, на чем вы делаете сайт — Битрикс, MODx, Drupal, что-то еще, или самописная CMS. FCKEditor, TinyMCE, панелька «чтоб как в ворде» — и заказчик спокоен, ему не придется за отдельную плату дергать «программистов».

И «программисты» вроде тоже довольны — дизайнер сайт нарисовал, верстальщик его за пару дней с грехом-пополам сверстал, на движок все это счастье натянуто, а тут уже и акт приема-передачи, и сумма с парой-тройкой нулей на счету. Все довольны.

Кроме тех, кому на этот сайт не наплевать

История Visual Studio. Часть II

Время на прочтение4 мин
Охват и читатели1.8K
От переводчика
Это вторая часть повествования Rico Mariani. Начало было здесь и здесь.

Visual C++ 2.0 (кодовое имя Dolphin, Дельфин) был очень амбициозным проектом. Мы были счастливы выпустить Visual C++ 1.0, но там было несколько моментов, которые абсолютно нас не устраивали. Одним из них — наиболее, пожалуй, важным — было то, что работа с окнами являлась сущим кошмаром. Visual C++ 1.0 использовала стандартный многооконный MDI-интерфейс для всех окон, включая такие вещи, как окно регистров, окно отслеживания значений, окно вывода и т.д. В итоге эти ключевые инструменты просто тонули в потоке окон, открытых редактором и отладчиком. Это все было очень неприятно.
Окончание

Memcached. Как найти ключи по паттерну?

Время на прочтение6 мин
Охват и читатели9.9K
Доброе утро|день|вечер|ночь, %username%!

При использовании Memcached, иногда могут возникнуть вопросы: «А как посмотреть все ключи Memcached?» или «Как найти все ключи по маске „*“ или „sql_*“ ?»
Вот тогда открываются мануалы и начинается поиск такой функции, но, к сожалению, такой не оказывается :-(
Потом начинается Гугление… И там особо ничего нет :-(
А потом начинается поиск незадокументированных возможностей :-) и тут «Ура! Нашел!»

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

Ближайшие события

История Visual Studio. Часть I

Время на прочтение6 мин
Охват и читатели4.2K
От переводчика
Продолжение Части 0,5

Как выясняется, C++ — язык довольно сложный для компиляции; да что там — он сложный даже для понимания. Я помню одну беседу о том, какими запутанными могут быть указатели на члены класса. Итоги были потрясающими и сводились к тому, что указатели могут указывать на члены, определенные в виртуальном базовом классе. В этом весь C++: отдельные вещи кажутся простыми, но как только вы начинаете их комбинировать с другими — дело сразу усложняется.
Продолжение

История Visual Studio. Часть 0,5

Время на прочтение5 мин
Охват и читатели4.4K
Единой «Истории возникновения Visual Studio» нет и быть не может: у каждого человека, вовлеченного в ее создание, есть своя версия. Если приспособить известную цитату, то «В Обнаженном Городе ходит множество историй...».
И это одна из них

Удаляем вызовы firebug'овской консоли перед выкладкой на produciton

Время на прочтение3 мин
Охват и читатели976
Предисловие

В последнее время на хабре стало как-то мало постов, относящихся к веб-разработке. Надеюсь, мой пост будет смотреться выигрышней за счет контраста :)

Сама статья:


На днях надо было сходить показать представителю заказчика, как пользоваться одной свежевстроенной в проект фичей.

За полчаса до выхода подготовил новый билд, протестировал.

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

CKEditor, TinyMCE файловый браузер (PHP)

Время на прочтение3 мин
Охват и читатели9.9K
В продолжение, файловый браузер для CKEditor и TinyMCE, и просто для сайта.
Сборка имеет два скина: dark & light

Скриншоты кликабельны
Читать дальше →

Почему важен DOCTYPE и как его правильно использовать

Время на прочтение7 мин
Охват и читатели139K
Решил проводить регулярные лекции и практические занятия со своими сотрудниками по программированию на PHP, MySQL, Javascript. А также другим технологиям необходимым для выпуска качественных сайтов. Начать решил с самого «верха», с HTML тэгов. Буду рад, любым комментариям :)
Сразу оговорюсь, что бОльшая часть информации я нашел в интернете, внизу статьи будут приведены ссылки на источники. Часть информации была переведена совместно с google translate.
Итак:

Почему так важен DOCTYPE



Вроде бы вы сделали все правильно, но ваш сайт почему-то не выглядит или не работает, как ожидалось, в последних версиях броузеров.
Вы написали правильный стандартный XHTML код и стандартный CSS. Вы воспользовались стандартной спецификацией для работы с DOM (Document Object Model), чтобы управлять динамическими элементами на странице. И все-таки, в броузерах, которые казалось бы сделаны с соблюдением именно этих стандартов, ваш сайт не работает. Скорей всего, ошибка кроется в неправильном заголовке DOCTYPE.
Эта небольшая статья расскажет вам о заголовках DOCTYPE, которые работают, а также объяснит практическое и теоретическое значение этого, казалось бы отвлеченного от реальности, тега.
Читать дальше

Alice — REST Мониторинг RabbitMQ

Время на прочтение2 мин
Охват и читатели4.5K
Собственно столкнулся с проблемой, что при использовании RabbitMQ необходимо мониторить сервер. Системную утилиту rabbitmqctl можно запускать из командной строки, но запустить ее из приложения не получилось. Что-то связанное с окружением эрланга.

После небольшого гугления и общения в целевых форумал получил заветную ссылку

Данный инструмент позволит автоматизировать администрирование сервера:
мониторинг и удаление старых очередей, связей и обменов и кол-во одновременных коннекций.

далее кр описание…
Читать дальше →

Архитектура предметной области в CMF/CMS системах

Время на прочтение6 мин
Охват и читатели4.1K
Практически любая информационная система характеризуется наличием системы хранения и оперирования данными. Возьмем, к примеру, обычные веб-сайты. Для их создания обычно используются какие-либо готовые системы (фреймворки или уже готовые CMS), в которых изначально уже заложена какая-то концепция по работе с данными, установившаяся предметная область. Обычно, если разработчик хочется добавить на сайте раздел новостей, он добавляет в интерфейсе CMS компонент, информационный блок, шаблон и т.п. Суть всех этих конструкций одна — создать сущность в БД для хранения (либо каком-то ином хранилище). В итоге имеется реляционная база данных и, зачастую, какой-то объектно-ориентированный обвес, реализующий связку объект-атрибуты-свойства-методы — реализуется предметная область.

Ниже пойдет речь об одном из вариантов архитектуры предметной области. Статья базируется на опыте работы в компании ADV, которая применяет подобные методы в разработке веб-проектов. Сложность изложенного материала позволяет понять его не только разработчикам ПО, но и веб-мастерам, которым надо периодически дорабатывать существующие веб-проекты, добавляя в них новые данные.

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

Вклад авторов