Jump to content
php.lv forumi

daGrevis

Reģistrētie lietotāji
  • Posts

    4,824
  • Joined

  • Last visited

Everything posted by daGrevis

  1. > Kas tās par krāsām? Kaut kā pokemoniski izskatās.. Pink Floyd albuma kovers. http://www.last.fm/music/Pink+Floyd/The+Dark+Side+Of+The+Moon Ideja no šitā threda. https://www.reddit.com/r/MechanicalKeyboards/comments/2c7xfe/the_dark_side_of_the_moon/
  2. > Kur daGrevis ar Das Keyboard? Man nāk precīzi šitāda ar MX Brown, tagad gaidu. https://i.imgur.com/FMjTAWM.jpg Keyboards ir uz WASD V2 88-Key ISO Custom Mechanical Keyboard bāzes. http://www.wasdkeyboards.com/index.php/wasd-v2-88-key-iso-custom-mechanical-keyboard.html
  3. Tieši tā — gan integrācijas (no PHP puses), gan funkcionālie (ar brovseri izmantojot Selenium) ir vienlīdz noderīgi un vajadzīgi projektam.
  4. Ar to in-memory DB esi uzmanīgs — tā atšķiras no tās, ka produkcijā. :)
  5. > Ko darīt ar datubāzi, palaižot integrācijas testus? Ja tiek spaidītas kaut kādas pogas, tad dati iekš DB mainās. Pirms tam jāpalaiž kaut kāds DB seed refrešs? Mēs pilnīgi visu vidi, kas ir balstīta uz Docker containers, pilnīgi nonesam un palaižam no jauna pirms testu pildīšanas. Tas ietver sevī Postgres, RabbitMQ un Redis containers. Vienkāršā gadījumā palaid FLUSH ALL or smth un datubāzes migrācijas, lai būtu tukša bāze sākumā. > cik bieži būtu normāli palaist integrācijas testus? Izskatās, ka tie varētu aizņemt kādas 3min.. Mēs laižam pie katra pusha iekš master. Integrācijas testi (īstenībā saucās funckionālie testi) ir ilgi un var būt pat desmitiem minūšu.
  6. Paskaties šito. http://nightwatchjs.org/
  7. Selenium nav Python specific nevienā vietā.
  8. Labi, nav jēgas te runāt. Kad kāds no jums zinās kas vispār ir “incidental complexity“, varam padiskutēt.
  9. Mkdir, move_upload_file un tamlīzdīgs bullshit ir kkas, ko tev uzspiež glabāšana filesistēmā un ir incidental complexity. Ja mēs pieņemam, ka viena rindiņa ir **jebkurā valodā**, uz **jebkura backenda** (filesistēma, datubāze utml.), kādi ir plusi un mīnusi katram?
  10. Da jebkas, kas ir baltīts uz Selenium (mēs izmantojam Robot Framework, bet jautājums ir vai jums vajag Gherkin). PhantomJS un viss, kas ir baltīts uz to, kā CasperJS, ir galīgi garām, jo PhantomJS ir balstīts uz aizvēsturiska WebKit.
  11. > Faili jāglabā failsistēmā, dati - datubāzē Faili arī ir dati. Tas tā, pēc tavas loģikas.
  12. Es par to S3 tikai tāpēc, ka datubāzē nevajadzētu glabāt video vai lelus failus. Bet kad es saku, glabāt avatarus un whatnot iekš datubāzes ir OK. No otras puses, atļauj lietotājam augšupielādēt failus, kas tiek mesti tur pat blakus tajā failsistēmā, kur atrodas kods un paroles, vienkārši ir uzprasīšanās uz lielām problēmām.
  13. > Nē, zini, speciāli ņems atsevišķu serveri lietotāju avatariem. Mazus avatarus un citus štruntus maucam datubāzē. Lielākiem failiem izmantojam S3 vai alike. Izmantot vienu un to pašu failsistēmu gan kodam, gan static ir kkas tāds, par ko vajadzētu griezt pirkstus nost.
  14. Uz tā paša servera, kur PHP kods? :)
  15. Mani arī netraucē, ka kāds pastāsta par kādu citu tehnoloģiju un salīdzina to ar esošajām.
  16. daGrevis

    Neziprotama kļūda

    Saki, ka abstrakcijas ir sliktas?
  17. daGrevis

    Neziprotama kļūda

    Jap, zem pārsega var būt visādas maģijas. Tieši tā, kā codez stāsta, tas strādā iekš Clojure.
  18. daGrevis

    Neziprotama kļūda

    https://en.wikipedia.org/wiki/Immutable_object https://github.com/facebook/immutable-js
  19. daGrevis

    Neziprotama kļūda

    Kad cilvēki nezināja kas ir ritenis un domāja, ka vienīgais veids kā pārnest priekšmetus ir tos nest ar rokām — arī viņi domāja, ka viss ir kārtībā un tas ir pats efektīvākais un labākais veids. Ja tu neesi iedziļinājies un strādajis ar programmēšanas valodām, kurās mainīgais ir immutable, tu nezini, vai mutable values rada bagus, jo neko citu neesi redzējis.
  20. daGrevis

    Neziprotama kļūda

    Tas nav JavaScript specific un saucas passing by reference (otrs ir passing by value). Galvenokārt tiek darīts performancei — nav jākopē un jātaisa pilnīgi jauns objekts. Daļa no jaunajām valodām (salīdzinoši jaunajām) no šī antipatterna un feila dizainā virzās prom ar konceptu sauktu par immutable variables. Tas strādā tā, ka tu nekādīgi nevari izmainīt vērtību mainīgajam — tu vienmēr veido jaunu mainīgo ar kopētu saturu. Varbūt tas ir nedaudz lēnāk (bet tas visticamāk nebūs bottleneck), taču tas atrisina 100 un vienu heisenbagu un ir tā vērts. Kā piemērus šādai pieejai varu minēt Haskell un Clojure.
  21. daGrevis

    Neziprotama kļūda

    Ar šito uzmanīgi. Var nesmuki bagi rasties... :) ``` ➜ ~ node > x = [] [] > foo = function(y) { y.push(42); } [Function] > foo(x) undefined > x [ 42 ] ```
  22. > Tipa šitā UPDATE topics SET comments=comments+1 WHERE topicid=:id Un tad ņemties, ka kkur nav pareizs skaits, jo kkur, ļoti sen, bija aizmirsta tranzakcija un programma izlidoja kkur pa vidu. Jebkurā gadījumā, to count nevarētu uztvert kā kko nopietnu un vajadzētu kkādu smuku mehānismu kas pārskrien pāri visiem rakstiem un sarēķina count no esošajiem komentāriem šim rakstam.
×
×
  • Create New...