Обновить
465.98

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

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

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

Профессиональная конференция HighLoad++

Время на прочтение2 мин
Охват и читатели866
Наверное многие из вас знают о сложной судьбе проекта «профессиональная конференция веб-разработчиков высоконагруженных систем». Сегодня таких конференций две — ниже речь пойдет о HighLoad++, конференции, направленной на общение равных, совместное развитие и обмен опытом. Даты — 6 и 7 октября, место — конференц-центр Инфопространство, Москва.

Я хочу рассказать о наших планах по программе и пригласить к участию. Мы планируем охватить все спектры высоких нагрузок: проектирование архитектуры, выбор технологий, разработка, хостинг, администрирование, поддержка, мониторинг.

Подробности о программе

Вышел Firebug 1.2

Время на прочтение1 мин
Охват и читатели457
Эта заметка для тех кто не подписан на блог «Firefox», таких как я. Те, кто подписан уже прочитали про новость в этой заметке, которая вышла раньше.

25 августа вышло обновление для инструмента, ради которого многие используют браузер Firefox.

Собственно, здесь все описание:
ejohn.org/blog/firebug-12-released

Плюс, ссылка на архив с дополнением, для тех, кто не любит читать релизы:
getfirebug.com/releases/firebug

Поднимаем subversion для приятной разработки

Время на прочтение2 мин
Охват и читатели5.2K
В один прекрасный день мне надоело заливать по ftp\ssh все изменения, внесённые в проект. К этому моменту я уже вынашивал идею перенести разработку под управление SVN — контроль версий, всё-таки приятная штука. В итоге было решено совместить приятное с полезным — и контроль версий, и автоматическое обновление проекта. По традиции — повествование будет вестись на примере моего любимого debian'a.
Заметку можно считать дополнением статьи svn tips (по крайней мере — первого пункта).
поехали

wysiwyg своими руками

Время на прочтение3 мин
Охват и читатели24K
Существует куча платных\бесплатных визуальных редакторов на любой вкус и цвет. Но что, если они работают не во всех браузерах, Вас не устраивает дизайн или функциональность, или просто душа лежит к написанию своего собственного? Ответ на вопрос, как это сделать —
Читать дальше →

Хранение набора чекбоксов в одном поле БД. Битовая маска.

Время на прочтение2 мин
Охват и читатели20K
Часто при составлении сайтов с каталогами нам приходится оперировать с однотипными карточками каталога. Рассмотрим пример:
У нас имеется каталог СТО которые оказывают различные услуги клиентам. Есть предопределенный список услуг, среди которых производится выбор. Список услуг представляет собой набор чекбоксов, если услуга оказывается то чекбокс помечается, в противоположном случае отметка не ставится. Предположим количество услуг в каталоге равняется десяти(просто для определенности).
Самым простым способом было бы хранение состояния каждого чекбокса в отдельном поле, однако при этом мы для каждой новой услуги(которая будет указываться на сайте и учавствовать в поиске) будем вынуждены расширять таблицу, и изменять поиск.
Но мы пойдем другим путем.
Читать дальше →

Конвертируем html в pdf

Время на прочтение1 мин
Охват и читатели17K
dompdf_simple

Dompdf — класс написанный на PHP 5 для преобразования HTML в PDF.
Проблема конвертации html в pdf встречается не так часто, но все же возникает у некоторых веб-мастеров.
Читать дальше

Польза кеширования данных. Пример из реальной практики.

Время на прочтение3 мин
Охват и читатели3.5K
С появлением и развитием memcached-подобных систем в архитектурах веб-приложений появилось еще одно звено, а именно кеш-серверы. Обычно это машины с большим объемом оперативной памяти, в которой хранятся заранее подготовленные данные. Это могут быть результаты сложных запросов к БД или же отрендеренные динамические части страниц сайта. На самом деле, кеш, как и любая другая система, может использоваться как угодно, чтобы удовлетворить нужды приложения.

Суть кеширования проста.

Поддержка < canvas> в IE

Время на прочтение2 мин
Охват и читатели1.2K
Что такое canvas вы можете прочитать здесь и кое-что на хабре тут и тут (наглядный пример).

Vladimir Vukićević написал компонент ActiveX для IE, который добавляет в браузер поддержку тэга canvas. Чтобы использовать его нужно лишь добавить на страницу небольшой.js сниппет и тэг object который будет получать контроль. Разумеется, он полностью доступен для скриптов. Исходный код будет доступен для всех чтобы его можно было изучить и улучшить. Наличие этого компонента означает что canvas станет доступным во всех популярных браузера, не смотря на то, что Майкрософт ещё не добавил его поддержку.
via Christopher Blizzard

canvas в IE и Firefox
Читать дальше →

Логарифмический рейтинг

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

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

Найти: лучший вариант представления графика, относительно чисел.

Решение: очевидных вариантов два: представить соотношение баллов линейно и логарифмически. С одной стороны, линейное представление банально и по нему не виден перевес голосов (отличи-ка по 100-пиксельной полоске 1500 от 1400), с другой стороны, к линейному все привыкли и пользователи не будут пугаться перевеса, величиной в весь график, между 1000 и 1500 (перевеса не будет).
У логарифмического есть плюсы и минусы, прямо противоположные линейному: сразу виден перевес голосов, но график не линеен (простите, каламбур) и пользователь далеко не сразу просечет его фишку.

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

Чтобы понять в чем, собственно, вопрос, можно подергать большой прототип на oowl.ru/tools/rating.

Web 3.0 — это мир, в котором обычный пользователь может стать программистом

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


Многие согласятся, что эпоха Web 2.0 уже подходит к концу. Сегодня я расскажу вам о некоторых стартапах следующего поколения и предреку смерть некоторых Web 1.0 зубров. Прошлые несколько лет прошли под лозунгом «User generated content», следующие же — под двумя новыми:
  • User generated applications.
  • Platforms.

А так же расскажу почему эникейщики, веб-мастера и прочие продвинутые-пользователи-полу-админы-полу-программисты станут вымирающим видом.

Матрица компетентности программиста

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


4 уровня компетентности программиста от новичка до гуру разложены по 15 условным полочкам, вот только несколько из них:
— знание алгоритмов,
— умение организовать контроль версий,
— опыт проектирования сложных систем,
— читабельность кода.

Матрица компетентности программиста ч.I.
Матрица компетентности программиста ч.II.

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

Использование Nginx и php для проверки прав доступа перед отдачей файлов

Время на прочтение2 мин
Охват и читатели14K
Иногда на сайте возникает необходимость ограничить доступ к некоторым файлам по разным причинам(раздавать файлы только авторизованным пользователям, антилич и так далее). Для решения данной задачи можно использовать разные подходы:

  1. Раздавать файлы с помощью скрипта на php(заменить php на то, что нравится больше). При данном подходе мы передаем в качестве параметра скрипту имя файла. Код проверяет все условия, при которых возможно получения доступа к данному файлу и принимает решение, выдать 404 или запрошенный файл. Данный подход подходит для мелких файлов, однако при возрастании размера отдаваемого файла он будет потреблять много системных ресурсов, т.к. файл будет вычитываться в память и затем отдаваться.
  2. Использовать некоторые неочевидные возможности веб-серверов.

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

Монолитные системы – наследие

Время на прочтение2 мин
Охват и читатели1.8K
Большие проекты, с долгой историей — уходящей своими корнями в 90-е, в большинстве случаев основываются на монолитной архитектуре (не касательно web — корни тянуться еще глубже). В работе я часто сталкиваюсь с подобными системами и у них всех практически одни и те же проблемы, об этом и хотелось бы рассказать сейчас.

Основная проблема

При создании не предполагает наращивания функционала. Создается «раз и на всегда» — любая «новая кровь» — не той группы и вызывает отторжение. Любое хирургическое вмешательство рано или поздно приводит к появлению «Франкенштейна» — сущности Множеств — объеденных синтетическими связями.
Читать дальше →

JavaScript для начинающих — как учить?

Время на прочтение1 мин
Охват и читатели244K
Наша маленькая но очень гордая компания взяла на обучение нового человека. Мы хотим сделать его матерым жаваскриптером. Воспитание и обучение легло целиком на мои плечи поскольку опыта по JS у меня больше прочих.

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

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

А посему вопрос — что можно посоветовать почитать дабы человек мог быстро въехать в продвинутый жаваскрипт? По большому счету требуется передать именно саму идею реализации богатых клиентов на нем. Про подводные камни и всякие несуразности я думаю смогу что-то рассказать исходя из своего опыта.

The Javascript Way

Время на прочтение3 мин
Охват и читатели1.4K
Очевидно, что за последние годы JavaScript превратился из «прикольного дополнения к HTML» в мощное средство для разработки веб-приложений. И превратился он в него не технологически, а идеологически. То есть он всегда был, как-бы на протяжении своего существования сильно не менялся, но почему-то стал использоваться на всю катушку сравнительно недавно. Как будто все неожиданно осознали, что веб тоже может быть интерактивным, и веб-сайты, как-бы не веб-сайты вовсе, а такие программы, со своей логикой. Эта тенденция оказала сильно и на требования к сайтам в общем.
До конца не ясно, то-ли возможности Javascript так повлияли на веб, то-ли веб сам стал требовать интерактива, и на помощь пришел JS. Я лично склоняюсь к первому варианту.

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

А что там с фреймворками?

РИТ: Высокие нагрузки — Программа по состоянию на 20 августа

Время на прочтение2 мин
Охват и читатели1.3K
Программа конференции «РИТ: Высокие нагрузки» значительно обновилась. Отчасти это обусловлено договоренностями о партнерстве с членами ассоциации «Интернет и бизнес» (Яндекс, Рамблер, Мейл.ру, Ашманов и партнеры, РБК-МедиаМир и многие другие), отчасти — усиленной работой экспертного совета.

На тему проектирования масштабируемых систем и выбора архитектуры подано около десяти заявок. Одни из самых интересных пришли от Андрея Шетухина (архитектор проектов SUP Fabrik), тезисы уточняются. Антон Федоров готовит доклад о выборе архитектуры нагруженного проекта, опираясь на примеры Goodoo-IT и Инфоскан.
Читать дальше →

База классификаторов

Время на прочтение1 мин
Охват и читатели6K
Прочитав этот хабратопик я решился, наконец, рассказать хабраобщественности о своем некоммерческом стартапе и вообще открыть к нему доступ. Этот проект сделан программистами для программистов. Суть его проста – все классификаторы на одном сайте.

Каждый классификатор может содержать несколько таблиц. Содержание любой таблицы можно посмотреть прямо на сайте или скачать классификатор целиком. Для скачивания доступны следующие форматы: XML, SQL-дамп или просто в формате Excel. В дальнейшем к профилю классификатора мы будем прикреплять графическую схему с указанием связей между таблицами.

Все Ваши пожелания, предложения и классификаторы, пожалуйста, отправляйте на class.upload@gmail.com. Плюсовать в карму можно drtoller (т.е. мне), derbov, @saratovdae.

Firebug lite

Время на прочтение1 мин
Охват и читатели4.6K
Я смотрю для общественности прошло незамеченным такое событие, как обновление Firebug-Lite до качественно нового уровня. Теперь мы имеем аналогичное FF FireBug средство в Opere, Safari и возрадуйтесь — в IE.
Читать дальше →

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