Pull to refresh
27
0
Василий @Elected

User

Send message

О том, как можно проверять значения, введёные пользователем

Reading time3 min
Views13K
В любых программных продуктах, будь то windows-приложение или web-сайт, получение информации от пользователей зачастую осуществляется с помощью форм ввода данных.

Конечно же, нельзя быть абсолютно уверенным, что пользователь введёт именно то, что нужно, поэтому все данные необходимо тщательно проверить.

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

На практике это выливается с довольно длинные последовательности «if-else». Лично мне это жутко не нравилось, так как сложно с первого взгляда определить, какие поля как проверяются и какие сообщения выдаются в случае ошибок. А ведь полей в форме может быть и десять, тогда код проверки вообще затягивается. Вобщем, я задумался над тем, как можно минимизировать объём работ и вот что из этого получилось.
Читать дальше →

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

Reading time3 min
Views13K
В этой статье я рассмотрю метод создания блоков с одноцветным полупрозрачным фоном.
Например, таких:


Сразу оговорюсь, что я не буду использовать opacity и абсолютное позиционирование, чтобы разместить контент поверх полупрозрачного блока.
Читать дальше →

Обзор Jabber клиентов под Windows

Reading time4 min
Views179K
При переводе друзей и знакомых с icq на jabber столкнулся с проблемой: на какой клиент перевести пользователя? В процессе перехода выясняется, что клиентов достаточно много, а пользователей по большому счёту интересует внешний вид клиента. Под катом краткий обзор jabber клиентов под Windows.
далее

StaticAPI Яндекс.Карт

Reading time1 min
Views4.1K

Три месяца назад мы анонсировали сервис API Яндекс.Карт, который представляет собой инструментарий, позволяющий встраивать карты Яндекса на ваш сайт. Число сайтов, использующих Яндекс.Карты, постоянно растет. Но оставались задачи, которые требовали других решений.

Сегодня мы представляем вам новую технологию — StaticAPI. Она позволит показать на вашем сайте карту в виде обычной картинки, без использования JavaScript.

Это значит, что теперь вы можете использовать Яндекс.Карты в том числе и на сайтах для мобильных устройств. С помощью StaticAPI можно получать фрагменты карты для иллюстрации любых текстов, в том числе новостей, описаний маршрутов и схем проезда. Кроме того, использование этой технологии позволит сделать на вашем сайте удобную и красивую версию для печати.

Испытать возможности StaticAPI вы можете самостоятельно и прямо сейчас. Владелец любого сайта, например сайта на "Яндекс.Народе", может воспользоваться инструментом "Установка точек и линий на карте" и быстро оформить и опубликовать карту.

Подробности об этой технологии можно прочитать в разделе Документация промо-сайта API Яндекс.Карт.
Ответы на любые вопросы, которые у вас возникнут, вы можете получить в Клубе API Яндекс.Карт 

Расширения для Firebug

Reading time2 min
Views4.1K
Последнее время появляется все больше и больше различных дополнений для Firebug'a. Решил сделать краткое описание для этих плагинов.
Здесь были описаны только 4 плагина.
Постараюсь описать все известные плагины для Firebug'a
Статья на украинском языке
Читать дальше →

Firebug: Part 1 — console

Reading time2 min
Views7.9K
Данной статей я хочу начать серию, посвященную всеми любимому Add-on к Firefox под названием Firebug.

Весь цикл: Console, Commands, Debugging ,Profiling

Я постараюсь раскрыть известные и не очень его возможности, которые могут пригодиться любому Web-разработчику(а могут и не пригодиться, но это врядли).

Если у вас его еще нету, то можно скачать со страницы http://getfirebug.com.

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

FireScope новый девелоперский плагин для Firefox

Reading time1 min
Views712
image
Итак, SitePoint выпустили новый плагин, а точнее надстройку для Firebug.
Плагин предоставляет более продвинутый референс для каждого html элемента. Показывает уровень поддержки того или другого элемента в определенном браузере, также известные баги.
Читать дальше →

ajax загрузка нескольких файлов с php формой

Reading time2 min
Views36K
Как-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
подробнее

Разметка облака тегов

Reading time2 min
Views2.7K
Сегодня в очередной раз мне посчастливилось столкнуться с версткой облака тегов. Такого, знаете, стандартного, без излишеств и дизайнерских наворотов. Обычно конструкция данного блока становилась в итоге похожей на:

<ul class="tags">
    <li class="w1"><a href="#">amv</a></li>
    <li class="w2"><a href="#">anime</a></li>
    <li class="w3"><a href="#">music</a></li>
    <li class="w4"><a href="#">tnt</a></li>
    <li class="w5"><a href="#">авария</a></li>
</ul>

Классы w1, w2, w3 и т.д. расставляются по мере увеличения весомости тега и, следовательно, увеличивают размеры шрифта.

Для наглядности покажу, как это выглядит в браузере:

image
Сегодня же я изменил этот блок...

Тривиальные задачи по вёрстке

Reading time4 min
Views60K
image

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

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

Наблюдаем за пользователем

Reading time1 min
Views1.2K
image Сервис userfly даёт возможность визуально посмотреть, что и как делал пользователь на вашей странице.
Пока все это в разработке и видимо еще много чего нужно сделать, но основу уже можно попробывать

После регистрации userfly генерирует небольшой Яваскрипт, который нужно вставить в header страниц. После этого все передвижения пользователей будут записыватся, а вы вскоре сможете посмотреть, как небольшой видеоролик, что-же делают посетители на вашей странице, что ищут, какие функции используют чаще и т.д.
Читать дальше →

Проверка орфографии с помощью Google

Reading time2 min
Views15K
Иногда в проекте требуется проверить данные на предмет орфографических ошибок, не полагаясь на познания пользователя по части языков. Тут нам сможет помочь компания Google, с таким их сервисом, как проверка орфографии, используемым в Google Toolbar. Но, к сожалению, Google не предоставляет открытого API для работы с ним.

Итак, краткое описание:
Для того, чтобы проверить текст нам нужно отослать его в POST на https://google.com/tbproxy/spell?lang=ru, где для смены языка следует заменить значение параметра lang на соответствующий по ISO 3166-1 alpha-2. Текст оформляется в XML вида:
<?xml version="1.0" encoding="UTF-8" ?><br/>
<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><br/>
 <text>Текст для проверки</text><br/>
</spellrequest>
ignoredups — подсветка повторов
ignoredigits — считать цифры ошибками
ignoreallcaps — не проверять слова написанные капсом (подсказал pointum)

Если всё успешно, мы получаем ответ вида
<?xml version="1.0" encoding="UTF-8"?><br><spellresult error="0" clipped="0" charschecked="272"><br> <c o="27" l="13" s="0"></c><br> <c o="73" l="11" s="1">орфографии и орфографии</c><br> <c o="190" l="11" s="1">пользоваться</c><br> <c o="226" l="13" s="0">пред оставляет пред-оставляет</c><br></spellresult>
Атрибуты тега spellresult:
error — произошла ли ошибка
charschecked — количество проверенных символов

В нем идет перечисление допущенных ошибок (теги c), их параметры:
o — начало исходного слова в тексте
l — длина этого слова
s — точность результата

В самом теге c содержатся предполагаемые варианты написания слов, разделенные символом \t.

P.S. Когда этот текст уже был написан, случайно наткнулся на статью в блоге Paul Welter, которая, в принципе, описывает тоже самое…


UPD: Пользователь wayly написал на PHP класс для проверки текста с помощью этого сервиса, скачать можно по ссылке proxysoft.ru/files/spellchecker.zip (зеркало).

UPD2: mezhevikin подсказал ajax-решение с использованием этого сервиса — orangoo.com/labs/?page_id=3

UPD3: Список поддерживаемых языков

_________
Текст подготовлен в ХабраРедакторе
Код подсвечен в Source Code Highlighter

WordPress. Уникальная главная страница или что нам делать с home?

Reading time1 min
Views5.7K
Небольшой мануал, рассчитанный на начальный уровень работы с WordPress
Мало кто использует в своих темах файл home.php и зря. Этот файл даёт нам право сконструировать главную страницу отличной по внешнему виду от остальных, например, вывести по несколько записей из каждой существующей категории в том виде, в котором нам нужно.
Читать дальше →

Favicon для любого сайта в PNG

Reading time1 min
Views8.2K
Уже в нескольких проектах была необходимость показывать иконки для различных доменов (например, рядом с какой-нибудь ссылкой). Для этого был написан на PHP механизм, добывающий по требованию иконку со страницы по некоторому набору правил (так же, как её добывают браузеры), конвертирующий картинку в png и сохраняющий в специальном месте. Периодически эти иконки обновлялись.

После того, как я в третий раз скопировал этот механизм в очередной проект, я решил создать для себя (и других) сервис, который отдавал бы по запросу иконку в формате png для любого домена. Но ему не суждено было родиться, потому что я случайно наткнулся на аналогичную функциональность, реализованную гуглом. Достаточно набрать адрес www.google.com/s2/favicons?domain=habrahabr.ru и получишь сконверченую в PNG иконку этого домена. Решил, что многим это будет полезно — используйте :)

UPD: нашлись баги. конвертер не умеет работать с прозрачным фоном, а также грузит только те иконки, которые лежат в /favicon.ico, игнорируя мета-теги :( Так что мой сервис, видимо, появится :)

Посоветуйте простую и удобную CMS для малых сайтов

Reading time1 min
Views43K
До нынешнего дня ставили все сайты клиентов на Битрикс. Сама система платная и для нормальной работы требует достаточно дорогого хостинга, но клиентов это особенно не смущало.

Сейчас, в связи с ухудшением финансового положения потенциальных заказчиков, решили также предлагать «низкобюджетные» варианты для малых сайтов (10-20 страниц). Разумеется встал вопрос выбора бесплатной CMS, не перегруженной лишним функционалом, простой и удобной. Что посоветуете?
Читать дальше →

Безразмерная разметка с помощью relative (без float)

Reading time2 min
Views4.1K
Навеянно этой темой.
Пример, как это работает.

1. Введение


Представим, мы имеем класс relative, внутри которого имеется текст, и не задаём ему width:
#bar{
position:relative;
border:5px solid #00FFFF;
padding:10px;
height:200px;
}
мы получим резиновый блок:
<div id="bar">
text
</div>


При этом, блок обладает неизменными padding+border и резиновым width, таким, что width_px+padding_px+border_px = 100%.
Для absolute блоков, такой трюк не прокатывает.
Читать дальше →

Анонс и история Explay CMS 3 (Core)

Reading time4 min
Views1.3K
Explay

Немного истории



Где-то в конце августа — начале сентября, постепенно понимая парадигмы объектно-ориентированного программирования и приходя в ужас от своего старого кода, я решил забыть Explay 2.1 как страшный сон и взялся писать все с чистого листа. Да, это, вероятно, было не самым лучшим шагом в сторону пользователей Эксплея, но вы уж извините мою глупую натуру.
Читать дальше →

Набор… кода. Новый вид заработка.

Reading time2 min
Views1.7K
Здравствуйте, господа!

Премилейший диалог состоялся с незнакомым фрилансером, с которым свёл друг.

Моей целью разговора было мокнуться во фриланс, узнать что же это за зверь такой и попробовать по-работать из-дому в сотрудничестве с вышеупомянутым человеком. А то всё по студиям, да по студиям. Да и, чего уж там, безработный я с первого числа. Ушёл в поисках лучшей зарплаты.

Мы представились, поговорили немного о своём предыдущем опыте. Парень моего примерно возраста, по его словам фрилансер со стажем. Фигурирует даже на одном зарубежном сайте в колонке «Top Rated» с тремя с лишним сотнями положительных отзывов. Я же сообщил, что 5 лет программирую на php, тоже опыт кой-какой имеется, работы показал. Т.е. люди, вроде как, неглупые совсем встретились.

Насторожили уже молчаливо предложенная им ссылка регистрации на фриланс-сайте с его ником на конце и способность сайтописания со скоростью «несколько дней/сайт».

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

jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()

Reading time2 min
Views39K
image
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.

Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
Читать дальше →

Information

Rating
Does not participate
Location
Ивантеевка (Московская обл.), Москва и Московская обл., Россия
Date of birth
Registered
Activity