Обновить
-1
0
NULL_byte@NULL_byte

Web

Отправить сообщение

20 Fantastic Latest jQuery Plugins

Время на прочтение3 мин
Охват и читатели7.2K
Этот пост содержит коллекцию великолепных предпоследних плагинов и обучающих пособий, которые смогут добавить искру креативности в ваш дизайн

Перевод этой статьи
детали ниже

Vanadium: семантическая валидация на клиенте

Время на прочтение1 мин
Охват и читатели1.4K
Логотип Vanadium

Vanadium — новый валидатор для клиента, который позволяет вам определять логику семантической валидации через атрибут класса (class). На главной странице проекта есть такие примеры, как:
<input class=":required" type="text" />
<input class=":integer" type="text" />
<input class=":length;4" type="text" />
<input class=":min_length;4" type="text" />
<input class=":format;/^(vanadium)+$/i" type="text" />
<input id="pass" class=":ajax;/username_checker/check.json" type="text" />
<input id="pass" class=":email" type="text" />
<input id="pass" class=":required" type="password" /><input class=":same_as;pass" type="password" />


* This source code was highlighted with Source Code Highlighter.


Примечание от переводчика: Также поддерживается декларация правил валидации посредством JSON-определений и проверка на сервере (AJAX). Требуется jQuery.

Азбука WEB-разработчика

Время на прочтение4 мин
Охват и читатели13K
Небольшой список, самых, на мой взгляд, полезных сайтов для любого WEB-разработчика, интересующегося сферой веб дизайна, верстки и программирования. Думаю каждый среди этого списка найдет для себя сайты, которые надолго войдут в его ленту RSS.

AA List Apart




A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
Читать дальше →

Perl и GUI. Работа с меню

Время на прочтение3 мин
Охват и читатели3.2K
Обзор виджетов Tk, я начну с рассмотрения главного меню c учетом особенностей различных ОС.

Для начала создадим заготовку для нашего приложения:

#!/usr/bin/perl -w
use strict;
use Tkx;

our $PROGNAME = 'app';
our $VERSION = '0.1';
<habracut>

my $windowingsystem = Tkx::tk_windowingsystem();
my $IS_AQUA = ($windowingsystem eq 'aqua');

# Учитывая, что имена некоторых кнопок могут различаться, 
# в OSX это Control, в Win/X11 это Ctrl, добавим еще несколько переменных
# (пригодится для хоткеев)
my $plat_acc_ctrl = ($^O eq 'darwin') ? ('Control-') : ('Ctrl+');
my $plat_evt_ctrl = ($^O eq 'darwin') ? ('Control-') : ('Control-');

# Главное окно.
my $mw = Tkx::widget->new('.');

Tkx::tk( appname => $PROGNAME );
Tkx::wm_minsize( $mw => qw(320 200) );

# новое меню прикрепляется с помощью параметра -menu
$mw->configure(
  -menu => make_menu( $mw ),
);


Tkx::MainLoop;
1;

sub on_quit {
  Tkx::tk___messageBox( -message => 'Goodbye ;]' );
  exit;
}

sub show_about {
  Tkx::tk___messageBox( -message => "$PROGNAME $VERSION" );
}

sub make_menu {
 my $mw = shift || return;

 # По умолчанию, все меню выглядит подобно в GIMP, их можно открепить
 # Поэтому, выключим данную опцию
 Tkx::option_add('*Menu.tearOff', 0)

 # ... продолжение ниже

  return $m; 
}


Все как обычно, File, Edit, Help. (меню каскадное). Новый объект создается с помощью метода new_menu(); (подобно контейнеру)

my $m = $mw->new_menu(); # Верхний уровень
my $fm = $m->new_menu(); # File
my $em = $m->new_menu(); # Edit

# А теперь, добавим наши пункты в верхний уровень
$m->add_cascade( -label => 'File', -menu => $fm, -underline => 0 );
$m->add_cascade( -label => 'Edit', -menu => $em, -underline => 0 );



Добавление осуществляется через add_cascade(), где
-label — это заголовок меню.
-menu — виджет
-underline — индекс буквы подчеркивания. Необходимо для быстрой навигации с помощью кнопки Alt+буква (нумерация идет с 0)

смотрим, что получилось.
image

Толку от пустого меню нету, поэтому «набьем» его командами

# Меню File
$fm->add_command(
  -label => 'Do something',
  -underline => 0,
  -command => sub { },
);

# разделитель
$fm->add_separator();

$fm->add_command(
  -label => 'Quit',
  -underline => 0,
  -accelerator => "${plat_acc_ctrl}Q",
  -command => [\&on_quit],
);

Tkx::bind( all => "<${plat_evt_ctrl}q>" => [\&on_quit] );

# Меню Edit
$em->add_command(
  -label => 'Cut',
  -underline => 2,
  -accelerator => "${plat_acc_ctrl}X",
  -command => sub { Tkx::event_generate(Tkx::focus(), '<
Читать дальше →

Древнейший стресс-менеджмент

Время на прочтение2 мин
Охват и читатели5.7K
Хочу поделиться с вами одной интересной медитацией (медитация как известно — древнейший способ стресс-менеджмента), которой поделился со мной мой учитель в ту светлую пору, когда я увлекался разными духовными практиками.
image
С моим учителем ей поделился в своё время один лаосский монах. И дошла она до нас в неизменном виде (не считая перевода) через много столетий.

Цель этой медитации — добиться стабильного уравновешенного состояния и стрессоустойчивости, проще говоря перестать нервничать, психовать и переживать по различным поводам, а уметь в любой ситуации принимать обдуманные хладнокровные решения (поругался с заказчиком, обманули подрядчики, любимая девушка мозг вынесла, начальник идиот, сайт лёг, да мало ли поводов попариться).
Читать дальше →

Шпаргалки по HTML 5 и CSS 3

Время на прочтение1 мин
Охват и читатели71K
Наверняка вы видели разные шпаргалки по веб-программированию. Теперь появились шпаргалки по HTML 5 и CSS 3.
Ссылки на скачивание под катом
Читать дальше →

Повышение работоспособности: как я просыпаюсь по утрам

Время на прочтение2 мин
Охват и читатели30K
image В предыдущем посте я рассказывал о методах борьбы с проблемой «не могу заснуть». Тема оказалась востребованной, и я решил написать о своих методах борьбы с проблемой «не могу проснуться».

Думаю, саму проблему описывать не стоит: большинство людей знают, как трудно проснуться утром, и какие неприятные ощущения возникают при одной мысли о том, что нужно покинуть тёплую постель, в которой так хорошо и спокойно… Но вставать как-то нужно, иначе будут проблемы. Лично мне было очень тяжело вставать по утрам. Но приходилось себя заставлять, из-за чего весь оставшийся день настроение было на минусе, да и постоянно клонило в сон.

А потом я, не без помощи интернета, выработал свой способ просыпаться так, чтобы минимизировать неприятные ощущения. Итак, как я просыпаюсь по утрам…
Читать дальше →

Даже при закрытых дырах на «Вконтакте» можно устроить XSS

Время на прочтение1 мин
Охват и читатели2.9K
Пригласили меня тут на днях добавить одно приложение «Вконтакте». Интерес взял верх — и я полез смотреть.
Вот, что я увидел:

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

Время на прочтение3 мин
Охват и читатели22K
Когда я только перешёл от офисной работы к домашней, первое время был на седьмом небе от счастья. С ума сойти – можно спать столько, сколько хочется! Можно работать тогда, когда есть «стих», а когда его нет – ходить дышать воздухом и развлекаться так, как только в голову придёт. Не счастье ли это? Примерно полгода я провёл в таком состоянии постоянного кайфа, а потом постепенно начал привыкать. А дальше началось то, что обычно бывает у большинства узников «домашнего офиса». И вот, через полтора года такой жизни я задался вопросом – а так ли уж хороша она у меня, как казалась вначале?
Читать дальше →

Выравнивание полей формы с помощью CSS

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

Задача


Добиться, чтобы поля ввода находились друг под другом, и при этом их положение определялось максимальной длиной заголовка поля слева. Решение не должно использовать таблиц и JavaScript.

forms_1

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

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Время на прочтение2 мин
Охват и читатели7.8K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

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

Не томи

Делаем скриншоты сайтов

Время на прочтение3 мин
Охват и читатели17K
Бродя по просторам PHP документации случайно наткнулся на две функции: imagegrabwindow и imagegrabscreen. Они умеют делать скриншоты в Microsoft Windows.
Заинтересовало. Кончилось дело тем, что был написан скриптик генерирующий полный скриншот любого сайта.
Итак нам необходимы:

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

prettyPrint

Время на прочтение1 мин
Охват и читатели9.5K
imageТе из вас кто следит за автором на Github могли заметить, что недавно он добавил новый проект под названием «prettyPrint».
«prettyPrint» — браузерный дампер переменных для JavaScript аналогичный cfdump для ColdFusion. Он позволяет выводить на экран объекты любого типа в виде таблиц для просмотра во время отладки.
Посмотреть пример.
Читать дальше →

Source.bz — Сервис демонстраций

Время на прочтение1 мин
Охват и читатели82
Чтобы не быть, слишком громким, это всего-навсего сервис для демонстрации HTML кода.

Demopreview - Сервис демонстраций

Описываю кратко
Для чего:
Допустим вы имеете блог по приемам Ноу-Хау верстки или показываете очумелые эффекты на JavaScript, то вам непременно нужно показать пример для публики. Так с момощью данного сервиса вы можете сделать это очень просто.
Читать дальше →

Виджет обратной связи

Время на прочтение2 мин
Охват и читатели2.7K
imageFeedback > 2.0 интересный аскетичный по дизайну виджет и необычный в реализации. В нем вы найдете только самые нужные функции для сбора отзывов и предложений от посетителей вашего сайта. Ничего лишнего – все только по делу.
Рализация данного виджета по сути уникальна так как он полностью разработан на Javascript, включая работу с базой данных. Виджет обратной связи состоит из двух частей:
  • Виджет обратной связи (отображается на вашем сайте)
  • Виджет админ (панель администрирования)
Весь код виджета и панели администрирования предоставляется под opensource лицензией LGPL3.
Подробнее о виджете и рабочий пример

Эксперты перепрошили «хакерский» Nokia 1100

Время на прочтение2 мин
Охват и читатели20K
Пару недель назад в СМИ проскочила информация от голландской полиции, которая раскрыла банду хакеров, скупавших за десятки тысяч долларов старые модели телефона Nokia 1100, произведённые на уже давно закрытом заводе в Бохуме в 2003 году. Как сообщалось, в этих моделях присутствует некая недокументированная функция, позволяющая получать какую-то секретную банковскую информацию из служебных сообщений от сервиса онлайн-банкинга. Честно говоря, это было похоже на «утку» и очень слабо верилось, что такое действительно возможно.

Но сейчас информация подтвердилась. «Хакерские» телефоны попали на исследование специалистам, в результате чего открылись новые технические детали.

В раритетных телефонах устанавливалась особая версия прошивки, которую было относительно легко перепрограммировать, чтобы получать SMS, отправленные на любые номера. Как известно, через SMS некоторые банки Германии и Нидерландов отсылают одноразовые пароли mTAN (mobile Transaction Authentication Number), которые необходимы для доступа к счёту и проведения банковских транзакций. Чтобы воспользоваться чужим mTAN, хакер уже должен знать имя пользователя и пароль к сервису онлайн-банкинга. Но их узнать гораздо легче, чем получить чужую SMS.

Cпециалисты из Ultrascan приобрели копию глючной модели Nokia 1100 и сообщают, что смогли с её помощью успешно перехватить чужой mTAN. Для изменения прошивки они нашли по своим хакерским каналам программу, которая на обычном ПК осуществляет дизассемблирование прошивки Nokia 1100, позволяет поменять номера IMEI (International Mobile Equipment Identity) и IMSI (International Mobile Subscriber Identity). Измененённая прошивка копируется обратно в ROM-память телефона, которая в этой модели допускает перезапись. После этого клонируется SIM-карта жертвы (это технически тривиальная задача) — и телефон готов к работе под чужим номером.

Компания Nokia официально пока не комментирует эту информацию. Но раньше она выступала с заявлением, что не верит в существование уязвимости в прошивке Nokia 1100.

phpThread: нити в PHP? Запросто

Время на прочтение2 мин
Охват и читатели2.3K
Если вы хотите научиться писать многопоточные приложения на PHP или здорово упростить себе жизнь — статья для вас.

Раньше для этих целей я пользовался либо запуском несколько копий скрипта, либо же использовал pcntl на более низком уровне, чем хотелось бы. Это, а от части и Java-идеология работы с потоками, побудили меня к написанию пакета phpThread.
Читать дальше →

PowerShell: выстрелил и забыл

Время на прочтение1 мин
Охват и читатели10K
Иногда мне хочется попросить PowerShell сделать что-нибудь длительное, а потом известить меня о том что работа готова. А я пока что-нибудь другое поделаю.

Например вот так
cp c:\windows\system32 -rec d:; done

(В качестве длительной операции «скопировать все из c:\windows\system32 на d:»)

Функция done выводит сообщение с надписью «done» причем его видно даже есои компьютер залочен.
Это достигается вот таким простеньким кусочком кода в профиле:
Читать дальше →

SMTP relay или что делать если ваш сервер попал в email-блеклист

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


Если вдруг невинные письма с вашего сайта начали повально попадать в spam-боксы почтовиков, это может означать, что IP вашего сервера попал в email-блеклист. Вероятность этого возрастает, если у вас не свой собственный сервер. Примерный сценарий попадения в блеклист таков:
  • Юрий Иванович, директор небольшой студии танцев, имеет сайт «по соседству» с вами (читай, на том же сервере). В один прекрасный момент, Юрий Иванович узнает о чудесных перспективах email-маркетинга и рассылает пачку из двадцати тысяч писем с однотипной рекламой своей студии.
  • Или же, Вася Попов, не пользующийся антивирусом, но любящий старые версии Total Comander, апдейтит свою домашнюю страничку по FTP. В один прекрасный момент, спящий ранее троян, похищает пароли к Васиному FTP (которые лежат незащищенные в папке Total Comander). На следующий день, Васина домашня страничка уже отсылает десятитысячное предложение о покупке виагры.
  • Или же, Петя Твердохлебов, который имеет рядом сайт на Друпале версии 5.0 и думает что обновления это «от лукавого», в очередной солнечный день ловит XSS уязвимость и начинает, сам не зная того, отсылать рекламу потенциальным покупателям penis-enlargment pills.


Что делать и как быть?

Интеграция вкусностей jQuery в другие сайты

Время на прочтение4 мин
Охват и читатели2.5K
Есть у меня небольшой проект с user-generated content-ом. Встала задача сделать код кнопки с ссылкой на страничку пользователя, для интеграции в пользовательские блоги и сайты. Но делать скучные кнопки, как у большинства конкурентов, не хотелось. Хотелось, на равне с простыми кнопками и ссылками, сделать что-то особенное, jQuery-евское, с аяксом и анимацией :).

Суть простая: пользователь размещает у себя на сайте скрипт, который динамически вставляет кнопку. При нажатии на кнопку всплывает окошко с подгружённой пользовательской страничкой с нашего ресурса.

Проблемы очевидны:
  1. Необходимо определить, используется ли jQuery и нужный плагин на сайте пользователя. Если нет, то обоих динамически подгрузить. Делать отдельно коды для тех кто использует jQuery на своем сайте и для тех кто нет — не комильфо, а тем более подгружать при любом раскладе (могут возникнуть глюки, особенно у плагинов).
  2. Пережатый jQuery весит около 60 кБ, и в случае подкачки может не успеть полностью загрузиться и инициализироваться до исполнения кода.

В качестве вкусности я использовал плагин fancybox. Он позволяет не только отображать фотографии с lightbox-эффектом, но и любой другой контент в iframe.

Ниже представлен код.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность