ce înseamnă "apel de intrare" și "apel de ieșire"?
apel intrare când primeştu un apel, apel ieşire cãnd suni(apelezi)tu pe cineva! fundã?
Ei're destul de mult la fel - singura diferență este că o variabilă trece ca un "afară" parametru nu't trebuie să fie inițializat dar trece ca o `ref` parametru trebuie să fie setat la ceva.



```
int x;
Foo(out x); // OK

int y;
Foo(ref y); // Error: y should be initialized before calling the method
```

`Ref` parametrii sunt pentru date care ar putea fi modificat, " out " parametrii sunt pentru datele's o ieșire suplimentară pentru funcția (de exemplu `int.TryParse`) care sunt deja folosind valoarea de returnare pentru ceva. Inelul reprezinta casatoria, dragostea parintilor din care se naste copilul. Golul inelului este viata pe care copiii si-o imagineaza alaturi de parinti. Simbolul inelului semnifica stabilitatea familiei, iar un copil este sufletul parintilor, universul lor. Prin acel gol, copiii vad iubirea, siguranta, protectia parintilor. Salut !



  



 Intai de toate, de acord cu Adi, trebuie definiti termenii - de pilda eu inteleg *minte=cerebel*, *ratiune = procesele decizionale ale cerebelului*, *"suflet" = subrutina componenta a ratiunii care guverneaza interactiunile cu alte fiinte*.



  



 Eu unul, nu vad niciun mister, ceea ce numesc indeobste oamenii "suflet" este un proces cerebral cu rol in special social - dezvoltat evolutionist tocmai pentru ca s-a dovedit un avantaj pentru noi, ca specie sociala. Deci, prin prisma intrebarii tale, cred ca rolul decisiv o sa-l aiba neurologii, stabilind mecanismele aparitiei "sufletului" si ariile cerebrale implicate.



  



 - Daca stam putin sa analizam, "sufletul", ca pozitionare fata de celelalte fiinte, are la baza tot una din cele 3 legi ale Viului - AUTOPREZERVAREA - si iti dau niste exemple proverbiale: *"De ce sa planga mama mea cand poate sa planga mama ta"; "Frate-frate, dar branza-i pe bani"*, etc. Adica, sunt sufletist, altruist, dar numai pana cand imi sunt afectate interesele proprii !



  



 - Doi la mana: cel mai "sufletist" esti cu copiii tai, apoi cu membrii familiei tale, apoi ai comunitatii, etc. Transpare aici a doua lege a Viului - AUTOREPRODUCEREA, si de cele mai multe ori esti atat de "sufletist" incat te sacrifici pentru generatia urmatoare - dupa cum se vede si legile Viului au o ierarhie, intocmai cu legile asimoviene ale robotilor.



  



 Inca un exemplu: cainii sunt draguti si ii iubim (probabil mostenire ancestrala a relatiei reciproc avantajoase om-caine), DAR numai pana cand imi musca copilul ! Atunci, iau parul si-i ucid  "ca un om fara suflet" !



  



 - Ca "sufletul" nu este decat o rutina cerebrala ca si multe altele (am citit recent depre rutina care defineste Eu-ul, foarte interesant !) o dovedesc si cazurile unor persoane cu accidente cerebrale masive - se intampla ca dupa o refacere dificila sa ramana sechele neasteptate - atunci se spune ca "si-a pierdut sufletul", fiind "alt om" ! Pai da, pentru ca s-a defectat "hardware-ul" care sustine procesul cerebral numit suflet !



  



 - Inca ceva: oamenii isi pun frecvent intrebarea daca **Masinile o sa aiba vreodata suflet** - multi fiind convinsi ca nu. Pai cred ca astia din urma au dreptate, dar nu din cauza pe care o preconizeaza ei: nu avem nevoie de Masini cu suflet, este contraproductiv. Dar daca se va urmari asta, in scop experimental, DA o Masina va putea avea suflet, adica un anumit comportament dictat de o ordine a prioritatilor - asa cum are Viul. Asta in prima etapa, cine stie cum ar putea sa evolueze si Masinile .. functie de prioritatile care le anima.



  



 In fine, despre **relatia cu religia**: ziceam ca rutina numita "suflet" ne traseaza un anumit comportament social. Intersectia cu Religia apare pentru ca aceasta doreste  SA SCHIMBE/INFLUENTEZE acest comportament social prin anumite metode (psihologice). Evident este ca Religia are un aliat puternic in insusi instinctul de conservare al Omului (autoprezervarea de care ziceam) confruntat cu iminenta disparitiei - dovada ca bisericile sunt pline de batrani, tinerii fiind o exceptie. cate camere? ce diferenta se ofera? Începând cu Git versiunea 2.5+ (Q2 2015), preluarea-un singur comite (fără clonare complet repo) este de fapt posibil.
A se vedea [comite 68ee628](https://github.com/git/git/commit/68ee628932c2196742b77d2961c5e16360734a62) de [Fredrik Medley (`moroten`)](https://github.com/moroten), 21 Mai 2015.
(Fuzionat cu [Junio C Hamano -- `gitster` --](https://github.com/gitster) în [comite a9d3493](https://github.com/git/git/commit/a9d34933803198f89ad721ee17f138b046131090), 01 Jun 2015)
Acum aveți un nou config (pe partea de server) 



```
uploadpack.allowReachableSHA1InWant
```


> 
> Permite upload-pack`pentru a accepta o aduce cerere prin care se solicită un obiect care este accesibil din orice sfat ref. Cu toate acestea, rețineți că calcularea obiect de accesibilitate este de calcul scumpe. Implicit la "false". Dacă ai combina configurare server-side cu un superficial clona ([`git fetch --depth=1`][1]), puteți cere pentru un singur comite (a se vedea [`t/t5516-fetch-push.sh`][2]: 
> 
> 
> 



```
git fetch --depth=1 ../testrepo/.git $SHA1
```

Puteți utiliza `git pisica-fișier de comandă pentru a vedea că a comis a fost preluat: 



```
git cat-file commit $SHA1
```


> 
> "`git incarca-pack`" care servește "`git fetch`" poate fi spus pentru a servi
> se angajează ca nu sunt la vârful orice arbitru, atâta timp cât acestea sunt
> află de la un arbitru, cu uploadpack.allowReachableSHA1InWant`
> configurație variabilă.
> 
> 
> 
> Documentația completă este: 
> 
> 
> `upload-pack`: opțional permite preluarea accesibil sha1
> 
> 
> 
> Cu `uploadpack.allowReachableSHA1InWant` opțiune de configurare a stabilit pe partea de server, "`git fetch`" se poate face o cerere cu o "vreau" linie care numele unui obiect care nu a fost promovat (posibil să fi fost obținut de trupa sau de la un submodul pointer).
> Numai obiecte accesibile din ramura sfaturi, adică unirea a promovat sucursale și filiale ascunse de transfer.hideRefs`, vor fi procesate.
> Rețineți că există un cost asociat de a avea pentru a merge înapoi în istorie pentru a verifica accesibilitatea.
> **Această caracteristică poate fi utilizată pentru obținerea conținutului de la o anumită comis-o,
> pentru care sha1 se știe, fără a fi nevoie de clonare tot
> repository, mai ales dacă o superficial aduce este folosit**.
> cazuri Utile sunt, de exemplu 
> 
> 
> * centrale de tranzacții care conțin fișiere mari în istorie,
> * preluarea numai datele necesare pentru un submodul de verificare,
> * atunci când schimbul de un sha1 fără a spune exact care filiala îi aparține și în Gerrit, dacă te gândești în termeni de comite în loc de a schimba numerele.
> (Gerrit caz a fost deja rezolvată prin `allowTipSHA1InWant` ca fiecare Gerrit schimbare are un ref.)
> 
> 
> 
> Git 2.6 (T3 2015) va îmbunătăți acest model.
> A se vedea [comite 2bc31d1](https://github.com/git/git/commit/2bc31d1631229d863376d48ef84eb846fea1df02), [comite cc118a6](https://github.com/git/git/commit/cc118a65b4590cc2d669679260bad7ca627f2a30) (28 Iulie 2015) de [Jeff King (`peff`)](https://github.com/peff).
> (Fuzionat cu [Junio C Hamano -- `gitster` --](https://github.com/gitster) în [comite 824a0be](https://github.com/git/git/commit/824a0be6be8d6c3323003bae65b3df98387e575b), 19 Aug 2015) 
> 
> 
> `ref`: suport negativ **** `de transfer.hideRefs`
> 
> 
> 
> Dacă te-ai ascunde o ierarhie de arbitrii folosind transfer.hideRefs`config, nu există nici o modalitate de a mai târziu a trece peste acel config pentru a "anulați" nu. Acest patch implementează un "negativ" ascunde-care provoacă meciuri pentru a fi imediat marcat ca unhidden, chiar dacă un alt meci s-ar ascunde. Avem grijă să aplice meciuri în sens invers-comanda de la modul în care acestea sunt alimentate la noi prin config mașini, după care vă permite noastre obișnuite "ultimul castiga" config prioritate de muncă (și intrările în`.git/config`, de exemplu, va trece peste`/etc/gitconfig`).
> Astfel încât să puteți face acum:
> 
> 
> 



```
git config --system transfer.hideRefs refs/secret
git config transfer.hideRefs '!refs/secret/not-so-secret'
```


> 
> pentru a ascunde `ref/secret în toate operațiunile repo, cu excepția pentru unul publice pic
> într-un anumit repo.
> 
> 
> 
> Git 2.7 (Nov/Dec 2015) va îmbunătăți din nou:
> A se vedea [comite 948bfa2](https://github.com/git/git/commit/948bfa2c0f40a97d670c6a3fc22c05ceb2ec2c3f), [comite 00b293e](https://github.com/git/git/commit/00b293e519d1aa0c5b57ae9359ec5306d7023b3f) (05 Nov 2015), [comite 78a766a](https://github.com/git/git/commit/78a766ab6eaaa91c2638158bd4fda06a93291da0), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833) (03 Nov 2015), [comite 00b293e](https://github.com/git/git/commit/00b293e519d1aa0c5b57ae9359ec5306d7023b3f), [comite 00b293e](https://github.com/git/git/commit/00b293e519d1aa0c5b57ae9359ec5306d7023b3f) (05 Nov 2015), și [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833), [comite 92cab49](https://github.com/git/git/commit/92cab492ba988ffd3e3edf040f19ba820306c833) (03 Nov 2015) by [Lukas Fleischer (`lfo`)](https://github.com/lfos).
> Ajutat de: [Eric Soare (`sunshineco`)](https://github.com/sunshineco).
> (Fuzionat cu [Jeff King -- `peff` --](https://github.com/peff) în [comite dbba85e](https://github.com/git/git/commit/dbba85e46b9c7450710a23208ca1868179330e1e), 20 Nov 2015) 
> 
> 
> `config.txt`: document semantica `hideRefs cu spații de nume
> 
> 
> 
> acum, nu există o definiție clară a modului de transfer.hideRefs`ar trebui să se comporte atunci când un nume este setat. Explicați că`hideRefs`prefixe meci dezbrăcat nume în acest caz. Acesta este modul`hideRefs` modele sunt în prezent
> manipulate în primi-pack. 
> 
> 
> hideRefs: adauga suport pentru potrivire complet ref
> 
> 
> 
> În plus față de potrivire dezbrăcat ref, se poate adăuga acum `hideRefs` modele complet (unstripped) ref este compensată.
> Pentru a distinge între dezbrăcat și plin de meciuri, noile modele trebuie să fie prefixate cu un circumflex (`^`).
> Prin urmare [new documentația][3]: 
> 
> 
> 



```
transfer.hideRefs:
```


> 
> Dacă un nume este în uz, namespace prefix este deposedat de fiecare referință înainte de a este compensată de transfer.hiderefs`modele. De exemplu, dacă`ref/capete/master este specificat în transfer.hideRefs`și actualul nume este`foo", apoi " ref/nume/foo/ref/capete/master
> este omis din reclame dar `ref/capete/master și` ref/nume/bar/ref/capete/master sunt încă anunțate și așa-numita
> "trebuie" linii.
> În scopul de a se potrivi ref înainte de separare, se adaugă un `^` in fata
> arbitrul numele. Dacă combina `!` și `^`, `!` trebuie să fie specificată în primul rând.
> 
> 
> 
> [R..](https://stackoverflow.com/users/379897/r) menționează [în comentarii](https://stackoverflow.com/questions/14872486/retrieve-specific-commit-from-a-remote-git-repository/30701724#comment89086774_30701724) config [`uploadpack.allowAnySHA1InWant`](https://git-scm.com/docs/git-config#git-config-uploadpackallowAnySHA1InWant), care permite `upload-pack` de a accepta un "aport" cererea prin care se solicită orice obiect, la toate. (Implicit este "false").
> A se vedea [comite f8edeaa](https://github.com/git/git/commit/f8edeaa05d8623a9f6dad408237496c51101aad8) (Nov. 2016, Git v2.11.1) până la [David "novalis" Turner (`novalis`)](https://github.com/novalis): 
> 
> 
> `upload-pack`: opțional permite preluarea orice sha1
> 
> 
> 
> Se pare o prostie sa faci un reachabilty a verifica în cazul în care ne-am
> încrederea utilizatorului de a accesa absolut tot ce e în depozit.
> de Asemenea, l's democrației într-un sistem distribuit poate una server
> reclamă un arbitru, dar altul a avut de atunci o forță de apăsare la ref,
> și, probabil, cele două cereri HTTP ajung îndreptate spre aceste diferite
> serverele. 
> 
> 
> my 2 cents:

când implementezi un api nu mi se pare logic să “ghicești” ce fel de date primești pe baza inputului primit. de obicei modul de encodare a datelor îl determini folosind una din metodele de mai jos:

trimițând un http header când faci requestul (clientul api-ului) - considerat best prac… buna! in ce zona doriti sa fie ap ? cite camere si de cit dispuneti sa dati? multumesc si astept raspuns. Există, însă nu în toate cursurile. La ce curs te referi? hello!
for the most appropriate answer, please send your question in english. thanks for understanding!