Pull to refresh
10
0

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

Send message

PHPLego: Ненавязчивый AJAX

Reading time9 min
Views21K


Здравствуйте дорогие хаброчитатели!

Думали ли Вы когда-нибудь о том, чтобы Ваш сайт одинаково хорошо работал с включенным JavaScript-ом и без JavaScript-а? Чтобы, если JavaScript включен, блоки сайта перегружались AJAX-сом, а если JavaScript-а нет, то происходил просто переход на новую страницу?

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

Для себя я сформулировал задачу, по следующим критериям:
  • Переход по разделам сайта внутри и вне блоков должен осуществляться обычными ссылками, без каких бы то ни было onclick=”…”.
  • При включенном JavaScript-е блоки сайта перегружают только свою область страницы (свой div). При выключенном JavaScript-е должен происходить обычный переход по ссылке.
  • Должен существовать только один глобальный обработчик нажатия на ссылки $(“a”).click(…), который и делает всю работу по перегрузке нужных элементов страницы. Если же JavаScript отключен, то этот обработчик просто не срабатывает, и сайт продолжает работать в обычном режиме.
  • Постинг форм при включенном JavaScript-е также обновляет только ту область, в которой находится эта форма. При отключенном – все работает как обычно.
  • Должна быть возможность запретить AJAX-презагрузку некоторым областям страницы, например, поставив им какой-нибудь класс «noajax». Это если после перехода по ссылке меняется слишком много данных на странице, и они все в разных блоках. Тогда разумней перегрузить всю страницу целиком, чем обновлять каждый блочёк по отдельности. Оно и быстрее будет.
  • Должна быть возможность указать ссылке блок, который она должна перегрузить. Допустим, если нам нужно перегрузить не только текущий блок, но и блок родитель.
  • Если блок был загружен ранее, то он должен браться из кеша, дабы не гонять лишний трафик и не напрягать лишним запросом сервер.
  • В случае, если блок загружен из КЭШа, пользователь должен как-то понимать что эта не самая актуальная информация, и иметь возможность обновить блок.
  • Никакого JavaScript-a. Это конечно мое личное мнение, но я ненавижу писать на JavaScript-е. Поэтому я добавил еще один пункт. Смысл его в том, чтобы разрабатывая модули к сайту я не писал ни строчки JavaScript-а (ну максимум одну-две на модуль, и то для каких-нибудь чекбосов в форме). Не знаю, как ты, дорогой хаброчтец, но я, твою мать, лучше продам свою душу дьяволу, чем буду дебажить свой JavaScript во всех многообразиях браузеров!


Ну, вот собственно и все пожелания. Итак, приступим к реализации…
Читать дальше →
Total votes 79: ↑66 and ↓13+53
Comments83

3 главные проблемы сайтов web-студий

Reading time3 min
Views15K
Не самая новая тема, не самые свежие идеи. Но, раз количество сайтов с подобными ошибками только растёт, мои советы могут быть вам полезны.

image

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

#1: Текст главной страницы


Надеюсь, не нужно объяснять, насколько важен для web-сайта хороший текст. Особенно, если сайт коммерческий. Но, в то же время, тексты 90% сайтов web-студий СНГ бесполезны. Почему я так считаю?

Давайте посмотрим на вопрос со стороны заказчика и будем предельно откровенны. Сколько студий «уже 10 лет на рынке web-разработки»? Сотни. В скольких студиях «работают только квалифицированные специалисты»? Во всех. У какой студии «самая качественная и расширяемая CMS»? У каждой.
Читать дальше →
Total votes 151: ↑128 and ↓23+105
Comments102

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Reading time8 min
Views28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.
Total votes 197: ↑152.5 and ↓44.5+108
Comments407

Настройка и оптимизация MySQL сервера

Reading time9 min
Views312K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments19

Менеджеры проектов гибнут в одиночку и зря: подними флажок!

Reading time4 min
Views2.9K
В работе я постоянно встречаю особых людей, которых объединяет черта характера, скрытая до тех пор, пока у вас нет общих задач. Одни — умны, прагматичны и педантичны. Вторые — никогда не унывают и всегда помогут советом. У третьих — харизма и обаяние такой силы, что над цитатой «бойтесь харизматиков, системы приносящих» можно вешать их фотографию.

Четвертые обладают оригинальным чувством юмора и способностью видеть вещи под другим углом. Пятые могут просочиться на любые мероприятия и взять с собой друзей. А шестые сидя в офисе постоянно ворчат и никого не любят. Всех этих людей объединяет одно — они не поднимают флажок.
Читать дальше →
Total votes 74: ↑65 and ↓9+56
Comments38

Как покупать через twitter

Reading time1 min
Views9.6K
Итак, первыми в рунете мы реализовали подбор товаров через твиттер по тегу #wishbuy. Если вам интересно, как мы сделали это технически — спрашивайте, постараемся ответить.

Итак, пишем твит:
Я хочу в подарок новый #iPhone к 30.11.2010, Москва #wishbuy
Читать дальше →
Total votes 61: ↑44 and ↓17+27
Comments53

Memcached и PHP ликбез

Reading time6 min
Views223K
В интернете достаточно много информации на данную тему, но, несмотря на это, многие обходят её стороной. Цель данного поста, разъяснить на пальцах основы взаимодействия с Memcached.
Читать дальше
Total votes 103: ↑78 and ↓25+53
Comments87

Несколько фишек для изучающих английский язык

Reading time1 min
Views48K
1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm

Надеюсь каждый нашел для себя что-то полезное:)
Total votes 190: ↑171 and ↓19+152
Comments114

После всех асинхронных вызовов

Reading time3 min
Views8.4K
Итак, мы пишем приложение с кучей асинхронных запросов. Нам надо отправить два асинхронных запроса и обработать их результат только после того, как будет получен результат обоих. Например, это могут быть ассинхронные обращение к файлу и запрос к базе, результат которых надо сложить вместе и обработать. Или два аджакс запроса.
Но особенность асинхронных запросов в том, что мы не знаем, какой из них придёт первым, а какой — последним. Решают это разными способами, но я не видел еще красивого и изящного. В топике я расскажу, как я это вижу.
var process = processFsAndDb.after('fs', 'db');

asyncFsAccess( file, process.fs);
asyncDbAccess(query, process.db);

Читать дальше →
Total votes 71: ↑67 and ↓4+63
Comments114

apache+nginx+gzip_static+yuicompressor

Reading time6 min
Views15K
В этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments71

Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов

Reading time8 min
Views29K
WTF is Node.js?

Node.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.

При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.

Так что же такое Node.js?
Total votes 243: ↑235 and ↓8+227
Comments252

Серверный редирект на мобильную версию сайта

Reading time2 min
Views37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →
Total votes 77: ↑68 and ↓9+59
Comments35

Web Dogma. 10 правил создания сайтов для пользователей

Reading time2 min
Views11K
image Сегодня мне случилось побывать на лекции Эрика Райса (Eric Reiss), специалиста по вопросам информационной архитектуры, юзабилити и user experience.

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

Лекция была посвящена набору правил (Эрик называет их догмой), следование которым позволит создавать сайты для пользователей, свободные от диктата технологий и моды.

Вот эти 10 правил.
Читать дальше →
Total votes 102: ↑88 and ↓14+74
Comments110

Создаем landing page: чек-лист для новичков

Reading time3 min
Views50K
Если вы эксперт по разработке пользовательских интерфейсов и юзабилити, если количество разработанных вами лэндингов больше 10, если вы уже прочитали сотню статей по этой теме с рекомендациями профессионалов — наш пост не для вас. Он скорее для тех, кто только начинает…



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

Читать дальше →
Total votes 43: ↑34 and ↓9+25
Comments16

Регистрация своей фирмы собственными руками, туду-лист

Reading time12 min
Views51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

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

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.
Total votes 372: ↑351 and ↓21+330
Comments248

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

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

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


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

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

1. Идея!


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

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

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


Необходимо хотя бы примерно ответить на эти вопросы:
  • область применения
  • какие задачи поможет решить
  • какие инструменты применяются для решения задач
  • что вы хотите получить в процессе и в результате реализации
  • какие-то существенные моменты, которые вам просто необходимо изложить, чтобы не потерять в будущем
На этом этапе ещё рано отвечать на вопросы:
  • сколько времени вы можете уделить (если идея вас реально интересует, вы перейдёте к следующим этапам)
  • сколько на это нужно денег
  • кто вам ещё нужен для реализации идеи
Читать дальше →
Total votes 153: ↑133 and ↓20+113
Comments52

MRP — золотая жила для консультантов. Но не для бизнеса

Reading time9 min
Views10K
Окончательный текст этой статьи сформировался у меня в голове, когда по телевизору увидел рекламу очередной бритвы. У нее пять лезвий и она — лучшее, что, когда либо, было в бритвенной промышленности. Так утверждает реклама. У меня бритва с тремя лезвиями, хотя до этого у меня была с двумя и прекрасно брила, но мне подарили с тремя. Зачем мне может понадобиться с пятью, я вообще ума не приложу. Но маркетинг побеждает здравый смысл, и люди, несомненно, эту штуку купят, хотя на вопрос «зачем она вам», ответить смогут не всегда. Одна сменная кассета к этой новой бритве из пяти лезвий наверняка будет стоить столько же, сколько вся моя бритва вместе с двумя сменными кассетами. Ниже вы поймете, почему именно этот пример я привел.

В бизнесе тоже маркетинг зачастую побеждает здравый смысл.

Читать дальше →
Total votes 84: ↑69 and ↓15+54
Comments56

Анонимность, доступная каждому

Reading time7 min
Views61K
imageВсем привет, давайте знакомиться.

Мы – Kebrum, сейшельская компания с русскими мозгами. Наш профиль – анонимность и безопасность в интернете, на данный момент мы запустили VPN сервис и не собираемся останавливаться на этом. Сначала расскажу коротко о сервисе для тех, кто не участвовал в бета-тестировании, а потом пару прохладных историй, как это полагается на Хабре.






Да, давайте знакомиться
Total votes 137: ↑112 and ↓25+87
Comments201

Самый короткий в мире маркетинговый план

Reading time1 min
Views17K
В догонку к посту про макет бизнес модели, не менее полезный «самый короткий в мире маркетинговый план» (так его назвал автор, Келли Одел).

Можно для любой новой идеи, продукта или услуги заполнить эту табличку и сразу увидеть общую картину с перспективами.

Посмотреть план
Total votes 126: ↑115 and ↓11+104
Comments40

Information

Rating
Does not participate
Location
Натания, Хамеркац, Израиль
Date of birth
Registered
Activity