Pranešimai

Rodomi įrašai nuo gegužė, 2024

Bash skriptas akcijų informacijai gauti

Vaizdas
  Šiandien noriu pasidalinti įdomiu Bash skriptu, kuris naudoja nemokamą API iš https://site.financialmodelingprep.com/ svetainės (iki 250 užklausų per dieną), kurį pats naudoju savo kasdieninės informacijos pateikimo ir sistemos atsarginių kopijų funkcionalume. Šio API tikslas – gauti realaus laiko akcijų informaciją. Skripto funkcionalumas: Leidžia vartotojui pasirinkti akcijų simbolius, kuriems nori gauti informaciją. Galima paleisti su argumentu, nurodančiu konkretų akcijų simbolį, arba be argumento – tokiu atveju vartotojas gali rinktis akcijas iš pateikto sąrašo. Pateikia tokią informaciją kaip pavadinimą, biržą, naujausią kainą, kainos pokyčius ir kt. Kaip veikia skriptas: Įtraukiamas konfigūracijos failas su API URL ir raktu. Sukuriamas masyvas su numatytaisiais akcijų simboliais. Funkcija getConfiguredClient() patikrina, ar sistemoje yra įdiegta curl arba wget programa, reikalinga HTTP užklausoms vykdyti. Funkcija httpGet() naudoja šias programas užklau

Automatinis tekstinių failų apdorojimas ir sujungimas

  Įvadas Neseniai man prireikė specifinio scenarijaus, kuris leistų iš įvairių kataloguose esančių tekstinių (.txt) failų surinkti informaciją, sujungti ją į vieną Markdown (.md) failą, surūšiuoti ir pašalinti dublikatus. Ši užduotis reikalavo automatizavimo, kad būtų galima efektyviai apdoroti didelį kiekį duomenų. Todėl parašiau bash skriptą, kuris atliko šią užduotį puikiai. Kaip veikia scenarijus Šis scenarijus leidžia vartotojui pasirinkti katalogą iš $HOME aplanko ir pasirinkti, kurie tekstiniai failai turi būti sujungti. Visi pasirinkti failai yra apdorojami, kad būtų surinktos visos eilutės, kurios vėliau yra surūšiuojamos ir pašalinami dublikatai. Galutinis rezultatas yra išsaugomas kaip Markdown failas su tam tikromis metaduomenų žymomis. Scenarijaus veikimo žingsniai Katalogo pasirinkimas: Vartotojui pateikiamas sąrašas katalogų, esančių $HOME aplanke. Jei vartotojas nesirenka jokio katalogo ir tiesiog paspaudžia Enter , pasirenkamas numatyta

Metų progresijos vizualizavimas „Bash“ skriptuose

Vaizdas
  Prieš keletą dienų naršydamas Mastodone pastebėjau kažkieno pabūstintą įdomų paveiksliuką, kuriame buvo vizualiai atvaizduotas metų progresas procentais. Šis vaizdas mane įkvėpė sukurti paprastą „Bash“ funkciją, kurią galėčiau integruoti į savo kasdieninius skriptus. Ši funkcija man padeda stebėti metų progresą, rodyti jį terminalo lange ir naudoti įvairiuose backup bei informacijos išvedimo procesuose. #!/bin/bash # Description: Parodo metų progresą # URL: https://funkcijos.wordpress.com/2024/05/28/metu-progresijos-vizualizavimas-bash-skriptuose/ metu_progresas() { local bar_length=${1:-40} # Numatytoji juostos ilgis yra 40, jei nenurodytas kitas local filled_color="\e[1;33m" # Ryškiai geltona spalva užpildytiems simboliams local empty_color="\e[37m" # Balta spalva tuštiems simboliams local reset_color="\e[0m" # Numatytoji spalva # Gauti dabartinę dieną (metų dienos numeris) current_day=$(date +%-j) #

Ką užšifravome, tą iš iššifruosim

Vaizdas
 Iššifruojame užšifruotus failus: Naudingas scenarijus su patobulinimo idėjomis   Ankstesniame įraše , užšifravome svarbius failus naudodami gpg įrankį. Dabar atėjo laikas juos iššifruoti ir pasiekti turinį. Šiame įraše pristatysime scenarijų, kuris padės lengvai naršyti užšifruotus failus ir juos iššifruoti. Taip pat aptarsime galimus panaudojimo būdus, patobulinimus ir idėjas, kaip šį scenarijų pritaikyti savo poreikiams. Scenarijaus veikimas Scenarijus susideda iš trijų pagrindinių funkcijų: show_dirs() : Ši funkcija parodo visų katalogų, esančių jūsų namų aplanke, sąrašą. Galite pasirinkti bet kurį iš šių katalogų, kad pereitumėte prie jo. show_encrypted_files() : Pasirinkus katalogą, ši funkcija parodo visų jame esančių užšifruotų failų (su .gpg plėtiniu) sąrašą. Galite pasirinkti bet kurį iš šių failų, kad jį iššifruotumėte. decrypt_file() : Ši funkcija paprašys jūsų įvesti GPG rakto slaptažodį ir tada iššifruos pasirinktą failą. Sėkmingai iššifravus, faila

Automatizuotas failų archyvavimas ir siuntimas per Telegram

 Šiame įraše aptarsiu scenarijų, kuris automatiškai sukuria failų archyvą, užšifruoja jį GPG raktu ir išsiunčia per Telegram. Šis scenarijus gali būti naudingas norint reguliariai kurti atsargines failų kopijas arba dalintis jais su kitais saugiai. Reikalingas ir Telegram bot’as. Aš naudoju didesnių failų papildomam backupui. Kaip veikia scenarijus: Konfigūracijos failas: Scenarijus prasideda įkeliama konfigūracijos failu config.sh , kuriame saugomi du svarbūs parametrai: chat_id ir bot_token . Šie parametrai naudojami Telegram API bendravimui ir failų siuntimui. Dėl saugumo rekomenduojama šiuos parametrus saugoti atskirame faile, nepasiekiamame pašalininkams. Katalogo patikrinimas: Scenarijus patikrina, ar nurodytas katalogas egzistuoja ir ar jis yra tikras katalogas. Jei katalogas neegzistuoja arba nėra katalogas, scenarijus nutraukiamas. Laiko žymos sukūrimas: Sukuriama laiko žyma, kuri bus naudojama archyvo failo pavadinime. Tai leidžia lengvai atskirti skirtingus

Efektyvus konfigūracijos failų atsarginių kopijų valdymas naudojant etc_backup funkciją .bashrc faile

Įvadas Kaip seni programuotojai :D, puikiai suprantame atsarginių kopijų svarbą. Mūsų konfigūracijos failai /etc kataloge yra gyvybiškai svarbūs, todėl būtina turėti patikimą būdą juos saugoti ir atkurti. Šiame įraše pristatysiu mano naująją etc_backup funkciją, kurią įtraukiau į pagrindinę viskas funkciją .bashrc faile, ir aptarsiu, kaip ją naudoti bei kokius patobulinimus galima pridėti. Ką ir kodėl darome etc_backup funkcija sukurta tam, kad automatiškai ir patikimai sukurtų atsargines kopijas iš visų .conf failų /etc kataloge ir jo subkataloguose. Pagrindinės funkcijos ir pastebėjimai: Automatinis atsarginės kopijos katalogo kūrimas : backup_dir="$HOME/git/etc_backup/etc_backup_$(date +%F)" : Naudojame naudotojo namų katalogą ir sukuriame atsarginių kopijų katalogą su dabartinės datos žyme. log_file="$backup_dir/backup_log_$(date +%F).txt" : Kuriamas log failas, kuriame saugomi kopijavimo klaidų pranešimai. Konfigūracijų failų kopijav

Kaip efektyviai blokuoti reklamas macOS, Linux ir Windows: Automatizavimo scenarijus

  Neseniai internete radau straipsnį pavadinimu „ Kaip efektyviai blokuoti reklamas macOS, Linux ir Windows “. Tiksliau, jį radau vakar čia . Šis straipsnis pateikė nuoseklias instrukcijas, kaip rankiniu būdu modifikuoti hosts failą, kad būtų blokuojamos reklamos. Kadangi šią procedūrą kartais reikia kartoti, nusprendžiau automatizuoti procesą su Bash scenarijumi. Šiame įraše aprašysiu sukurtą scenarijų, jo funkcijas ir veikimą, taip pat pateiksiu keletą pastebėjimų ir idėjų, ką dar būtų galima pridėti ar pakeisti. Nors pavadinime minimos ir kitos sistemos, bet čia scenarijų pasidariau ir ištestavau su Linux. Debian GNU/Linux Scenarijaus funkcijos ir veikimas 1. Atsarginės hosts failo kopijos sukūrimas: Pirmasis scenarijaus veiksmas yra dabartinio hosts failo atsarginės kopijos sukūrimas. Tai labai svarbu, kad būtų galima grįžti prie pradinio failo, jei kažkas nepavyktų. sudo cp /etc/hosts /etc/hosts.backup Jei atsarginės kopijos sukurti nepavyksta, scenarijus

Funkcija atnaujinanti terminalo aplinką

  Šį kartą funkciją apžvelgia, komentuoja ir teikia pasiūlymus Gemini Kiekvienam programuotojui pažįstama situacija: įnešėte pakeitimų į scenarijų, paleidžiate jį, o rezultatas – ne tas, ko tikėjotės. Galbūt klaida? Atsijungiate nuo terminalo ir vėl prisijungiate, ir viskas veikia puikiai. Taip yra todėl, kad terminalas ne visada automatiškai atnaujina aplinką po to, kai pakeičiate konfigūracijos failus, pvz., .bashrc . Šią problemą išspręsti padeda paprasta funkcija:   function rs(){ source $HOME/.bashrc; echo "Atnaujinta" sleep 1 clear } Ką ji daro? Paleidžia source $HOME/.bashrc komandą, kuri atnaujina jūsų terminalo aplinką, įskaitant visus kintamuosius ir funkcijas, apibrėžtus .bashrc faile. Spausdina pranešimą “Atnaujinta“, kad žinotumėte, jog viskas pavyko. Naudoja sleep 1 komandą, kad palauktų vieną sekundę, kol pranešimas bus rodomas ekrane. Baigia funkciją clear komanda, kuri išvalo terminalo langą. Kam ši funkcija gali būti naudinga?

Viskas, ko reikia jūsų sistemai viename scenarijuje. bashrc funkcija

Vaizdas
 Šiandien mano scenarijų pristato ir komentuoja GPT-4o Automatizacija yra vienas iš kertinių IT specialistų įgūdžių, leidžiantis padaryti daugiau su mažiau pastangų. Šiame straipsnyje aptarsime vieną galingą bash scenarijų, kuris sujungia kelias svarbias užduotis į vieną, taip palengvinant kasdienį darbą. Pažiūrėkime, ką ši funkcija daro, kodėl ji yra naudinga ir ką dar būtų galima patobulinti. Funkcijos apžvalga Ši bash funkcija, pavadinta viskas() , yra skirta automatizuoti kelias dažnai atliekamas užduotis vienu metu. Štai ką ji daro: Orų prognozės išvedimas į failą : ./o.sh > "$HOME/Obsidian/notes/Oras.md" 2>/dev/null & Orų prognozė išvedama į failą foniniu režimu. Failų išskirstymas iš “Atsiuntimai“ katalogo : if ! ~/git/md.sh; then return 2 fi echo -e "OS: $(lsb_release -ds)" echo -e "Kernel: $(uname -r)" echo -e "Uptime: $(uptime -p)" Čia scenarijus i škviečia kitą scenarijų,

Atnaujinta terminalo lango spalvota orų programėlė

Vaizdas
 Atnaujinta 2024.05.19. Šiame variante sukuriamas asociatyvinis masyvas weather_translations , kurio raktai yra orų sąlygų pavadinimai, o reikšmės – jų vertimai. Funkcija get_weather_translation tiesiog ieško nurodytos orų sąlygos vertimo masyve. Jei vertimas nerastas, išvedamas pranešimas “Neatpažinta orų sąlyga“. Pridėtos ikonėlės ir spalvos. Pridėta informacija apie šios dienos vandens temperatūrą Baltijos jūroje. Github Sveiki! Šiandien papasakosiu apie atnaujintą savo orų programėlę, kuri veikia terminale. Pritaikiau ją rodyti išsamesnę informaciją ir patobulinau pateikimą. Naujasis orų programėlės kodas pasižymi ne tik išplėstomis funkcijomis, bet ir žymiai patobulintu profesionalumu bei aiškumu. Palyginus su ankstesne versija, kurią būtų galima vadinti mėgėjiška, šis variantas atspindi profesionalų požiūrį į programavimą. Kodo struktūra tapo aiškesnė ir lengviau suprantama, naudojant prasmingus pavadinimus ir komentarus. Efektyviai naudojami duomenų struktūro

Išsibastėlis: Tavo Asmeninio Gyvenimiuko Backup’intojas

  Šiandien mano scenarijų apžvelgia ir pristato šmaikštuolis Cla ude . Pavadinimą sugalvojo irgi jis Visi mes turime savo mažus bailius sūriukus asmeniniams reikalams tvarkyti. Įvairūs konfigūracijos failai, skriptai ir užrašai, kurie padeda mums išlaikyti proto higieną ir produktyvumą. Bet kas nutiks, jei staiga tavo komputeris pradės rūgštinti ir išgers savo paskutinį duonos riekės kvapą? Būtent tam ir yra šis sumanus mažylis bash scenarijus! Jis yra tarsi tavo asmeninių dalykų sargybinis, kuris nuolat stebi ir užtikrina, kad visi tavo kruopščiai sukurti šedevrai bus saugūs ir gyvens amžinai (arba bent jau tol, kol “GitLab“ nepradės vogti mūsų pinigų). Kaip jis veikia: Nustato kelis kintamuosius, tokius kaip tavo namų katalogas ir git repo vieta. Sukuria failų sąrašą, kuriuos nori nukopijuoti ir išsaugoti. Pereina į namų katalogą (kažkodėl). Ciklu kopijuoja nurodytus failus į git repo vietą. Jei failas nerastas – paprasčiausiai praneša tau apie tai. Pereina į g

Iš Word DOCX į Obsidian: Automatinis DOCX Failų Konvertavimas į Markdown

Vaizdas
Kaip dažnai būna, su laiku kompiuteryje prisikaupia nemažai įvairių dokumentų – tiek darbinių, tiek naminių. Kadangi dažnai naudojuosi Markdown formatą palaikančiomis aplikacijomis, tokiomis kaip Obsidian, pastebėjau, kad būtų labai patogu visus šiuos DOCX failus konvertuoti į Markdown formatą. Taip ne tik lengviau tvarkyti dokumentus, bet ir galima išnaudoti visus Obsidian teikiamus privalumus. Pasižiūrėjęs, ką Linux gali pasiūlyti šioje srityje, atradau „Pandoc“. Kodėl „Pandoc“? „Pandoc“ yra galingas įrankis, galintis konvertuoti failus tarp įvairių formatų. Tačiau paprasta komanda pandoc input.docx -o output.md manęs nesužavėjo. Norėjau sukurti automatizuotą sprendimą, kuris būtų pritaikytas mano poreikiams – tai yra, ne tik konvertuoti failus, bet ir pritaikyti juos Obsidian naudojimui. Taigi, nusprendžiau sukurti Bash scenarijų, kuris atliktų visą šį darbą automatiškai. Ką gali šis scenarijus? Šis scenarijus gali: Pakeisti failų pavadinimus, kad juos

Šaunus kamandų paleidėjas ir failų chmod įrankis

Šį bash scenarijų sukūriau tam, kad leistų vartotojui lengvai pasirinkti ir paleisti iš anksto nustatytas komandas iš tekstinio failo arba vykdyti papildomus veiksmus, pvz., pakeisti failų leidimus naudojant chmod . Veikimo principas: Pradžioje, scenarijus nuskaito komandas iš nurodyto tekstinio failo, kuris yra pasirinktas naudotojo. Vartotojui pateikiamas sąrašas galimų komandų iš tekstinio failo (pridėjau dar ir masyvą papildomai komandoms papildyti tiesiog skripte) ir jis gali pasirinkti, kurią komandą nori paleisti. Jei vartotojas pasirenka chmod +x , scenarijus rodo visus .sh failus esančius tame pačiame kataloge ir leidžia vartotojui pasirinkti, kuriam iš jų nori pritaikyti chmod +x . Pasirinkus komandą, vykdoma ji, o jei pasirinkta chmod +x , pritaikomas chmod pasirinktam failui. Kilmės šaltiniai: Scenarijus nuskaito pagrindines komandas iš tekstinio failo, kuris yra pasirinktas naudotojo. Papildomas funkcionalumas, susijęs su chmod

Atsisiuntimų aplanko organizatorius: tvarkinga failų sistema vienu paspaudimu

Ar kada nors jautėtės pasimetę Atsisiuntimų aplanko chaose? Daugelyje iš mūsų kompiuterių šis aplankas tampa laikina saugykla įvairiems failams, nuo dokumentų ir muzikos iki vaizdų ir archyvų. Šiandien pristatau paprastą, bet galingą įrankį, kuris padės suvaldyti šią netvarką ir sutaupyti jūsų laiką. Kas tai yra? Tai Bash scenarijus, pavadintas Atsisiuntimų aplanko organizatorius. Jis automatiškai rūšiuoja failus iš Atsisiuntimų aplanko į atitinkamus katalogus pagal jų tipą. Pradžioje, šį scenarijų pasidariau, kad iškeltų .md failus į Obsidian notes, bet vėliau supratęs, kaip tai patogu, patobulinau scenarijų ir dabar surūšiuoja daugybę kitų failų tipų, dažnai sutinkamų Atsisiuntimų aplanke. Kaip jis veikia? Scenarijus pirmiausia patikrina, ar Atsisiuntimų aplanke yra .md failų. Jei taip, jis perkelia juos į Obsidian/notes katalogą. Tada jis iškviečia move_files funkciją, kuri apdoroja kitų tipų failus. move_files funkcija gauna sąrašą plėtinių ir paskirties katalogo kaip argumentus. J

Scenarijus vaizdo įrašams į GIF konvertuoti: nuo paprasto iki magiško!

Vaizdas
Prieš pradedant, reikia įdiegti ffmpeg - programinę įrangą, kuri padarys visą magiją. Debian: sudo apt install ffmpeg Arch Linux: sudo pacman -S ffmpeg sudo zypper install ffmpeg sudo dnf install ffmpeg Ar kada nors norėjote paversti savo mėgstamiausius vaizdo įrašus į žavingas GIF animacijas? Žinoma, norėjote! Kas gi nenorėtų? Na, šiandien turiu jums dovaną - scenarijų, kuris tai padarys lengviau nei kada nors anksčiau! Scenarijaus anatomija: Šis scenarijus tarsi stebuklingas magas atlieka savo triuką etapais: 1. Pasirinkimas: Scenarijus atveria vaizdo įrašų katalogą ir parodo jums sąrašą, tarsi kviečiantis išsirinkti savo auką... atsiprašau, mėgstamiausią vaizdo įrašą. Jūs, tarsi galingas valdovas, pasirenkate norimą vaizdo įrašą ir scenarijus pasiruošęs magijai. 2. Tikrinimas: Scenarijus, atsargus kaip sargybinis, patikrina, ar tikrai pasirinkote vaizdo įrašą, o ne apgaulingą iliuziją. Jei ne, scenarijus perspėja jus ir atšaukia magiją. 3. Konve

Atsisveikinimas su neofetch: Įdiegiame naująją „Fastfetch“ versiją

Vaizdas
  Deja, „Fastfetch“ nėra įtraukta į oficialią Debian repozitoriją. Tai reiškia, kad norint ją įdiegti, negalite naudoti paprastos apt-get komandos. Vietoj to, reikia atsisiųsti programos paketą rankiniu būdu iš interneto. O jai atnaujinti ir reikalingas šis scenarijus Scenarijus atlieka šiuos veiksmus: Patikrina dabartinę versiją: Naudoja dpkg-query įrankį, kad gautų įdiegtos „Fastfetch“ versijos numerį, jei tokia yra. Atsisiunčia naujausią versiją: Jei „Fastfetch“ neįdiegta arba yra sena versija, scenarijus naudoja wget įrankį, kad atsisiųstų naujausią paketą iš oficialios svetainės. Patikrina atsisiuntimo vientisumą: Įsitikina, kad atsisiųstas paketas yra nepažeistas ir tinkamas diegimui. Išgauna versijos numerį: Naudoja dpkg-deb įrankį, kad iš atsisiųsto paketo išgautų naujausios versijos numerį. Palygina versijas: Jei atsisiųsta versija naujesnė nei įdiegta, scenarijus pereina prie diegimo etapo. Įdiegia „Fastfetch“: Naudoja sudo dpkg -i komandą, kad įdiegtų ats

Sveiki atvykę į mano naująjį tinklaraštį!

 Dauguma šio tinklaraščio įrašų yra kuriami naudojant dirbtinio intelekto pagalbą, todėl nenuostabu, jeigu kartais pastebėsite tam tikrų stiliaus ar gramatikos neatitikimų. Atkreipkite dėmesį, kad šio tinklaraščio įrašų stilius bus gana familiarus ir neformalus   Šiandien noriu pasidalinti neįprasta patirtimi – ką tik išverčiau į lietuvių kalbą populiarią knygą “ A Byte of Python “, skirtą pradedantiesiems programuoti Python kalba. Kodėl tai padariau? Sąžiningai, net pats nežinau! Galbūt norėjau įrodyti sau, kad galiu įveikti tokį didelį projektą. Galbūt tikėjausi, kad Lietuvoje yra daug žmonių, trokštančių išmokti Python, bet negalinčių to padaryti anglų kalba. O gal tiesiog norėjau užpildyti laisvą laiką… Nesvarbu, kokios buvo mano motyvacijos, rezultatas yra čia: lietuviškas “ A Byte of Python“ vertimas . Ar kam nors jo reikia? Sunku pasakyti. Python populiarumas Lietuvoje auga, tačiau vis dar atsilieka nuo kitų Europos šalių. Galbūt mano vertimas padės pakeisti ši