Programozás

Programozással kapcsolatos ötletek, megoldások

A SHELL signalok ereje videóban, mellékelt forráskóddal

Borítókép címmel és súlyzós ember alakkal a pixabay-ről, PowerPoint-tal generálva.

Az előző alkalommal végigjártuk a konfigurációs fájlok újratöltésének módját SHELL szkriptekben, amihez a HUP signalt használtuk, de ennél sokkal több signal létezik. A videóbann bemutatok néhányat, amit talán még nem is hallottál, valamint arra is látsz majd példát, hogyan lehet az egyik processzből továbbítani egy másik felé a jeleket. Ez felhasználható arrra is, hogy egy több processzt indító szkript a leszármazottakat is leállítsa megfelelően, vagy éppen a leszármazottak jelezzenek a szülőnek, hogy már leállhat ő is.

Megosztás/Mentés

Konfigurációs fájl újratöltése SHELL-ben a program leállítása nélkül

Borítókép címmel és pingvin képpel PowerPoint-tal generálva.

Korábban megmutattam, hogy tölti újra az NginX proxy a konfigurációs fájlt, miután a docker-gen újragenerálta. Ezt a módszert saját szkripteknél is lehet alkalmazni, de a használt parancs nem működik automatikusan, hanem az egyes programoknak maguknak kell lekezelni, hogy mit kezdenek a nekik küldött utasítással. Utasítások alatt pedig most a signalokat, magyarul jeleket értjük, amikből több is létezik, most viszont kifejezetten arra fogunk koncentrálni, amit a háttérben futó démon programoknál jellemzően a konfigurációs fájl újratöltésére használunk. A videóban megmutatom, hogyan tudsz saját szkriptet írni, ami menet közben képes utasításra leálllás nélkül változtatni a beállításain.

Megosztás/Mentés

Egész szám növelése, csökkentése Bash ciklusban

Gondolkodó ember árny a piyabay.com-ról + hozzáadott gondolat

Egész szám használata ciklusváltozóként sok programnyelvben gyakori, de minden programnyelven egy kicsit másképp történhet és más buktatói lehetnek. Ebben a rövid cikkben egy olyan, Bash-ben felmerülő buktatóról írok, amit talán még te sem ismertél. Tudtad-e például, hogy egy egyszerű inkrementálás vagy dekrementálás a szkript leállását okozhatja? Mondtam én...

Megosztás/Mentés

Bash aliasok és változókkal, függvényekkel helyettesítésük

Laptop billentyűzet képe a pixabay.com-ról

A korábbi cikkekben előkerültek már a függvények, amikkel egy fájlon belül is önálló egységekre bonthatók a nagyobb szkriptek, illetve egyfajta függvénykönyvtárként bárki számára átadhatók. Ez nagyon jó, de néha talán feleslegesnek tűnik egy egyszerűbb feladatra. Ilyenkor jöhetnek jól az álnevek, avagy aliasok. Más részt viszont az alias sem való mindenre és nem is minden esetben alternatíva függvényre vagy változóra. Ebben a cikkben megmutatom mindhárom előnyét, hátrányát, hogy mindig a legmegfelelőbbet választhasd.

Megosztás/Mentés

Bash függvények sudo-val

Testépítű pingvin képe a pixabay.com-ról

Ha Linuxon szeretnél adminisztrátori jogosultsággal futtatni utasításokat, gyakran egy nem adminisztrátor felhasználóval lépsz be, majd a sudo paranccsal szerzel az adott utasítás futtatásának idejére adminisztrátori jogosultságot, avagy root jogot. Ugyancsak gyakori, hogy egy program elég nagyra nő, hogy a sok-sok shell script mellett, azokban függvényeket is írsz. A nagy kérdés, hogy mi van, ha ezek közül az egyik függvénynek adminisztrátori jogokkal kell működnie, de az azt meghívó szkriptnek nem. Egy részt, talán itt az ideje újratervezni, de talán megvan az okod rá és kioktatás helyett okításra van szükséged, ezért a következőkben megosztok veled pár lehetőséget. Az alábbiak megértéséhez érdemes elolvasni a Bash argumentumok és titkaik című cikket is.

Megosztás/Mentés

Bash argumentumok és titkaik

Bash terminál képe a pixabay.com-ról

A Bash egy népszerű Linux shell, amit ugyan kényelmi szempontból sokan leváltanak a termináljukban egy másfajta alapértelmezett shellre, például Z shellre, de a szkriptek továbbra is Bash-hez készülnek. Van egy-két sajátossága a Bash-nek, de az olyan alap funkció, mint az argumentumok átadásának működése néha úgy tűnik, kevés figyelmet kap, hiszen más shellekben is hasonlóan működik, nincsen benne semmi különleges. De vajon valóban így van? Ki mered jelenteni, hogy mindent tudsz róluk? Ha igen, a cikk talán nem neked készült. Régóta írok Bash szkripteket is, de mégis volt, aminek én sem voltam teljesen tudatában. Olvasd tovább a cikket és teszteld le a saját tudásodat is.

Megosztás/Mentés

Apache HTTPD konfiguráció vagy .htaccess? Mikor, melyik, miért?

Fogaskerék kép a pixabay.com-ról

Az Apache HTTPD egyik jellemzője, hogy ".htaccess" fájlokban is lehet bizonyos szerverkonfigurációs paramétereket módosítani. Ezek a fájlok bármely könyvtárba letehetők és az adott könyvtárszinten belül érvényesek csak. Sok alkalmazás eleve tartalmaz egy vagy akár több .htaccess-t, de előfordulhat, hogy te magad szeretnél egyes paramétereken, a szerver viselkedésén változtatni. De hova érdemes és adott esetben hova lehet tenni ezeket a változtatásokat? Tényleg csak egy jó megoldás létezik, vagy árnyaltabb a probléma? Erre próbálok választ adni a cikkben.

Megosztás/Mentés

Composer helyes használata Dockerrel

composer logo a getcomposer.com-ról

A Composer a PHP függőségkezelője, ami szintén PHP nyelven lett megírva, és jellemzően egy composer.phar nevű fájl telepítésével használjuk a projekt gyökeréből vagy rendszermappából. Éles környezetben nem szükséges a webszerveren lennie, csak a függőségek letöltéséhez szükséges. De akkor miért is kérdés egyáltalán a Dockerrel használata? Ha tovább olvasod a cikket, hamarosan megtudod.

Megosztás/Mentés

Verziókezelés és ami mögötte van

change kép pixabay.com-ról

A programozás világában vannak olyan eszközök vagy megoldások, amiket csak egy bizonyos réteg használ vagy akár ismer. A többi programnyelven vagy adott szintű feladat esetén nincsen rá szükség. A verziókezelés nem ilyen. Gyakorlatilag a legalacsonyabb szinteken is használunk valamilyen verziókezelő szoftvert hosszú évek óta, és bár a verziókezelés a szoftverfejlesztésből indult ki, más területeken is alkalmazzák, például szöveges dokumentumok verzióinak követésére. Nem azt mondom, hogy ez az első dolog, amivel mindenkinek kezdenie kell egy fejlesztést, de leginkább nem arra kell okot keresnem, hogy miért használjam, hanem arra, hogy miért ne. Utoljára 2011-ben írtam cikket a témában, de azzal ellentétben, ebben a cikkben a verziókezelés szükségességét és értelmét próbálom körüljárni, ezzel motivációt próbálva adni azok számára, akik még mindig azt a kérdést teszik fel, hogy "mi ez és miért kezdjek neki?"

Megosztás/Mentés

BB kód youtube videókhoz

Youtube videóra utaló borító kép

A napokban kérdezte tőlem egy ismerősöm, hogy hol talál youtube linket értelmező BB kódot. Nyilván, ma már mindenhez írtak ezerféle megoldást, de egy gyors Google kereséssel nem találtam megbízhatónak tűnőt, ezért kis gyakorlásként írtam egyet. Ezen azért nyilván lehetne még optimalizálni, de ha valakinek hiányzik egy függvény, amivel Youtube videók linkjét vagy csak azonosítóját alakíthatja lejátszható videóvá, akkor használja bátran.

Megosztás/Mentés