Автор Тема: IMSLU- “Система за управление на интернета за потребители в локална мрежа”  (Прочетена 36317 пъти)

ddantgwyn

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 1262
    • Профил
Значи е някакъв друг Боян, дето не го знам.

Е, аз го знам. Още от времената на Fidonet. Мисля, че сме свързани и в LinkedIn.

Дълго време ползвах клавиатурния му драйвер за DOS -- поддържаше три кодови таблици и автоматично превключваше между тях.

После го изпуснах от поглед, засичали сме се само инцидентно.
Активен

the lamer's team honourable member

mystical

  • Напреднали
  • *****
  • Публикации: 326
  • Distribution: Debian, FreeBSD
  • Window Manager: XFCE
    • Профил
    • WWW
В описанието на програмата пишеш, че всичко е пренаписано на Bash. Преди на какво е било? Браво, че си помислил за FreeBSD!

Прав си, там бях описал промените за Линукс. Предишните скриптове бяха на python и ги смених с bash.
Прав си и за bash във FreeBSD, bash трябва да се инсталира допълнител и него използват изобще във FreeBSD.
След като първо писах на bash, писането на sh ме затрудни много, но беше наложително. На времето, ако имах сегашния опит, нямаше да се лутам толкова много.  :)
Активен

Ако не можеш да градиш, поне не руши!

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Какво наложи пренаписването на bash?
Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

pennywise

  • Гост
Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.
А ще споделиш ли, че ми стана интересно?
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Какво наложи пренаписването на bash?
Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.

Допълнителна зависимост. Има п4п, има питон. Така поне само едното. Одобрявам.

п.п. Питон е хубав, но бавен език. И паралелно има две версии.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.
А ще споделиш ли, че ми стана интересно?
Не е нищо особено. Не е пълноценен заместител на find. Използвам os.walk, concurrent.futures.ProcessPoolExecutor и os.scandir. Трябва да го донаправя да приема и специалните символи като *, ? и прочее. Което означава да разбера най-накрая, как работи re модулът, но това ще стане като ми потрябва сигурно.

Има ли iterable object може да се използва някакъв вид паралелна обработка. Същото направих преди време и със сайта на парламента, щото ми трябваше информация, която беше разпръсната по много страници. От около 30 секунди за получаването на всичко, след преработката на скрипта, същото се случваше за 5-7 сек. Зависи от момента, защото мрежата не е нещо постоянно. Ако се използва asyncio, може да е и по-бързо, но още не мога да го разбера съвсем, как работи това нещо. Ма ще ми се наложи.

Може да се използва и subprocess заедно с някоя от командите в bash като например grep по абсолютно същия начин. Ако трябва да претърсваш десетки или стотици хиляди файлове за нещо, просто не можеш да го пуснеш ей така, да си бачка, че ще чакаш доста докато прерови едно по едно всичко. Може и да е възможно да накараш с bash да се използват всички ядра, но не съм чувал за това, ако го има като възможност.

Цитат
Допълнителна зависимост.
Така е. Но пък Python го има сигурно в почти всеки Линукс, защото половината от системата се движи от скриптове на Perl и Python.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

mystical

  • Напреднали
  • *****
  • Публикации: 326
  • Distribution: Debian, FreeBSD
  • Window Manager: XFCE
    • Профил
    • WWW
Какво наложи пренаписването на bash?
Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.

bash/shell е достъпен за по-голяма аудидория, който използва Unix подобна ОС, рано или късно се сблъсква със shell.
Целта е нещата да са максимално опростени и разбираеми за повече разработчици.
Особеното при python е, че първо създаваш командите, а после ги изпълняваш.
sh позволява директно изпълнение на командите и с по-малко код се получава същия ефект. Когато се добавят и коментари, на sh се пишат по-разбираеми скриптове.

Малко информация за това как работи системата:
ip_edit.php -потребителите работят с тази станица, за да направят мрежови промени.
ip_edit_apply.php - прилага мрежовите промени

Няма дълбоки зависимости в php кода.  *.php и *_apply.php - има страница с формуляр и страница, която обработва информацията от формуляра. Ако се направят промени в ip_edit.php или ip_edit_apply.php, те по никакъв начин няма да засегнат работат на останалите страници.

include/network.php - библиотека, която с малки изключения, отговаря за повечето мрежови промени.
etc/imslu/scripts/functions-php.sh или usr/local/etc/imslu/scripts/functions-php.sh (за FreeBSD) - тези функции се използват от PHP, за да се приложат мрежови промени.

Мрежовите промени се прилагат по следния начин:
ip_edit.php-->ip_edit_apply.php-->network.php-->functions-php.sh--> Linux or FreeBSD

* на други места също се правят мрежови промени, но начина на работа е подобен или директно се извиква функция от functions-php.sh
Активен

Ако не можеш да градиш, поне не руши!

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Що не и направиш отделен веб сайт? връзките пак може да си стоят към sourceforge и гитхъб.....Нo според мен един проект който само се рекламира в sourceforge/гитхъб някакси се губи в цялото множество от проекти и изглежда несериозно.

И аз мисля че баш ще е по добре от питон. Като видя скрип на питон и изтръпвам. Все очаквам да каже нямате тази версия на питон или пък да изписка за някакъв модул дето му трябвало. :(

//offtopic
като си говорим за скриптов език....Май няма такъв подходящ за линукс...Хем прост хем разбираем хем постоянен във времето.
Питона - лошо име и горните проблеми.
Баш е универсален но много тегав за писане.
Пърл - става за скриптов език но много неразбираем. Особенно за по големи проекти е отврът.

А затова за себе съм си намерил решение. Конзолните скрипрове си ги пиша на PHP. Незнам как ви звучи но php се спрявя чудесно в конзолата и си има абсолютно всичко необходимо! Хем разбираем; хем постоянен; хем пълен. Недостатък е че трябва да имаш апачи ама какво от това. Всяка система го има.



« Последна редакция: Aug 01, 2017, 14:02 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Не зная, какво му е неразбираемото на Питоня. Освен това съвсем лесно може да се направи скрипта на изпълним файл, който да си съдържа всичко в него и да не реве за модули, ако му трябва някой дето не идва с него.

Ето един пример, дето си направих одеве, за да го сложа в панела на XFCE4, защото нещото, което върши тази работа ме дразни страшно. Грозно, забравя си настройките и ми показва небивалици.

Имаше лека промяна по скриптчето заради промяна на състоянието при напълно заредена батерия. Тук не поиска да го постне цялото. В прикачените е. Защо предпочитам Python пред bash, за да направя нещо подобно. Четимо е и разбираемо
« Последна редакция: Aug 01, 2017, 20:05 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

remotexx

  • Напреднали
  • *****
  • Публикации: 3211
    • Профил
А затова за себе съм си намерил решение. Конзолните скрипрове си ги пиша на PHP. Незнам как ви звучи но php се спрявя чудесно в конзолата и си има абсолютно всичко необходимо! Хем разбираем; хем постоянен; хем пълен. Недостатък е че трябва да имаш апачи ама какво от това. Всяка система го има.

Чакай-чакай, я върни малко назад, че изгубихме детската аудитория... защо "трябва да имаш апачи"?
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Да, не трябва ли да имаш просто РНР?
$ php -S скрипт

ако не се лъжа, изпълняваше php скрипт

Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
не трябва ли? ако нетрябва значи греша.
Активен

Perl - the only language that looks the same before and after encryption.

mystical

  • Напреднали
  • *****
  • Публикации: 326
  • Distribution: Debian, FreeBSD
  • Window Manager: XFCE
    • Профил
    • WWW
python, sh, php ... всички стават и вършат работа, най-добре е да работеш с това, с което ти е най-удобно.
Но аз трябваше, да се спра на стандартен скриптов език като sh, който го има във всяка Unix подобна система. И преобладаващите системни скриптове са писани на sh.

php кода може, да се изпълнява директно от конзолата, примерно:
$ php database/import-ipacct-database.php
Активен

Ако не можеш да градиш, поне не руши!

remotexx

  • Напреднали
  • *****
  • Публикации: 3211
    • Профил
А бе хора.. явно жегата ни е хванала яко... Не му трябват никакви опции, замислете се, как  вашта м.. нашта ОС изпълнява sh/bash/dash и пр. Файл , вярно може и изрично да се укаже, ама мързелив народ ей..
Нали всеку текстов т.е. И с код файл, на първия му ред може да се укаже в определн формат, през кой аджеба интерпретатор да се изпълни.. И реда го има на първа позиция в почти всеки шел скрипт кокто съм виждал и си е така по дизайн.. Какъв е приблема направо вътре да се укаже - кеф ти пърл кеф ти пхп?!
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
А бе хора.. явно жегата ни е хванала яко... Не му трябват никакви опции, замислете се, как  вашта м.. нашта ОС изпълнява sh/bash/dash и пр. Файл , вярно може и изрично да се укаже, ама мързелив народ ей..
Нали всеку текстов т.е. И с код файл, на първия му ред може да се укаже в определн формат, през кой аджеба интерпретатор да се изпълни.. И реда го има на първа позиция в почти всеки шел скрипт кокто съм виждал и си е така по дизайн.. Какъв е приблема направо вътре да се укаже - кеф ти пърл кеф ти пхп?!
Защото не можеш горе да пишеш #!/usr/bin/perl а кода надолу да е php.
Например като се пише шел скрипт се ползва sh а не bash, защото колкото и да са еднакви, много неща в bash ги няма в sh и няма да работят коректно. Един вид sh е най-малкият доминатор и ще върви на всякъде.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.