Jump to content
php.lv forumi

F3llony

Reģistrētie lietotāji
  • Posts

    1,353
  • Joined

  • Last visited

Everything posted by F3llony

  1. > Un tavs kods ir labāks? Jā. > Jau atrunāts. Nekas nav atrunāts. Tas, ka Tu uzskati, ka testu neesamība neko nemaina ir Tavs viedoklis. Tas nepadara to par pareizu. > Tas nenozīmē, ka tur nav neviena baga. Protams. Taču tas nozīmē to, ka mainot funkcionalitāti iespējamība kaut ko salauzt ir N^ mazāka. Tev tāda iespējamība ir 100%, jo Tev nav testu. Punkts. > kura prasa daudz laika, lai iemācītos vienkāršas lietas Un lasīt Tavu murgaino kodu neprasa? CLI komponentei konkrēti cik vajadzīgs izlasīt? 5-10 minūtes? Appkernelim? 10 more. > Ne pilnībā. Maintainability is not a problem because there's so little code. Symfony maintainot gan ir "jautri". Kas par bullshit? Maz koda tagad. Maz koda būs arī rīt? Maz koda būs arī kad kāds būs pamanījies kaut ko izveidot uz šī koda pamata? Es Symfony maintainoju ikdienā. Kas jautri? Elementāra būšana pamatā. > Tāpēc, ka kods ir self-explanatory. Nē. > Es uzskatu, ka koda piemēri ir daudz vērtīgāki par dokumentāciju. Ja ir kaut kādi baigi daudzie varianti, ko kādam API var padot, tad var vēl blakus piemēram komentāru bloku uzrakstīt, bet ne vairāk. :D que? > Mans 5 minūšu "garbage" ir saprotams max 1 minūtes laikā, ja prot lasīt kodu. Es protu lasīt kodu. Es arī saprotu ko Tu tur esi samačkājis. Taču es arī saprotu cik greizs ir tas Tavs kāršu namiņš. > Priekš konsoles komandas, kas izvada "Hi there, world!", tas ir daudz par daudz koda. Cik daudz konsoles komandas kas izvada Hi there world izņemot demo nolūkos Tu esi redzējis? LOL? > Turklāt tai Symfony console struktūrā, vienai komandai obligāti nepieciešama vesela klase ar vairākām metodēm. Un? Un nevis vairākām, bet divām - viena apraksta komandu, definē argumentus utt., otra ir runnable. Viss. > Manā gadījumā 1 klasē var būt jebkāds skaits komandu, katrai sava metode. Gross SRP violation. > Un vēl ir tāds feins punkts, ka Symfony konsolei vajag uztaisīt objektu katrai konsoles handlera klasei tikai lai uzzinātu, kādu komandu tā handlo. Un? Pat ja tam app būs 10,000 komandu, tas pilnīgi neko nemainīs, ne ātruma, ne kādā citā ziņā. :D Kāds ir Tavs arguments? Un Tavu garbage koda sempli es nemaz nekomentēšu. Kaut kāds idiotisms. Goda vārds, man sīkie kad uzšauj pa klaviatūru iznāk loģiskāk. Kā pievieno, validē un lasa argumentus Sy var redzēt augstāk linkā. Nekas pašam nav jāraksta, configure nodefinē kādus argumentus pieņem, tas tiek ielikts --help un tiek validēts. Atliek vien nolasīt. Kur vēl elementārāk.
  2. :D tu uz tā sava koda cyclomatic complexity esi paskatījies? Es esmu diezgan drošs vismaz viens 5inieks Tev tur toč atradīsies. Tev nav testu. Izmaiņas kodā var izraisīt kaut kādus side-effects par kuriem Tu nezini. Nepatīk PHPUnit? Izmēģini PHPSpec, vismaz; Symfony konsole ir burtiski noklāta ar testiem, no A-Z; Symfony konsolei ir visaptveroša dokumentācija; http://symfony.com/doc/current/components/console/introduction.html- lai uztaisītu elementāru Sy console app nepieciešami minimums vien 2 faili - index un vismaz 1 komanda. Ja Tev nepieciešama pus stunda lai saprastu kā šis darbojas, man Tev ir pagalam bēdīgas ziņas. SOLID Tavā brūvējumā ir pilnībā noignorēts; Tātad, maintainability ir crap. Tev ir nulle dokumentācijas whatsoever. Arī kods pats sevi nepaskaidro ne cik labi. "Ātrāk 5 minūtēs uzdrukāt" nav labākais arguments diskusijā par softu. Tavs 5 minūšu garbage, kas makes sense tikai Tev pašam visiem pārējiem iespējams makes no sense whatsoever. Šeir ir neliels work in progress no manis, rakstīts uz Symfony komponentēm (freimworks PHAR pakotām CLI aplikācijām) - https://github.com/protobile Šeit ir sample komanda: https://github.com/protobile/project/blob/master/src/AppBundle/Commands/HelloWorldCommand.php, šeit ir Tava imo - https://github.com/jurchiks/simpleframe/blob/master/app/classes/ExampleConsoleHandler.php Salīdzini, un padomā. Geee.
  3. ... Diez jams kādreiz sapratīs, ka visas tās komponentes ir pamatā pilnīgi decoupled un tas, ka tur ir 10k lines of code nenozīmē, ka visas jamas ir jāizmanto? Piemēram, vienkāršai konsoles app vajag ko? Input, Output un Application. Application pati salasa komandas vai jamas manuāli piereģistrē iekš šā, tur ir option un argument parser, un viss. Tajā pašā laikā visa komponente nespiež nevienu no daļām īsti izmantot un pie reizes atrisina problēmu ar komandrindas parsēšanu un help ģenerēšanu. Tik sasodīti vienkāršs dīls un noklāts ar testiem, so var būt drošs, ka nekas nepabruks. Tajā pat laikā, es vēl atceros laikus kad es arī gribēju visus riteņus pats pārrakstīt. Tas gan bija pirms gadiem 10 un beidzās līdz ar brīdi, kad atklājās, ka darot kaut ko produktīvi par to var saņemt pieklājīgu samaksu :DD
  4. Tu zini vārda "diskusija" nozīmi? Un atšķirību no verbāla vidējā pirksta Tavā virzienā? :P
  5. Juri, es netaisos ar Tevi diskutēt par programmēšanu, ne vairāk kā ar āzi aiz sētas par Šveices nacionālo nodokļu politiku. Goda vārds.
  6. Nu ja tā nopietni domā par tieši to kodu ne konkrēto piemēru ar static call, tad viss tas kods ir tāds diezgan pabriesmīgs... Kāda velna pēc vispār vienai konsoles komandai būtu vajadzīgi N entrypointi. SRP or naah? Un ja jau konsoles handleris vienalga tiek reģistrēts kaut kā, tad nafig nepadot jau instanci kas implementē kaut kādu komandas interfeisu? Sentence: rm -rf un composer install symfony/console...
  7. Kāda velna pēc STATISKAS METODES izsaukšanai būtu nepieciešama objekta instance? Common sense my ass.
  8. class Foo { public static function boo() { echo 'moo'; } } $thing = 'Foo'; $otherThing = 'boo'; $thing::$otherThing(); Hue hue hue hue... :> Iemesls, kāpēc storms nezina, kas tajā $handler ir jo storms nezina ar kādu vērtību metode tiks izsaukta. Edit: perfectly valids PHP7 kods: class Foo { public static function boo() { echo 'moo'; } public static function huh() { return 'Foo'; } } $thing = 'Foo'; $otherThing = 'b'; $rekt = 'oo'; $wat = 'huh'; $thing::$wat()::{$otherThing.$rekt}();
  9. Legacy vēl izmanto tcpdf, jaunākas lietas izmanto wkhtmltopdf vienkāršam stuff, kas ir pašu veidots. Ir vietas kur tiek izmantots https://github.com/arachnys/athenapdf(iemesli un atšķirības starp wkhtmltopdf un athena tur arī aprakstīti).
  10. Roze, meklē bugu pieteikšanās formā, kas nosūta 90% pieteikumu uz miseni :D
  11. Roze, atceries, es vienreiz arī teicu ka pieteicos un nekāda atbilde nebija. Tas gan bija gadus atpakaļ, bet tomēr. :)
  12. Es arī runāju par datu daudzumu. Bet datu daudzums + cost of processing + cost of storage = speed. Cost of processing šeit ir zems, cost of storage ir pamatā nekāds. Daudzums var būt liels, bet šis daudzums nerada blakus efektus un ir acīmredzami diezgan vienkārši menedžējams. Tāpēc arī mans jautājums - kāds ir cost of storage?
  13. Es gan uz C# daudz vairs neko nedaru, bet pieglabāšu, paldies. Javā es dažkārt izmantoju H2 un Prevayler.
  14. Tu gribi teikt, ka nav atšķirības starp 1000 requestiem/s pret RAM highly-custom optimizētu struct un 1000 requestiem/s pret, teiksim, Postgre? :P Que? Man Tev pat ir konkrēts piemērs - man ir aplikācija, kas darbojas uz N serveriem, diezgan vienkāršs REST agregators. Uz katru kasti 1 instance, threadpool of 9/8, sastāv no SparkJavas kā HTTP + custom in-memory struktūras lai pieglabātu datus, 1 control thread, 4 tredi Spark, 3 tredi workeriem un 1 sync treds (read-write-delete) pret DB, kas šajā gadījumā ir Mongo. Spark + in-mem struct + Mongo WC:W2: ap 60-65k/rps (jo uz Mongo flush nav jāgaida). Spark + Mongo WC:NACK (!!!): ap 30-35k/rps. Spark + Mongo WC:ACK: ap 15k/rps. Spark + Mongo WC:W2: <10k/rps.
  15. Un tu taču neglabā katru izmaiņu kaut kādā DB, vai ne? :P tikai rezultējošo steitu?
  16. Es nodarbojos. Un? Labi, robotus nevadu un CNC toč ne (lai gan labprāt uzfrēzētu sev šo to). Taču ar finansiālām tranzakcijām nodarbojos gan. Pie tam apjomos, kas varētu pilnībā mainīt Tavu definīciju par to, kas ir masīva datu apstrāde. :) Un FYI, 1k "ierakstu" sekundē rezultējas 2.5 miljardos 30 dienās. Pastāsti, kur Tu iegūsti 2.5 miljardus organisku datu punktu mēnesī ko apstrādāt? :P vai tie tev ir kaut kādi ģenerēti dati, pār kuriem tev ir pilnīga kontrole? :P
  17. :D ... un kam tad gala beigās bija derīgs tas tavs uberais frontends? Blogā paspīdēt, cik kruts UI? Projekts jau tāpat nofeiloja... :D
  18. Kā diez Tu nonāci pie tādas loģikas? :D Arī ņemot globāli un statistiki, Tavs arguments feilo, JO frontend = user interface. Obviously, javascriptā var uzrakstīt business stuff un nogrūzt to izpildei klienta pusē, bet vai tad tas būs frontend, vai uz klienta mašīnas izpildāms backend? Visa šitā semantika un kategorizācija ir milzīgs argumentatīvs fail. Jebkura procesa implementācijas kompleksitāte ir proporcionāla dotā procesa biznesa prasību kompleksitātei. Viss.
  19. Es par to sinhrono backendu... Nu labi, PHP ir (kind of) sinhrons stuff (un arī tad ne vienmēr). So tas nu gluži nebūs arguments. Es vispār nesaprotu, kā var salīdzināt tādā veidā, ooo frontends ir grūtāks/ķēpīgāks kā backends :D cmoon, tas atkarīgs no tā, ko veido - e.g. kāds ir uzdevums.
  20. Ko? Briedi, kas ar tevi?...
  21. Atšķirība tikai tā, ka DO nedala kuponus uz ielas stūra pie DO koffeešopa, DO kuponi ja pareizi saprotu ir promotion jauniem useriem, ko izsūta referāļiem :P
×
×
  • Create New...