Twitter RSS

Articole etichetate ‘Perl’

Azi m-am lovit de o situatie putin ciudata. Mai multe module Perl aveau probleme si cea mai simpla rezolvare era sa reinstalez Perl. Din nefericire (this time) era instalata ultima versiune Perl, deci un upgrade nu putea fi facut iar dezinstalarea era o posiblitate exclusa datorita dependentelor. Solutia in CentOS a fost sa sterg pachetul perl din baza de date rpm – doar din baza de date, fara sa elimin fisierele. Asta se face in felul urmator: 168c6ad1a4339b943254b8b1095c629a000 Acum, daca pachetul perl nu mai apare in baza de date rpm, poate fi reinstalat folosind yum: 168c6ad1a4339b943254b8b1095c629a001 Chiar daca yum nu ne ofera posibilitatea sa fortam instalarea, Linux ne ofera suficienta flexibilitate pentru a gasi solutii elegante AKPC_IDS += "265,";Popularity: 5% [?]... Mai departe »

Unul din motivele pentru care Perl este un limbaj preferat in randul administratorilor de sistem este usurinta cu care putem crea diferite aplicatii complexe. O astfel de aplicatie este un crawler pentru siteuri web. Folosind modulul WWW::Mechanize putem crea un crawler simplu, dar care se poate dovedi eficient in majoritatea cazurilor. Pentru simplitate am preferat un crawler care foloseste un fisier text pentru salvarea linkurilor. Pentru a pune in functiune cralwerul am creat un script cu patru subrutine: getHostname – pentru preluarea hostului din URL-ul de pornire; save – salveaza un link in fisierul care tine evidenta linkurilor catre paginile parsate; saved – verifica daca linkul citit este deja salvat; getLinks – citeste URL-ul primit ca parametru, parseaza... Mai departe »

Cum serverul de baze de date MySQL nu a fost conceput pornind de la ideea restrictionarii utilizatorilor veti observa ca intretinerea unui server shared devine un lucru foarte frustrant. Din cauza unor query-uri prost optimizate sau a unor conexiuni proaste serverul MySQL poate ajute sa consume foarte multe resurse incetinind astfel randamentul general al serverului. In fisierul de configurare nu putem pune foarte multe restrictii iar restrictiile care ni se permit de multe ori nu sunt foarte utile. Unul din lipsurile mari este restrictionarea timpului maxim de executie al unui query. Din punct de vedere al configurarii serverului MySQL nu putem face nimic, dar se poate crea un mic hack cu ajutorul serviciului cron si anume un script care verifica din minut in minut query-urile active iar ... Mai departe »

Conform specificatiilor celor care au devenit autoritati in ceea ce priveste parsarea siteurilor web si a randarii paginilor, si ma refer in mod deosebit la Google si Yahoo, orice continut care se transfera dinspre server spre client trebuie sa aiba o dimensiune cat mai mica. In aceasta categorie intra si fisierele JavaScript si CSS externe care in cazul CMS-urilor publice pot sa ajunga la dimensiuni de cateva sute de KB din care peste 20% e spatiu ocupat de comentarii si spatiile albe folosite la formatare. Eliminand spatiile albe si comentariile, care sunt utile doar in debugging, putem micsora cantitatea de informatie transferata ceea ce duce la o incarcare mai rapida a siteului. Varianta folosita cel mai des este modificarea fisierelor JavaScript si CSS pentru a se servi varianta micso... Mai departe »

In Perl argumentele date din linia de comanda se pastreaza intr-un array numit @ARGV. Numarul total de argumente este $#ARGV+1. Daca pare ciudat pentru programatorii in C sau alte limbaje, numarul total de argumente este $#ARGV+1 pentru ca @ARGV[0] este primul argument, nu numele aplicatiei. Cand verificam daca s-a dat un argument, trebuie ca $#ARGV+1 sa fie 1 sau mai mare. Argumentele le citim de forma: $ARGV[index]. Un exemplu, mai jos: 168c6ad1a4339b943254b8b1095c629a008 AKPC_IDS += "175,";Popularity: 1% [?]... Mai departe »

M-am lovit de curand de o problema destul de deranjanta si anume updatarea mai multor instalari WordPress. Updatarea unui WordPress nu e o treaba complicata si se poate face in patru pasi simpli: se descarca ultima versiune; se dezarhiveaza; se uploadeaza/suprascriu fisierele de pe server; se acceseaza fisierul de updatare a bazei de date – /wp-admin/upgrade.php. Upgradarea nu este complicata, dar daca avem un numar mare de bloguri (ex. 50) uploadarea fiecarei instalari ar presupune uploadarea fisierelor de mai multe ori. Cu un mic script in Perl primii trei pasi pot fi facuti automat. Ultimul pas trebuie executat manual pentru fiecare instalare in parte, dar avand in vedere ca partea costisitoare este uploadarea fisierelor putem considera rularea urmatorului script ca fiind un ava... Mai departe »

Desi jonglarea cu mirrorurile e o chestie frecventa in diferite aplicatii, CPAN nu ofera o metoda standard de setare a ordinii mirrorurilor dupa configurare. Daca tineti minte, la prima instalare CPAN se cer cateva detalii legate de modul in care va functiona, printre care si mirrorurile preferate si ordinea acestora. Daca din neatentie nu selectam mirrorurile care au cea mai buna viteza pentru noi sau daca din diverse motive dorim sa schimbam ordinea o putem face intrand in shellul CPAN pentru a reface setarile folosind urmatoarele comenzi: 168c6ad1a4339b943254b8b1095c629a012 Comanda “o conf init” rulata in shellul CPAN ne va duce din nou prin toti pasii de configurare. Aici avem ocazia sa schimbam setarile care nu ne convin, inclusiv ordinea mirrorurilor, iar la final datele ... Mai departe »

Cum Perl a fost conceput pentru prelucrarea si extragerea de informatii din texte, nu e de mirare ca detine metode simple pentru taskuri care in alte limbaje consuma cateva zeci de linii de cod. Unul din taskurile utile oferite de Perl este citirea automata a linkurilor dintr-o pagina web, treaba care se poate face foarte usor folosind libraria WWW::Mechanize. 168c6ad1a4339b943254b8b1095c629a013 Dupa cum se poate observa in codul de mai sus, in mai putin de 10 linii am extras toate linkurile dintr-o pagina web si le-am prelucrat – in cazul nostru, le-am afisat pe ecran. De aici pana la crearea unui crawler sau la un sistem de monitorizare a unei liste de linkuri nu mai e cale lunga, decat de cateva linii de cod si putina imaginatie. AKPC_IDS += "142,";Popularity: 1% [?]... Mai departe »

Retele sociale
Reclamã
Sharing makes you cool!
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Retele
Tutoriale despre retele de calculatoare, configurarea interfetelor de retea si rutarea IP-urilor.
/retele-networking/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Web hosting
Articole despre serviciile de gazduire web, dedicate sau in regim shared.
/web-hosting/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
cpadmin.ro
ABCDomenii