А вот кто может пояснить, почему вот на такой синтаксис MySQL ругается:
CREATE TABLE `foo` ( `bar` varchar(32) NOT NULL, UNIQUE KEY `bar` (`bar`) USING BTREE );
а вот такой спокойно принимает:
CREATE TABLE `foo` ( `bar` varchar(32) NOT NULL, UNIQUE KEY `bar` USING BTREE (`bar`) );
?
Сервер 5.0.51a. Документация говорит нам, что index_type может присутствовать как до списка (index_col_name,…), так и после. Самое смешное, что первый вариант синтаксиса был выдан командой show create table из другого mysql-сервера (5.1.36). Как же так, наши пластинки и к нашему же проигрывателю не подходят?
Оригинал этой записи. Комментировать можно тут или там.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме
no subject
Со вложенностью как раз проблем нет, если тэги поддерживают иерархичность. Грубо говоря, если "Москва" и "Россия -> Москва" - могу быть разными тэгами.
no subject
2) а как их вложенные показывать в облаке тэгов? как "Россия->Москва"? А если оно на десятом уровне вложенности?
no subject
2) Раскрывать по мере приближения. Посмотри, как это WL Photo Gallery делает, у нее как раз такая конструкция (фолдеры, правда, тоже есть, но лично я ими практически совсем не пользуюсь).
no subject
Альбомы близки к физическому хранилищу по своей логике, а тег это ссылка.
Однако я не делал себе больших альбомов с фото, и рассуждаю совершенно абстрактно.
Для маленьких коллекций можно альбомы совершенно упразднить -- они только мешаются.
no subject
кто есть Wl Photo Gallery?
no subject
Я понял единственный сценарий в котором папки/альбомы могут быть полезны: отделять свое от чужого.
no subject
http://download.live.com/photogallery
no subject
а про физическое хранение я намеренно не писал, это другой уровень абстракции. физически фотографии могут храниться без привязки к альбомам, а в более равномерно размазанной структуре, например, как кэш в сквиде. или вообще в базе данных в виде BLOBов.
no subject
no subject
я забыл упомянуть, что вся эта структура подразумевается для одного владельца.
у второго будет своё совершенно отдельное дерево альбомотэгов. а названия у них с первым пользователем вполне могут перекрываться.
при этом возникает проблема облака тэгов общего для нескольких пользователей..
no subject
По уму надо бы вообще через XML неймспейсы делать, тогда тегов будет столько видов, сколько наопределяешь.
no subject
no subject
no subject
Ну т.е. отделить наверное можно будет, но бизнес-логика будет такая, что закачаешься реализовывать.
no subject
no subject
понятно, кроме общего на всех пользователей облака есть ещё и персональное.
no subject
no subject
no subject
В одном случае, нужен плоский список (облако?) уникальных имён (теги), в другом нужна иерархия, в которой каждый элемент пути может быть не уникальным.
Мне нравится как иерархичность тегов сделана в LightRoom - теги все самостоятельны, но можно сказать, что при выборе тега "животные", выбирать все фотографии у которых тег "млекопитающие". В дереве тегов это будет выглядеть
"животные" -> "млекопитающие". При этом я могу повесить на фото как "животные", так и "млекопитающие".
no subject
no subject
или они неиерархическая? "млекопитающие" могут одновременно быть частью какого-нибудь другого тэга, если они уже являются частью "животных"?
хотя это всё равно не то, про что я написал. в моей модели фотографии из подальбомов автоматически не выбираются.
no subject
под wine же наверняка не заведется..
no subject
Вот "подальбомы", мне не совсем понятны.
Даже не так - с точки зрения организации информации в компьютере - понятны, это каталоги на файловой системе. С точки зрения "альбом - как пособо организации фотографий", хорошо сказал
Как в детстве было - альбом "детские фотографии", потом "школьные", потом "выпускной", и тд. Конечно никто не мешал смотреть альбомы с середины, но порядок фотографий значение имел. Альбом нужен, для последовательной выборки элементов из списка (итератор)
Сейчас "подальбомы" нужны только для того, чтоб сократить список альбомов. И может быть, как-то более "крупно" упорядочить. Но к самим фотографиям это уже отношения не имеет - это способы манипуляции и хранения наборов информации.
теги позволяют задавать множества. иерархические теги - позволят задавать соотношения между множествами. Они нужны, для выборки элемента или множества элементов (срез, не упорядоченный)
Технически я бы тоже делал это всё через теги. Фотки заливать в одно место, во всех других местах делать ссылки. Но "альбом" и "тег" - это разные по способу обработки элементы.
Хранить их в одном списке или в двух - вопрос реализации. Считать ли название альбома в то же время и просто тегом - вопрос реализации.
Выбирать ли все фотографии из подальбомов, при выборе "хочу просмотреть альбом" - вопрос реализации, и уточнения твоей модели вложенных альбомов.
Например я бы разрешал фотографии засовывать только в альбомы-листья. Т.е. либо у тебя альбом альбомов (любого уровня вложенности), либо альбом фотографий.
no subject
no subject
no subject
На самом деле для этого есть понятное решение - конвертить тэг во внятное имя и обрабатывать его отдельно. Но таких исключений в общем будет изрядно.
no subject
no subject
no subject
no subject
С другой стороны, по мне было бы интереснее иметь возможность проставить тэги альбому, по которым будут находиться все фото из него, а конкретным карточкам добавлять только их тэги ...
И во линковка фотографий в другой альбом - да, в случае альбомов этого порой сильно не хватает ...
no subject
тэги к альбому - это интересная мысль. но если надо просто находить по тэгу все фотографии из альбома (а не сам альбом), это успешно заменяется операцией "проставить тэг для всех фотографий в альбоме". хотя есть существенная разница: если после этого в альбом будут добавляться новые фотографии, у них этот тэг автоматически не добавится.
вот линковка фотографии в несколько альбомов успешно решается. но вообще она решается и в рамках стандартной модели альбомов, надо только добавить в неё возможность нескольких хардлинков.
no subject
Возьмем, для примера, человека который много и часто фотографирует. Он может каждый день скидывать фотки в альбом по дате: дерево вроде ~/foto/2009/11/24 и при этом он захочет помечать эти фотографии тэгами: "я", "Катя", "закат" и т.п.
Получаются две независимые структуры. Разумеется, можно отказаться от одной из них и эмулировать ту же функциональность средствами другой: сделать древовидные тэги (отказавшись от настоящего дерева альбомов) или сделать симлинки позволив одной фотке быть в разных альбомах эмулируя тем самым часть функциональности тэгов.
Вопрос - надо ли?
no subject
а это неудобно, иногда хочется отнести одну фотографию сразу в несколько логических множеств.
именно поэтому приходится использовать тэги, которые фактически выполняют роль симлинков, позволяя организовать рядом с деревом альбомов альтернативную структуру из тех же фотографий.
а чем плоха унификация? хочется одну фотографию положить сразу в несколько альбомов - пожалуйста. хочется сделать облако тэгов - пожалуйста. не хочется древовидной структуры, а хочется плоскую, как у тэгов - тоже пожалуйста.
no subject
Вопрос технической реализации - это другое дело. Я ничего не имею против представления дерева альбомов как спец. тэга вроде "2009->GoogleDevConf" который не будет виден в облаке тэгов (потому что он в нём лишний - будет его раздувать без необходимости), но будет представлен в дереве альбомов.
Минусы этого уже частично оговаривались выше:
- спец. синтаксис тэгов-альбомов (из чего следует запрет на этот синтаксис для обычных тэгов)
- невозможность присвоить тэг всему альбому (включая фотки, которые попадут в него в будущем)
- сложность с переименованием альбома (придется менять тег всем фоткам в нём, с учетом вложенности)
Я смотрю на реализацию дерева тэгов в GMarks (https://addons.mozilla.org/ru/firefox/addon/2888), и кажется мне, что это вовсе не простая задача - реализовать такое дерево, чтоб оно работало стабильно.
no subject
техническую реализацию я вообще не трогаю, речь только о логической модели.
про минусы не понял.
1) никаких обычных тэгов с каким-то особым синтаксисом нет, есть только унифицированные тэго-альбомы.
2) это отдельный вопрос, не связанный с моделью. точнее, так: в традиционной модели это вопрос возможности присваивания тэгов альбомам а не отдельным фотографиям (а это вообще где-то реализовано?). в предлагаемой модели - вопрос недревовидной структуры тэгоальбомов, чтобы один альбом мог входить сразу в несколько других.
3) вопрос реализации. если тэг/альбом идентифицируется не по имени, а по внутреннему [числовому] ID, то имя можно спокойно менять, не трогая привязку фотографий
no subject
Возвращаясь чисто к логическому представлению: их нужно два. Пример из другой области: почтовый адрес.
В виде дерева это Страна/Город/Улица/Дом/Квартира. В таком дереве любой адрес можно быстро и удобно найти. Можно представить его как тэг Страна-Город-Улица-Дом-Квартира, но очевидно искать сразу станет неудобно, придется соритровать по имени и фактически придем к той же древовидной структуре.
С другой стороны, облако тэгов очевидно полезно, отказываться и от него нельзя.
никаких обычных тэгов с каким-то особым синтаксисом нет, есть только унифицированные тэго-альбомы
А на конкретном примере?
Вот например, я хочу иметь древовидную структуру альбомов:
2008
-- Франция
-- Германия
2009
-- Германия
-- Египет
Плюс к этому я хочу некоторым фоткам дать теги "я", "мама", "папа", "Катя", "цветочки", остальным фоткам (их большинство), мне будет лень присваивать тэги.
Какое облако тэгов у меня в итоге получится?
no subject
no subject
no subject
no subject
учитывая возможность включения одного фото в разные альбомы и наличие упорядоченности фотографий внутри альбома, ничего невозможного я в этом не вижу.
no subject
1. Фотографий сравнительно немного;
либо
2. Юзер не ленится к каждой из них писать много тегов.
Потому как в общем случае юзер нифига не найдет уже в свалке из 100 фотографий, т.к. у каждой будет что-то вроде "котятки, ути-пути, 2009". Ну, тег года еще может разниться ;)))