Jump to content
php.lv forumi

F3llony

Reģistrētie lietotāji
  • Posts

    1,353
  • Joined

  • Last visited

Posts posted by F3llony

  1. Ir vairākas situācijas jeb situāciju kombinācijas, kur katrā gadījumā ir jāizsver - ko, kapēc un ar kādu mērķi lietot.

    1. Freimworki ir vajadzīgi, ja A+ veiktspēja un task-oriented optimizācija nav nepieciešama, bet nepieciešams minimizēt izstrādes laiku un izmaksas.

    2. Freimworki ir vajadzīgi, ja veidojas modulāra aplikācija ar skatu nākotnē, bet zemu budžetu un palielu komandu (lai katrs neizgudrotu riteni no jauna un beigās nesanāktu 10-ritenis, kur katrs ritenis ir savādākā formā).

    ... utml.

  2. Es saprotu, ka mantošana. Bet PHP var mantot C staffu?

    PHP var paplašināt mantot jebko, kas implementēts kā paplašinājums, kas definē pieeju funkcionalitātei kā klases. Tu taču vari paplašināt mantot, piemēram, MySQLi? Kapēc lai Phalco klases būtu izņēmums?

    Phalco pašā pamatā ir nesaistīts un modulārs freims, kas ļauj tev izmantot vai tieši otrādi - neizmantot kaut kādu funkcionalitāti. Tur jau ir liela daļa no paplašināšanas jēgas - ļaut programmētajam PHP mainīt iebūvētu un predefinētu funkcionalitāti, lai panāktu citādu efektu gala rezultātā izmantojot no PHP gala "lietotāja" viedokļa nemaināmu resursu.

     

    +10 cepumus vērts bonuss priekš Phalco ir iespēja izmantot tā piedāvāto funkcionalitāti neizmantojot pārējo freimu. Piemēram, tu vari uzrakstīt pats savus skatus un kontrolierus, kā arī kontroles arhitektūru un izmantot, piemēram, Phalco kešatmiņas un modeļu slāni atmetot Phalco "oriģinālo" arhitektūru, skatus un kontrolierus.

  3. Web appos īstais bottleks ir datubāze. Uz C rakstīts freims liedz iespēju freimu pielāgot savām vajadzībām izmantojot PHP.

    NoSQL, loose-coupling un protams "extends" (???>?!?!111). RTFM :)

     

    TAs nozīmē to, ka man kā Web lapas pasūtītājam vēlāk hostingā būs nepieciešams php_phalcon.dll vai phalcon.so! - sekojoši hostinga izvēle tiek ierobežota. Un kur paliek Cron Jobs - CLI?

     

    http://www.bestwebfr...frameworks/php/

    1. Shared hostings ir miris. 2. Lielākā daļa lielo provaideru piedāvā userspace moduļus. 3. Managed VPS.

     

    Un tu iedomājies, ka, ja freims ir kā modulis jams no CLI maģiski izgaist? WTF? Vai nevēlies tomēr pārlasīt, kas ir intepretatora interfeiss un ka tam nav nekāda sakara ar moduļu pieejamību?

  4. Vienkārši runājot intership ir prakse.

    Ļoti rupji ņemot jā. Taču, praksē algu nemaksā un parasti neko normālu darīt arī nedod.

     

     

    Lai mazliet uzkurinātu interesi - darbiņš ir jau sagatavots, tas būs pie vidēja izmēra web aplikācijas ar daudz interesantiem, neikdienišķiem aspektiem. Piemēram, integrāciju mobilajām ierīcēm, mobilo versiju, pārlūka paplašinājumiem utml. Piedevām, nāksies izplānot pašiem savu aplikācijas arhitektūru un integrācijas. Rakstīsim paši sev, ne kādam klientam, līdz ar to, atkrīt viss brainwash. Lielisks spēku izmēģināšanas poligons.

     

    Starp citu, ja pretendentam izdosies pierādīt sevi internship laikā, ir brīva patstāvīga darba vieta :)

  5. Vai varētu zināt vismaz kompānijas nosaukumu?

    Kompānijas nosaukums nav minēts speciāli lai nepiesaistītu lieku uzmanību un kāds nenobombītu publisko mailu ar pieteikumiem :) Bet tie, kas atsūtīs kaut cik sakarīgu pieteikumu pilnīgi noteikti uzzinās visu nepieciešamo.

     

    Darbs protams ir oficiāls, ar līgumu un visu pārējo. Par to noteikti var nesatraukties :)

  6. Kompānija piedāvā interna vietu uz vietas lieliskā birojā Rigas centrā darbam pie PHP web aplikācijas izstrādes. Lieliska iespēja tiem, kas zina valodas, taču ir bez praktiskās pieredzes vai arī ar ļoti mazu pieredzi. Darbs pamatā patstāvīgs, taču vecāko koleģu uzraudzībā un ar vecāko kolēģu padomu.

     

    Nepieciešamas labas zināšanas PHP5/HTML5/CSS/JS un pamata PHP5 OOP, un vispārējas zināšanas web aplikāciju uzbūvē, labi attīstīta loģiskā domāšana un labas komunikācijas spējas.

     

    Draudzīga un zinoša komanda, un rīta kafija garantēta. Ko neproti - parādīsim, ko nezini - iemācīsim. :)

     

    Par samaksu vienosimies tikšanās laikā izvērtējot katra pretendenta individuālo potenciālu.

     

    Motivācijas vēstuli brīvā formā un CV sūti uz [email protected] kā tēmu norādot "Pieteikums interna vietai"

    Pieteikšanās līdz 29. augustam.

  7. Diezgan daudz kveriji var tikt izpildīti, jo katram apakšlīmenim tiek izsaukts jauns kverijs. Izmanto kešošanu!

    Normālā situācijā, dati tiek saņemti no DB masīvā ar vienu kveriju un no tā tiek uzbūvēts menu apgriezti rekursīvi ciklējot caur masīvu, ne ar N kverijiem. Pardon, biju pusaizmidzis.

  8. Tas, ko tu meklē, saucas rekursija. Pseidokods -

     

    $items = get_menu_items(0);
    function get_menu_items($parent){
      $items = SQL::query("SELECT `title`,`url`,`id` WHERE `parent`='$parent'");
       foreach ($items as $item){
      	$item->childs = get_menu_items($item->id);
       }
     return $items;
    }

  9.  

    Jā kā tad, viens aģentūras galdiņa urbējs taisīs xsrf uzbrukumu tieši kādam no tās pašas aģentūras - tas ir statistiski mazvarbūtīgi, tad jau vieglāk ieiet kabinetā un palaist trojāni.

    Vieglāk ir "palūgt" galdiņa urbējam visas paroles ar cirvi, ja jau sākam par šo runāt.

     

    Nav jau gluži runa par to, kas un no kurienes. Runa ir par to, ka IP bindošana ļauj uzbrukumus pret masām, ne pret katru atsevišķo jūzeri. Un tas ir validi ne tikai xsrf

  10. Kāpēc tu nelieto ORM?

    Tad tu skatos varētu izvairīties no atkārtošanās, piemēram - <?=Num::format(($product->price/100)/0.70,2)?> Tā vietā varētu vienkārši lieto kaut kādut $product->price_in_eur un aprēķināšanu jau veikt pašā modelī. Jo kas notiks tavā gadījumā, ja tev to koeficientu vajadzēs pamainīt? Iesi 100 vietām cauri un labosi?

     

    Doma ir korekta.

     

    > lai visiem aprēķinātu kontrolierī

     

    Pirmkārt, tam ciklam ir jābūt modelī... tā ir biznesa loģika.

     

    > un skatā tu atkal iesi tam pašam masīvam vēlreiz cauri, lai visu atkal attēlotu.

     

    Tas cikls neko nemaina. Tu zini cik tam ORM ir apakšā desmiti ciklu?

     

    P.S. **Es neesmu pret ORM.** Django ORM ir ļoti labs. Bet! Es vienkārši cenšos pateikt, ka ORM šeit nav obligāti jāizmanto un tas nemaz nav vienīgais veids, ka panākt vajadzīgo efektu. :)

     

    Daļēja taisnība - aprēķinus nekad nevajag veikt kontrolierī. Taču tīri tehniski, kā jaut teicu, tā nav arī ORM funkcija. Šeit vairāk jautājums par to, vai iepriekšaprēķinu veikt visiem objektiem, vai katram objektam pēc pieprasījuma. Taču, tas atkarīgs no datu slāņiem - piemēram, kešošanas mehānismiem un vispārējas datu struktūras uzbūves. Varbūt šajā gadījumā problēmu vajadzētu risināt jau datu bāzes līmenī?

     

    Taču tu kļūdies tajā, ka ORM te nav obligāti jāizmanto. Patiesībā, šī ir aplikācija, kurā ORM būtu jāizmanto par katru cenu. ORM pašā pamatā ir CRUD bez tiešas interakcijas ar datu bāzi izstrādes līmenī. Klasisks izstrādes laika un performances "tradeoff" - mēs iemainam +X ciklus kaut kur scenārijā pret -X% izstrādes laika. Fair enough for me.

     

    (P.Š)atap. - Django orms ir vismurgainākais pasākums, kuru jēlkad radījusi cilvēce. Tiklīdz funkcionalitāte iziet kaut mazliet ārpus klasiska 2 relāciju CRUD, sākas nagu laužšana. Pameklējies, piemēru internetos netrūkst. Un ja vēl neesi ar to saskāries - apsveicu, esi laimīgs cilvēks. Pagaidām.

     

     

    Par pašu šopu runājot, izskatās, ka faierfoksītis šito ir pasūtījis kādam indietim. Un pēc tam pārstaigājis ar cirvi pāri, "pielabojot" to, kas strādā. Get out. Now.

  11. Uztaisi formas tokenu, kas piesaistīts ip adresei, nevis randomā, tad tas nemainīsies tabos.

     

    W00t risinājums, īpaši lielu paldies tev pateiks gov aģentūras un kompānijas ar X lietotājiem aiz vienas adreses + ISP'i, kur X klientiem ir viena IP. :>

     

    hash's no urļa, kas apstrādās pieprasījumu + sesijas id + vēl kādu server side secret'u, katram lietotājam katrai darbībai būs unikāls tokens

     

    Jau labāk.

     

    Kādas problēmas kapčai sūtīt līdzi tokenu, kurš ģenerēts no kapčas?

     

    $token=hash($capcha+$salt);

     

    formai līdzi sūta $tokenu. Pie ievades pārbauda, vai no ievadītās kapčas var iegūt tokenu. Saprotams, ka zinot tokenu iegūt kapču nav iespējams, ja lieto modernu hash algoritmu.

     

    Good, You can now take a cookie from the Jar.

     

     

    Kāds, ja interesē, varētu paņemt https://github.com/Addvilz/x0Cache/blob/master/x0cache/session.php kā pamatu un palabot, lai iegūtu tokenus formām. Double the gun, double the fun.

×
×
  • Create New...