Как стать автором
Обновить
9
0

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

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

«Система личных сообщений 2.0» или «две истории»

Время на прочтение3 мин
Количество просмотров3.7K
Статья посвящена системе личных сообщений, но только в новом формате, который, по моему скромному мнению, больше подходит под систему ценностей «web 2.0».
Больше ничего не скажу, хоть пытайте!


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

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

Плохая новость заключается в том, что за год я ничего не сделал с этой прекрасной идеей, никому ее не рассказал, и никому не показал. Как ни печально, но это факт.

Шутки — шутками, а потехе — час! Сегодня я расскажу вам все самое сокровенное, а внимательный читатель, чем черт не шутит, вынесет из этого повествования что-нибудь полезное.
что он написал?
Всего голосов 105: ↑69 и ↓36+33
Комментарии72

Статистика Google Analytics на вашем сайте

Время на прочтение6 мин
Количество просмотров17K
Помню, как-то проскакивала пара записей (здесь и здесь) по поводу импортирования данных из Google Analytics для отображения сводных диаграмм на сайте, в общем, как на хабре. Прочитав вышеупомянутые топики и не обратив особого внимания тогда, я о них успешно «забыл» и пошел себе дальше. И вот сейчас, появилась необходимость реализовать нечто подобное на одном из своих проектов.

image

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

UPDATE:
Добавил еще одну версию, подробности и линк под катом.

Читать дальше →
Всего голосов 97: ↑92 и ↓5+87
Комментарии142

Выбор серверного дистрибутива Linux

Время на прочтение1 мин
Количество просмотров33K
Два больших монолитных проекта стартовавшие много лет назад, потребовали новых мощностей как от железа так и от нас разработчиков. В связи с этим завтра в стойку ставиться новый HP сервак на который будет переведен один из проектов. Рэйд 5, 4 ядра и некоторые другие приятственные вещи не требующие упоминания. Подниматься будет исключительно линуксовая среда. От чего и возник вопрос о смене текущего Альта на на что нибудь более адекватное и отзывчивое.
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии211

Делаем страницу 404-й ошибки разумной с помощью Google

Время на прочтение2 мин
Количество просмотров6.5K
Вот я прошёлся по блогам и сайтам, которые висят у меня в подписках, и понял, что всё печально. Если намеренно вызвать страницу 404-й ошибки, то можно напороться на все возможные отмазки, пустую страницу, либо на страницу, которую генерит сервер. Ну или на крайний случай — sitemap. Часто любят выкладывать туда смешную картинку.
Читать дальше →
Всего голосов 116: ↑108 и ↓8+100
Комментарии45

«Типографские» раскладки клавиатуры

Время на прочтение6 мин
Количество просмотров29K
По просьбам трудящихся коснёмся темы «типографских» раскладок клавиатуры. То есть, как системных средств Windows, так и сторонних программ, позволяющих вводить различные специальные символы с помощью клавиатуры (обычно, правой клавиши Alt, она же AltGr).

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

Также в самом начале скажу, что по моему мнению и мнению некоторых моих коллег использование «типографской» раскладки клавиатуры при определённом навыке (который нарабатывается за неделю-две) гораздо эффективнее в смысле соотношения затрат сил и качества набранного текста, чем использование «автоматизированных типографов» вроде лебедевского и других. Проблема в том, что автотипографы всё равно не справляются с типографированием текстов идеально. А как показывает наша практика, искать ошибки в типографированном тексте тяжелее, чем типографировать текст «с нуля». Конечно же, это в меньшей мере относится к случаям, когда необходимо типографировать длинные литературные тексты, где автотипографы справляются относительно хорошо, а затраты на ручное типографирование весьма велики.

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

Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии84

Лицензия Ubuntu для украинского (и не только) законодательства

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

Естественно, мы забеспокоились о собственной безопасности. У нас на данный момент на всех десктопах установлена Ubuntu 8.04 LTS, несколько человек приходят с ноутбуками, где стоит лицензионный и не очень софт.

По непроверенным данным люди в погонах требуют наличие лицензии на софт даже если он бесплатный. В свете этих событий, прошу совета и ответа на несколько вопросов у хабралюдей, сталкивавшихся с подобными ситуациями. Сделайте, пожалуйста, приписку к своему комментарию — о какой стране идет речь. Лично меня интересует Украина. Также, было бы неплохо увидеть несколько примеров из жизни и комментарии хабралюдей с юридическим опытом
Читать дальше →
Всего голосов 113: ↑111 и ↓2+109
Комментарии341

jQuery для начинающих. Часть 3. AJAX

Время на прочтение11 мин
Количество просмотров455K

Представляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов...
Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии36

Ускоряем wordpress

Время на прочтение11 мин
Количество просмотров10K
Привет.
Думаю, среди читателей хабра найдется немало тех, кто имеет stand-alone blog на движке wordpress.

Так вот, для вас, дорогие мои, у меня есть две новости, как водится, плохая и хорошая.
Плохая состоит в том, что wordpress — довольно-таки тормознутая штука.
Виноваты в этом в основном криворукие производители тем и, особенно, криворукие производители плагинов. Особенно кривой плагин, на мой вкус, wp-ajax-edit-comments, который является образцом быдлокодинга.

Хорошая — в том, что это можно поправить.

Делается это примерно так:
Всего голосов 63: ↑52 и ↓11+41
Комментарии35

Nginx UploadProgress Module

Время на прочтение2 мин
Количество просмотров7.3K
Модуль для nginx, с помощью которого достаточно просто мониторить прогресс загрузки файлов на сервер. Ранее были подобные решения, через модули к php, ruby, через стороние скрипты, flash объекты итп. Автор предлагает универсальное решение на уровне web сервера. Подробную информацию и инструкции вы можете найти на wiki.codemongers.com (кстати, один из лучших проектов, посвященных nginx`у). Тут я хотел обратить внимание на другое.
Использовал модуль совместно с nginx upload module, работает на ура. Однако файлы, что я заливаю, достаточно большие (поддерживаю файлообменник), пытался запихнуть в директиву upload_progress размер обрабатываемых файлов — 1g, при релоаде nginx`а получил варнинг, мол непонятный размер вы поставили. Странно, т.к. в client_max_body_size у меня стоит 1g и нормально себя чувствует. Глянул исходники nginx`а и модуля, выяснелось, что модуль обрабатывает директиву upload_progress функцией ngx_parse_size, тогда как сам nginx обрабатывает ту же client_max_body_size соседней функцией ngx_parse_offset, функции абсолютно идентичны (на мой взгляд), разве что первая не понимает размерность «g», а вторая понимает =) Для того, чтобы модуль нормально обрабатывал размерность в директиве upload_progress, надо в исходнике модуля (ngx_http_uploadprogress_module.c) в строчке 1151 исправить ngx_parse_size на ngx_parse_offset.
В общем это не критично, т.к. директива нормально обрабатывает значение 1024m, но как-то нелепо выглядит подобная запись =)))
А вообще модуль очень понравился, очень удобное решение, не зависящее от бэк-енда.

update: Внимание, совершил глупую ошибку. Стыдно. Деректива upload_progress задает не максимальный размер загружаемых файлов для указанной зоны, как я думал, а размер оперативной памяти, выделяемой для обсчета одной загрузки в эту зону. Значение для этой дерективы — 1,2m, максимум 10-20m. Задавая 1g вы будете тратить гигабайт оперативки на каждую загрузку. Стыдно, ошибку не повторяйте.
p.s. тем не менее баг найден, автору сообщил, он обещал исправить.
Всего голосов 63: ↑57 и ↓6+51
Комментарии23

Старт блога

Время на прочтение1 мин
Количество просмотров1.1K
Странно, что подобного блога еще нет на Хабре. Имею честь начать.
Я не претендую на гуру nginx, но использую его уже значительное время и имею представление, что это.
Всем привет, вливайтесь.
Всего голосов 103: ↑88 и ↓15+73
Комментарии26

Мой опыт образования

Время на прочтение3 мин
Количество просмотров2.6K
UP: Gregory дал очень интересную ссылочку, похоже, это решение проблемы. Собственно, ее можно сразу и читать.

Будучи занят в обучении людей (ВУЗ и тренинги, курсы повышения квалификации), вижу, что образование в традиционном смысле дает очень мало полезного (собственно, я не открываю Америку).
Мне интересны причины такого положения вещей:
Читать дальше →
Всего голосов 75: ↑60 и ↓15+45
Комментарии144

JS-тень

Время на прочтение1 мин
Количество просмотров1.5K
Может быть я изобретаю велосипед, но от нечего делать решил попробовать сделать тень средствами яваскрипта, вот что из этого получилось

js-тень
Пользуйте на здоровье :)

UPD: Добавил смещение тени
Всего голосов 148: ↑136 и ↓12+124
Комментарии61

Веб-технологии. Что включить в изучение HTML?

Время на прочтение2 мин
Количество просмотров5.8K
HTML — это наше все. В уже дважды обсуждавшемся тут базовом курсе по веб-технологиям (Лекция 2 и все готовые лекции в одном файле, Структура курса) эта тема, конечно, присутствует.

Как верно заметил один из участников дискуссии, «айсберг очень велик», и поэтому дать на лекциях все и подробно невозможно.

Прошу хабражителей помочь определиться с главным: что по теме HTML должен знать будущий профессиональный технолог (практическая работа — верстка psd-макета в XHTML).

Под катом — цели преподавания HTML и программа-максимум по структуре лекции (предел — 2 пары, т.е. 3 астрономических часа).
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии27

Обрати внимание

Время на прочтение1 мин
Количество просмотров693
ui
Зачастую необходимо обратить внимание пользователя на какую-либо деталь интерфейса.

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

Я хочу Вам показать прием позволяющий обратить внимание пользователя, на мой взгляд, с большой точностью.
Читать дальше
Всего голосов 75: ↑50 и ↓25+25
Комментарии36

MaxSite CMS — первые впечатления

Время на прочтение1 мин
Количество просмотров15K
Вчера на одном из своих блогов поставил MaxSite CMS 0.22. Первые впечатления только положительные. Автор этой системы, Максим, долгое время занимался поддержкой русской версии WordPress, и вот к сентябрю этого года выпустил систему собственного изготовления, за что ему однозначный респект. Что можно отметить в первую очередь:

1. От тормознутости Вордпресса здесь не осталось и следа. Система легкая и ест совсем немного памяти.

2. В системе абсолютно ничего лишнего, по крайней мере, сразу возникает такое ощущение.

3. Настройки и вообще работа с CMS очень удобны и очевидны. У меня ушло не больше часа на то, чтобы поднять сайт, настроить его и скопировать туда свои старые тексты по теме.

4. Поддержка на очень хорошем уровне: на какие-то вопросы или замечания Максим отвечает очень быстро. Я вчера пожаловался на то, что немного некорректно работает плагин, создающий XML Sitemap, и уже буквально через час автор выложил исправленную версию.

Ну что ж, буду использовать дальше и тестировать прочие возможности. В ближайшее время планирую заняться созданием собственного темплейта.
Всего голосов 68: ↑48 и ↓20+28
Комментарии55

Ограничения на названия логинов

Время на прочтение1 мин
Количество просмотров7.6K
Добрый день. В этой заметке я хотел бы поговорить об ограничениях, которые выставляются в сервисах на логины.

Создавая очередной сервис, я исхожу из следующих соображений:
1. Логин не должен быть слишком короткий (у меня сейчас от 3 символов включительно, для более крупных систем, типа GMail, используется от 6).
2. Логин не должен быть слишком длинный, иначе в каком-нибудь интерфейсе он начнёт что-нибудь неправильно распирать. Я использую логины до 20 символов, но интересно выслушать ваши мнения по этому поводу.
3. Логин может использоваться в адресной строке, при интеграции с SMS и проч. Поэтому оставляем только латинские символы, цифры, подчёркивание, дефис и точку.
3а. Если логин может быть использован как имя поддомена, то эти условия сокращаются до символов латинского алфавита, цифр и дефиса (дефис не может быть первым и последним, он не может повторяться).
4. Иногда очень удобно использовать двойную навигацию: по логину и ID. Например, у нас на одном сервисе используется адрес domain.com/users/<login> для пользователей с логином и domain.com/users/<id> для тех, у кого нет логина (т. н. виртуальные профили, которые зарегистрированы администрацией или другими пользователями). Это приводит к тому, что логин не может состоять только из цифр, чтобы не путать его с идентификатором.
5. Слова-исключения: www, mail, ns1, ns2, ns3, ns4, admin, god, moderator, editor. Первые 6 являются исключениями для совместимости с поддоменами. А какие слова-исключения используете вы?

И основной вопрос к читателям: какие ограничения стоят у вас, и что я забыл?
Всего голосов 65: ↑50 и ↓15+35
Комментарии94

Индустрия it-велосипедов

Время на прочтение9 мин
Количество просмотров4.3K

Введение


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

Почитав комментарии к которому, мне стало уж совсем плохо… Я просто не понимал как люди не видят сути проблемы, а видят только лишь ее последствия — проблему в велосипеде. А суть то заключается в том, что у автора напрочь отсутствуют какие-либо познания в «велосипедостроении». И что самое страшное — эти знания отсутствуют не у одного него. А практически у всей массы изобретателей которые сами велосипеды видели только на картинках. 

А если взять в расчет то, что они не хотят даже посмотреть на другие велосипеды…
 
Читать дальше →
Всего голосов 191: ↑145 и ↓46+99
Комментарии154

Плавный переезд

Время на прочтение3 мин
Количество просмотров11K
После того, как мне попались на глаза рассказы о переезде информационной инфраструктуры компании с места на место, я подумал, что переезд среднего контентного интернет-проекта с одной площадки на другую — тоже довольно интересная тема. Особенно интересно то, как сделать это с минимальными перебоями в работе.

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

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

Рассказ рассчитан на подготовленную аудиторию и не является точным пошаговым руководством к действию.

Читать дальше →
Всего голосов 76: ↑73 и ↓3+70
Комментарии34

10 jQuery скриптов для улучшения интерфейса

Время на прочтение3 мин
Количество просмотров11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →
Всего голосов 133: ↑124 и ↓9+115
Комментарии34

Ajax-машина

Время на прочтение11 мин
Количество просмотров4.1K
Знали ли разработчики LiveScript из Netscape о том, какое влияние окажет их язык, позже переименованный в JavaScript, на лицо интернета — веб-сайты, или, может быть, они твердо на это рассчитывали, но факт остается фактом — JavaScript на сегодняшний день является одним из самых важных и распространенных языков в мире.

В то время, как на стороне сервера трудится разношерстная компания языков в лице php, perl, python, ruby, .net, java и многих других, на стороне клиента JavaScript существует буквально в гордом одиночестве. Фактически, из маленького дополнения к html, JavaScript превратился в полноправного члена банды «html+css+js», который, зачастую, уже командует остальными, сверкая золотым браслетом с надписью «ajax» и делая недовольное лицо $( ) при случае.
продолжить чтение
Всего голосов 142: ↑131 и ↓11+120
Комментарии91

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность