![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#181
|
|
![]() paranoid Группа: Участник форума Сообщений: 1362 Регистрация: 30.9.2005 Пользователь №: 296 ![]() ![]() |
Цитата(ICEMan @ 7.04.2006 - 21:12) Только вот эта строчка отвечает за внесение значения в таблицу troubles, а лишняя строчка появляется в arh_troubles ![]() хрен его знает что там в коде мускуля - я не интересовался. определенно выполнение запроса с таким синтаксисом (INSERT + WHERE) вызывает глюк. а уж как он там проявляется - (может она заносит в последнюю таблицу использованную оператором INSERT) хрен его знает. странно то в лог ничего не вываливает. или вываливает? ща попробую. попробовал. мускуль 3.23 на INSERT + WHERE заругалсо... Сообщение отредактировал Balamut - 7.4.2006, 22:53 -------------------- Болше всего я не навижу бесграмотность
Знакомства в Черняховске http://love.chernyahovsk.org/ |
|
|
![]()
Сообщение
#182
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
На рабочем серваке отключены все уведомления.
Попробую завтра конструкцией or die(mysql_error()); чего нить добицца... -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#183
|
|
![]() Близко не подходить! Шибко красный! Группа: Участник форума Сообщений: 2304 Регистрация: 8.6.2005 Из: Черняховск||Москва Пользователь №: 211 ![]() ![]() |
Пока дошёл до последнего поста - аж мозг закипел.
![]() ПО поводу вставления пустой строки, имхо, где-то в конце скрипта нет команды завершения транзакции (?), и мускуль думает, что сейчас будет ещё раз обращение, и поэтому ЗАРАНЕЕ готовит ещё одну строку в базе данных. (а иногда и 10 сразу ![]() В любом случае надо смотреть логи, что творит код. Допускаю такую мысль, что и транзакции там не причём. ------------------- Что касается предпочтительности языка для создания супер-пупер проекта - всё зависит от того, каким языком в совокупности лучше всего владеет группа кодеров. Если Си - то пусть будет Си. Если Перл - да запросто. А вот что касается всей мощи использования классов, вот тут как раз Питон Перл делает, и ощутимо подвигает Си++ для покурить. Я бы не стал утверждать, что Гугл - это частный случай использования Питона. Это одна из самых крупных компаний в интернете по капиталу, и крупнейший спонсор проекта Питон - ежегодные отчисления на добровольной основе в фонд Питона составляют более 5 млн. долларов. Общие отчисления в фонд Питона каждый год составляют более 20 млн. долларов от таких контор как IBM, AMD, Sun, NEC, Samsung, Oracle(sic!!!), Intel насколько я помню принципиально не отчисляет никаких денег ![]() Что касается главного преимущества Питона - РЕКОРДСМЕН по портабельности. Программа написанная один раз - будет выполняться ВЕЗДЕ. Главный мысль клёвый чел Гуидо ван Россам. И кстати, Питон поддерживает (встроенными средставми) в виде классов Bercli DB, cookie, socet Server, HTTP_Server, Server_Proxy, XML-RPC, CGI-XML_RPC, email, MIME, rfc822, csv, HTML-Parser, audio-oop, image-oop, wav, AU, md5, sha, ..... И ещё около 250 встроенных модулей со всякой всячиной. Почему я именно эти привёл - да потому что на них сделать движок - самое милое дело. И кстати, и логирование встроенными средствами тоже поддерживается. ![]() Немного подумав, добавляет: -------------- Гугл в Питере собрается открыть толи 200, толи 500 рабочих мест. Делайте выводы, господа хорошие. Сообщение отредактировал fantom - 8.4.2006, 7:14 -------------------- Сайт газеты "Советская Россия": http://sovross.ru/
Пролетарии всех стран, соединяйтесь! |
|
|
![]()
Сообщение
#184
|
|
![]() Близко не подходить! Шибко красный! Группа: Участник форума Сообщений: 2304 Регистрация: 8.6.2005 Из: Черняховск||Москва Пользователь №: 211 ![]() ![]() |
Ура, товарищи!
Python 2.5 alfa доступен для скачивания! ![]() Уже больше недели. Сам пока его только качаю, но по отзывам нововведений вполне хватает. ![]() Будем посмотреть. -------------------- Сайт газеты "Советская Россия": http://sovross.ru/
Пролетарии всех стран, соединяйтесь! |
|
|
![]()
Сообщение
#185
|
|
Группа: Участник форума Сообщений: 237 Регистрация: 24.2.2006 Из: Гомель Пользователь №: 481 ![]() |
Так. Вставлю свои пять копеек по поводу написания софтины, которая бы забирала только новые посты и позволяла постить новые мессаги без жуткого html траффика. К сожалению, все распространенные форумные движки страдают этой х***й.
Единственный правильный шаг в этом направлении - это использование веб-сервисов, а именно написание серверной компоненты (в данной ситуации - плагина к форуму), которая будет xml-rpc или soap сервером. Этот плагин будет отвечать за авторизацию и за предоставление доступа к данным (в чистом виде, без html, css траффика). Клиентские приложения при таком подходе можно будет писать на чем угодно. Можно даже написать на XUL плагин к gecko браузерам (см http://xpoint.ru) |
|
|
![]()
Сообщение
#186
|
|
![]() Группа: Участник форума Сообщений: 22 Регистрация: 13.3.2006 Пользователь №: 513 ![]() |
Единственный правильный шаг в этом направлении - это использование веб-сервисов, а именно написание серверной компоненты (в данной ситуации - плагина к форуму), которая будет xml-rpc или soap сервером. Этот плагин будет отвечать за авторизацию и за предоставление доступа к данным (в чистом виде, без html, css траффика). По твоему наущению я уже думал в этом направлении и пришел к выводу, что разарабатывать нужно в три основных этапа: 1. Разработка протокола обмена данными; 2. Разработка серверной части; 3. Разработка простого клиента. Пункт 1 - самый важный. Имхо, лучше всего придумать какой-нибудь XML-формат. Желательно, чтобы XML использовался и для запросов, и для ответов, тогда простой клиент может быть написан даже на ajax'е. Пока это все укладывается в твои выводы. Единственное, с чем я не совсем согласен, это с написанием сервера. Имхо, тут сервер лишнее, достаточно скрипта, обслуживающего запросы. |
|
|
![]()
Сообщение
#187
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
2alexweb
Ты абсолютно прав. -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#188
|
|
Группа: Участник форума Сообщений: 237 Регистрация: 24.2.2006 Из: Гомель Пользователь №: 481 ![]() |
2SunOfABeach
Я в принципе и имел в виду скрипт(ы), а не сервер Цитата Пункт 1 - самый важный. Имхо, лучше всего придумать какой-нибудь XML-формат. Желательно, чтобы XML использовался и для запросов, и для ответов, тогда простой клиент может быть написан даже на ajax'е. Никакого нового формата выдумывать не нужно - давно уже умные придумали SOAP, и в ЛЮБОМ ЯЗЫКЕ ЕСТЬ СРЕДСТВА ДЛЯ РАБОТЫ С НИМ, что значительно ускоряет разработку Для справки: # SOAP — протокол обмена структурированными сообщениями в распределенной вычислительной среде. ... ru.wikipedia.org/wiki/SOAP # Протокол доступа простых объектов. Протокол, описывающий модель упаковки XML запросы и ответы. Обмен сообщениями через SOAP позволяет обмениваться серверу и клиенту любой информацией в формате XML. www.webasyst.ru/glossary.htm |
|
|
![]()
Сообщение
#189
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
В общем целом нужно всего лишь отработать алгоритм синцхронизации БД форума (вернее его части - мы не заватываем закрытую информацию, недоступную на форуме, только паблик.) с БД на локальной машине. Можно для простоты решения даже структуру БД не менять.
Кроме того, нужно написать сервлет для авторизации. Сам же клиент предполагается как оболочка для локальной БД у юзера, которая будет отвечать за: - начало авторизации - обработка куки - поддержка сессии - синхронизация с серверной БД автоматически/по требованию - формы ответа+цитирования, изменения персональных данных Может быть что-то упустил... -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#190
|
|
![]() Группа: Участник форума Сообщений: 22 Регистрация: 13.3.2006 Пользователь №: 513 ![]() |
2SunOfABeach Я в принципе и имел в виду скрипт(ы), а не сервер Никакого нового формата выдумывать не нужно - давно уже умные придумали SOAP, и в ЛЮБОМ ЯЗЫКЕ ЕСТЬ СРЕДСТВА ДЛЯ РАБОТЫ С НИМ, что значительно ускоряет разработку В любом языке есть средства для работы с XML. Ну, по крайней мере, в любом современном. SOAP есть подмножество XML, которое в данном конкретном случае, имхо, есть средство избыточное. Давай разберем, что нам нужно для реализации. 1. Авторизация. От клиента серверу передается логин-пароль, от сервера клиенту - SID. В упрощенном случае можно даже без этого обойтись, а передавать логин-пароль при каждом запросе. Но лучше SID, тогда для уверенности можно хранить информацию о SID (IP, например) на сервере. 2. Запросы клиента 2.1. Запрос на выборку Запрос, по которому сервер возвращает клиенту список сообщений, удовлетворяющих условиям. Именно эти условия и должны отражаться в запросе. Т.е. тут что-то наподобие простого SELECT из синтаксиса SQL, где в FROM используется имя ID топика, а в WHERE прописываются эти самые условия. Пример: Код <query> <command>select</command> <from>[topicID]</from> <where> <start>[startPosition]</start> <records>[recordsToShow]</records> <user>[userID or userName]</user> <dateFrom>[messageDateFrom]</dateFrom> <dateTo>[messageDateTo]</dateTo> <!-- другие условия --> </where> </query> 2.2. Запросы на изменение А тут что-то типа UPDATE, INSERT и DELETE в SQL. Тут то же самое, что и при SELECT, только добавляются поля <messageID> и/или <messageText>. 3. Ответы сервера. Это вообще самая простая часть. Ответ сервера состоит из двух частей: 1) сообщение об ошибках, 2) выборка. Пример: Код <answer> <errors> <errCode>0</errCode> <errDescrition>Well done</errDescription> </errors> <messages> <message id="[messID]"> <date>[date]</date> <userID>[userID]</userID> <userName>[userName]</userName> <!-- тут еще какие-нибудь поля... --> <messageText> скажите, а пачиму у миня низопускаеццо венда. я вчира пирифарматирывал винт и она пиристала зопускаццо можыт быть у миня какойнибуть вируз? </messageText> </messID> <message id="[messID]"> <!-- остальные сообщения --> </messID> </messages> </answer> Все, больше ничего не нужно. Вся остальная функциональность, типа смайликов, предварительного просмотра, цитирования и т.п. - все это делается на клиенте. Т.о. получаем, что серверная часть есть своего рода ретранслятор из XML в SQL при обращении клиента, и из ответа БД в XML при ответе сервера. Так что SOAP тут - из пушки по воробьям. Теперь что касается клиента. Вначале, думаю, было бы разумно сделать клиента на ajax'е. Потом нужно будет на его основе отладить и описать API и протокол. Надеюсь, понятно объяснил? Сообщение отредактировал SunOfABeach - 18.4.2006, 13:41 |
|
|
![]()
Сообщение
#191
|
|
![]() paranoid Группа: Участник форума Сообщений: 1362 Регистрация: 30.9.2005 Пользователь №: 296 ![]() ![]() |
На рабочем серваке отключены все уведомления. Попробую завтра конструкцией or die(mysql_error()); чего нить добицца... интересно чем закончилось.... -------------------- Болше всего я не навижу бесграмотность
Знакомства в Черняховске http://love.chernyahovsk.org/ |
|
|
![]()
Сообщение
#192
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
интересно чем закончилось.... Да ничем не закончилось. При подстановке mysql_close() в функцию закрывалась сессия с БД и ничего не грузилось. В любом случае данная функция не при чем. Я поставил автоматическую запись даты и времени архивирования записи и сравнил время появления данных в архиве с фактическим временем архивации записей. Нет ни одного совпадения. Сейчас занимаюсь поиском неявных вызовов данной функции и, матерясь, удаляю левые нулевые записи ![]() -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#193
|
|
![]() Близко не подходить! Шибко красный! Группа: Участник форума Сообщений: 2304 Регистрация: 8.6.2005 Из: Черняховск||Москва Пользователь №: 211 ![]() ![]() |
Почитал на предыдущей странице по поводу SOAP-XML.
Вот мля не согласен! %) Ниже были приведены хмл-тексты, ну вы меня хоть растреляйте - ГДЕ ЭКОНОМИЯ ТРАФФИКА? Не проще ли делать примерно так: #001А мне пофигу!#00CДа кто тебя спрашивать будет. ![]() Коды будут обозначать теги типа, <messages>, <errors> - всяк короче будет. Ну и опять же. gzip, ау, где ты??? -------------------- Сайт газеты "Советская Россия": http://sovross.ru/
Пролетарии всех стран, соединяйтесь! |
|
|
![]()
Сообщение
#194
|
|
![]() Виликае ЦлоЪ Группа: Администратор Сообщений: 5347 Регистрация: 25.9.2004 Из: Jotunheim Пользователь №: 2 ![]() ![]() |
Подскажите кто-нить, тут такая проблема возникла. Надо написать прогу на простом СИ:
Скопировать содержимое всех найденных директориев с именем ТМР в корневой директорий, переименовав их ТМР1, ТМР2, … Написал почти всю, проблема осталась в том, чтобы скопировать файлы из найденных каталогов с именем TMP в нужный. Как сделать? А то чот затупил. Вот сама прога: Код #include<dos.h>
#include<dir.h> #include<stdlib.h> #include<stdio.h> #include<string.h> int y=1; char path2[300]=" :\\TMP1",z1[300]=""; void CopyDir(void) { struct ffblk ff; int x,n=3; char path3[300]; strcpy(z1,path2); for (x=findfirst("*.*",&ff,FA_DIREC);!x;x=findnext(&ff)) if (ff.ff_name[0]!='.'&&ff.ff_attrib&'\x10') { getcurdir(getdisk()+1,path3); while (path3[n]!='T'||path3[n+1]!='M'||path3[n+2]!='P')n++; strcat(strcat(strcat(z1,path3+n+3),"\\"),ff.ff_name); if (mkdir(z1)!=0) printf("Error creating directory\n"); chdir(ff.ff_name); CopyDir(); chdir(".."); } } void NextDir(void) { struct ffblk ff; int x; char cmp[]="TMP", z[3]; for (x=findfirst("*.*",&ff,FA_DIREC);!x;x=findnext(&ff)) if (ff.ff_name[0]!='.'&&ff.ff_attrib&'\x10') { chdir(ff.ff_name); if (!strcmp(ff.ff_name,cmp)) { path2[6]=0; itoa(y++,z,10); strcat(path2,z); if (mkdir(path2)!=0) printf("Error creating directory\n"); else CopyDir(); } else NextDir(); chdir(".."); } } void main(void) { char path[300]; getcurdir(getdisk()+1,path); path2[0]=getdisk()+'A'; NextDir(); chdir("path"); } -------------------- Никоим образом не считай мёртвыми тех, которые были убиты на пути Аллаха. Нет, они живы и получают удел у своего Господа.
|
|
|
![]()
Сообщение
#195
|
|
![]() MORPECH Группа: Участник форума Сообщений: 960 Регистрация: 7.4.2006 Из: 4e Пользователь №: 580 ![]() ![]() |
Вооо!!! Наконецто я добрался до этой темы!!! Всё я поселяюсь в ней!!! )))
html,css,javascript,php+mysql - Моя стихия... -------------------- BMW CLUB INSTERBURG
|
|
|
![]()
Сообщение
#196
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
2 Тошик
Даффай насчот С++ ![]() 2Бруталл, Честно, мне влом лезть в мануалы. Попробуй разобрацца сам. Но насколько я помню в С++ нет полного копирования файта, только в потоке. Хотя, быть модет я ошибаюсь... -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#197
|
|
![]() Виликае ЦлоЪ Группа: Администратор Сообщений: 5347 Регистрация: 25.9.2004 Из: Jotunheim Пользователь №: 2 ![]() ![]() |
О! Нашёл. Думал уже посимвольно файл копировать, или по строкам, но откопал там функцию, которая вызывает досовские команды:
system(argum); а там в аргументе можно указать "copy c:\\1.txt G:\\shit\2.txt" -------------------- Никоим образом не считай мёртвыми тех, которые были убиты на пути Аллаха. Нет, они живы и получают удел у своего Господа.
|
|
|
![]()
Сообщение
#198
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
Ну вот и всё
![]() Представляю себе что бы было при использовании последовательности 1 fopen... 2 ferror... 3 feof... 4 fgets... 5 fputs... 6 fclose... ![]() -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#199
|
|
![]() Призрак форума Группа: Участник форума Сообщений: 3698 Регистрация: 24.10.2004 Из: Iceland Пользователь №: 15 ![]() ![]() |
Найден рецепт LDAP-авторизации, проблемой которого я занимаюсь уже пять месяцев.
Скрипт может определить имя пользователя, зашедшего на страницу, и домен, в котором он находится. Если кому понадобится - пишите. -------------------- -> Я глаз даю, что умных в этом мире
-> Всего лишь двое: Я и Пентиум четыре. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше? |
|
|
![]()
Сообщение
#200
|
|
![]() Близко не подходить! Шибко красный! Группа: Участник форума Сообщений: 2304 Регистрация: 8.6.2005 Из: Черняховск||Москва Пользователь №: 211 ![]() ![]() |
А я пару дней назад вычислил как в Python можно генерировать звуки системной бикалкой и воспроизводить звук более чем 50 форматов.
![]() -------------------- Сайт газеты "Советская Россия": http://sovross.ru/
Пролетарии всех стран, соединяйтесь! |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 3.5.2025, 16:24 |