Search
Write a publication
Pull to refresh
15
0
Imenem @Imenem

User

Send message

Оптимизируем загрузку библиотеки ExtJS до двух запросов

Reading time3 min
Views1K
Я хочу поделиться решением, которое я использую для оптимизации загрузки админки, разработанной с использованием библиотеки ExtJS. Это решение применимо не только непосредственно к ExtJS, но для данной библиотеки, это очень актуально. Заранее предупреждаю, что решение очень плохо, если почти никак, работает с семейством 60- и 70-летних интернет стариков-эксплореров.

Проблема:


Почти первое, что сразу отпугивает большинство разработчиков и заказчиков, перед тем как приступить к разработке на extjs — «блин, да это же почти мегабайт жаваскрипта!?!». По сути так оно и есть, а если включить в список для загрузки файлы css стилей и картинки, то можно получить и все полтора-два. Приправим блюдо плагинами, что неизбежно, ведь в этом и есть плюс extjs — мощные плагины, то на закуску прилагается много скриптиков, каждый требующий запрос к серверу.

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

Если вы подумали, что я опишу способ загрузки скриптов «по требованию», который существует и для ExtJS, то нет. Мое решение хоть и грубое, но дает получить все и сразу, хоть и накладывает определенные ограничения.
Итак…
Читать дальше →

Поиск — это просто

Reading time3 min
Views3.7K
Google, конечно, ищет хорошо, но корпоративные ресурсы вывешивать на открытый доступ нельзя, покупать google-mini с его ограничениями тоже не вариант. А поиск по базе внушительных размеров(4 гигабайта текстов, по которым и необходим поиск) надо. А если добаить к поиску по тексту еще и поиск по каким-то параметрам, то тут и google-mini не поможет и совсем страшно становится.

Но не стоит паниковать! На помощь нам приходит Sphinx — поисковый движок с открытым исходным кодом, который можно прикрутить практически к чему угодно не прилагая особых усилий

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

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views811K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста

Вероятностный морфологический анализатор русского и украинского языков на PHP

Reading time3 min
Views3.7K
Перед каждым разработчиком сайтов рано или поздно становится вопрос о реализации поиска по сайту. Желательно чтобы поиск был по основе слова, т.е. не учитывал окончания слов. Для этой цели используются программы стеммеры, которые и выделяют из слова основу. Многие стеммеры работают на основе словаря, и вот чтобы не использовать огромные словари в небольших и средних проектах можно использовать вероятностный морфологический анализатор. Его отличительная особенность в относительно малом размере базы данных и соответственно в отсутствии нагрузки на базу. Без больших потерь в качестве выделения основы.

Стемминг — это процесс нахождения основы слова для заданного исходного слова. Основа слова необязательно совпадает с морфологическим корнем слова. Алгоритм стемминга представляет собой давнюю проблему в области компьютерных наук. Данный процесс применяется в поиcковых системах для обобщения поискового запроса пользователя.
Конкретные реализации стемминга называются алгоритм стемминга или просто стеммер.

Заинтриговал?

Как не стать спамером со своей уютной рассылочкой

Reading time1 min
Views67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

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

Юзабилити приложений. (Часть 1: Интернет магазины)

Reading time4 min
Views1K
Интернет магазин – это витрина, фасад здания, персонал, освещение… думаете я ошибся и описываю обычный магазин. Нет, интернет магазин не сильно отличается от своего реального аналога. Главная страничка – это фасад, вывеска, оформление магазина. Поиск – это продавцы-консультанты… и так далее… Открыть успешный бизнес в сети не проще чем в реальности, правда затрата денег намного меньше.
Интернет-магазин, очень заманчивый бизнес, в этой статье я рассмотрю проблемы, связанные только с юзабилити у большинства интернет-магазинов. Проще всего учиться на ошибках других, давайте этим и займемся!
Читать дальше →

Web 1.5 или частичная замена Ajax

Reading time10 min
Views1.5K
Здравствуй %хабраюзер%.

Хочу поделиться с тобой идеей/реализацией аналога технологии ajax которая в отличии от первого лишена основных его недостатков. Из вики об ajax мы знаем что:

Преимущества
  • Экономия трафика;
  • Уменьшение нагрузки на сервер;
  • Ускорение реакции интерфейса;

Недостатки
  • Отсутствие интеграции со стандартными инструментами браузера;
  • Динамически загружаемое содержимое недоступно поисковикам;
  • Старые методы учёта статистики сайтов становятся неактуальными;
  • Усложнение проекта;


Придуманная идея Template client cache (далее TCC) обладает те ми же достоинствами, что и ajax, но полностью лишена её недостатков.
Но, давайте по порядку.

Нюансы и алгоритмы программирования движка для маркетинговых онлайн-исследований

Reading time13 min
Views878
Доброго времени суток, уважаемые хабравчане. Давно меня подмывало написать подобный мануал, и вот, решил таки себя заставить сесть и написать его — поделиться некоторым опытом, который получил во время своих программистских изысканий в сфере маркетинга и о некоторых алгоритмах, заложенных в движок, на котором был реализован не один проект.
Читать дальше →

10 лучших stop-motion видеороликов на YouTube

Reading time2 min
Views47K
imageСоздание stop-motion видеороликов — труд зачастую бескорыстный, но достаточно кропотливый. Ниже представлена коллекция из десяти видеороликов, созданных людьми, которые были по-настоящему вовлечены в свою работу.

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

Итак, 10 невероятных покадровых видеороликов:

1. Stop Motion With Wolf And Pig



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

Рекомендации к выполнению тестовых заданий

Reading time4 min
Views2K
Как-то в нашу компанию потребовались ASP.NET-разработчики. Ну и чтобы сэкономить свое время на продолжительных собеседованиях мы предварительно просили соискателей выполнить несложное тестовое задание.

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

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

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

Паттерны проектирования

Reading time2 min
Views49K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →

Автоматизация использования Javascript API Вконтакте

Reading time7 min
Views3.9K
Пару дней назад, как обычно, никого не поставив в известность, Контакт добавил возможность разработки приложений на JavaScript, подключаемых через iframe. Доступ к API в этих приложениях, в общем-то, такой же, как и доступ к API из Flash — так или иначе, это обычный REST-протокол. Параметры передаются через строку запроса GET, а результат возвращается в виде JSON или XML.

Одной из проблем использования API Вконтакте является передача кроссдоменного запроса на http://api.vkontakte.ru/api.php. Другая проблема — громоздкое вычисление подписи, которой необходимо подписывать все запросы.
Читать дальше

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views201K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


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

Подключаемся к камерам наблюдения

Reading time2 min
Views42K
image

Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
Читать дальше →

Аналоги Safari Reader для других браузеров

Reading time1 min
Views11K
Как известно, в выпущенном сегодня Safari 5 появилась очень удобная функция — Safari Reader.

Safari Reader

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

К счастью, этой замечательной функцией можно пользоваться не только в новой версии Safari. Пользователи Google Chrome могут установить расширение «Readability Redux», а пользователи Firefox — аналогичное расширение «Readability». Также можно просто добавить на панель инструментов любого браузера букмарклет, код которого можно получить на странице lab.arc90.com/experiments/readability/.
Читать дальше →

MODx и парсер таблички с чужого сайта

Reading time4 min
Views2.6K
Наверное любой программист слэш администратор сайта сталкивается с проблемой импорта данных с чужих сайтов. Задача эта очень тривиальна, и не требует каких-то особых знаний… вопрос только в обертке. Чтобы дополнить коллекцию статей по MODx пишу эту статью, быть может кому и пригодится.
Внимание! Никакой практической ценности данная запись не несет, только теоретическую нагрузку а-ля «Простой пример работы с back-end'ом MODx».
А задача была: таблицу со страницы example.com распарсить, переоформить и себе на сайт засунуть.
Читать дальше →

Chem4Word — редактор химических формул для Office

Reading time1 min
Views37K
Команда Microsoft Research представляет свою новую работу — расширение для Office, которое позволяет добавлять и редактировать в офисных документах представления химических формул. Для создания формул в полной мере поддерживается специализированный язык разметки Chemical Markup Language.

image

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

via blogs.msdn.com/msr_er/archive/2010/03/23/introducing-chemistry-add-in-for-word.aspx

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity