Няши, поясните за базы данных и хранение картинок, я не понимат. Хочу хранить большое количество картинок (проще говоря систематизировать паки). Их число будет постоянно увеличиваться. Проблема такова:1. Хочу ввести тэги, то есть слова-категории по которым картинку можно быстро найти2.Удаление повторов, и замещение ссылкой на оригиналЕсть ли смысл хранить их в postgresql?Алсо, если хранить их в ФС, то возможно ли реализовать теги?
Бампать буду рандомом
>>165489057 (OP)В базе данных картинки не хранятся.
>>165489381Технически это возможно. Я понимаю, что тогда она получится очень тяжелая, но на сколько это критично?
>>165489057 (OP)СУБД должна делать то, для чего она разработана, ровно как и файловая система. В БД храни пути к файлам, а не сами файлы.> 2fdupes
>>165489420на много, так только долбаебы делают
>>165489420Дело не в тяжести БД. Дело в отсутствии какого бы то ни было профита и повышенной черезжопности всего.
>>165489542Про удаление дубликатов я и сам понимаю, правда там придется изъебнуться чтобы использовать его автоматически из программы.А теги в такм случае можно хранить в БД рядом с путем.>>165489619>>165489624Ну, да, очевидного профита нет.
>>165489057 (OP)Братик, готов тебе пояснить за все вопросы. Для начала ответь, тебе база для сайта нужна? Если да, то на чём собираешься писать сайт?Для тебя сверхидеальным решением будет:1) Хранить картинки на сервере.2) В базе данных хранить только ссылки на эти картинки.3) В идеале использовать NoSQL базу, к примеру MongoDB, так как тебе не нужна транзакционность, а просто нужна хорошая скорость и масштабируемость.
Почему PostgreSQL вместо MySQL?
Почему бы просто через решётку или пробел не записать несколько тегов в название? Нахуя заморачиваться с БД?
>>165489420Да, блядь. Критично. Ты еще видео блядь начни хранить в БД.
>>165489676В БД тоже путь не хранится. Почему ты такой тупой?
>>165489683> хорошая скоростьТак-то Постгрес при правильной реализации в пух и прах условную Монгу на чтении разъебет на этой задаче. Вообще не понимаю, почему стало модно пихать NoSQL-парашу туда, где она явно не в фаворитах будет.
>>165489710Потому что поддерживаются более новые стандарты SQL (что значит, есть много новых удобных фич) и Postgres банально быстрее.
>>165489057 (OP)Папки и папки в папках, вот твой девиз маньРазвлекайся
>>165489756С индексами что будешь делать? Вернее, с их отсутствием.
>>165489683Нет, не для сайта. Пишу приложение, автоматически индексирующие двощ сайты, берущие оттуда текст и картинки. И то и то индексируется, и к картинкам привязывается текст. Поэтому нужны теги, и к тексту и кратинке. И того и того будет много, но поступать должно равномерно, поэтому скорость не так важна.Я думал касательно NoSQL, но никогда с ними не работал, так что хз. Есть смысл использовать ее только для хранения текста?> В базе данных хранить только ссылки на эти картинки.То есть путь, так?>>165489710Линукс.
>>165489876Что за фичи, например?
>>165489840>Так-то Постгрес при правильной реализацииВся суть. Монга оче быстрая, не хранит пустых полей лолей, хорошо масштабируется на большое количество серверов.Если речь идёт о хранении картинок, то SQL параша сосёт с проглотом (сам работаю и с SQL и NoSQL базами).
>>165489910В винде есть индексирование.
>>165489876> быстрееТы точно ничего не путаешь?Постгрес почти везде чуточку медленнее InnoDB из-за наворотов и многомерности. А там, где нужно письками в отрыве от реальности помериться, есть ещё MyISAM.
>>165490030Это немного не то индексирование, которое используется в мире СУБД.
>>165489999Анон, ты хуйнёй страдаешь. Парсеры – это то, на чём не стоит задерживаться на пути становления тру погромистом.
>>165489057 (OP)Adobe Bridge + его ключевые слова, пишутся в EXIFНа маке PhotoSweeper для поиска дубликатов, что там на винде не знаю.
>>165490102Почему: Мне наоборот очень интересным кажется. Сюда можно в проекции прикрутить все модные штуки типа ДИП ЛЕРНИНГА, шоб посоны оценили. Опять же реализация затрагивает множество облостей, от самих парсеров до баз данных и иногда хай лоада.>>165490248Это ты мне предлогаешь ручками делать? Спасибо.
>>165490007Лендинги пишешь? Иначе я не могу представить, как ты можешь не видеть идеального случая для реляционщины конкретно в этом треде. Тут быстрее будут только in-RAM key-value троллейбусы из буханок хлеба.
>>165489057 (OP)Тебе потребуется папка где будут хранится кратинки с уникальными именам. БД из трех таблиц: имена картинок, имена тегов, отношение тегов к картинками. Так же движок который все это будет организовывать.Если знаешь OOP и MVC, то напишешь за пару месяцев прототип. Но если ты это делаешь не в целях обучения, то лучше накатить на сервак готовый danbooru подобный движок.
Нормальная файловая система поддерживает теги и все остальное, что тебе нужно. Хватит уже онанировать, выкинь своё говно, купи нормальный мак.
>>165490287Начинай уже движок борды с нуля пилить, хули ты выёбываешься? Научился код страницы парсить, дальше иди. Нечего по 10 раз одну и ту же программу писать. Хотя, если тебе правда интересно и ты делаешь это не ради денег, то ты молодец. Но тру погромистом всё равно не станешь.
>>165489999Да, вот представь что ты на D:\projectName\images\ хранишь свои картинки. В своём приложении ты указываешь абсолютный путь к файлам (во всех языках есть такая опция). Что-то в духе: "{__ROOT}\images\" в итоге где бы твой проект не находился, через ROOT он найдёт папку с твоим проектом и из папки images уже будешь таскать картинки. Поверь, это в 10 раз проще, чем ты думаешь. Просто гугли "языкнейм, абсолютный путь к файлу" или "языкнейм absolute path" и там ты найдёшь всё. И потом этот путь храни в базе. Там же в базе ты можешь хранить массив с тегами.NoSQL - это не страшный монстр. В разработке нет особой разницы для тебя, просто немного другой, более простой синтаксис для запросов.
>>165490397Мак проприетарный и урезанный.
>>165490482Он уже из коробки умеет что тебе надо. И после этого ты называешь его урезанным? Алсо, винда менее проприетарна, лол?
>>165490329> Если знаешь OOP и MVCЗнаю, прототип тоже в процессе.> Но если ты это делаешь не в целях обучения,В этих самых целях.> Так же движок который все это будет организовывать.Не так сложно написать, мне кажется.>>165490397Это консольное серверное приложение. Какой мак? Он у меня к слову и так есть.>>165490446> Начинай уже движок борды с нуля пилить, хули ты выёбываешься?Не интересно пилить сайты, вообще. Не дезигнер, опять таки.>>165490479Про путь я знаю, это логично что надо от рута считать. Что касатеася NoSQL - попробую, вдруг действительно лучше будет.Хотя скорее всего разницы не почувствую.И, наконец, последнее навреное: Кто-то использовал Apache OpenNLP?Есть смысл с ним заморачиваться?
>>165490056https://habrahabr.ru/post/197590/
>>165490329Ну и если писать на пхп, то желательно юзать композер, там был готовый пакет для работы с тегами, создания миниатюр картинок, пагинации.
>>165490538Например, чтобы потестить кроссплатформенную прогу на маке, надо ужасно пребаться. С лайв-образа ведь не загрузишься.
>>165490329Пару месяцев? Это наверное если у тебя лишняя хромосома. База кидается за 5 минут, клиент пишется за вечер.
>>165490295На кого ты выёбываться тут посмел? Слишком сложно и непонятно, для анона, он даже с NoSQL никогда не работал.
>>165490597В ТЗ не было про сервер. Зато было про возможность делать это с помощью ФС. ФС MAC OS умеет это делать. Да, в маке полноценная консоль, и отличная поддержка баш.
>>165490619> (no index)Похоже, с лендингами я не промахнулся. Всякая работа нужна, всякая работа важна, я не против, но, бля, куда ты лезешь-то? Ну и автора твоих графиков обоссу на ночь: в Монге индекс (тот, которого, судя по подписи выше, нет) на _id неудаляемый.
>>165490842Я всё это знаю, спасибо. Но скажи мне логически: какой смысл 24\7 крутить headless приложение на маке?
>>165490597>Не так сложно написать, мне кажется.Судя по оппосту и советам я охуел, то файлы в БД хотят хранить, то теги и картинки в одной таблице, про скорость работы БД после этого еще спорить начинают. Полный пиздец.Движок с нуля писать сложно и долго. Даже юзая готовые пакеты из композера это сложно и долго. Казаться тебе что угодно может, 95% съедят мелочи. Ты бы с чего попроще начал, а то дропнешь очень скоро.
>>165490762Любопытный аргумент, учитывая что мак нативно запускает почти любой *nix софт, а винда отлично грузится в дуалбуте.
>>165490889Они тихие, экономичные и компактные для своих возможностей. Почему бы и нет. Но оверпрайс конечно, что уж. Вопрос в том, что дороже, компьютер или твоё время.
>>165490872Небось пихаешь авто инкремент в своём MySQL куда надо и не надо? Прочитай основы проектирования баз данных. В официальной документации есть способы как создать автоинкремент в монге. Этот _id вообще не вставлять (похуй что он обеспечивает бесконфликтность и настоящую уникальность данных, в отличии от автоинкремента). Суть в том, что когда не нужна транзакционность, NoSQL базы во всём лучше. Но всё-таки это очень важный момент, так что SQL базам ещё жить и жить.
>>165489381Хранятся. Только это пиздец - с Postgres, допустим, не работал, но в T-SQL у нас есть таблица с бинарными данными, и это постоянный источник боли.Впрочем. хранение на FS - точно такой же источник жопной боли, но по другим причинам.>Алсо, если хранить их в ФС, то возможно ли реализовать теги? Тебе ничто не мешает хранить в таблице пути к файлам в фс, и в связанной таблице теги.
>>165490927> про скорость работы БД после этого еще спорить начинаютЭто не я. Мне на скорость вообще по барабану, я в скорость интернета упрусь.В чем проблема написать движок, если все, что он будет делать это брать картинку + текст, выявлять теги и добавлять их и путь в бд? Единственная проблема - собственно найти верный тег. Но для этого мне нужно OpenNLP>>165491072Да ты наркоман штоле? Ты предлогаешь крутить серверное приложение by-design на ноутбуке\моноблоке? И даже не заикайся про черное ведро, цена лютая
>>165490770Если у тебя свои заготовки есть, хорошо знаешь какой-нибудь ларавел, и ты уже работал с пакетами >>165490652, то может быть за вечер напишешь. Вот я не спеша пилил https://github.com/grigoryMovchan/zuihitsu бложик по вечерам, до реализации загрузки картинок как раз за 3 недели дошел. Код говно, сейчас лучше пишу.
>>165490944By Apple == урезанная красивая оболочка. Это неоспоримая аксиома.
>>165491141Какой автоинкремент? Какой MySQL? Чё ты несёшь вообще?
>>165491166>Единственная проблема - собственно найти верный тег. Но для этого мне нужно OpenNLPЧто ты там такое уникальное придумал?
>>165491189Кстати, не допилил, дропнул из-за того что в своём же коде запутался.
>>165491299Ну вот представляешь себе, получит программа на входе пак гомонигр и текст "сап б я посрал". Что ей с этим делать? С помощью NLP она сможет отсеить слова "сап б", "двощ", "я", останется только посрал. Соответственно тег к ниграм будет - посрал, а если азмрочиться с аналогиями то вообще "говно". Не очень точно конечно, но тем не менее.
>>165491166Mac mini, Mac Pro. Выбирай по бюджету. >>165491240Обосрался. Это единственная нормальная десктопная *nix система для пользователей. Которая умеет и в консоль, и в гуй.
>>165489057 (OP)А еще, ОП, ты можешь сделать ход конем, закинуться героином и в качестве базы данных для хранения своих картиночек использовать githttps://github.com/attic-labs/noms
>>165491452> Mac miniНебзабельное говно> Mac ProЯ же сказал про черное ведро не заикаться. За 400к можно взять полноценный сервер с охуительньй конфигурацией и двумя зеонами.> Это единственная нормальная десктопная *nix система для пользователей. Которая умеет и в консоль, и в гуй.Что характерно, не поддерживающая ГУЙ приложения линукса. ГТК конечно завезли, но очень хуево.>>165491472Я думаю что мне нафиг не нужна суть гита - versioning.
>>165491472С одной стороны двачую, а с другой вообще все пользовательские файлы НУЖНО хранить в гите.
>>165491440Ты хочешь чтобы скрипт сам теги ставил?
>>165491695Естественно. Объем данных такой, что я заебусь их ставить. Опять же теги - это всего лишь нечто общее.
>>165489057 (OP)Я юзаю hadoop в качестве распределённого хранилища файлов.
>>165491787Ну удачи. Кидай ссылку на репу, поставлю звезду и подпишусь.
Для дебила с монгой.
>>165491944https://github.com/LeereNix/BoardToolset/Вот, держи. Пока это практически начало, текцщий этап - БД.
>>165491148Если у тебя в БД хранятся мультимедийные данные, то ты ебанат.
>>165491189Прописал бы в ебальник тебе за такие сообщения коммитов.
>>165489057 (OP)Пин?
>>165492378Видимо нет.
>>165492186>https://github.com/LeereNix/BoardToolset/Ток ридми напиши обязательно.>>165492292Почему?
>>165492525Напишу, пока надо хотя бы начала оформить, чтобы был хоть какой-то результат.
>>165492186Оу, я тоже парсер писал, совсем простой, только чтоб картинки качатьhttps://github.com/grigoryMovchan/2ch_get_imgПравда пока писал тред с картинками удалили. Ну а что я хотел, две недели прошло.
>>165492689Еще парсер для треда овозных знакомств, за него пиздец стыдноhttps://github.com/grigoryMovchan/soc
>>165489057 (OP)Поставь себе локально данбуру/гельбуру и проблема решена.
>>165492689У меня такая же хуйня реализована на питоне, если не ошибаюсь. Медленная параша, но работает. А медленная потому что она ищет по доске ключевые слова, и потом скачивает тред.https://github.com/LeereNix/2chParser>>165492738И зачем оно мне?