Publikuok Python paketą į PyPI su uv

Labas! Šiandien sužinosime kaip nuo nulio susikurti ir publikuoti Python paketą į PyPI su uv programa. uv yra labai greita, todėl programavimas su ja dar smagesnis! Įsidiegiame uv Jeigu dar neturi uv, įsidiek jį terminale: # macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" Įsitikink, kad veikia: uv --version Sukuriame naują biblioteką uv turi patogią komandą projektui inicijuoti. Naudosime --lib vėliavėlę, kuri sukuria biblioteką (angl. library) — paketą, skirtą naudoti kituose projektuose. ...

pr, kov. 9, 2026 · 4 min. · Ąžuolas Krušna

Pakeisk git repozitorijos nuotolinį adresą

Labas! Šiandien pasikeisime git repozitorijos nuotolinį adresą (URL). Tai padaryti labai paprasta su šia komanda: git remote set-url origin https://naujas-adresas.git Mums tereikia pakeisti https://naujas-adresas.git į mūsų norimą repozitorijos adresą. Kaip sužinoti koks yra mūsų dabartinis repozitorijos adresas? Tai galime pasitikrinti šia komanda: git remote -v Rezultatas gali atrodyti taip: origin https://github.com/senas-vartotojas/repozitorija.git (fetch) origin https://github.com/senas-vartotojas/repozitorija.git (push) Tada pasinaudojame git remote set-url komanda, kad pakeistume adresą: git remote set-url origin https://github.com/naujas-vartotojas/repozitorija.git Galiausiai patikriname ar adresas pasikeitė: ...

sk, vas. 8, 2026 · 1 min. · Ąžuolas Krušna

Kaip naudoti du skirtingus SSH raktus

Tai galime pasiekti apsirašant kokius raktus kada naudoti ~/.ssh/config faile. Pirmiausia, mums reikia įsitikinti, kad turime raktus savo kompiuteryje bei kodo versijavimo (toliau kaip pavyzdį naudosime tik Github, tačiau šis gidas tinka ir kitom git kodo versijavimo platformoms) svetainėje. Jeigu neturime raktų, galime juos susikurti # Asmeninis raktas ssh-keygen -t ed25519 -C "your@personal.email" -f ~/.ssh/id_ed25519_personal # Darbo raktas ssh-keygen -t ed25519 -C "your@work.email" -f ~/.ssh/id_ed25519_work Tai mums sukurs 4 failus ~/.ssh direktorijoje: ...

pr, saus. 26, 2026 · 3 min. · Ąžuolas Krušna

Kaip naudoti du skirtingus git vartotojus

Labas. Nusirodyti git vartotojo vardą ir el. paštą galime kiekvienoje repozitorijoje atskirai. Tačiau galime ir tai automatiškai susikonfigūruoti pagal direktorijas. Atskirai Kiekvienai repozitorijai galime nustatyti vartotojo vardą ir el. paštą git config komanda. cd ~/personal/personal-project git config user.name "Name Surname" git config user.email "your@personal.email" Pagal direktoriją Galime tai susikonfigūruoti ~/.gitconfig faile naudodami includeIf sąlygą. Pavyzdžiui, šiame faile apsirašome globaliai naudojamą git vartotojo vardą, el. paštą ir įtraukiame salygą naudoti kitą konfigūraciją tam tikroj direktorijoj esančioms repozitorijoms — mūsų atveju ~/personal/. Nurodome, kad naudoti šį konfigūracijos failą — ~/.gitconfig-personal. ...

pr, saus. 26, 2026 · 2 min. · Ąžuolas Krušna

Draugiškos Python klasės

Labas, šiandien noriu pasidalinti draugiškomis Python klasėmis. Tai tokios klasės, su kuriomis man dirbti smagiausia. Instrumentai, sukurti draugiškai klasei Nulipdyti draugišką klasę naudosimės Duomenų klasėmis (dataclasses), Operatorių aprašymu (operator overloading) Kompozicijos vietoj paveldėjimo principu (composition over inheritance) Taigi, kokios tos draugiškos Python klasės? A. Jas lengva suprasti ir su jomis susikalbėti (lengva skaityti ir rašyti) B. Suprantame vienas kitą be žodžių (operatoriais) C. Jos yra lengvai pasiekiamos (kompozicija vietoj paveldimumo) ...

an, spal. 29, 2024 · 11 min. · Ąžuolas Krušna

Surask trūkstamas datas Vertica lentelėje

Labas! Šiandien sužinosime kaip surasti trūkstamas datas Vertica lentelėje. Tiesiog taip — labai paprastai! Štai kaip čia! WITH start_and_end AS ( SELECT '2024-01-01'::TIMESTAMP AS tm UNION ALL SELECT '2024-12-31'::TIMESTAMP AS tm ) SELECT DATE(ts) dates FROM start_and_end TIMESERIES ts AS '1 day' OVER (ORDER BY tm) MINUS SELECT DATE_COLUMN FROM OUR_INTERESTING_TABLE ORDER BY dates Mums tereikia pasikeisti OUR_INTERESTING_TABLE į mus dominančią lentelę ir DATE_COLUMN į jos datos stulpelį. Kaip tai veikia? Gerai, pasiaiškiname kas čia vyksta. Taigi, pirmiausia mes apsirašome intervalo pradžios ir pabaigos datas. Tebūnie tai 2024 metų pradžios ir pabaigos datos: ...

sk, spal. 13, 2024 · 5 min. · Ąžuolas Krušna

Pasileisk Vertica duomenų bazę lokaliai

Labas! Šiandien sužinosime kaip pasileisti savo Vertica duomenų bazę! Šiam techniniam gidui sekti pravers minimalios žinios apie Docker, tačiau jos nėra būtinos. Pasiskaityti apie Docker galima mano anksčiau rašytame įraše “Docker sąvokos lietuviškai”. pi;ns (per ilgai; neskaičiau) Vertica pasileisti lokaliai galime labai nesunkiai! Kaip Docker konteinerį! Mums reikia tik 1 Docker kompozitoriaus failo “docker-compose.yml” ir vienos komandos “docker-compose up”. Nors tai nėra labai populiarus sprendimas ir jo reikia paieškoti internete, bet jis aprašytas net oficialioje Vertica dokumentacijoje! Reikėtų paminėti, kad nemokama Vertica licenzija leidžia iki 1 terabaito duomenų (TB) bei iki 3 mazgų (nodes). Visgi Docker aplinkoje pasileisime tik 1 mazgo Vertica, nes oficialiai Vertica palaiko tik tokį sprendimą. Kelių mazgų sprendimą palaiko tik Kubernetes aplinkoje. Šis sprendimas kiek sudėtingesnis, todėl jo dabar neapžvelgsime. ...

kt, rugs. 5, 2024 · 13 min. · Ąžuolas Krušna

Lengvai surask tai, ką jau rašei terminale

Šis gidas yra skirtas Apple gamybos Mac kompiuteriams Labas. Jeigu nori lengvai surasti tai, ką jau rašei terminale, bet nežinai kaip, tai šis gidas yra skirtas kaip tik tau! Viskas labai paprasta — tereikia rašyti “history”, tarpą, vadinamąjį vamzdžio ženklą “|”, tarpą bei paieškos frazę. history | grep <SEARCH> Naudojimosi pavyzdys: history | grep python Noriu sumažinti rezultatų kiekį iki 3, tuomet galiu “grep” komandai perduoti “-m” arba “--max-count” kintamąjį su 3 reikšme. ...

tr, gruod. 20, 2023 · 3 min. · Ąžuolas Krušna

Docker sąvokos lietuviškai

Labas! Šiame straipsnyje lietuviškai apsibrėšime bei įsivardinsime pagrindines Docker platformos sąvokos. Šis straipsnis nėra skirtas supažindinti su Docker platforma lietuviškai, nors ir gali suteikti minimalų suvokimą. Kodėl jis apskritai reikalingas? Lietuviškai kalbėti ir rašyti apie programinės įrangos inžineriją nėra lengva, nes visi terminai yra kilę iš anglakalbio pasaulio, todėl prieš gilinantis labai naudinga apsibrėžti svarbiausias sąvokas. Taip gimė ir šis trumpas straipsniukas, nes naudoju Docker rašydamas kitą straipsnį ir manau, kad dar ne vienoj vietoj naudosiu, todėl bus naudingas ateity tiek man, tiek skaitytojui. Kartu internete neradau šaltinių lietuviškai, kurie apie tai išsamiai rašytų. ...

tr, spal. 25, 2023 · 5 min. · Ąžuolas Krušna

Suspausk git commits iš pull-request į vieną

Angliškas terminas suspausti kelis git commits iš pull-request į vieną vadinamas “squash (and) merge” ir labai plačiai naudojamas. Taip jau nutiko, kad buvau pavargęs, pridariau klaidų, perskubėjau taisyti nepatikrinęs, todėl galiausiai prireikė 4 git commits tam, kad turėčiau be priekaištų veikiančius pageidaujamus pakeitimus. Tos klaidų taisymo žinutės man tikrai nebus reikšmingos iš ateities perspektyvos, tik trukdys pamatyti kitas svarbias žinutes. Natūralu, kad jų matyti nenoriu. Čia ir suspausiu savo git commits į vieną. ...

an, birž. 13, 2023 · 3 min. · Ąžuolas Krušna