Search
Write a publication
Pull to refresh
9
0
gryzzly @gryzzly

User

Send message

Стратегия поведения на фрилансерских ресурсах

Reading time4 min
Views1.8K
Продолжение, начало было тут.


Итак, вы зарегистрировались на фрилансерском ресурсе и пытаетесь получить заказы. Как известно, побеждают не числом, а умением, поэтому Вам было бы неплохо не заниматься рассылкой одинаковых ответов в стиле «пишите мне, icq#xxx», а выбрать стратегию. Это означает, что работа начинается задолго до регистрации на фрилансерских ресурсах…

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

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views182K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

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

Практический JS: избавляемся от утечек памяти в IE

Reading time2 min
Views1.2K
Примечание: ниже находится перевод статьи Understanding and Solving Internet Explorer Leak Patterns", в которой автор рассматривает некоторые характерные случаи утечек памяти в IE и предлагает методы для их избежания и устранения. Рассмотренные проблемы не являются чем-то новым или революционным, однако, знать об их существовании должен любой уважающий себя программист клиентских интерфейсов. Мои комментарии далее курсивом.

Опубликована: июнь 2005

Развитие веб-разработок



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

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

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

читать дальше на webo.in →

Multitouch контроллер Lemur для музицирования

Reading time1 min
Views951
Видео с концерта, на котором группа Daft Punk играет используя мультитач контроллеры (картинка кликабельна):


А вот ссылка на описание самих контроллеров (картинка кликабельна):


А вот набор примитивов, применяемых для управления (картинка кликабельна):

Стоп! Снято!

Reading time2 min
Views7.2K

О Screencast.


Для начала коротко о том, что такое скринкаст.
Screencast (скринкаст) — Цифровая запись с экрана монитора, со звуком или без.
Так как мы «правильные» пользователи, то будем использовать только Open Source программы.

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

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

10 принципов эффективного веб-дизайна

Reading time11 min
Views54K
Юзабилити и практичность, а не визуальный дизайн, определяют успех или провал любого веб-сайта. Так как именно пользователь — единственный, кто кликает мышкой и, таким образом, принимает все решения, то одним из стандартных подходов для создания успешных и прибыльных веб-дизайнов стал «дизайн, ориентированный на пользователя» (user-centric design). В конце концов, если пользователь не умеет пользоваться той или иной функцией, ею можно легко пренебречь.

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

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

Рисуем графику через ж… жаваскрипт

Reading time2 min
Views3K
Информация в принципе общеизвестная, но новичкам (вроде меня) может быть будет полезно.

Возникла тут недавно потребность рисовать чарты яваскриптом. В итоге была найден элемент canvas от WHATWG и его спецификация. Вещь в высшей степени привлекательная. Позволяет рисовать вот такие штуки:
штуки
Делается примерно так:
Читать дальше →

Оптимизируем «тяжелые» JavaScript-вычисления

Reading time1 min
Views2.1K
Примечание: ниже приведен перевод заметки из блога разработчика YUI-утилит Julien Lecomte «Running CPU Intensive JavaScript Computations in a Web Browser», в которой автор рассматривает выполнение «тяжелых» вычислений в веб-браузере и приводят ряд методов для их «оптимизации». Мои комментарии даны курсивом.

Введение



Шаблон, который я хочу ниже обсудить, хорошо известен и используется уже более 10 лет. Целью данной заметки является представить этот шаблон в новом свете и, что более важно, обсудить возможные пути для уменьшения накладных расходов.

Наиболее существенным препятствием для выполнения в веб-браузере «тяжелых» вычислений является тот факт, что весь интерфейс пользователя в браузере останавливается и ждет окончания исполнения JavaScript-кода. Это означает, что ни при каких условиях нельзя допускать того, чтобы для завершения работы скрипта требовалось более 300 мс (а лучше, если горадо меньше). Нарушение этого правила неминуемо ведет к плохому восприятию ресурса пользователем (bad user experience).

К тому же в веб-браузерах у JavaScript-процесса имеется ограниченное время для завершения своего выполнения (это может быть как фиксированное число — в случае браузеров на движке Mozilla — или какое-либо другое ограничение, например, максимальное число элементарных операций — в случае Internet Explorer). Если скрипт выполняется слишком долго, то пользователю выводится диалоговое окно, в котором запрашивается, нужно ли прервать скрипт.

читать дальше на webo.in →

И снова о speed performance вашего сайта

Reading time3 min
Views2K
Уф… наконец-то я решился написать свой первый пост.

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →

Как повысить продуктивность при чтении.

Reading time6 min
Views9.2K
Те, кто пишет блог, много читает. Это аксиома. Есть наверняка исключения. Но для того и существуют исключения, что бы подтверждать правила.

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

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

Шаг 6: Краткое знакомство с консолью

Reading time3 min
Views14K

Краткое знакомство с консолью


Давайте кратко ознакомимся с терминалом — консолью в Linux.

Консоль

Консоль для Linux имеет решающее значение. Если вы всерьез решили изучить Linux, то вам просто необходимо уметь обращаться с консолью. Сразу скажу, что консоль в Linux превосходит по функционалу консоль (cmd.exe) в Windows, но, видимо, консоль — это удобный инструмент, поэтому Microsoft разрабатывает новый вариант консоли — PowerShell.
Читать дальше →

Шаг 5: Священные войны и немного о каталогах

Reading time3 min
Views1.6K

Идеологии


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

— А у слона хобот длиннее.
— Зато у жирафа шея круче.
— Зато слон быстрее бегает!
— В данном случае это не критично!
— Не согласен!
— А я слышал что мамонт всех их рвет!
— Да ну… это уже старье полное...

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

Про резиновую верстку

Reading time1 min
Views29K
Навеяно этим.

Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.

Как сделать? min-width и min-height.

#site {
  margin: 0 auto; /*это чтоб центрировать контент при превышении max-width*/
  min-width: 980px;
  max-width: 1500px;
}


Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.



А в ie.js помещаем

window.attachEvent('onload', mkwidth);
window.attachEvent('onresize', mkwidth);

var minwidth = document.getElementById("site").currentStyle['min-width'].replace('px', '');
var maxwidth = document.getElementById("site").currentStyle['max-width'].replace('px', '');
function mkwidth(){
    document.getElementById("site").style.width = document.documentElement.clientWidth < minwidth ? minwidth+"px" : (document.documentElement.clientWidth > maxwidth ? maxwidth+"px" : "100%");
};


В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.

Пользуйтесь, короче, на здоровье!

Конструируем форму для комментариев

Reading time3 min
Views4.5K
Хотелось бы изложить свое мнение по поводу темы затронутой в топике «Идеальное комментирование» (автор dezmaster). У меня появились свои идеи, как сделать более удобной эту форму регистрации:

Я, разумеется, не претендую на идеал, но сотни заполненных подобных форм позволяют мне высказать несколько мыслей.
Читать дальше →

Jevix 0.9.5

Reading time2 min
Views1.2K


Опубликована новая версия Jevix — 0.9.5.

Основное отличие новой версии в том, что с этих пор Jevix можно использовать как средство для всестороннего контроля и преобразования текстовых данных больших интернет-проектов с «User-Generated» материалом.

Теперь Jevix умеет не только применять правила типографики, унифицировать HTML/XML разметку, но и контролировать перечень допустимых тегов с возможностью определения списка допустимых атрибутов для каждого тега отдельно. Также предусмотрена возможность предотвращения вероятных XSS-атак, скрытых в HTML-коде.

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

Немного практики: «горячие клавиши» средствами jQuery

Reading time4 min
Views11K

Предисловие



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

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

Правда? И как же?

Сделаем это по-быстрому – habrahabr за пару часов

Reading time4 min
Views4.4K
habradrupal
В последнее время на drupal.ru и habrahabr.ru частенько проскакивают темы вроде: «Делаю социальную сеть – бюджет пара сотен! Помогите сделать хабрастартап!» Отечественные аналитики связывают эту тенденцию с тем, что кризис на ипотечном рынке США тянет вниз за собой рынок в целом, что заставляет игроков на бирже вкладывать в высоколиквидные и надежные активы. Традиционно прибежищем инвесторов в смутные времена является золото, медь да стартапы на просторах бывшего СССР.

Как быть, если денег и других ресурсов пока нет, а вот почувстовать себя Денискиным или Андреевым хочется уже сегодня? Попробуем исполнить соцзаказ и попытаемся по-быстрому сделать сайт напоминающий хабр.
Читать дальше →

XSS-червь: кто меньше?

Reading time2 min
Views9.5K
Наткнулся на днях на новость о конкурсе, в котором предлагают создать минимальный JavaScript-код, который будет сам себя копировать дальше. Автор конкурса — Robert Hansen aka RSnake, достаточно крупный специалист по информационной безопасности.

Условия



По условиям конкурса от кода требовалось следующее:
Читать дальше →

Динамический Favicon

Reading time1 min
Views5.9K
Небольшое эссе о том, как менять Favicon без перезагрузки страницы.

Недавно перед нами стояла задача как динамически менять Favicon без перезагрузки страницы. Решение «в лоб», т.е. замена значения href у favicon link ничего не дала, пришлось крепко задуматься и начать пробовать все возможные альтернативные варианты. Сработал способ пересоздания ноды link в документе. Это удалось заставить работать везде, кроме Internet Explorer. Есть подозрение, что ему не нравится имя файла с иконкой или его формат (PNG).

собственно, код

Information

Rating
Does not participate
Location
Berlin, Berlin, Германия
Date of birth
Registered
Activity