Pull to refresh
78
0
lusever @lusever

User

Send message

Простые догмы при работе с цветом в интерфейсах

Reading time5 min
Views110K
image

Привет, username!

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

Читать дальше →
Total votes 149: ↑131 and ↓18+113
Comments128

Mailcheck.js — проверка емейла на опечатки

Reading time1 min
Views3.7K

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка
Total votes 75: ↑70 and ↓5+65
Comments20

Машина времени в git

Reading time5 min
Views192K
В последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.

В этой статье я хочу рассказать о командах git checkout и git reset с ключами --soft и --hard.
Читать дальше →
Total votes 127: ↑122 and ↓5+117
Comments39

Асинхронная синхронность. JSDeferred

Reading time4 min
Views6.6K
В последнее время на хабре появилось несколько статей про работу с асинхронными вызовами (После всех асинхронных вызовов, Синхронизация асинхронных вызовов. WaitSync). Но при ближайшем рассмотрении область их применения довольно узка так как эти способы не решают всех проблем.
Но для начала попробуем определить эти самые проблемы, с которыми мы сталкиваемся при работе с асинхронными вызовами.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments31

Проверка включенного кэширования у браузера

Reading time4 min
Views18K
Про то, что клиентское кэширование использовать можно и нужно, за последние несколько лет узнали многие, а вот о том какие проблемы это вызывает — каждый узнает на своем опыте. Поэтому спешу поделиться своим опытом и проблемой, возникшей с пользователями, у которых кэш браузера выключен. Пользователи не знают, что у них выключен кэш и жалуются на медленную скорость загрузки страниц.
Читать дальше →
Total votes 67: ↑59 and ↓8+51
Comments50

Пишем простейший торрент трекер на php

Reading time5 min
Views28K
Обмен файлами всегда привлекал людей, для этого собственно и был изобретен протокол BitTorrent.

Большинство торрент трекеров написано на PHP, хотя встречаются и такие, которые написаны на C# языке, но для ознакомления мы будем использовать именно PHP.

Давайте рассмотрим что из себя представляет трекер.
Читать дальше →
Total votes 172: ↑111 and ↓61+50
Comments100

RE2 — новая библиотека регулярных выражений

Reading time1 min
Views5.4K
Вчера Google выпустил новую библиотеку регулярных выражений — RE2. Библиотека написана на C++.

Существует два подхода к реализации регулярных выражений: недетерминированные конечные автоматы (NFA) и детерминированные конечные автоматы (DFA). Первый механизм регулярных выражений используется, например, в Perl, Python, Ruby и .NET. К сожалению, в этом случае время работы программы может расти экспоненциально, а также может неограниченно расти использование стека. Такое поведение оказалось неприемлемым для таких проектов Google, как Code Search, Sawzall и Bigtable, поэтому программисты компании написали библиотеку на основе детерминированных конечных автоматов. RE2 гарантирует линейную скорость выполнения поиска и ограниченное использование стека. DFA также используется, например, в lex и egrep. В отличие от большинства подобных реализаций RE2 поддерживает почти все основные возможности PCRE.

Библиотека распространяется под BSD лицензией.

UPD: Убрал Tcl из примеров NFA, сейчас там используются DFA.
Total votes 47: ↑43 and ↓4+39
Comments23

Привязка модели данных к представлению на javascript

Reading time7 min
Views3K
Я думаю многие пользуются DataBinding`ом в .NET, она же привязка данных. Она позволяет, при выделенной модели данных и независимом визуальном представлении, забыть о синхронизации данных с формой. Привязав один раз properties модели к элементам представления, мы избавляемся от десятков обработчиков onChange и подобных для изменения полей модели, а в случае изменения поля вне gui-интерфейса (например синхронизация модели с базой), мы не будем мешать уровни абстрации, чтобы обновить textBox.text. Давайте данные будут отдельно, gui отдельно. Плюс мы получаем наглядный, легко переносимый код на asp.net или даже на другой язык/платформу.

 databinding

Синхронизация может быть как в двух направлениях, так и в одном, причем в любую сторону.
С развитием уровня web-ориентированных приложений, появилась возможность реализации подобного решения и на JavaScript. Ну думаю преимущества разделения данных от представления уже много где рассматривались и не раз приводили к холивару, так что упустим этот момент.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments9

Автоматизируем работу с сайтом за 5 минут на примере Yandex.Почты с помощью NetExport

Reading time7 min
Views9.8K
Иногда, бывает нужно автоматизировать некоторые процессы на чужом сайте. Залогиниться на сайт, скачать какой нибудь файл, открыть страничку. Часто приходится разбираться в коде сайта, чтобы найти, как правильно написать запрос curl.

Предлагаю Вашему вниманию способ, которым я сам пользуюсь, чтобы значительно облегчить себе жизнь и автоматизировать все и вся, от проверки почты, до загрузки данных в телебанке. Я постараюсь, на примере Yandex.почты показать, как можно очень быстро и почти без программирования сгенерить curl php скрипт для захода на любой сайт и загрузки контента в автоматическом режиме.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments21

7+ превосходных инструментов для оптимизации изображений

Reading time5 min
Views105K
Перевод статьи 8 Excellent Tools for Optimizing Your Images
К сожалению на момент перевода один из сервисов перестал работать. Но хабровчане предложили еще много хороших решений!

Одним из самых простых способов уменьшить время отклика страниц на вашем сайте является оптимизация изображений.

Есть несколько бесплатных инструментов помогающих уменьшить и оптимизировать изображения. В этой статье вы найдете удобные инструменты для создания картинок для веба настолько маленьких по весу, насколько это возможно.
Обзор инструментов — под катом.
Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments72

Универсальная on-line проверка грамматики с помощью google ajax search api

Reading time2 min
Views2.6K
Обычно я проверяю английскую грамматику, вбивая в Google куски фраз, и смотрю, что получится.
Если найдено много вариантов, то фраза правильная, если не очень много — то неправильная.

image

Вот, написал сервис, который отсылает запросы в Google, а сам подсвечивает, «правильно», или «неправильно» написаны куски предложения, и местами даже подсказывает — какое слово можно поставить на то, или иное место в предложении.
Еще он показывает в каком именно контексте найдено слово.

Замечательно то, что ему все равно, какой язык вы проверяете.

Читать дальше →
Total votes 164: ↑157 and ↓7+150
Comments114

51 Веб Приложение для Дизайнеров и Разработчиков

Reading time11 min
Views13K
Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...
Total votes 101: ↑86 and ↓15+71
Comments26

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

Reading time2 min
Views29K
image В предыдущем посте я рассказывал о методах борьбы с проблемой «не могу заснуть». Тема оказалась востребованной, и я решил написать о своих методах борьбы с проблемой «не могу проснуться».

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

А потом я, не без помощи интернета, выработал свой способ просыпаться так, чтобы минимизировать неприятные ощущения. Итак, как я просыпаюсь по утрам…
Читать дальше →
Total votes 183: ↑155 and ↓28+127
Comments211

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

Список полезных PHP классов и библиотек

Reading time4 min
Views64K

Email


  • Swift Mailer
    Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
  • PHPMailer
    Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

Читать дальше →
Total votes 175: ↑145 and ↓30+115
Comments75

Управление проектами с почасовой оплатой

Reading time5 min
Views4.1K
Расскажу о том, как превратить почасовую оплату в отличный способ управления проектом. А также о том, как заказчику (менеджеру проекта) не волноваться о завышении сроков разработчиком, а разработчику не беспокоиться, что заказчик будет его двигать по срокам.

время-деньги
Total votes 23: ↑13 and ↓10+3
Comments22

Simpla — движок для великолепных интернет-магазинов

Reading time7 min
Views13K


Последние 5 лет я создавал интернет-магазины. Много магазинов. Хороших и разных. Я был сам себе программистом, верстальщиком, дизайнером и менеджером.

Нельзя быть профессионалом в нескольких областях сразу, скажете вы. И, наверное, будете правы. Я не профессионал в дизайне и окучивании клиентов. Но интерес к этим областям и необходимость соответствующей деятельности дали мне кое-что. Тысячи вопросов за техподдержкой, бесконечные консультации клиентов и их контент-менеджеров, изучение чужих целевых аудиторий, общение с программистами, дизайнерами и верстальщиками от заказчиков подарили мне неплохой опыт. И главное — опыт не в одной области, а опыт во всех гранях процесса создания интернет-магазина. От программирования и дизайна, до общения с клиентом и анализа его бизнес-процессов.

Обычная история


Думаю, многим знакома ситуация, когда после создания сайта, на протяжении нескольких месяцев вам звонят с вопросом «как вставить картинку на сайт» сначала заказчик, потом его секретарша, потом новая секретарша, потом менеджер по продажам (секретарша в отпуске). А потом звонит их новый «компьютерщик», чтобы узнать какой файл ковырять, чтобы вставить красную бегущую строку справа от логотипа. И так далее, и тому подобное.

Читать дальше →
Total votes 233: ↑218 and ↓15+203
Comments446

Принципы usability для CMS

Reading time4 min
Views2K
Ни разу не слышал, чтобы наши (читай: совковые) вендоры коробочных CMS заказывали usability тестирование своих продуктов. Напрашивается два основных вывода:
  1. Usability этих систем и так на высоте! В каждой компании есть свои usability специалисты, которые принимают участие в разработке на всех стадиях развития продукта – организуют тестирования, дают рекомендации, экспертную оценку и т.д. В таком случае это UDD – User-Driven Development.
  2. Usability этих систем по-взрослому сосет. Программеры делают функционал. Дизайнеры делают дизайн. Маркетинг делает продажи. Программер думает об эклипсе. Дизайнер думает о фотошопе. Маркетолог думает о пауерпоинте. Ну а конечный пользователь периодически задумывается обо всех трех сразу – об их интеллекте, сексуальной ориентации и месте произрастания их передних конечностей. Это методология AUDD – Anti-User-Driven Development или Angry User Driven Development.
Если вам известны компании, которые работают по первой схеме, то дайте знать. На ребят, делающих все по второй схеме, я насмотрелся вдоволь, поэтому считаю полезной для всеобщего ознакомления публикацию «11 usability principles for CMS products» за авторством James Robertson. Далее позволю себе привести вольный пересказ списка из одиннадцати принципов CMS usability, которые выделяет Джеймс, с моими комментариями.
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments19

Как быстро начать и эффективно продолжить писать расширение для лисы

Reading time1 min
Views1.1K

Обычно цикл разработки таков:


1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.

Стало страшно? Тогда…
дальше про то как userChrome.js позволяет обойтись без перезагрузки и сократить количество шагов до двух
Total votes 48: ↑43 and ↓5+38
Comments17

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity