Interviu cu Vlad Mihalcea
Attila Balazs realizează seria de interviuri ”Working Virtually” pentru Today Software Magazine. Acestea au în vizor dificultățile și oportunitățile lucrului într-o echipă distribuită. Primul invitat este Vlad Mihalcea.
Attila Balazs realizează seria de interviuri ”Working Virtually” pentru Today Software Magazine. Acestea au în vizor dificultățile și oportunitățile lucrului într-o echipă distribuită. Primul invitat este Vlad Mihalcea.
Experiența noastră, a autorilor articolului de față, adunată în zece ani de folosire a GNU/Linux în corporații poate fi împărtășită celor care sunt interesați. Dar prima întrebare ar fi de ce ai vrea să rulezi GNU/Linux pe calculator în locul sistemului de operare furnizat de angajator? Mai jos sunt câteva motive pentru care noi preferăm să-l folosim: Este mai rapid. În general GNU/Linux rulează mai rapid pe orice hardware comparativ cu alte sisteme de operare, și acest lucru este și mai adevărat în corporații unde calculatoarele cu Mac OS sau MS Windows vin preinstalate cu programe de securitate care pot să încetinească până la de două ori operațiile.
Folosirea programelor libere (Free/Libre Software) conferă multe avantaje persoanelor și organizațiilor care fac acest lucru, mai ales dacă acești utilizatori sunt tehnici . Acest articol prezintă aceste avantaje și va încerca să alunge câteva dintre miturile format în jurul programelor libere.
Latenţa este definită ca “intervalul de timp între stimul şi răspuns” şi este o valoare care ne interesează în multe sisteme de calcul (financiare, jocuri, site-uri web, etc.). În calitate de ingineri ne interesează crearea unui model matematic din care să rezulte valorile minime/maxime/tipice care pot să apară în sistemul nostru (fie el un site web sau un sistem de tranzacţionare automată pe burse).
A: Crezi că o abordare generalistă poate fi susţinută? Pentru cât timp poate fi susţinută? Este nevoie să ne specializăm în diverse subdomenii? R: Cred că volumul de muncă a fost suficient de mare încât am avut dintotdeauna nevoie de specialişti. Sunt prea multe aptitudini de cunoscut, dar fiecare are rolul său. Mă întorc mereu la metafora podului. Dacă vrei să construieşti un pod, există un inginer. El nu construieşte podul, dar semnează pe documentaţie, iar dacă podul se prăbuşeşte, este vina lui. Ai nevoie de oameni care să ştie cum să toarne cimentul corespunzător. Ai nevoie de oameni care să ştie cum să întindă corect cablurile. Ai nevoie de oameni care să ştie cum să toarne asfaltul.
Richard Campbell are mai mult de 30 de ani de experienţă high-tech, fiind Director Regional Microsoft şi profesionistul cel mai valoros al Microsoft (MVP). El se consultă cu mai multe organizaţii nord- americane de top. Pe lângă faptul că vorbeşte la conferinţe peste tot în lume, Richard este una dintre gazdele „.NET Rocks! Talk Show-ul audio de pe internet pentru Dezvoltatorii .NET” şi gazda emisiunii „RunAs Radio, Talk Show-ul audio de pe internet pentru Profesioniştii IT”.
Acest articol își propune să ofere un plan de nivel înalt pentru automatizarea unei mare părți a ciclului de viață al software-ului. De asemenea va arăta, pe baza unui exemplu concret, cum poate fi implementat un astfel de plan. Mai întâi să menționăm ideile fundamentale pe care se bazează planul. Postulăm că următoarele idei sunt „bune”. Pe acestea ar trebui să le implementăm sau să ne străduim să implementăm și care ne ajută să avem un ciclu de viață software lin:
Bună, tuturor! Sunt Attila, pentru Today Software Magazine și astăzi îl am cu mine pe Peter Lawrey. Peter, îți multumesc că ai acceptat să ne oferi acest interviu în care vom vorbi despre performanța Java. Te rog să te prezinți. [Peter] Da. Mă numesc Peter Lawrey, sunt consultant Java în domeniul low latency. Am un blog bine cunoscut, numit „Vanilla Java”, care are aproximativ 120.000 de accesări lunar; am de asemenea și o bibliotecă numită „Chronicle” pentru low latency persistence IPC și stocare de date și sunt al treilea din StackOverflow pentru Java.
O provocare importantă când construim un produs de succes este să ne asigurăm că produsul utilizează resursele hardware disponibile într-un mod eficient. Acest lucru înseamnă de obicei clustering (mai puțin pentru probleme foarte simple) pentru că seturile noastre de date au depășit calculatoarele individuale ca mărime și necesități de procesare. Cu toate acestea clustering-ul aduce o serie de noi probleme: împărțirea procesării între noduri, orchestrarea procesului și - foarte important - garanția că nu vom pierde datele / progresul dacă un subset de noduri devine indisponibill - o posibilitate care crește dramatic în momentul în care adăugăm mai multe noduri la cluster-ul nostru.
Teoretic lansarea unui site web nu poate fi mai simplă: scrii zece linii de HTML , îl salvezi într-un fişier denumit index.html şi gata, ai un sit web. Practic, ca site-ul să poate îndeplini scopul pentru care a fost conceput, el trebuie să aibă două calităţi: să fie utilizabil, utilizatorii potenţiali să afle despre existenţa lui. Articolul acesta va prezenta paşii de bază necesari pentru atingerea acestor scopuri.
PHP este un limbaj dinamic, disponibil pe o multitudine de platforme folosind interpretorul standard. Există totuşi alternative la acest interpretor care oferă diferite caracteristici care pot să fie avantajoase în anumite circumstanţe. Acest articol îşi propune să ofere o prezentare sumară a opţiunilor existente cu o prezentare teoretică şi o parte practică. Partea practică constă în rularea unui test de performanţă sintetic din distribuţia PHP şi testarea unui site WordPress cu Apache Bench.
Limbajele de programare cele mai cunoscute conţin o mulţime de funcţionalităţi şi librarii standard. Din acest motiv devine important să ştim răspunsul nu doar la întrebarea „cum” se face ceva (întrebare la care există de obicei o multitudine de răspunsuri), dar şi la „care este calea recomandată?”. În acest articol vom încerca sa demonstrăm că prin cunoaşterea şi aplicarea practicilor recomandate pentru scrierea codului sursă (en. best practices) rezultă atât programe mai scurte (mai uşor de scris), mai uşor de citit, mai usor de înţeles şi menţinut, dar şi programe corecte.