The Diary
Дневника на Сашо
<- Дневника
Архив за Юни, 2009
Понеделник, 15 Юни 2009
Кълнях се че няма да пиша софтуер, но отново пиша!!! НЕ на фрилансерите и фрилансерството!!!Колкото и да се кълнях че няма повече да пиша какъвто и да е софтуер се оказа че не мога да си удържя на думата. Отново правя някакви напъни да пиша на PHP, и забелязвам че... нямам опит. Пиша много бавно, кода все едно че е лиснат с кофа по файловете. Няма стил. Прочетох 2 книги за защита на PHP кода от външни нападения и сега правя по 330 проверки от формите към базата, а след това от базата към апликейшъна, евентуално ако са ме ударили под кръста и са ми набили невалидни за апликейшъна данни.
Проблем!!! Голям проблем е това UTF-8!!! Толкова голям че ми изяжда 50% от времето за програмиране за да правя нещо в UTF-8 и да не се счупи кодировката!!! Само си представете среден или начинаеш хАмерикански програмист как програмира? Сяда на компютъра, няма да превключва на ден около 300 до 400 пъти клавиатурни подредби, няма да прави около 60-80 Backspace-а щото пише на "другия" език! След това няма да се занимава с кодировка на апликейщъна, на конекцията към базата данни и на самата база данни. Инсталирайте си LAMPP или WAMPP и да видите че веднага може правилно да пишете и обработвате "американски" език без никакви настройки. Абе на тях и BIG Mac-а им е биг...
Аййй сега да се преземим където сме, еле майко като почнат едни настройки, едно многобитово представяне на символи. То да беше само това ами ASCII символите в UTF-8 се представя еднобитово а кирилицата, китаицата са многобитови. Дето има един лаф:
- Като чуя за многоезикова поддръжка и се хващам за кубура...
То няма свършване!!!Хайде докато си оправите кодировките на различните взаимодействащи си софтуери не е кой знае какво. Но пак може да се забозите така яко че псувате като офчар, виждал съм женски които така псуват че не им излиза кирилицата че вий бедна фантазията за красноречието, то са майки, лели, бащи, чичовци и други, и то на български руски английски, и то мешано... Едно - имате MySQL или PosgreSQL, първо настройвате сървъра на UTF-8 а втората стъпка е когато правите базата и таблиците отново да са UTF-8!!! Трето и четвърто - настройвате PHP парсера на UTF-8 обаче не забравяйте да му кажете (това е четвъртото) транзакциите/конекциите към бабата данни да е UTF-8 щото много бързо у вас ще избуи каруцарксото в рода ви!!! Индианеца го настройвате на също на UTF-8. Опааа, не сме свършили, продължаваме!!! Казваме че HTML-а ни е UTF-8 . Ама това не е още края, трябва да си запишете файловете в UTF-8 без BOM. До тука привършваме с настройката на UTF-8 на уеб апликейшън, но пак може да сгомнясате всичко при FTP трансфера защото има text и binary mode трансфер. Абе програмист не се става от днес за утре!!!
Огнено-гневното ми изблогване е провокирано от възможността/невъзможността да реализирам едно действие под UTF-8 което под ASCII е елементарно!!! Защо е елементарно, 128 символа от ASCII на Американицата да ги обработвате с текущите около 400 до 600 функции за меляне на стрингове в PHP 5.2. От тях 20 до 30 функции са UTF-8 безпроблемни, останалите ще ви се изсерат като връбче на главата - без да се замислят.
Функция която изряpва стринг до определена дължина без да реже последната дума UTF-8 безопасна!!!
Функцията е реализирана на PHP 5.2 докато чакаме Ю-Те-еФ-ната версия 6. Значи имам стринг (гръцки, кирилица) и трябва да го огранича до 180 символа без да режа последната дума която е най-близо до 180 символ. Намерих функция от http://ov-consult.com/?p=40 която не реже последната дума
function short_text($text,$length) // Изпращат се два параметъра към функцията, текста и максималната дължина
{
$maxTextLenght=$length;
$aspace=" ";
if(strlen($text) > $maxTextLenght )
{
$text = substr(trim($text),0,$maxTextLenght);
$text = substr($text,0,strlen($text)-strpos(strrev($text),$aspace));
$text = $text.'…'; // При наличие на текст по-дълъг зададен в $length, накрая ще се покаже това което сте декларирали тук
}
return $text;
}
Обаче ако подадете UTF-8 не работи!!!
Продължавам да търся и намирам на http://web-tourist.net/login/login/view.php?st=2473 в коментарите от 26th June, 15:02 на Plamenator следния код:
function excerpt( $feed, $length )
{
if (mb_strlen($feed, 'UTF-8')>$length)
{
$feed = mb_substr($feed, 0, $length, 'UTF-8' ) . '...';
return $feed;
}
}
Почвам да чета и да се опитвам да заместя обикновенните функции с mb_ такива. И почвам, в изходната функция имам:strlen - mb_strlen
substr - mb_substr
strrev - function utf8_strrev в коментарите на http://bg2.php.net/manual/en/function.strrev.php от дата 21-Dec-2006 06:38 на carmel.alex at gmail.com
strpos - mb_strpos - http://bg.php.net/mb_strpos
strlen - mb_strlen
substr - mb_substr
и ги заместваме упорито една след друга!!! Ето и самата function utf8_strrev:
function utf8_strrev($str, $reverse_numbers = true)
{
$pattern = $reverse_numbers ? '/./us' : '/(\d+)?./us';
preg_match_all($pattern, $str, $ar);
return join('',array_reverse($ar[0]));
}
И като ги заместих една след друга в най-горната функция получих следния грозен код който се надявам че би трябвало да работи
function short_text($text,$length)
{
$maxTextLenght=$length;
$aspace=" ";
if(mb_strlen($text, 'UTF-8') > $maxTextLenght )
{
$text = mb_substr($text, 0, $maxTextLenght, 'UTF-8');
preg_match_all('/./us', $text, $ar);
$text1 = join('',array_reverse($ar[0]));
$text = mb_substr($text, 0, mb_strlen($text, 'UTF-8')-mb_strpos($text1, $aspace, 0, 'UTF-8'), 'UTF-8');
$text = $text.'...';
}
return $text;
}
и я извиквам с:
$des = trim($row["des"]);
$des = str_replace("\t", " ", $des);
$des = str_replace("\n", " ", $des);
$des = str_replace("\r", " ", $des);
if (empty($des))
{
//echo "дескрипшъна е празен"; header ("Location: http://localhost:8101/"); echo "empty";
exit;
}
if (!preg_match("#^[\s\-_,’.!?)(0-9A-Za-zА-Яа-я]+$#u", $des)) // !preg_match( "#^[- _0-9a-zа-я]+$#i", !ereg("^[- _,.!0-9A-Za-zА-Яа-я]+$",
{
//echo $des;
//echo " грешка";
exit;
}
var_dump($des); // дъмповете ми са за тестване
$des = short_text($des, 180);
var_dump($des); // дъмповете ми са за тестване
print $des;
Фрилансер не може да го накарате да направи горното за 20 лева или 15$!!!
Дневник: http://www.karatebulgaria.com/alex
За коментари: http://www.karatebulgaria.com/alex/addcomment.php/2009-06-15#add[ Добави коментар ]
Събота, 20 Юни 2009
Търся софтуер за генериране на (html форми, php обработката им и пъхане на данните в database)Поздрави на всички съботно
Питането ми е такова, търся софтуер за rapid или step by step за: генериране на "html форми, php обработката им и пъхане на данните в database"
Досега съм ползвал няколко пъти http://www.webformgenerator.com/ което е JAVA приложение но има ограничения че не може да join-ва и да прави подзаявки (или аз не знам как става стози софт).
Предварително ви благодаря за мненията ви.
Дневник: http://www.karatebulgaria.com/alex
За коментари: http://www.karatebulgaria.com/alex/addcomment.php/2009-06-20#add
Коментари
Понеделник, 22 Юни 2009
TIOBE Programming Community Index for June 2009Заглавито е директно преписано от http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html с подзаглавие: JavaScript никога не е бил толкова популярен.
TIOBE - е съставила Юнска класация на популярността на езиците за програмиране. Таз класация е обновявана ежемесечно и се основава на броя на професионалните програмисти, организирани курсове, доставчици на услуги (разбирай програмистки услуги). Най-популярните търсачки като Google, AltaVista, Yahoo!, Wikipedia и YouTube са използвани за калкулиране на оценките в класацията. Забележете че класацията на TIOBE не е за най-добрия език за програмиране или език на който най-много редове код са написани.
Класацията може да бъде използвана за да се провери дали вашите програмистки способности са все още актуални или да вземете стратегическо решение за това какъв език да използвате ако започвате да пишете нов софтуер. Ха, стига толкова съм преписвал, ето ви класацията:
| Позиция Юни 2009 | Позиция Юни 2008 | Изменение на позицията | Език за програмиране | Рейтинг Юни 2009 | Изменение Юни 2008 | Статус |
|---|---|---|---|---|---|---|
| 1 | 1 | ![]() |
Java | 20.147% | -0.74% | A |
| 2 | 2 | ![]() |
C | 16.779% | +1.27% | A |
| 3 | 3 | ![]() |
C++ | 10.594% | -0.21% | A |
| 4 | 4 | ![]() |
PHP | 9.675% | -0.53% | A |
| 5 | 5 | ![]() |
(Visual) Basic | 7.943% | -1.84% | A |
| 6 | 7 |
|
Python | 4.756% | -0.14% | A |
| 7 | 8 |
|
C# | 4.536% | +0.48% | A |
| 8 | 9 |
|
JavaScript | 4.021% | +1.09% | A |
| 9 | 6 |
![]() ![]() |
Perl | 3.909% | -1.64% | A |
| 10 | 10 | ![]() |
Ruby | 2.629% | -0.01% | A |
| 11 | 11 | ![]() |
Delphi | 2.182% | +0.16% | A |
| 12 | 14 |
![]() |
PL/SQL | 0.879% | +0.12% | A |
| 13 | 26 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RPG (OS/400) | 0.778% | +0.53% | A-- |
| 14 | 13 |
|
SAS | 0.759% | -0.16% | A |
| 15 | 15 | ![]() |
Pascal | 0.759% | +0.16% | A |
| 16 | 27 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ABAP | 0.726% | +0.49% | A-- |
| 17 | 12 |
![]() ![]() ![]() ![]() |
D | 0.620% | -0.83% | A-- |
| 18 | 16 |
![]() |
Lisp/Scheme | 0.607% | +0.17% | B |
| 19 | 19 | ![]() |
Lua | 0.557% | +0.19% | B |
| 20 | 23 |
![]() ![]() |
MATLAB | 0.527% | +0.26% | B |
Други "програмистки" езици
Целия списък на всички 50 езика за програмиране е в таблицата по-долу. Този преглед на езиците е неофициален, защото може да има случай в който ние (те от TIOBE) да сме изпуснали някой език.
| Position | Programming Language | Ratings |
|---|---|---|
| 21 | ActionScript | 0.444% |
| 22 | Logo | 0.403% |
| 23 | COBOL | 0.397% |
| 24 | Fortran | 0.374% |
| 25 | Ada | 0.370% |
| 26 | FoxPro/xBase | 0.369% |
| 27 | PowerShell | 0.299% |
| 28 | Scratch | 0.252% |
| 29 | Prolog | 0.216% |
| 30 | Scala | 0.208% |
| 31 | Haskell | 0.205% |
| 32 | LabVIEW | 0.193% |
| 33 | Erlang | 0.176% |
| 34 | ML | 0.173% |
| 35 | Transact-SQL | 0.172% |
| 36 | Groovy | 0.152% |
| 37 | Caml/F# | 0.149% |
| 38 | Smalltalk | 0.148% |
| 39 | Forth | 0.148% |
| 40 | Awk | 0.140% |
| 41 | Focus | 0.138% |
| 42 | Tcl/Tk | 0.132% |
| 43 | NXT-G | 0.131% |
| 44 | Alice | 0.129% |
| 45 | Objective-C | 0.123% |
| 46 | J | 0.117% |
| 47 | APL | 0.115% |
| 48 | CL (OS/400) | 0.110% |
| 49 | VHDL | 0.105% |
| 50 | Bourne shell | 0.101% |
Предварително ви благодаря за мненията ви.
Дневник: http://www.karatebulgaria.com/alex
За коментари: http://www.karatebulgaria.com/alex/addcomment.php/2009-06-22#add
Петък, 26 Юни 2009
Почина Майкъл ДжексънНяма по-велик от него!!! С 17 Грами-та той е най-успешния, най-познаваемия, най- най-. Няма втори като него!
Беше на точното място, по точното време!
Нито Елвис Пресли, нито Битълс, нито Металика са успели да превземат сърцата и умовете на толкова хора както Майкъл Джексън. Всеки един от тях може да е направил революция по своемо, но Майкъл Джексън беше този който завладя целия свят!
След като видях Металика на живо исках да видя и Майкъл Джексън в Лондон но уви!
One life is not enough.
Един живот не е достатъчен.

Предварително ви благодаря за мненията ви.
Дневник: http://www.karatebulgaria.com/alex
За коментари: http://www.karatebulgaria.com/alex/addcomment.php/2009-06-26#add
Comments, texts and pictures not signed by me are property of their respective owners.
(c) 2003-2005 by Georgi Chorbadzhiyski. Some rights reserved.
Страницата е генерирана от Glog v3.50


Привет,
това което ще ти свърши работа е Qcube - http://qcu.be. - заслужава си един, че и два погледа :)
Написа Nikolai (email) на 07-Mar-2010 14:10