Wikibooks
euwikibooks
https://eu.wikibooks.org/wiki/Azala
MediaWiki 1.47.0-wmf.8
first-letter
Media
Berezi
Eztabaida
Lankide
Lankide eztabaida
Wikibooks
Wikibooks eztabaida
Fitxategi
Fitxategi eztabaida
MediaWiki
MediaWiki eztabaida
Txantiloi
Txantiloi eztabaida
Laguntza
Laguntza eztabaida
Kategoria
Kategoria eztabaida
TimedText
TimedText talk
Modulu
Modulu eztabaida
Event
Event talk
PYTHON programazio-lengoaia: oinarriak eta aplikazioak
0
6784
43558
38742
2026-06-29T09:38:39Z
Ksarasola
1603
«[[PYTHON liburua]]» orrira birzuzendua
43558
wikitext
text/x-wiki
#birzuzendu[[PYTHON_liburua]]
drwi2xcuyawhdssq2scrbsa5ppj2gn4
Informatikaren 50 urte 50 teknologiatan/Klusterrak eta superkonputazioa
0
7268
43553
43515
2026-06-29T07:47:27Z
Ksarasola
1603
/* Testu ebakia: Superkonputagailuen ahalmena eta TOP500 zerrenda */
43553
wikitext
text/x-wiki
[[Fitxategi:MEGWARE.CLIC.jpg|thumb|Teknikariak Linux kluster handi batean lanean Chemnitz Teknologia Unibertsitatean (Alemania, 2006).]]
'''Superkonputazioa''' kalkulu konplexuak ahalik eta azkarren egiteko garatutako konputazioaren adarra da. Geroz eta konputazio ahalmen handiagoa behar da gure egunerokoa baldintzatzen duten arlo askotan ([[w:Eguraldi iragarpen|eguraldiaren iragarpena]], [[w:Adimen artifizial|adimen artifiziala]], [[w:Bioinformatika|bioinformatika]], simulazio zientifikoak,...). Gaur egun, [[w:Superkonputagailu|superkonputagailu]] askoren oinarria '''kluster''' arkitektura da: sare baten bidez elkartutako ordenagailu edo nodo multzoa elkarlanean, sistema bakar baten moduan lan egiten duena.<ref name=":1">{{erreferentzia|izena=Agustin|abizena=Arruabarrena Frutos|urtea=2023|izenburua=Superkonputagailuak. Istorio luze-luze bat|argitaletxea=Donostiako Informatika Fakultatea. UPV-EHU|orrialdeak=20-22|hizkuntza=eu|url= https://www.unibertsitatea.net/apunteak/ingeniaritza-eta-teknologia-1/informatika/superkonputagailuak-istorio-luze-luze-bat/at_download/file|argitaratze-lekua=Donostia}}</ref><ref name=":0">{{Erreferentzia|izena=Olatz|abizena=Arregi Uriarte|urtea=2016-10-22|izenburua=Munduko konputagailu ahaltsuena berdea da?|hizkuntza=eu|data=2016-10-20|url=https://www.naiz.eus/eu/hemeroteca/gaur8/editions/gaur8_2016-10-22-07-00/hemeroteca_articles/munduko-konputagailu-ahaltsuena-berdea-da|aldizkaria=GAUR8|sartze-data=2023-07-29}}</ref>
Kluster baten abantaila nagusia eskalagarritasuna da. Ordenagailu oso handi (eta garesti) bakar bat eraiki beharrean, makina arruntago asko elkartu daitezke konputazio ahalmen handiak lortuz. Nodo bakoitzak bere [[w:Prozesatzeko unitate zentral|prozesadoreak]], memoria eta, batzuetan, azeleragailuak izan ditzake, hala nola adimen artifizialerako [[w:Grafikoak prozesatzeko unitate|GPUak]]. Horri esker, sistemaren ahalmena nodo gehiago gehituz handitu daiteke, kostuaren eta errendimenduaren arteko oreka ona eskainiz. Hala ere, kontuan hartu behar da nodo kopurua handitzeak bakarrik ez duela errendimenduaren hobetzea ekarriko, nodoen arteko komunikazio-sarearen abiaduraren eta lanen banaketa eraginkorraren mende ere badago eta.
Kluster gehienek memoria banatua dute: nodo bakoitzak bere memoria propioa erabiltzen du, eta horrek nodoen arteko komunikazioa beharrezko bihurtzen du. Testuinguru horretan, ohikoa da [[w:Mezu Trukaketarako Interfazea|MPI]] (Message Passing Interface) erabiltzea, prozesuen arteko komunikaziorako estandar zabaldua baita. Haren bidez, programa paralelo batek datuak bidali, jaso eta bateratu ditzake nodo desberdinen artean. Arkitektura horiek Flynn-en sailkapeneko MIMD motarekin lotu ohi dira, hau da, prozesadore askok aldi berean instrukzio eta datu desberdinekin lan egin dezaketen sistemekin.
== Historia eta bilakaera ==
[[Fitxategi:Beowulf.png|thumb|Beowulf arkitektura tipiko bat.]]
Kluster modernoen jatorria normalean 1994ko Beowulf proiektuarekin lotzen da eta urte berean argitaratu zen MPI 1.0 estandarrarekin ere, memoria banatuko sistemen programazioa bateratzeko. 1997an, ASCI Red sistemak TOP500 zerrendako lehen postua lortu zuen eta teraflop bat gainditu zuen lehen makina izan zen eta urte batzuk geroago, 2008an, Roadrunner bihurtu zen petaflop 1 gainditu zuen lehen superkonputagailua. Gaur egungo superkonputagailu nagusiak, hala nola El Capitan, Frontier edo Aurora, exaeskalako kluster heterogeneoak dira: milaka nodo, CPU eta GPU azeleragailuak, interkonexio azkarrak eta energia-eraginkortasun handiagoa uztartzen dituzte. Errendimenduaz gain, gaur egungo superkonputazioan gero eta garrantzi handiagoa du energia-kontsumoak, sistema horien diseinuan eta ebaluazioan funtsezko irizpidea bihurtu baita.
1993az geroztik superkonputagailu ahaltsuenak TOP500 zerrendan kokatzen dira, 6 hilabetero eguneratzen dena. Munduko superkonputagailu ahaltsuenak sailkatzen ditu, normalean LINPACK proban lortutako errendimenduaren arabera.<ref name=":2">{{Erreferentzia|izenburua=Home - {{!}} TOP500|url=https://top500.org/|aldizkaria=top500.org|sartze-data=2026-04-21}}</ref>Zerrenda horri, 2007an Green500 zerrenda batu zitzaion, superkonputagailuen energia-eraginkortasuna neurtzen duena, kontsumitutako watt bakoitzeko lortutako errendimendua kontuan hartuta.<ref name=":0" /><ref>{{Erreferentzia|izena=Egoitz Etxebeste|abizena=Aduriz|izenburua=Datu-zentroak: hodei ilunak lur gainean|hizkuntza=eu|data=2026-03-01|url=https://zientzia.eus/artikuluak/datu-zentroak-hodei-ilunak-lur-gainean/|aldizkaria=Elhuyar Zientzia|sartze-data=2026-04-22}}</ref>
== Aplikazioak ==
Kluster-ak arlo askotan erabiltzen dira, besteak beste, klima-ereduak kalkulatzeko, simulazio fisikoak egiteko, bioinformatikan, adimen artifizialeko ereduak entrenatzeko eta ingeniaritzako problema konplexuak ebazteko. Datu kopuru handiak eta kalkulu intentsiboak kudeatzeko duten gaitasunagatik, funtsezko tresna bihurtu dira zientzian eta industrian
== Testu ebakia: Superkonputagailuen ahalmena eta TOP500 zerrenda ==
Azken datu zientifikoen arabera, unibertsoa ''[[w:Big Bang|Big Bang]]'' izenarekin identifikatzen dugun gertaera puntual batean sortu zen, duela 13.700 miloi urte edo. Beraz, segundotan, unibertsoaren adina 4,3 × 10<sup>17</sup> s da. Bada, pertsona batek exekutatuko balu eragiketa bat segundoko eten gabe, 1,2 × 10<sup>18</sup> segundo beharko luke, hau da, 2,8 aldiz unibertsoaren adina, Frontier superkonputagailuak 2023an segundo batean egiten dituen eragiketak egiteko. Beste ikuspuntu batetik, [[Lurra|Lurreko]] biztanle orok, 7.000 milioi edo, segundoko eragiketa bat exekutatuko balu eten gabe, 5,5 urte beharko genituzke denon artean eragiketa kopuru hori egiteko.<ref name=":1" /><ref name=":0" />
Frontier "superkonputagailu giganteen" adibide bat da. Bartzelonan badago beste bat, [[w:MareNostrum|MareNostrum]], 153.000 kalkulu-nukleo dauzkana. Arruntak dira industrian zein laborategietan ehunka prozesadore erabiltzen dituzten konputagailuak (Kontuan hartu behar da aurreko datuak urtetik urtera aldatzen direla; informazioa eguneratuta eskaintzen du www.top500.org webguneak).<ref name=":1" /><ref name=":2" /><ref name=":0" />
== Erreferentziak ==
{{erreferentzia zerrenda}}
kgkkbrxxzfg2jookfuk71c8vn5c8wpt
Informatikaren 50 urte 50 teknologiatan/Python lengoaia
0
7285
43557
43520
2026-06-29T09:28:50Z
Ksarasola
1603
/* Testu ebakia: Garrantzia, eragina eta etorkizuna */
43557
wikitext
text/x-wiki
[[w:Python (informatika)|Python]] helburu orokorreko goi-mailako eta paradigma anitzeko [[w:Programazio-lengoaia|programazio-lengoaia]] da, [[w:Programazio inperatibo|programazio inperatiboa]], [[w:Objektuetara bideratutako programazioa|objektuetara orientatutakoa]] eta [[w:Programazio funtzional|funtzionala]] onartzen dituena.<ref>{{Erreferentzia|izenburua=What is Python? Executive Summary|hizkuntza=en|url=https://www.python.org/doc/essays/blurb/|aldizkaria=Python.org|sartze-data=2026-06-22}}</ref> Bere diseinu-filosofiaren muina kode irakurgarritasuna da.<ref>{{Erreferentzia|izenburua=PEP 20 – The Zen of Python {{!}} peps.python.org|hizkuntza=en|url=https://peps.python.org/pep-0020/|aldizkaria=Python Enhancement Proposals (PEPs)|sartze-data=2026-06-22}}</ref>
Derrigorrezko indentazioa egitura sintaktiko gisa, eta liburutegi estandarraren zabaltasun izugarriak —''batteries included'' filosofiaren pean— ideia konplexuak eta soluzio sendoak lerro gutxitan adierazteko aukera ematen diete programatzaileei. Azken hamarkadetan, adimen artifizialaren, datu-zientziaren eta automatizazioaren gehien erabiltzen diren programazio-lengoaietako bat bihurtu da; ondorioz, posturik gorenetan dago TIOBE bezalako ospe-indize globaletan<ref name=":4">{{Erreferentzia|izenburua=TIOBE Index|hizkuntza=en-US|url=https://www.tiobe.com/tiobe-index/|aldizkaria=TIOBE|sartze-data=2026-06-22}}</ref> eta GitHub bezalako garapen-plataforma nagusietan erabilera oso zabala du.
== Historia eta bilakaera ==
[[File:Python-logo-notext.png|thumb|upright=0.5|Python logoa]]
[[w:Guido van Rossum|Guido van Rossum]] programatzaile herbeheretarrak sortu zuen '''Python''' 1980ko hamarkadaren amaieran, Amsterdamgo ''Centrum Wiskunde & Informatica'' (CWI) zentroan.<ref>{{Erreferentzia|izena=G.|abizena=Van Rossum|izenburua=The History of Python|url=https://python-history.blogspot.com/|aldizkaria=python-history.blogspot.com|sartze-data=2026-06-22}}</ref> [[w:ABC programazio lengoaia|ABC]] hezkuntza-lengoaia ordezkatzeko proiektu pertsonal gisa hasi zen, haren mugak gainditzeko baina sinpletasuna mantentzeko helburuarekin.<ref>{{Erreferentzia|izena=Charles|abizena=Severance|izenburua=Guido van Rossum: The Early Years of Python|orrialdeak=7–9|data=2015-02|url=https://ieeexplore.ieee.org/abstract/document/7042702|aldizkaria=Computer|alea=2|zenbakia=48|issn=1558-0814|doi=10.1109/MC.2015.45|sartze-data=2026-06-22}}</ref> Lengoaiaren izenak ''[[w:Monty Python|Monty Python]]'' umorista talde britainiarrari egiten dio gorazarre.
1991n Pythonen lehen bertsio publikoa (0.9.0) kaleratu ondoren, mugarri garrantzitsuekin eboluzionatu zuen: Python 1.0ek (1994) programazio funtzionaleko tresnak barneratu zituen; Python 2.0 bertsioak (2000) ''list comprehensions'' egiturak eta ziklo-detekzioa zuen zabor-biltzaile bidezko memoria-kudeaketa txertatu zituen; eta Python 3.0 bertsioak (2008) atzerako bateragarritasuna nahita hautsi zuen, testu-kateen kudeaketa [[w:Unicode|Unicoden]] bateratzeko eta jatorrizko diseinu-akatsak zuzentzeko.<ref>{{Erreferentzia|izenburua=Python (programming language - Wikipedia, the free encyclopedia|hizkuntza=en|url=http://en.wikipedia.org:80/wiki/Python_(programming_language|aldizkaria=en.wikipedia.org|sartze-data=2026-06-22}}</ref>
3.5 bertsiotik aurrera, hautazko mota-aholkuak (''type hints'') gehitu ziren, eskala handiko proiektuetarako ezinbestekoak direnak.
[[W:Van Rossum|Van Rossumek]], proiektuaren azken erabaki-ahalmena zuen ''Benevolent Dictator For Life'' (BDFL) figuraren bidez, 2018ra arte gidatu zuen garapena; urte horretan, komunitateak hautatutako zuzendaritza-batzorde baten esku geratu zen gobernantza, ''Python Software Foundation'' (PSF) erakundearen babespean.
[[File:The-standard-Python-ecosystem-for-machine-learning-data-science-and-scientific.png|700px|center|upright=1.35|Machine learningerako, datu-zientzarako eta konputazio zientifikorako Python ekosistema estandarra]]
==Diseinu-filosofia eta alderdi teknikoak==
Maila teknikoan, Python iturburu-kodea (<code>.py</code>) barnean bitarteko formatu batera (''bytecode'') bihurtzen da, eta CPython makina birtualak interpretatzen du.<ref name=":3">{{Erreferentzia|izena=Mark|abizena=Lutz|izenburua=Learning Python, 5th Edition|hizkuntza=en|url=https://www.oreilly.com/library/view/learning-python-5th/9781449355722/|isbn=978-1-4493-5572-2|sartze-data=2026-06-22}}</ref>
Tipatze dinamikoa baina sendoa (''strongly typed'') duen lengoaia da: horrek esan nahi du ez dela beharrezkoa adieraztea aldagai bakoitzaren mota (kateak, zenbakiak, etab.), baina sistema oso zorrotza da eta ez du uzten baliozkoak ez diren eragiketak modu arduragabean nahasten. Oinarrizko lau ezaugarri definitzen dute lengoaiaren portaera:
*'''Indentazioan oinarritutako sintaxia''': Kode-blokeak zuriune soilez bereizten dira. Honek kodea bisualki garbi, ordenatuta eta uniforme mantentzea behartzen du.<ref name=":3" /> <ref>{{Erreferentzia|izenburua=Python (informatika)|hizkuntza=eu|data=2026-06-11|url=https://eu.wikipedia.org/w/index.php?title=Python_(informatika)&oldid=10753714|sartze-data=2026-06-22|encyclopedia=Wikipedia, entziklopedia askea.}}</ref>
*'''Liburutegi estandarren zabaltasuna''': Fitxategiak, sare-konexioak, testu konplexuak eta probak kudeatzeko tresnak dakartza berez, oinarrizko funtzionalitateak zerotik programatu behar izatea saihestuz.<ref name=":4" />
*'''Paketeen ekosistema''': [https://pypi.org/ PyPI biltegia] du, ehunka mila liburutegi prest dituen mundu mailako komunitate erraldoia, ''pip'' tresnaren bidez erraz kudeatzen dena.
*'''Konkurrentziaren kudeaketa eta errendimendua''': Historikoki, abiadura mugatuta egon da ''Global Interpreter Lock'' (GIL) dela eta (prozesamendu-hari bat baino gehiago aldi berean erabiltzea galarazten duen mekanismoa). Hala ere, azken bertsioek (Python 3.13 adibidez) GIL hori modu esperimentalean desgaitzeko bidea ematen dute, eta ''Faster CPython'' bezalako proiektuek lengoaia bertsio bakoitzean nabarmen azkarragoa izatea lortzen ari dira.
<syntaxhighlight lang="python" line>
# adib1: list comprehension eta sintaxi garbia
def bikoitien_karratuak(zenbakiak: list[int]) -> list[int]:
return [x**2 for x in zenbakiak if x%2==0]
l=[1,2,3,4,5,6]
print(bikoiti_karratuak(l)) # Irteera: [4,16,36]
# adib2: Testu‑analisia liburutegi estandarra erabiliz
from collections import Counter
testua = "Python trinkoa eta indartsua da, bai eta polita ere"
print(Counter(testua.split()).most_common(3))
# Irteera : [('eta', 2), ('Python', 1), ('trinkoa', 1)]
</syntaxhighlight>
== Testu ebakia: Garrantzia, eragina eta etorkizuna ==
Pythonek eragin handia izan du konputazio modernoan.<ref>{{Erreferentzia|izena=W.|abizena=McKinney|urtea=2022|izenburua=Python for Data Analysis (3. edizioa)|argitaletxea=O'Relly Media|ISBN=978-1098104030|hizkuntza=en|url=https://wesmckinney.com/book/|aldizkaria=wesmckinney.com|sartze-data=2026-06-22}}</ref> Ikasketa-kurba leunari esker, programaziorako sarbidea demokratizatu du, ingeniaritza, zientzia eta ikerketako profesionalek inguru partekatu batean lankidetzan aritzeko aukera emanez [5]. Adimen Artifizialean, ''Machine Learning''ean eta datu-zientzian Python estandar eztabaidagabea da [[w:NumPy|NumPy]], [[w:Pandas|Pandas]], scikit-learn, [[w:TensorFlow|TensorFlow]] eta [[w:PyTorch|PyTorch]] bezalako liburutegiei esker. Halaber, web garapena ([[w:Django (web euskarria)|Django]], [[w:Flask|Flask]]) eta sistemen automatizazioa ere sustatzen ditu. [[w:Google|Google]], [[w:Netflix|Netflix]], [[w:Spotify|Spotify]] edo [[w:Dropbox|Dropbox]] bezalako korporazio teknologiko handiek beren plataforma nagusietan erabiltzen dute eskala handian.
Etorkizuneko garapen-ildoak interpretearen errendimendua optimizatzera, hautazko tipatze estatikoa sendoago egituratzera eta WebAssembly bidezko presentzia sendotzera bideratzen dira (Pyodide proiektuaren bidez), horrek Python programak, zuzenean, instalaziorik egin gabe, nabigatzailean exekutatu ahalbidetzen duelarik.
<gallery mode="packed" heights="180" caption="Python liburuak euskaraz">
Fitxategi:PYthon Altadill azala sinple tx.png|''[http://pello.io/programazioa/ Kodea ondo sartzek]'' liburua, copyleft lizentziapean.
Fitxategi:Liburua - Python progrmazio-lengoaiaren hastapenak.png| ''[https://eima.orex.es/Bideoak/ccb2712af17a78c3b2b1cc94ca152b43_Python_Oinarrizko_Programazioa.pdf Python programazio-lengoaiaren hastapenak]''
Fitxategi:Python euskaraz.jpg|''Python programazio-lengoaia: oinarriak eta aplikazioak<ref name=":2" />''
</gallery>
== Erreferentziak ==
{{Erreferentzia zerrenda}}
cv03216korlah8ugbjesabfehhshfuy
43559
43557
2026-06-29T09:39:57Z
Ksarasola
1603
liburuak euskaraz
43559
wikitext
text/x-wiki
[[w:Python (informatika)|Python]] helburu orokorreko goi-mailako eta paradigma anitzeko [[w:Programazio-lengoaia|programazio-lengoaia]] da, [[w:Programazio inperatibo|programazio inperatiboa]], [[w:Objektuetara bideratutako programazioa|objektuetara orientatutakoa]] eta [[w:Programazio funtzional|funtzionala]] onartzen dituena.<ref>{{Erreferentzia|izenburua=What is Python? Executive Summary|hizkuntza=en|url=https://www.python.org/doc/essays/blurb/|aldizkaria=Python.org|sartze-data=2026-06-22}}</ref> Bere diseinu-filosofiaren muina kode irakurgarritasuna da.<ref>{{Erreferentzia|izenburua=PEP 20 – The Zen of Python {{!}} peps.python.org|hizkuntza=en|url=https://peps.python.org/pep-0020/|aldizkaria=Python Enhancement Proposals (PEPs)|sartze-data=2026-06-22}}</ref>
Derrigorrezko indentazioa egitura sintaktiko gisa, eta liburutegi estandarraren zabaltasun izugarriak —''batteries included'' filosofiaren pean— ideia konplexuak eta soluzio sendoak lerro gutxitan adierazteko aukera ematen diete programatzaileei. Azken hamarkadetan, adimen artifizialaren, datu-zientziaren eta automatizazioaren gehien erabiltzen diren programazio-lengoaietako bat bihurtu da; ondorioz, posturik gorenetan dago TIOBE bezalako ospe-indize globaletan<ref name=":4">{{Erreferentzia|izenburua=TIOBE Index|hizkuntza=en-US|url=https://www.tiobe.com/tiobe-index/|aldizkaria=TIOBE|sartze-data=2026-06-22}}</ref> eta GitHub bezalako garapen-plataforma nagusietan erabilera oso zabala du.
== Historia eta bilakaera ==
[[File:Python-logo-notext.png|thumb|upright=0.5|Python logoa]]
[[w:Guido van Rossum|Guido van Rossum]] programatzaile herbeheretarrak sortu zuen '''Python''' 1980ko hamarkadaren amaieran, Amsterdamgo ''Centrum Wiskunde & Informatica'' (CWI) zentroan.<ref>{{Erreferentzia|izena=G.|abizena=Van Rossum|izenburua=The History of Python|url=https://python-history.blogspot.com/|aldizkaria=python-history.blogspot.com|sartze-data=2026-06-22}}</ref> [[w:ABC programazio lengoaia|ABC]] hezkuntza-lengoaia ordezkatzeko proiektu pertsonal gisa hasi zen, haren mugak gainditzeko baina sinpletasuna mantentzeko helburuarekin.<ref>{{Erreferentzia|izena=Charles|abizena=Severance|izenburua=Guido van Rossum: The Early Years of Python|orrialdeak=7–9|data=2015-02|url=https://ieeexplore.ieee.org/abstract/document/7042702|aldizkaria=Computer|alea=2|zenbakia=48|issn=1558-0814|doi=10.1109/MC.2015.45|sartze-data=2026-06-22}}</ref> Lengoaiaren izenak ''[[w:Monty Python|Monty Python]]'' umorista talde britainiarrari egiten dio gorazarre.
1991n Pythonen lehen bertsio publikoa (0.9.0) kaleratu ondoren, mugarri garrantzitsuekin eboluzionatu zuen: Python 1.0ek (1994) programazio funtzionaleko tresnak barneratu zituen; Python 2.0 bertsioak (2000) ''list comprehensions'' egiturak eta ziklo-detekzioa zuen zabor-biltzaile bidezko memoria-kudeaketa txertatu zituen; eta Python 3.0 bertsioak (2008) atzerako bateragarritasuna nahita hautsi zuen, testu-kateen kudeaketa [[w:Unicode|Unicoden]] bateratzeko eta jatorrizko diseinu-akatsak zuzentzeko.<ref>{{Erreferentzia|izenburua=Python (programming language - Wikipedia, the free encyclopedia|hizkuntza=en|url=http://en.wikipedia.org:80/wiki/Python_(programming_language|aldizkaria=en.wikipedia.org|sartze-data=2026-06-22}}</ref>
3.5 bertsiotik aurrera, hautazko mota-aholkuak (''type hints'') gehitu ziren, eskala handiko proiektuetarako ezinbestekoak direnak.
[[W:Van Rossum|Van Rossumek]], proiektuaren azken erabaki-ahalmena zuen ''Benevolent Dictator For Life'' (BDFL) figuraren bidez, 2018ra arte gidatu zuen garapena; urte horretan, komunitateak hautatutako zuzendaritza-batzorde baten esku geratu zen gobernantza, ''Python Software Foundation'' (PSF) erakundearen babespean.
[[File:The-standard-Python-ecosystem-for-machine-learning-data-science-and-scientific.png|700px|center|upright=1.35|Machine learningerako, datu-zientzarako eta konputazio zientifikorako Python ekosistema estandarra]]
==Diseinu-filosofia eta alderdi teknikoak==
Maila teknikoan, Python iturburu-kodea (<code>.py</code>) barnean bitarteko formatu batera (''bytecode'') bihurtzen da, eta CPython makina birtualak interpretatzen du.<ref name=":3">{{Erreferentzia|izena=Mark|abizena=Lutz|izenburua=Learning Python, 5th Edition|hizkuntza=en|url=https://www.oreilly.com/library/view/learning-python-5th/9781449355722/|isbn=978-1-4493-5572-2|sartze-data=2026-06-22}}</ref>
Tipatze dinamikoa baina sendoa (''strongly typed'') duen lengoaia da: horrek esan nahi du ez dela beharrezkoa adieraztea aldagai bakoitzaren mota (kateak, zenbakiak, etab.), baina sistema oso zorrotza da eta ez du uzten baliozkoak ez diren eragiketak modu arduragabean nahasten. Oinarrizko lau ezaugarri definitzen dute lengoaiaren portaera:
*'''Indentazioan oinarritutako sintaxia''': Kode-blokeak zuriune soilez bereizten dira. Honek kodea bisualki garbi, ordenatuta eta uniforme mantentzea behartzen du.<ref name=":3" /> <ref>{{Erreferentzia|izenburua=Python (informatika)|hizkuntza=eu|data=2026-06-11|url=https://eu.wikipedia.org/w/index.php?title=Python_(informatika)&oldid=10753714|sartze-data=2026-06-22|encyclopedia=Wikipedia, entziklopedia askea.}}</ref>
*'''Liburutegi estandarren zabaltasuna''': Fitxategiak, sare-konexioak, testu konplexuak eta probak kudeatzeko tresnak dakartza berez, oinarrizko funtzionalitateak zerotik programatu behar izatea saihestuz.<ref name=":4" />
*'''Paketeen ekosistema''': [https://pypi.org/ PyPI biltegia] du, ehunka mila liburutegi prest dituen mundu mailako komunitate erraldoia, ''pip'' tresnaren bidez erraz kudeatzen dena.
*'''Konkurrentziaren kudeaketa eta errendimendua''': Historikoki, abiadura mugatuta egon da ''Global Interpreter Lock'' (GIL) dela eta (prozesamendu-hari bat baino gehiago aldi berean erabiltzea galarazten duen mekanismoa). Hala ere, azken bertsioek (Python 3.13 adibidez) GIL hori modu esperimentalean desgaitzeko bidea ematen dute, eta ''Faster CPython'' bezalako proiektuek lengoaia bertsio bakoitzean nabarmen azkarragoa izatea lortzen ari dira.
<syntaxhighlight lang="python" line>
# adib1: list comprehension eta sintaxi garbia
def bikoitien_karratuak(zenbakiak: list[int]) -> list[int]:
return [x**2 for x in zenbakiak if x%2==0]
l=[1,2,3,4,5,6]
print(bikoiti_karratuak(l)) # Irteera: [4,16,36]
# adib2: Testu‑analisia liburutegi estandarra erabiliz
from collections import Counter
testua = "Python trinkoa eta indartsua da, bai eta polita ere"
print(Counter(testua.split()).most_common(3))
# Irteera : [('eta', 2), ('Python', 1), ('trinkoa', 1)]
</syntaxhighlight>
== Testu ebakia: Garrantzia, eragina eta etorkizuna ==
Pythonek eragin handia izan du konputazio modernoan.<ref>{{Erreferentzia|izena=W.|abizena=McKinney|urtea=2022|izenburua=Python for Data Analysis (3. edizioa)|argitaletxea=O'Relly Media|ISBN=978-1098104030|hizkuntza=en|url=https://wesmckinney.com/book/|aldizkaria=wesmckinney.com|sartze-data=2026-06-22}}</ref> Ikasketa-kurba leunari esker, programaziorako sarbidea demokratizatu du, ingeniaritza, zientzia eta ikerketako profesionalek inguru partekatu batean lankidetzan aritzeko aukera emanez [5]. Adimen Artifizialean, ''Machine Learning''ean eta datu-zientzian Python estandar eztabaidagabea da [[w:NumPy|NumPy]], [[w:Pandas|Pandas]], scikit-learn, [[w:TensorFlow|TensorFlow]] eta [[w:PyTorch|PyTorch]] bezalako liburutegiei esker. Halaber, web garapena ([[w:Django (web euskarria)|Django]], [[w:Flask|Flask]]) eta sistemen automatizazioa ere sustatzen ditu. [[w:Google|Google]], [[w:Netflix|Netflix]], [[w:Spotify|Spotify]] edo [[w:Dropbox|Dropbox]] bezalako korporazio teknologiko handiek beren plataforma nagusietan erabiltzen dute eskala handian.
Etorkizuneko garapen-ildoak interpretearen errendimendua optimizatzera, hautazko tipatze estatikoa sendoago egituratzera eta WebAssembly bidezko presentzia sendotzera bideratzen dira (Pyodide proiektuaren bidez), horrek Python programak, zuzenean, instalaziorik egin gabe, nabigatzailean exekutatu ahalbidetzen duelarik.
<gallery mode="packed" heights="180" caption="Python liburuak euskaraz">
Fitxategi:PYthon Altadill azala sinple tx.png|''[http://pello.io/programazioa/ Kodea ondo sartzek]'' liburua, copyleft lizentziapean.
Fitxategi:Liburua - Python progrmazio-lengoaiaren hastapenak.png| ''[https://eima.orex.es/Bideoak/ccb2712af17a78c3b2b1cc94ca152b43_Python_Oinarrizko_Programazioa.pdf Python programazio-lengoaiaren hastapenak]''
Fitxategi:Python euskaraz.jpg|''[[PYTHON programazio-lengoaia: oinarriak eta aplikazioak|Python programazio-lengoaia: oinarriak eta aplikazioak]]<ref>{{Erreferentzia|izenburua=LIBURUA: "Python programazio-lengoaia" – Oinarriak eta aplikazioak|hizkuntza=eu|url=https://www.unibertsitatea.net/blogak/python/|sartze-data=2019-07-04}}</ref>''
</gallery>
== Erreferentziak ==
{{Erreferentzia zerrenda}}
hvy5enn96tejuvehhwhccor5ajy0obb
Informatikaren 50 urte 50 teknologiatan/Git
0
7312
43554
43541
2026-06-29T08:29:22Z
Ksarasola
1603
43554
wikitext
text/x-wiki
'''Git: bertsio-kontrol sistema banatua lankidetza bidezko garapenerako'''
'''Git''' bertsio-kontrol sistema banatua da (''Distributed Version Control System, DVCS''), proiektu bateko fitxategietan denboran zehar egindako aldaketak erregistratu, kudeatu eta koordinatzeko aukera ematen duena <ref name=":1">{{Erreferentzia|izena=Scott|abizena=Chacon|izenburua=Pro Git|hizkuntza=en|abizena2=Straub|izena2=Ben|data=2014|url=https://link.springer.com/book/10.1007/978-1-4842-0076-6|doi=10.1007/978-1-4842-0076-6|sartze-data=2026-06-29}}</ref>]<ref name=":2">{{Erreferentzia|izena=Diomidis|abizena=Spinellis|izenburua=Git|orrialdeak=100–101|data=2012-05|url=https://ieeexplore.ieee.org/document/6188603|aldizkaria=IEEE Software|alea=3|zenbakia=29|issn=1937-4194|doi=10.1109/MS.2012.61|sartze-data=2026-06-29}}</ref>. Nahiz eta batez ere software garapenean erabiltzen den, haren erabilera dokumentazio teknikoan, ikerketa zientifikoan eta konfigurazioen kudeaketan ere hedatu da 3 <ref name=":3">{{Erreferentzia|izenburua=Git (Ingeles Wikipedia) |hizkuntza=en|data=2026-06-16|url=https://en.wikipedia.org/w/index.php?title=Git&oldid=1359737761|sartze-data=2026-06-29|encyclopedia=Wikipedia}}</ref>.
[[File:Git-Logo-1788C.png|thumb|GIT logoa]]
Ohikoa da '''Git''' ''GitHub'', ''GitLab'' edo ''Bitbucket'' plataformekin nahastea. Bereizketa hori funtsezkoa da: '''Git azpiko teknologia da''', lokalean funtzionatzen duen motorra; aipatutako plataformak, berriz, hura baliatzen duten hodeiko zerbitzuak dira, talde-lana, proiektuen ostalaritza eta garapen-prozesuen automatizazioa errazteko <ref name=":4" />.
== Historia ==
Git agertu aurretik, bertsio-kontrol sistemarik ohikoenek (''CVS'', ''Subversion/SVN'') '''eredu zentralizatu'''a zuten: zerbitzari nagusi bakarra zegoen, eta garatzaileek etengabeko konexioa behar zuten lan egiteko. Zerbitzariak huts eginez gero, taldea gelditu egiten zen; bi pertsonak fitxategi bera aldi berean aldatuz gero, gatazkek lana galtzea eragin zezaketen <ref name=":1" /><ref name=":3" />.
2005ean, Linux ''kernel''-a garatzen zuen komunitateak ordura arte erabiltzen zuen ''BitKeeper'' sistema jabetzazkorako sarbidea galdu zuen. Egoera horren aurrean, '''''Linus Torvalds'''''-ek,Linux kernelaren sortzaileak, sistema berri bat garatu zuen hiru eskakizun nagusirekin: eskala handiko biltegietan errendimendu handia, datuen osotasun bermatua eta zerbitzari zentralarekiko mendekotasunik gabeko arkitektura '''banatua''' <ref name=":3" />.
Horrela sortu zen Git. Lizentzia librean (''GPL'') argitaratzeak eta 2008an ''GitHub'' agertzeak haren hedapena bultzatu zuten industrian <ref name=":4" /><ref>{{Erreferentzia|izenburua=Git (webgune ofiziala)|url=https://git-scm.com/|aldizkaria=git-scm.com|sartze-data=2026-06-29}}</ref>. 2010eko hamarkadan, software askearen proiektu handienek Git-era migratu zuten, eta ondoren mota guztietako erakundeek hartu zuten <ref name=":2" />.
== Alderdi teknikoak ==
Git-en ezaugarri nagusia da '''biltegiaren (''repository'') kopia bakoitzak proiektuaren historia osoa''' gordetzen duela. Ez dago derrigorrezko zerbitzari zentralik: lokalean lan egin daiteke, konexiorik gabe, eta aldaketak taldekideekin geroago sinkroniza daitezke ''clone'', ''pull'' eta ''push'' eragiketen bidez <ref name=":1" /><ref name=":5" />.
Barnean, Git-ek kodea objektu aldaezinen multzo gisa gordetzen du, aztarna kriptografiko baten bidez identifikatuta (''hash SHA-1'', egun SHA-256-ra igarotzen ari dena): ''blob''-ak (fitxategien edukia), ''tree''-ak (direktorio-egitura) eta ''commit''-ak (proiektuaren egoera-argazkiak, egilearen eta dataren informazioarekin). Commit-ak elkarri lotuta daude, grafo zuzendu azikliko egitura batean antolatuta, proiektuaren historia osoa irudikatuz <ref name=":1" /><ref name=":5" />.
Diseinu honek errendimendu handia ematen dio Git-i. ''Branch'' (adar) bat sortzea ''commit'' jakin bati erreferentzia egiten dion erakusle bat sortzea besterik ez da; horrek kostu konstantea du, proiektuaren tamainarekiko independentea, eta garapen-lerro paraleloak modu eraginkorrean kudeatzeko aukera ematen du. Git-ek ez ditu aldaketak lerroz lerroko diferentzien bidez gordetzen; aitzitik, proiektuaren egoeraren argazkien bidez modelizatzen ditu, eta biltegiratzea optimizatzen du objektu berdinak berrerabiliz, datuen bikoizketa saihesteko <ref name=":1" /><ref name=":5">{{Erreferentzia|izena=Jon|abizena=Loeliger|izenburua=Version control with Git|argitaletxea=O'Reilly|abizena2=McCullough|izena2=Matthew|data=2012|edizioa=Second edition|isbn=978-1-4493-1638-9|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|izenburua=Introduction to Git {{title}}|hizkuntza=en|url=https://www.w3schools.com/git/git_intro.asp|aldizkaria=www.w3schools.com|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|abizena=a-a-ron|izenburua=Introduction to Git - Training|hizkuntza=en-us|url=https://learn.microsoft.com/en-us/training/modules/intro-to-git/|aldizkaria=learn.microsoft.com|sartze-data=2026-06-29}}</ref>.
Arkitektura honek adarretan oinarritutako lan-eredua ahalbidetzen du: paraleloan funtzionalitateak garatzea kode egonkorra ukitu gabe, eta ''merge'' bidez bateratzea prest daudenean. Eredu horren gainean sortu dira gaur egun oso hedatuta dauden praktikak, hala nola ''GitFlow'' edo ''pull request'' eredua <ref name=":1" /><ref name=":5" />.
[[File:Git operations.svg|Git_operations|thumb|Git bertsio-kontrolerako sistemako datu-fluxu eta biltegiratze-maila batzuk]]
Git-en oinarrizko kontzeptu batzuk honako hauek dira:
{| class="wikitable"
|-
! Kontzeptua !! Deskribapena
|-
| '''repository''' || Fitxategi multzoa eta proiektuaren historia osoa
|-
| '''Commit''' || Proiektuaren egoera-argazkia, egilea eta datarekin
|-
| '''Branch''' || Garapen-lerro independentea
|-
| '''Merge''' || Bi adarren bateratzea
|-
| '''Clone / Pull / Push''' || Repository-en arteko sinkronizazio-eragiketak
|}
Ondorengo sekuentziak Git eta GitHub erabileran, eguneroko lanaren oinarrizko fluxua erakusten du
<syntaxhighlight lang="bash">
# Hasierako prestaketa
$ git init
$ git add .
$ git commit -m "Hasierako commit-a"
# GitHub-era konektatu eta bidali
$ git remote add origin https://github.com/erabiltzailea/proiektua.git
$ git push -u origin main
# Eguneroko lana
$ git add .
$ git commit -m "Aldaketak"
$ git push
$ git pull
</syntaxhighlight>
== Garrantzia, eragina eta etorkizuneko ildoak ==
''Stack Overflow''-ren 2022ko inkestaren arabera, garatzaile profesionalen %93 baino gehiagok Git erabiltzen dute, eta horrek industriako de facto estandar bihurtzen du <ref name=":8">{{Erreferentzia|izenburua=Stack Overflow Developer Survey 2022|hizkuntza=en|url=https://survey.stackoverflow.co/2022/?utm_source=social-share&utm_medium=social&utm_campaign=dev-survey-2022|aldizkaria=Stack Overflow|sartze-data=2026-06-29}}</ref>.
Git funtsezkoa izan da '''DevOps''' kulturaren garapenean, continuous integration (CI) eta continuous delivery (CD) sistemekin integratzen delarik. Horrela, kodean egindako aldaketa bakoitzak automatikoki abiaraz ditzake probak, segurtasun-analisiak eta hedapenak <ref name=":2" /><ref name=":4" />.
Hezkuntzan, Git oinarrizko gaitasuna bihurtu da informatikako eta ingeniaritzako ikasketetan. ''GitHub Classroom'' bezalako plataformak gero eta gehiago erabiltzen dira proiektuak eta praktikak kudeatzeko <ref name=":8" />.
Etorkizunari begira, erronka nagusiak daude Git bezalako sistemetan errendimendua hobetzea, bereziki eskala handiko biltegietan (''repository'' handi edo ''monorepo'' motakoetan), segurtasun kriptografikoa indartzea (''SHA-256'' bidez), erabiltzaile ez-adituentzako erabilgarritasuna sinplifikatzea eta kodearen berrikuspen automatikoa egiteko adimen artifiziala integratzea <ref name=":2" /><ref name=":3" />. Horrenbestez, Git ez da soilik tresna teknikoa, baizik eta informatikako prestakuntzaren funtsezko oinarria. Haren hedapen orokorra eta garapen-tresna nagusiekin duen integrazioa kontuan hartuta, Git azpiegitura egonkor gisa kokatzen da ekosistema teknologikoan epe ertain eta luzera.
== Erreferentziak ==
{{Erreferentzia zerrenda}}
<ref name=":1" /> Chacon, S., & Straub, B. (2014). Pro Git (2. arg.). Apress. https://doi.org/10.1007/978-1-4842-0076-6 (Noiz kontsultatua: 2026-06-24)
<ref name=":2" /> Spinellis, D. (2012). “Git”. IEEE Software, 29(3), 100–101. https://doi.org/10.1109/MS.2012.61 (Noiz kontsultatua: 2026-06-24)
<ref name=":3" /> Wikipedia — Git. https://en.wikipedia.org/wiki/Git (Noiz kontsultatua: 2026-06-24)
<ref name=":4" /> Git webgune ofiziala. https://git-scm.com/ (Noiz kontsultatua: 2026-06-24)
<ref name=":5" /> Loeliger, J., & McCullough, M. (2012). Version Control with Git (2. arg.). O'Reilly Media. ISBN: 978-1449316389
[Ref-6] W3Schools — Git Introduction. https://www.w3schools.com/git/git_intro.asp (Noiz kontsultatua: 2026-06-24)
[Ref-7] Microsoft Learn — Intro to Git. https://learn.microsoft.com/en-us/training/modules/intro-to-git/ (Noiz kontsultatua: 2026-06-24)
<ref>{{Erreferentzia|abizena=a-a-ron|izenburua=Introduction to Git - Training|hizkuntza=en-us|url=https://learn.microsoft.com/en-us/training/modules/intro-to-git/|aldizkaria=learn.microsoft.com|sartze-data=2026-06-29}}</ref> Stack Overflow Developer Survey 2022. https://survey.stackoverflow.co/2022 (Noiz kontsultatua: 2026-06-24)
qnd9kpbuopa42egwv66owb2enpvk7jt
43555
43554
2026-06-29T08:51:11Z
Ksarasola
1603
43555
wikitext
text/x-wiki
'''Git: bertsio-kontrol sistema banatua lankidetza bidezko garapenerako'''
'''Git''' bertsio-kontrol sistema banatua da (''Distributed Version Control System, DVCS''), proiektu bateko fitxategietan denboran zehar egindako aldaketak erregistratu, kudeatu eta koordinatzeko aukera ematen duena <ref name=":1">{{Erreferentzia|izena=Scott|abizena=Chacon|izenburua=Pro Git|hizkuntza=en|abizena2=Straub|izena2=Ben|data=2014|url=https://link.springer.com/book/10.1007/978-1-4842-0076-6|doi=10.1007/978-1-4842-0076-6|sartze-data=2026-06-29}}</ref><ref name=":2">{{Erreferentzia|izena=Diomidis|abizena=Spinellis|izenburua=Git|orrialdeak=100–101|data=2012-05|url=https://ieeexplore.ieee.org/document/6188603|aldizkaria=IEEE Software|alea=3|zenbakia=29|issn=1937-4194|doi=10.1109/MS.2012.61|sartze-data=2026-06-29}}</ref>. Nahiz eta batez ere software garapenean erabiltzen den, haren erabilera dokumentazio teknikoan, ikerketa zientifikoan eta konfigurazioen kudeaketan ere hedatu da.<ref name=":3">{{Erreferentzia|izenburua=Git (Ingeles Wikipedia) |hizkuntza=en|data=2026-06-16|url=https://en.wikipedia.org/w/index.php?title=Git&oldid=1359737761|sartze-data=2026-06-29|encyclopedia=Wikipedia}}</ref>
[[File:Git-Logo-1788C.png|thumb|GIT logoa]]
Ohikoa da '''Git''' ''GitHub'', ''GitLab'' edo ''Bitbucket'' plataformekin nahastea. Bereizketa hori funtsezkoa da: '''Git azpiko teknologia da''', lokalean funtzionatzen duen motorra; aipatutako plataformak, berriz, hura baliatzen duten hodeiko zerbitzuak dira, talde-lana, proiektuen ostalaritza eta garapen-prozesuen automatizazioa errazteko.<ref name=":4">{{Erreferentzia|izenburua=Git (webgune ofiziala)|url=https://git-scm.com/|aldizkaria=git-scm.com|sartze-data=2026-06-29}}</ref>
== Historia ==
Git agertu aurretik, bertsio-kontrol sistemarik ohikoenek (''CVS'', ''Subversion/SVN'') '''eredu zentralizatu'''a zuten: zerbitzari nagusi bakarra zegoen, eta garatzaileek etengabeko konexioa behar zuten lan egiteko. Zerbitzariak huts eginez gero, taldea gelditu egiten zen; bi pertsonak fitxategi bera aldi berean aldatuz gero, gatazkek lana galtzea eragin zezaketen.<ref name=":1" /><ref name=":3" />
2005ean, Linux ''kernel''-a garatzen zuen komunitateak ordura arte erabiltzen zuen ''BitKeeper'' sistema jabetzazkorako sarbidea galdu zuen. Egoera horren aurrean, '''''Linus Torvalds'''''-ek,Linux kernelaren sortzaileak, sistema berri bat garatu zuen hiru eskakizun nagusirekin: eskala handiko biltegietan errendimendu handia, datuen osotasun bermatua eta zerbitzari zentralarekiko mendekotasunik gabeko arkitektura '''banatua'''.<ref name=":3" />
Horrela sortu zen Git. Lizentzia librean (''GPL'') argitaratzeak eta 2008an ''GitHub'' agertzeak haren hedapena bultzatu zuten industrian.<ref name=":4" /> 2010eko hamarkadan, software askearen proiektu handienek Git-era migratu zuten, eta ondoren mota guztietako erakundeek hartu zuten.<ref name=":2" />
== Alderdi teknikoak ==
Git-en ezaugarri nagusia da '''biltegiaren (''repository'') kopia bakoitzak proiektuaren historia osoa''' gordetzen duela. Ez dago derrigorrezko zerbitzari zentralik: lokalean lan egin daiteke, konexiorik gabe, eta aldaketak taldekideekin geroago sinkroniza daitezke ''clone'', ''pull'' eta ''push'' eragiketen bidez. <ref name=":1" /><ref name=":5" />
Barnean, Git-ek kodea objektu aldaezinen multzo gisa gordetzen du, aztarna kriptografiko baten bidez identifikatuta (''hash SHA-1'', egun SHA-256-ra igarotzen ari dena): ''blob''-ak (fitxategien edukia), ''tree''-ak (direktorio-egitura) eta ''commit''-ak (proiektuaren egoera-argazkiak, egilearen eta dataren informazioarekin). Commit-ak elkarri lotuta daude, grafo zuzendu azikliko egitura batean antolatuta, proiektuaren historia osoa irudikatuz.<ref name=":1" /><ref name=":5" />.
Diseinu honek errendimendu handia ematen dio Git-i. ''Branch'' (adar) bat sortzea ''commit'' jakin bati erreferentzia egiten dion erakusle bat sortzea besterik ez da; horrek kostu konstantea du, proiektuaren tamainarekiko independentea, eta garapen-lerro paraleloak modu eraginkorrean kudeatzeko aukera ematen du. Git-ek ez ditu aldaketak lerroz lerroko diferentzien bidez gordetzen; aitzitik, proiektuaren egoeraren argazkien bidez modelizatzen ditu, eta biltegiratzea optimizatzen du objektu berdinak berrerabiliz, datuen bikoizketa saihesteko.<ref name=":1" /><ref name=":5">{{Erreferentzia|izena=Jon|abizena=Loeliger|izenburua=Version control with Git|argitaletxea=O'Reilly|abizena2=McCullough|izena2=Matthew|data=2012|edizioa=Second edition|isbn=978-1-4493-1638-9|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|izenburua=Introduction to Git {{title}}|hizkuntza=en|url=https://www.w3schools.com/git/git_intro.asp|aldizkaria=www.w3schools.com|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|abizena=a-a-ron|izenburua=Introduction to Git - Training|hizkuntza=en|url=https://learn.microsoft.com/en-us/training/modules/intro-to-git/|aldizkaria=learn.microsoft.com|sartze-data=2026-06-29}}</ref>
Arkitektura honek adarretan oinarritutako lan-eredua ahalbidetzen du: paraleloan funtzionalitateak garatzea kode egonkorra ukitu gabe, eta ''merge'' bidez bateratzea prest daudenean. Eredu horren gainean sortu dira gaur egun oso hedatuta dauden praktikak, hala nola ''GitFlow'' edo ''pull request'' eredua.<ref name=":1" /><ref name=":5" />
[[File:Git operations.svg|Git_operations|thumb|Git bertsio-kontrolerako sistemako datu-fluxu eta biltegiratze-maila batzuk]]
Git-en oinarrizko kontzeptu batzuk honako hauek dira:
{| class="wikitable"
|-
! Kontzeptua !! Deskribapena
|-
| '''repository''' || Fitxategi multzoa eta proiektuaren historia osoa
|-
| '''Commit''' || Proiektuaren egoera-argazkia, egilea eta datarekin
|-
| '''Branch''' || Garapen-lerro independentea
|-
| '''Merge''' || Bi adarren bateratzea
|-
| '''Clone / Pull / Push''' || Repository-en arteko sinkronizazio-eragiketak
|}
Ondorengo sekuentziak Git eta GitHub erabileran, eguneroko lanaren oinarrizko fluxua erakusten du
<syntaxhighlight lang="bash">
# Hasierako prestaketa
$ git init
$ git add .
$ git commit -m "Hasierako commit-a"
# GitHub-era konektatu eta bidali
$ git remote add origin https://github.com/erabiltzailea/proiektua.git
$ git push -u origin main
# Eguneroko lana
$ git add .
$ git commit -m "Aldaketak"
$ git push
$ git pull
</syntaxhighlight>
== Garrantzia, eragina eta etorkizuneko ildoak ==
''Stack Overflow''-ren 2022ko inkestaren arabera, garatzaile profesionalen %93 baino gehiagok Git erabiltzen dute, eta horrek industriako de facto estandar bihurtzen du.<ref name=":8">{{Erreferentzia|izenburua=Stack Overflow Developer Survey 2022|hizkuntza=en|url=https://survey.stackoverflow.co/2022/?utm_source=social-share&utm_medium=social&utm_campaign=dev-survey-2022|aldizkaria=Stack Overflow|sartze-data=2026-06-29}}</ref>
Git funtsezkoa izan da '''DevOps''' kulturaren garapenean, continuous integration (CI) eta continuous delivery (CD) sistemekin integratzen delarik. Horrela, kodean egindako aldaketa bakoitzak automatikoki abiaraz ditzake probak, segurtasun-analisiak eta hedapenak.<ref name=":2" /><ref name=":4" />
Hezkuntzan, Git oinarrizko gaitasuna bihurtu da informatikako eta ingeniaritzako ikasketetan. ''GitHub Classroom'' bezalako plataformak gero eta gehiago erabiltzen dira proiektuak eta praktikak kudeatzeko.<ref name=":8" />
Etorkizunari begira, erronka nagusiak daude Git bezalako sistemetan errendimendua hobetzea, bereziki eskala handiko biltegietan (''repository'' handi edo ''monorepo'' motakoetan), segurtasun kriptografikoa indartzea (''SHA-256'' bidez), erabiltzaile ez-adituentzako erabilgarritasuna sinplifikatzea eta kodearen berrikuspen automatikoa egiteko adimen artifiziala integratzea.<ref name=":2" /><ref name=":3" /> Horrenbestez, Git ez da soilik tresna teknikoa, baizik eta informatikako prestakuntzaren funtsezko oinarria. Haren hedapen orokorra eta garapen-tresna nagusiekin duen integrazioa kontuan hartuta, Git azpiegitura egonkor gisa kokatzen da ekosistema teknologikoan epe ertain eta luzera.
== Erreferentziak ==
{{Erreferentzia zerrenda}}
tmvgauiezbw1u674uozldyzh2btc9nr
43556
43555
2026-06-29T09:20:23Z
Ksarasola
1603
wikiestekak
43556
wikitext
text/x-wiki
'''Git: bertsio-kontrol sistema banatua lankidetza bidezko garapenerako'''
'''Git''' bertsio-kontrol sistema banatua da (''Distributed Version Control System, DVCS''), proiektu bateko fitxategietan denboran zehar egindako aldaketak erregistratu, kudeatu eta koordinatzeko aukera ematen duena.<ref name=":1">{{Erreferentzia|izena=Scott|abizena=Chacon|izenburua=Pro Git|hizkuntza=en|abizena2=Straub|izena2=Ben|data=2014|url=https://link.springer.com/book/10.1007/978-1-4842-0076-6|doi=10.1007/978-1-4842-0076-6|sartze-data=2026-06-29}}</ref><ref name=":2">{{Erreferentzia|izena=Diomidis|abizena=Spinellis|izenburua=Git|orrialdeak=100–101|data=2012-05|url=https://ieeexplore.ieee.org/document/6188603|aldizkaria=IEEE Software|alea=3|zenbakia=29|issn=1937-4194|doi=10.1109/MS.2012.61|sartze-data=2026-06-29}}</ref> Nahiz eta batez ere software garapenean erabiltzen den, haren erabilera dokumentazio teknikoan, ikerketa zientifikoan eta konfigurazioen kudeaketan ere hedatu da.<ref name=":3">{{Erreferentzia|izenburua=Git (Ingeles Wikipedia) |hizkuntza=en|data=2026-06-16|url=https://en.wikipedia.org/w/index.php?title=Git&oldid=1359737761|sartze-data=2026-06-29|encyclopedia=Wikipedia}}</ref>
[[File:Git-Logo-1788C.png|thumb|GIT logoa]]
Ohikoa da '''Git''' ''GitHub'', ''GitLab'' edo ''Bitbucket'' plataformekin nahastea. Bereizketa hori funtsezkoa da: '''Git azpiko teknologia da''', lokalean funtzionatzen duen motorra; aipatutako plataformak, berriz, hura baliatzen duten [[w:Web zerbitzu|hodeiko zerbitzuak]] dira, talde-lana, proiektuen ostalaritza eta garapen-prozesuen automatizazioa errazteko.<ref name=":4">{{Erreferentzia|izenburua=Git (webgune ofiziala)|url=https://git-scm.com/|aldizkaria=git-scm.com|sartze-data=2026-06-29}}</ref>
== Historia ==
Git agertu aurretik, bertsio-kontrol sistemarik ohikoenek (''CVS'', ''Subversion/SVN'') '''eredu zentralizatua''' zuten: zerbitzari nagusi bakarra zegoen, eta garatzaileek etengabeko konexioa behar zuten lan egiteko. Zerbitzariak huts eginez gero, taldea gelditu egiten zen; bi pertsonak fitxategi bera aldi berean aldatuz gero, gatazkek lana galtzea eragin zezaketen.<ref name=":1" /><ref name=":3" />
2005ean, [[w:Linux|Linux kernela]] garatzen zuen komunitateak ordura arte erabiltzen zuen ''BitKeeper'' sistema jabetzazkorako sarbidea galdu zuen. Egoera horren aurrean, [[w:Linus Torvalds|Linus Torvaldsek]], Linux kernelaren sortzaileak, sistema berri bat garatu zuen hiru eskakizun nagusirekin: eskala handiko biltegietan errendimendu handia, datuen osotasun bermatua eta zerbitzari zentralarekiko mendekotasunik gabeko [[w:Konputazio banatua|arkitektura banatua]].<ref name=":3" />
Horrela sortu zen Git. Lizentzia librean ([[w:GNU Lizentzia Publiko Orokorra|GPL]]) argitaratzeak eta 2008an [[w:GitHub|GitHub]] agertzeak haren hedapena bultzatu zuten industrian.<ref name=":4" /> 2010eko hamarkadan, software askearen proiektu handienek Git-era migratu zuten, eta ondoren mota guztietako erakundeek hartu zuten.<ref name=":2" />
== Alderdi teknikoak ==
Git-en ezaugarri nagusia da '''biltegiaren (''repository'') kopia bakoitzak proiektuaren historia osoa''' gordetzen duela. Ez dago derrigorrezko zerbitzari zentralik: lokalean lan egin daiteke, konexiorik gabe, eta aldaketak taldekideekin geroago sinkroniza daitezke ''clone'', ''pull'' eta ''push'' eragiketen bidez.<ref name=":1" /><ref name=":5" />
Barnean, Git-ek kodea objektu aldaezinen multzo gisa gordetzen du, aztarna kriptografiko baten bidez identifikatuta (''hash SHA-1'', egun SHA-256-ra igarotzen ari dena): ''blob''-ak (fitxategien edukia), ''tree''-ak (direktorio-egitura) eta ''commit''-ak (proiektuaren egoera-argazkiak, egilearen eta dataren informazioarekin). Commit-ak elkarri lotuta daude, grafo zuzendu azikliko egitura batean antolatuta, proiektuaren historia osoa irudikatuz.<ref name=":1" /><ref name=":5" />.
Diseinu horrek errendimendu handia ematen dio Git-i. ''Branch'' (adar) bat sortzea ''commit'' jakin bati erreferentzia egiten dion erakusle bat sortzea besterik ez da; horrek kostu konstantea du, proiektuaren tamainarekiko independentea, eta garapen-lerro paraleloak modu eraginkorrean kudeatzeko aukera ematen du. Git-ek ez ditu aldaketak lerroz lerroko diferentzien bidez gordetzen; aitzitik, proiektuaren egoeraren argazkien bidez modelizatzen ditu, eta biltegiratzea optimizatzen du objektu berdinak berrerabiliz, datuen bikoizketa saihesteko.<ref name=":1" /><ref name=":5">{{Erreferentzia|izena=Jon|abizena=Loeliger|izenburua=Version control with Git|argitaletxea=O'Reilly|abizena2=McCullough|izena2=Matthew|data=2012|edizioa=Second edition|isbn=978-1-4493-1638-9|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|izenburua=Introduction to Git {{title}}|hizkuntza=en|url=https://www.w3schools.com/git/git_intro.asp|aldizkaria=www.w3schools.com|sartze-data=2026-06-29}}</ref><ref>{{Erreferentzia|abizena=a-a-ron|izenburua=Introduction to Git - Training|hizkuntza=en|url=https://learn.microsoft.com/en-us/training/modules/intro-to-git/|aldizkaria=learn.microsoft.com|sartze-data=2026-06-29}}</ref>
Arkitektura honek adarretan oinarritutako lan-eredua ahalbidetzen du: paraleloan funtzionalitateak garatzea kode egonkorra ukitu gabe, eta ''merge'' bidez bateratzea prest daudenean. Eredu horren gainean sortu dira gaur egun oso hedatuta dauden praktikak, hala nola ''GitFlow'' edo ''pull request'' eredua.<ref name=":1" /><ref name=":5" />
[[File:Git operations.svg|Git_operations|thumb|Git bertsio-kontrolerako sistemako datu-fluxu eta biltegiratze-maila batzuk]]
Git-en oinarrizko kontzeptu batzuk honako hauek dira:
{| class="wikitable"
|-
! Kontzeptua !! Deskribapena
|-
| '''repository''' || Fitxategi multzoa eta proiektuaren historia osoa
|-
| '''Commit''' || Proiektuaren egoera-argazkia, egilea eta datarekin
|-
| '''Branch''' || Garapen-lerro independentea
|-
| '''Merge''' || Bi adarren bateratzea
|-
| '''Clone / Pull / Push''' || Repository-en arteko sinkronizazio-eragiketak
|}
Git eta GitHub erabileran, eguneroko lanaren oinarrizko fluxua erakusten du sekuentzia honek
<syntaxhighlight lang="bash">
# Hasierako prestaketa
$ git init
$ git add .
$ git commit -m "Hasierako commit-a"
# GitHub-era konektatu eta bidali
$ git remote add origin https://github.com/erabiltzailea/proiektua.git
$ git push -u origin main
# Eguneroko lana
$ git add .
$ git commit -m "Aldaketak"
$ git push
$ git pull
</syntaxhighlight>
== Testu ebakia: Garrantzia, eragina eta etorkizuneko ildoak ==
''Stack Overflow''-ren 2022ko inkestaren arabera, garatzaile profesionalen %93 baino gehiagok Git erabiltzen dute, eta horrek industriako de facto estandar bihurtzen du.<ref name=":8">{{Erreferentzia|izenburua=Stack Overflow Developer Survey 2022|hizkuntza=en|url=https://survey.stackoverflow.co/2022/?utm_source=social-share&utm_medium=social&utm_campaign=dev-survey-2022|aldizkaria=Stack Overflow|sartze-data=2026-06-29}}</ref>
Git funtsezkoa izan da '''DevOps''' kulturaren garapenean, continuous integration (CI) eta continuous delivery (CD) sistemekin integratzen delarik. Horrela, kodean egindako aldaketa bakoitzak automatikoki abiaraz ditzake probak, segurtasun-analisiak eta hedapenak.<ref name=":2" /><ref name=":4" />
Hezkuntzan, Git oinarrizko gaitasuna bihurtu da informatikako eta ingeniaritzako ikasketetan. ''GitHub Classroom'' bezalako plataformak gero eta gehiago erabiltzen dira proiektuak eta praktikak kudeatzeko.<ref name=":8" />
Etorkizunari begira, erronka nagusiak dira Git bezalako sistemetan errendimendua hobetzea, bereziki eskala handiko biltegietan (''repository'' handi edo ''monorepo'' motakoetan), segurtasun kriptografikoa indartzea (''[[w:SHA-2|SHA-256]]'' bidez), erabiltzaile ez-adituentzako erabilgarritasuna sinplifikatzea eta kodearen berrikuspen automatikoa egiteko adimen artifiziala integratzea.<ref name=":2" /><ref name=":3" /> Horrenbestez, Git ez da soilik tresna teknikoa, baizik eta informatikako prestakuntzaren funtsezko oinarria. Haren hedapen orokorra eta garapen-tresna nagusiekin duen integrazioa kontuan hartuta, Git azpiegitura egonkor gisa kokatzen da ekosistema teknologikoan epe ertain eta luzera.
== Erreferentziak ==
{{Erreferentzia zerrenda}}
te7j9w4bxy5fgwgmlww9whg6vafgesy