Codeigniter – Seeder

Imamo bazu podataka a projekt nam je u razvoju. Baza je naravno prazna jer nemamo stvarnih korisnika. Seeder nam tu služi kao mehanizam s kojim...
Imamo bazu podataka a projekt nam je u razvoju. Baza je naravno prazna jer nemamo stvarnih korisnika. Seeder nam tu služi kao mehanizam s kojim možemo popuniti bazu podataka sa "lažnim" podacima. Na ovaj način simuliramo realno korištenje projekta. Prije svega, kako pripremiti projekt? Vidi ovdje. Faker Faker je lib koji dolazi sa Codeigniter-om. Njegova svrha je da stvara lažne podatke (fake data). Za testiranje, idemo na http://localhost:8080/ i koristimo "Home" kontroler u "app/Controllers/Home.php" sa ovim preinakama: <?php namespace App\Controllers; use Faker\Factory; class Home extends BaseController { public function index() { $faker = Factory::create(); return $faker->name(); } } Kao što...

Codeigniter – migracija

"Migration" ili migracija je naziv za proces u kojem preko CLI naredbe učitavamo datoteku migracije i po učitanim postavkama, stvaramo tablice/stupce u bazi podataka. Radi...
"Migration" ili migracija je naziv za proces u kojem preko CLI naredbe učitavamo datoteku migracije i po učitanim postavkama, stvaramo tablice/stupce u bazi podataka. Radi se o tome da kada prebacimo projekt na drugo računalo, možemo stvoriti cijeli kostur baze podataka sa CLI naredbom. Pripremimo projekt Da sad tu ne pišem iznova o tome kako pripremiti projekt, sve imate ovdje. Da bi napravili datoteku migracije: php spark make:migration main S ovime dobivamo datoteku: ./app/Database/Migrations/2022-08-07-084359_Main.php Sa sadržajem: <?php namespace App\Database\Migrations; use CodeIgniter\Database\Migration; class Main extends Migration { public function up() { // } public function down() { // } } S...

Redux Toolkit – uvod

Globalni ili "application state" je tema kojom se bavimo danas. U principu stvar funkcionira slično kao built-in React "useContext" hook. Cijeli projekt se nalazi ovdje:...
Globalni ili "application state" je tema kojom se bavimo danas. U principu stvar funkcionira slično kao built-in React "useContext" hook. Cijeli projekt se nalazi ovdje: LINK Ako želimo jednostavno opisati state, možemo reći da se "state" sastoji od varijable i metode. Varijabla je trenutna vrijednost a metoda je funkcija koja postavlja tu trenutnu vrijednost. Ako se varijabla promjeni, komponente aplikacije se prilagođavaju novom state-u. Osim toga, imamo state inicijaciju, odnosno početne (init) vrijednosti state varijabli aplikacije. Prije nego što nastavimo, ne bi bilo loše da bacimo oko na ovu objavu. Pravimo projekt: npx create-react-app moja-redux-aplikacija Instaliramo Redux: npm install --save...

REST API

Danas na jelovniku u "ioox-studio" kuhinji imamo REST API. Radi se o CodeIgniter4 aplikaciji koja je povezana sa mariadb (mysql) bazom podataka. Aplikacija je bez...
Danas na jelovniku u "ioox-studio" kuhinji imamo REST API. Radi se o CodeIgniter4 aplikaciji koja je povezana sa mariadb (mysql) bazom podataka. Aplikacija je bez PHP session-a i koristi JWT token za autentikaciju/autorizaciju. Osim ovoga gore koristimo Respect paketić za validaciju. Za testiranje sam koristio Resting ekstenziju koja je dostupna za Chrome/Firefox. Rute sa '/' na kraju nisu dozvoljene. Tako da npr. "https://api.ioox.studio/user/login/" nije ispravna ruta. Projekt smo postavili ovdje: https://api.ioox.studio Za login se spajamo na rutu: https://api.ioox.studio/user/login Koristimo header: "Content-Type":"application/json; charset=utf-8" Kao "raw" body šaljemo: { "email":"ddd@mail.com", "password":"12345678" } Ako je sve u redu, dobivamo odgovor: { "statusCode": 200,...

Tehnički katalog

Tehnički katalog za Wild Systems. Katalog sam izradio u Inkscape-u a "rasterske" elemente sam modificirao u Kriti. Sve je u A5 formatu u 300dpi. Slike...
Tehnički katalog za Wild Systems. Katalog sam izradio u Inkscape-u a "rasterske" elemente sam modificirao u Kriti. Sve je u A5 formatu u 300dpi. Slike sam "izrezao" u Inkscape-u sa Huion HS611 tabletom. Slike NASLOVNASTRANICA 1.STRANICA 2.STRANICA 3.STRANICA 4.STRANICA 5.STRANICA 6.STRANICA 7.

SVG loading animacija

Minimalna "loading" animacija u svijetloj i tamnoj varijaciji. Ima "flex center", pa bi se trebalo lagano uklopiti u html elemente. Light: <div style="display: flex; align-items:...
Minimalna "loading" animacija u svijetloj i tamnoj varijaciji. Ima "flex center", pa bi se trebalo lagano uklopiti u html elemente. Light: <div style="display: flex; align-items: center; justify-content: center; height: 100%;"> <svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#000"> <g fill="none" fill-rule="evenodd"> <g transform="translate(1 1)" stroke-width="2"> <circle stroke-opacity=".3" cx="18" cy="18" r="18"/> <path d="M36 18c0-9.94-8.06-18-18-18"> <animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"/> </path> </g> </g> </svg> </div> Dark: <div style="display: flex; align-items: center; justify-content: center; height: 100%;"> <svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#fff"> <g fill="none" fill-rule="evenodd"> <g transform="translate(1 1)" stroke-width="2"> <circle stroke-opacity=".5" cx="18" cy="18"...

Kako dobiti dane u mjesecu sa PHP-om?

Naprimjer, na jednoj stranici želimo kalendar sa svim danima i mjesecima. Funkcija uzima kao argumente mjesec i godinu a vraća redni broj dana i skraćeni...
Naprimjer, na jednoj stranici želimo kalendar sa svim danima i mjesecima. Funkcija uzima kao argumente mjesec i godinu a vraća redni broj dana i skraćeni naziv (tri slova) za dan na engleskom jeziku. function ds_getDays($year, $month) { // Mon Tue Wed Thu Fri Sat Sun $list = []; for($d=1; $d<=31; $d++) { $time = mktime(12, 0, 0, $month, $d, $year); if (date('m', $time)==$month) { $dateExplode = explode('-',date('Y-m-d-D', $time)); array_shift($dateExplode); array_shift($dateExplode); $list[] = $dateExplode; } } return $list; } Zatim imamo funkciju koja zove prvu: function ds_runOnMonth($year, $fn) { $list = []; for ($i=1; $i<13; $i++) { $list[] = $fn($year, $i);...

hex2rgb

Kada postavimo: element.style.backgroundColor = '#ffffff'; vrijednost se konvertira u: rgb(255, 255, 255) Iz nekog razloga ova funkcija nije dio standardnih funkcija pa ćemonapraviti novu funkciju....
Kada postavimo: element.style.backgroundColor = '#ffffff'; vrijednost se konvertira u: rgb(255, 255, 255) Iz nekog razloga ova funkcija nije dio standardnih funkcija pa ćemonapraviti novu funkciju. Funkcija uzima: #ffffff a izbaciva: rgb(255, 255, 255) Funkcija: const hex2rgb = (str) => { str = str.replace('#', ''); var aRgbHex = str.match(/.{1,2}/g); var aRgb = [ parseInt(aRgbHex[0], 16), parseInt(aRgbHex[1], 16), parseInt(aRgbHex[2], 16) ]; return 'rgb(' + aRgb[0] + ', ' + aRgb[1] + ', ' + aRgb[2] + ')'; }

Kako instalirati i koristiti React na Linuxu?

Kako instalirati i koristiti React na Linuxu? Trebamo li proširiti svoje frontend znanje sa frameworkom u kojem jednostavno možemo podijeliti elemente web stranice (aplikacije) u...
Kako instalirati i koristiti React na Linuxu? Trebamo li proširiti svoje frontend znanje sa frameworkom u kojem jednostavno možemo podijeliti elemente web stranice (aplikacije) u samostalne komponente? Ovdje pitanje naravno sadržava i odgovor. Isplati li se naučiti React? Problem sa HTML/JS je taj da teško možemo održavati/nadograđivati veće projekte. React nam omogućava da se lakše snalazimo sa komponentama i da lakše povežemo evente preko state-a. Imamo i “build” opciju koja optimizira kod. Komponente možemo kasnije prekopirati u novi projekt i koristiti sa manjim prilagodbama. Osim mobilne, možemo napraviti web aplikacije ili Electron desktop aplikacije. Posao React developera je tražen i...