делал чтение из стндартного ввода.....ничего не принялось)))..... вопрос оч актуален кстати). помогите.
SadKo если stdin имеет файловый дескриптор 0 stdout дескриптор 1 .. то не перепутал а так, если можно, напишите рбочий пример
Сначала проверь- приходят вообще скрипту POST данные или нет. Например, замени его на php скрипт и прими данные им. Т.к. POST данные сначала Полностью принимаются httpd, и только потом, если все передано правильно (Все необходимые заголовки заполнены и заполнены правильно), передаются принимающему скрипту.
Всё настроено правильно. Переписывать скрипт на php нет необходимости, так как сайт сделланный полностью на php работает без каких либо проблем)..и все данные конечно же приходят. Хотя, если в скрипте попробовать создать файл, и вписать в него данные из post , то смогу ответить точнее. И немного от темы отойду, проснулся сегодня с такой мыслью. В линексе нет форматов файлов, значит в файлы пишутся только определённые байты. А потом просматриваются через разные программы, которые правильно понимают эти последовательности. Так вот, если сделать приложение, которое работает с записанными данными через блокноты(записывает данные к примеру через write и lseek). Организует доступ к нужным элементам из блокнотика. И записывает данные построчно. И они будут записанны примерно так. stellaco:123:wasm:cassum:564 Доступ к таким данным будет осуществляться быстрей? чем к примеру..из реляционной БД ? (примерное колличество обрабатываемых строк...миллионы)
В линексе нет форматов файлов - ужос. оступ к таким данным будет осуществляться быстрей? чем к примеру..из реляционной БД ? - смотря какой доступ. Считать с диска в память - быстро. Обработка миллионов строк (поиск, сортировка, выборка по критериям) - определенно медленней (если, конечно не будешь сам реализовывать свой двиг бд с индексами). P.S. Юзай sqlite для подобных целей.
Это известный вопрос. Если нужно записывать-считывать несколько десятков строк, то, естественно, можно сделать это самому с пом. доступа к файлу. Если нужно искать в нескольких десятках строках- можно тоже самому. Если данных- несколько сотен или сотен тысяч- для этого придуманы БД, точнее- можно тоже самому, но придется придумывать всякие хитрости для того, чтобы все это работало быстро, и в результате ты сделаешь еще одну СУБД. В БД применяются хранение последних даных в памяти, индексация данных для убыстрения поиска, при чем индексация разными хитрыми алгоритмами, итд. В основном, задачи- быстро записать, быстро считать, быстро найти. Первые две- есть толко два варианта- в память и на диск. Если в память, то придется придумывать защиту от пропажи данных в случае перезагузки сервера итд. Если на диск- тут все зависит от тебя- можно каждую запись в отдельный файл записывать, все в один файл, или оптимимизированны (минимизированные) данные в один файл. Oracle же тоже заптисывает в файл (после записи в RAM). А по поиску- надо или придумывать свои алгоритмы оптимизации поиска данных или использовать существующие СУБД. Если строк- миллионы, как ты сказал, то, тебе или нужно писать свой дижок БД, или использовать существующие. В зависимости от твоих условий может получиться, что ты напишешь более оптимальный конкретно для твоей задачи движок, чем самые крутые и дорогие на сегоняшний день на планете, т.к. все они в основном универсальные.
Как все просто у линуксоидов... Зачем интересно делают для хранения баз даже отдельные разделы со своей ФС?
Не поленился, проверил (правда на сях, но принцип тот же - принимаю из стдин). Html старица: Код (Text): <html> <body> <form METHOD="POST" action='http://192.168.1.38/cgi-bin/a.out'> <INPUT type='submit' VALUE='OK!' NAME = 'test_data'> </form> </body> </html> Код на сях: Код (Text): #include <stdio.h> int main() { printf("Content-type: text/html\n\n"); char buffer[1024]; scanf("%s", buffer); printf(buffer); return 0; } Результат в браузере после нажатия кнопки: Код (Text): test_data=OK P.S. Сдается мне, ты в своих тестах забываешь Код (Text): printf("Content-type: text/html\n\n"); и не видишь результатов.
Всмысле? Язык SQL чтоли? Если ноль в бд - единственное, что могу посоветовать - поизучать язык SQL. В инете немеряно инфы. На какой бд учиться и тестировать? 1) MYSQL - удобно, просто. Но есть одно но. Есть сильные отклонения от стандарта sql. Но учиться можно. Бесплатна в некоммерческих целях. 2) SQLITE - встраиваемый движок бд в приложение. Удобно, когда не нужна архитектура клиент - сервер. 3) PostgreSQL - моя любимая. Сложнее ставить и админить, чем mysql. Но зато мощнее и интереснее.
Хех ) Кого не спрашиваю..все отвечают тоже самое. Но меня интересует)... как делать базы данных... НЕ SQL запросы....и НЕ проектирование БД наподобии...клиент, адресс, заказы. Интересует именно! как делать БД..которая сама имеет собственный интерпретатор SQL, которая сама записывает данные на диск и в ром, которая имеет свои алгоритмы выборки и тд... Аля , как сделали эти самые MYSQL, SQLITE,PostgreSQL