Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - frantaN49

Stran: [1]
1
Studium a uplatnění / Re:Jak začít programovat od nuly?
« kdy: 01. 02. 2021, 13:05:53 »
Nejdřív si stanov cíl. Chceš programovat webovky, desktopové aplikace, hrát si s grafikou?

webovky: html, css, javascript + php nebo jsp (java) + sql
desktopové aplikace: java, python, c++

Pokud chceš pascal, tak ten se využívá v delphi, ale to už není tak populární jak dříve. Teď bych radši začal s něčím jiným.

Podle toho co chceš dělat, tak si vyber nějaké jazyky a něco si v nich zkus, třeba to obvyklé "hello world", ať vidíš jaká je kde syntaxe a co myslíš, že ti sedne nejvíc.

Pak hlavně v tom jazyku musíš něco dělat. Vymysli si složitější projekt a zkus jej postupně dotáhnout do konce (eshop, kalkulačka, jednoduché hry - např. piškvorky s hrou proti počítači). Nejdřív vytvoř základy a postupně přidávej na složitosti.

2
Czech jako locale nezná - hm, ok. Hlavně že mi nabídne Zimbabwe nebo co, to musí být dobrý cílový trh....

Tak takhle dneska vypadá setkání s linux deskopem u někoho, kdo není uplná totální lama a nebojí se otevřít si terminál, dokonce zhruba tuší, co s ním.
Debian nepoužívám (jako všechny distra se systemd), tak nevím jak na tom je, ale že by neměl lokalizaci do češtiny? Několikrát jsem instaloval Devuan a čeština tam jde v pohodě. Artix Linux - taky vše OK (včetně češtiny), instalace bez problému grafickým instalátorem... tedy vlastně jeden problém mám se všemi a to, že se neudrží stav jasu obrazovky po vypnutí systému. Buď to jde vyřešit nesvobodným ovladačem GK nebo zapsáním hodnoty do /sys/class/backlight/...brightness po startu systému. Nějaké ty mouchy má každý systém... ono ani na Windows není, pro neznalého, lehké dohledávat ovladače když ty systémové nefungují správně.

Buď to člověk chce používat a musí se něco naučit (řešení problémů lze dohledat na internetu) nebo se učit nechce a pak každý systém bude nepoužitelný a to platí pro všechny obecně. Začátečník si na Linuxu aspoň může zvolit distro, kde toho na začátku nebude muset řešit tolik. Uživatel Windows nemá moc na výběr.

Přijde mi, že repozitáře instalaci zjednodušují než naopak. Buď si ten repozitář přidej nebo používej distro, které tvoje oblíbené aplikace už v repozitářích má, např:
Artix linux(repozitář Archu): pacman -S vivaldi, odklepnu ano - pokračovat a je nainsatalováno.

3
Ve firmách se používají proto, protože většina zaměstnanců a manažerů je zná ze školy a proč by zkoušeli něco jiného, když jim to funguje.
Ve škole se používají proto, že většina zaměstnavatelů je používá a firmy chtějí, aby budoucí zaměstnaci je uměli používat.
Je to začarovaný kruh. Pokud to chceš změnit, musíš aktivně zkusit přesvědčit učitele a pak i zaměstnavatele, aby zkusili alternativy.
V mé práci se používaly jen Windows (i na server). Přesvědčil jsem je, že na server je lepší dát Linux a i na některé nové pracovní stanice(není potřeba kupovat licenci Windows a funkce to splní stejné). Někde to samozřejmě nejde... ale když ta možnost je, tak o ní člověk musí zkusit ostaní přesvědčit, jinak se nic nezmění.

4
Vývoj / Re:PHP v Netbeans a práca z viacerých miest
« kdy: 12. 11. 2020, 12:50:13 »
Netbeans? Správní programátoři přece používají jedině textový editor typu notepad++ , hardcore programátoři i ten bez zvýraznění syntaxe. :-D

No a těch Gitů existuje několik, stačí si vybrat:
https://www.guru99.com/github-alternative.html

5
Distribuce / Re:Ubuntu nebo Kubuntu?
« kdy: 12. 11. 2020, 12:42:56 »
Nějaké problémy taky může dělat Systemd, takže bych zkusil i něco bez něj. Když už chceš zkoušet Debian, tak zkus i Devuan nebo MX Linux.

Pokud seš ale zvyklý vše řešit zkrz systemctl, tak bys narazil. :-) Ale zkusit je můžeš.

6
Vývoj / Re:UML diagram tříd
« kdy: 12. 11. 2020, 12:21:00 »
Asi bych to dělal podle toho do jakého školního projektu to potřebuješ. Pokud je to semestrální projekt na střední, tak bych to udělal metodou žaves. Jestli je to do diplomové práce, tak to udělal sofistikovaněji.

Osobně jsem ale nikdy moc nepochopil k čemu dělat tyhle diagramy předem. Radši jsem nejdřív vše naprogramoval (původní představa se často změnila) a ten diagram (když byl vyžadován) udělal až podle hotového projektu. Ale každý to má jinak...

Metodou žaves bych to řešil asi takto:
osoba se rozděluje na zákazník a odběratel, kde každý z nich má atribut typ osoby. Typ může být "fyzická osoba" nebo "právnická osoba".

Sofistikovaně: použití toho kompositoru nebo podrobného větvení, ale nesmíš se do toho zamotat a musíš to pak umět vysvětlit a obhájit, pokud se tě kantor(komise) zeptá proč to máš tak dělané.

7
Vývoj / Re:PHP SQL volání databaze z funkce
« kdy: 06. 11. 2020, 11:04:28 »
K čemu tam máš try...catch? Výjimky nechávám probublat výš právě proto, abych nemusel použít die()...
Tak udělat to jde různě. Nechci se s vyjímkama zabývat dále, tak chybu zachytím tady a chybu zapíšu do proměné $error, či do nějakého logu. U funkce pro update se navíc udělá rollback.

Null se vrací pokud došlo k té zachycené chybě, aby bylo jasné, že došlo k chybě (jinak by se provedl ten první return a vrátily se data).
Někde dál v kódu tak můžu mít:
if (!empty($result)) { zobraz data } else { napiš uživateli že došlo k chybě, ať někoho zavolá... } nebo podobně (if result not null...).

Try, catch a die v konstruktoru mám proto, že pokud nepůjde databáze, tak uživatel v mé aplikaci nic neudělá a můžu si dovolit to takhle celé zaříznout. Nejspíš by pak bylo potřeba restartovat celý server.

Je to příklad pro inspiraci. Každý ať si to dělá tak, jak mu to pro daný projekt vyhovuje.

8
Vývoj / Re:PHP SQL volání databaze z funkce
« kdy: 05. 11. 2020, 09:50:29 »
Asi jsem dal špatný příklad na ten wrapper, radši jsem to měl vypsat sám. Myslel jsem to jako třídu, kde máš obecné funkce. Nezadáváš tam natvrdo SQL příkazy, jen obaluješ funkcionalitu.

Takže budeš mít např:
Kód: [Vybrat]
class Db {
protected $pdo;
protected $statement;
        protected $error;
   
public function __construct() {
try{
$this->pdo = new PDO(DB_DSN . ";dbname=" . DB_NAME .";charset=utf8", DB_USER, DB_PASS));
} catch(Exception $ex){
die("Nelze se spojit s databází!");
}
}

public function select($query,$data) {
try {
$this->statement = $this->pdo->prepare($query);
if ($this->statement->execute($data)) {
return $this->statement->fetchAll();
}
} catch (Exception $e) {
$this->error = $e->getMessage();
}
return null;
}
}

Pak pomocí $db = new Db(); vytvoříš nové spojení s databází
a dotaz provedeš jako $db->select("select * from X where id = :id",array(":id" => $id));
Tedy můžeš vkládat jakkoliv složité sql dotazy a data k nim, není to nijak omezené.

Výhoda je, že nemusíš všude vypisovat to připravování dotazů, jen zavoláš příslušnou funkci. Těch funkcí si tam dáš kolik potřebuješ...minimálně jednu další pro insert/update.

9
Vývoj / Re:PHP SQL volání databaze z funkce
« kdy: 04. 11. 2020, 21:19:39 »
Osobně radši používám PDO než mysqli, ale obojí je možné.
https://www.php.net/manual/en/book.pdo.php

Z hlediska bezpečnosti bys měl používat předpřipravené SQL příkazy, jinak ti to někdo lehce může hacknout a vytáhnout data nebo ti smazat databázi.
https://www.w3schools.com/sql/sql_injection.asp
https://www.w3schools.com/php/php_mysql_prepared_statements.asp

A jinak PHP je OOP, tak zkus víc zapojit třídy. Třeba DB wrapper. Něco pro inspiraci:
https://www.itnetwork.cz/php/mvc/objektovy-mvc-redakcni-system-v-php-pdo-crud-wrapped

pak třeba napíšeš:
Kód: [Vybrat]
$db = new Db();
$result = $db->select("SELECT * FROM `test_db` where id=:id",array(":id" => $lineID));

Nevím co píšeš za projekt, ale taky jedna možnost je všechno směřovat zkrz centrální index.php a dynamicky přikládat další php soubory dle potřeby.
A taky používat autoloader tříd (viz spl_autoload_register):
https://www.php.net/manual/en/function.spl-autoload-register.php

Pak nemusíš všude dávat např. include (cesta_k_php_třídě);, ale rovnou vytvoříš nový objekt,např: $db = new DB(); a autoloader ten include udělá sám.

Sice to není přímo odpověď na tvůj dotaz, ale můžeš se tím inspirovat. :-)

Stran: [1]