Перейти к содержимому
Калькуляторы

GoBGP - BGP демон с удобным API и cli

Лучше весь месяц писать ini парсер, раз вечер сильно мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И чё, ибаться 2 недели только ради парсинга конфига?

 

Если вы в первый раз в жизни пишите парсер, то да ипаться. В следующий 100500 раз у вас уже будет парсер. Выстраданный, отлаженный, и хорошо понимаемый. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну да, все верно. Ведь в биллинг надо каждую неделю писать примерно 15 новых парсеров. Все 20 лет существования биллинга. Каждую неделю. 15 штук. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну да, все верно. Ведь в биллинг надо каждую неделю писать примерно 15 новых парсеров. Все 20 лет существования биллинга. Каждую неделю. 15 штук. :)

Не взрывай мозг человеку, у него парсеры ини годами пишутся :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если честно, не представляю чего в парсере писать 2 недельки. Пару дней с кофем и плюшками с вКонтактиком - да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Напишете аналогичное https://github.com/benhoyt/inih меньше чем за через две недельки? :)

Блин, обе ж стороны правы, вы говорите про парсер, но не говорите о том, что он умеет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если честно, не представляю чего в парсере писать 2 недельки. Пару дней с кофем и плюшками с вКонтактиком - да.

 

Наговнокодить может быть и за час что-то можно нечитаемое и с багами.

 

Вот вам пример исходников хорошего ini-парсера на java(т.е. на C/C++ будет ещё больше кода, на js или чуть поменьше), которым я пользуюсь в своих поделках . И там ещё есть тесты всего этого дела

 

За пару дней с вконтактиком всё это сделать не реально. За пару дней можно сделать только говно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://www.netlab.linkpc.net/download/software/SDK/ini_cfg.c

http://www.netlab.linkpc.net/download/software/SDK/ini_cfg.h

Вечер или два, хз чего там больше делать.

При этом не только читает но и пишет, ибо по сути это БД с настройками, которая должна пахать быстро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan_83

оффтоп: а может сделать alias для вашего домена, а то корп. фаервол не пускает, считает ваш сайт опасным :) (Dynamic DNS Host)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там и так 3 алиаса:

http://www.netlab.linkpc.net

http://netlab.dhis.org

http://net-lab.slyip.net

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если честно, не представляю чего в парсере писать 2 недельки. Пару дней с кофем и плюшками с вКонтактиком - да.

 

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

 

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

 

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

 

http://www.netlab.linkpc.net/download/software/SDK/ini_cfg.c

http://www.netlab.linkpc.net/download/software/SDK/ini_cfg.h

Вечер или два, хз чего там больше делать.

При этом не только читает но и пишет, ибо по сути это БД с настройками, которая должна пахать быстро.

 

В моем проект сейчас в 20 раз меньше кода и я очень надеюсь, что он не увеличится больше сем в 10 раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В моем проект сейчас в 20 раз меньше кода и я очень надеюсь, что он не увеличится больше сем в 10 раз.

Это состязание у кого короче?)

 

Я относительно легко читаю и умещаю в голове 1к кода, до 2к уже сложнее - и скролить становится не удобно, поэтому приходится разбивать на модули.

 

 

Сколько у тебя там кода - вопрос спорный.

Ты можешь думать что какой нибудь код вида: print("md5(123) hash is: %s", md5_2_str("123')); это одна строчка но на практике мд5 это 500 строк и ещё хз сколько от стандартной либы задействовано.

 

Я вот тоже могу сказать что, например в ssdpd всего каких то 500 строчек кода, это в общем то почти правда, ибо ещё 5-8к это моя либа которая во многих моих проектах задействована.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan_83

 

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

 

У меня задача другая - я хочу освоить что то получше чем Perl/PHP но не такое адовое как C++. Я уже пробовал - несколько раз, не выходило. Чтобы вот так пару раз в неделю сесть и покодить 30-60 минут в свое удовольствие. Если поперло то засесть на 3-4 часа в ночь.

 

Пока что Node.js оказался чертовский быстр и довольно понятен. Но скриптовость и кривизна яваскрипта, который признают даже авторы учебников пугает. Разработчики node.js на полном серьезе предлагают пускать сессию screen и в ней скрипт node.js. Я как прирожденный системный администратор - категорически протестую!

 

Go - совсем другое. Если получится на нем написать в процессе обучения что то более полезное чем парсер конфигов - я буду удовлетворен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Go рулез и имба для почти всех современных задач :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Это только так кажется.

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

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

 

Пока что Node.js оказался чертовский быстр и довольно понятен. Но скриптовость и кривизна яваскрипта, который признают даже авторы учебников пугает. Разработчики node.js на полном серьезе предлагают пускать сессию screen и в ней скрипт node.js. Я как прирожденный системный администратор - категорически протестую!

Вот мне тоже категорически не понравилось что rtorrent предлагали запускать демоном через скрин, настолько что я забрался в код и вырезал к херам весь его консольный гуй, после чего проблем с демонизацией не стало :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пока что Node.js оказался чертовский быстр и довольно понятен. Но скриптовость и кривизна яваскрипта, который признают даже авторы учебников пугает. Разработчики node.js на полном серьезе предлагают пускать сессию screen и в ней скрипт node.js. Я как прирожденный системный администратор - категорически протестую!

 

Запускайте как сервис через systemd(для этого только надо написать юнит файл в строк 7). Это весьма распространненный способ запуска nodejs приложений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не нравится screen? nohup. И вообще запускать через screen/nohup это получается unix way. Зачем кодить то(демонизацию) что умеет другое ПО?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем кодить то(демонизацию) что умеет другое ПО?

Зачем юзать линух на десктопе и серверах когда есть венда?

 

Если серверный софт не умеет пахать демоном то это нужно лечить в коде, а не костылями и приговорами: "и так сойдёт".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это вопрос философии. Кому-то нравится unix way, кому-то монолитный продукт. Если для админа оно прозрачно посредством unit-файла systemd или готового init-скрипта, то какая разница?

 

Меньше кода - меньше проблем

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

0. Если бы этот маразм был Unix way то и остальные программы работали бы через такую же жопу, однако практически все кому надо работать демоном делают это своими силами.

1. Эксплуатация в условиях под которые оно не создавалось

2. Конкретно в моём случае для работы rtorrent демоном требовалось как раз удалить к херам весь гуишный код, остальное брал на себя самописный rc.d скрипт: вычисление пида и отвязывание от консоли.

3. Код для демонизации - строчек 10, если со всякими там извратами и приколами то от силы сотня, притом он копипастится и адаптируется под свои нужны выкидыванием не нужного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это вопрос философии. Кому-то нравится unix way, кому-то монолитный продукт. Если для админа оно прозрачно посредством unit-файла systemd или готового init-скрипта, то какая разница?

 

Меньше кода - меньше проблем

 

Интересно, я обновил сервера до Debian 8, там используется systemd по умолчанию. Вообще unix админы консервативные люди. Лучше если бы иметь стандартную фичу демонизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan_83

А зачем мне писать эти 10 строчек, когда есть nohup?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И самое важное, C и т.п. подразумевают то, что относительно легко делать системные вызовы и т.п. JAVA и javascript изначально такого не подразумевает. Да, конечно у Java есть JNI, но пилить native-код лишь ради демонизации это полное извращение. Нужно просто понимать, что сама по себе демонизация это так и ли иначе ОС-зависимая фича, а подразумается, что должно работать везде. Да, со временем придумают костыли типа такого http://commons.apache.org/proper/commons-daemon/ ради "админов", для которых nohup или screen это абсолютное зло, но оно опять же прослойка между vm и native.

 

Я за это java и js и люблю, т.к. почти не задумываюсь о том, где оно потом будет работать (на винде, линуксе или где-то ещё), а то что start.sh и start.bat будут отличаться на пару байт - ну это настолько ничтожный компромисс, что давно с ним смирился и это куда лучше, чем уродские #ifdef WIN32 и #ifdef __linux__ . не должно быть это в коде прикладного ПО, всё это должно быть спрятано глубоко в либах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan_83

А зачем мне писать эти 10 строчек, когда есть nohup?

 

Всегда думал, что демонайзером является символ & в конце командной строки. А nohup всего-лишь отвязывает команду от управляющего терминала. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.