Перейти к содержанию

Ineu

Members
  • Постов

    2112
  • Зарегистрирован

  • Посещение

Весь контент Ineu

  1. Составил простенький язык описания тарифов и перловый скрипт для парсенья его. В аттаче.
  2. cL0N31 писал(а) Mon, 20 November 2006 20:13 за то время скока тут напостили не легче ли было ответить и сохранить время? мне легче понять на примерах а не на тоннах теории Не легче. Потому что завтра Вы спросите, что такое регулярные выражения, а если прочтете man sed и прочие маны на эту тему - не спросите наверняка. Смысл форумов не в том, чтоб получить конкретный ответ на конкретный вопрос, а чтоб научиться находить ответы самому. Иначе что Вы будете делать, когда некому будет ответить на очередной вопрос?
  3. cL0N31 писал(а) Mon, 20 November 2006 19:46 спасибо за многочисленные отзывы а также невероятный по своему значению их КПД А что можно ответить человеку, который свое время на чтение манов тратить не желает, а вот чужого времени на ответы требует?
  4. Вылазка SCO не удалась, теперь Микрософт возьмется за все сам?
  5. Hans R. Steiner писал(а) Sun, 19 November 2006 14:45 А вот такой, можно сказать, культурный или эстетический, или как там еще его можно назвать, вопрос - какой код нагляднее: for ( param ) { $export{$_} = param ($_) if param ($_) ne "" } или for ( param ) { if ( param ($_) ne "" ) { $export{$_} = param ($_) } } ? В перловых доках рекомендуется первая форма, но я ее терпеть не выношу Разница, как мне кажется, что и с конструкциями do {} while и while {} Поэтому я обычно использую do_something unless something, но if something {do something}
  6. Я щас прикручиваю морду к биллингу, html+php. Вообще, имхо, писать морду до более-менее полного оформления биллинга не стоит, очень много потом менять придется. Меня просто с биллингом, заточенным под мою ситуация, сроки торопят, поэтому все делается максимально быстро и соотв. не особо продумано Как запущу этот биллинг в продакшн, можно будет уже думать о теоретической части другого биллинга, большого и красивого
  7. manofmoods писал(а) Sat, 18 November 2006 22:13 Я понимал, что route немного примитивный инструмент, поднял gated, но он здесь не нужен, так ip статические. Да нет, route в данной задаче более чем достаточно. Я говорю о том, что ip не просто так придумали, он при некотором навыке намного быстрее и удобнее, чем route (о функциональности и речи не идет). Сравните: Route add –net 192.168.7.0 netmask 255.255.255.0 gw 10.10.10.1 dev eth0 metric 2 и ip r a 192.168.7.0/24 via 10.10.10.1
  8. Про route читать не надо, он здесь ни при чем, да и вообще он устарел морально, сейчас рулит ip echo 1 > /proc/sys/net/ipv4/ip_forward
  9. alexul писал(а) Sat, 18 November 2006 12:45 Т.е. нужно посмотреть что лежит на серваке по адресу 180.55.55.1:25000 и забрать нужные базы. Это возможно? Теоретически - да. Практически для этого нужно знать, какой для обмена данными используется протокол, если он проприетарный (что в случае ДОСа очень вероятно) - то иметь исходные коды приложения, если их нет - то уметь обращаться с дизассемблером.
  10. oleg_fox писал(а) Thu, 16 November 2006 14:47 имхо уже есть готовое, вот только найти дистрибутив не могу а файловая система называется cxfs http://www.sgi.com/products/storage/tech/file_systems.html Ничего тут не нашел по Вашему вопросу... может, невнимательно смотрел... А почему Вы уверены, что есть реализация этой ФС под Линух?
  11. oleg_fox писал(а) Thu, 16 November 2006 11:47 Данные на диск записываются блоками и информация о расположении блоков записывается в таблицу, так вот хочется файловую систему котороя хранила бы в таблице хэш значение этих блоков и при записи нового блока вычисляла бы его хэш и сравнивала с имеющимися, если уже есть такое хэш значение то делать ссылку на уже имеющийся точно такой же блок. Это позволи ло бы экономить место на диске. Архивация конечно же вариант, но имхо это более трудоёмкая для процессора операция. Идея хорошая, но я, честно говоря, не могу представить ситуации, когда бы это было достаточно востребовано, чтоб тратить на это вычислительные ресурсы и место. К тому же отличие в одном байте двухгигового файла дает совсем другой хэш, а значит, смысл совершенно теряется. В каком случае на диске может быть достаточно большое кол-во абсолютно идентичных файлов?
  12. oleg_fox писал(а) Thu, 16 November 2006 11:26 Кто-нибудь, где-нибудь, встречал файловую систему, которая позволяла бы автоматически делать одинаковые данные ссылками? А по-русски?
  13. Поиск по форуму пробовали? Гуглили? Вопрос очень распространенный, к тому же поднимался на форуме несколько дней назад.
  14. Поймите, что опен офис - это не майкрософт офис и какие бы Вы изменения не вносили (независимо от того, что Вы под этим подразумеваете), Вы не заставите его вести себя так же, как МСОфис
  15. Вот это здорово - ради нескольких макросов переделывать опенофис Предлагаю для дальнейшей интеграции переделать gcc под использование визуал бейсика
  16. Ineu

    Swap

    Основательно загрузить систему
  17. Цитата: mysql> create database test; use test; Query OK, 1 row affected (0.01 sec) Database changed mysql> create table a(x int); Query OK, 0 rows affected (0.02 sec) mysql> create table b(y int); Query OK, 0 rows affected (0.01 sec) mysql> create trigger t1 after insert on a for each row update b set y=new.x; Query OK, 0 rows affected (0.00 sec) mysql> create trigger t2 after update on a for each row update b set y=new.x; Query OK, 0 rows affected (0.01 sec) mysql> create trigger t3 after update on b for each row update a set x=old.y; Query OK, 0 rows affected (0.01 sec) mysqld Ver 5.0.26 for pc-linux-gnu on i686 (Gentoo Linux mysql-5.0.26-r1)
  18. Ганс, зачем при каждом запросе триггер-то создавать? Это ж такой же элемент логики, как и хранимые процедуры, их создал раз при создании самой базы - и они дальше сами работают. Я, по крайней мере, не могу себе представить ситуации, в которой бы возникла необходимость создавать/изменять/удалять триггеры во время работы с базой. Цитата: Вопрос следующего плана: есть у меня ряд запросов типа INSERT... к примеру, допустим, наверное, три Не выполняется И не выполнится. DBI рассчитан на атомарные операции: # perldoc DBI ... Some command-line SQL tools use statement terminators, like a semicolon, to indicate the end of a statement. Such terminators should not normally be used with the DBI. ... Если хочется свести к минимуму общение с базой, можно попробовать запихнуть множественные операции в одну хранимую процедуру.
  19. Наверное, все-таки Цитата: INSERT INTO `user` ( `name`, `address`, `telephone` ) VALEUS ( '$username', '$address', '$telephone' ); INSERT INTO `account` ( `uid`, `login`, `password` ) VALUES ( '$uid', '#login', $password ); При этом, в таблице `user` есть поле `id` INT AUTO_INCREMENT и соответственно, во второи INSERT в базу, поле `uid`, должно соответствовать инкрементному полю `id` для первого INSERT. В данной ситуации, можно воспользоваться LAST_INCREMENT_ID, но тогда, мы получаем последнюю инкрементную величину, при этом, не зависимо от того, в какую таблицу была вставлена запись, а в этот момент, так же, ведется запись трафика в базу Попробуй так: CREATE TRIGGER test AFTER INSERT ON user FOR EACH ROW INSERT INTO account ( `uid`, `login`, `password` ) VALUES ( NEW.id, '#login', $password );
  20. http://forum.nag.ru/index.php?showtopic=28947
  21. Ухты... а 2005 года у меня не было. Утяну, пасибки
  22. Пиво? Кто сказал ПИВО?? ААА реализуется на радиусе, в моем случае - rlm_perl. Пока учет ведется тем же перловым скриптом, что и две другие АА , но хочу вынести в отдельный демон. Алгоритм таков: 1. Авторизация Клиент поднимает pptp-соединение. PPPD через radius.so обращается к радиусу. Вызывается функция authorize, которая при удачной авторизации отдает NAS'у ИП для ВПН-соединения, маску, помещает в RAD_CHECK плэйнтекстовый пароль пользователя. После этого вызывается радиусовский модуль mschap, который хэширует пароль в MD4 (или что там в MSCHAP используется) и отдает хэш NAS'у. 2. Аутентификация Тут используется только модуль MSCHAP, который проверяет хэши и по результатам впускает пользователя. 3. Аккаунтинг Это должно реализоваться отдельным демоном, не зависящим от радиусовского Interim-Update-Interval, но сейчас работает в том же перловом скрипте. Сведенья о тарифах хранятся в трех SQL-таблицах - tar_base, tar_time, tar_traf. В первой - базовые ставки за вход/исх трафик и время и потолок трафика для данного тарифа (для предопл. трафика) Во второй - почасовые множители для трафика и времени. В третьей - множители для трафика по направлениям/портам. Т.о. сумма, ежеминутно снимаемая с пользовательского счета, определяется как: my $minus = $time * $row->{'hour'} * $row->{'hmul'} + $inb * $row->{'inb'} * $row->{'inbmul'} / MB + $outb * $row->{'outb'} * $row->{'outbmul'} / MB; Здесь $time - интервал тарифицируемого времени $inb - вход. трафик $outb - исход. трафик $row->{'hour'} - базовая ставка за час $row->{'inb'} - базовая ставка за метр вход. $row->{'outb'} - базовая ставка за метр исх. $row->{'hmul'} - временной множитель для данного тарифа $row->{'inbmul'} - вход. траф. множитель для данного тарифа $row->{'outbmul'} - исх. траф. множитель для данного тарифа Тут не учитываются хосты и порты, при их введении нужно дополнить формулу. Правда, с т.з. производительности это нужно делать именно в отдельном демоне, причем только с агрегированным трафиком, иначе биллинг захлебнется
×
×
  • Создать...