Как стать автором
Обновить

Web 2.0 validator

Чулан
Идём сюда web2.0validator.com (Goggle вроде тоже)
Вводим, например «www.habrahabr.ru»
Далеко от идеала — но лучше чем у меня)
Больше всего интересует
«Mentions The Long Tail ?» — совсем не понял(
«Uses Semantic Markup?» — нафига?
«Mentions 30 Second Rule and Web 2.0 ?» — это вообще причём?
«Attempts to be XHTML Strict ?» и «Validates as XHTML 1.1? No» в чём различие?
А так довольно интересный сервис, только не понятно зачем это гуглу…
Представил сайт 100% валидный — это космическая станция — кто-нить видел такие?
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 377
Комментарии 5

W3C Markup Validator: версия 0.8.0

IT-стандарты *
Несколько минут назад обновился всем известный W3C Markup Validator. Теперь его версия стала 0.8.0.

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

Полный список изменений без перевода на русский доступен под катом.
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 13K
Комментарии 24

Мелочи жизни — валидный код для Спайлога.

Разработка веб-сайтов *
Может я, конечно, «Америку открываю», но авось кому пригодиться… При «полировке» сайта обнаружил, что Спайлоговский счетчик не проходит валидацию на validator.w3.org. В принципе, все и так работало, но, как говориться, мелочь, а неприятно… :)
Читать дальше →
Рейтинг 0
Просмотры 539
Комментарии 0

О стартапах, валидации и искусстве (т.е. арт)

Разработка веб-сайтов *
Короткий пост будет. Одна ссылка, на W3C Validator. И один комментарий/вопрос: нахера заявлять соответствие DOCTYPE если в первом же (в третьем, если быть честным-точным) делать два самых позорных, с точки зрения XHTML ляпа? Или г-н Лебедев на поводу у моды пошел?
Всего голосов 22: ↑4 и ↓18 -14
Просмотры 1.2K
Комментарии 23

Загрузка и переименование файлов

Zend Framework *
Статья написана для тех, кто уже хоть немного знаком с архитектурой Zend Framework. Если кому-нибудь будет интересно — опишу работу с формами более подробно в отдельной статье.

Для загрузки файлов на сервер с помощью форм в Zend Framework Form есть элемент Zend_Form_Element_File. У него есть фильтр «Rename», который позволяет переименовать закачаный файл. Но есть минус — мы не можем просто указать новое имя для файла, чтобы сохранилось его расширение. Как это сделать? А как быть, если мы используем setMultiFile?

Читаем дальше
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 8K
Комментарии 12

Точная проверка Email адреса регулярным выражением

Чулан
Как все знают, один из самых удобных способов проверки e-mail адреса является регулярные выражения. Недавно пришлось столкнулся с проблемой максимально точной проверки адресов. Данная проверка была необходима в системе автоматической рассылки спама опросников, где каждый список адресов подгружался автоматически одним большим файлом. Требовалось исключить максимальное количество заведомо невалидных адресов.
Проблема заключалась в том, что все шаблоны проверки е-мэйла, которые можно встретить в интернете, МСДН и других источниках не удовлетворяли требованиям проверки. Обратившись к первоисточникам в виде RFC 2821 и RFC 2821, я выяснил как же точно и правильно валидирвоть адреса.
Читать дальше →
Всего голосов 47: ↑35 и ↓12 +23
Просмотры 1.5K
Комментарии 57

JBFD: декомпилятор из Brainfuck в Java

Java *
Кто-то когда-то сказал: «Возьмите несколько произвольных латинских букв, допишите перед ними J, и вы получите очередную Java-технологию». В этой статье речь пойдет о технологии JBFD, что означает Java BrainFuck Decompiler. Технология еще достаточно молодая (от силы 3 часа), так что не судите строго.

Идея создания декомпилятора возникла не случайно. Всему виной большое количество статей по BrainFuck в Интернете вообще и на Хабре в частности. Интерпретаторов этого замечательного языка существует огромное множество, но вот средств для отладки BF кода мне удалось найти крайне мало.

А что если преобразовать код с BF на свой «родной» язык и воспользоваться всеми преимуществами своей любимой IDE для обнаружения трудноуловимых ошибок, покрытия кода тестами, оптимизации и т.д.? Все это и много другое становится возможным с JBFD.
Читаем, скачиваем, пользуемся...
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 3.4K
Комментарии 10

Простой JSON Schema валидатор для Objective-C

Программирование *Разработка под iOS *Objective C *

Или сказ о том, как разработка JSON валидатора превратилась в очередной JSON binding


Пока нормальные разработчики пишут приложения я изобретаю велосипеды.

Наверное многие разработчики сталкивались с ситуацией, когда мобильное приложение разрабатывается параллельно с бэкэндом. При этом частенько структуры данных, приходящие в ответ на запрос с сервера, могут меняться. Например, на стороне бэкэнда решат поменять именование одного из ключиков JSON-а, забыв предупредить о этом мобильную команду. Я уже не говорю про ситуации, когда CamelCase нотацию «внезапно» решили поменять на underscore или наоборот. Вы можете сказать, что налицо плохая организация процесса и недостаток общения команд, и будете абсолютно правы. Но когда приложение на смартфоне заказчика перестает работать на демо все взгляды устремляются на мобильщиков.

Один из способов решения этой проблемы - под катом
Всего голосов 18: ↑13 и ↓5 +8
Просмотры 9.8K
Комментарии 6

Laravel Timestamp Validator

PHP *Laravel *
Из песочницы
image

Laravel 5.1, Laravel 5.2, Lara… Код прогрессирует, оптимизируется и развивается. В новой (5.2) версии появился валидатор массивов, например, но что делать, если необходимо провалидировать входящий timestamp? Правильно, писать костыль своё решение.
Посмотреть на решение
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 9.9K
Комментарии 16

Валидация строк с validate.it.js

Open source *JavaScript *

Если вспомнить все ТЗ с описаниями валидации полей — они всегда выглядили примерно так:


  • не должно быть короче 6 символов
  • не должно превышать 12 символов
  • должно включать только латинские символы, цифры и знак подчёркивания

Требования часто приходят набором простых однозначных фраз. А мы, программисты, переводим эти требования в код.


Можно превращать их в одно ультимативное регулярное выражение, вроде


const validateLogin = login => /^[a-zA-z_\d]{6,12}$/.test(login);

Но лучше писать более простые функций которые легче читать и связывать с непосредственным ТЗ:


const charMatch = new RegExp('^[a-zA-Z_0-9]*$');
const validateLogin = login => {
    if (login.length < 6) return false;
    if (login.length > 12) return false;
    if (!charMatch.test(login)) return false;
    return true;
};

А что если ещё сильнее упростить этот код до чего-то вроде:


const validateLogin = login => 
  validate(login)
    .notLessThan(6)
    .notLongerThan(12)
    .hasOnly(['a-z','A-Z','0-9','_']);
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Просмотры 10K
Комментарии 14

Google, Microsoft, Yahoo… обнародовали новый стандарт защиты Email

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

Придуманный инженерами из Google, Microsoft, yahoo, Comcast, Linkedin, 1&1 Mail & Media Development & Technology протокол «SMTP Strict Transport Security» — это новый механизм, который позволяет Email-провайдерам определять политики и правила для установления зашифрованных соединений.

Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Просмотры 8.1K
Комментарии 23

Validators + Aspects: кастомизируем валидацию

Программирование *Java *
Tutorial
Доброго времени суток, Хабр!

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

Проблема


Итак, суть приложения примерно такова: есть gateway — api, который принимает запрос, а в дальнейшем модифицирует и перенаправляет его соответствующему банку. Вот только запрос для каждого из банков отличался — как и параметры валидации. Поэтому валидировать изначальный запрос не представлялось возможным. Тут было два пути — использовать аннотации из javax.validation, либо писать свой отдельный слой валидации. В первом случае была загвоздка — по умолчанию объекты можно валидировать только в контроллере. Во втором случае так-же были минусы — это лишний слой, большое количество кода, да и в случае изменения моделей, пришлось бы менять и валидаторы.

Поэтому было принято решение найти способ дергать стандартные валидаторы там где это было необходимо, а не только в контроллере.

Дергаем валидаторы


Спустя пару часов копания в гугле были найдены пару решений, самое адекватное из которых было заавтовайрить javax.validation.Validator и вызвать у него метод validate, которому в качестве параметра нужно передать валидируемый объект.

Казалось бы, решение найдено, но автовайрить везде валидатор не казалось хорошей идеей, хотелось более элегантного решения.

Добавляем АОП


Недолго думая я решил попробовать адаптировать под это решение мною всеми любимые аспекты.

Логика была примерно следующей: создаём аннотацию, и вешаем её над методом который преобразует один объект в другой. Дальше в аспекте перехватываем все методы помеченные этой аннотацией и вызываем метод validate для возвращаемого ими значения. Профит.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 3.2K
Комментарии 0

Валидация полей iOS — быстро и просто

Разработка под iOS *Swift *
imageВалидация полей ввода — едва ли не самая распространенная задача в мобильных приложениях. Каждое приложение которое имеет форму авторизации и регистрации, также имеет некоторое количество средств ввода информации со стороны пользователя, которые порождают вполне ожидаемый садистско — изощренный ажиотаж тестировщиков. Продвинутая, технически-грамотная общность разработчиков научилась эффективно с ними с ним бороться путем встраивания регулярных выражений в исходный код.
Читать дальше →
Рейтинг 0
Просмотры 5.1K
Комментарии 5

Respect Validation на Python

Python *

Всем привет! Сегодня мы поговорим о валидации данных, а точнее о том как я перенёс библиотеку с PHP на Python. Библиотека настолько крутая (по мнению автора), что рекомендую вам с ней ознакомиться, особенно, если вы пишите API с библиотекой flask (ссылка на интеграцию в статье).

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 4K
Комментарии 12