Jump to content
php.lv forumi

mandarīnpīle

Reģistrētie lietotāji
  • Posts

    125
  • Joined

  • Last visited

Posts posted by mandarīnpīle

  1. Es domāju, ka mandarīnpīle domā šadu situāciju:

    Tu lasi, piemēram, blogu. Ieraugi tekstā foršu koda gabalu, kuru gribi iekopēt IDE vai editorā.

    Kā nokopēt šo koda gabalu?

     

    Man tā šķiet būtu viena no retajām reizēm, kad jāpieķeras pie peles.

     

    Yep. Citādi peli varētu izmest pavisam.

  2. Vēlos nopirkt rūteri uz kura būtu fizisks bezvadu tīkla ieslēgšanas/izslēgšanas slēdzis. Nevis parasts visa rūtera ieslēgšanas/izslēgšanas slēdzis, bet tieši bezvadu tīkla. Respektīvi, ja bezvadu tīkls ir izslēgts, gribu lai rūtera sadalītie fiziskie etherneta kabeļi joprojām strādā. Neatkarīgi no bezvadu tīkla.

     

    Nevaru tādu atrast. Vajag kaut ko ļoti vienkāršu, bez papildus fīčām, jāvar pavilkt 5mb/s ātrums un jādarbina tikai 2-3 datori. Biju rd electronicā un vēl šur tur, bet neviens man tādu aparātu nevarēja piedāvāt. Vai nu cena >50 Ls, vai arī bez slēdža. Gribētos zem 20Ls un ar slēdzi.

     

    Kurā internetveikalā (vēlams Latvijas) vai fiziskā veikalā meklēt?

  3. Varbūt vēl max ātruma atkarība no procesora. Ja tev ir SATA II spraudnis, tad pieliekot SATA III disku iespējams nesasniegsi SATA II max teotrētisko ātrumu, ja procesors to nepavilks..

     

    Tam kompītim ir divkodolu 2.13 Ghz procesors. SATA II teorētiskais max transfer rate 375 MB/s. Ir aizdomas, ka procis to nevelk, bet nav ne jausmas kā to izrēķināt vai kur meklēt kaut kādu dokumentāciju.. Varianti?

  4. Planoju iegadaties SSD disku portativajam, tikai netieku gudrs ka nopirkt saderigu. Vai taa ir, ka:

     

    • Ja matesplatei ir SATA II spraudnis, es pie ta varesu piespraust SATA III disku? Cik saprotu, tas ir ta pat ka USB 2.0 un USB 3.0, abi ir iesprauzami gan 2.0 gan 3.0 ligzda, bet iespejams sasniegt tikai 2.0 atrumu?
    • Portativa izmers ir ar 15.6 collu ekranu, tatad japerk 2.5 collu disks?

    Vel kaut kas svarigs, ko esmu palaidis garam, kaut kadi tipi un tricki?

  5. Biju līdzīgā situācijā, puslīdz ievēroju visas jau minētās atbildes, bet manuprāt te var īpaši padiskutēt par iespēju atrast darbu. Loģiski ka strādājot īstā vidē var vislabāk uzzināt īstās reālā dzīvē vajadzīgās lietas, bet jautājums - kur meklēt, pie kā vērsties? Es personīgi pirmajā projektā kurā iesaistījos neko labu neiemācījos. Nemācēju saprast, ka tā ir gatavā miskaste. Viens galvenais programmētājs, kas uztaisījis kaut kādu pats savu ķipa freimworku ar pilnībā sapistu organizāciju, tā ka tikai viņš saprata, kas tur notiek. Sistēma bija taisita pirms 5 gadiem un jau meta errorus pie tolaik jaunākās php versijas. Projekta finansiālajam bīdītājam bija vienalga, jo viņš nebija programmētājs un tas viņam neko daudz neizsacīja. Nostrādāju mēnesi un aiztinos.

     

    Tā pat nebija īsta nostrādāšana, jo uzdevumus man uzdot neviens nesteidzās. Un no mājām, nevis uz vietas. Darbu uz vietas neatradu līdz pat skolas beigšanai. Varbūt, ja dzīvotu Rīgā, varētu kaut kur tikt.

  6. 
    

    //Ja aizpilditi abi ID

     

    if(!empty($id1, $id2)) {

     

    if($id == $id2){

    //function viena_sekcija();

    }

    else{

    //function otra_sekcija();

    }

    }

     

    //Ja aizpildits viens no ID

     

    if( (empty($id1) && !empty($id2)) || (empty($id2) && !empty($id1)) ){

     

    if(empty($id1)) {

    $izmantojams_id = $id2;

    }

    else{

    $izmantojams_id = $id1;

    }

     

    //function cita_sekcija($izmantojams_id);

    }

     

     

    //Ja ID abos laukos nav noradits, nekas netiek darits

  7. Ir ļoti daudz neatbilstošu IQ testu, bet šis +- vienmēr parāda labu atbilstību.

     

    Oh cmon, tas tests ir pārāk.. Vizuāls. Tas izbrauc uz spēju saskatīt vizuālu kopsakarību. Bet, piemēram, programmēšanā, mēs urbjamies cauri izteiksmēm, nevis vizuāliem elementiem..

     

    Tikko izpildīju, mans rezultāts 106. Laikam būs jāmet visa programmēšana pie malas un jāiet strādāt par krāvēju. Bet tomēr - ja es nepadotos un gribētu turpināt programmēt. Ja es sekotu tavam advisam par olimpiādes tipa programmēšanas uzdevumiem un tagad nākošo mēnesi 5h dienā tos risināšu.. Kāda iespēja, ka es TIEŠI ŠO testu nokārtošu labāk? Tie programmēšanas uzdevumi prasa pavisam citādāka veida domāšanu.. 

  8.  

     

    btw, vai man vienīgajam liekas, ka auzās ir iebraukts ar template_view? 

    kāpēc Tu to visu nepārbaudi pirms tam un pēc tam nepadod vienkārši variablim, lai beigās sanāk, piemēram, "print $content;"?

     

    Hm, es nesaprotu kur "pirms tam" es varu to pārbaudīt.. " Es nedaudz pārveidoju visu un šobrīd mans kontrolleris ķer errorus ar try catch bloku:

    try{
    
    	if($this->form_validation->run() === TRUE){
    
    		if($did_you_logged_in === TRUE){
    							
    		}
    		else{
    			throw new Exception('Nepareiza parole un/vai lietotajvards.');	
    		}
    
    	}
    	else{
    		throw new Exception('Ievadīti pārāk īsi vai pārāk gari dati.');
    	}
    
    } catch(Exception $ex){
    	$view_data['main_content']	= 'login_form_view';
    	$view_data['error'] 		= $ex->getMessage();
    
    	$this->load->view('template_view', $view_data);
    }
    

    Tad sekojošais template_view.php:

    <!DOCTYPE html>
    <html>
    	<head></head>
    	<body>
    	<?php
    		if(!isset($error)){
    			$error = '';
    		}
    
    		$this->load->view($main_content, $error);
    	?>
    	</body>
    </html>
    

    Un sekojošais login_form_view.php

    <?php
    	echo $error;
    
    	echo $form_open();
    	...........
    	echo $form_close();
    ?>
    

    Man gan īsti nepatīk, jo, ja $error mainīgais nav, tad Skatam tiek padots tukšs mainīgais un tas tiek echo-outots, kas it kā ir nevajadzīgas darbības. Kā arī es gribu izmantot template_view.php priekš tādām lapām, kur nav paredzēts parādīt nekādus errorus. Tāpēc arī sākumā bija piemērs, kuru iepostoju iepriekš un Tev nepatika. Doma bija tāda ka template_view.php nodod $error mainīgo tikai tad, ja ir to saņēmis, respektīvi, tikai skatiem, kur tas ir paredzēts. Citiem skatiem $error nemaz netiek padots.

  9. Ne obligāti... Ja kaut kas pamatīgi nofeilo, tad atsevišķs error skats, ja vienkārši kaut kas nepatīk, tad uzstādi viewam error variabli.

     

    Šeit runa par "kaut kas nepatīk lietām". Nu kā jau piemērā - lietotājs ievadījis nepareizu login un paroli. Tad šis pats risinājums ir labs un nav iespējams nekas more DRY, more MVC vai more OOP?

    $view_data['main_content']	= 'login_form_view';
    $view_data['error'] 		= 'Ievadīti nepareizi login dati';
    
    $this->load->view('template_view', $view_data);
    
    

    Kur template_view.php ir

    <!DOCTYPE html>
    <html>
    	<head>
    		<title></title>
    		<meta charset="UTF-8">
    		<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/css/style.css">
    		<script type="text/javascript" src="<?php echo base_url();?>/javascript/jquery-1.10.2.js"></script>
    	</head>
    	<body>
    	<?php
    		if(isset($error)){
    			$this->load->view($main_content, $error);
    		}
    		else{
    			$this->load->view($main_content);
    		}
    	?>
    	</body>
    </html>
    

    Un tālāk login_form_view.php ir:

    <?php
    
    if(isset($error)){
    	echo $error;
    }
    ?>
    
    <form>
    ...
    </form>
    
  10. Kāds ir labais stils un best practise lai kļūdu ziņojumu izvadītu no Modeļa līdz Skatam?

    Piemēram, login forma datus nosūta Kontrollerim, tas savukārt Modelim, kas salīdzina datus ar datubāzi. Šobrīd modeļa metode login() returno true vai false. To uzķer Kontrolleris un attiecīgi vai nu vēlreiz ielādē login formu, vai kādu reģistrēto jūzeru Skatu. Kontrolleris:

    $this->load->model('login_model');			
    $did_you_logged_in = $this->login_model->login();
    
    if($did_you_logged_in === TRUE){
    	$view_data['main_content']	= 'members_area_view';
    	$this->load->view('template_view', $view_data);
    }
    else{
    	$view_data['main_content']	= 'login_form_view';
    	$view_data['error'] 		= 'Ievadīti nepareizi login dati';
    
    	$this->load->view('template_view', $view_data);
    }
    

    Šobrīd Kontrolleris, uzķerot false, izveido jaunu mainīgo $error un padot to skatam. Problēma ir tā, ka man jāpārbauda errora esamība manā template_view.php Skatā, kas savieno HTML lapas statisko header, $main_content, statisko footer. 

    $this->load->view('static_header_view');
    
    if(isset($error)){
    	$this->load->view($main_content, $error);
    }
    else{
    	$this->load->view($main_content);
    }
    
    $this->load->view('static_footer_view');
    

    Un tad vēlreiz galvenajā $main_content Skatā:

    if(isset($error)){
    	echo $error;
    }
    

    Kopumā diezgan makaronīgs kods. Apskatījos netā par try catch blokiem, bet to te laikam nevar izmantot, jo kods, ko vajag ķert (try) atrodas modelī, bet izvade (catch) atrodas skatā. Vai nav kaut kāds labāks risinājums?

  11. Man šķiet tāda veida uzbrukumu sauc par session poisoning. Kā jau codez teica, diez vai par to ir vērts ļoti satraukties, jo, ja ir iespējas īstenot ko tādu, tad tik pat labi var īstenot tiešās paroles nozagšanu.

     

    Par tiem apstākļiem. Ja nozog kukiju, tad IP adreses un browsera sakrišana varētu īstenoties tikai diezgan šauros apstākļos. Abiem datoriem jābūt aiz viena rūtera  un jālieto viens pārlūks. Es uzreiz iedomājos interneta kafejnīcu ai autobusus ar bezmaksas wifi. Turklāt, dēļ sesijas ierobežotā lifetaima, visa nozagšana un pārrakstīšana jāīsteno mazāk nekā 5 minūtēs (standarta sesijas laiks).

  12. Nu tātad - šeit neviena Rubijista nav? Tikai PHP un Pytonisti?

     

    To jau tu noteikti zini, bet ir arī tāda lapa ruby.lv

    Tā gan izskatās absolūti mirusi. Pēdējie posti 2012. gadā. 

  13. Man netālu esošajā Vidzemes augstskolā IT speciālistiem (nezinu, kas viņi tur īsti skaitās, bet ne programmētāji) studijās ir īpaši iekļauta Ruby mācīšanās.. 

  14. apskaties apache LOGā

     

    Izdzēsu visu to, kas tur bija sakrājies, un iegāju tajā aplikācijā, kas rādija "Directory access ir forbidden.", respektīvī URL http://localhost/codeigniter/application/ un tad LOGos paradījās šis:

     

    Error_log:

     

    [Thu Jul 11 19:24:20 2013] [error] [client 127.0.0.1] File does not exist: /srv/http/favicon.ico
    [Thu Jul 11 19:24:24 2013] [error] [client 127.0.0.1] File does not exist: /srv/http/favicon.ico
    
    

     

    Access_log:

     

    127.0.0.1 - - [11/Jul/2013:19:24:20 +0300] "GET /codeigniter/ HTTP/1.1" 200 2048
    127.0.0.1 - - [11/Jul/2013:19:24:20 +0300] "GET /favicon.ico HTTP/1.1" 404 1061
    127.0.0.1 - - [11/Jul/2013:19:24:24 +0300] "GET /favicon.ico HTTP/1.1" 404 1061
    
    

     

    Kas te būtu darāms?

  15. Uz Linux tikko ieinstalēju Apache. Mapju konfigs:

    DocumentRoot "/srv/http"
    
    # First, we configure the "default" to be a very restrictive set of 
    # features.  
    
    <Directory />
         Options FollowSymLinks
         AllowOverride None
         Order deny,allow
         Deny from all
    </Directory>
    
    #
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    #
    
    #
    # This should be changed to whatever you set DocumentRoot to.
    #
    
     <Directory "/srv/http">
        
         Options Indexes FollowSymLinks
         AllowOverride None
         Order allow,deny
         Allow from all
    
    </Directory>
    

     

     

    Ja kāds php fails ir novietots tiesi /srv/http/ mapē, es to varu palaist. Ja ir kāda apakšmape, piemēram, /srv/http/webpage/ un tajā atrodas php fails, es saņemu tikai tekstu "Directory access is forbidden." Kas un kur ir jāmaina, lai apakšmapes strādātu?

     

    EDIT: Liekas, ka parasti php faili parastās mapēs strādā, bet es centos palaist CodeIgniter defaultā nokačāto aplikāciju. Liekas, ka to erroru izmet nevis pats Apache, bet Codeigniters..

×
×
  • Create New...