Pull to refresh

Web 2.0 validator

Lumber room
Идём сюда 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% валидный — это космическая станция — кто-нить видел такие?
Total votes 9: ↑6 and ↓3 +3
Views 377
Comments 5

W3C Markup Validator: версия 0.8.0

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

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

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

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

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

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

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

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

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

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

Читаем дальше
Total votes 7: ↑7 and ↓0 +7
Views 8K
Comments 12

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

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

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

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

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

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

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

Programming *Development for iOS *Objective C *

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


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

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

Один из способов решения этой проблемы - под катом
Total votes 18: ↑13 and ↓5 +8
Views 9.8K
Comments 6

Laravel Timestamp Validator

PHP *Laravel *
Sandbox
image

Laravel 5.1, Laravel 5.2, Lara… Код прогрессирует, оптимизируется и развивается. В новой (5.2) версии появился валидатор массивов, например, но что делать, если необходимо провалидировать входящий timestamp? Правильно, писать костыль своё решение.
Посмотреть на решение
Total votes 12: ↑10 and ↓2 +8
Views 9.8K
Comments 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','_']);
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Views 10K
Comments 14

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

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

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

Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 8.1K
Comments 23

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

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

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

Проблема


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

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

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


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

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

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


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

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

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

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

Respect Validation на Python

Python *

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

Читать далее
Total votes 19: ↑19 and ↓0 +19
Views 3.8K
Comments 12