Cum adăugați o comandă rapidă la locația cuiva pe Google Maps

Hărți Google vă permite să partajați locația dvs. prietenilor și familiei și să vedeți locația acestora dacă vă acordă permisiunea. Pentru persoanele pe care le verificați în mod regulat, puteți crea o comandă rapidă la îndemână pentru ecranul de pornire pe dispozitivele Android.

Funcțiile de partajare a locației din Google Maps sunt similare cu funcția „Find My” de la Apple. Puteți partaja locația dvs. pentru anumite perioade de timp sau pe termen nelimitat. Când alții vă împărtășesc locația, ei apar chiar pe hartă. Putem crea o comandă rapidă care vă va duce direct la locația lor.

  • Mai întâi, deschideți Google Maps pe dispozitivul dvs. Android și atingeți pictograma profilului din bara de căutare.
  • Selectați „Partajare locație” din meniu.
  • În partea de jos a ecranului apare o listă de persoane care vă împărtășesc locația. Selectați persoana pentru care doriți să creați o comandă rapidă.
  • Acum atingeți pictograma meniului cu trei puncte de pe cardul de informații și selectați „Adăugați la ecranul de pornire”.
  • Va apărea o fereastră pop-up cu comanda rapidă. Puteți atinge și menține apăsată pictograma comenzii rapide pentru a o trage singur pe ecranul de pornire sau puteți selecta „Adăugați automat” pentru ca comanda rapidă să fie plasată pe ecranul de pornire pentru dvs.
  • Cu comanda rapidă de pe ecranul de pornire, o puteți atinge pentru a deschide Google Maps în locația lor curentă.

Acesta este un mic economisire de timp pentru acei oameni din viața ta pe care ar putea fi nevoie să-i verifici frecvent. Google Maps are câteva funcții utile pentru a le permite oamenilor să știe unde vă aflați.

[mai mult...]

Cum vă personalizați pictogramele în Windows 11

Unul dintre cele mai bune lucruri despre Windows este libertatea pe care ți-o oferă de a-ți personaliza experiența utilizatorului. Există zeci de programe disponibile pentru a schimba interfața cu utilizatorul.

Unde puteți găsi pictograme?
Există o mulțime de pictograme disponibile gratuit pe internet. Trebuie doar să fiți atenți – multe site-uri se bazează pe oameni care caută lucruri precum pachetele de pictograme și vor instala programe malware sau programe potențial nedorite (PUP) dacă au ocazia.

Avertisment: Nu există niciodată un motiv pentru ca o pictogramă sau un pachet de pictograme să instaleze software pe computer doar pentru a descărca unele pictograme. Dacă descărcați o pictogramă și vă aflați că vă uitați la un fișier EXE sau MSI – sau orice alt program de instalare sau fișier executabil – opriți ceea ce faceți și ștergeți-l.

Pictogramele individuale vor fi de obicei un fișier ICO dacă au fost concepute pentru utilizare cu Windows. Acestea fiind spuse, nu este neobișnuit să descărcați o pictogramă într-un alt format de imagine, cum ar fi PNG, SVG sau ICNS, dacă a fost concepută pentru a funcționa cu mai multe sisteme de operare. PNG-urile și SVG-urile sunt deosebit de versatile, deoarece pot fi ușor convertite într-o pictogramă pentru orice sistem de operare.

Ar trebui să vă așteptați ca pachetele de pictograme să vină într-un fel de fișier de arhivă, cum ar fi un fișier ZIP, RAR sau 7Z. Fișierul arhivă ar trebui să conțină formate tipice de pictograme. Ca și înainte, dacă vedeți un executabil sau ceva asemănător, rămâneți clar.

Există câteva site-uri mari care au pictograme pe care le puteți descărca:

IconArchive
DeviantArt
IconFinder
Dacă sunteți în căutarea unor pictograme mai specifice, cum ar fi cele specifice unui fandom sau într-un anumit stil, încercați un grup de social media pe Facebook, Twitter sau Reddit dedicat subiectului respectiv. S-ar putea să descoperi că un artist îndrăzneț a creat deja ceea ce cauți deja.

Dacă nu găsiți o pictogramă (sau pictograme) care vă plac, nu vă faceți griji: vă puteți crea propria dvs.!

Vă puteți crea propriile icoane
Puteți întotdeauna să vă creați propriile pictograme personalizate dacă nu doriți să descărcați o pictogramă sau un pachet de pictograme de pe internet. Într-adevăr, nu există nicio limită la ceea ce poți face aici, cu excepția imaginației tale – instrumente gratuite precum GIMP și Inkscape sunt complet pregătite pentru această sarcină.

Puteți chiar să faceți o pictogramă dintr-o imagine dacă doriți – tot ce aveți nevoie este GIMP și puțin timp liber.

Cum să vă schimbați pictogramele de pe desktop pe Windows 11
Pictogramele majore de pe desktop – cum ar fi „Acest PC”, „Coș de reciclare”, „Rețea” și altele – sunt cele mai ușor de schimbat. Windows 11 are opțiuni încorporate pentru a face exact asta.

  • Faceți click dreapta pe spațiul gol de pe desktop și faceți clic pe „Personalizare”.
  • Derulați puțin în jos și selectați „Teme”.
  • Derulați din nou în jos, apoi faceți clic pe „Setări pictograme desktop”.
  • Selectați pictograma pe care doriți să o modificați, apoi faceți clic pe „Schimbați pictograma”. Acest exemplu va înlocui pictograma „Acest PC”.
  • Când faceți click pe „Schimbați pictograma”, veți vedea o mulțime de alte pictograme Windows pe care probabil le recunoașteți. Vizualizați conținutul Imageres.dll, care conține câteva sute de pictograme Windows implicite. Puteți alege din oricare dintre acestea, dacă doriți, sau puteți încărca alte pictograme făcând click pe „Răsfoiți”.
  • Navigați oriunde ați salvat pictograma, faceți clic pe ea, apoi faceți click pe „OK”.
  • Odată ce apăsați pe OK, există o previzualizare care vă va arăta cum va arăta pictograma. Dacă vă place modificarea, faceți clic pe „Aplicați”. În caz contrar, faceți clic pe „Restaurați valorile implicite”.

Pictograma ar trebui să se schimbe imediat. Dacă nu, faceți click dreapta pe spațiul gol de pe desktop și apăsați pe „Actualizați” sau reporniți computerul. Puteți reveni oricând la fereastra Setări pictogramă desktop și apăsați „Restaurare implicită” pentru a anula oricare dintre personalizările dvs.

Cum să schimbați pictograma unui folder individual sau a unei comenzi rapide

Notă: există o mică diferență între comenzi rapide și foldere. Veți folosi fila „Comandă rapidă” pentru comenzile rapide de orice fel și fila „Personalizare” pentru dosare.
Găsiți folderul sau comanda rapidă dorită, faceți clic dreapta pe el, apoi faceți clic pe „Proprietăți” în meniul contextual cu clic dreapta.

Cum se schimbă pictograma unui folder
Dacă schimbați pictograma unui folder, selectați fila „Personalizați” din partea de sus, apoi faceți clic pe „Schimbați pictograma”.

Cum să schimbați pictograma unei comenzi rapide
Dacă schimbați pictograma unei comenzi rapide, trebuie să faceți clic pe fila „Comandă rapidă” și apoi să faceți clic pe „Schimbați pictograma”. Toți ceilalți pași vor fi la fel.

Cum să selectați și să aplicați o pictogramă la un folder sau o comandă rapidă
Fereastra pop-up se va deschide în orice folder, DLL sau EXE care conține pictograma curentă. Dacă modificați o pictogramă Windows implicită, probabil va fi shell32.dll sau imageres.dll. Dacă schimbați pictograma pentru un anumit program, acesta va fi aproape întotdeauna executabilul programului.

  • Faceți click pe „Răsfoiți”, navigați la pictograma dorită, selectați pictograma dorită, apoi faceți clic pe „OK”.

Notă: În acest caz, tocmai am folosit pictograma folderului verde-albastru găsită în imageres.dll. Nu există niciun motiv ca înlocuitorul dvs. să fie una dintre acele pictograme.

După ce faceți click pe „OK”, folderul Proprietăți va afișa noua pictogramă pe care ați selectat-o. Faceți click pe „Aplicați” pentru a efectua modificarea, apoi închideți fereastra Proprietăți.

Notă: dacă personalizați o comandă rapidă, aceasta va arăta puțin diferit, dar nu vă faceți griji. Pasul este același. Doar faceți click pe „Aplicați”.

Avertisment: Nu puteți muta un fișier ICO într-o locație diferită dacă a fost folosit pentru a schimba pictograma unui folder fără a sparge noua pictogramă. Dacă o faceți, va reveni automat la cea veche. Asigurați-vă că vă puneți pictograma într-un loc unde poate rămâne la nesfârșit. Un folder ascuns în directorul dvs. principal C:\ ar putea fi un loc bun.
Schimbarea ar trebui să dureze imediat. Dacă nu, faceți clic dreapta pe spațiul gol de pe desktop și faceți clic pe „Actualizați”. De asemenea, puteți pur și simplu să reporniți computerul.

Cum se schimbă pictograma după tipul de fișier
Am explicat cum să schimbați pictogramele principale de pe desktop și cum să schimbați pictograma oricărei aplicații, comandă rapidă sau folder anume. Ce se întâmplă dacă doriți să schimbați pictograma care este utilizată pentru a reprezenta toate fișierele de un anumit tip?

Nu există într-adevăr o modalitate convenabilă de a face asta încorporat în Windows 11, dar este ușor de realizat cu instrumentul FileTypesMan de la Nirsoft. Doar asigurați-vă că luați versiunea pe 64 de biți a programului, deoarece toate instalările Windows 11 sunt pe 64 de biți. Descărcarea va avea atașată un nume sau o etichetă specială, cum ar fi „x64” sau „64-bit”.

  • Avertisment: ar trebui să fiți mereu reținător de a descărca programe ciudate de pe internet. Cu toate acestea, în acest caz, nu trebuie să vă faceți griji. Nirsoft există de aproape la fel de mult timp ca Windows, iar programele lor sunt de încredere.
    Dezarhivați FileTypesMan din fișierul său ZIP oriunde doriți. Nu se instalează și nici nu îi pasă de unde îl rulați. Doar faceți dublu clic pe „filetypesman.exe”.
  • Veți vedea o listă cu fiecare tip de fișier despre care „știe” computerul dvs. de îndată ce se lansează FileTypesMan.
  • Derulați în jos prin listă până când găsiți tipul de fișier dorit. Faceți clic dreapta pe extensia de fișier, apoi faceți clic pe „Editați tipul de fișier selectat”. Pentru acest exemplu, vom înlocui pictograma implicită a fișierului REG cu o recolorare verde rapidă pe care am făcut-o în GIMP.

Avertisment: asigurați-vă că notați unde este stocată pictograma originală. Nu există un buton ușor „Resetare la valorile implicite” care să îl repare automat pentru tine. Dacă îl schimbați și decideți că nu vă place, va trebui să îl schimbați singur la pictograma originală.
Căutați linia intitulată „pictogramă implicită” și faceți clic pe butonul cu trei puncte din extrema dreaptă a ferestrei.

  • Faceți clic pe „Răsfoiți” în colțul ferestrei pop-up, navigați la noua pictogramă, faceți clic pe ea, apoi faceți clic pe „OK”.
  • În cele din urmă, faceți clic pe „OK” în partea de jos a ferestrei „Editați tipul de fișier” și ați terminat – toate pictogramele pentru acel tip de fișier se vor fi schimbat.

Dacă mutați sau ștergeți noua pictogramă, fiecare instanță a acelei pictograme va fi înlocuită cu un dreptunghi alb generic în loc de cel nou pe care l-ați ales sau de pictograma originală. Dacă intenționați să instalați pictograme personalizate, asigurați-vă că le puneți undeva unde să nu le ștergeți accidental. Un folder ascuns în directorul principal C:\ ar putea fi un loc bun.

[mai mult...]

Cum resetați un ceas Samsung Galaxy

Dacă vindeți Samsung Galaxy Watch este o idee bună să-l resetați. Acest lucru va aduce ceasul înapoi la setările din fabrică și vă va permite pe dvs. sau pe altcineva să îl setați de la zero.

„Setări din fabrică” înseamnă că ceasul va reveni la modul în care era când l-ați scos din cutie. Toate datele și setările dvs. personale vor fi șterse. Deoarece este doar un ceas, poate că nu contează la fel de mult ca un telefon, dar este ceva de reținut.

Sfat: înainte de a reseta ceasul, este o idee bună să creați o copie de rezervă. Puteți face acest lucru din aplicația Galaxy Wearable, accesând Conturi și Backup > Backup de date.

  • Mai întâi, glisați în jos din partea de sus a ecranului ceasului pentru a vedea setările rapide. Selectați pictograma roată pentru a deschide Setări.
  • Apoi, accesați secțiunea „General”.
  • Selectați „Resetare”.
  • Dacă nu ați făcut deja backup pentru ceas, veți vedea opțiunea de a face acest lucru aici. În caz contrar, selectați din nou „Resetare” pentru a confirma.

Acesta este un proces rapid și ușor care poate rezolva mici probleme de performanță și este o necesitate dacă vindeți sau predați ceasul altcuiva.

[mai mult...]

Cum să restabiliți fișierele și folderele individuale la versiuni vechi în Git

Git este un instrument puternic pentru urmărirea fiecărei versiuni a bazei de cod și este adesea necesar să priviți înapoi în timp și să recuperați versiunile vechi ale fișierelor. Git poate anula comiterile întregi sau reseta întregul depozit, dar poate, de asemenea, să anuleze modificările aduse unui singur fișier sau folder.

Revenire vs. Resetare
De obicei, când „reveniți” un commit, Git aplică un nou commit, aplicând modificările opuse, anulând-o efectiv. Acest lucru este util dacă faceți o greșeală și trebuie să „ștergeți” acea comitere, deși este încă înregistrată în istoric.

Resetarea depozitului este puțin diferită. Puteți anula doar o comitere la un moment dat, dar dacă faceți o resetare git, Git va schimba complet starea repo-ului înapoi la momentul în care a fost făcută această comitare. Acest lucru se face din multe motive, de obicei pentru a șterge commit-urile sau a remedia istoricul ramurilor.

Ambele operațiuni funcționează pe întregul depozit, dar puteți folosi și comenzi similare pentru a efectua aceleași acțiuni pe fișiere sau foldere individuale. De exemplu, utilizarea git reset pe un singur fișier va restabili fișierul la modul în care a fost când a fost efectuată commit-ul. Acest lucru este util dacă doriți doar să alegeți o versiune veche a fișierului din istoricul Git.

Privind versiunile vechi în Git
Soluția low-tech pentru a seta un fișier înapoi la modul în care era înainte este destul de simplă — Github și majoritatea celorlalte servere Git țin evidența istoricului fișierelor dvs. și puteți face simplu clic pe un commit și faceți clic pe „Răsfoiește fișiere” pentru a vedea un un instantaneu al depozitului dvs. din trecut. Apoi puteți descărca fișierul sau puteți copia textul.

Acest lucru este util în special dacă lucrați cu fișiere de cod mari și doriți să vă uitați la versiunile vechi ale funcțiilor pe care le-ați scris. Probabil că nu doriți să anulați întregul lucru în acest caz, doar o singură funcție. Puteți copia codul din acea funcție fără a atinge CLI-ul Git.

Resetarea unui fișier la o versiune veche în Git
În acest depozit de testare, am făcut un commit care a editat README și a adăugat un fișier nou. Dorim să revenim la modificările făcute în README, dar nu vrem să resetam întregul repo înapoi la comiterea inițială.

Soluția este să resetați doar README, verificând o versiune veche a acelui fișier. Comanda de checkout a lui Git face o mulțime de lucruri, cum ar fi schimbarea ramurilor, dar este folosită practic pentru descărcarea fișierelor cu un ID de commit sau de ramură.

Pentru a reseta un fișier înapoi la o versiune veche, va trebui să găsiți ID-ul de comitere din momentul în care doriți să îl resetați. Puteți utiliza git log pentru aceasta, încadrat într-un singur fișier pentru a vedea numai modificările făcute în acel fișier:

git log README.md

Copiați ID-ul pentru comitere, apoi rulați git checkout cu ID-ul și calea fișierului:

git checkout 22710694b25d7ce5297559851beb7d3e4de811bb README.md

Acest lucru va schimba fișierul înapoi, dar nu va confirma încă modificările. Ești liber să-l editezi și să te angajezi când ești gata. În acest exemplu, git checkout a organizat modificările pentru următoarea comitere. Dacă nu doriți să le efectuați, sunteți liber să renunțați la modificări. Acest lucru poate fi util pentru a descărca temporar versiuni vechi de fișiere fără a utiliza Github.

Revenirea modificărilor la fișiere individuale
În mod similar, dacă doriți să anulați modificările într-un singur commit, puteți face acest lucru cu git revert. Cu toate acestea, nu există nicio modalitate de a-l aplica unui singur fișier, dar puteți pur și simplu să renunțați la modificări dacă commit-ul afectează alte fișiere.

Utilizați marcajul –no-commit pentru a permite editarea „comitarii inverse” pe care Git o creează automat.

git revert de8564b131ca6a15a7e7c73f5ef156b119cc0b93

Acest lucru vă va permite să schimbați fișierele înainte de a finaliza refacerea. Dacă există modificări nedorite în etape, le puteți elimina prin intermediul clientului dvs. sau cu un git checkout gol.

git checkout -- file
[mai mult...]

Cum să depanați erorile „Nu se poate conecta la Daemon Docker”.

Docker este una dintre platformele de top pentru construirea și rularea containerelor software. Vine cu tot ce aveți nevoie pentru a utiliza containere fie pe o singură gazdă, fie pe mai multe noduri distribuite în modul Swarm.

Simptomele problemei
Docker CLI se bazează pe o conexiune demon disponibilă. Interacționează cu demonul folosind apeluri API. Când demonul configurat este inaccesibil, comenzile docker precum docker ps, docker run și docker build vor afișa un mesaj de eroare similar cu acesta:

$ docker run hello-world:latest
Cannot connect to the Docker daemon at unix:///var/run/docker.sock
Is the docker daemon running?

Acest lucru dezvăluie că CLI a încercat să comunice cu demonul Docker folosind socket-ul Unix /var/run/docker.sock. Priza nu este deschisă, așa că conexiunea a eșuat.

1. Verificați că serviciul Docker Daemon rulează
Daemonul Docker este de obicei gestionat de un serviciu systemd care pornește automat Docker după repornirea gazdei. Puteți începe depanarea verificând dacă acest serviciu rulează:

$ sudo systemctl status docker
docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: inactive (dead)

Serviciul ar trebui să raporteze Active: activ (în rulare) dacă demonul rulează. Exemplul de mai sus arată inactiv (mort), ceea ce înseamnă că demonul s-a oprit.

Porniți Docker folosind următoarea comandă:

$ sudo systemctl start docker

Acum ar trebui să puteți rula cu succes comenzile docker CLI.

Este posibil să descoperiți că Docker rămâne în starea oprită după ce reporniți aparatul. Puteți rezolva acest lucru activând serviciul, permițând systemd să-l pornească automat:

$ sudo systemctl enable docker
$ sudo systemctl daemon-reload

Comanda daemon-reload instruiește systemd să-și reîncarce configurația pentru a aplica modificarea.

2. Porniți manual Daemonul
Este posibil să utilizați uneori un sistem care nu are instalat serviciul Docker. Puteți porni manual demonul Docker folosind comanda dockerd. Acesta trebuie de obicei rulat ca root.

$ sudo dockerd
INFO[2022-06-29T15:12:49.303428726+01:00] Starting up

Docker va rămâne accesibil atâta timp cât se execută comanda. Folosiți Ctrl+C pentru a opri demonul.

3. Verificarea CLI-ului vizează demonul corect
Pot apărea probleme atunci când CLI încearcă să se conecteze la o instanță demon Docker la distanță. Aceasta este de obicei cauza când mesajul de eroare arată o adresă TCP:

$ docker run hello-world:latest
Cannot connect to the Docker daemon at tcp:///0.0.0.0:2375

În acest exemplu, CLI-ul docker încearcă să contacteze demonul Docker la 0.0.0.0:2375 folosind TCP, în loc de socket-ul local Unix Docker. Acest lucru va eșua dacă suportul TCP al demonului Docker este dezactivat sau gazda specificată este inaccesibilă în rețea.

De obicei, puteți rezolva acest lucru trecând la contextul Docker CLI corect pentru conexiunea demon pe care doriți să o utilizați:

$ docker context use default

Puteți enumera toate contextele disponibile și punctele finale demon la care se conectează cu comanda context ls:

$ docker context ls
NAME        DESCRIPTION                               DOCKER ENDPOINT             
default *   Current DOCKER_HOST based configuration   unix:///var/run/docker.sock

Contextul selectat în prezent este evidențiat cu un asterisc.

Valorile neașteptate din coloana DOCKER ENDPOINT sunt de obicei cauzate de setarea variabilei de mediu DOCKER_HOST. Veți vedea un avertisment când acesta este cazul:

$ export DOCKER_HOST=1.2.3.4
$ docker context ls
NAME        DESCRIPTION                               DOCKER ENDPOINT
default *   Current DOCKER_HOST based configuration   tcp://1.2.3.4:2375
Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.

Prezența variabilei de mediu DOCKER_HOST în shell-ul dvs. suprascrie punctul final definit de contextul selectat. În acest exemplu, comenzile docker vor viza întotdeauna instanța demonului la tcp://1.2.3.4:2375.

Această problemă poate fi rezolvată prin ștergerea variabilei DOCKER_HOST:

$ export DOCKER_HOST=

Docker va folosi acum punctul final configurat de contextul dvs. activ. Acesta va fi socket-ul Unix local implicit la /var/run/docker.sock, cu excepția cazului în care ați configurat manual un context personalizat.

$ docker context ls
NAME        DESCRIPTION                               DOCKER ENDPOINT             
default *   Current DOCKER_HOST based configuration   unix:///var/run/docker.sock

4. Probleme cu permisiunile
Permisiunile incorecte ale utilizatorului pe socket-ul lui Docker sunt o altă cauză comună a problemelor de conexiune demon. Acest tip de problemă arată de obicei un mesaj de eroare ușor diferit:

$ docker run hello-world:latest
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

Acest lucru se întâmplă atunci când contul dvs. de utilizator Unix nu are permisiunea de a interacționa cu socket-ul care expune API-ul Docker. Adăugarea la grupul docker este cea mai bună metodă de a rezolva această problemă:

$ sudo usermod -aG docker $USER

Va trebui să deschideți o nouă fereastră shell sau să vă deconectați și să reveniți din nou pentru ca această modificare să intre în vigoare. Acum ar trebui să puteți rula comenzi Docker fără a avea probleme de permisiuni.

[mai mult...]

Ce este JSON și cum îl folosiți?

JSON (JavaScript Object Notation) este un format standardizat pentru reprezentarea datelor structurate. Deși JSON a apărut din limbajul de programare JavaScript, acum este o metodă omniprezentă de schimb de date între sisteme. Majoritatea API-urilor moderne acceptă solicitări JSON și emit răspunsuri JSON, așa că este util să aveți o cunoaștere bună a formatului și a caracteristicilor acestuia.

Un exemplu de bază JSON

{
    "id": 1001,
    "title": "What is JSON?",
    "author": {
        "id": 1,
        "name": "James Walker"
    },
    "tags": ["api", "json", "programming"],
    "published": false,
    "publishedTimestamp": null
}

Acest exemplu demonstrează toate tipurile de date JSON. De asemenea, ilustrează concizia datelor în format JSON, una dintre caracteristicile care le-au făcut atât de atrăgătoare pentru utilizare în API-uri. În plus, JSON este relativ ușor de citit așa cum este, spre deosebire de formatele mai detaliate, cum ar fi XML.

Tipuri de date JSON
Șase tipuri de date pot fi reprezentate nativ în JSON:

Șiruri – Șirurile sunt scrise între ghilimele duble; caracterele pot fi eliminate folosind barele oblice inverse.
Numere – Numerele sunt scrise ca cifre fără ghilimele. Puteți include o componentă fracțională pentru a desemna un float. Majoritatea implementărilor de analiză JSON presupun un număr întreg atunci când nu este prezentă nicio virgulă zecimală.
Booleeni – Sunt acceptate valorile literale true și false.
Null – Valoarea literală nulă poate fi utilizată pentru a semnifica o valoare goală sau omisă.
Matrice – O matrice este o listă simplă notată prin paranteze drepte. Fiecare element din listă este separat prin virgulă. Matricele pot conține orice număr de articole și pot folosi toate tipurile de date acceptate.
Obiecte – Obiectele sunt create prin paranteze. Sunt o colecție de perechi cheie-valoare în care cheile sunt șiruri, înfășurate între ghilimele duble. Fiecare cheie are o valoare care poate prelua oricare dintre tipurile de date disponibile. Puteți imbrica obiecte pentru a crea ierarhii în cascadă. O virgulă trebuie să urmeze fiecare valoare, ceea ce înseamnă sfârșitul acelei perechi cheie-valoare.
Analizoarele JSON convertesc automat aceste tipuri de date în structuri adecvate limbajului lor. Nu trebuie să aruncați manual id-ul într-un număr întreg, de exemplu. Analizarea întregului șir JSON este suficientă pentru a mapa valorile înapoi la formatul lor original de date.

Semantică și validare
JSON are anumite reguli care trebuie respectate atunci când vă codificați datele. Șirurile care nu aderă la sintaxă nu vor fi analizate de către consumatori.

Este deosebit de important să acordați atenție ghilimelelor din jurul șirurilor de caractere și cheilor obiectelor. De asemenea, trebuie să vă asigurați că este folosită o virgulă după fiecare intrare într-un obiect sau matrice. Cu toate acestea, JSON nu permite o virgulă finală după ultima intrare – includerea neintenționată a uneia este o cauză comună a erorilor de validare. Majoritatea editorilor de text vă vor evidenția problemele de sintaxă, ajutând la descoperirea greșelilor.

În ciuda acestor puncte de deplasare comune, JSON este unul dintre cele mai ușor formate de date de scris manual. Majoritatea oamenilor găsesc sintaxa rapidă și convenabilă odată ce se familiarizează cu ea. În general, JSON tinde să fie mai puțin predispus la erori decât XML, unde etichetele de deschidere și de închidere nepotrivite, declarațiile de schemă nevalide și problemele de codificare a caracterelor cauzează adesea probleme.

Desemnarea conținutului JSON
Extensia .json este utilizată în mod normal atunci când JSON este salvat într-un fișier. Conținutul JSON are tipul MIME standard application/json, deși text/json este uneori folosit din motive de compatibilitate. În prezent, ar trebui să vă bazați pe aplicație/json pentru anteturile HTTP Accept și Content-Type.

Majoritatea API-urilor care folosesc JSON vor încapsula totul într-un obiect de nivel superior:

{
    "error": 1000
}

Totuși, acest lucru nu este necesar – un tip literal este valid ca nod de nivel superior într-un fișier, astfel încât următoarele exemple sunt toate JSON valide:

1000
true
null

Ei vor decoda la scalarii lor respectivi în limbajul dvs. de programare.

Lucrul cu JSON
Majoritatea limbajelor de programare au suport JSON încorporat. Iată cum să interacționați cu datele JSON în câteva medii populare.

JavaScript
În JavaScript, metodele JSON.stringify() și JSON.parse() sunt folosite pentru a codifica și decoda șirurile JSON:

const post = {
    id: 1001,
    title: "What Is JSON?",
    author: {
        id: 1,
        name: "James Walker"
    }
};
 
const encodedJson = JSON.stringify(post);
 
// {"id": 1001, "title": "What Is JSON?", ...}
console.log(encodedJson);
 
const decodedJson = JSON.parse(encodedJson);
 
// James Walker
console.log(decodedJson.author.name);

PHP
Funcțiile echivalente în PHP sunt json_encode() și json_decode():

$post = [
    "id" => 1001,
    "title" => "What Is JSON?",
    "author" => [
        "id" => 1,
        "name" => "James Walker"
    ]
];
 
$encodedJson = json_encode($post);
 
// {"id": 1001, "title": "What Is JSON?", ...}
echo $encodedJson;
 
$decodedJson = json_decode($encodedJson, true);
 
// James Walker
echo $decodedJson["author"]["name"];

Piton
Python oferă json.dumps() și json.loads() pentru a serializa și, respectiv, a deserializa:

import json
 
post = {
    "id": 1001,
    "title": "What Is JSON?",
    "author": {
        "id": 1,
        "name": "James Walker"
    }
}
 
encodedJson = json.dumps(post)
 
# {"id": 1001, "title": "What Is JSON?", ...}
print(encodedJson)
 
decodedJson = json.loads(encodedJson)
 
# James Walker
print(decodedJson["author"]["name"])

Ruby
Ruby oferă JSON.generate și JSON.parse:

require "json"
 
post = {
    "id" => 1001,
    "title" => "What Is JSON?",
    "author" => {
        "id" => 1,
        "name" => "James Walker"
    }
}
 
encodedJson = JSON.generate(post)
 
# {"id": 1001, "title": "What Is JSON?", ...}
puts encodedJson
 
decodedJson = JSON.parse(encodedJson)
 
# James Walker
puts decodedJson["author"]["name"]

Limitări JSON
JSON este un format ușor care se concentrează pe transmiterea valorilor în structura dvs. de date. Acest lucru îl face rapid de analizat și ușor de lucrat, dar înseamnă că există dezavantaje care pot provoca frustrare. Iată câteva dintre cele mai mari probleme.

Fara comentarii
Datele JSON nu pot include comentarii. Lipsa adnotărilor reduce claritatea și vă obligă să puneți documentația în altă parte. Acest lucru poate face JSON nepotrivit pentru situații precum fișierele de configurare, în care modificările sunt rare și scopurile câmpurilor ar putea fi neclare.

Fara Scheme
JSON nu vă permite să definiți o schemă pentru datele dvs. Nu există nicio modalitate de a impune că id-ul este un câmp întreg obligatoriu, de exemplu. Acest lucru poate duce la structuri de date malformate neintenționat.

Fără referințe
Câmpurile nu pot face referire la alte valori din structura de date. Acest lucru cauzează adesea repetare care mărește dimensiunea fișierului. Revenind la exemplul de postare pe blog de mai devreme, ați putea avea o listă de postări de blog după cum urmează:

{
    "posts": [
        {
            "id": 1001,
            "title": "What is JSON?",
            "author": {
                "id": 1,
                "name": "James Walker"
            }
        },
        {
            "id": 1002,
            "title": "What is SaaS?",
            "author": {
                "id": 1,
                "name": "James Walker"
            }
        }
    ]
}

Ambele postări au același autor, dar informațiile asociate cu acel obiect au trebuit să fie duplicate. Într-o lume ideală, implementările parserului JSON ar putea produce structura prezentată mai sus din intrare similară cu următoarea:

{
    "posts": [
        {
            "id": 1001,
            "title": "What is JSON?",
            "author": "{{ .authors.james }}"
        },
        {
            "id": 1002,
            "title": "What is SaaS?",
            "author": "{{ .authors.james }}"
        }
    ],
    "authors": {
        "james": {
            "id": 1,
            "name": "James Walker"
        }
    }
}

Acest lucru nu este posibil în prezent cu JSON standard.

Fără tipuri de date avansate
Cele șase tipuri de date acceptate omit multe tipuri comune de valori. JSON nu poate stoca în mod nativ date, ore sau puncte de localizare geografică, așa că trebuie să decideți propriul format pentru aceste informații. Acest lucru cauzează discrepanțe incomode și cazuri marginale. Dacă aplicația dvs. gestionează marcajele de timp ca șiruri, cum ar fi 2022-07-01T12:00:00+00:00, dar un API extern prezintă timpul ca secunde după epoca Unix – 1657287000 – va trebui să vă amintiți când să utilizați fiecare dintre formate.

[mai mult...]

Cum să utilizați comanda nohup în Linux

Comanda Linux nohup permite proceselor importante să continue să ruleze chiar și atunci când fereastra terminalului care le-a lansat este închisă.

Folosind nohup
Am creat un program care nu face nimic util, dar va rula și va rula până când este terminat. Tipărește ora în fereastra terminalului la fiecare trei secunde. Se numește long-proc pentru „proces lung”.

./long-proc

Dacă acesta a fost un program care a făcut ceva util și am vrut să continue să ruleze chiar dacă fereastra terminalului și shell-ul sunt închise, l-am lansa cu nohup.

nohup ./long-proc

Procesul este decuplat de stdin și stdout, astfel încât să nu poată primi nicio intrare și nici să scrie în fereastra terminalului. De asemenea, deoarece încă rulează, nu veți reveni la promptul de comandă. Tot ceea ce face nohup este să facă procesul impermeabil la închiderea terminalului. Nu transformă procesul într-o sarcină de fundal.

Acum trebuie să reporniți doar pentru a încheia procesul? Nu. Pentru a opri un proces nohup pe care nu l-ați lansat ca proces de fundal, apăsați combinația de taste Ctrl+C. Ieșirea din program a fost capturată pentru noi într-un fișier numit „nohup.out”. Îl putem revizui cu mai puțin.

less nohup.out

Orice lucru care ar fi de obicei trimis în fereastra terminalului este capturat în fișier. Execuțiile ulterioare ale nohup vor fi atașate la fișierul existent „nohup.out”. O modalitate mai utilă de a rula procesul este să-l lansați cu nohup, astfel încât să reziste la închiderea ferestrei terminalului și să faceți din acesta o sarcină de fundal în același timp. Pentru a face acest lucru, adăugăm un ampersand „&” la sfârșitul liniei de comandă.

nohup ./long-proc &

Va trebui să apăsați „Enter” încă o dată pentru a reveni la promptul de comandă. Ni se spune că numărul locului de muncă al procesului este 1 — numărul dintre paranteze „[]“ — și că ID-ul procesului este 13115.

Putem folosi oricare dintre acestea pentru a încheia procesul. „Ctrl+C” nu va funcționa acum, deoarece programul nu are nicio asociere nici cu fereastra terminalului, nici cu shell-ul. Dacă uitați care este numărul jobului, puteți utiliza comanda jobs pentru a enumera sarcinile de fundal care au fost lansate din acea fereastră de terminal.

jobs

Pentru a ne inchide sarcina putem folosi comanda kill și numărul jobului, precedate de semnul procentual „%“, astfel:

kill %1

Dacă ați închis fereastra terminalului, va trebui să găsiți ID-ul procesului și să îl utilizați cu comanda kill. Comanda pgrep va găsi ID-ul procesului pentru procesele care se potrivesc cu indiciul de căutare pe care îl furnizați. Vom căuta numele procesului.

pgrep long-proc

Acum putem folosi ID-ul procesului pentru a încheia procesul.

kill 13115

Data viitoare când apăsați „Enter”, sunteți informat că procesul a fost încheiat. Acum să ne uităm la ceea ce nu încheie procesul. Îl vom relansa și apoi închidem fereastra terminalului.

nohup ./long-proc

Dacă deschidem o nouă fereastră de terminal și căutăm procesul nostru cu pgrep, vedem că încă rulează. Închiderea ferestrei terminalului care a lansat procesul nu a avut niciun efect.

pgrep long-proc

Este posibil să transmiteți mai multe comenzi către nohup, dar de obicei este mai bine să le lansați separat. Este mai ușor să le manipulați ca lucrări de fundal. Comenzile nu vor rula în același timp, vor fi executate una după alta. Execuția nu este concomitentă, este secvențială. Pentru ca acestea să ruleze simultan, trebuie să le lansați separat.

Acestea fiind spuse, pentru a lansa mai multe procese simultan, utilizați nohup pentru a lansa un shell Bash și utilizați opțiunea -c (comenzi) cu șirul de comenzi. Folosiți ghilimele simple „’” pentru a încheia lista de comenzi și duble și „&&” pentru a separa comenzile.

nohup bash -c 'ls /bin && ls /sbin'

Dacă folosiți mai puțin pentru a căuta prin fișierul „nohup.out”, veți vedea rezultatul din primul proces, apoi rezultatul celui de-al doilea proces.

less nohup.out

Ieșirea de la ambele comenzi a fost capturată în fișierul „nohup.out”. Nu este împletit, ieșirea celui de-al doilea proces începe doar odată ce primul proces s-a încheiat.

Dacă doriți să utilizați un fișier propriu în loc de „nohup.out”, puteți redirecționa comanda în fișierul dorit.

nohup bash -c 'ls /bin && ls /sbin' > myfile.txt

Rețineți că mesajul nu mai spune „adăugarea ieșirii la nohupo.out”, spune „redirecționarea stderr la stdout” și redirecționăm stdout către fișierul nostru „myfile.txt”.

Putem căuta în interiorul fișierului „myfile.txt” cu mai puțin.

less myfile.txt

Ca și înainte, conține rezultatul ambelor comenzi.

[mai mult...]

Cum să pornești mai multe distribuții Linux cu Ventoy

Încercați mai multe distribuții Linux? Scrierea și rescrierea pe o singură unitate USB îți va testa răbdarea, iar gestionarea unui grup de unități scapă rapid de sub control.

Ce este Ventoy?
Ventoy este o aplicație open-source pentru Windows și Linux folosită pentru a porni mai multe distribuții Linux de pe o singură unitate USB. Spre deosebire de alte instrumente de flashing USB pe care va trebui să le utilizați și să le refolosiți de fiecare dată când doriți să încercați o altă distribuție Linux, instalați Ventoy o dată și puteți adăuga și porni din mai multe distribuții fără a vă mai flash-o vreodată USB.

De asemenea, puteți porni sistemele de operare Windows și BSD folosind Ventoy. Nu există o limită superioară a numărului de distribuții sau sisteme de operare pe care le puteți avea pe Ventoy; sunteți limitat doar la spațiul de stocare de pe unitatea USB.

Ventoy acceptă, de asemenea, persistența printr-un plugin. Dacă ați pornit înainte într-un USB Linux live, este posibil să știți că nu vă salvează datele și va începe din nou dacă îl reporniți. Cu persistență, datele dumneavoastră vor fi salvate data viitoare când porniți în același ISO live Linux. Puteți afla mai multe despre configurarea persistenței, referindu-vă la documentația lui Ventoy.

  • Cum se instalează Ventoy pe o unitate USB
    Dacă utilizați Windows, mergeți la depozitul oficial GitHub al lui Ventoy și descărcați fișierul „Vetnoy-x.x.xx-windows.zip”
  • Mergeți la locația fișierului ZIP descărcat (de obicei stocat în folderul „Descărcări”)
  • Faceți click dreapta pe fișierul ZIP și faceți click pe „Extract All”
  • Faceți click pe „Răsfoiți”, selectați locația în care doriți să fie extras fișierul ZIP și faceți click pe „Extract”
  • Accesați folderul extras și faceți dublu click pe „Ventoy2Disk” pentru a porni Ventoy
  • Dacă sunteți pe Linux, luați fișierul „tar.gz” de pe pagina de versiuni
  • Deschideți managerul de fișiere și accesați locația fișierului
  • Faceți click dreapta pe fișier și faceți click pe „Extrage aici”
  • Deschideți terminalul și folderul extras una lângă alta
  • Trageți fișierul „VentoyGUI.X86_64” în fereastra terminalului și apăsați Enter pentru a lansa Ventoy.

Instalarea Ventoy pe USB și adăugarea distribuțiilor Linux este aceeași ca, indiferent de sistemul dvs. de operare. Începeți prin a introduce unitatea USB în portul USB al computerului și verificați dacă dispozitivul apare în Ventoy. Dacă nu, faceți clic pe pictograma „Reîmprospătare”.

  • Odată ce Ventoy detectează unitatea USB, faceți click pe butonul „Instalare”
  • Vor fi afișate două avertismente care spun „Dispozitivul va fi formatat și toate datele se vor pierde” Faceți click pe „Da” de ambele ori și așteptați ca Ventoy să se instaleze
  • Odată instalat, veți vedea că spațiul de sub „Ventoy în dispozitiv” din program, care anterior era gol, va afișa acum versiunea Ventoy. Acesta este un indicator că Ventoy a fost instalat cu succes.
  • Mergeți la managerul de fișiere și acum ar trebui să vedeți directorul „Ventoy”. Apasa pe el.
  • Copiați și inserați toate ISO-urile pe care doriți să le porniți în directorul Ventoy.
  • Reporniți computerul și pe măsură ce începe procesul de pornire, apăsați tasta pentru a afișa meniul de pornire.
  • Cheia corectă poate diferi în funcție de producător. Tasta meniului de pornire pe Acer este F12, Esc sau F8 pe Asus, F12 pe Dell, F9 sau Esc pe HP și F12 pe Lenovo. Selectați unitatea USB cu Ventoy instalat pe ea și veți vedea acest meniu în continuare.

Utilizați tastele săgeți pentru a naviga și apăsați Enter pentru a porni într-un sistem de operare live.

[mai mult...]

Cum utilizați opțiunile avansate de pornire pentru a vă repara computerul cu Windows 8 sau 10

Instrumentele avansate de pornire ale Windows 8 și 10 funcționează diferit față de instrumentele de pe versiunile anterioare de Windows. Dacă sistemul dvs. Windows 8 sau 10 nu poate porni corect, instrumentele vor apărea automat, astfel încât să puteți remedia problema.

După ce ați accesat opțiunile avansate de pornire, va trebui să faceți click (sau să atingeți) opțiunea Depanare pentru a accesa opțiunile de depanare și reparare. Opțiunile Continuați și Opriți computerul vor continua să pornească în Windows (presupunând că nu există nicio problemă) sau vor opri computerul.

Depanați pe Windows 8 și 8.1
Ecranul de depanare oferă acces ușor la opțiunile de reîmprospătare și resetare a computerului. Acest lucru este util în special dacă doriți să reîmprospătați sau să resetați computerul, dar nu puteți intra în Windows.

Reîmprospătează-ți computerul: împrospătând computerul, revine software-ul de sistem la starea din fabrică fără a șterge fișierele sau aplicațiile moderne instalate. Cu toate acestea, orice aplicație desktop instalată va fi eliminată.
Resetați computerul: resetarea computerului (a nu se confunda cu repornirea computerului) îl resetează la starea din fabrică. Toate fișierele și setările personale de pe computer vor fi șterse. Dacă doriți doar să vă reparați computerul și nu sunteți sigur ce opțiune să alegeți, încercați să vă reîmprospătați computerul, astfel încât să nu vă pierdeți toate fișierele. Pentru instrumente mai avansate de depanare și reparare, faceți click (sau atingeți) „Opțiuni avansate”.

Depanați pe Windows 10
Ecranul de depanare este puțin diferit pe Windows 10. Caracteristica „Reîmprospătați computerul” s-a consolidat în funcția „Resetați computerul”.

Ecranul Reset this PC are două opțiuni:

  • Păstrați fișierele mele: Păstrați fișierele mele este echivalent cu Actualizarea computerului meu pe Windows 8 și 8.1. Tot ceea ce este legat de Windows este complet reinstalat, toate programele instalate sunt eliminate, dar fișierele aflate în folderul de utilizator sunt salvate.
    Eliminați totul: Eliminați totul face exact asta – elimină totul. Windows este complet reinstalat, toate programele sunt eliminate și toate fișierele sunt șterse. Îndeplinește aceeași funcție „Resetați acest computer” pe Windows 8 și 8.1
    Dacă nu sunteți sigur pe care să utilizați, faceți click mai întâi pe „Păstrați fișierele mele”. Windows va fi reinstalat, dar majoritatea fișierelor dvs. vor fi salvate. Puteți oricând să reveniți mai târziu și să faceți clic pe „Eliminați totul”, dacă doriți.
  • Faceți click pe „Opțiuni avansate” pentru a accesa instrumente de reparații mai avansate. Ele vor fi utile dacă întâmpinați probleme, dar nu doriți să reinstalați Windows.

Ecranul Opțiuni avansate conține opțiunile avansate de depanare și reparare.

Restaurare sistem: restaurați computerul la un punct de restaurare anterior. Este același lucru cu utilizarea System Restore în Windows. Cu toate acestea, dacă Windows 8 nu poate porni, acesta poate porni corect după ce restabiliți computerul la o stare de funcționare.
Recuperare imagine de sistem: restaurați computerul folosind un fișier imagine de sistem. Imaginea sistemului suprascrie starea și fișierele computerului dvs. Va trebui să utilizați instrumentele de rezervă ale Windows 7 în Windows 8 pentru a crea o imagine de sistem.
Reparare automată: Încercați să reparați automat problemele care pot împiedica pornirea corectă a Windows-ului. Dacă computerul nu poate porni în Windows, această opțiune merită încercată.
Prompt de comandă: deschideți un Prompt de comandă pentru mediu de recuperare. Acest lucru vă va permite să rulați o varietate de comenzi pentru a depana și a remedia computerul. Această opțiune ar trebui utilizată numai de utilizatorii avansați care știu ce fac.
Setări de pornire: opțiunea Setări de pornire vă permite să modificați o serie de opțiuni de pornire. De exemplu, puteți activa Modul sigur de aici. Puteți, de asemenea, să dezactivați repornirea automată după eșec – această opțiune vă va permite să vedeți mesajul de eroare dacă computerul dvs. este în mod constant cu ecran albastru și repornește.
Dezinstalează actualizări: elimină cele mai recente actualizări instalate. Dacă computerul a început să funcționeze defectuos imediat după o actualizare, acesta este primul lucru pe care ar trebui să-l încercați.

Opțiunile avansate de aici vă pot permite să remediați problema — opțiunea Reparare automată este deosebit de utilă, iar opțiunile Restaurare sistem sau Mod sigur vă pot ajuta să porniți computerul. Dacă niciuna dintre aceste opțiuni nu funcționează, va trebui să efectuați o reîmprospătare (sau o resetare completă).

[mai mult...]

Cum copiați și lipiți text dintr-o fotografie cu telefonul dvs

Cu atât de mult din viața noastră petrecută online, adesea aducem lucruri din lumea reală în spațiul digital. Google Photos facilitează copierea și inserarea textului dintr-o fotografie și funcționează pentru iPhone și Android. Google Foto este cu ușurință una dintre cele mai bune aplicații de gestionare a fotografiilor. Nici nu trebuie să faceți copii de rezervă pentru fotografii pentru a utiliza funcțiile grozave ale Google. Capacitatea de a detecta text într-o fotografie se datorează abilităților Google Lens integrate în aplicație.

  • În primul rând, veți avea nevoie de o fotografie pe dispozitiv care conține text. Aceasta poate fi o fotografie a ceva din lumea reală sau chiar o captură de ecran. Deschide Google Foto pe dispozitivul tău iPhone, iPad sau Android și selectează fotografia.
  • În continuare, se va întâmpla unul din două lucruri. Google Foto poate detecta imediat text și o sugestie va spune „Copiați textul din imagine”. Continuați și atingeți-l dacă îl vedeți.
  • Dacă textul din fotografie nu este la fel de evident, va trebui să inițiezi singur Google Lens. Atingeți pictograma „Lentilă” din bara de instrumente de jos.
  • Google Lens va scana imaginea și va evidenția orice text pe care îl detectează. Acum puteți selecta acel text la fel ca oriunde altundeva.
  • După ce selectați textul dorit, atingeți „Copiați textul” din meniul de jos.

Textul selectat a fost copiat acum în clipboard! Îl puteți lipi oriunde doriți, așa cum ați face cu textul normal. Acesta este un sfat excelent pentru a economisi timp pentru a transfera text pe telefon. Dacă sunteți proprietar de iPhone și nu utilizați Google Foto, aplicația de galerie a Apple are o caracteristică similară.

[mai mult...]