Jump to content
php.lv forumi

codez

Reģistrētie lietotāji
  • Posts

    4,276
  • Joined

  • Last visited

Posts posted by codez

  1. Nosauciet kādu, piemēru, kur reāli vajag rindas menedžeri "kā ēst"? Pats parasti izmantoju cron job. Visam pietiek.

     

    Tipiskākais ir loggeris, kuram nāk log mesidži no visām vietām un viņš rindiņā visus apstrādā, pieglabā, kur vajag un paziņo, ja kaut kas nav kā vajag.

    Es vēl bieži izmantoju, lai kaut ko saglabātu. Teiksim atnāk pieprasījums uz kontrolera ekšanu un tajā kaut kas jāsaglabā datu bāzē, tad nu es aizmetu mesidžu aktoram, kurš to apstrādā un noglabā, bet kontroleris var turpināt darbu un uzreiz atbildēt klientam.

  2. Par tiem 60 gadiem ir arī cita problēma, proti, vai acis vēl spēs 8h dienā noturēt fokusā visus burtus datora ekrānā. Tas gan neattiecas tikai uz programmētājiem. Doma tāda ka iepriekš cilvēces vēsturē nav bijis tik liels skaits profesiju, kur ikdienā ir tāds slogs uz acīm. Manuprāt mēs esam +- pirmā izmēģinājuma porcija tam kas notiek ilgtermiņā.

     

    Lieto aptuveni +1.5 - +2 brilles un acīm pie monitora būs tas pats, it kā tu skatītos tālumā.

  3. Kā tu automatizēsi kkādus pārlūku vipendronus? Teiksim, skrollojot izslīd augšējā URL josla, mainot dokumenta augstumu un salaužot, teiksim, kaut kādu pilnekrāna popupu vai pielīpošo elementu?

     

    Nez, taisa screenšotus un kaut ko mēra, vai salīdzina. Vai arī tīri DOM objektiem mēģina noteikt koordinātes un citu parametru atbilstību.

  4. Tas viss ir forši, ja esi enerģisks entuziasts, kas ar prieku apgūst jaunās tehnoloģijas un priecājas. Bet citiem tas nozīmē pārvarēt pretestību, ko galvai prasa pārslēgt domāšanas kontekstu. Un tas nav tik viegli, kā izskatās no malas. Un tas kļūst pavisam grūti, ja galvā ir 100 konteksti, nevis 2 vai 3. Tas nav tikai "tagad es izmantošu šo". Tā ir jūra ar jautājumiem:

     

    Man šitā bija, bet kopš lietoju 3-5 grami kreatīna dienā, konteksti paši slēgājas. Pat nevajag nekādus kontekstus, viss sķiet tik vienkāršs un pašsaprotams.

  5. Neviens cits šeit pie tādiem mega-projektiem kā tu nestrādā, ...

     

    pffff!

     

    P.S.

    Tur nav jābūt mega projektam, lai izmantotu praktiski visu fellony aprakstīto.

  6. Ar react tieši var uzbūvēt lielus un sarežģītus SPA. Tieši react iekšēju struktūra ļauj vidējajam programmētājam nedomāt par tām optimizācijām, kuras būs vajadzīgas citos FW, ja SPA būs liels.

    React kalpo principā gan kā view daļa, gan arī kā kontroleris, modeļa daļu gan būs jāpapēta, tur ir vairāki labi varianti un viss atkārīgs no vajadzībām. Tāpat arī nedaudz jāiedziļinās teorijā par kopējo aplikācijas strūktūru (gataviem struktūras paterniem).

     

    Par SEO draudzību. Kas attiecas uz googli, tad tā jau sen laiž savā kravlerī javascriptu un tu vari principā aizsūtīt sākumā dažu rindiņu html ar script tagu uz skriptu un visu pārējo, ģenerēt, ielādēt, utml. kā gribi un viss SEO strādās lieliski.

  7. Nu tur drīzāk jāsaka, ka "very special case", jo būtībā tiek atmests viens parametrs, kas ir sāls Knapsakam. Un dp risinājuma masīvs no 2D pārvēršas par 1D.

  8. Var taisīt dp, strādās ātrāk, bet tad risinājums sarežģītāks un ilgāk kodējams, jo dp tabulā jāglabā arī atpakaļ references, lai varētu iegūt vajadzīgo sarakstu.

     

    P.S. Un knapsack īsti nav, jo nav jau 2 parametru, bet tikai viens - vieglāka par knapsack.

     

     

    P.P.S

    Lūk dp risinājums ar sarežģītību O(N*X), kur X = kopēja preču cena / minimālā naudas iedaļa. Vai vēl * log2(X), ja gadījumā enginē objekts ir realizēts kā binārais koks, nevis hashmaps.

    https://jsfiddle.net/v4atuwww/8/

     

     

    Risinājums atrod tikai vienu variantu. Ja vajadzīgi vairāki, tad katrā dp tabulas elementā ir jāglabā visas tās preču cenas ar kurām tajā nonāca un tad izvade jātaisa vai nu rekursīvi vai ar BFS.

  9. Vienkāršākais drošvien būtu sadzīt tās random preces masīvā un tad palaist šo pašu algoritmu.

     

    Nedaudz sarežģītāk, pārtaisīt rekursīvo funkciju ar papildus parametru preces cena, kuru apskata un tad rekursīvi saukt funkciju 2 reizes, pirmo reizi ar to pašu cenu, nākošo reizi ar random iegūto cenu. Bet šijā gadījumā nav garantija, ka tiks apskatīti visi varianti, jo tam nepieciešams vienlaicīgi zināt vairākas cenas.

    https://jsfiddle.net/v4atuwww/5/

     

    P.S. Ja tev ir vajadzīgs tikai viens risinājums, tad pārtrauc iet dziļāk rekursijā, tiklīdz ir atrast kaut viens risinājums. To izdara ar papildus parametrus rekursīvai funkcijai vai kaut kur ārpusē globālāku.

  10. Nu tad jau uzdevums ir savādāks - dota summa un preču saraksts un vajag sastādīt preču grozu, kurš summā veido doto summu. Iepriekšējajam sarakstam nav nekādas nozīmes.

     

    Algoritms: Uztaisi rekursīvu funkciju, kurai padot par parametru savācamo summu. Tad funkcijā ej un ņem visas preces, saglabā pagaidu masīvā un sauc funkciju rekursīvi ar par attiecīgo preci samazinātu summu.

    Ja funkcijā summa sasniedz 0, tas nozīmē visa nauda iztērēta un var izdrukāt izvēlēto preču sarakstu.

    https://jsfiddle.net/v4atuwww/

     

    Uzlabotais variants - rekursīvajai funkcijai padod līdzi to preces indekus, kuru izmanto un kad ņem nākošās preces, sāc no tā indeka, tādā veidā izvairīsies no līdzīgiem variantiem, jo preces uz priekšu tiks ņemtas tikai augošā secībā:

    https://jsfiddle.net/v4atuwww/1/

     

    Variants ar vairāk precēm un lielāku summu:

    https://jsfiddle.net/v4atuwww/2/

  11. scala> 0.1+0.2
    res0: Double = 0.30000000000000004
    
    

    Nu tas jau ir floating point standarts un saistīts ar to kā atmiņā un procesora reģistros tiek glabāti flouting point mainīgie.

    Ja kaut kur 0.1+0.2 = 0.3, tad visdrīzāk pa virsu ir uztaisīts kaut kas, bet tad vairs tā skaitļošana nav tik ātra.

     

    P.S. Starp citu pasaule programmēšanas olimpiādē jau kādu laiku ir izņemti uzdevumi, kuros jāizmanto floating point mainīgie.

  12. Par JS math. Pašlaik taisu web 3d spēli, kurā tiks implementēta lag kompensācija, kas nozīmē, ka man viens un tas pats algoritms jāsimulē uz klienta un servera. Klients - js, serveris - Scala. Pagaidām nekādas nesakritības matemātikā starp šīm platformām neesmu novērojis.

    P.S. Bet par pārējo piekrītu. JS ir diezgan pļiekana valoda. Es būtu priecīgs, ja uz browseriem būtu kārtīga, strikti tipēta, funkcionāla, oo valoda kā Scala.

  13. Kamēr tu nerealizēsi savējo, tikmēr man nebūs jārealizē manējo. Bet tici man, ja tavi plāni īstenotos, tad es nebūt nebūtu vienīgais, kam tāda ideja ienāktu prātā.

    Pfff, kā tu taisies ar savu pliko miesu stāties pretī mākslīga intelekta vadītai desmitiem miljonu dronu un robotu armijai? Tev pat tagad kaut ko sākot darīt, ir maz iespēju, bet tu taisies to atlikt uz pēdējo stundiņu un vēl ceri, ka citi to izdarīs tavā vietā. 

×
×
  • Create New...