Обновить
466.63

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

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

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

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

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

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

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

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

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

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

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

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

Вступление

Те, кто когда-то только-только начинали изучать 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», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.

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

Замыкание в Java Script для непосвященных

Время на прочтение2 мин
Охват и читатели3.4K
У моих программистов была задача: в фото галерее при активном изображении подсвечивать thumbnail показываемого изображения. Задача вроде тривиальная, но вызвала у них некоторый затык при решении. Хочу сказать сразу, что владение JS было у них не на высоте.
Вообще мало людей по настоящему знающих этот язык и не путующий его с принципами работы DOM документа.

В чем же была проблема…
1. В том, что сначала они решали её рекурсией :)
2. Вторая попытка решить привела к введению глобальной переменной, что я не считаю хорошим тоном
3. Загрязнение общего кода подобными маленькими функциями вместо использования объектного подхода

В бытности будучи программистом я написал маленький каркас для демонстрации. Вот он:

<script type=«text/javascript»>
          
          
function MainMenu(){
            
            var OldImage;

            this.getOldImage = function(){ return OldImage; }
            this.setOldImage = function( img ){ OldImage = img;}
            this.chgImage = function( obj, newImage){
              if(newImage != null){
                this.setOldImage(obj.src);
                obj.src = '/images/'+newImage;
              } else {
                obj.src = this.getOldImage();
              }
            }

}

var Menu = new MainMenu();

</script>
* This source code was highlighted with Source Code Highlighter.


Вызывать следует так:

<img src="/images/home.gif" width=«88» height=«23» alt="" onmouseover=«Menu.chgImage(this, 'home_over.gif')» onmouseout=«Menu.chgImage(this)»>* This source code was highlighted with Source Code Highlighter.


Что это нам дало:

1. Мы не используем рекурсию. Этим мы бережем ресурсы компьютера. У клиентских машин они же не резиновые вопреки обратным утверждениям
2. Мы не ввели глобальную переменную, которая в больших системах неудобна по объективням причинам
3. В третьих мы сделали универсальный объект. У него инкапсулированы данные!

Новичкам просьба разобраться и понять. Этот вариант сделан специально проще, чем мы реализовывали.

Мы создаем в теле функции локальную переменную. Затем захватываем эту переменную методом этой функции (это класс, точнее прототип). В итоге получаем хитрый трюк. При выходе из самой функции данные в ней запомнились.

Вообще-то по этому вопросу материала достаточно в сети. Этот трюк далеко не новый. Но о нем нужно напоминать «отцам» и учить новичков.

Ваш собственный онлайн фидридер!

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

Gregarius — это RSS / RDF / ATOM веб-агрегатор написанный на php, предназначенный для установки на вашем веб-сервере, что позволяет Вам получать новости из практически любых источников.
Читать дальше

JQuery :: Edit in Place

Время на прочтение11 мин
Охват и читатели7.6K
Не сочтите этот материал за профессиональное изложение. Это не так. Я просто хотел поделиться своим опытом с людьми, которые смогут его применять в своих проектах и делать Интернет проекты более удобными для использования.

Начнем:
Делали механизм для роликов с разработчиками. Суть простая: загружено множество роликов, а потом они проигрываются в плеере. Сами ролики на сервере представляют собой музыкальые файлы и записи в БД. Записи имеют свои св-ва.
Ниже речь пойдет только о двух: позиция ролика в общей очереди и название.
Чтобы редактировать позицию ролика не очень-то хотелось переходить на специальную страницу, где можно было бы отредактировать это св-во. Роликов было около 150 :) Представляете какую рутиную операцию приходилось бы делать.
Как раз на днях просматривал JQuery. Вообще до того момента я больше склонялся к mootools, но после более глубокого общениея с первым из этого списка решил, что остановлюсь на этом фреимфорке.

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

Как показать в виде страниц результат большой выборки

Время на прочтение1 мин
Охват и читатели681
Когда результатов выборки много обычно невозможно отобразить их все в виде страниц — показывают несколько первых и последних, а в середину «прыгнуть» или невозможно или для этого нужно вручную набивать номер нужной страницы.
Для решения этой проблемы придумал алгоритм логарифмической шкалы страниц (в примере используется 20 миллиардов условных результатов разбитых на 1 миллиард страниц):

online пример

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

P.S. К сожалению, алгоритм при создании не был документирован (писалось по наитию), поэтому по каким математическим принципам он работает я и сам уже плохо представляю :)

Города России в именительном, предложном (местном) и родительном падеже.

Время на прочтение1 мин
Охват и читатели8.9K
Приняв во внимание все замечания из предыдущего поста с базой городов, мы обновили ее и добавили еще родительный падеж. Теперь база отвечает на вопрос «Откуда?». Например: Вася из Ярославля.

Скачать:
  1. CSV
  2. MySQL

Автоматическая обработка: Jetfish
Вычитка и ручная корректировка Sofrus

Как и в прошлый раз, при желании, выражайте респект и уважуху им, а не мне. Я просто их прикрываю.

Гармония ECMAscript

Время на прочтение1 мин
Охват и читатели622
Создатель языка JavaScript Брендан Эйч опубликовал в рассылке интересное письмо о будущем спецификации ECMAScript-262 после встречи в Осло. В обсуждении учавствовали представители Adobe, Google & MicroSoft, которые имеют собственные реализации этого стандарта (JavaScript, ActionScript, Rhino, JScript.NET).

Разработчики решили сконцентрироваться на версии 3.1 и отказаться от ряда возможностей, которые изначально предполагалось добавить в ES4: packages, namespaces & early binding. Под вопрос теперь так же поставлены классы, которые можно упростить до lambda-coding + Object.freeze.

ES 4 is dead, long live ES 3.1! AS 3 теперь сам себе хозяин.

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

Лог комита: зачем он нужен на самом деле?

Время на прочтение4 мин
Охват и читатели5.4K
Разработчики уже давно привыкли пользоваться системами контроля версий. Для кого-то это является естественным переходом, кто-то воспринимает сначала систему контроля версий как некоторое дополнительное усложнение своей работы, но работа над проектом в команде невозможна без этого инструмента.

Очень часто переход от мышления «я сохранил файл — код зафиксирован» к мышлению «я сделал комит — код зафиксирован» натыкается на то, что процесс комита требует написания лога комита. Первое решение — оставить лог пустым или написать что-то из:

  • «фикс бага»;
  • «закомитил всё, что сделал»;
  • «тестовый комит»;
  • «исправил опечатку»;
  • и т.п.

Почему это плохо?

37 Signals снова в эфире

Время на прочтение1 мин
Охват и читатели770
Сегодня, 13 августа в 20.00 GMT+3 37 Signals ответят на вопросы зрителей. Они учли ошибки прошлого эфира и убрали чат.

Изменилась система общения, 37 Signals по прежнему на ваших экранах, но чат убрали, так как решили что это не удобно и очень много спамеров мешают.

Включайте ваши экраны сегодня, 13 августа в 20.00 по Московскому времени
Более подробно на блоге 37signals

Генерация отчетов. Crystal Reports или Веб-технологии?

Время на прочтение2 мин
Охват и читатели11K
Одной из основных функций современных бизнес-приложения является генерация отчетов. Какой способ их генерации лучше избрать?

Беглый анализ с неясным результатом

Динамический css

Время на прочтение2 мин
Охват и читатели3.6K
Browsers-small
При подгонке сайтов до единого вида во всех браузерах, верстальщик использует не один css хак.
Но зачем обычному пользователю с IE получать избыток кода для других браузеров firefox, opera, safari?!
Это проблема легко решается с помощью динамического css.
Читать дальше

Видео с первой международной конференции PM Days — для менеджеров WEB-проектов

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

Вопрос по авторским правам

Время на прочтение1 мин
Охват и читатели5K
Добрый день, уважаемые.

Нами был сделан сайт, который в дальнейшем был передан на поддержку другой веб-студии (назовем ее «ХХХ»). Студия «ХХХ», оставив разработанный нами дизайн, изменила верстку и прикрутила свою CMS.

Соответственно ссылку на нас, как разработчика, изменили на фразу «Разработка сайта — студия „ХХХ“.

На мою просьбу указать по крайней мере, что разработка дизайна осуществлена нами, студия „ХХХ“ ответила, что (цитирую) „Вы не являетесь разработчиком программного кода на котором работает сайт!“

Интересует:
1) входит ли создание дизайна в разработку сайта?
2) правомерно ли указание только студии „ХХХ“ в качестве разработчика?

nginx, memcached и SSI

Время на прочтение3 мин
Охват и читатели19K
Моя первая статья, не судите строго...

Приветствую вас, уважаемые хабрадевелоперы!

Многие из вас знают о прекрасном легковесном веб-сервере nginx.
Некоторые также знают, что он умеет работать с memcached.
Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.

Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
Читать дальше →

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