Atvirasis kodas tinklaraščiuose

July 9 d.

opensuse.lt

openSUSE versijų naudojimo statistika – metrics.opensuse.org

Nuo šiol susipažinti su openSUSE naudojimo statistika galite https://metrics.opensuse.org/ svetainėje. Pateikiama statistika remiasi parsisiuntimų iš http://download.opensuse.org/ svetainės duomenimis, kur vienu unikaliu naudotoju laikomas unikalus zypper užklausos identifikatorius (UUID). Tiesa, dėl tam tikrų nesklandumų nėra turima duomenų nuo 2017 m. gruodžio iki pat 2018 m. balandžio. Apskritai galima pastebėti:

  • nežymią unikalių naudotojų mažėjimo tendenciją (nuo maždaug 500 000 unikalių naudotojų 2011 m. kovą iki maždaug 300 000 unikalių naudotojų 2018 m. birželį); nors pagal pranešimą 2016 m. openSUSE konferencijoje rodyta tendencija apie nuoseklų unikalių naudotojų skaičiaus didėjimą (žr. paveiksliuką ir vaizdo įrašą).
  • kad nuo 2015 m. nuosekliai daugėja openSUSE Tumbleweed naudotojų (iki 2015 m. skaičius svyravo apie 20 000, o 2018 m. birželį buvo 47 000 unikalių naudotojų);
  • kad mažai žmonių naudoja oficialiai neišleistas versijas (alfa, beta, RC);
  • kad daugumą naudotojų atsinaujina savo sistemas per 1–2 mėnesius po naujos versijos oficialaus pasirodymo;
  • kad dalis naudotojų itin ilgai naudojasi netgi senai nebepalaikomomis openSUSE versijomis (netgi 2018 m. viduryje tebeveikia 10.2 versiją naudojanti sistema);
  • per pastaruosius 8,5 metų populiariausia openSUSE versija (pagal didžiausią pasiektą unikalių naudotojų skaičių – virš 250 000) buvo 11.2, po to vėlesnės versijos palaipsniui buvo vis mažiau populiarios; išimtis – 12.3 versija ir po jos išėjusi 13.1 versija; tiesa, įskaitant laikotarpį nuo 2009 m. (iki 2016) ir imant kitą matą – ISO parsisiuntimų skaičių, – pati populiariausia versija būtų 11.1 (žr. paveiksliuką ir vaizdo įrašą), tačiau metrics.opensuse.org neapima tokio seno laikotarpio;
  • per pastaruosius 6,5 metų populiariausia openSUSE versija buvo 13.1 (beveik 210 000 unikalių naudotojų);
  • galima spėti, kad minėtų openSUSE versijų populiarumas susijęs su išplėsto palaikymo Evergreen projektu ir KDE versijų stabilumu – openSUSE 11.1 buvo paskutinė versija su KDE 3.x darbalaukiu, openSUSE 13.1 buvo viena paskutinių versijų su KDE Plasma 4.x darbalaukiu (kartu su openSUSE 13.2, nors pastaroji nebuvo Evergreen dalis).

 

 

Daugiau informacijos anglų kalba: http://release-tools.opensuse.org/2018/06/22/download.o.o-access-metrics.html

Palyginimui sena medžiaga:

  • statistika nuo 2009 iki 2016 metų – video
  • statistika nuo 2010 iki 2013 metų – straipsnis ir video

 

2018 m. July 9 d. 8:11

July 7 d.

opensuse.lt

„Micro Focus“ perduoda „SUSE“ kompaniją į „EQT“ rankas

SUSE kompanija, kuri rūpinasi openSUSE operacine sistema ir bendruomene, pereina iš „Micro Focus“ į „EQT“ rankas, sandorį tikimasi įtvirtinti maždaug 2019 m. pradžioje.

Daugiau informacijos anglų kalba:

https://www.suse.com/c/news/suse-partners-with-growth-investor-eqt-to-continue-momentum-strategy-execution-and-product-expansion/

https://www.eqtpartners.com/news/Press-Releases/2018/eqt-to-acquire-leading-open-source-software-provider-suse/

 

2018 m. July 7 d. 14:07

July 4 d.

Remigijus Jarmalavičius

Vietos atlaisvinimas po darbo su Docker

Kad ir kaip efektyviai dirbsite su Docker - neišvengsite to, kad jis „suvalgys“ daug disko vietos.

Dabar mano projektų kataloge galima suskaičiuoti šimtus docker-compose.yml ir Dockerfile failų. Kai kurie projektai programuojami dažniau - kiti rečiau.

Tie, kurie jau visai užmiršti, guli tiesiog eikvodami disko vietą ir nieko naudingo nedaro. O disko vieta šiais laikais brangus resursas, jeigu kalbėti apie serverius.

Štai keletas komandų kurios padės atlaisvinti diską.

Paprastas apsikuopimas viena komanda

Jeigu norite tik prasivalyti nuo šiukšlių, lengviausiai pavykdyti vieną komandą ir to užteks:

 docker system prune 
 WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue? [y/N] y [..] deleted: sha256:444ff179082f40ce3b53de4 deleted: sha256:5554d3b9257f76349ec2642 deleted: sha256:d93d2a5931da6a282368079 Total reclaimed space: 2.408GB 

Kaip matote iš išrašo auksčiau - pravalys kešą, nebenaudojamus atvaizdus, interneto prieigas ir išjungtus konteinerius.

Tie, kas nenori valyti konteinerių, gali pasinaudoti pavienėmis komandomis žemiau.

Kaip išvalyti nebenaudojamus atvaizdus?

Išvalyti nenaudojamus atvaizdus galima taip:

 docker image prune -a 
 WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? [y/N] y [..] untagged: redis:latest untagged: ubuntu@sha256:91680dba9ee085 untagged: redis@sha256:fb38b203a9488b1 Total reclaimed space: 5.514GB 

Kaip išvalyti neveikiančius konteinerius?

Čia padės šiek tiek daugiau bash magijos:

 docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm 

Trumpas paaiškinimas:

  • docker ps -a - parodys visus veikiančius ir neveikiančius konteinerius;
  • grep Exit - neveikiančių konteinerių sąraše gale bus užrašas Exited DATA;
  • cut -d ' ' -f 1 - iš konteinerių sąrašo iškerpame pirmą žodį - tai bus konteinerio ID;
  • xargs docker rm - konteinerių ID perduosime xargs komandai kuri prie kiekvieno pavykdys docker rm KONTEINERIO-ID.

Kaip išvalyti nenaudojamus skirsnius (volumes)?

Tai padės padaryti viena komanda:

 docker volume prune 
 WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue? [y/N] y [..] faf4ccf09ddff08a11e2527f480d4878619 046006d6601fe4929a0272e218a00e55374 629a4cb272f3913e0c1b5dc3f5d74be343f Total reclaimed space: 2.179GB 

Ar trinti yra saugu?

Konteinerius, kaip ir atvaizdus, trinti yra saugu. Jeigu vėl mėginsite leisti projektą, tai Jums Docker per naujo parsiųs atvaizdus (jeigu to reikia) ir per naujo sukurs konteinerius.

Valydami skirsnius būkite atsargūs - tai Jūsų sukaupti duomenys. Auksčiau aprašyta komanda docker volume prune išvalys tik neprijungtus prie nieko skirsnius (nenaudojamus), todėl komanda yra saugi. Tokius skirsnius visada galite pasitikrinti su docker volume ls -f dangling=true.

Po pusės metų intensyvaus darbo su Docker keliomis komandomis pavyko atlaisvinti daugiau nei 13GB disko vietos.

2018 m. July 4 d. 0:00

June 28 d.

Remigijus Jarmalavičius

Knygos Čerčilio iškalba, Linkolno tvirtybė apžvalga

Nors pačią Jameso C. Humes knygą „Čerčilio iškalba, Linkolno tvirtybė“ įvertinčiau kokiais gal 4 iš 5 balų, bet vistiek nusprendžiau jai skirti straipsnį, kadangi geresnių knygų apie viešą kalbėjimą kol kas mano arsenale nėra.

„Čerčilio iškalba, Linkolno tvirtybė“ knygos viršelis

Kam skirta knyga

Praktiškai visiems žmonėms.

Jeigu nekalbate viešai prieš žiūrovus, tai tikrai kalbate susirinkimuose, prieš klasę, nepažįstamus žmones, darbo pokalbyje ir pan. Ir čia knyga tikrai Jums pravers su daugybe pavyzdžių iš labai gerai žinomų oratorių: Vinstono Čerčilio, Abraomo Linkolno, Margaret Tečer, Napoleono ir pan.

Netgi Hitleris minimams gana dažnai.

Oratoriai ir jų kalbos naudojami kaip pavyzdžiai įprasminti aprašytoms pamokoms.

Kokios tos pamokos

Perskaitę išmoksite daryti trumpas įžangines pauzes, darysite stiprų pradžios įvadą, mokėsite užduoti klausimus, mokėsite atsakyti nepatogius klausimus ir pan. Skiriamas dėmesys ir kitoms detalėms, tokioms kaip išvaizda ar kūno kalba.

Knyga tikrai bus naudinga net ir ne vieną kartą šnekėjusiam viešai prieš salę.

2018 m. June 28 d. 0:00

June 21 d.

Remigijus Jarmalavičius

Kas naujo Raspberry Pi 3 B+ modelyje?

Nedidelę mano namų elektronikos dalį sudaro Raspberry Pi (2 ir 3 modelio) elektronika surišta su keliais davikliais ir rėlėmis, aukštos įtampos reikalaujantiems įrenginiams kontroliuoti. Todėl labai nudžiugau neseniai pamatęs, kad kūrėjai išleido dar vieną versiją - Raspberry Pi 3 B+.

Kodėl namų automatizavimui Raspberry?

Kodėl namų elektronikai nenaudoju daug pigesnio ir tam reikalui sukurtą Arduino? Dėl to, kad kompiuterį ir jo išvestis daug lengviau programuoti nei kažkokį lust’ą kuris pririša ne tik prie C kalbos, bet dar ir reikalingo atskiro išmanymo tūkstančiams daviklių.

Su Raspberry Pi viskas paprasčiau - atidarei prievadą (angl. „port“) ir bendrauji su kitais įrenginiais. Taip pat ir GPIO (jungtys ant Raspberry platformos kuriomis gali paduoti srovę įrenginiams arba nuskaityti jų duomenis) kontroliuoti kur kas paprasčiau. Kažkas neveikia korektiškai - prisijungi per „ssh“ prie Raspberry Pi įrenginio ir sutvarkai bėdas.

Kadangi Raspberry Pi dažniausiai būna prijungtas prie interneto (nes kokia prasmė automatizuoti namus ir nekontroliuoti jų iš išorės) - lengva pasidaryti monitoringą kur atsidaręs kažkokį web puslapį matytum kaip keičiasi temperatūra name ar garaže.

Kas pasikeitė nuo versijos be pliuso?

Pažiūrėkime kaip atrodo naujasis modelis su pliuso ženklu:

Raspberry Pi 3 B+

Jeigu turite senesnį modelį, tai iškart į akis kris metalinis logotipas ir šiek tiek pasikeitęs procesoriaus čipas. Kas domisi įranga, tai yra Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz čipas.

Šiame įrenginyje yra 1GB RAM, LAN palaikymas, Wifi ir Bluetooth (v4.2). Taip pat yra ir Bluetooth Low Energy (BLE) palaikymas.

Dalykai kurie visiškai nepasikeitė:

  • HDMI jungtis ir vieta.
  • AUX jungtis ir vieta.
  • Micro SD jungtis ir vieta (tam, kad galima būtų iš jos paleisti operacinę sistemą).
  • Keturios USB 2 jungtys.

Nors turėsime tą patį 5V ir net 2.5A pakrovėją, galiu pagirti, kad tai vienas geriausių sprendimų iš autorių pusės. Teko susidurti, kad visokioms FHD kameroms prijungtoms prie Raspberry Pi reikia tikrai nemažai amperų. Tipinis 1A pakrovėjas gali nepavežti prijungtų įrenginių.

Dėl vos vos pasikeitusio procesoriaus greičio (nuo 1.2GHz iki 1.4GHz) turėtume greičio nepajusti. Tą patvirtina ir daug internete padarytų benchmarking’ų.

Didžiausia naujovė - PoE

Naujame Raspberry Pi rasime ir tokią jungtį:

Raspberry Pi 3 PoE

Kai kurie routeriai vaizdo kameroms elektros srovę perduoda LAN kabeliu ir tai vadinama Power over Ethernet. Iš to laimima, kad įrenginiui nereikia dar kažkokio lizdo maitinimui, kurį dėtumėte į elektros lizdą.

Tokią galimybę ir Raspberry Pi 3 B+ turi. Tačiau tam, kad per LAN laidą užmaitintumėte Raspberry dar reikės nusipirkti šiam lizdui (nuotrauka viršuje) PoE Hat įrenginuką. Pastarasis kainuoja kažkur 17€.

Kiek kainuoja Raspberry Pi 3 B+?

Kaip ir anksčiau, Raspberry kainos išlieka labai panašios. Šis įrenginys turėtų kainuoti apie 30 eur. Kiek brangiau iš oficialių parduotuvių (kaip Element14) ir kiek mažiau iš Ebay / Aliexpress.

Ar verta atsinaujinti?

Jeigu automatizuojate namus - tikrai taip. PoE palaikymas geriausias dalykas kas nutiko šiam įrenginiui! Po Wireless ir Bluetooth palaikymo, žinoma.

Jeigu kitoms reikmėms - tikrai ne. Naujovės buvo skirtos su IT susijusioms reikmėms. Namų vartotojai negauna jokio greičio ar kitų privalumų.

2018 m. June 21 d. 0:00

June 14 d.

Remigijus Jarmalavičius

GIT patch'ų siuntimas ir jų pritaikymas

Laikais, kada į GitHubą galima tiesiog supushint’i savo branch’ą ir nesukti sau galvos, turbūt retai kada tenka kam nors generuoti GIT Patch’ą ir jį kur nors siųsti.

Taip retai, kad toks siuntimas tampa galvos skausmu - reikia prisiminti kaip tą daryti (produktyviai) ir kaip vėliau tuos patch’us applyint’i.

Taip nutiko ir man, kai beveik dienai užlūžo Gitlab’as ir reikėjo kažkur pasidėti pakeitimus nes dirbu per kelis kompiuterius.

Gitlab paslaugos neveikimo langas

Kur pasidėti - labai paprasta - Dropbox. Bet kaip juos sugeneruoti ir kaip juos vėliau applyint’i - teko prisiminti. Toliau - trumpa atmintinė visiems (ir sau).

Patch’ų generavimas

Jeigu pirmiausiai šovė į galvą:

git diff > failas.patch 

Tai iškart galiu pasakyti, kad toks generavimas turi krūvas minusų:

  • Neproduktyvu, jeigu norėsite tą atlikti ant kelių ar daugiau komitų.
  • Prarasite binarinius failus (jie nebus įtraukti).
  • Prarasite naujus failus kurie nepridėti su git add.
  • Taip pat galite įtraukti tik dalį pakeitimų, nes yra skirtumas tarp git diff ir git diff --cached.

Todėl produktyviausiu būdu tampa: standartinis darbas (kada komitinat daug mažų pakeitimų) ir:

git format-patch origin/master -o pakeitimai 

Viena komanda, o daro daug:

  • Sukurs katalogą pakeitimai/ kuriame sudės patch’us.
  • Kiekvienas patch’as turės numeraciją: 0001, 0002, …
  • Kiekvienas patch’o failo pavadinimas bus sugeneruotas iš komito teksto, pavyzdžiui: 0001-use-staging-api-for-staging-env.patch

O dėl origin/master ar nereikia repozitorijai būti pasiekiamai? Ne, nes siunčiantis pakeitimus (git fetch ar git pull) GIT’as pasižymi kokie komitai yra kokiose atšakose.

Patch’ų pridėjimas

Applyint’i pakeitimus labai lengva:

git apply pakeitimai/* 

Shell’as turėtų paduoti git apply išrikiuotus failų vardus.

2018 m. June 14 d. 0:00

June 7 d.

Remigijus Jarmalavičius

Knyos „Essentialism“ apžvalga

Dar viena filosofinė knyga mano perskaitytų knygų sąraše - „Essentialism: The Disciplined Pursuit of Less“ (autorius Greg McKeown).

Skiriu jai straipsnio įrašą, nes šių dienų verdančiame gyvenime knyga galėtų būti naudinga ne vienam kuris skuba ar bando uždirbti viską.

„Essentialism“ knygos viršelis

Kalbant ypatingai apie programuotojus, natūralu, kad diena yra pilna streso, mėginimo padaryti kiek įmanoma daugiau ir gauti kaip įmanoma daugiau. Taip pat atrodo beveik natūralu nespėti į terminus, daryti ne visai prioritetinius darbus arba vienu metu daryti ne vieną užduotį.

Ši knyga tai tokio gyvenimo filosofijos priešingybė: koncentruotis tik ties svarbiais dalykais atsikratant nesvarbių.

Skaitant knygą dažnai pagalvojau, kad čia viską apibendrintų tiesiog paprasčiausias Pareto dėsnis (apie kurį taip pat yra aprašyta). Bet dėl praktinių pavyzdžių gausos - sunku buvo atsitraukti.

Knygos autorius gyvenimiškų pavyzdžių tikrai nepagailėjo. Tai yra vienas iš dalykų kurie man labai patinka skaitant knygas - praktinė / gyvenimiška patirtis.

Keletas man labiausiai patikusių šios knygos frazių:

  • Daugiau streso - mažiau kokybės.
  • Nuolat savęs klauskite - ar tai tikrai TOP svarbiausias dalykas ką galėčiau daryti?
  • Galvokite mažiau - bet geriau.
  • Žodis „prioritetas“ daugiau nei 500 metų buvo vartojamas vienaskaita. Tik prieš šimtą metų šis žodis buvo pradėtas naudoti daugiskaita.
  • Kada paskutinį kartą tiesiog sedėjote ramiai ir galvojote?
  • Sunku išsirinkti ką norisi veikti ar turėti? Knygoje pateiktas 90-10 modelis - manau, kad kiekvienas stipriai užsiėmęs žmogus galėtų pritaikyti šią vertinimo sistemą gyvenime ar karjeroje.

Šioje knygoje rasite tikrai daug patarimų kaip „išsivalyti“ savo užimtą gyvenimą: kaip planuoti susitikimus ar pasitarimus, kaip įprasti sakyti „ne“, kaip vertinti materialius dalykus, kaip branginti laiką ar miegą, kokiais kriterijais samdyti žmones ir taip toliau.

2018 m. June 7 d. 0:00

June 1 d.

Remigijus Jarmalavičius

Spalvota cat komandos išvestis

Visi yra susipažinę su cat komanda ir nerasi turbūt nei vieno prie Linux dirbančio žmogaus kuris tos komandos nebūtų panaudojęs.

Vienas iš dalykų kuris man labai patinka ir labai seniai naudoju - tai cat komanda su teksto spalvinimu kurį duoda Pygments biblioteka.

Pirmiausiai įdiegiame Pygments

Tai viena populiariausių Python bibliotektų, tai ją įdiegsite taip:

sudo pip install Pygments 

Komandos aliasas

Aliasą teisingiausiai būtų įsirašyti į .bash_aliases arba .zsh_aliases, tik prieš tai įsitikinkite, kad šie failai yra source’inami.

alias cat="pygmentize -g" 

Jeigu esate patyręs Linux naudotojas ir su BASH dirbate tikrai daug, tuomet cat komandą reikėtų palikti ramybėje ir susikurti kažkokį kitą aliasą, pavyzdžiui ccat ar hcat, nes cat perrašymas turi trūkumų. Pavyzdžiui:

cat ~/.vimrc | head -n 2 " No compatible mode makes VIM more friendly than old VI set nocompatible *** Error while highlighting: IOError: [Errno 32] Broken pipe (file "/usr/lib/python2.7/codecs.py", line 370, in write) *** If this is a bug you want to report, please rerun with -v. 

Štai kaip tai atrodo su kodo gabalu:

Spalvotas cat komandos turinys


Nuotraukoje gal ne pats geriausias pavyzdys, nes su visokiais nestandartiniais formatais kaip JSX ar pan. Pygments biblioteką galima apkvailinti. Bet daugeliui įprastinių formatų - veikia tikrai neblogai.

Ne taip seniai esu rašęs, kad tą pačią Pygments biblioteką dar galima panaudoti ir API išvestims spalvinti terminale.

2018 m. June 1 d. 0:00

May 25 d.

opensuse.lt

Pasirodė openSUSE Leap 15.0

2018 m. gegužės 25 d. pasirodė naujoji openSUSE Leap 15.0 versija. Naujoji openSUSE Leap 15.0 tam tikra prasme panaši į 2017–2018 metų sandūros openSUSE Tumbleweed, tačiau labiau nušlifuota, pirmenybę teikiant ilgalaikio palaikymo programinės įrangos versijoms. Palyginus su openSUSE Leap 42 versijomis, tarp openSUSE Leap 15 naujovių turėtumėte rasti:

  • Linux 4.12 LTS branduolį;
  • RPM 4.14;
  • Dar stabilesnę KDE Plasma 5.12 LTS darbalaukio aplinką su galimybe ją paleisti Wayland grafikos sistemoje, nors numatytuoju atveju ji tebebus paleidžiama X11 grafikos sistemoje;
  • GNOME aplinka numatytuoju atveju naudoja Wayland grafikos sistemą, bet galite paleisti ir tradicinėje X11 grafikos sistemoje;
  • Vietoj SuSEFirewall2 užkardos, naudosima firewalld užkarda;
  • Perrašytas YaST skaidinių tvarkymo modulis.

Nors sistemos pagrindas gerokai atnaujinamas nuo openSUSE Leap 42 serijos, tačiau eiliniai naudotojai neturėtų pajusti drastiškų pokyčių atsinaujindami. Daugiau naujovių nusimato sistemų administratoriams ir programuotojams. Pasirodžiusias openSUSE versijas parsisiųsti galima iš https://software.opensuse.org/

Daugiau informacijos anglų kalba:

https://en.opensuse.org/Portal:15.0

 

2018 m. May 25 d. 13:41

May 21 d.

Remigijus Jarmalavičius

Paveiksliukai ir ikonėlės el. laiškuose

Turbūt kiekvienam web programuotojui ne kartą yra tekę siųsti paveikslėlius, nuotraukas ar ikonėles el. laiškuose. Jokia čia naujiena.

Deja, pats paveiksliukų procesas vistiek yra labai problematiškas, nes yra trys būdai kaip paveiksliukai gali būti išsiųsti ir kiekvienas turi savo trūkumų.

Paveiksliukai iš interneto

Pats paprasčiausias ir lengviausias būdas, tai dėti el. laiškuose nuotraukas su nuorodomis į internetą:

<img src="http://example.com/nuotrauka.png" /> 

Paprasčiausias būdas turi daugybę trūkumų:

  • Paveiksliukams būtinai turite nurodyti protokolą (HTTP arba HTTPS) ir domeno adresą.
  • Paveiksliukai visada turi būti prieinami. Jeigu kažkas laišką žiūrės iš archyvų, tarkime po kelių metų, turite užtikrinti, kad tas kelias vis dar pasiekiamas.
  • Gmail ir kiti pašto klientai pirmiausiai paklaus laiško skaitytojo ar rodyti nuotraukas. Šis tikrinimas daromas, nes paveiksliukuose dažnai slepiami „tracking pikseliai“ arba kitos blogybės.

Šį būdą rekomenduočiau mažiausiai.

Paveiksliukai iš prisegtuko

Kitas dažnas būdas siųsti media yra prikabinant ją prie laiško, kaip prisegtuką.

Toks būdas turi tokius trūkumus:

  • Skaitytojas laiškų sąraše mato, kad el. laiške yra prisegtų failų, kas nėra korektiška.
  • Turite būti atsargūs kaip tuos failus vadinate, nes galite nepraeiti pro el. pašto filtravimo programą.
  • Tai papildomas vargas jeigu susirašinėjate toliau. Kad laiško istorija būtų tvarkinga, turėsite tuos paveiksliukus persiųsti ir kitiems. Jeigu nepersiųsite, tai kažkas kam rodote laišką gali nematyti ekrano nuotraukų ar kitų svarbių dalykų kurie buvo originaliame laiške.

Paveiksliukai iš base64 reikšmės

Tai labai populiarus būdas visą nuotraukos turinį užkoduoti ir prikabinti standartiniais būdais prie laiško:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADI...." /> 

Tokiu būdu laimėsite:

  • Skaitytojas nematys, kad el. laiške yra prisegtukų.
  • Persiunčiant laiškus jie - neišsikraipys.
  • Šiuo būdu HTML elementai taip pat gali būti fonui naudojami (kaip background-image: ...).
  • Nereikia rūpintis paveiksliukų atnaujinimu kai naršyklė ar pašto klientas juos užkešuoja.

Nors internete base64 nuotraukų konvertavimų yra be galo daug, bet ar žinojote, kad viską galite padaryti standartinėmis Linux komandomis?

echo "data:image/png;base64,$(base64 -w 0 ikonele.png)" 

Šis būdas taip pat veiks ir Macos.

Tiesa, trūkumų taip pat yra:

  • Sunku suprasti koks paveiksliukas ir kurioje vietoje panaudotas (nes nėra failo vardo).
  • Visokie redaktoriai gali supykti už itin ilgas eilutes, jeigu paveiksliukas sveria tikrai daug.

Bet ignoruoti šias bėdas verta, nes klientai turės korektišką media.

2018 m. May 21 d. 0:00