QstoN Да, Qt Creator не очень силен в этом плане. Однако возможности стилизации в Quick в целом весьма нелохие: doc.qt.io/qt-5/qtquickcontrolsstyles-index.html. Ну или стандартные сэмплы посмотрите.
С учетом того, какая сейчас ниша у C++, я считаю эти инструменты достойным аналогом того же дотнетовского WPF)
Дэн Иванов уточню, что под жизнеспособностью я понимаю определенный уровень надежности, при котором система не развалится и не упрется в архитектурные ограничения на первых этапах использования. Такие решения строятся при точных требованиях (на сотню-другую страниц ТЗ) и тратится определенное время на тестовые нагрузки.
Дэн Иванов видимо у нас разное представление об обмене знаниями на таких ресурсах). Я либо сам буду проверять идеи и советы, которые мне дадут, или спрошу еще 5 человек, прежде чем вкладывать в идею значительные ресурсы.
Т.к. в хэшировании файлов ничего нового нет, как и в хэш-шардинге, не считаю эту идею абсолютно утопичной и непригодной. Автор вообще хотел хоть что-то найти. Если бы он привел N известных распределенных ФС или object-storage, и спросил бы - что из этого применимо для системы с такими-то объемами данных и таким-то дневным трафиком, то конечно в таком контексте идеям не место. А когда пишут "велосипедное облако".. Даже не знаю, как-то само наводит на мысль об экспериментах :D
Через пару месяцев я и сам задам такой вопрос, т.к. в проект понадобится подобное файлохранилище для документов с привязкой к объектам предметной области, и я бы с удовольствием услышал подобный ответ, равно как и ваш совет взять CEPH или эллиптикс.
xfg идея хэшировать контент безусловно не нова (Git), и шардировать по хэшу - тоже (Redis, Mongo), но конечно не факт, что она будет работать для ваших требований (размеры файлов, количество пользователей и т.д.). Все-таки стоит точнее определить требования: решение с поддоменами действительно часто встречается и работает, но это решение, в котором некоторые операции, например изменение файла, довольно сложно реализовать.
На самом деле я сам в поисках подходящего решения аналогичной задачи для следующего проекта, но пока все туманно. У меня правда требования немного другие (привязка файлов не к пользователям, а к объектам предметной области, которые появляются более контролируемым путем, нежели пользователи), но еще важнее поддержка известных протоколов. Необходимость писать клиентское приложение как у Dropbox или Skydrive выглядит не совсем радужно :) Была идея даже BitTorrent Sync попробовать, однако пока от нее отказались - торрентить маленькие файлы очень неудобно.
@ptchol
> систему простенькую
> Эдакое велосипедное облако.
я сделал акцент на этом, видимо тут кроется моя ошибка. Не знаю где вы в этом разговоре увидели что я утверждал что мой вариант хотя бы жизнеспособен, не говоря уж о сравнении с крупными известными системами. Для того, чтобы это утверждать, нужно выполнять исследование, я автору подкинул лишь идею. Автор сделает исследование, если у него промышленная система, или просто попробует реализовать, если задача учебная. Задавая такой вопрос, я был бы рад услышать любые идеи, причем чем больше чем лучше, а вы разве нет? Автор вроде интересовался и организацией хранения тоже, по крайней мере те варианты что он привел в вопросе, говорят об этом.
А то, что на Тостере подобную реальную сложно обсуждать - это статистика, и я, безусловно, в ней разочарован. За те ответы и вопросы которые тут дают и задают, на SO будут банить, простите, по IP.
Можете посмотреть другие мои ответы, если вдруг подумали, что я не пытался изменить это стереотип.
Дэн Иванов так, давайте сразу решим, мы обсуждаем будущую промышленную систему или учебное задание на коленке? Я даю автору советы по реализации второго случая. Как реализовывать полноценное решение это не то, что вообще можно обсуждать на Тостере в его нынешнем виде.
Нюансов в нормальном решении столько, что я думаю тут каждый из участников беседы напишет 3 листа А4 не особо задумываясь)
JustSokol вам нужно получить более менее четкое представление о том, что такое "объект", и чем он отличается от записи или значений примитивных типов. Что такое в вашем понимании объект?
> может использоваться передача объекта по значению (зачем если есть const &).
int и double нет смысла по ссылке передавать, сами указатели - тоже.
> и вообще указатель же по сути и содержит ссылку
наоборот, скорее ссылка иногда реализуется через указатель. Ссылка -это более высокоуровневая конструкция
> И зачем может использоваться передача указателя на единичный объект
я думаю вы не до конца поняли идею про использование указателя в качестве identity объекта. Вы уже хорошо познакомились с ООП? Не обязательно в плюсах, может в каком-нибудь другом языке.
DarkLizard
Зависит от того, насколько вы его "начали" в школьные годы. При переходе с JS выучить нужно будет немало, джаваскрипт - игрушечный язык с точки зрения абстракции от железа.
xfg хороший хэш распределяется достаточно равномерно по пространству значений. Делите его по модулю на количество нод и получаете на какую ноду класть или с какой брать. Если на какой-то ноде полностью занят диск, значит и на других тоже места не особо много, новую ноду пора добавить. Решардинг подразумевает использование нового делителя (т.к. число узлов поменялось) и перемещение на нужные ноды тех файлов, для которых результат операции изменился. Разумеется, это тяжелая операция, сильно часто при таком хэшировании ее проводить не захочется.
Если рассчитываете постоянно добавлять ноды - посмотрите, не проще ли взять range-based по id-шнику файла
Евгений Елчев убеждать в чем? я вам совет даю, изложите проблему в письменном виде, серьезно. Это помогает, когда начальник начинает снимать ответственность и прикидываться ребенком.
Понимаете, механизм этот плохо предназначен для интенсивных обновлений. Он тупо неотработан для интенсивных ситуаций.
Компьютеры могут много чем отличаться, дело в том, что в ОС достаточно много алгоритмов, которые стараются различать максимально похожие компьютеры, например, алгоритм генерации GUID. Очень много где генерируется различных значений, зависящих от каких-нибудь серийных номеров или текущего времени (в том числе, при сетевом взаимодействии). Такие баги в софте потому и называют "плавающими", что они х..н пойми когда воспроизводятся. Вопрос в том, критично ли отлавливать в конкретном сервисе подобные баги или нет и на них забивают.
Еще раз: все тут прекрасно понимают, что вы не сядете и не перепишете сами этот софт. Мы вам объясняем, что нужно проблему эскалировать наверх всеми силами.
Евгений Елчев
> Грубо говоря пока эта софтина не начнет падать без разбору хотя бы на 30% рабочих
сделайте письменное предупреждение о том, что по вашему мнению скоро начнутся проблемы, и ваше видение их решения, и садитесь и "ждите" этих 30%, если по мнению начальства оно еще "работает". Я вижу что вы хотите выполнять свою работу, раз заранее беспокоитесь по отдельным жалобам, а начальство нет, вот поэтому выполните свою и подтвердите это на бумаге.
Сетевая шара - это doc-файлы кидать туда-сюда, и pdf-ки. Это не для работы с нормальной БД
Дэн Иванов
С leofs не знаком, а вот elliptics смотрел достаточно подробно, вещь интересная конечно. Только непонятно, зачем это автору, если ему надо
> Эдакое велосипедное облако.
> дублировать еще в одной базе
тут не понял, что вы имеете в виду под дублированием
Лично я не понял вопроса - как клиентский JS можно использовать ВМЕСТО серверных шаблонов? Вы имеете в виду классическое MVC-приложение против SPA + WebAPI?
Николай Громов
вот в том квадратике, что вы обвели, правой кнопкой мыши -> Изменить букву или путь к диску -> там можно выбрать букву или назначить папку (пустую).
С самим разделом все ок, такое бывает что буква не назначается.
Николай Шепелев все когда-то забросят, однако Qt уже выглядит стабильнее в плане поддержки, чем многие другие технологии, например тот же WPF - вроде достаточно зрелый, работает, вроде бы даже не забили на него, однако развивается настолько медленно (почти никак), что тот же Qt e;t догнал и перегоняет все передовые идеи WPF на момент его появления (это вот как раз про упомянутый Quick).
Сейчас это реально прогрессирующий фреймворк, так что думаю ближайшие 5-7 лет он будет жить. А больше чем на 7 лет загадывать нельзя, уж такая у нас работа (если б мне кто сказал в 2005 году что будет такой бум JS с проникновением на десктоп, я бы покрутил пальцем у виска, как и многие другие).
С учетом того, какая сейчас ниша у C++, я считаю эти инструменты достойным аналогом того же дотнетовского WPF)