Pull to refresh
25
0
Benderlidze @Benderlidze

User

Send message

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

Reading time6 min
Views10K

Определения


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

Введение


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

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

Двадцатка лучших веб-шрифтов

Reading time9 min
Views753K
Top 20 Fonts

Сейчас самое время повышать уровень дизайна своих работ с помощью веб-шрифтов


Без преувеличения, сейчас сетевая типографика переживает захватывающий период своей жизни. Недавние технологические скачки приблизили нас еще на шаг ближе к типографической нирване в интернете. Шаг, которого все так долго ждали.

Свобода использования веб-шрифтов вне безопасного списка на всех ведущих ОС стала возможной, по большому счету, благодаря трем основным, почти одновременным технологическим факторам: широко распространенной поддержке правила @font-face в браузерах; появлению таких «шрифтохранилищ» как Typekit и Fontdeck; создание нового формата шрифтов — архивированного файла шрифта WOFF.

Читать дальше →
Total votes 146: ↑128 and ↓18+110
Comments71

Hello World widget для Android

Reading time9 min
Views70K
Как ни странно, но на русском почти нет нормальных статей по виджетам для Android. Да и на англо язычных ресурсах почти нет простых примеров для старта, все примеры почему-то сложные и тяжелые для понимания. Спешу это исправить.
Читать дальше →
Total votes 72: ↑56 and ↓16+40
Comments29

Небольшое исследование sms спама

Reading time4 min
Views3.2K
image
Картинка справа не совсем соответствует содержанию поста, просто небольшой пример смс-спама.

Итак, сама история: получил вчера смс следующего содержания:

«Вам MMS сообщение tutu.wml.in/lo.jar»

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

Но сегодня утром мне стало интересно, что же там, как оно работает и что делает.
Читать дальше →
Total votes 181: ↑151 and ↓30+121
Comments69

Тутумба: наш новый сервис пользовательских обзоров

Reading time2 min
Views6.2K
На этой неделе мы «официально» (это значит, что мы всем об этом теперь рассказываем:)) запустили новый проект. Месяцы кропотливого труда команды, десятки реализованных и сотни нереализованных идей, миллионы нервных клеток, которые никогда не восстановятся — и вот бета-версия Тутумбы готова. Теперь пара слов о том, что же получилось.



Читать дальше →
Total votes 38: ↑23 and ↓15+8
Comments59

Google Maps API

Reading time8 min
Views352K

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

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

GeoIP – страны и города, декабрь 2010

Reading time1 min
Views2.6K
Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments56

Входите! Аутентификация без логина и пароля, v2

Reading time4 min
Views7.6K
Раз оказалось, что аудитории небезразлична такая тема, как создание одноразовых (работающих в течение некоторого времени) ссылок, позволяющих идентифицировать пользователя.

А особенно в свете того, что я считаю подобное решение (которое я опубликую ниже) приемлемее — решил написать, как решение этой задачи вижу я:
Читать дальше →
Total votes 72: ↑54 and ↓18+36
Comments17

Авторизация через ВКонтакте

Reading time2 min
Views62K
Сколько процентов пользователей вашего сайта являются также пользователями ВКонтакте? Как по вашему, сколько человек ничего не пишут / комментируют / добавляют (нужное подчеркнуть), лишь потому, что им лень регистрироваться на еще одном непонятном сайте в 100й раз? Предлагаю ответить для себя на эти 2 вопроса, прежде, чем ругать ВКонтакте и Open API.

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

Вряд ли я открою что то новое, но если, хотя бы еще 1 сайт станет немного удобнее после этой статьи — значит я не зря потратил свое время на написание этого текста.
Читать дальше →
Total votes 145: ↑100 and ↓45+55
Comments79

Когда не нужна тригонометрия

Reading time4 min
Views53K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →
Total votes 219: ↑209 and ↓10+199
Comments67

Диалоговое окно Android с «иконифицированным» меню

Reading time5 min
Views7.3K
Некоторое время назад меня увлекла идея разработки приложений под платформу Android. Дабы не заниматься изучением платформы на простых hello-world программках решил сделать что-то такое, что позволило бы освоиться с UI частью фреймворка, работой с БД, сетью и социальными сервисами.
Идея была придумана до одурения простая и я бы даже сказал, тупая. И вот когда я начал что-то делать то тут резко захотелось мне сделать красивое диалоговое окно с выбором пункта меню с иконками. Такой диалог присутствует в стандартном Андроиде, например, долгий тап на рабочем столе открывает диалог выбора добавляемого контента (виджет, обоины и т.д.). Итак, добро пожаловать под кат…
Читать дальше →
Total votes 87: ↑81 and ↓6+75
Comments38

Локальное и удаленное предотвращение атак класса DDoS: особенности, преимущества, недостатки, мониторинг

Reading time5 min
Views29K
Угроза отказа в обслуживании (Denial of Service, DoS) является особой категорией сетевых атак, чьей целью является недоступность того или иного веб-сервиса для легитимных пользователей. Атака реализуется за счет создания массы обращений на сервер-жертву (victim). Такие атаки легко распознаются, и сам инициатор атаки обнаруживается и блокируется достаточно просто. Поэтому сейчас в такие игрушки никто не играет, а новое поколение атак носит распределенный характер (Distributed Denial of Service). Инициатор атаки использует зараженные системы, расположенные по всему миру, чтобы одновременно скрыть свое местонахождение и сделать атаку более мощной и результативной. Тому, как происходит борьба с атаками, а также новому способу удаленной борьбы с DDoS и посвящен этот пост.

image

Читать дальше →
Total votes 56: ↑45 and ↓11+34
Comments113

Выключаем монитор с клавиатуры

Reading time3 min
Views25K
Предыдущий топик про ddccontrol, открыл для меня, что по DDC можно мониторы выключать. Не вгонять в сон, не включать энергосберегающий режим, а реально выключать. Так, чтобы гасла (и совсем не мигала!) лампочка питания на морде. Как от нажатия выкл на той же самой морде. Разумеется, можно не только выключать, но и включать. Программно!

1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей

5) PROFIT??

В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).

Читать дальше: скрипты и руководство по настройке
Total votes 109: ↑95 and ↓14+81
Comments47

Кеширование блоков с помощью nginx

Reading time6 min
Views15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →
Total votes 116: ↑107 and ↓9+98
Comments63

Визуальный редактор на jQuery

Reading time2 min
Views14K
Визуальный редактор

В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
  • он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
  • обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
  • гибкий для разработки, доработки и встраивания под все возможные нужды;
  • с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.

Читать дальше →
Total votes 212: ↑203 and ↓9+194
Comments190

Google Maps Javascript API V3 и управление маркерами

Reading time3 min
Views29K
Дело было глубокой осенью. Мне поручили разработку раздела, основной задачей которого является указание местоположения объектов фильтрации и поиска на карте. Что стало заметно сразу же — даже при отображении 10 объектов на карте, можно уменьшить зум до такого, при котором они просто сливаются. Если их будет 100 — появятся жутковатые наложения и тени. Не комильфо!

Поиск решения


Решение очевидное, маркеры нужно группировать. В процессе поиска наткнулся на хабростатью, в которой рассмотрены различные способы группировки большого количества маркеров на карте. Нас вполне устраивали «костыли 1-2», то есть группировка маркеров на клиентской стороне, однако… если бы они подошли, не писал бы я сейчас статью ;)

Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments26

Авторизация через новый API сайта Вконтакте.ру

Reading time3 min
Views13K
Армия потенциальных пользователей Вашего сайта, зарегистрированных в социальной сети Вконтакте.ру наверняка оценят по достоинству Ваши старания по внедрению регистрации с помощью их любимой социалки. О создании такой возможности я задумался сегодня по утру и не откладывая решил воплотить желание в реальность.

Облегчало реализацию два факта: первый заключается в том, что Open API мне очень напоминал Facebook Connect, с которым я уже работал. Второй факт был ещё весомей — у меня уже есть библиотека в которой каждый вариант авторизации (OpenID, OAuth, FacebookConnect) являются отдельными бэкендами и написать дополнительный, тем более так похожий на FC не выглядело сложным заданием. В итоге, можно сказать что по факту это действительно оказалось плёвым делом.

Итак, что же нужно для авторизации по Вконтакте.ру?
Читать дальше →
Total votes 84: ↑58 and ↓26+32
Comments62

Last.fm Scrobbling

Reading time11 min
Views5K

Начало работы


В пабле нет ни одной нормальной библиотеки для работы с Last.FM «Submission» API PHP, пришлось разбираться и писать самому…
Для начала Вам необходимо перейти на страницу регистрации вашего API аккаунта.
После ввода всех данных, Вам предоставят 2 ключа: публичный и секретный.
image
Читать дальше →
Total votes 46: ↑31 and ↓15+16
Comments30

Information

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