Обновить
466.63

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

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

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

Как сделать Интернет одним из основных Каналов Продаж?

Время на прочтение5 мин
Охват и читатели2.5K
Это моя первая статья на хабре, если я её разместил не в тот блог, извините, более подходящего я не нашёл.

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

Тем кто считает, что в его компании Интернет как “канал продаж” используется на все 100%, читать эту статью необязательно.

На сегодняшний день, основная проблема коммерческих организаций в использование Интернета для бизнеса – низкий приоритет важности этого направления внутри компаний. Отсюда не понимание в чем эффективность, как её оценивать, что нужно делать. Следствием этого не продуктивная работа с сайтом, с заявками, запросами и обращениями посетителей с сайта компании.

Почему так происходит?
Читать дальше →

Новый взгляд на навигацию по коду

Время на прочтение1 мин
Охват и читатели1.1K
Одна из лабораторий Microsoft Research представила свою разработку под названием Code Canvas. Предназначение Code Canvas — это отработка новых решений при навигации по коду. Code Canvas предлагает пространственную навигацию с глубоким зумом.

Реализация С#, Javascript: функция форматирования для удобной локализации строк

Время на прочтение12 мин
Охват и читатели1.6K
Хабраюзер afan в своём топике Идея: функция форматирования для удобной локализации строк предложил интересную концепцию. Какой собственно я решил воспользоваться в своём движке.

И так,
реализация на C# через IFormatProvider и JavaScript через функцию String.wformat.

Шпаргалки

Время на прочтение1 мин
Охват и читатели2K
Недавно я делал обзор электронной книги Orsio b731. Внимательные читатели узрели на фотографиях папку шпаргалок и попросили поделиться. Что ж, держите! ;)

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

10 Полезных Горячих Клавиш для NetBeans 6

Время на прочтение2 мин
Охват и читатели27K
Прочитав топик mikeborozdin вспомнил что сам не давно перешел с Zend Sudio for Eclipse на NetBeans. Дело в том что я долгое время использовал Эклипс для php/python проектов и настолько привык к ней что посмотреть что за зверь NB, по совету коллеги, долго не решался. Когда же все таки скачал и установил NB был удивлен практичностью и удобством последней. Примерно в тоже время в интернете я нашел статью о полезных горячих клавишах для NB, перевод которой под катом. Буду рад если она сэкономит вам время при работе.

1. Move/copy up/down Выделенный текст можно перемещать вверх или вниз при помощи комбинации
Ctrl-Shift-↑↓. Если вместо Ctrl удерживать Alt — выделенный текс скопируется.

image

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

«Подарки» в соцсетях — новые идеи

Время на прочтение3 мин
Охват и читатели6.4K
Многие социальные сети предлагают пользователям такую платную услугу как «подарки». Обычно это символические знаки внимания, представленные в виде картинок, которые можно подарить другому пользователю, оплатив подарок sms-кой. Типичная стоимость подарков лежит в диапазоне от доллара до $7 за штучку.



Мы задумались: а что можно изобрести нового, необычного, интересного в этой области? И посвятили теме подарков недавнюю встречу клуба Brain Exchange. Участники встречи генерили новые мысли в формате мозгового штурма, поэтому часть идей может показаться странными или не подходящими — но наверняка их можно развить во что-то полезное. Мы делимся этими идеями со всеми желающими.
Итак, что мы придумали ...

Как делать нельзя: проверка формы на сайте и блокирование кнопок

Время на прочтение3 мин
Охват и читатели5.3K
Есть вещи, которые нельзя делать, если вы не хотите потерять значительную часть посетителей. Даже если подобное вы видели на всяких крутых сайтах.

Например, нельзя блокировать кнопку (делать ее disabled), чтобы предотвратить отправку неправильно заполненной формы. Даже если вы совсем недавно научились отключать кнопочки. Даже если так делает ваш кумир. Это — порочная практика, подлежащая искоренению. И вот почему.
Читать дальше →

Идея: функция форматирования для удобной локализации строк

Время на прочтение2 мин
Охват и читатели1.5K
Проблема: при переводе приложений на другие языки (чаще мы сталкиваемся с русификацией англоязычных продуктов) чаще всего страдает поддержка множественных форм чисел. Например, «1 заметка, 2 заметки, 5 заметки» или якобы универсальное «1 file(s)» и т.д. Дело в том, что во всех языках программирования обычно дело не идет дальше варианта sprintf() или какого-то шаблонизатора, а поддержку множественных форм надо каждый раз программировать ручками: если N = 1, то «1 заметка», иначе «N заметок». А делать это каждый раз лениво. Эту задачу частично решает фреймворк gettext, где есть понятие нескольких вариантов локализованной строки, но это не сильно облегчает жизнь, ибо в одной строке, показываемой пользователю, может быть несколько частей, зависящих от чисел («Найдено 23 файла в 3 папках»), а значит куски строк надо потом все равно склеивать между собой.

Поэтому мне пришла следующая идея: почему бы не придумать какой-то общий формат, микроязык (по аналогии с вполне устоявшимся форматом функции format() или sprintf()), чтобы адресовать эту проблему и упростить в дальнейшем написание локализуемого кода.

Как известно, в разных языках разное количество множественных форм числа. В английском их два («1 file», «many files»). В русском — три («1 файл», «2 файла», «много файлов»). В арабском их вообще, как говорит нам Pootle, аж 6 штук. Поэтому нам нужно иметь возможность задавать прямо в строке набор из нескольких подстрок и параметр, от которого зависит выбор этих подстрок.

Предлагаемый формат подстроки с множественными вариантами:
{%COUNTER%|FORM0|FORM1|FORM2[|FORM3][|FORM4][|...]}

где
%COUNTER% — это некое имя переменной, которое может иметь значения [0,1,2,3,...]
FORM0 — это версия строки для значения COUNTER = 0 (это особый случай, обычно требующий отдельного сообщения)
FORM1, FORM2 и т.д. — это альтернативные варианты текста для каждой множественной формы данного языка; для английского это будет два варианта, для русского — три и т.д.

Пример на английском языке:
{%F%|No files|1 file|%F% files} found in {%D%|0 folders|1 folder|%D% folders}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => No files found in 1 folder.
%F% = 1, %D% = 2 => 1 file found in 2 folders.

Тот же пример строки, переведенной на русский:
{%F%|Не найдено файлов|1 файл найден|%F% файла найдено|%F% файлов найдено} в {%D%|0 папках|1 папке|%D% папках|%D% папках}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => Не найдено файлов в 1 папке.
%F% = 1, %D% = 2 => 1 файл найден в 2 папках.

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

Было бы здорово иметь реализацию подобного микроязыка на разных языках программирования.

Надеюсь, кому-нибудь идея пригодится.

UPD: Результат не заставил себя долго ждать: в данном топике хабраюзер webdew делится реализацией функции на C#, за что ему большое спасибо.

InfoTerminal for DokuWiki

Время на прочтение2 мин
Охват и читатели5.6K
InfoTerminal for DokuWiki – альтернативный интерфейс для популярной и лёгкой вики. В сочетании с DokuWiki это можно назвать системой управления информационным терминалом.

Лого
Смотреть (Лучше в Opera в полноэкранном режиме)
! Вики плохо наполнена — лучше начать с index » wiki » dokuwiki
Читать дальше →

Плагин загрузки картинок для TinyMCE

Время на прочтение1 мин
Охват и читатели9.6K
Несколько дней назад я писал о выходе новой версии своего плагина для TinyMCE, многие уже успели его потестировать, за что им огромное спасибо, все критические баги были исправлены.
Читать дальше →

Expression Web SuperPreview

Время на прочтение1 мин
Охват и читатели2.3K
Новая программа от Microsoft позволит упростить кроссбраузерную web-разработку.

image


Источник новости утверждает, что эта информация была под NDA, но уже нарушена самими разработчиками. Официальный анонс наверняка последует на MIX09.

Скачать программу уже можно.

UPD: по ссылке — превью-версия для сравнения только разных версий IE. Превью-версия бесплатна. Представленная картинка отражает интерфейс расширения для Expression Web 3, выход которого только ожидается. Expression Web 3 — это платное средство разработки.

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

Определение города и региона России по IP

Время на прочтение2 мин
Охват и читатели7.9K
И так, 13 Марта, 2009 16:07 появилась следующая новость на данном ресурсе "Долгожданный XML-сервис!!!".

Это событие необычайно меня обрадовало, ещё бы такой сервис на таком ресурсе и сразу ручки шаловливые зачесались!

Буквально через 10 минут был готов простейший код запроса ip, в ходе обсуждений он получился следующим (сделано на curl):

  function getip($GetRIP)
  {
    $data = "<ipquery><fields><all/></fields><ip-list><ip>".$GetRIP."</ip></ip-list></ipquery>";
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, "http://194.85.91.253:8090/geo/geo.html");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    
    $xml = curl_exec($ch);
    curl_close($ch);
    
    //echo $xml;
    
    $messge="!<message>(.*?)</message>!si";
    
    preg_match($messge, $xml, $main_ar["message"]);
    
    if($main_ar["message"][1]!="Not found")
    {
      $district="!<district>(.*?)</district>!si";
      $region="!<region>(.*?)</region>!si";
      $town="!<city>(.*?)</city>!si";
      
      preg_match($district, $xml, $main_ar["district"]);
      preg_match($region, $xml, $main_ar["region"]);
      preg_match($town, $xml, $main_ar["city"]);
      
      $ArMain=array("FIND"=>1,"DISTRICT"=>$main_ar["district"][1], "REGION"=>$main_ar["region"][1],"TOWN"=>$main_ar["city"][1]);
      return $ArMain;    
    }
    else return array("FIND"=>0);    
  }


* This source code was highlighted with Source Code Highlighter.


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

Масштабируемая картинка на фоне сайта

Время на прочтение4 мин
Охват и читатели20K
Задача:
Дизайнер нарисовал макет страницы, на заднем фоне которой была картинка. Я сначала было решил, что это фон который увеличивается по ширине в зависимости о разрешения монитора.
Но не тут то было. Дизайнер настаивал на то, что это масштабируемая картинка, которая сужается / растягивается при изменение окна приложения и по ширине и по высоте.
Заранее предупредив заказчика – что картинка будет грузиться 1 и в максимальном разрешении – его определили как 1600, приступил к работе.
Смотрим что получилось ...

О рыбных текстах: неожиданности, которые таит «рыба»

Время на прочтение4 мин
Охват и читатели14K
Артемий Лебедев, известный дизайнер, когда-то писал про рыбные тексты. С тех пор в среде дизайнеров укоренилось мнение, что все рыбные тексты всегда должны выглядеть естественно и привлекательно.
Читать дальше →

Разговорный Словарик Web-разработчика

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

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

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

Ниже собственно сам словарик. По мере поступления мыслей в мою голову и комментариев в этот топик всё будет дополняться и редактироваться… спасибо
Читать дальше →

Призовой фонд соревнования Sapka

Время на прочтение2 мин
Охват и читатели580
Стандартная практика награждения победителей соревнования выделяет три призовых места. Наверное, это тянется еще с тех времен, когда многие умели считать как «раз, два, три, много». Самое значимое место было первым. Потому-что счет всегда начинался с единицы.

Но, у программистов все не так. У них все начинается с нуля и в счете они часто ограничены разрядной сеткой.

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

Анонсирован рейтинг «TOP-100 ведущих студий Рунета 2009»

Время на прочтение1 мин
Охват и читатели614
image Дан старт очередному рейтингу от группы Тэглайн — «TOP-100 ведущих веб-студий Рунета 2009».

Руководителем проекта в этом году объявлен Алексей Раменский (РОЦИТ). Организаторами обещаны существенные изменения в методике проведения проекта, и некая новая «общая формула». Например, будут учитываться такие интересные факторы:
  • Распределение студий по работе с официальными сайтами крупнейших российских компаний (по индексам капитализации ММВБ и РТС)
  • Распределение студий по работе с официальными сайтами (российских представительств) крупнейших мировых брендов (по версии Interbrand)
  • Результаты участия студий в конкурсах и фестивалях

Регистрация студий в проекте начнется с 16 марта.

CodeCamp 2009 (Киев), 28-29 марта

Время на прочтение2 мин
Охват и читатели843
С радостью сообщаю, что 28-29 марта в Киеве будет проходить CodeCamp. Мероприятие бесплатно, вход свободный

image

CodeСamp 2009 — двухдневная всеукраинская конференция на тему современных технологий разработки программного обеспечения и информационной безопасности. Событие будет объединять как традиционный формат конференции, так и “неконференции”. Это значит, что часть докладов будет свободной для выступлений участников (по предварительной регистрации). Таким образом, гости конференции смогут услышать как признанных экспертов, так и специалистов в конкретных областях, что максимально охватит темы.

А что там будет?

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