Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.



Użytkownik




Poszukuję jakiejś godnej, sprawdzonej pozycji w miarę przystępnie napisanej dla laika, która dobrze wyczerpie temat. Sporo tego w sieci i może możecie polecić coś dobrego i sprawdzonego na czym będzie się można początkowo oprzeć.
Offline

Użytkownik


Offline







Podobno człowiek...;)








Ucz się lepiej Perla lub Pythona, jak poradzisz sobie z Perlem, to Bash stanie się banalnie prosty.
Składnia języków skryptowych jest podobna, natomiast Bash ma może najwyżej 5 maks. 10% możliwości normalnego języka programowania.
Poza prostymi zadaniami i funkcjami, to prawie zawsze znajdzie się jakiś drobiazg, którego w Bashu nie da się osiągnąć, albo funkcja, która w Perlu czy Pythonie się załatwia się dodatkowym modułem lub biblioteką,
a w Bashu nawet pół metra kodu nie pomoże.
Dlatego osobna nauka Basha nie ma zbyt wielkiego sensu.
Ostatnio edytowany przez Jacekalex (2014-05-14 20:38:11)
Offline



Wredotka




Popieram przedmówcę - ja w Pythonie ze dwa lata siedzę, b. sympatyczny i elastyczny język - wszystko się da :)
jakbyś chciał, dysponuję własnymi kawałkami kodu.
Ostatnio edytowany przez Trin (2014-05-14 20:10:10)
Offline




złodziej wirków ]:->
co do basha to będę "oryginalny" - man bash... IMHO w 90% opisuje to co bash potrafi ;)
Jeśli chodzi o "skrpcenie" to też poleciłbym perla.
W perlu można pisać na 2 sposoby:
- normlanie, czyli "czysty" kod bez kombinacji
- "perlowo" czyli skompresowanie 50 linijek "czystego" skryptu do 10 ;)
O ile znam perla (a nie znam)* to całkiem fajnie się w nim pisze i ma miliony bibliotek. Co prawda do guru mi jeszcze sporo brakuje, ale mimo wszystko wolę "czysty" kod ;)
* - Dr, Wilczur, Strefa Rokendrola Wolna Od Angola
Offline



Użytkownik




Ucz się lepiej Perla lub Pythona, jak poradzisz sobie z Perlem, to Bash stanie się banalnie prosty.
z tym, że nie jestem pewien czy to mnie po prostu nie przerośnie..i też chodzi o to żebym się nie zniechęcił za szybko, wiadomo jak człek ślęczy nad czymś to i efekty jakieś skromne dają motywację a jak nic nie wchodzi do makówki to i chęci braknie...
Ostatnio edytowany przez menel (2014-05-14 20:38:25)
Offline







Podobno człowiek...;)








Składnia Basha i Perla jest praktycznie jednakowa, więc jak Cię Bash nie przerasta, to Perl też nie.
Ten skrypcio zaczął się od Basha, ale kiedy trzeba było czesać output z javascripta, to Basha "zabrakło". ;)
Ostatnio edytowany przez Jacekalex (2014-05-14 20:43:42)
Offline




Psuj





Mi bash zawsze przypominał pascala, za brak obiektywności. Dodam jak inni ucz się python albo perl ze skryptowych. Z normalnych to tylko C i C++.

Offline




złodziej wirków ]:->
z "normalnych" to w pierwszej kolejności (mimo swojej ociężałości) wymieniłbym jave ale to już dyskucja na inny wątek ;)
Offline






Admin łajza







Natomiast moim zdaniem powłoka to absolutna podstawa, którą dobrze ogarnąć przed pójściem dalej. W końcu to w niej się poruszamy na co dzień w konsoli, a nie w jakimś IDE C++.
Offline




złodziej wirków ]:->
@azhag - ale nikt nie przeczy że znajomość powłoki jest przydatna ;) Ale do tzw programowania (z zapatrzeniem w przyszłość/cv) lepiej łyknąć na początek perla ;)
Offline







Podobno człowiek...;)








azhag napisał(-a):
Natomiast moim zdaniem powłoka to absolutna podstawa, którą dobrze ogarnąć przed pójściem dalej. W końcu to w niej się poruszamy na co dzień w konsoli, a nie w jakimś IDE C++.
To jest absolutna podstawa, ale zauważyłem, że ucząc się Perla, automatycznie łapię obsługę Basha, a w drugą stronę to już tak ładnie nie działa. :D
Ostatnio edytowany przez Jacekalex (2014-05-14 23:04:07)
Offline

Użytkownik


Fajnie że taki wątek powstał, chciałbym zapytać jeśli już zeszliście na wątek Perla/Pythona, którego aktualnie lepiej się uczyć? Który jest bardziej perspektywiczny i może się bardziej przydać w ewentualnej pracy? Dodam że uczę się sam już Perla od kilku dobrych miesięcy, ale nie wiem czy to był dobry wybór.
I jeśli już jesteśmy na temacie Perla, to chciałbym spytać, czy gdy piszecie skrypty w Perlu to używacie osobnych modułów np. do wyszukiwania plików typu File::Find, File::Basename, czy po prostu używacie komend systemowych z użyciem system("") ?
Offline







Podobno człowiek...;)








Możesz używać zarówno modułów, jak i poleceń systemowych.
To są zamienne metody, używanie wbudowanych funkcję perla przeważnie, choć nie zawsze, jest trochę szybsze, niż polecenie systemowe, i znacznie bardziej elastyczne, bo w przypadku modułu masz kilkanaście sposobów uzyskania wyników działania funkcji, a odpalać polecenie systemowe jako np PIPE, masz co prawda OUTPUT, ale konkretne dane musisz z tego OUTPUTu dopiero wyczesać.
Jeśli chodzi o porównanie Perl/Python, to do administrowania systemem zdecydowanie Perl, do łatwego tworzenia jakichś okienkowych rzeczy raczej Python.
Perl ma tysiące gotowych modułów, natomiast Python jest dosłownie jak plastelina, i jest trochę szybszy w działaniu od Perla.
W porównaniu z C/C++ oba są bardzo proste.
Tu masz porównanie szybkości powłoki i rożnych języków skryptowych:
http://opennomad.com/content/performance-different- … python-v-ruby
Ostatnio edytowany przez Jacekalex (2014-05-15 00:01:29)
Offline

Użytkownik


Wielki plus dla Pythona za czytelność kodu. Skrypty Perla to jakaś sieczka - łatwo się piszę cholernie trudno się czyta i debuguję...
Offline




złodziej wirków ]:->
megabajt napisał(-a):
Wielki plus dla Pythona za czytelność kodu. Skrypty Perla to jakaś sieczka - łatwo się piszę cholernie trudno się czyta i debuguję...
I nie do końca się zgodzę ;)
jak już pisałem. W perlu można napisać "czysty" kod i mozna go skompresować tak, że autor po miesiącu będzie miał problem z rozkodowaniem :D
Co do debuga to zawsze pozostaje nieśniertelny strace i dgb ;)
Jeśli chodzi o perla to masz "dwie ścieżki rozwoju":
1) "skrypciarz" - piszesz czysty, łatwy do ogranięcia skrypt
20 ""perlowiec" - używasz łamańców o których sam po miesiacu masz "zielone pojęcie" :D
Offline







Podobno człowiek...;)








Ja tam parę razy zaglądałem do trzech skryptów Perla, nawet nanosiłem własne poprawki w dwóch z nich, i myślałem, że je pisali Perlowcy,
a teraz czytam, ze to byli zwykli skrypciarze. :D
I teraz mam zagwozdkę, kto ten soft tworzy, co to za skrypciarze.
Wspomniane skrypty to:
/usr/sbin/spamd - tylko odczyt.
/usr/sbin/amavisd - poprawki.
/var/qmail/bin/qmail-scanner-queue.pl - poprawki.
Do głowy by mi nie przyszło, że taki soft do walki ze spamem, używany na tysiącach serwerów na całym świecie skrypciarze piszą. :D
Czego to się człowiek dowiaduje na stare lata. xD
EDIT:
megabajt napisał(-a):
Wielki plus dla Pythona za czytelność kodu. Skrypty Perla to jakaś sieczka - łatwo się piszę cholernie trudno się czyta i debuguję...
Raczej prosto, nawet prościej, niż Basha, wystarczy moduł diagnostics.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-05-15 02:06:03)
Offline



Użytkownik




no pobawiłem się trochę perlem, pierwsze kroki, cholera przy okazji odkurzyłem trochę matematyki w łepetynie;) dobrze mi zrobi...może na starość nie dostanę alzheimera po takim oraniu głowy;)
Jacekalex masz więcej swojego kodu perlowego, bo zdaje się ogarniasz, przydałby mi się do nauki czytania..
Offline







Podobno człowiek...;)








Więcej kodu perlowego?
Najdłuższy jest rssperl (sznurka masz gdzieś wyżej), jest też skrypt do wysyłania komunikatów przez padu-dziadu:
#!/usr/bin/perl
use strict;
use Net::Gadu;
use Unicode::MapUTF8 qw(to_utf8 from_utf8);
my $gg_mess="grzegżółka";
my $gg_login="{NUMEREK_PADU}";
my $gg_pass="{HASEŁKO_DZIADU}";
my $gg_chat_number = $ARGV[0];
while (<STDIN>)
{
$gg_mess = $_;
}
$gg_mess = from_utf8( { -string => $gg_mess, -charset => 'ISO-8859-2' } );
my $gg = new Net::Gadu(async => 1);
$gg->login($gg_login, $gg_pass, $Net::Gadu::STATUS_INVISIBLE) or die "Login error\n";
while ($gg->check_event() == 1){
my $e = $gg->get_event();
my $type = $e->{type};
if ($type == $Net::Gadu::EVENT_CONN_SUCCESS){
# print "CONNECTED\n";
$gg->notify();
$gg->send_message_chat($gg_chat_number, $gg_mess);
}
}
$gg->logoff();To napisał Kolo na forum buntu.
A to już moje wypociny:
#!/usr/bin/perl
use strict;
use warnings;
use Finance::Bank::mBank;
use encoding qw(utf8);
# use diagnostics -verbose;
# enable diagnostics;
use Gtk2::Notify -init, 'Basic';
my $mbank = Finance::Bank::mBank->new(
userid => '{NUMER_PACJENTA}',
password => '{HASELKO}'
);
for my $account ($mbank->accounts) {
my $konto= $account->{account_name};
if ($konto=~m/eKONTO/){
my $ekontosaldo = $account->{balance};
my $ekontodost = $account->{available};
my $zlotek = Gtk2::Notify->new("Na ekoncie zostało $ekontodost", "Saldo wynosi $ekontosaldo",
'/home/pacjent/.icons/mbank.jpg');
$zlotek ->show;
my $ekonto = "na ekoncie:\n saldo = $ekontosaldo\n dostępne= $ekontodost\n\n";
print $ekonto;
}
if ($konto=~m/eMAX/){
my $emaxsaldo = $account->{balance};
my $emaxdost = $account->{available};
print "na emaxie:\n saldo = $emaxsaldo\n dostępne= $emaxdost\n\n";
}
};Ten skrypcio przed zmianami na stronie Mbanku ładnie wyświetlał stan konta, obecnie nie działa, ale masz w nim przykład wyświetlania powiadomień notify w Gtk2.
Tylko moje wypociny śmierdzą lamerstwem, lepiej zobacz w systemie, pół dpkg jest napisane w perlu, w repo masz skrypta sendxmpp w perlu,
ze setkę innych programów również, a na http://search.cpan.org/
jest dokumentacja modułów, wraz z przykładowymi skryptami.
Ja zazwyczaj, zanim coś napiszę, to przeglądam z 5 - 50 przykładów podobnego kodu na necie.
Ja poza tym nie jestem tu wcale specem od Perla, jest kilkadziesiąt osób, które znają go 1500 razy lepiej.
W każdym razie kod jest dość prosty, pisze się przyjemnie.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-05-16 04:34:39)
Offline



Użytkownik




dziękować, na razie właśnie chcę coś amatorskiego i prostego co by mi głowa nie wyparowała;)
Offline







Podobno człowiek...;)








Tutaj masz przykład, jak znaleźć własną doopę w syslogu:
#!/usr/bin/perl
use strict;
use warnings;
open(FILE, "< /var/log/syslog") or die ": unable to open syslog: $!\n";
while (<FILE>) {
my $print = (<FILE>);
# chomp $print;
print $print if ($print =~/dupa/);
}
close (FILE);Samo poszukiwanie byłoby prostsze w bashu
grep dupa /var/log/syslog
Ale jakbyś chciał te logi czesać kilkoma regexami, wyciągać z nich wartości do zmiennej i obudowywać funkcjami, to Basha przeważnie szybko zabraknie. ;)
Jak np w tym przypadku:
http://forum.dug.net.pl/viewtopic.php?id=22977
Pozdro
:D
Ostatnio edytowany przez Jacekalex (2014-05-16 18:34:34)
Offline



mega boss




http://dief.republika.pl/main.html
http://www.cs.put.poznan.pl/anstroinski/data/upload … ab7-kurs.html
http://www.gnu.org/software/bash/bash.html
Offline



Użytkownik




bossie to co tam dałeś to więcej w manie wyczytam, chodziło mi bardziej o coś podręcznikowego co wyczerpuje całkowicie temat razem z ćwiczeniami, przykładami trikami itd..;)
Offline


Członek DUG



@menel
Nie rozpedzaj sie tak z podręcznikami bo po prostu bash taki jest. to nie java, że musisz mieć 3 tomy po 1499 stron. W zasadzie te stronki daja cały obraz funkcji basha. Jak coś chcesz więcej to ruby, python bądź przywoływany perl
Offline



mega boss




Lista 2500 języków programowania wraz z ich opisami http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm
Lista dwudziestu najpopularniejszych języków programowania
C
Java
Objective-C
C++
C#
(Visual) Basic
PHP
Python
JavaScript
Visual Basic .NET
Ruby
Transact-SQL
Perl
F#
Język asemblera
Lisp
PL/SQL
MATLAB
Delphi/Object Pascal
Dhttp://lists.gnu.org/archive/html/info-gnu/2011-02/msg00012.html
Chyba dość wyczerpujące? http://www.gnu.org/software/bash/manual/bashref.html
Ostatnio edytowany przez tajwan (2014-05-17 16:05:04)
Offline