Python za početnike

Pridružujem se pohvalama za Atom. Instalirao prije 2 mjeseca i u njemu uradio jedan php projekt. Koristan alat.

1 Like

Bitbucket, Prezi, NatGeo, NASA, Washington Post, Mozilla,
Big like za Django, radio sam u njemu cak i diplomski rad Django REST Framework i mogu reci da nema jednostavnijeg nacina za kreirati mocan API.

Atom je dobar, ali visual studio code je bolji. :grin::grin::grin:

Da se vratim na temu, nekad davno proucavao sam sto se nudi za python od frameworka i za oko mi je zapeo flask framework.

Sastoji se od svega 15-20 file-ova, jednostavan, a mocan. :innocent::innocent::innocent:

2 Likeova

U potpunosti se slažem s @jorgovan.

Za IOT projekte Flask + MQTT i čuda se rade :smiley:

1 Like

Python se dosta koristi za AI, strojno ucenje, big data, a koliko sam vidio neki migriraju sa java na python. Vjerojatno jer java vise nije besplatna za produkciju. Ono sto nedostaje pythonu jest kvalitetan compiler. Ima nuitka compiler,


ali jos je u povojima.

Go lang nije stekao nekakvu popularnost na webu, a ni za ostalo, jer ga je preskocio nodejs, a sto se tice hw-a , IOT-a, tu se sve vise koristi python.

Flask framework je ono sto nedostaje php-u, jedan mali i jednostavan, a kvalitetan i mocan framework.

Ako je za vjerovati ovoj stranici:
https://www.tiobe.com/tiobe-index/
Python jako dobro kotira.

Takodjer odoo erp je pisan u pythonu + postgresql baza.

Sto Flask ima a, primjerice, Symfony nema?

Dobro pitanje. Netko voli symfony, netko laravel, a netko neki treci framework.

Da se razumijemo, ne kazem da je symfony los. Ako bi trebao, radio bi symfony ili laravel , uopce nije problem, ako bi morao ili neki treci framework.

Ono sto neki ne mogu razumjeti, da ima developera koji vole eleganciju i slobodu i koji se ne pale na svaki novi framework koji izadje ili na svaki novi jezik.

Radio sam codeigniter kojeg poznajem jako dobro, nesto cakephp, laravel, yii, phalconphp.

Isto tako nema savrsenog sustava, nekome je dobar raw php-a, a nekome nije, isto tako je i sa framework-om.

Jednom si napisao da je laravel standard, sad mene zanima tko odlucuje o tome sto je standard? Developeri koji krenu sa frameworkom, pa ne znaju napraviti pagination u raw php, ali vazno da trube kako je laravel standard, a npr. web app im se raspada ili web shop i ni jedan njihov sustav nije upotrebljiv.

Flask je elegantan i mali framework, nekome to odgovara, a nekome ne.

I dalje mi nisi odgovorio na moje pitanje. Rekao si kako PHP-u nedostaje nesto tipa Flask.

Sto Flask nudi, a da Symfony nema? Konkretno.

Flask u odnosu na symfony ne nudi nista, osim jednostavnosti i elegancije.

Mozes li definirati tu jednostavnost i eleganciju?

Sto mozes kroz Flask napraviti jednostavnije i elegantnije nego na Symfonyu? Na koji nacin?

Ovako zvucis kao politicar, daj konkretno nesto reci.

Symfony je u startu kompliciran. Netko tko nema pojma o mvc-u i frameworku, krene raditi symfony, pod uvjetom da zna php, koliko njemu treba ucenja da napravi neki app kroz ucenje tipa cms ili neki mini web shop? Koliko mu treba da napravi login sustav, acl i sl.? Samo nemoj reci pa ima sve gotovo, super, onda ti koji u startu uzmu gotovo, a ne nauce ispod haube rade lose jer nisu naucili temelje.

Imas dva primjere na njihovim stranicama, pogledaj primjer za blog.

Da li znas sto je jednostavnost?
Jednostavnost za mene predstavlja da je nesto napravljeno na jednostavan nacin.

Npr. Jedna stvar se moze napraviti na vise nacina, od onog jednostavnog do kompliciranog.

Mozda zvucim kao politicar, ali ne palim se na svaki novi framework koji izadje.

Evo primjera, bezveze lupam, ovo je za mene jednostavno.

user.php

function details($id){

 loadModel('user');

 $userData = getUserById($id);

 render('user_details', $userData);

}

Zasto?
Vrhunska dokumentacija je tu da pomogne oko svega.
Ako mislis da nesto nije dobro dokumentirano, posaljes pull request i dokumentiras to bolje radi benefita tisuca i tisuca developera koji svakodnevno rade sa Symfonyem. Nije nista uklesano u kamenu, sve se da izmijeniti i na taj nacin mozes doprinijeti zajednici.

Ne znam. Sad daj ti odgovori na isto pitanje – ali za Flask? Jer kako pricas, imam osjecaj da zelis reci da se na Symfony treba prilagoditi i nauciti jednu-dvije o njemu prije nego uspijes napraviti vlastiti CMS, a za Flask ne moras?

Okej. Ne znam jesi li vise konceptualno pisao, ili se fakat radi o koristenju globalno dostupnih funkcija, pa cu pitat – kako bi testirao to pomocu automatiziranih testova? Vidis li mozda neke druge probleme koje mozda imas u svom pristupu?

Radi usporedbe – kako ti izgleda sljedeci kod?

/**
 * @Route("/user/{id}")
 */
public function show(User $user)
{
    return $this->template->render('user_details', $user);
}

Jer kod koji sam kopirao iznad je legit controller u Symfonyu. Cak se i definicija rute moze iz anotacija prebaciti u neki drugi nacin konfiguracije (npr u yml konfiguraciju), pa onda ostanes samo s

public function show(User $user)
{
    return $this->template->render('user_details', $user);
}

Je li to komplicirano ili se uklapa u tvoju definiciju jednostavnosti i elegancije?

Konceptualno. Ja nisam napisao da se ovo treba koristiti, samo sam napisao ono sto je jednostavno. Iako se moze i tako raditi, nitko nikome nista ne brani.

Ovo tvoje je isto jednostavno dok app ne naraste i dok se ne pocne komplicirat.

Sve krece od jednostavnog u pocetku.

Slazem se za testove.

Par riječi o Django vs Flask

1 Like

S obzirom da su se profesionalci umješali ja ću dati svoje početničko iskustvo koje vjerujem da će više pomoći početnicima jer ovo djeluje zbunjujuće :slight_smile:

Ja sam krenuo s PHP + MySQL i učio proceduralno programiranje. Mislim da je to netko dobro i napisao u prijašnjim postovima da sve kreće od papira. Nakon nekih 2 mjeseca sam se prebacio na objektno koje mi se u samom startu odmah svidjelo jer je puno pregledniji i jednostavniji kod ali za to je bila potrebna podloga koju sam “naučio” korak prije. Nakon toga sam se uhvatio u koštac s MVC. To sve je trajalo nekih 4-6 mj ali sam nakon toga bio u stanju rješiti ovaj zadatak


i dobio razgovor za taj posao. Još sam napravio neke svoje aplikacije prije nego sam stao zbog lijenosti jer je lakše uzeti WP :confused:

Sad me zanima AI za kućnu upotrebu i vidim da je netko ovdje spomenuo da je python dobar za to pa ću svakako pogledati i probati krenuti s njime. Mislim da se netreba uopće zamaratati toliko koji jezik nego stvarno naučiti pa ćeš lako se prebaciti s jednog na drugi kad naučiš.
Također ovo s frameworcima isto ubijanje u startu.

Sorry profići cjenim vaše iskustvo i znanje ali osim hrpe zbunjujućih informacija niste dali nijednu koju bi početnik mogao iskoristiti za sebe.

6 Likeova

Zato što većina komplicira i onda nastane čušpajz koji se teško održava. Svi se prave fini kako je njihov code najbolji, a u praksi se sve raspada i tako je svugdje. Zakrpa na zakrpu. Težak deploy i sl.

Može bilo tko reći da ovo nije istina, možda i jest negdje sve kako treba, ali u dosta slučajeva nije.
Onda ekipa počne brijat domain driven development, mikroservisi i još hrpa drugih stvari i sve dublje se zakopavaju zato što ne znaju u praksi to implementirati na jednostavan način, nego kompliciraju da ispadnu pametni i nakon nekog vremena pobjegnu iz firme.

Istina , treba poštivati najbolje iz prakse, ali dosta njih nezna, pa kao što sam gore napisao, nastane čušpajz.

@Master_Yoda

Što te konkretno zanima?

Baš sam sad provjerio, složio sam tako da mi je funkcija automatski dostupna.

Mogu imati sa akcijom ili bez nje u controlleru.
Da se razumijemo , ovo su samo primjeri koji rade.

  1. slučaj – akcija

    <?php

    switch ($action) {

     case "index":
         index();
         break;
    

    }

    function index() {

     load_model('test');
    
     echo 'hello from index';
    
     $testData = test(); // iz modela test, funkcija test
    
     print_r($testData);
    
     $b = query_select("select * from test limit 10 offset 0 "); // query u controlleru, ovo može biti i u modelu
    
     print_r($b);
    

    }

    2.slučaj, bez akcije

    <?php

    function index() {

     load_model('test');
    
     echo 'hello from index';
    
     $testData = test(); // iz modela test, funkcija test
    
     print_r($testData);
    
     $b = query_select("select * from test limit 10 offset 0 "); // query u controlleru, ovo može biti i u modelu
    
     print_r($b);
    

    }

Da se vratim na python, flask pruža jednostavnost. Jednostavan razvoj, jednostavan deploy, ako se ne komplicira, isto kao i expresjs kod nodejs-a.

Istina expresjs ne nudi ništa spektakularno kao ni flask, ali ipak ih ljudi koriste.

Provjerio sam na indeed:
php – 17 k poslova
python – 67 k poslova
nodejs – 3.5 k poslova

symfony – 265 poslova
laravel – 1.7 k poslova
django – 2 k poslova
flask – 1.2 k poslova

Mogao si ovo posložit po traženosti. Mislim, pricas o organizaciji xd
Organizacija počinje od najjednostavnijih stvari.

1 Like

Django ima odlican Django REST Framework za API, kao i Symfony API Platform… meni opcenito vise lezi Python sintaksa i citljiviji kod nego PHP, ali ono sve je tu u pet deka, vazno je biti dobar inzenjer, a tehnologija je samo alat.

1 Like

Jel netko sa unity? Pocetnik sam u tome, al skroz mi zanimljivo…

Pozdrav @zgubijumf.

Ovo ti mogu preporučit. Unity je full moćan radio sam 2D i 3D igre.

2D
https://www.udemy.com/unitycourse/

3D

1 Like