Архив за 02 октября 2012 - 8

В современном вебе используются две основные технологии определения возможностей браузера:
(а) распарсить юзер-агент, определить версию браузера и писать в коде свитчи по версии браузера;
(б) пытаться определять поддержку фич путём проверки нужных полей / вызовов нужных методов.

Исторически сложилось так, что второй вариант считается более true, и именно его реализуют все современные проекты. Достаточно сказать, что этим путём идёт jQuery.

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

Это всё хорошо и правильно, но только для небольших проектов.

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

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

Иными словами, JavaScript становится простым и распространённым языком, далеко переросшим своё первоначальное предназначение, и на нём теперь можно сочинить почти какое угодно приложение (и клиентское, и серверное, и консольное… и даже с GUI, как я недавно убедился).

Создаются целые операционные системы (Firefox OS, Google Chrome OS, Open webOS), для которых JavaScript является не менее «родным», чем Си для UNIX в своё время.

Появляются языки, транслируемые в JavaScript (можно вспомнить CoffeeScript, Dart, новорождённый TypeScript, и так далее).

Заметив это, уместно тотчас же порадоваться тому, что к джаваскрипту предъявляют, по крайней мере, меньше серьёзных претензий, чем некогда к Бейсику, который по справедливости невзлюбили за его GOTO и поощрение «макаронного кода». Притом джаваскрипт гораздо лучше переносится и с платформы на платформу, и из браузера во браузер.

Кроме того, многие существующие проблемы джаваскрипта не имеют особенного значения, потому что устраняются широко распространёнными средствами с открытым исходным кодом. Так, нестрогость синтаксиса устраняется строгою проверкою исходного кода (JSLint, например). Нехватка средств обработки данных (массивов, объектов) и функций устраняется подключением Underscore, а строки помогает обработать Underscore.string, а даты — moment.js, например. Сложность употребления методов DOM (в которой, впрочем, повинен не язык JavaScript, а браузеры и их разнобой) преодолевается с помощью jQuery. И так далее. Это входит в привычку у программистов.

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

Altera планирует выпустить первые 20-нанометровые FPGA в будущем году, а в 2014 году начать массовые поставки этой продукции. Об этом сообщает источник со ссылкой на слова старшего вице-президента по НИОКР Брэдли Хоува (Bradley Howe).

Выпускать 20-нанометровую продукцию Altera по технологии CMOS с монолитной подложкой будет компания TSMC

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

За 10 лет системного администрирования работаю с linux всего 4 года — работаю по-настоящему и в полной мере, хотя стремился к этому практически с самого начала. Ранее все мои предложения о внедрении или замене любого из сервисов на СПО не были подкреплены ни практикой, ни аргументами. Было только желание экспериментов и консолей. Естественно все эти предложения разбивались об стену негодования «Зачем менять, если работает» и «Linux? Я как то пробовал — мне не понравилось».
Читать полностью »

Здравствуйте, уважаемые читатели!

В данной статье хотелось бы рассказать о сравнительно новом операторе, применяемом в задаче классификации текстур. Данная задача очень близка к задаче поиска, распознавания и классификации образов.

Оператор LBP может быть использован для поиска объекта на изображении (например лица), а также проверки этого объекта на принадлежность некоторому классу (верификация, распознавание эмоций, пола по лицу). Заинтересовавшихся милости прошу под кат.
Читать полностью »

Веб-хостинг PeRiQuito AB, или PRQ, давно привлекал к себе самые противоречивые сайты в интернете, а теперь он привлек к себе менее дружелюбного гостя — Шведскую полицию.
Полиция наведалась к этим борющимся за свободу слова ребятам вчера, в понедельник, и забрала 4 сервера, передает Nyheter24Читать полностью »

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

HTC Desire V – больше, чем два в одном

С развитием мобильной связи множились и требования к ней со стороны конечных пользователей. Проникновение сотовых сетей также неуклонно росло, и встретить людей с несколькими телефонами в крупных городах гораздо легче, чем вовсе без оных.Читать полностью »

image

Сегодня вышла первая бета-версия браузера Opera 12.10. Обычно мы всегда стараемся делать приятные сюрпризы для пользователей наших браузеров, но сегодня мы приготовили много полезных новшеств и для разработчиков. Надеемся, что нововведения придутся по вкусу как разработчикам расширений Opera, так и пользователям.
Читать полностью »

Часто по работе приходится встраивать в страницу слайдеры прокрутки изображений, блоков и т.д. Наигравшись с «чужими» разработками, которые часто обладают лишним и ненужным мне функционалом было решено сделать свой велосипед и оформить его в виде плагина для jQuery, который бы банально выполнял свои функцию горизонтального слайдера, и был бы мне понятен От и До.

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

Одна из самых непростых задач в верстке адаптивного сайта — это навигация. В этой статье подробно описан один из способов реализации адаптивного меню.

Создаем адаптивную навигацию на сайте

Демо Скачать исходники
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js