Pull to refresh
26
0
Владимир @boolive

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

Send message

jQuery UI как инфраструктура для плагинов

Reading time6 min
Views21K

Введение


jQuery UI больше всего известен как набор готовых виджетов. Главное их преимущество, на мой взгляд, — консистентное API: каждый виджет управляется одинаково. Второе их преимущество — они хранят свое состояние: если повторно навесить виджет на элемент, то результатом будет уже существующий инстанс виджета.
Но jQuery UI — это не только набор окошечек и табов (далеко не всеми любимых). Это еще целая инфраструктура для создания своих виджетов: с удобным консистентным API, с хранением состояния и с возможностью наследования. Как ни странно, это для многих новость, в результате чего и появилась эта статья — так же, как это было новостью для меня всего несколько месяцев назад.
Все, что вы хотели узнать о jQuery UI, но стеснялись спросить

Упрощаем регистрацию и вход на сайт

Reading time7 min
Views35K
Представляю вашему вниманию перевод статьи под названием "Innovative Techniques To Simplify Sign-Ups and Log-Ins" от Anthony T. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


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



Форма авторизации на сайте Basecamp

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

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

Torrent-файл. Что же у него внутри?

Reading time7 min
Views57K

Введение


image
Добрый день.
Использую, как и многие, крупный торрент-трекер — rutracker.org, однако есть одна особенность которая меня раздражает.
Это добавление в список трекеров адреса ix*.rutracker.net, который служит для непонятных мне целей. Однако который часто (у меня — практически всегда) выдаёт ошибки (502 Bad Gateway и 0 No Response). Торрент-клиент (у меня Transmission) помечает торрент сломанным. Что само собой довольно сильно мне мешает. Особенно если учесть особенность Transmission — она задаёт статус торрента по последнему ответу трекера. То есть опрашиваем ix*, он возвращает ошибку, торрент помечается как Broken, через n минут/секунд опрашивается следующий трекер из списка — bt*.rutracker.org или retracker.local, которые возвращают успешный код и торрент снова становится нормальным. Такая чехарда не особо меня радует.

Решение банально — убрать этот нехороший адрес из списка. Однако файлов у меня много, из каждого вручную вырезать совсем не хочется, да и дополнительное действие при добавлении нового торрента выполнять тоже не было никакого желания. Поэтому принял решение разобраться в формате и автоматизировать удаление трекера из списка.
Читать дальше →

PHP / JSON база данных

Reading time5 min
Views70K
При разработке web приложений, часто возникает потребность в хранении определённых настроек или временных данных. Обычно, для этого используются или файлы, или базы данных. Если это база данных, то хранить в базе таблицу с одной строкой, как чаще всего это бывает, не очень удачный вариант. Для этого чаще используются config файлы определенных форматов (*.php, *.ini, *.xml, *.json).
Читать дальше →

Подсчет объектов на бинарном изображении. Часть 1

Reading time6 min
Views43K

Аннотация


imageРаз, два, три, четыре, пять. Будем в прятки мы играть. В статье рассказывается про алгоритм разметки (или подсчета) объектов на бинарном изображении и о том, как без дополнительного прохода вычисляются (в еще неопубликованной части 2) геометрические характеристики этих объектов. Алгоритмы подобного типа часто используются при распознавании образов на бинарном препарате и показывают свою вычислительную эффективность.
В завершении статьи, читателям предлагается интересная задачка, грамотное решение которой существует и необходимо, при практической реализации алгоритма. Приводится исходный код, но в отличии от предыдущих моих постов, он выполнен не на языке MatLab а в абсолютно свободной, не менее мощной среде SciLab.
Читать дальше →

Инвесторы — естественные враги стартапов

Reading time7 min
Views3.6K
В живой природе естественное равновесие поддерживают хищники. В среде стартапов такими хищниками являются венчурные инвесторы (бизнес-ангелы, венчурные фонды и пр.). Они ограничивают размер популяции и оздоравливают её, поедая слабых и больных (понятно, что в большинстве случаев у «слабых и больных» на этот процесс есть своя точка зрения, но факты — упрямая вещь).

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

Вы НЕ инженер-программист!

Reading time3 min
Views36K
От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.

Познать дзен садоводства!

Software versioning

Reading time10 min
Views64K

Методология изменения версий продукта программного обеспечения


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

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

Цифры в культуре Китая

Reading time3 min
Views80K
image
Каждый, кто ближе знакомится с культурой Китая или начинает общаться с китайцами, отмечает, насколько все сферы китайской жизни пронизаны цифровой символикой. Будь то принципы философии, медицины, музыки или архитектуры, мечты простого китайца завести себе телефонный номер с восьмеркой, табу в отношении цифры 4 или нездоровое желание подобрать удачное сочетание цифр в контракте.

«Числовые суеверия»


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

«Удачливость» числа в народном сознании китайцев определяется его созвучием с каким-либо словом. Например, число 4 звучит аналогично слову «умереть» (без учета тона), что породило в странах Дальнего Востока суеверие, аналогичное нашей боязни числа 13. Так, во многих гостиницах и больницах вы не найдете номеров с числом 4, а иногда даже и 4-го этажа.
Читать дальше →

Как устроен jQuery: изучаем исходники

Reading time6 min
Views58K

jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

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

Уникальный продукт — преимущество или недостаток для стартапа?

Reading time4 min
Views4.2K
Есть два основных пути в мире бизнеса: создать что-то новое и уникальное или скопировать (а если получится — и превзойти) чужой успех. Если бы вы начинали бизнес — какой путь вы бы выбрали? Что-то мне подсказывает, что большинство потенциальных стартаперов — вполне себе романтики, и копирование чужих идей их не очень-то привлекает. Тем более, что и своих оригинальных идей — полна голова, аж крышу сносит, правда?

Так вот, по собственному (не очень богатому, но тем не менее) опыту могу судить: оригинальная идея и уникальный продукт крайне осложняют жизнь стартапу. И вот почему:
Читать дальше →

А MVC ли это?

Reading time6 min
Views25K
Добрый день!

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

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

Строгий режим MySQL и почему он должен быть включен

Reading time2 min
Views40K
В MySQL есть такой специальный режим, предназначенный для введения в базу неправильных данных. Например, чтобы вместо 20000000000 вставлять в INT-поле 2147483647. Или наполнять базу несуществующими датами. Или обрезанными строками. Ну или мало ли для чего этот режим может тебе пригодится.

Режим этот называется «обычный режим».

WTF?

Модели управления Open Source проектами (Часть 1)

Reading time9 min
Views4.7K
От переводчика: данный перевод продолжает цикл публикаций по управлению Open Source проектами, начатый здесь.

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

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

Reading time15 min
Views79K
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

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

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

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

Reading time10 min
Views14K
Представляю вашему вниманию перевод статьи "Mobile Form Design Strategies" от Chui Chui Tan. Перевели в компании UXDepot. Специально для пользователей Хабрахабра с одобрением издания UX Booth.


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

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

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

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

Reading time5 min
Views19K
Постановка проблемы

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

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

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

Как начать работу над стартапом?

Reading time6 min
Views14K
Топик навеян впечатлениями от докладов на swpiter и постом о том, как не продать машину :)

Как работать над стартапом и всегда оставаться в выигрыше?


Суть в чём, есть некая порция работы, которую нужно сделать перед тем, как начинать тратить свои деньги. Я попытался описать последовательность этих действий.

Картинка слева кликабельна, а ниже — текстовое описание в 12 шагах как инициировать стартап и при этом всегда оставаться в выигрыше.

1. Идея!


И так, всё начинается с идеи, которая каким-то образом пришла к вам в голову. Идея выглядит интересной и соблазнительной. Она мотивирует вас.

Самое важное в идее — это не терять мотивацию вплоть до 10 шага и тогда вы в любом случае получите для себя выгоду.

2. Детализация идеи


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

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

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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity