Pull to refresh
2
0
Герман @Lorigin

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

Send message

Использование графа, как основы для создания рубрикатора

Reading time6 min
Views10K

Определения


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

Введение


Рубрикаторы используются для решения самых разнообразных задач:
  • Для ускорения поиска и облегчения навигации по большим массивам информации.
  • Для пометки (тегирования) информации с целью организации выборок по определенным рубрикам
  • Для сортировки информации по:
    областям знаний (физика, математика, биология)
    способам использования (Книги — читать, музыка — слушать, фильмы — смотреть)
    принадлежности (папки мои и общие документы)
    важности (папки inbox и spam) и т.п.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments16

Регулярные выражения для валидации распространенных видов данных

Reading time2 min
Views488K
Для проверки текстовых полей на валидность обычно используют регулярные выражения. Существует несколько наиболе распространенных видов таких даных, как например номер кредитки, дата в определенном формате и т. д. На сайте html5pattern.com собирается коллекция регулярных выражений для таких данных (там это позиционируется, как возможное содержимое html5-атрибута pattern у inpit-элементов, но эти регулярные выражения можно использовать и для привычной валидации с помощью javascript). Актуальные для российской аудитории примеры, вместе с соответствующими регулярными выражениями вы можете посмотреть под катом.
Читать дальше →
Total votes 133: ↑97 and ↓36+61
Comments66

elFinder 2.0 beta. Don't panic!

Reading time7 min
Views18K
«Для многих цивилизаций Восточного Завитка Галактики, не столь церемонных, elFinder уже с успехом заменил прочие web файловые менеджеры и стал общепринятым, поскольку, хотя в нем и встречаются редкие баги, но зато у него есть два больших преимущества.
Во-первых, он дешевле;
а во-вторых, у него есть большая красная кнопка, на которой большими веселыми
буквами написан дружеский совет: Don't panic!»


Сегодня у меня по настоящему счастливый день!
Несколько месяцев крайне напряженной, но невероятно приятной работы позади.
И я с удовольствием представляю — файловый менеджер для web elFinder 2.0 beta!

Хочу выразить огромную благодарность всему сообществу за помощь, патчи и переводы.
Коллегам по студии — спасибо, что взяли на себя всю текучку, чтобы освободить меня для этого проекта.
И хочу представить нового разработчика elFinder — 667bdrm. Он же автор модуля для drupal.
И еще, нам всем очень приятно, что сейчас нет практически ни одного фреймворка, в который бы не был интегрирован elFinder. Кстати, одними из первых это сделали РБК Софт.

Читать дальше →
Total votes 112: ↑101 and ↓11+90
Comments73

Делаем простенький web-сервис с помощью API Яндекс.Метрики

Reading time9 min
Views40K
Всем привет!

Не так давно Яндекс открыл для использования API Яндекс.Метрики. В этой статье я расскажу для чего оно нужно, как им пользоваться и кратко опишу отличия от API Google Analytics.

Кроме того, я покажу, как с помощью этого API сделать web-сервис, в котором можно сравнить текущие показатели сайта с прошлым и посмотреть, как со временем менялась популярность страниц:


Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments11

IPO for dummies. Часть III: процесс IPO, его польза для компании, основателей и владельцев, а также почему у руководства компании при открытии торгов такой замученный вид

Reading time9 min
Views8.4K
Начало и оглавление см. в первой части.

С акциями разобрались, теперь снова про IPO Яндекса… А откуда акции берутся изначально, при IPO, кто источник? Сам Яндекс?

Да.
Читать дальше →
Total votes 142: ↑136 and ↓6+130
Comments58

Webasyst: открытый PHP-фреймворк для создания бизнес-приложений

Reading time2 min
Views2.1K
Хочу рассказать о проекте, который мы недавно выпустили.

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



Фреймворк называется Webasyst, написан на PHP/MySQL/Smarty/jQuery, бесплатный, с открытым кодом (лицензия LGPL).

Немного подробнее под катом
Total votes 68: ↑55 and ↓13+42
Comments47

Атака на отказ в обслуживании методом slow HTTP POST

Reading time5 min
Views41K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →
Total votes 205: ↑194 and ↓11+183
Comments98

20 наиболее необходимых инструментов для проверки отображения сайта

Reading time5 min
Views30K
Доступность контента и отображение информации на сайте чрезвычайно важна. Говоря простым языком, что хорошего может сделать то, что находится у вас на сайте, если определенные люди не смогут увидеть это? Конечно, этот новый модный дизайн с мелким шрифтом и малоконтрастными цветами для вас и ваших друзей выглядит классно, но вот что насчет тех, у кого слабое зрение, или тех, кто не различает некоторые цвета, или тех, у кого какие-либо другие проблемы со зрением — они ведь просто не смогут ничего найти, не говоря уже о том, чтобы прочитать хоть что-нибудь на вашем сайте. Вам надо, даже не «надо», а вы ДОЛЖНЫ сделать свой сайт доступным для как можно большего числа посетителей.

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

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments11

Китай: как заказывать производство или поставку

Reading time7 min
Views186K
Его зовут Плюштой У китайцев можно заказать всё, что угодно: от электронных компонентов до корпуса к устройству или хендмейд-штук. При правильном подходе это дешево, качественно и позволяет реализовывать любые заказы, которые часто сложно разместить на территории СНГ.

В топике — основы аутсорсинга производства в Китай:
  • Как выбрать производителя и сделать заказ
  • Как убедиться, что сделают именно то, что вам нужно
  • Про предоплату, документы, гарантии
  • Как наиболее выгодно доставить
  • Что делать с потерянными поставками
  • Грабли в ассортименте

Да, если же вы уже заказывали в Китае, то ничего шокирующе-нового в топике вы не найдёте (и, может быть, порадуетесь за то, как нас красиво однажды развели).

Читать дальше →
Total votes 208: ↑205 and ↓3+202
Comments183

Сборник советов и фактов по оптимизации PHP-скриптов

Reading time9 min
Views45K
image Эту статью давно стоило переписать (слишком много «экономии на спичках»), но руки не доходят. Пускай весит и напоминает о том, как мы глупы в молодости.
Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать дальше →
Total votes 237: ↑134 and ↓103+31
Comments215

Выбираем сервис массовых почтовых рассылок

Reading time4 min
Views71K
Привет, Хабр!

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



Изображения кликабельны.
Читать дальше →
Total votes 41: ↑26 and ↓15+11
Comments39

HTML в PDF

Reading time2 min
Views120K
html to pdf

В далеком 2008 году уже была написана подобная статья и я попытался применить знания, но, к сожалению, не справился с русским языком (на denwer-е работал, на хостинге нет). Возможно сказалось отсутствие опыта. А недавно нашел хорошую библиотеку и решил поделиться. Топик, скорее всего, адресован начинающим программистом и ни на, что не претендует.
Читать дальше →
Total votes 144: ↑129 and ↓15+114
Comments81

Видеохостинг своими руками

Reading time6 min
Views67K
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments108

Используем быстрые селекторы для jQuery

Reading time3 min
Views40K
Как Вы знаете — в разработке объёмного JS-приложения где используется популярнейшая библиотека jQuery наступает момент когда остро встаёт проблема производительности. Все силы кидаются на амбразуру профайлера, каждый вызов скрупулёзно исследован, каждый функционально нагруженный кусок реализации обнюхан со всех сторон и выправлен. Но беда поступает не с той стороны, откуда её ждут 90% разработчиков. Селекторы — Как много в этом слове.
Давайте разберёмся — как работает эта магия и почему поиск DOM-элементов может стать причиной падения производительности приложения.
Читать дальше →
Total votes 159: ↑155 and ↓4+151
Comments31

N+1 полезных книг о бизнесе

Reading time9 min
Views229K
В топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.

Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.

В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.

Читать дальше →
Total votes 148: ↑137 and ↓11+126
Comments131

Как жить счастливо и при этом платить налоги

Reading time6 min
Views45K

Страшная правда


Вы не платите налоги, потому что это сложно, непонятно и вообще неприятно? Это правда. У каждого стартапа есть своя, часто довольно безумная миссия. У нас, стартапа «Эльба», она при этом еще и очень простая — сделать так, чтобы вы не боялись налогов и бухгалтерии и при этом продолжили оставаться самим собой — человеком, который хочет заниматься своим делом и зарабатывать.

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

Не удивляйтесь, если вы уже видели точно такой же пост в пятницу, тогда мы просто не разобрались, но не хочется лишать аудиторию контента и вот мы публикуем его сегодня.
Читать дальше →
Total votes 150: ↑128 and ↓22+106
Comments211

Видео с HighLoad++: Петр Зайцев — Диагностика и исправление проблем производительности MySQL

Reading time1 min
Views9.4K
Добрый день,

Вот и последний обещанный видеодоклад с HighLoad:

Петр Зайцев — Диагностика и исправление проблем производительности MySQL

Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html

Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html

Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html

Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html

Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html

Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html

Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html

Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html

Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html

Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html

Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.

Хорошего вам дня!

UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.

Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)

Спасибо за терпение и фидбек!
Total votes 69: ↑45 and ↓24+21
Comments35

Suggest.io. Понимать с первой буквы!

Reading time3 min
Views1K
image Представьте, что вам срочно надо найти информацию на определенном сайте и вы точно знаете, что она там есть, только не знаете где. Зайдя на сайт, вы долго жмете на разные ссылки, перескакиваете с одной вкладки на другую; понимаете, что теряете время и наконец видите заветный «поиск». «Вот он мне сейчас и поможет», — думаете вы и начинаете набирать ваш запрос. Результат оказывается как и прежде нулевым. То ли набрали с ошибкой, то ли не так надо сформулировать запрос — непонятно. Знакомо?
Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments40

Google Maps API

Reading time8 min
Views352K

Картографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё.
Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени.
Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия».

Далее...
Total votes 97: ↑83 and ↓14+69
Comments47

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

Information

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