Atsibodo naudotis Adobe Flash 8 dokumentacija, kuri man nepatogi, tad nutariau susirasti internete patogesnę ActionScript dokumentaciją. Man būtų tikusi ir ta pati dokumentacija, kad tik būtų lengviau surasti tai, ko noriu.

Mano paieškos rezultatas – gotAPI.com. gotAPI leidžia patogiai ir greitai naviguoti ActionScript, HTML, JavaScript, PHP, Perl, RubyOnRails, Prototype, J2EE dokumentacijoje. Tinklapis naudojasi standartiniais dokumentacijos puslapiais (w3.org, w3schools.com, php.net, …), tačiau jo pagalba patogiau surasti norimą funkciją ar klasę nei naudojantis originaliais šaltiniais.

Reklama

Gali perskaityti daug straipsnių ar knygų apie tai, kaip komentuoti rašomą kodą. Kiekvienas autorius pasiūlys kur, kada ir kokius koemntarus rašyti.

Yra ir kitas būdas. Pažiūrėk į prieš pusę metų ar metus rašytą savo kodą. Pamatysi, kur ir kokių komentarų reikėtų. Pažiūrėk į kitų rašytą kodą. Nesunkiai pasakysi, kokie komentarai praverstų.

Google irgi klysta

2006-06-01

Šiandien gavau pakvietimą naudotis Google Analytics. Registruojantis du kartus paprašė nurodyti šalį. Vieną kartą kaip laiko zonai nurodyti, kitą kartą kaip šalį, iš kur esu. Antrąjį kartą bent galėjo pagal nutylėjimą nustatyti Lietuvą. Čia tik maža usability klaidelė.

Rimtesnę klaidą Google padarė su Page Creatoriumi. Spameriams užtenka įvykdyti Google užklausą "inurl:googlepages.com" ir susirinkti adresus, kurie atitinka gmail adresus. Tai galima netgi labai lengvai automatizuoti ir surinkti nemažą kiekį egzistuojančių gmail adresų.

PHP turi iconv ir mb_convert_encoding funkcijas, kurios daro tą patį – perkoduoja simbolių eilutę.

Prabenchmarkinus man tas funkcijas ant dviejų sistemų (win ir linux) jų vykdymo greitis panašus, tačiau iconv, 5 – 15% greitesnė. Benchmarko kodas:

<?php

$string = 'labas, kas pas jus yra gero? Ąžuolų turite?';
$loop_count = 100;

require_once('Benchmark-1.2.6/Profiler.php');

$profiler = new Benchmark_Profiler();
$profiler->start();

$profiler->enterSection('mb_convert_encoding');
for ($i = 0; $i < $loop_count; $i++) {
    $result = mb_convert_encoding($data, 'UTF-8', 'ISO-8859-13'); // windows-1257 to utf-8
}

$profiler->leaveSection('mb_convert_encoding');

$profiler->enterSection('iconv');
for ($i = 0; $i < $loop_count; $i++) {
    $result = iconv('ISO-8859-13', 'UTF-8', $data);
}
$profiler->leaveSection('iconv');

$profiler->stop();
$profiler->display();

?>

Pasidarė įdomu, kokius el. pašto adresus naudoja lietuviai. Galima spėlioti kokie adresai populiariausi, bet geriau leiskime šnekėti skaičiams. Statistika paimta iš vieno mano projekto.

adreso tipas kiekis
one.lt 30 %
yahoo.com 18 %
gmail.com 15 %
delfi grupė 6 %
takas.lt 2.5 %

Šituos skaičiukus padėjo gauti kelios MySQL užklausos.

Pirmoji SQL užklausa padeda gauti el. pašo adresų host dalį ir naudotojų su tokiu adresu skaičių.

SELECT SUBSTRING(email FROM POSITION('@' IN email) + 1) AS host, COUNT(*) AS count
FROM users
GROUP by host
ORDER BY count DESC

Jeigu jūsų MySQL versija 4.1 ar naujesnė ir palaiko subselectus, tai galite gauti ir procentus.

SELECT SUBSTRING(email FROM(POSITION('@' IN email) + 1)) AS host,
       COUNT(*) AS count,
       COUNT(*) * 100 / (SELECT COUNT(*) FROM users) AS percent
FROM users
GROUP BY host
ORDER BY count DESC

Kai kurios pašto sistemos palaiko keletą adresų (tarkime Delfi Webmail paslauga). Tokiu atveju pravers tokia užklausa. Reikės tik PHP arba phpMyAdmin pagalba susižinoti įrašų skaičių.

SELECT SUBSTRING(email FROM POSITION('@' IN email) + 1) AS host
FROM users
HAVING host IN ('delfi.lt', 'centras.lt', 'email.lt', 'mail.lt', 'xxx.lt', 'bamba.lt')

Būtų įdomu sužinoti ir jūsų lankytojų naudojamų el. pašto adresų statistiką – rašykite komentaruose.

Pateikiamos užklausos išbandytos ant MySQL 4.1. Jeigu jos neveiks, gali tekti naudoti kitas SUBSTRING formas ar simbolio paieškos eilutėje funkcijas. Įdomu, kad MySQL turi begalę būdų atlikti SUBSTRING ar fragmento paiešką nurodytoje eilutėje.

Jeigu užsiimi interneto tinklapių programavimu, tai anksčiau ar vėliau tenka rašyti naujienų siuntimą elektroniniu paštu. Aišku, kiekvienas save gerbiantis lietuvis nori siųsti gražius elektroninius laiškus su paveiksliukais ir viskuo, kas tik įmanoma. Man paprastai iš pirmo karto nepavyksta padaryti gražaus HTML laiško šablono, kuris būtų gerai rodomas pas visus (na gerai, pas daugelį). Tikri programuotojai neišradinėja dviračio, o apie HTML laiškų siuntimą skaito MailChimp Email Design Guide.

Tiems, kas naudoja PHP ir pirmą kartą darys HTML laiškų siuntimą, rekomenduoju nesivarginti skaitant mail() funkcijos dokumentaciją, o naudoti PHPMailer.

Apie tai, kaip masiškai siųsti laiškus, rašo Spraitas straipsnyje El. laiškai iš PHP.

Jeigu pradėjote dirbti su RubyOnRails ir turite problemų su UTF-8 palaikymu bei naudojate MySql DBVS app/controllers/application.rb faile esančioje ApplicationController klasėje įrašykite

  before_filter :configure_charsets

  def configure_charsets
    @headers["Content-Type"] = "text/html; charset=utf-8"
    suppress(ActiveRecord::StatementInvalid) do
      ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
    end
  end