Обновить
360.3

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

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

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

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

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

На тему проектирования масштабируемых систем и выбора архитектуры подано около десяти заявок. Одни из самых интересных пришли от Андрея Шетухина (архитектор проектов 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.
Читать дальше →

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

Сам себе подкаст–терминал

Время на прочтение5 мин
Охват и читатели3.5K
Эта тема несколько отходит от вопросов поднимаемых в ТиПЗ, однако ответа на вопрос «а как мне сделать свой подкаст–сайт» от меня добивались не раз. С другой стороны, за последние две недели мне пришлось собрать пару таких подкаст сайтов и этот опыт как–то зафиксировался и приготовился к обнародованию. Ничего особенно революционного я не поведаю, однако и самое банальное знание собранное воедино может кому–то помочь.

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

Закругленные уголки с помощью VML и CSS3

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

Наткнулся на очень интересный вариант решения очень популярной проблемы многих веб-мастеров — закругление блоков.
Для этого варианта закругления используются VML и CSS3.

Решение без картинок, работает во всех Internet Explorer’ах включая 5ый, в Firefox, в Safari, но к сожалению в старых версиях Opera не работает.
Читать дальше

Детские мечты о width: 90%-20px;

Время на прочтение2 мин
Охват и читатели809

Вступление

Те, кто когда-то только-только начинали изучать CSS, особенно имея небольшой опыт программирования десктопных приложений на Delphi или VB, наверняка хотели иметь возможность использовать конструкции вроде left:30%+10;
Потом все мы научились использовать margin, вложенные и плавающие блоки. Тем, кто всё-таки не прочь побаловаться, посвящается: JSCSS
Читать дальше →

Библия веб-разработки

Время на прочтение1 мин
Охват и читатели1.3K
На конференциях Профиклаба свои доклады делают те люди, которых по праву можно назвать не только гуру, но и технологическими евангелистами. Материалы их докладов легли в основу “Библия веб-разработки” — мы начали публиковать “Трехкнижие 2007: РИТ, HighLoad, ClientSide” и книга первая “РИТ-2007″ уже доступна почти в полном объеме. Почему “почти”? Потому что в ближайшие дни текстовые материалы и презентации пополнятся еще и видео.

Следом за “книгой первой” мы опубликуем тексты докладов конференций прошлого года “HighLoad” и “ClientSide”. На расшифровку видео и вычитку (кстати мы с удовольствие посотрудничаем с теми кто поможет вычитать доклады) уйдет порядка 2-3 месяцев, хотя тезисы с видео и презентациями появятся гораздо раньше.

Мы не ограничились только материалами конференций — уже готовые первые переводные материалы от крупнейших зарубежных специалистов:

  • Еще более быстрые веб-сайты (в основе текста презентация, автором которой является Steve Souders)
  • 7 этапов построения масштабируемых веб-приложений (материал подготовлен по мотивам презентации, автором которой является John Engates, CTO Rackspace.)

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

Удобное решение для работы с БД

Время на прочтение2 мин
Охват и читатели6.4K
logo_by_chernev
Обычно для работы с mySQL я использовал «phpmyadmin», но сегодня мой взор был направлен на новое решение «SQL buddy», я скачал, загрузил на свой сервер, и…
И это просто супер! Такой и должна быть удобная работа с БД!

Возможно «SQL buddy» не имеет столько расширенных функций как «phpmyadmin», но для рутинных и небольших работ она прекрасно подходит.
Читать дальше

Мысли о разрешении экрана. Год спустя

Время на прочтение2 мин
Охват и читатели3.9K
В последнее время при разработке сайтов все меньше и меньше учитывается разрешение 800х600, что само по себе не удивительно, если взглянуть на статистику. Соответственно либо сайты оптимизированы под 1024х768 и выше, либо они «резиновые», что встречается в реже.

Ситуация закономерная и соответствует развитию рынка мониторов и стремлениям дизайнеров/разработчиков. Я уже размышлял над этим год назад. Так вот, год спустя, мои мысли приобрели немного другое направление.
Читать дальше →

Супер-юзабильные формы

Время на прочтение2 мин
Охват и читатели54K
super_form

Как-то на хабре разгорелся спор, как заставить пользователя вводить дату в правильном формате, было множество интересных решений, но заставлять пользователя совершенно не надо — пусть за пользователя основную работу делают машины :-).

На помощь приходит замечательный скрипт «Masked Input Plugin», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.

Возможно Вы не совсем поняли, но лучше один раз увидеть, чем сто раз услышать.
Читать дальше

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