Ivan98: вот кстати неплохой туториал веб-приложения на рубях (используют Синатру) с деплоем на Хероку - вполне любопытный вариант для вас. У вас будет еще проще - вам нужен один единственный обработчик, который выдаст в JSON-ответе либо ключ, либо ошибку авторизации.
Ivan98: Если это диплом, то нужно остановиться и подумать, стоит ли заморачиваться. Я отвечал вам с позиции продакшн-софта, т.е. для случая, когда можно потерять деньги/время/репутацию в случае неудачных архитектурных решений, а раз диплом, то вам надо сначала ответить на вопрос - будет ли это оцениваться, или это никого интересовать не будет. В принципе файл загрузить тоже нужно суметь, поэтому возможно проще все-таки как предложено выше. В любом случае, есть две подзадачи. Первая - написать скрипт на серверной стороне, который будет коннектиться к базе по запросу и выдавать ключ, если логин и пароль верные, или шиш, если неверные, и больше ничего. Это лучше сделать на каком-нибудь языке, для которого есть веб-фреймворки. В принципе задача достаточно простая, можно за парй дней разобраться, заодно опыт получите. Бесплатный вариант: https://www.heroku.com/beta-pricing , плана Free вам хватит с головой. Хероку поддерживает сейчас вот эти языки и платформы: https://www.heroku.com/features . Если вообще никак с этими языками, и нужен только С++, то чуть сложнее, нужно поискать фри-хостинг. Вторая подзадача: сделать запрос от клиента к серверу. Для работы по HTTP на плюсах (как клиента, так и сервера) могу порекомендовать cpp-netlib.org, ему нужен только Boost. Если уже пользуетесь чем-то, например Qt или POCO - в этих библиотеках есть свои средства, их должно хватить. Если клиентская часть у вас на Delphi - не смогу подсказать, хотя еще в далекой Delphi 7 вроде уже были компоненты для работы по сетевым протоколам.
Если уточните, на чем написана ваша программа (в которую должен отдаваться персональный ключ), и насколько реально для вас разобраться и набросать простейший сервис на незнакомом языке - можно сузить множество вариантов.
Airat1995 в плане терминологии вы в чем-то тоже правы, просто у крупного коммерческого софта часто есть несколько редакций, и некоторые как раз и можно называть интерпрайз (например, одна из редакций винды). Как правило, такие версии ПО содержат фичи, не особо нужные или вообще не нужные home-юзерам (например, BitLocker в винде или какой-нибудь SharePoint-клиент). Это можно обобщить и весь enterprise-софт - так называют все, что нужно скорее для бизнеса, и малополезно для дома (т.е. для широких масс).
FarmaCeduS прежде всего это собственная метасистема, и механизмы, на ней построенные, например сигналы/слоты. Это собственные решения Qt-а, которые были добавлены, чтобы "дотянуть" плюсы для удобства написания UI-кода.
Ну в общем-то ссылку вам уже дал Артем Воронов , добавить можно только то, что в конечном счете вам нужно унаследоваться от https://msdn.microsoft.com/en-us/library/system.se... , и заоверрайдить все, что нужно (OnStart и OnStop как минимум). В Main-е у вас будет например такой вызов: ServiceBase.Run(new ВашКлассНаследник()); - это чтобы сервис запускался просто при запуске exe-шника. Роман: ну не то чтобы прям нельзя, просто это вроде сложнее, права своему сервису специальные надо ставить, чтобы разрешалось взаимодействие с WinStation. Ну и все-таки хорошо разделять сервис и его конфигуратор, я думаю это решение потом окупится (безопасность, обновления, и т.д.).
Ну поищите переводы свежих книг (2013-й год: www.stroustrup.com/4th.html). Можно даже и блоги пошерстить, вообще идеальный вариант который спасает в таких случаях - искать статьи на английском и переводить. Плагиат не поймает, и выдумывать не надо. Это конечно если есть возможность.
jackroll
>ну типа он быстрый и мощный
ну если такое сегодня в дипломах допустимо, то пожалуйста конечно. Обычно такое надо обосновать, а обосновывается оно в сравнении с чем-либо, т.к. быстрый - понятие относительное. И, прежде всего, нужно сказать что быстрота дается за счет повышения порога входа. Гуглить не сложно, ответить в одном ответе на все сразу - довольно сложно и не имеет смысла
> Файл будет состоять из 3-х записей в строке: логин, пароль и ключ к шифру. И с каждой строки будет записываться новый пользователь
Удивительное дело, вы описали вещь которая по-простому называется таблицей в реляционной базе, но не думаете, что для этого стоит использовать БД. Если вы запишете это в файл, то вы будете имитировать базу данных, т.к. все равно будете построчно вычитывать. Ну да дело даже не в этом - если у вас в файле будет шифр - то вы ПО ОПРЕДЕЛЕНИЮ не можете давать доступ наружу для чтения всего файла - шифр должен отдаваться во внешний мир только если логин+пароль подошли. Вам нельзя проверять пароль непосредственно на клиенте, т.к. для этого вам придется дать возможность считать на клиент ВЕСЬ файл, что приведет к тому, что по сети будут гулять логины|пароли|шифры других пользователей. Поэтому вам по-любому нужен небольшой скрипт/программка на сервере, которая будет смотреть в инет, получать запросы на проверку логина, и отдавать шифр клиенту. И только эта программка будет иметь доступ к этому файлу(базе).
Что использовать это менее важный вопрос, хотя я все-таки советую вам взять тот же SQLite и записать все туда, будет в сто раз удобнее. Более конкретные технические решения можно будет посоветовать, если вы уточните, какими ресурсами располагаете и с какими языками знакомы.
Соглашусь с тем, что лучше сразу заниматься vNext, он довольно скоро будет в продакшене. Не соглашусь с тем, что WebAPI - это не серьезно. Просто WCF это скорее про SOAP, а WebAPI - изначально про REST, в WCF поддержка реста конечно есть, но сама архитектура под классические веб-сервисы заточена. Я думаю для WebAPI будет вполне серьезная поддержка, уж точно не хуже чем например для Rails.
Сейчас на www.asp.net такие примеры, что только по ним уже можно начать.
@Pe4enie
> Но вот вывод информации для отчета - будет проблематичным(я так думаю)?? В ItemID же будет попадать ID из разных таблиц...
Да, черт возьми, вот поэтому я в последний раз вам советую одну таблицу товаров с каким-либо JSON-овским полем, где будут храниться все характеристики конкретного вида товара. Вы вообще читали ответы? Вам объясняют, что вы ни одного запроса толком не сможете сделать, а если и сможете (SELECT из всех ваших таблиц), то как вы будете новые категории добавлять? Вот просто напишите сейчас пару запросов и прикиньте что у вас ситуация с необходимостью добавить новый тип товара.
> Да, я упёртый ибо заново пересоздавать таблицы не хочется.
> На скорую руку хочется сейчас сделать ибо во времени ограничен.
Подобные критерии нужно указывать в начале вопроса. Многие тут во времени или в чем-то еще ограничены, и вам дают советы, чтобы у вас седина потом появилась от поддержки такой системы, а если это лаба а не система, и вам "не хочется пересоздавать таблицы" - зачем на тостер пришли?
Если вы в продакшене это делаете - мне вас искренне жаль, а если в учебе - нахрена, простите, вы тогда учитесь, если не пытаетесь перенять опыт других? "Кодить" учитесь?
neronru 1) ясно, окей
2) вот зачем вам id вы не ответили. Я придерживаюсь того, что он вам не нужен. Сортировка по дате с идексом будет достаточно быстрая в сравнении с интом (не знаю, может конечно с mysql конкретно с этим проблемы, не слышал). Дело в том, что для вас потом будет гемором этот int - вам нужна гарантия его последовательного роста, и если вы когда-либо захотите базу бить на партишены, тогда у вас будут проблемы. Вам для каждого нового id нужно знать id предыдущий, раз вы хотите по нему упорядочить. Для даты вам ничего знать не надо: когда чел лайкает вы пишете в базу то, что вам УЖЕ известно: кто лайкнул, что лайкнул, и когда.
3) еще раз повторю: сделайте себе индексы по полям, по которым надо, https://dev.mysql.com/doc/refman/5.0/en/create-ind..., статей в инете по тому, какие колонки и как выбрать - ну просто миллион mysqldba.blogspot.ru/2008/06/how-to-pick-indexes-f...
Вне SQL я делать не советую, на то базы данных и созданы, чтобы на их уровне отфильтровать большую часть ненужной инфы и оставить 0.00..1% того что надо прямо сейчас.
Разумеется я имел в виду добавление новой категории со своим набором характеристик, а не отдельного товара. Так или иначе, если вы хотите хранить заказы в реляционном виде, таблицу товаров у вас должна быть одна.
Тогда добавьте тайм-менеджер для ученика. Распорядок дня. Чтобы были а) уведомления, чем и когда заниматься; б) сколько времени на что потрачено. Не знаю правда, насколько это хорошо с образовательной точки зрения (нельзя чтобы школьник привыкал к постоянным напоминаниям), но пользу извлечь я думаю можно.
Отвечу полнее: есть предположение, что если прога не смотрит конфиги по некоторому списку, а сразу лезет в /etc, то заставить ее искать в пользовательских папках можно только модификацией исходников. Либо можно ее заставить думать, что /home/pupkin/etc это /etc
посмотрите с клиентской стороны, обновляется только картинка или вся страница. Если вся страница, значит можно на js написать фрагмент кода,который сам будет перезапрашивать только картинку.
Когда используешь Parallels, говоришь - выполни мне такой код для моего массива или последовательности настолько параллельно, насколько возможно - сам ты не создаешь потоков никаких, сразу получаешь готовый результат параллельных вычислений. Когда ты работаешь с Thread - ты просто создаешь поток в терминах ОС, и сам должен заботиться о том, как организовать параллельные вычисления - как разбить данные на части, раздать потокам и потом собрать результаты. Достаточно просто?
mrThreeElephants Банковская система успешно переехала, потому что для банков чем точнее вычисления и надежнее системы хранения данных, тем лучше - точность и надежность это их хлеб. Они имеют кучу проблем с одними только фродами, а теперь представьте, выживет ли банк при серьезной потере данных или ошибках округления?) А вот про юристов этого не скажешь. Да что уж там, весь смысл профессии адвоката - знать все дыры и разночтения, особенности законоприменения, и либо избегать их, либо наоборот продавливать в суде. Вот почему я пойду к юристу при серьезных разбирательствах? Потому что я программист и физически не могу тратить столько же времени на работу с законами, сколько тратит специалист.
не знаю что у вас за специфика, но вообще эта задача и называется сериализацией (https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D...). Если на дотнете вы с ней еще не сталкивались, очень рекомендую ознакомиться. Есть масса стандартных и не очень механизмов для сериализации в популярные форматы передачи. Сейчас, помимо средств из BCL, очень популярна библиотека Json.Net, вот документация на сериализацию: www.newtonsoft.com/json/help/html/SerializingJSON.htm. Все делается в две строчки, кастомизация процесса осуществляется с помощью атрибутов.
Надо сказать что в 2013-й студии встроенные возможности стали на порядок лучше. Вот 2008-я без Visual Assist-а это текстовый редактор, причем с плохой подсветкой синтаксиса)).