Jump to content
php.lv forumi

F3llony

Reģistrētie lietotāji
  • Posts

    1353
  • Joined

  • Last visited

Everything posted by F3llony

  1. Tā, vai nu demo, vai nu skrīnus vismaz. Jidritvai kociņ, kā es savādāk varētu vispār apsvērt DataGrip piem. mainīt pret šo? :P
  2. Pirmkārt, gar DBMS setupu vajadzētu gramstīties tikai DBA, nevis kaut kādiem node-istiem. Pings, ibio rio... Otrkārt, servera specifikācijas, network layout, kur atrodas serveris, kur atrodas klients, un pilnu query plan/explainu - galdā. Te nav tantes Ljubovnas zīlēšanas salons, tie tavi skaitļi nezinot setupu, cik daudz dati, kādi indeksi, kāds konfigs utt. pilnīgi un absolūti neko neizsaka. Kas tur ar tām konekcijām un connection pool? Ugh? Tev ir aplikācija ar 50 sim. paralēlismu un tevi laiž pie DB? :D Bet ja nopietni, 50 paralēlisms un 1000 top, tas ir 20 pieprasījumi uz konekciju. WTF kind of benchmark strategy is that? Ja tev paralēlisms ir 50, tad tas nozīmē, ka vienlaikus var tikt veikti up-to 50 pieprasījumi, rodas jautājums - no kurienes tie nāk - atsevišķas sistēmas vai arī jodelē no tā paša datora, kur tev aplikācija un postgre stāv? :D Un ja tev ir 50 paralēlisms, un teiksim, 50+50%, eg. 75 connection pool, tad kā connection pool var buut piedirsts? Kaut kā nedarbojas tā tava matemātika. Pie reizes būtu svētīgi pateikt, kas par ORM. Tas arī jāuzmin?....
  3. Man uz doto brīdi ir 2x24" 2560x1440 moņi un 15" 1920x1080 5. serijas Latitude uz stenda. So tehniski, 3 monitori. :D
  4. class ProcessInput { /** * @var array */ private $mapDec = []; /** * @var int */ private $multiple; /** * @param array $mapDec * @param int $multiple */ public function __construct(array $mapDec, $multiple) { $this->mapDec = $mapDec; $this->multiple = $multiple; } /** * @param string $destination */ public function exec($destination) { $memStream = $this->openStream(); for ($i = $this->multiple; $i > 0x0; $i += -1) { fwrite($memStream, $this->getMapping($i)); } rewind($memStream); $this->safeCopyStream($memStream, $destination); fclose($memStream); } /** * @param int $r * @param int $ii * @return null|string */ private function doMap($r, $ii) { return (~(-$ii) + 1) % $r === 0x0 && $ii / $r === 0x1 ? chr($ii * 0x1) : null; } /** * @return resource */ private function openStream() { return fopen('php://memory', 'rw'); } /** * @param $memStream * @param $destination */ private function safeCopyStream($memStream, $destination) { if ($memStream && $destination) { $targetStream = fopen($destination, 'w'); if ($targetStream) { stream_copy_to_stream($memStream, $targetStream); fclose($targetStream); } } } /** * @param int $i * @return string */ private function getMapping($i) { $buffer = []; for ($ii = 0; $ii <= 0xFF; $ii++) { $result = array_map(function ($r) use ($ii) { return $this->doMap($r, $ii); }, $this->mapDec); $filtered = array_filter($result); if ($filtered) { $buffer[$ii] = implode($result); } } return str_repeat(implode($buffer), ($i * 0x1)) . PHP_EOL; } } $bMap = [ 0b01101111, 0b01100110, 0b01101111, ]; (new ProcessInput( $bMap, $argv[1] ))->exec('php://stdout');
  5. Loģiski. Nerunāju perfekti tekoši, un gluži filozofēt vel īsti nevaru, bet ikdienā mierīgi...
  6. Ja tas ir jautājums, tad uz rokas tā ir laba alga, taču, Spānijā nav pieņemts norādīt algas, ko saņem uz rokas - ja Tev kāds piedāvāja vai kaut kur lasīji bez speciālas norādes, ka neto, tad tā ir alga ir bruto - diezgan viduvēja IT jomā, jo uz rokas sanāks kādi <2.2k. Tajā pašā laikā, vidējā alga as such ir 1500-1700€. Pie tam, ir jāskatās vai alga ir 12,13,14,15 maksājumos - te nav tā, ka ir tikai mēnešalga un viss - bieži vien IT ir 13-14 maksājumi (ikmēneša + 1x/2x gadā saņem vienu "ekstra" algu ko visi parasti izmanto ceļošanai utt, lai pašiem nav jākrāj :D), so parasti jau vispār norada gada algu bruto. Madride ir viena no EU megapolēm. Ja Tu neesi bijis Londonā, Berlīnē vai Parīzē, es Tev pat ar piemēru nevaru paskaidrot, ka ir pilnīgi cits mērogs te. 15-20 minūtes no Madrides centra ar ko? Ar metro vai busu Tu vēl joprojām esi Madrides centrā pa tām 20 minūtēm :D. Cilvēki vidēji te komutē attālumos jebkur starp 2-3km līdz 40-50km. Visi metropolitena vilcieni ir semi-ātrie, so 40-50 kilometri no Madrides ir 30-50 minūtes max, atsevišķos maršrutos brauc arī visus 50-70, pus stundu vienā virzienā ar mazāk pieturām. Ja nepaveicas dzīvot pie vilciena, ir busi un metro, kas ir relatīvi lēnāki, bet bieži ērtāki - vairāk pieturu, kursē katras pāris minūtes. Man commute ir 20 minūtes vienā virzienā +10 ar K2, un skaitas kas es dzīvoju centrā. 3-4 istabu dzīvokļi ir jebkur robežās no 600-???? eur, vidēji ap 900-1200 ja relatīvi tuvu centram, taču intervāli ir milzīgi, atkarībā no tā, cik trendīgs rajons utt. Spāņiem īsti netīk lieli dzīvokļi, jo parasti tam ir lieli izdevumi klāt - ja īrē, lielāka īre, ja pērk - lielāki nodokļi. Parasti vidējā Spāņu ģimene uztur vai nu vienu dzīvokli pilsētā, kas ir relatīvi mazs un brīvdienas pavada ārpus pilsētas, vai nu dzīvo metropolitenā kaut kur. Vidēji 3 istabu dzīvokļi te ir ap 60-80m2. Uz lielu un lētu dzīvokli Madridē zem 1500-2000 eur mēnesī vari necerēt nemaz. Ārpus Madrides - var būt. Tā pat, sabiedriskais ne visiem ir efektīvs pārvietošanās veids - te daudz populārāki ir skūteri, visa veida moči un mini-mašīnas (like smarti). Ar tiem nokļūt dajebkur var ļoti, ļoti ātri. Vietējo attieksme arī atšķiras kur Tu dzīvo un kur strādā - un gala beigās, no Tevis paša. Barselonā un vispār Katalonijā, kā arī dienvidos cilvēki ir diezgan silti un pretīmnākoši, Madridē mazāk. Spāņiem netīk un jamie arī negrib runāt angliski - ja paveicas, vari dabūt darbu kādā lielā uzņēmumā, kas ir starptautisks un kurā runā angliski, ja ne - iespējas uz darbu un dzīvi ir tuvu nullei, jo nezinot Spāņu valodu te izdarīt iespējams ir neko - ne īsti uz veikalu aiziet, ne nodokļu atskaiti iesniegt, ne pajautāt cik pulkstenis. Vidējam statistiskam Spānim uz angļu valodu ir maigi izsakoties nospļauties, jo Spāņu ir 2. izplatītākā valoda out there un runātāju te netrūkst. Neproti valodu? Iemācies, vai kraties dillēs - tādus, kā Rīgas urlas kas nodzīvo gadu desmitiem un neprot valodu te necieš acu galā. Angliski kaut ko saprot pamatā tie, kas strādā turistu rajonos un lielos starptautiskos uzņēmumos.
  7. Uz kā balstīts Tavs viedoklis. Uz Tavas neizmērāmās pieradzes un zināšanām? Vai pliku diršanu? Dzīve ir jūtami dārgāka, bet ļoti atkarīgs kur un kā dzīvo. Īres cenas mainas ne tikai pa pilsētām, bet pa kvartāliem un ielām. Madridē netālu no centra, ja labi pacenšas un zina kur meklēt, var atrast normālu 2ist. dzīvokli par apm. 500-600€. Ūdens, elektrība, gāze un nets pacels kopsummu līdz 800-900 eur, skatoties pēc lietojuma utt. Ārpus pilsētas vai tuvākajās pilsētās cenas ir daudz zemākas - lielais vairums darba ļaužu dzīvo ārpus pilsētas un uz darbu komutē. Ar vilcienu no blakus pilsētām var nokļūt līdz darbam 20-30 minūtēs. Vidēji rēķinot un īpaši ar naudu nemētājot apkārt te lielajās pilsētās ar 1.5k uz rokas var dzīvot cepuri kuldams, un vēl katru mēnesi braukt uz Franciju, UK, Itāliju brīvdienās (biļetes ap 30-40 eur turp/atpakaļ). Dīvaini gan tas, ka 20% bezdarbs un labus developerus vienalga ar uguni nākas meklēt... Man te 2 vakances jau cik ilgi...
  8. Btw, nepiemirstam atslēgt visus pluginus (arī standarta), kurus nelietojam.
  9. Protams, ka ir. Un kā tas ir arguments diskusijā par user-space kodu? :D
  10. Kā tas ir nezini? Kerneļi nav testēti, syscalls nav testēti, CPU instrukcijas nav testētas, pašas VM uz kurām darbojas aplikācijas nav testētas? Kas tas par matiem pievilktu argumentu?
  11. https://github.com/rfksystems/ospreyšon nopublicēju. Ja nu kādam vajag.
  12. xD Good luck, then. https://www.owasp.org/images/6/6b/PHPMagicTricks-TypeJuggling.pdf http://securityaffairs.co/wordpress/36732/hacking/php-hash-comparison-flaw.html https://www.alertlogic.com/blog/writing-exploits-for-exotic-bug-classes-php-type-juggling/ https://labs.mwrinfosecurity.com/blog/wordpress-auth-cookie-forgery/ ... and many, MANY many more.
  13. Lietot double equality izņemot dažus ļoti specifiskus gadījumus ir pilnīgs un absolūts cirvisms visplašākajā šī vārda nozīmē. Tas, ka valoda ļauj darboties type free, nenozīmē, ka viss arī ir jāraksta type free. 0 ir integer 0, nevis false, "" ir emptystring, nevis false un null ir null, nevis false. Tā pat, null lietošana ir absolūts ļaunums no kura jāizvairas visos iespējamos gadījumos - null nav ne jāatgriež ne jāpieņem interfeisos, izņemot varbūt darbojoties ar RDBMS kur null ir "nekāda vērtība" un operācija "dzēst lauku" nepastāv.
  14. Atkarīgs kā izmanto. Ja veido jaunu instanci 10,000 reizes sekundē, obviously. Ja izmanto vienreiz lai nokonfigurētu kaut kādu konfigu, efekts ir 0. Tā pat, kā ar 10000 citām lietām visās valodās.
  15. Javā var darīt šādi: public class Foo { public static Baz bar() { // Well, how cool is this, eh? return new Baz() {{ isFoo = true; isBaz = true; method = () -> "Hello World!"; }}; } private static class Baz { boolean isFoo = true; boolean isBaz = true; ReturnValue method; } private interface ReturnValue { String thing(); } }
  16. Arī šis piemērs nav īsti pareizs, jo tas, vai flagi ir slikti vai nē, ir atkarīgs no tā, vai tu modificē behavior vai arī entity. Tādam "saveOrderAsDraft" vispār nevajadzētu eksistēt, jo draft ir Order īpašība, un ar persistance layer šim steitam diez vai būs kāds sakars. Lūk: class Order { private $isDraft = false; public setDraft($draft) { $this->isDraft = $draft; } public isDraft() { return $this->isDraft(); } } // ... $order->setDraft(true); $db->save($order); Taču oriģinālajā rakstā autoram ir pilnīga taisnība - no šādas inline konfigurācijas aļa flagiem vajadzētu izvairīties cik vien iespējams. Ne vienmēr tas ir praktiski un reāli izdarāms, taču, jā, tā tam vajadzētu būt. Ps. Jurčik, tas, ko Tu te proponē saucas parameter hell. Un risinājums tam ir konfigurācijas konstrukti. // WTF? function doStuff($relative, $secondOnly = false, $merge = false, $thing = false, $whatever = null, $oneMore = null, $booHoo = false) { //... } $x = doStuff(true, false, false, null, false, null, false); // WTF? // vai arī... function doStuff(DoStuffOptions $options) { //.. } $options = new DoStuffOptions() ->withRelative(true) ->secondOnly() ->doAMerge() ->addThing($thing) ->withWhatever($whatever) ->addMore($more) ->doABooHoo() ; $x = doStuff($options);
  17. http://www.paralleluniverse.co
  18. Behold, the JavaScript! :) Atbilde visām jūsu problēmām, cienītie. Adaptēt vakar! for (let i=0; i<10000; i++) { console.log(typeof null === 'undefined') } > 4917 false > 5083 true
  19. Vue.js. nule pārrakstīju vienu palielu biznesa daļu no vanilla es6 uz vue. Ir ok.
  20. Nu, ja visa tava templeity sistēma frontendā sastāv no .clone() tad būs pagrūti jā... :P
  21. Jap, i naksies ģenerēt. Taču, Tev i vērtībai nav nozīmes, so i vertība var būt jeb kas unikāls - i vertība Tev nepieciešama lai vienkārši solidi grupētu client/server pusē, ne kam citam. So, i varbūt kaut kāds i++ counteris, kas kaut kur mētājas un incrementējas katru reizi, kad paceļas jauns elements.
  22. Kaut kāda stipri dīvaina struktūra Tev tur. [ { type: 1, subtypes: [ 1,2,3,4 ] } ] type[i]['type'] = 1; type[i]['subtypes'] = [1,2,3,4]; Kaut kā tā nebūtu loģiskāk? Un JS nemaz nevajag iejaukt. I ir DOM type pozīcija.
×
×
  • Create New...