Jump to content
php.lv forumi

jurchiks

Reģistrētie lietotāji
  • Posts

    1,649
  • Joined

  • Last visited

Posts posted by jurchiks

  1. https://github.com/jurchiks/numbers2words

    Rakstīju ļoti sen, kad tikko sāku programmēt PHP, bet šis tika izmantots kredītu rēķinos sohocredit.lv (latviski, krieviski, lietuviski, angliski, spāniski - nācās mācīties skaitīt spāniski :D). Priekš summām zem 100k pietika.

    Derētu uzprišināt kodu, tagad lasu un izskatās bik nesmuki. Bet nu to jau kādu citu dienu.

     

    + doma kaut kad piepliķēt klāt vēl citas valodas, tad jau redzēs.

  2. Jāmaina šis:

     

    $string_exp = "/^[A-Za-z .'-]+$/";

     

    šis regex patterns patreiz matcho tikai latin characters, vajag unicode.

     

    $string_exp = '/\A[\\p{L} .\'-]+\z/u';

     

    pamēģini šo. Explanation: \A - string sākums (^var pāris control characterus palaist garām, cik esmu lasījis), \z - string beigas, \\p{L} - http://php.net/manual/en/regexp.reference.unicode.php.

    u beigās nozīmē "ieslēgt unicode mode".

  3. @codez - es sāku programmēt websaitus pirms ~2 gadiem, tad es par tādu Scala vispār neko nezināju. Turklāt web backendi nomācošā vairākumā gadījumu ir rakstīti PHP.

    Jāatzīst gan, ka līdz ar to nāk arī zemie kvalitātes standarti, kas man baigi besī, jo man ir ļoti augsti standarti, es neciešu piegājienu "ka tik ir".

     

    @xfr33 - par salīdzināšanu nav ne jausmas (katrā ziņā nekāds lētais method call tas nebūtu, it īpaši lielākiem failiem; galvenais jautājums gan būtu - priekš kam kaut ko tādu general-purpose bibliotēkai?), bet upscaling vēl varētu padomāt (read: nošpikot no kāda :D). Vienkārši patreiz tur ir tikai tas, kas man pašam (un principā visiem, kas ar PHP apstrādā attēlus) ir primāri vajadzīgs no tādas bibliotēkas.

    Ar upscaling tā ir, kā ir ar to kvalitāti, man liekas, ka, e.g., 16x16px nevar apskeilot uz 320x320px, nesabojājot kvalitāti.

  4. Tad rewraitā ir vaina, nevis kodā. Rewraits nemaina POST variabļus (cerams, hz kas tev tur ir), requestam vienalga vajadzētu aiziet uz gala skriptu.

  5. kādu nafig .htaccess funkciju?

     

    Še, kods, kurš strādās, ja iemācīsies izmantot mysqli.

    if(isset($_POST['last_article_id'])
    	&& ctype_digit("{$_POST['last_article_id']"}))
    {
    	$last_article_id = $_POST['last_article_id'];
    	// $dbcon = new mysqli(...); // uztaisi kaut vai kaut kādu inkludējamu failu, kurā šis tiek izveidots
    	$pstmt = $dbcon->prepare('SELECT id, question
    		FROM articles
    		WHERE id < ? # baigās aizdomas, ka bija domāts > ?
    		ORDER BY id ASC
    		LIMIT 10');
    	$pstmt->bind_param('i', $last_article_id);
    	$pstmt->execute();
    	$pstmt->bind_result($id, $question);
    	
    	while ($pstmt->fetch())
    	{
    		$last_article_id = id;
    		echo '<li>', $question, '</li>';
    	}
    	
    	// viss, kas seko zemāk, ir galīgs autisms un neiederās šajā vietā, jo jQuery appendo šī faila returnoto saturu OL tagam, bet OL tagā nedrīkst pa tiešo būt DIV bloks
    
    	echo '<div id="more">';
    	
    	if ($pstmt->num_rows > 0)
    	{
    		echo '<a class="load_more" href="#" id="', $last_article_id, '">More</a>';
    	}
    	else
    	{
    		echo '<a class="load_more" href="#">No More Posts</a>';
    	}
    	
    	echo '</div>';
    	
    	$pstmt->free_result();
    	$pstmt->close();
    }
    
    

    Bet vispār tev tas kods ir drausmīgs, daudz vietu, kur kaut kas varētu nofeilot. Steidzami vajag kaut kur iet pamācīties kārtīgi, ar šitādu skillu tevi neviens normāls uzņēmējs neņems darbā.

  6. mysql_query
    

    fuck that shit...

     

    Un vispār, tu tā arī nepateici, kāda konkrēti ir problēma? Kāds tur sakars .htaccess rewraitam?

     

    P.S.

    is_numeric($_POST['last_article_id'])
    ->
    ctype_digit("{$_POST['last_article_id']}")
    

    Pieredze rāda, ka GET un POST requestos padodot ciparus, saņēmēja galā tie tiek izparsēti kā stringi. is_numeric() čeko datu tipu, nevis saturu.

  7. https://github.com/jurchiks/YAIL

    Uztaisīju pa svētdienu, jo tā klase, kura bija pieejama darbā, bija baigais spageti un galīgi neparocīga (piemēram, lai resaizotu bildi, tev bija jāuztaisa 1 objekts ar patreizējo bildi, otrs ar tukšu bildi, un tad jākopē pirmo virsū otrajai, ar roku norādot koordinātes).

    Nedaudz idejas pakopēju no WideImage bibliotēkas (loadFromFile/loadFromResource metožu nosaukumi), pārējais vai nu no nulles rakstīts, vai kopēts no iepriekšējās bibliotēkas ar savām izmaiņām (unsharp mask).

    Basic usage:

    require_once 'Image.class.php';
    try
    {
        Image::loadFromFile('/path/to/image')
            ->resize(400, 400, true/* exact size */, true /* center */) // ja exact, tad bilde tiek "iefitota" 400x400 attēlā vai nu pa vidu (ja center=true), vai sākot no top left stūra. Ja nav exact, tad bilde tiek resaizota proporcionāli, lai ielīstu 400x400 rāmī
            ->unsharp() // uz lielām bildēm neiesaku, baigi sūdīgs performance, jo loopo cauri katram pikselim
            ->toJpegFile('/path/to/destination/file.jpg', 90); // alt: toPngFile()
    }
    catch (Exception $e)
    {
        error_log('image error, ' . $e->getMessage());
    }
    

    Ja toJpegFile() pirmo parametru padod null, tad outputo browserī (vajag "header('Content-type: image/jpeg')", citādi izmet kā tekstu).

     

    Feedback is welcome, ja atrodat kādus bagus, būtu ļoti labi, ja pateiktu man.

  8. inu arī cilvēkus, kas atgrūž citus no IT jomas, jo pašiem tā īsti nepatīk, tādēļ savu nepatiku projicē citos veidos (ir īgni saskarsmē, ražo apzināti šausmīgu kodu, kuru jāuztur citiem, utt.)

    Velns parāvis, konkrēti mans kolēģis... "Senior" programmer, strādājis te no laika gala (~10 gadus), bet raksta spageti kalnus, + neatzīst, ja pieļauj kļūdu.

  9. 1) es nekur neesmu teicis, ka SSD ir sūds.

    2) Johaidī, tu kačā un apstrādā video uz webservera, uz kura stāv production saits, ar kuru galu tu domā? Serveris ir serveris, nevis workstation, jautā jebkuram kaut cik pieredzējušam cilvēkam.

    3) pa tēmu es vispār pirmais kaut ko pateicu.

×
×
  • Create New...