Как стать автором
Поиск
Написать публикацию
Обновить
37
0

Frontend

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

Магия JavaScript: arguments

Время на прочтение3 мин
Количество просмотров68K
arguments — очень специфическая штука, о которой новички и даже любители знают только то, что это «вроде массив, но какой-то неправильный». На самом деле, у него есть ряд интересных особенностей. Предлагаю в топике пофантазировать на тему TypeHinting, аргументов по-умолчанию и всякого другого.
(function (foo, bar) {
	console.log(typeof arguments); // ?
	
	arguments[0] = 42;
	console.log(foo); // ?
})(10, 20);


А также покажу интересную идею-библиотеку
function test (foo, bar) {
    Args(arguments).defaults(100, 100);

    return [foo, bar];
};

test(      ); // 100, 100
test(15    ); //  15, 100
test(21, 42); //  21,  42

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

Кое-что о Wi-Fi

Время на прочтение7 мин
Количество просмотров306K
Недавно побывал на конференции на тему “Построение беспроводных сетей”. Не смотря на то, что довольно длительный период работаю администратором, мне не каждый день приходится разворачивать беспроводные сети. Спешу с вами поделиться некоторыми нюансами. Всех заинтересованных приглашаю под кат.

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

Единая точка входа в web-приложение

Время на прочтение3 мин
Количество просмотров39K
В современных web-приложениях принято использовать концепцию единой точки входа. Эта концепция сводится к тому, что все запросы к серверу приложения переадресовываются на один файл, который, исходя из параметров запроса, координирует дальнейшее поведение скрипта. Такой подход дает огромные преимущества, как на этапе создания, так и на этапе поддержки проекта, так как кардинально уменьшается избыточность кода, а для приложений, манипулирующих динамическим контентом, единая точка входа — это единственное правильное решение.

Читать полностью.

Выделите свой сайт в Speed Dial

Время на прочтение4 мин
Количество просмотров18K
Настольная версия браузера Opera, начиная с версии 11.10, позволяет владельцам сайтов определять, как их сайт будет отображаться в миниатюрах Экспресс-панели. По-умолчанию, для отображения используется скриншот целой веб-страницы. Теперь появилась возможность указывать значок через CSS или в теле веб-страницы.
Читать дальше →

Подборка 10 css3 кнопок

Время на прочтение4 мин
Количество просмотров91K
С каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.



В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров236K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Кроссбраузерный inline-block

Время на прочтение4 мин
Количество просмотров122K
Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».

Узнать метод Райна Доэрти

Плагинизация классов

Время на прочтение2 мин
Количество просмотров1.8K
Как-то медитируя на свой новый велосипед подумал, – А почему бы не заложить в него возможность «плагинизации» контроллеров?

Чтобы вот был, например, у нас некий базовый класс Generic.php:
<?php
class Generic
{
  public function Hello() {
    echo 'Hello!';
  }
}
?>


А мы такие взяли и повешали бы на него пару плагинов, которые дополнят/изменят какие-либо его методы не мешая друг-другу (по принципу «кто первый встал – того и тапки»).

Вот они красавцы:
PluginFoo.php:
<?php
class PluginFoo extends Generic_PluginFoo
{
  public function Hello() {
    echo 'Dudes?<br />';
    parent::Hello();
  }
}
?>

и PluginBar.php:
<?php
class PluginBar extends Generic_PluginBar
{
  public function Hello() {
    parent::Hello();
    echo '<br />O.o';
  }
}
?>


А потом мы создали бы объект родительского класса (не обращаясь к последнему потомку), вызвали метод Hello() и тот сказал бы нам:
Dudes?
Hello!
O.o


Ниже лаконичный вариант того как описанного поведения добился ort в своём LiveStreet, а затем уже и я в своём собственном велосипеде.
Читать дальше →

Делаем качественный переплёт для любимой книги

Время на прочтение7 мин
Количество просмотров208K

Вступление


Приветствую всех.

Люди любят читать. Но не все, и не всё. А то, что любят, не всегда можно найти в магазинах. А если и можно найти, то не всегда это по карману. Из этого следует один элементарный факт: что-то с этим надо делать. Конечно, можно читать с экрана монитора/ноутбука/телефона. Или распечатать и читать в разрозненных, пусть и упорядоченных, листочках. Кроме того (это более затратный вариант, но для любителя чтения он лучше), можно купить специализированную читалку на электронных чернилах. Да, она решает проблему, но… Спустя какое-то время начинаешь скучать по весу настоящей книги, по шелесту перелистывания бумажных страниц, и по кипе других подобных маловажных, но таких приятных сердцу мелочей.
И из этой неприятности тоже есть свой выход. Просто-напросто надо самому сделать нужную книгу.
Осторожно, под катом очень много фотографий.
Читать дальше →

С днем веб-мастера!

Время на прочтение1 мин
Количество просмотров4.2K


Сегодня во всем мире веб-дизайнеры, и веб-девелоперы празднуют день веб-мастера.

Кто не знает, сегодняшняя дата, а именно, 4.04 является «магической цифрой», которая ассоциируется с 404 ошибкой, именно в честь 404-ой ошибки и считают этот день праздником веб-мастера.

Поздравляю всех веб-мастеров, и тех, кто хоть как-нибудь с этим связан. С праздником!

[Перевод] Три причины не беспокоиться об отсутствии IPv4 адресов, и три причины об этом побеспокоиться

Время на прочтение5 мин
Количество просмотров1.8K
Интернет-адреса IPv4 близки к исчерпанию. Для большинства компаний встает вопрос, насколько это окажет на них влияние? Нужно ли немедленно переводить всю инфраструктуру на IPv6, или можно воспользоваться другими вариантами? Ниже предлагается размышления, когда об этом стоит побеспокоиться, и когда — что важнее — не стоит.
Читать дальше →

Методы распознавания отпечатков пальцев и реализация средствами Python

Время на прочтение12 мин
Количество просмотров52K
В текущем семестре появился в расписании предмет «Методы и средства защиты компьютерной информации», частью которого являются лабораторная работа по биометрии, а точнее по распознаванию отпечатка пальца. Так же, недавно, на Хабре была статья про устройства предназначенные для сканирования. Решил написать здесь про алгоритмы распознавания.
Читать дальше →

Ускоряем базу данных веб-сайта

Время на прочтение19 мин
Количество просмотров119K
Скорость загрузки веб-сайтов всегда была важной темой, но стала еще более актуальной с апреля 2010 года, когда Google стал учитывать её при ранжировании сайтов в поисковой выдаче. Однако, основной уклон, как правило, делался на уменьшении размера файлов, оптимизации параметров сервера, CSS и Javascript.
Также имеет место еще один немаловажный фактор. Это скорость, с которой веб-страницы формируются на сервере. Большинство крупных современных сайтов хранит всю информацию в базах данных и используют различные языки (например, PHP или ASP) для её извлечения, формирования HTML-страницы и отправки её браузеру.
Читать дальше →

Новый веб-клиент Evernote: переработанный интерфейс и многое другое

Время на прочтение3 мин
Количество просмотров11K
За последние несколько месяцев мы представили кардинально переделанные версии Evernote для четырех популярных платформ: Windows, Mac, iPhone и Android. Сегодня мы рады представить пятого полностью обновленного представителя семейства Evernote: веб-клиент Evernote.

Все наши недавние нововведения можно сгруппировать по четырем основным направлениям:
  • усовершенствование пользовательского интерфейса;
  • оптимизация производительности;
  • более полное применение возможностей каждой платформы;
  • реализация пожеланий пользователей.

Каждое из этих направлений сыграло важную роль в наших решениях о том, каким должен стать новый веб-клиент Evernote. Убедитесь в этом сами.


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

Размышления о привязке «Войти через...» к одному аккаунту

Время на прочтение5 мин
Количество просмотров19K
Постановка проблемы

Некоторое время назад по долгу службы работы, встал на обсуждение вопрос «А нужно ли делать на новом проекте авторизацию через сторонние сервисы?». Мозг, взбудораженный красивыми всплывающими окошками, виджетами и прочими украшательствами, призывно требующими «Войди через меня!», конечно же обеими руками был за, да и современные вебдванольные (а то и, тьфу тьфу, вебтринольные, быть может?) тенденции развития крупных порталов, как бы, намекают. Однако, я не зря сказал, что началось всё с обсуждения, ибо, где есть споры, там есть и камни преткновения. Такой камень мы нашли и здесь.

Предположим, на сайте имеется красивая панелька, как, например, у логинзы, или просто отдельные виджеты авторизации, например, через контакт, твиттер, фейсбук и иже с ними. Легко войти на сайт? Безусловно. Но при этом, если человек войдет сразу со всех этих аккаунтов (одновременно или нет, не суть), для системы это будут разные люди, а следовательно, клоны одного и того же человека, учётной записи которого, быть может, и вовсе нету на сайте.

Казалось бы, какая разница, регистрировать аккаунт на сайте, или входить через внешние ресурсы?
Читать дальше →

Принципы дизайна веб-форм для мобильных устройств

Время на прочтение10 мин
Количество просмотров14K
Представляю вашему вниманию перевод статьи "Mobile Form Design Strategies" от Chui Chui Tan. Перевели в компании UXDepot. Специально для пользователей Хабрахабра с одобрением издания UX Booth.


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

Интернет на экране мобильного телефона находится под влиянием нескольких важных факторов:
  • Окружающей среды — человек может пользоваться гаджетом в толпе, в режиме цейтнота или на ярком свету (соответственно, качество изображения на экране ухудшается)
  • Сети — соединение может быть медленным и ненадежным
  • Особенностей девайса — например, маленького экрана устройства

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

12 навыков создания защищенных веб-приложений

Время на прочтение8 мин
Количество просмотров22K
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.

Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.

Итак, поехали.

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

Распознавание некоторых современных CAPTCHA

Время на прочтение15 мин
Количество просмотров79K
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

Работа заключалась в распознавании CAPTCHA, используемых крупными операторами сотовой связи в формах отправки SMS, и демонстрации недостаточной эффективности применяемого ими подхода. Чтобы не задевать ничью гордость, будем называть этих операторов иносказательно: красный, жёлтый, зелёный и синий.

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

Атака на отказ в обслуживании методом slow HTTP POST

Время на прочтение5 мин
Количество просмотров42K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Время на прочтение1 мин
Количество просмотров33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность