Trendy v PHP

Re:Trendy v PHP
« Odpověď #30 kdy: 19. 08. 2022, 14:39:08 »
jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.

#1: Nedelam webove aplikace! PHP pouzivam na CLI, muj kod ma format utilit.

#2: O urovni bezpecnosti jakehokoliv frameworku vypovida historie. Pro bezpecne reseni je rozhodne lepsi NEpouzit existujici framework. Mene include, mene der. Prosta matematika.

Tak to už vôbec nie. Security by obscurity?
Verejný open-source kód je 1000x viac auditovaný a 1000x bezpečnejší ako nejaká na kolene napísaná "utajená" spatlanina, ktorá v najlepšom prípade prešla code review jedným človekom.

Rikejte si co chcete, ale pocet exploitovanych WordPresu a FCKeditor-u mluvi za sve. Nechci tohle svinstvo na svem stroji.

Jestli si neko da namahu se 0day explitaci jedine me obskurni instance, budiz mu to prano - ale dnesni hrozby nastesti jeste neprovadi AI, ale boti co jedou podle sablony na known vulnerabilities.

Vzdy budu verit vice svemu kodu nez cizimu. A jestli s tim nesouhlasite, klidne si vy poustejte random binarky a skripty z netu, prece vam nic nehrozi dle vaseho presvedceni :-)

kdyz se najde chyba ve wordpresu, tak se o tom pise. Kdyz nekdo hackne nejaky amatersky slepenec, tak se o tom nedoctete, prestoze je to pro utocniky snadnejsi.


Re:Trendy v PHP
« Odpověď #31 kdy: 19. 08. 2022, 14:45:14 »
tahle myslenka politickych kecu v open source mi taky leze na nervy. Spustim composer update a hned tam v cli blika 'Stand for ukraine' nebo tak. Bohuzel mi prijde, ze toho je cimdal vic. V JS svete to je snad jeste horsi

me vadi i ukrajinske vlajecky v profilech. Opravdovi patrioti bojuji na fronte. Zbabelci bojuji na twitteru za to aby druzi umirali za jejich zvracene "hodnoty". Podle vykorenenych kosmopolitu je ceska vlajka symbol nenavisti, ukrajinska vlajka nevadi.
« Poslední změna: 19. 08. 2022, 14:48:37 od A.P.Hacker »

Rike

Re:Trendy v PHP
« Odpověď #32 kdy: 19. 08. 2022, 14:49:31 »
To zhodnocení rizik je trochu individuální.
Když vím, že zákazník na svém nicotném webíku nebude ten Wordpress aktualizovat, takže bude mít časem vysoce pravděpodobně děravou verzi, na kterou se zaměřují mraky botů, tak bych mu skoro nainstaloval svůj produkt, který je podle mého nejlepšího vědomí a svědomí zabezpečen a odladěn, protože hacker nebude vynakládat tolik úsilí na jeho individuální prolomení kvůli nicotnosti webíku. Potud asi teoreticky dobrý.

Prakticky to ale bude tak, že tam ten WP bude, protože ho dokáže ovládat každý, případně si na to koupí kurz, jsou k tomu šablony a návody aj. a já jen do smlouvy dám, že se zříkám odpovědnosti za produkty třetích stran (jmenovitě...) a potenciální škody plynoucí z jejich užívání (s důrazem na nutnost aktualizovat).

RDa

  • *****
  • 2 465
    • Zobrazit profil
    • E-mail
Re:Trendy v PHP
« Odpověď #33 kdy: 19. 08. 2022, 15:30:30 »
Prakticky to ale bude tak, že tam ten WP bude, protože ho dokáže ovládat každý, případně si na to koupí kurz, jsou k tomu šablony a návody aj. a já jen do smlouvy dám, že se zříkám odpovědnosti za produkty třetích stran (jmenovitě...) a potenciální škody plynoucí z jejich užívání (s důrazem na nutnost aktualizovat).

A tohle je presne jadro pudla - lepici a bastlici pouziji framework treti strany a zreknou se odpovednosti, takze pokud Mana z horni dolni co si necha udelat webik a nebude platit pausal nekomu, protoze sama si aktualizace neuhlida/nenainstaluje, tak to dopadne tim, ze bude mit naborenej web a zkazenej biznis.

Oproti tomu v reseni "jakkoliv deravem", psane dodavatelem, se odpovednosti zrict nemuzete, takze si date sakra zalezet, aby vas zakaznik pak nezruinoval na opravach a nesiril o vas negativni recenze. A tohle plati jak u reseni porizenem externe, tak i u internich procesu spravne fungujici "korporace".

Navic kvalita/bezpecnost se uhlida lepe v jednom cloveku, ktery nema terminy.. nez hromade opic, nad kteryma svisti bic od sefa.

Stejne jako muj nazor na cely sw a web development svet je, ze jsou to dnes totalni luzri (vykon, bezpecnost, atd) a tezko mi to vyvrati - tak nebudu vyvracet vase mineni o me. Clovek si vzdy veri nejvice sam sobe a nazdar. Co se musi porizovat od ciziho, musi byt opravdu poradne zduvodnene, a nesmi to byt nejaky lepic co jede smlouvy ja nic, ja muzikant. Dejte mi garence, nebo f*ck off.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Trendy v PHP
« Odpověď #34 kdy: 19. 08. 2022, 16:21:23 »
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Anotace pro reflexi ok, ale často se to dost přehání a je víc kódu nad metodou než v ní.
Anotace mají zajímavou vlastnost v tom, že jsou deklarativní. Tedy jiný přístup k "programování". Někdo (třeba já) by mohl říct, že čím víc deklarativního kódu tím lépe  :)


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Trendy v PHP
« Odpověď #35 kdy: 19. 08. 2022, 16:26:29 »
čím víc deklarativního kódu tím lépe
Svatá pravda.

Rike

Re:Trendy v PHP
« Odpověď #36 kdy: 19. 08. 2022, 16:45:28 »
Imperativní programování FTW!  :P

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Trendy v PHP
« Odpověď #37 kdy: 30. 08. 2022, 08:00:34 »
Pozeralsom si par prednasok o PHP, a stale mam pocit, ze riesia veci, ktore ine jazyky nemusia, alebo ktore su tam uz samozrejmost 15 rokov (anotacie, dlhsi beh programu, workry,...). ORM, ktore sa ani nepodoba na ORM, lebo si tam to SQL-ko musi napisat clovek skoro cele sam  - Doctrine, IoC co moc nefunguje a tak.

Cakal som, ze za tie roky sa to dakam posunulo, no okrem toho, ze sa zacali pouzivat namespace sa to vsetko zacalo komplikovat a zrazu treba na uplne kazdej kravine pouzivat cli.

Re:Trendy v PHP
« Odpověď #38 kdy: 30. 08. 2022, 09:20:14 »
Citace
čím víc deklarativního kódu tím lépe
Svatá pravda.
imperaticní programování ftw
Žádné programování, jen psaní konfigurace a deklarace  ( alá docker-compose.yml atd)! A ještě sloučení konfiguráků různých projektů jednoho autora do jednoho co vládne všem.
ideálně narvat veškerou konfiguraci světa do jednoho souboru world.conf, kde bude vše cose týče It

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Trendy v PHP
« Odpověď #39 kdy: 05. 09. 2022, 22:51:44 »
Pozeralsom si par prednasok o PHP, a stale mam pocit, ze riesia veci, ktore ine jazyky nemusia, alebo ktore su tam uz samozrejmost 15 rokov (anotacie, dlhsi beh programu, workry,...). ORM, ktore sa ani nepodoba na ORM, lebo si tam to SQL-ko musi napisat clovek skoro cele sam  - Doctrine, IoC co moc nefunguje a tak.

Cakal som, ze za tie roky sa to dakam posunulo, no okrem toho, ze sa zacali pouzivat namespace sa to vsetko zacalo komplikovat a zrazu treba na uplne kazdej kravine pouzivat cli.

A které ine jazyky máš třeba na mysli? Já jsem před časem začal pracovat na projektech v C#, a teda mé zklamání by se dalo krájet.
PHP je samozřejmě bastl, to nikdo nepopírá. Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python. Pokud se člověk nepřesune do jiného levelu jazyků, jako Haskel, Skala, Rust - tak je to všechno cca různý odstín modré.

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Trendy v PHP
« Odpověď #40 kdy: 06. 09. 2022, 07:52:43 »
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.


Pokud se člověk nepřesune do jiného levelu jazyků, jako Haskel, Skala, Rust - tak je to všechno cca různý odstín modré.
Co sa taky Rustu, ten ma tiez svoje problemy, na ktore ale clovek pride ked s nim zacne robit. A taky Haskell sa mi velmi paci je cisty, ale na moc veci sa nehodi a este menej sa pouziva.

Re:Trendy v PHP
« Odpověď #41 kdy: 06. 09. 2022, 14:05:18 »
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.
i sa nehodi a este menej sa pouziva.

Ty jiné jazyky si hlavně nenesou tak šílenou zátěž špatného návrhu a mizerné základní knihovny jako php, kde stále ještě spousta knihovních funkcí vrací nulu nebo false při chybě místo, aby vyhodily výjimku. Existuje externí knihovna, která to zkouší řešit, ale při mém zkoušení nefungovala: https://thecodingmachine.io/introducing-safe-php

Také mě překvapilo, že v php není ani tak základní věc jako datový typ pro datetime, takže na projektu, kde jsem dělal, se používaly rovnou tři in-house knihovny pro práci s časem, každá nedomrlá svým způsobem. Navíc v php nejdou přetížit operátory, takže třeba pythonovské datetime(year=2010,month=1,day=1) + timedelta(minutes=60) si ani sám nemůžeš implementovat a u nás se to řešilo podivnými funkcemi jako TimeStamp->addSeconds().

Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět a všechno si dělat samo. Takže máme sice phpUnit, ale Nette si vyvíjí vlastní Tester, který má možná nějaké drobné fíčurky navíc, ale chybí podpora v IDE (polofunkční plugin do PhpStormu nepočitám) a testy v debuggeru si prostě jednoduše nepustíš. Podpora pro NEON v IDE - jde, ale zaplať si propietární plugin. Atd.

Přijde mi, že PHP jde celkem dobrým směrem (třeba typová kontrola a phpstan jsou fajn), ale staví na tak špatných základech, že mě osobně dává větší smysl věnovat se jiným jazykům.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Trendy v PHP
« Odpověď #42 kdy: 06. 09. 2022, 15:25:38 »
Co sa taky Rustu, ten ma tiez svoje problemy, na ktore ale clovek pride ked s nim zacne robit
Co například?

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Trendy v PHP
« Odpověď #43 kdy: 06. 09. 2022, 16:47:34 »
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.

Zkrátím to: Prostě toto tvé tvrzení rozporuju ve všech bodech obžaloby 1.

Chtěl jsem tu napsat nějakou podrobnější odpověď, ale asi to nikoho nezajímá, takže na to kašlu. Prostě nemáš pravdu, to je vše.


1/ Bavíme se o tom, že to má C# (sic), nebo Java vyriesene milionkrat lepsie. To, že s tím (minimálně Java) přišla dřív nikdo nerozporuje. Ale taky nezajímá. Počítá se tady a teď.
« Poslední změna: 06. 09. 2022, 16:49:24 od BoneFlute »

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Trendy v PHP
« Odpověď #44 kdy: 06. 09. 2022, 17:11:35 »
Také mě překvapilo, že v php není ani tak základní věc jako datový typ pro datetime,
https://www.php.net/manual/en/class.datetime.php


Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět
Nette dost spolupracuje se Symfony, různě si vypůjčují nápady i řešení. IMHO mnoho řešení ze Symfony jsou příliš akademická či nedotažená (třeba Symfony/Console mě nehorázně irituje). Každopádně obě skupiny dobře spolupracují, aby si neházeli klacky pod nohy.


Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět a všechno si dělat samo. Takže máme sice phpUnit, ale Nette si vyvíjí vlastní Tester,
Tak já třeba Tester ignoruju, vesele používám PHPUnit, a nijak mě neuráží, že Nette má svoje vlastní řešení. Kdo jsem abych jim kecal do jejich štěstí.