А вот кто может пояснить, почему вот на такой синтаксис 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
кто есть Wl Photo Gallery?
no subject
http://download.live.com/photogallery
no subject
no subject
По уму надо бы вообще через XML неймспейсы делать, тогда тегов будет столько видов, сколько наопределяешь.
no subject
no subject
В одном случае, нужен плоский список (облако?) уникальных имён (теги), в другом нужна иерархия, в которой каждый элемент пути может быть не уникальным.
Мне нравится как иерархичность тегов сделана в LightRoom - теги все самостоятельны, но можно сказать, что при выборе тега "животные", выбирать все фотографии у которых тег "млекопитающие". В дереве тегов это будет выглядеть
"животные" -> "млекопитающие". При этом я могу повесить на фото как "животные", так и "млекопитающие".
no subject
или они неиерархическая? "млекопитающие" могут одновременно быть частью какого-нибудь другого тэга, если они уже являются частью "животных"?
хотя это всё равно не то, про что я написал. в моей модели фотографии из подальбомов автоматически не выбираются.
no subject
Вот "подальбомы", мне не совсем понятны.
Даже не так - с точки зрения организации информации в компьютере - понятны, это каталоги на файловой системе. С точки зрения "альбом - как пособо организации фотографий", хорошо сказал
Как в детстве было - альбом "детские фотографии", потом "школьные", потом "выпускной", и тд. Конечно никто не мешал смотреть альбомы с середины, но порядок фотографий значение имел. Альбом нужен, для последовательной выборки элементов из списка (итератор)
Сейчас "подальбомы" нужны только для того, чтоб сократить список альбомов. И может быть, как-то более "крупно" упорядочить. Но к самим фотографиям это уже отношения не имеет - это способы манипуляции и хранения наборов информации.
теги позволяют задавать множества. иерархические теги - позволят задавать соотношения между множествами. Они нужны, для выборки элемента или множества элементов (срез, не упорядоченный)
Технически я бы тоже делал это всё через теги. Фотки заливать в одно место, во всех других местах делать ссылки. Но "альбом" и "тег" - это разные по способу обработки элементы.
Хранить их в одном списке или в двух - вопрос реализации. Считать ли название альбома в то же время и просто тегом - вопрос реализации.
Выбирать ли все фотографии из подальбомов, при выборе "хочу просмотреть альбом" - вопрос реализации, и уточнения твоей модели вложенных альбомов.
Например я бы разрешал фотографии засовывать только в альбомы-листья. Т.е. либо у тебя альбом альбомов (любого уровня вложенности), либо альбом фотографий.
no subject
no subject
no subject
no subject
no subject
учитывая возможность включения одного фото в разные альбомы и наличие упорядоченности фотографий внутри альбома, ничего невозможного я в этом не вижу.
no subject
под wine же наверняка не заведется..
no subject
no subject
no subject
no subject
Альбомы близки к физическому хранилищу по своей логике, а тег это ссылка.
Однако я не делал себе больших альбомов с фото, и рассуждаю совершенно абстрактно.
Для маленьких коллекций можно альбомы совершенно упразднить -- они только мешаются.
no subject
а про физическое хранение я намеренно не писал, это другой уровень абстракции. физически фотографии могут храниться без привязки к альбомам, а в более равномерно размазанной структуре, например, как кэш в сквиде. или вообще в базе данных в виде BLOBов.
no subject
Я понял единственный сценарий в котором папки/альбомы могут быть полезны: отделять свое от чужого.
no subject
я забыл упомянуть, что вся эта структура подразумевается для одного владельца.
у второго будет своё совершенно отдельное дерево альбомотэгов. а названия у них с первым пользователем вполне могут перекрываться.
при этом возникает проблема облака тэгов общего для нескольких пользователей..
no subject
no subject
Ну т.е. отделить наверное можно будет, но бизнес-логика будет такая, что закачаешься реализовывать.
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
1. Фотографий сравнительно немного;
либо
2. Юзер не ленится к каждой из них писать много тегов.
Потому как в общем случае юзер нифига не найдет уже в свалке из 100 фотографий, т.к. у каждой будет что-то вроде "котятки, ути-пути, 2009". Ну, тег года еще может разниться ;)))