Обновить
39
0
sysprg@sysprg

Пользователь

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

SugarJS — Синтаксический сахар для JavaScript

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


Что такое SugarJS?


SugarJS — это open source (лицензия — MIT) библиотека Javascript, который расширяет нативные объекты полезными методами. Она разработана, чтобы быть интуитивным, ненавязчивым инструментом, повышающим выразительность кода, который позволял бы делать больше с меньшим количеством кода и меньше задумываясь над рутиной.

На самом деле у них очень информативный и простой сайт — где все уже хорошо написано.
Я просто постараюсь обозначить основные моменты.

Кратко...

  • Расширяет нативные элементы Javascript полезными, интуитивными методами.
  • Прост для понимания и в использовании.
  • Метод SugarJS не используется при наличии метода в родной реализации браузера.
  • Имеет систему тестирования, имеющую огромный набор тестов.
  • Расширяет возможности работы с датой и временем, обеспечивает их форматирование на нескольких языках (русский есть).
  • Отлично ладит с другими фреймворками и сторонним кодом.
  • Модульность, вы можете включать только нужные пакеты.
  • Полностью совместимый ECMAScript.
  • Заявлена поддержка всех основных браузеров, включая мобильные.
  • Поддерживает Node.js.
  • Имеет хорошую и удобную документацию.


Заинтересовало? Добро пожаловать под кат.
Читать дальше →

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

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



Демо Скачать исходники
Читать дальше →

Создание плагина jQuery на примере слайдера

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

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

Небольшая заметка о feature detection

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

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

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

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

И вот почему

Еще раз о модальных окнах и немного плюшек

Время на прочтение9 мин
Охват и читатели17K
О модальных окнах написано уже, наверное, тонны литературы, но на написание этого топика меня сподвигла вот эта статья на хабре. В ней осталось много недосказанного, в том числе горизонтальные скачки как страницы, так и модального окна.
Конечно, можно было бы просто отписаться в комментарих, мол, сделайте так-то и так-то, и все будет тип-топ. Но мой комментарий разросся до размеров новой статьи, с наглядными примерами и комментариями.
Кому стало интересно — добро пожаловать под хабракат!
Читать дальше →

Восстановление расфокусированных и смазанных изображений. Повышаем качество

Время на прочтение5 мин
Охват и читатели212K
Представляю вашему вниманию заключительную статью из трилогии «Восстановление расфокусированных и смазанных изображений». Первые две вызвали заметный интерес — область, действительно, интересная. В этой части я рассмотрю семейство методов, которые дают лучшее качество, по сравнении со стандартным Винеровским фильтром — это методы, основанные на Total Variaton prior.
Также по традиции я выложил новую версию SmartDeblur (вместе с исходниками в open-source) в которой реализовал этот метод. Итоговое качество получилось на уровне коммерческих аналогов типа Topaz InFocus. Вот пример обработки реального изображения с очень большим размытием:


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

JavaScript — полезные материалы

Время на прочтение2 мин
Охват и читатели79K
Хочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
Читать дальше →

Создан искусственный хвост, виляющий в соответствии с чувствами человека и передающий их в социальную сеть

Время на прочтение1 мин
Охват и читатели59K
Напомню, что в апреле нынешнего (2012) года Gasoid нам сообщал, что компания Neurowear начала изготавливать и продавать нэкомими (кошачьи ушки), реагирующие на мозговую активность: настороженно подымающиеся при сосредоточении, обвисающие при расслаблении.



Но время не стоит на месте, и вот совсем недавно (20 сентября) от Neurowear на YouTube поступил новый рекламный видеоролик, на сей раз — с виляющим искусственным хвостом («Shippo»):



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

Взгляд на Modern (Metro) интерфейс Windows (Phone/RT) 8

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

Вместо вступления


image Я не являюсь дизайнером, не имею ни малейшего представления о правилах, тонкостях и нюансах UI, и уж тем более не претендую на авторитетное мнение по данному вопросу. Являясь пользователь телефона на Android и имея богатый опыт общения с iOS девайсами, начиная аж с iPhone 2G, я имею в своем распоряжении, в качестве одной из установленных ОС — Windows 8 RTM. Собственно она, а точнее мысли, навеянные работой с новым видом пользовательского интерфейса от компании Microsoft и побудили меня, к написанию данной статьи. Я хочу заострить свое внимание на особенностях интерфейса на планшетных компьютерах, но так как такового у меня под рукой нет, то это будут лишь теоретические рассуждения, которые, возможно, буду расходиться с ощущениями, полученными на практике.

Всем, кому интересно, прошу под кат
Читать дальше →

Обзор бюджетных аудиофильских наушников

Время на прочтение15 мин
Охват и читатели164K
Настает время, когда человек, слушая музыку, понимает, что удовольствие от этого процесса можно заметно увеличить, например, прикупив качественный плеер с наушниками. В этой статье, я решил сделать детальный обзор наушников, которые будут по душе начинающим аудиофилам. Из нескольких сотен моделей, представленных сегодня на рынке, я постарался отобрать самое лучшее, самое топовое и популярное, но тем не менее уложиться в скромный бюджет 10 тыс. рублей. Слушая, изучая форумы, читая обзоры и анализируя тесты, я выполнил детальный анализ шести пар наушников, которые должны заинтересовать потенциального покупателя.

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

Сжатые префиксные деревья

Время на прочтение8 мин
Охват и читатели62K
Тема префиксных деревьев поиска уже неколько раз поднималась на хабре. Здесь, например, кратко описывается, что такое префиксное дерево и зачем оно нужно, и рассматриваются основные операции над такими деревьями (поиск, вставка, удаление). К сожалению, ничего при этом не говорится про реализацию. В этом недавнем посте рассматривается «питонья библиотека datrie», являющаяся Cython-оберткой библиотеки libdatrie. По последней ссылке имеется хорошее описание реализации частично сжатых префиксных деревьев в виде детерминированных конечных автоматов (с использованием массивов). Я решил внести свои пять копеек в эту тему, рассмотрев реализацию на языке С++ префиксных деревьев с помощью указателей. Кроме того, была и еще одна цель — сравнить между собой поиск строк с помощью сбалансированного двоичного дерева поиска (АВЛ-дерево) и сжатого префиксного дерева.

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

Отличия в дизайне приложений iPad и Metro

Время на прочтение2 мин
Охват и читатели3.1K
Чтобы помочь разработчикам под iPad портировать приложения на планшеты Windows 8, компания Microsoft опубликовала на портале Windows Dev Center кейс с демонстрацией, как дизайн Metro-приложения отличается от дизайна iPad. Для примера взяли некое вымышленное приложение, онлайновый календарь фотографий и видео с комментариями. Показано, как информация подаётся на iPad, и как то же самое должно выглядеть в Metro.


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

Креативное использование веб-шрифтов

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

С помощью CSS-магии мы можем создавать красивые типографические эффекты и забыть о использовании изображений, в большинстве случаев. В этой статье мы создадим ряд симпатичных примеров веб-типографики, используя плагин jQuery — lettering.js, а также различные приемы CSS. В некоторых примерах мы также добавим переходы при наведении курсора мыши, чтобы сделать их немного более интерактивным.
Читать дальше →

Карта музыкальных жанров

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


Вступление


Люди всегда стремились систематизировать музыку, разбивая её на жанры и поджанры. Основным методом такой систематизации был и остаётся «исторический» метод, который можно описать так:
Есть исполнитель K, который играет музыку похожую на жанр L, но явно в этот жанр не вписывающуюся. Сам исполнитель или муз. критик, лейбл придумывают для такой музыки новый под жанр, жанра LLL. И через R лет жанр LL становится каноническим. Или не становится, в зависимости от результатов «проверки временем». Таким образом, все музыкальные жанры можно соединить в граф, в котором жанр L ближе к корню, а LL – к листьям.

Этот метод является историческим, так как поджанры всегда появлялись позже основных жанров. Т.е. этот способ иллюстрирует развитие музыки, её эволюцию. Но такой граф не совсем корректно иллюстрирует связи жанров друг с другом, с плоской музыкальной точки зрения. Т.е. из двух совершенно разных музыкальных направлений, разных эпох могут появиться поджанры которые будут настолько близки, что значительное число музыкантов будут в качестве своей “лейбы” указывать оба жанра. Но в “историческом” графе они вряд ли будут рядом.
К тому же из-за высокой степени субъективности и сложности исторического метода, не существует “единого дерева жанров”. Насколько я осведомлён, существуют лишь отдельные успешные попытки построить такой граф на уровне отдельных групп близких жанров.
Читать дальше →

Коллекция паттернов поведения для элементов отзывчивого веб-дизайна

Время на прочтение1 мин
Охват и читатели29K
Думаю любому современному дизайнеру или верстальщику рано или поздно в голову приходила мысль «А почему бы на этом проекте не использовать принципы отзывчивого веб-дизайна?». Пожалуй, сложно найти человека, который не слышал о responsive design в наше время, когда сёрфить веб могут с телефона, микроволновки и тапочек. Приступая к работе над подобным проектом, неплохо было бы иметь под рукой примеры возможного поведения лейаута и его отдельных элементов.
Ну же, где паттерны то?!

О практических применениях свойства float

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

Каждый хороший верстальщик скажет, что только безукоризненное знание собственной работы способно принести позитивные результаты. Собственные наблюдения привели меня к выводу, что не только начинающие верстальщики не совсем понимают сути применения свойства float. На Хабре просмотрел имеющиеся публикации на данную тематику. Появилось желание поделиться некоторыми замечаниями и практическими применениями данного свойства. Приведенные ниже разъяснения в большинстве своем могут стать полезными для начинающего верстальщика.
Читать дальше →

Android. Выпадающий список (Spinner) с индикатором загрузки

Время на прочтение5 мин
Охват и читатели31K
Приветствую тебя, читатель!

Представляю твоему вниманию небольшой очерк о том, как захотелось мне видеть прогресс-бар («infinite circle») во время загрузки данных в выпадающий список, который в Андроиде называется Spinner.
Необходимость такая возникла при разработке небольшой утилиты по работе с веб-сервисом. Параметры некоего расчёта хранятся на централизованном сервере. Веб-сервис .NET отдаёт списки возможных параметров в виде массивов разной длины (от 2 до 50 элементов). Для отображения этих параметров и был выбран выпадающий список. Инициализация списков, как и положено, происходит асинхронно. И в то время, пока данные загружаются, смотреть на пустые статичные элементы безо всякого прогресса скучно, уныло и вообще.

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

О создании персональных рейтингов. Вроде IMHO.net

Время на прочтение4 мин
Охват и читатели7.5K
В прошлых статьях я затрагивал тему простых рейтингов. В комментариях меня попросили расписать тему рейтингов, которые выдают для каждого пользователя свои.
Читать дальше →

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

Время на прочтение6 мин
Охват и читатели248K
За годы работы мы в Storelab Data Recovery собрали небольшую коллекцию мифов об утере и восстановлении данных. Некоторые из них активно тиражируются на различных компьютерных и не очень форумах — поэтому, надеемся, эта статья будет полезна тем, кто ищет помощи, когда сломался диск или потеряны данные. Итак, пост о том, как не сделать трудную ситуацию ещё хуже.


На фото — результат «охлаждения» жёсткого диска
Читать дальше →

О сортировке контента на основе оценок пользователей: Часть 3

Время на прочтение3 мин
Охват и читатели14K
В прошлой статье я вывел формулу, которая прогнозирует рейтинг на основе оценок статьи и средней оценки по сайту. Думал в этой статье, я покажу качество ее прогноза, улучшу прогноз за счет дисперсии. Однако, появилась еще одна проблема.
image
Читать дальше →

Информация

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