Adventi kalendárium programozóknak
Korábban már ajánlottam a CodeWarst kódolás gyakorlására, most jöjjön egy ünnepi verzió, Adventi kalendárium programozóknak.
CI/CD Automatizálás drone.io-val
Céges berkeken belül már régóta használom a Gitlab által kínált gitlab-runnert tesztek futtatására és rendszerek frissítésére és most elérkezett az idő, hogy a magán dolgaimhoz is bevessek valami hasonlót, de ennél azért valamivel könnyebb rendszerre vágytam.
Ennek eredménye lett a Drone, ami alapértelmezetten támogatja többek között a Gitea-t is.
A telepítéshez Dockerre és a leírások követésére van szükség.
Jelenleg az alábbi Git hosting szolgáltatásokat támogatja:
GitHub GitLab Gitea Gogs Bitbucket Cloud Bitbucket Server Telepítés után pedig a gites felhasználónkkal tudunk belépni és aktiválni reponként a szolgáltatást.
Clean code a gyakorlatban
Ha programozóként tévedtél ide, akkor biztos foglalkoztat hogyan lehetne minőségi kódot előállítani. Ez egy művészet, de mint mindent, sok gyakorlással és tapasztalással ez is elsajátítható. Az elején még nagyon fájdalmas lecserélni a $c változót egy sokkal beszédesebb, kifejezőbb névre, de pár hét/hónap múlva, mikor újra dolgoznod kell az adott résszel meg fogod köszönni magadnak.
Tervben van, hogy konkrét példákon keresztül fogom bemutatni hogyan lehet széppé tenni az örökölt kódjainkat, de addig is 2 nagyon jó videót szeretnék megosztani a témában:
Programozzunk 3D-t
Elsőre kb mindenkinek az AutoCAD ugorhat be ha valami modellezésről van szó. Ha valaki kicsit is érdeklődik a 3D nyomtatás iránt, akkor találkozhatott a következőkkel: FreeCAD, ThinkerCAD, Blender, stb. De mi van akkor, ha nem akarunk kattingatni?
Chrome futtatás headless módban
Selenium teszt futtatáshoz előbb vagy utóbb elengedhetetlen, hogy egy olyan szerveren fusson a kód, ahol nincs vizuális felület. Ez lehet egy tényleges konzolos szerver vagy egy docker image. Szóval ami kell hozzá:
Független projektek egy git repóban
Git-nél alapértelmezetten az első commit lesz az ős és erre tudunk építkezni. Viszont nem minden esetben lehet szükségünk rá:
Ha szűkölködünk a repókban vagy ha a kód annyira elfajzott, hogy minden telepítés más és más lett idővel ez egy nagyon hasznos trükk:
Ha szűkölködünk a repókban vagy ha a kód annyira elfajzott, hogy minden telepítés más és más lett idővel ez egy nagyon hasznos trükk:
Gitlab pipeline deploy
Ha Gitlabot használunk és szeretnénk a PHP projektünket commit után közvetlen deployolni a sandbox szerverünkre, a következőkre lesz szükségünk:
CodeBug
Ha még csak most ismerkedünk a programozással vagy mással szeretnénk megismertetni, ez egy remek kézzelfogható lehetőség:
Közösségi Code Kata
Ha unnánk már a magunkban Katázást, akkor a CodeWars igazi felüdülés lesz.
Docker webfejlesztéshez
Dockerfile és docker-compose.yml egy új projekt elkezdéséhez vagy egy meglévő tuningolásához:
Code Kata
Ahogy a zenészeknek, úgy a programozóknak is gyakorlásra van szükségük, hogy minél könnyedebben tudjanak feladatokat megoldani. Erre szolgálnak a Katák. A Kata a harcművészetben ismert formagyakorlat, amelyben a gyakorló elképzelt ellenféllel dolgozik. A gyakorlatok folyamatos ismétlése segít memorizálni a helyes mozgást.
PHP 5.6 függvény paraméter lekérés
Kicsit el vagyok maradva a php újabb verziót illetően, mert a legtöbb helyen régebbire kell kódolni és így néha érnek meglepetések 🙂
Epson TM-T20II
A megérkezés után jöhet a tényleges fejlesztés. Mit is lehet csinálni egy ilyen nyomtatóval?
Programozó betűtípus
Kicsit már unalmas mindig ugyanazokat a betűket bámulni, de keresgélve a neten rengeteg alternatív betűtípust lehet találni. Jelenlegi kedvencem az Inconsolata, de ezen a linken számos más font is elérhető.
PHP strip_tags alternatíva
A strip_tags() függvénnyel az a nagy probléma, hogy a multibyte-os karaktereket hibásan kezeli. Erre egy lehetséges megoldás:
Sublime Text + PlainTasks
A munka során szükség lehet todo listára, amire rengeteg online elérhető szolgáltatás van, de néha elég egy egyszerű txt is.
Egy ilyen megoldás/szabvány a todo.txt, amihez rengeteg alkalmazás létezik, de a Sublimehoz találtam egy “szebb” lehetőséget.
Egy ilyen megoldás/szabvány a todo.txt, amihez rengeteg alkalmazás létezik, de a Sublimehoz találtam egy “szebb” lehetőséget.
Git utolsó commit visszavonás
Ha még nem push-oltuk a commitunkat, akkor lehetőség van visszaállni az előző állapotra:
Ingyenesen letölthető programozás könyvek
A GitHubon készült egy tároló, ami nyelvenként csoportosítva gyűjti össze a szabadon letölthető ebookokat.
Az angol nyelven írtak itt találhatóak, de létezik magyar szekció is. A LinuxLinks oldalról további 24 könyv tölthető le angol nyelven. A Packtpub oldal napi szinten kínál ingyenes könyveket angolul. Egyszerűen csak regisztrálni kell és Claim-elni. Aki kicsit el akar mélyedni a linuxban: 25 Free Books To Learn Linux Ha pedig mégis valami fizetős oldalra vágynánk, akkor Laravel és hozzá tartozó technológiák esetén javaslom a Laracastot vagy az Udemyt, ahol szintén bele lehet futni ingyenesen bezsebelhető kurzusokba.
Git HTTP hozzáférés mentése
Ha a Git repositorynkat http kapcsolaton keresztül tudjuk használni, akkor jól jöhet, hogy nem kell megadni minden parancsnál a felhasználónév, jelszó párost.
SSH kulcs generálás
Ha sokat és/vagy sok helyre kell belépnünk ssh kapsolaton keresztül, jól jöhet, ha nem kell minden belépésnél megadnunk a jelszavunkat, hanem egy előre generált biztonságos kulccsal tudjuk azonosítani magunkat.
Node.js Socket.io teszter
Az alábbi kód segít tesztelni a távoli socket.io kommunikáció válaszát.
Kommunikáció a megrendelővel
CSS blur effekt az oldalra: A blur egyedül chromeban működik, a firefox nem támogatja a hivatalos oldalán se…
ügyfél: és egy ilyen aberrált megoldás?: ügyfél: 1. betöltődik a content oldalt 2. csinál a progi egy pillanatképet arról a kontentről 3. nem tölti be a kontentet, csak azt a képet 4. ráteszi a progi a blur-t 5. betöltődik a teljes oldal Használjunk indokolatlan informatikus szöveget indokolatlan helyen (css-nél): ügyfél: gondolom ez most nem lesz spagetti kódú, mint az eredetink, és a végén csak egy paraméter átírással növelhető lesz Gomb hover: ügyfél: akkor mind a négyre tegyünk egy glow-t én: és milyen glowt szeretnél?
Sublime Text 2 tapasztalatok
Az előző cikk óta használom ezt a szerkesztőt. Előtte a Komodo Edit volt a favorit, nagyon szerettem, de sajnos a Sublime olyan dolgokat tud, amit nem tud űberelni…
( Nemrég jött ki 8-as Komodo, amihez még nem volt szerencsém, de 1-2 dolgot megvalósít a Sublimeból. Ha valakinek van tapasztalata vele, várom szeretettel a hozzászólásokat )
Sublime Text 2
A hétvégén akadtam rá erre a nagyon letisztult és meglepően gyors szerkesztőre.
Mivel tűnik ki a többitől? többszörös kijelölés: egyszerre több sorban tudjuk kijelölni az azonos részeket ( van lehetőség viszont kihagyni egyes elemeket ) és a kijelölteket egyszerre módosíthatjuk ( pl.: azonos változók tömeges cseréje ) tömeges módosítás: több sort kijelölve, egyszerre tudjuk módosítani azokat ( tömb készítés sorokból ) eclipse-hez hasonló kezdőbetűk beírásával függvények / változók ajánlása gyors hozzáférés a parancsokhoz, fájlokhoz, projektekhez, fájlokon belüli függvényekhez A szerkesztőt egy szép fekete témával kapjuk, a fülek a Chrome füleihez hasonlítanak, még az is meg van valósítva, hogy a jobbra eső lapokat zárja be.
Torrent automatikus letöltése HTPC-n ( Debian + XBMC )
Az alap ötlet az, hogy ne kelljen külön az asztali gépen letöltenünk az anyagot és azt felmásolni a htpc-re. A htpc kezelje le, ha kap egy torrent fájlt, töltse le és ha elkészült másolja a megfelelő mappába. Az XBMC-ben pedig már csak egy frissítést kelljen elkövetni.
HTML átalakítása Textile formátumba
Új szórakozásom (nem szórakozás), hogy a HTML dokumentációkat akarom átvinni wiki-be, ami Textile formátumot használ.
Mivel nem akarok mindent újra begépelni, így elkezdtem konvertert keresni.
Volt 1-2 ígéretes, de végül a html2textile python script mellett döntöttem. Ez csak egy függvény, amit aztán úgy használunk, ahogy tetszik.
Íme egy szösszenet, ami a beírt elérési úton kigyűjti az összes html fájlt és egy bizonyos részletét kiolvasva átalakítja textile formátumba:
<br /> from html2textile import html2textile<br /> import codecs<br /> import os</p> <p>dir_path = “/foo/bar”<br /> os.
Google Authenticator saját oldalhoz
Ma találtam egy nagyon jó kis leírást arra, hogy hogyan lehet a Google Authenticatorját saját programunkban használni. Az Authenticator előnye, hogy mivel idő alapú a kód, így nem kell a telefonnak nethez kapcsolódnia, így bárki, akinek van Android, iPhone vagy Blackberry telefonja könnyen használhatja.
A cikk itt található: http://www.idontplaydarts.com/2011/07/google-totp-two-factor-authentication-for-php/
A forrás pedig itt: https://github.com/dwisetiyadi/CodeIgniter-PHP-QR-Code Ha a Google Authenticator már a telefononkun van, akkor alapból a qr code beolvasása után már mentetné is a kulcsok közé.