Naujausi įrašai

Turinys

« 1 2 3 4 ... 7 8 »

Spalis22

Komunikacija su Iframe per Javascript bei JQuery (Komentarai 72)

Žymės: html,javascript,jquery

Pasidalink!

Iframe - HTML elementas, leidžiantis tam tikroje tinklalapio vietoje įkelti kito tinklalapio turinį.

Nors HTML5 buvo atsisakyta tradicinių rėmelių (frameset), tačiau Iframe yra plačiai naudojamas ir, panašu, kad ateityje šio elemento naudojimas bus dar intensyvesnis, žinant, jog tiek socialinių tinklų aplikacijų platformų (pvz.: OpenSocial), tiek ir įvairūs Interneto servisai (pvz.: Google Maps) veikimas pagrįstas Iframe pagrindu.

Komunikacija tarp pagrindinio tinklalapio ir Iframe'o Javascript pagalba galima tik tuo atveju, jei abu puslapiai yra užkraunami iš to paties domeno (pvz.: http://www.foo.com ir http://www.bar.com bus negalima). Netgi norint realizuoti komunikaciją tarp skirtingų 3 lygio domenų (pvz.: http://foo.example.com ir http://bar.example.com), būtina abiejuose puslapiuose nurodyti, kad šie abu tinklalapiai priklauso tam pačiam domenui. Tai galima padaryti Javascript komanda:

document.domain = 'example.com';

Norint realizuoti komunikaciją tarp skirtingų domenų, reiktų naudoti Iframe proxy. T.y. skriptas, esantis tame pačiame domene, turėtų tiesiog atvaizduoti kitame domene esančio puslapio HTML turinį.

Komunikaciją tarp pagrindinio puslapio ir į jį įterpto Iframe'o atspindi šie pavyzdžiai.

Pagrindinis puslapis (pvz.: index.html)

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
</script>
</head>
<body>
<iframe id="myIframe" src="iframe.html" width="100" height="100" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"></iframe>
<div id="foo">FOO</div>
<script type="text/javascript">
    // Naudojant skirtingus subdomenus, nurodome bendrą domeną:
    document.domain = 'example.com';
   
    $('#myIframe').load(function()
    {
        // jQuery pavyzdys:
        var frame = $('#myIframe').contents();
        console.log('jQuery: ',frame.find('#bar').html());
       
        // Javascript pavyzdys:
        frame = document.getElementById('myIframe').contentDocument;
        // Jei neveikia contentDocument, galima naudoti contentWindow.document
        console.log('JS: ', frame.getElementById('bar').innerHTML);
    });
</script>
</body>
</html>

Iframe puslapis (iframe.html)

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
</script>
</head>
<body>
<div id="bar">BAR</div>
<script type="text/javascript">
    // Naudojant skirtingus subdomenus, nurodome bendrą domeną:
    document.domain = 'example.com';
   
    // jQuery pavyzdys - ieškome #foo elemento window.parent.document kontekste
    console.log('jQuery: ', $('#foo', window.parent.document).html());
    // Javascript pavyzdys:
    console.log('JS: ', window.parent.document.getElementById('foo').innerHTML);
</script>
</body>
</html>

Šie pavyzdžiai Firebug konsolėje parodys atitnkamų elementų turinius.

Spalis20

PHP loginiai operatoriai ir operatorių eiliškumas (Komentarai 236)

Žymės: php

Pasidalink!

Atliekant veiksmus su loginiais operatoriais ir naudojant juos sąlygos sakiniuose, dažnai tikimasi tokios sąlygos schemos:

if ( <sąlyga> [ == <rezultatas> ] ) <atliekami veiksmai>;

Tačiau naudojant sąlygose loginius operatorius, ši schema negalioja, kadangi operatorių eiliškume palyginimo operatoriai yra aukštesnio prioriteto nei loginiai. Dėl to gauname ne visada tikėtą rezultatą. Pvz.:

$a = 5;
$b = 2;
echo ($a & $b == 0)?'nulis':'ne nulis'; // ne nulis
echo (($a & $b) == 0)?'nulis':'ne nulis'; // nulis

$a = 1;
$b = 2;
echo ($a & $b == 2)?'du':'ne du'; // du
echo (($a & $b) == 2)?'du':'ne du'; // ne du

 

Operatorių eiliškumas iš PHP manual'o.

Associativity Operators Additional Information
non-associative clone new clone and new
left [ array()
non-associative ++ -- increment/decrement
non-associative ~ - (int) (float) (string) (array) (object) (bool) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + - . arithmetic and string
left << >> bitwise
non-associative < <= > >= <> comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ? : ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= assignment
left and logical
left xor logical
left or logical
left , many uses

 

Spalis15

Neversijuotų SVN failų trynimas (Komentarai 125)

Žymės: svn,subversion,linux

Pasidalink!

Dirbant su versijų kontrolės sistema Subversion (SVN) pasitaiko atvejų, kai tenka ištrinti failus, neįtrauktus į versijų kontrolę.

Pavyzdžiui, perjungiant (switch) į kitą šaką (branch), ar turint nereikalingų failų, juos ištrinti galima komanda (veikia Unix sistemose):

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs rm -rf

Ši komanda ištrins net ir tuos failus, kurie buvo direktorijoje su svn:ignore savybe (property), atitnkančia tuos failus.

Rugpjūtis31

Su tinklaraščių diena! (Komentarai 94)

Žymės: blog day

Pasidalink!

Blog Day 2009

Šiandien (2009 m. rugpjūčio 31 d.) - 5-oji tinklaraščių diena. Tradiciškai šią dieną skatinama parašyti įrašą su 5 naujai atrastų tinklaraščių rekomendacijomis.

Mano naujausi atradimai:

O ką naujo radai TU? :)

Plačiau apie tinklaraščių dieną day.lt ir blogday.org.

Rugpjūtis27

PHP atnaujinimas CentOS sistemose (Komentarai 199)

Žymės: php,centos,vds,hostex

Pasidalink!

Prieš kurį laiką persikėliau į Hostex - įsigijau ten VDS su įdiegta CentOS.

Tačiau CentOS distribucijoje programų paketai yra atnaujinami itin retai, dėl to iškyla tiek suderinamumo, tiek saugumo problemų. Naudojant VDS tinklalapių, sukurtų su PHP programavimo kalba, talpinimui, labai pravartu atnaujinti PHP paketą, kadangi įdiegtoje 5.1.6 versijoje trūksta nemažai funkcionalumo. Nieko nuostabaus, juk ši versija buvo išleista prieš 3 metus (2006-08-24).

Tam, kad atnaujinti paketus, mums reikės:

  • Įdiegti yum programą (paketų tvarkymui)
  • Įtraukti repozitoriją, kurioje yra atnaujinti paketai (naudosime http://www.jasonlitka.com/yum-repository)
  • Atnaujinti reikiamus paketus
  • Perkrauti HTTP serverį

Yum galime įdiegti iš RPM paketo, arba per grafinę serverio paketų valdymo aplinką (Hostex atveju - Parallel Plesk).

Repozitoriją įtrauksime, sukurdami failą /etc/yum.repos.d/utterramblings.repo (galime naudoti vi, vim arba nano) ir įrašydami ten tokią informaciją:

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

Paketus atnaujiname iškviesdami komandą:

yum -y update php

Serverį perkrauname iškviesdami komandą:

 

service httpd restart

 

Daugiau informacijos ČIA ir ČIA.

Rugpjūtis26

Mokėjimai.lt saugumo spragos ir dviprasmiška specifikacija (Komentarai 282)

Žymės: php,saugumas,mokėjimai

Pasidalink!

Mokėjimai.lt

Norint Internete vystyti verslą, kuomet reikia realizuoti mokėjimus Internete, yra 2 galimybės: sudaryti su keliais bankais sutartis, arba rinktis tarpininką. Pirmasis variantas yra gana komplikuotas ir brangus: sutartys su bankais ir mėnesiniai mokesčiai yra dideli, be to, techninė realizacija reikalauja specifinių technių žinių, kai kurie bankai reikalauja ir SSL sertifikato. Kitas, daugeliu atveju paprastesnis variantas yra rinktis tarpininką, kuris turi vieningą interfeisą visiems mokėjimų tipams, o kainą, ypač smulkesniam projektui, gali pasiūlyti itin konkurencingą. Vienas populiariausių tokių servisų Lietuvoje - mokėjimai.lt.

EVP, sukūrę mokėjimai.lt, eparasas.lt, manoid.lt ir kitus projektus, eina teisinga kryptimi, tačiau kai kurie požymiai rodo, jog gražiame įpakavime galima rasti neaišku ką... Vien jų OpenID implementacija, kuomet priimami tik manoid.lt vartotojai, rodo, jog jie nesupranta ir nepalaiko šios sistemos. Kai kurių sistemų siunčiama "User Agent" reikšmė yra "IDAMAS XML Sender", kas irgi rodo, jog kai kurių produktų kūrimu užsiima ne jie. Tiesiog outsource'ingas ar per mažas žinių ir patirties bagažas?

Grįžtant prie mokėjimai.lt, Diegiant ją į savo sistemą, vadovautis jų pateikta specifikacija nepavyks, kadangi ji... neteisinga! Funkcija, kuri turėtų patikrinti, ar mokėjimas teisingas, lietuviškoje ir angliškoje specifikacijos versijoje aprašytos skirtingai.

Lietuviškasis variantas:

 

//DĖMESIO: Nepamirškite funkcijoje įrašyti savo www.mokejimai.lt slaptažodį.
$your_pass = 'slaptazodis'; //irasome slaptazodi is jusu mokejimai.lt sistemos
$test_mode = 1; //1- kuomet testuojate. 0 - kuomet jau veikia sistema tikru rezimu.
if( mk_check ( $your_pass, $_REQUEST['orderid'],$_REQUEST['merchantid'] ) != $_REQUEST['_ss1'] || $_REQUEST['test'] <> $test_mode){
    die ("šaltinis netikras"); 
} 

function mk_check ( $password, $id, $mechant_id ) {
    return md5("{$password}|{$id}|{$_SERVER['REMOTE_ADDR']}|{$mechant_id}");
}

 

Tuo tarpu angliškas (webtopay.com) variantas:

 

    $your_webtopay_pass = md5("mypassword"); // please, enter your webtopay.com password
    if ( TestTransaction( $_GET['_ss1'], $your_webtopay_pass, $_GET['orderid'] ) ){ //verification of information source.
        //Everything is OK
    }else{
        //Something is wrong
    }

    function TestTransaction( $transaction, $userPassword, $ordeID, $test = 0, $status = 1 ){
        return ( $transaction == md5("{$userPassword}|{$ordeID}|{$test}|{$status}") );
    }

 

Kodai akivaizdžiai skiriasi, tačiau, nors angliškasis variantas arčiausiai tiesos, testiniame režime kintamasis $test vistiek bus lygus 0, ir md5 hash'ai nesutaps.

Tiesa, jie visus duomenis pasirašo viešojo rakto principu naudodami SSL sertifikatą, todėl yra ir kitas būdas patikrinti duomenų validumą.

Žiūrint į šią funkciją galima pastebėti vieną dalyką: žinant GET perduodamus duomenis (orderid ir _ss1) galime ir sužinoti prisijungimo prie mokėjimai.lt sistemos slaptažodį. Tai tik teorinė prielaida, tačiau ji turėtų suveikti. Kas nors galbūt ją ir patiktins ;)

Mokėjimo sistemos veikimo schema yra tokia:

1. Vartotojas formos duomenis (čia turime Order ID) perduoda mokėjimai.lt sistemai

2. Vartotojas nukreipiamas į banką ir ten sumoka pinigėlius. Grįžta į mokėjimai.lt

3. Siunčiama užklausa (su _ss1) kliento sistemai. Klientas pasižymi, kad už jo paslaugas ar prekes buvo apmokėta.

4. Vartotojas grąžinamas pas klientą

Viskas, ką reikia padaryti, kad gauti _ss1 reikšmę, yra pakeisti callback URL (duomenys juk nepasirašomi) kliento puslapyje (tam gali pasitarnauti ir Firebug). Tada 3 punkto užklausa bus siunčiama ne klientui, o ten, kur jūs pageidausite. Štai čia ir sužinosime _ss1 reikšmę.

O toliau elementarus brute-force, arba paieška iš rainbow table (juk jokia druskelė neįmaišoma į MD5 algoritmą).

Ir štai - turime vartotojo slaptažodį, kuriuo prisijungsime prie mokėjimai.lt sistemos.

Apie mokėjimai.lt saugumą taip pat rašė Steponas Kazakevičius.

Liepa20

Twitter vs. IRC (Komentarai 141)

Žymės: twitter,IRC

Pasidalink!

Twitter buvo sukurtas kaip mikrotinklaraščių sistema. Iš esmės tai tie patys tinklaraščiai, skirti žmonėms, neturintiems laiko rašyti tinklaraščių įrašus ar tiesiog neturintiems ką pasakyti tiek, kad tai išsivystytų į tinklaraščio įrašą.
Viskas atrodo lyg ir gražu - turi, ką parašyti, rašai tinklaraščio įrašą, nori tik mestelti vieną-kitą mintį ar nuorodą, parašai mikro-tinklaraščio įrašą.
Visgi, fenomenalus Twitter populiarumo augimas yra sąlygojamas ne pavienių įrašų, o bendravimo, ryšio tarp tavęs ir tavo sekėjų palaikymo, žinučių persiuntimo (re-tweet), teminių įrašų (hash-tags) rašymas.
Galų gale viskas išaugo į realaus laiko bendravimo sistemą.
Bet juk turėjome IRC ir jis puikiai veikė, tad kas gi nutiko, ir ar tikrai Twitter yra pranašesnis už IRC? O gal jis ir RSS gali pakeisti?
Skelbiame kovą - įvertinkime Twitter ir IRC įvairiais aspektais.

Raundas 1. Centralizuota sistema Vs. Decentralizuota sistema

IRC buvo sukurtas kaip protokolas, ir kiekvienas servisas veikia kaip atskira decentralizuota sistema, tuo tarpu Twitter yra centralizuota sistema ir visi vartotojai yra įsprausti į šios sistemos rėmus. Nepaisant to, jog visi duomenys (įskaitant ir vartotojo duomenis) yra perduodami vienam serviso tiekėjui, sistema yra kur kas jautresnė kitoms grėsmėms. Galime prisiminti Ma.gnolia pavyzdį, kuomet dėl kietojo disko gedimo buvo prarasti visi vartotojų duomenys, o pati sistema uždaryta neribotam laikui.
Taip, Twitter turi API, per kurį su sistema gali bendrauti bet kuri kita programa, ir netgi didžioji dalis aktyvumo vyksta išorinių programų pagalba, bet esmės tai nekeičia.

1:0 laimi IRC.

Raundas 2. Klientai (programos)

Yra sukurta daugybė programų, leidžiančių komunikuoti su Twitter per jų API. Pradedant tinklalapių įskiepiais, baigiant mobiliųjų telefonų aplikacijoms. Tai suteikia galimybę rinktis, o ne tik naudotis Twitter autorių sukurtomis priemonėmis. Integracija su mobiliaisiais įrenginiais, galimybė įkelti nuotraukas taip pat stiprina Twitter pozicijas, tačiau tai ne paties Twitter, o trečiųjų šalių nuopelnas.
IRC, būdamas protokolu, o ne servisu, pats neveikia savaime, tačiau programų kiekis taipogi didžiulis, protokolas aiškus ir dokumentuotas. Taipogi sukurta daugybė bibliotekų interakcijai su IRC serveriu, todėl nei viena šalis neturi privalumo šioje srityje.

Šiame raunde lygiosios, bendras rezultatas - 2:1

Raundas 3. Istorija ir paieška

Twitter turi galingą paieškos sistemą, kurios pavydi tiek Google, tiek kiti interneto servisai. Vartotojų žinutės yra saugomos ir gali būti pasiekiamos bet kuriuo metu... Deja, Twitter neleidžia peržiūrėti visų vartotojo žinučių, todėl tiek paieška, tiek informacijos ilgaamžiškumas nėra Twitter stiprioji pusė. Dėl to atsiranda įvairių servisų, skirtų kaupti Twitter žinutes, tačiau ideologiškai Twitter pasilieka prie trumpalaikės informacijos strategijos, kas būtent ir yra stiprioji IRC pusė.
Lyginti Twitter su pačiu IRC šioje vietoje nesąžininga, kadangi IRC pokalbių saugojimui reikalingos papildomos programos, o centralizuotos paieškos nėra, kadangi pati sistema necentralizuota.

Twitter lygina rezultatą - 2:2

Raundas 4. Trumpi įrašai Vs. Ilgi įrašai

Twitter leidžia kurti įrašus, ne ilgesnius nei 140 simbolių. Integracijai su SMS galbūt tai ir teigiamas sprendimas, bet juk ir SMS galima siųsti kelių puslapių, tad čia - neabejotinas sistemos trūkumas. Įkeliant ilgesnes nuorodas, būtinas jų trumpinimas, o tai vėl atsiremia į prilausomybę nuo trečiųjų šalių. Jei vienas ar keli URL trumpinimo servisai miršta - visos nuorodos miršta kartu.
Kažkada buvo pasirodęs prieštaringai vertinamas straipnis, jog Twitter pakeis RSS... No way.. Su savo 140 simbolių riba tai yra neįmanoma misija.
IRC neturi šių apribojimų, o pats bendravimas yra kur kas sklandesnis, nei Twitter.

3:2 IRC naudai.

Raundas 5. Draugai, sekėjai, whatever...

Twitter bendravimo principas yra vienas-su-daug. Tai reiškia, jog norėdamas, kad tavo žinutės būtų pastebėtos, turi turėti sekėjų, kitaip tavo rašliavos nepasieks jokios auditorijos (pvz.: žinutės "Kas žinote...", "Kaip manote..." neturės jokio atsako).
IRC - bendruomenių tinklas. Užtenka prisijungti prie teminio kanalo ir visi jo nariai matys tai, ką rašai. Ir tu matysi visą dialogą, tuo tarpu vienam Twitter vartotojui uždavus klausimą, atsakymus į jį matys tik jis pats ir visų atsakiusiųjų sekėjai, tačiau kiti vartotojai praranda dalį informacijos, nėra realizuojamas informacijos integralumas.
Rinkodaroje Twitter - galingas įrankis, leidžiantis išpopuliarinti produktą, kurti ryšius su produkto vartotojais, tačiau tai ne visada pasiekiama gražiais metodais. Dažnai sekėjai yra perkami, o pats Twitter vartotojo įėjimas į bendruomenę yra realizuojamas sekant visus, kiek įmanoma, žmones, nepriklausomai nuo tikslinės vartotojų grupės. Žinoma, yra vartotojų blokavimo galimybė, tačiau IRC tai yra realizuota kur kas geriau - yra vartotojo išmetimas iš kanalo, uždraudimas ir pan.

4:2 IRC pirmauja.

Raundas 6: Ergonomika

Šis punktas ginčytinas, kadangi dauguma Twitter aktyvumo sukuriama išorinėmis programomis, lygiai taip pat, kaip ir IRC. Visgi, žmonėms ko gero sudėtinga suprasti, kas tas serveris, kaip prie jo prisijungti, kaip registruoti slapyvardį... One.lt pavyzdys puikiai parodo, jog žmonėms pakanka elementarių funkcijų bendravimui. Aš tai vadinčiau vartotojų kompetencijos trūkumu ir bandos jausmu, tačiau skirkime čia tašką Twitter.

Galutinis rezultatas - 4:3 IRC naudai.

Tad nejaugi tik kritinė Twitter masė ir bandos jausmas lemia Twitter populiarumą ir IRC vartojimo smukimą? Laukiu jūsų komentarų.

Gegužė18

Nacionaliniai nebalsavimo ypatumai (Komentarai 113)

Pasidalink!

Prieš seimo rinkimus bandžiau išsakyti savo subjektyvią nuomonę, kodėl neverta balsuoti rinkimuose. Pagrindinėmis priežastimis įvardijau politikų vertybių trūkumą, žemo sąmoningumo rinkėjų daugumos lemiamus rezultatus ir stagnacišką rinkimų sistemą, įspraudžiančią pilietį į jo deklaruotos gyvenamosios vietos rinkimų apygardą.

Anąkart sąmoningai nedalyvavau rinkimuose, tuo tarpu šiuose prezidento rinkimuose norėjau išreikšti pilietinę valią, tačiau tapau biurokratinių suvaržymų auka. Varguoliškai skamba, bet taip yra :) Jau rašiau, kiek problemų sukelia gyvenamosios vietos deklaracijos naikinimas. Kadangi, kaip tikroje biurokratinėje valstybėje bendravimas su savivaldos institucijomis vyksta paštu, šis procesas užtrunka beveik mėnesį.

Grįžtant prie rinkimų temos, tokioje situacijoje atsidūrusiems žmonėms, norintiems balsuoti, reikėjo prasinešti iki gegužės 7 - net 10 dienų iki rinkimų datos. Nespėję iki šios datos deklaruoti gyvenamosios vietos yra priverčiami jaustis pilietinių teisių neturinčiais žmonėmis.

Kokią išvadą galime iš to padaryti? Elektroniniai rinkimai būtini! Taip būtų ne tik suteikiamos galimybės balsuoti didesniam gyventojų ratui - nuo daug keliaujančių iki judėjimo negalią turinčių žmonių, bet ir sumažinamas mano patirtų galimų atvejų kiekis.

Naujosiose asmens tapatybės kortelėse jau turime skaitmeninius sertifikatus, tad šiuo klausimu į ateitį žiūriu optimistiškai.

Man ne dzin.

Gegužė08

Facebook įdiegs OpenID palaikymą (Komentarai 298)

Žymės: openid,facebook

Pasidalink!

Facebook

OpenID

Neseniai Inside facebook ir Spread OpenID tinklaraščiuose pasirodė pranešimų, jog Facebook leis savo vartotojams prisijungti prie sistemos su savo OpenID prieigomis.

Kadangi Facebook vartotojų autentifikavimui ir taip yra priklausoma nuo trečiųjų šalių (el. pašto tiekėjų), šiuo žingsniu jie neturėtų prarasti nieko, o tik suteikti vartotojams platesnes galimybes, kadangi prisijungti bus galima turint Google, Yahoo ar bet kurio kito OpenID tiekėjo prieigą.

Šiuo žingsniu Facebook taptų pirmu (tikrai) dideliu servisu,  palaikančiu OpenID ne kaip OpenID tiekėjas, o kaip priklausančioji šalis (Relying party).

Pabaigai - interviu su Chris Messina iš Hamburge vykusios Next09 konferencijos:

Balandis09

Raštvedybos taisyklės (Komentarai 156)

Pasidalink!

Atversta knyga

Skyrybos ženklų rašymas

Skyrybos ženklai ? ! . , ; : rašomi iškart po žodžio, nepaliekant po jo tarpelio (). Tarpeliai paliekami po šių simbolių, pvz.:

Tekstas?Tekstas;

Tekstas,tekstas.

Kaip ir tarp žodžių, taip ir tarp jų sutrumpinimų tarpeliai būtini, pvz.:

t.y. (ne t.y.);

doc.dr. (ne doc.dr.);

J.Jonaitis (ne J.Jonaitis).

Jei po vieno iš skyrybos ženklų rašomas kitas skyrybos ženklas, tarp jų tarpai nededami.

Tarp daugtaškio taškų tarpai taipogi nededami - tik po paskutiniojo, pvz.: Noriu namo...Jau vėlu.

Žodžių sutrumpinimų negalima atskirti pasvirouju brūkšniu, pvz.: asmens kodas - a.k. (ne a/k).

Lietuviškų kabučių rašymas

Lietuviškosios kabutės rašomos tokia forma: „Tekstas“. Atidaromosios kabutės (maži devynetukai) gaunamos surinkus kombinaciją alt+0132 (paspaudus "alt" klavišą rinkti skaičius 0132), uždaromosios - alt+0147.

Kai kurios biuro programos (pvz.: OpenOffice), pasirinkus pastraipos kalbą lietuvių, automatiškai rašo lietuviškąsias kabutes.

Brūkšnelis ir brūkšnys

Kompiuterinėje raštvedyboje yra vartojami 3 tipų brūkšniai: minuso ženklas, brūkšnelis, brūkšnys, tačiau rašyti brūkšnelį vietoje brūkšnio - neigiama kompiuterizacijos įraka.

Brūkšnelis visada dedamas be tarpų. Tai ne skyrybos ženklas — supaprastintai pasakius, jis visada būna žodžio viduje (tarp žodžio dalių ar tarp žodžių), sakinyje nedalyvauja.

Brūkšnelis vartojamas:
kelti žodžio dalims: Betgi pūtė toksai švel-  /  nus vėjelis, kad jis nus- / 
dvigubam dalykui: kavinė-skaitykla, sekretorė-mašininkė, paroda-pardavimas; 
dvigubai (arba su slapyvardžiu) pavardei: Kymantaitė-Čiurlionienė, Mykolaitis-Putinas; 
raidžių ir skaičių deriniams: VAZ-2109, LT-3000. 
 
Brūkšnys
Brūkšnys dedamas ir su tarpais, ir be tarpų.

Su tarpais dedamas šiaip sakiniuose:
Vilnius — Lietuvos sostinė. 
Upę perbridęs — šaukšte prigėrė. 
— Kiški piški, bėkim, bėkim, — dangus griūva! 
Iš tautosakos jis rekonstravo mitologinį žmogaus — gamtos — visatos ryšį.
    
Be tarpų brūkšnys dedamas, kai nusakomos ribos (atstumo, laiko, kiekio ir kt.):
traukinys Vilnius—Kaunas; 
lapuočiai žaliuoja birželio—spalio mėnesiais; 
prancūzų—lietuvių kalbų žodynas; 
Juozas Tumas-Vaižgantas (1869—1933); 
raštų pirmajame tome, p. 115—320; 
naktį buvo 15—20 laipsnių šalčio; 
važiavo 60—70 km per valandą greičiu.

Šaltiniai: kalbinyko tinklaraštis bei Gintauto Grigo straipsnis.

Matematinių ženklų rašymas

Matematiniuose veiksmuose prieš matematinius ženklus ir po jų, išskyrus daugybos ženklą, parašytą tašku, daromas tarpelis; jei matematinis ženklas eilutėje yra paskutinis, tai naujos eilutės pradžioje jis vėl pakartojamas.

15+58=73

12*3=36

1513=⊔2

36/2=18

Skaičių rašymas

Daugiaženkliai arabiški skaitmenys, pradedant penkiaženkliais, tarp skaičių klasių rašomi su tarpeliais, pvz.:

45;

7659;

23000;

789457;

88265985.

Namo ar kitoks numeris su raide rašomas be tarpo, pvz.: 12a.

Paprastos trupmenos rašomos be tarpo, pvz.: 1/3, 1/78.

Jei paprastojoje trupmenoje yra sveika dalis, ji skiriama tarpu, pvz.: 31/3.

Jei skaičius yra dešimtainė trupmena, tarp sveikosios ir trupmeninės dalies tarpas nerašomas, pvz.: 0,56.

Datos rašymas

Data rašoma skaitmenimis: 2009-04-08, nepaliekant tarp skaitmenų tarpų.

Mišrus datos rašymas: 2008m.lapkričio25d.

Specialių simbolių rašymas

Numerio pažymėjimas rašomas su tarpu po taško, pvz.: Nr.5.

Paragrafo ženklas rašomas su tarpu prieš arba po ženklo, pvz.: §5, 5§

Procento ženklas rašomas skaitinės reikšmės parašius tarpo simbolį: 5%

Laipsnio ženklai rašomi su tarpu tarp skaitmenų: +10°C

Valiutos ženklai rašomi su tarpu po skaitinės reikšmės: 25Lt, 30$

Ačiū extate už pastebėjimą ir nuorodą į VLKK konsultacijų puslapį.

Adreso rašymas

Kai nurodomas kokios nors gatvės, prospekto ar pan. pavadinimas, būtina nurodyti ir nomenklatūrinio sutrumpinimo pavadinimą, pavyzdžiui: Savanorių pr. 8 (ne Savanorių 8), Goštauto g. 15 (ne Goštauto 15).

Telefonų numerių rašymo rekomendacijos


Telefono ir fakso numeriai rašomi pagal Nacionalinių ir tarptautinių telefono ryšio numerių rašymo rekomendacijose, direktoriaus patvirtintose LR ryšių reguliavimo tarnybos 2005 m. gruodžio 23 d. įsakymu Nr. IV – 1162 nustatytus reikalavimus.

Nacionalinių ir tarptautinių telefono ryšio numerių rašymo taisyklės (toliau – Taisyklės) reglamentuoja tipografinio nacionalinių ir tarptautinių telefono ryšio numerių rašymo ir išdėstymo tvarką Lietuvos Respublikos teritorijoje naudojamuose formuliaruose, raštuose, sąskaitose ir kituose dokumentuose bei simbolių naudojimą nacionaliniams ir tarptautiniams telefono ryšio numeriams rašyti.

Pagrindiniai simboliai:
Tarptautinio prefikso simbolis „+“ (pliusas) – rašomas tarptautiniame telefono ryšio numeryje prieš šalies kodą ir primena, kad būtina rinkti tarptautinį prefiksą, kuris kiekvienoje šalyje gali būti skirtingas. Tarptautinio prefikso simbolis atskiria tarptautinį telefono ryšio numerį nuo nacionalinio. Rašant tarptautinį telefono ryšio numerį, tarpas paliekamas tarp šalies ir paskirties kodo, taip pat tarp paskirties kodo ir tinklo galinio taško numerio.

Skliaustelių simboliu „( )“ suskliaudžiami tik nacionalinis prefiksas ir geografinių numerių paskirties kodo skaitmenys, kurie nurodo, kad suskliausti skaitmenys toje pačioje numeracijos zonoje nerenkami. Rašant nacionalinį ir tarptautinį telefono ryšio numerius, dvigubas tarpas paliekamas tarp paskirties kodo ir tinklo galinio taško numerio (t. y. tarp miesto kodo ir telefono numerio).

Toninių parengties signalų simbolis „~“ rodo, kad reikia laukti papildomo toninio parengties signalo – rašant iš abiejų pusių jis atskiriamas tarpais, pvz.: (8 ~ 342) 00 000. Šis simbolis praktiškai jau nevartojamas, nes beveik visoje Lietuvos teritorijoje jau įdiegtas skaitmeninis telefono ryšys.

Informacinis simbolis (rodantis su tinklo galinio taško numeriu susijusią paslaugą) reiškia, kad surinkus telefono ryšio numerį atsilieps automatinis atsakiklis.

Žodžiai Telefonas, Faksas, Mobilusis telefonas ar jų santrumpos Tel., Faks., Mob. turi būti nurodyti telefono ryšio numerio kairėje pusėje. Nurodant vieną numerį po žodžių Telefonas, Faksas, Mobilusis telefonas santrumpų dedamas taškas (Tel., Faks., Mob.), nurodant du ar daugiau numerių – taškas ir dvitaškis (Tel.:, Faks.:, Mob.:).
Tarpas naudojamas telefono ryšio numerio skaitmenims grupuoti.

Telefono ryšio numerio skaitmenys gali būti grupuojami taip, kad juos būtų galima lengviau įsidėmėti, išgirsti ir pamatyti, pvz.: 1234, 12 345, 12 34 56, 123 4567.


Nacionaliniai telefono ryšio numeriai rašomi taip:
Telefonas arba Tel. (8 342) 12 345
Faksas arba Faks. (8 342) 12 345
Mobilusis telefonas arba Mob. 8 123 45 678

Tarptautiniai telefono ryšio numeriai rašomi taip:
Telephone arba Tel. + 370 342 12 345
Fax + 370 342 12 345

Mobile arba Mob. + 370 123 45 678

Jei nacionalinis ir tarptautinis telefono ryšio numeriai nurodomi kartu, jie atskiriami horizontalia linija, tarptautinis telefono ryšio numeris turi būti rašomas po nacionalinio ryšio numerio, o atitinkami skaitmenys išdėstomi vienas po kito taip:
Telefonas (8 342) 12 345___
arba Tel. + 370 342 12 345

Jei abonentas turi kelis telefono ryšio numerius (nesujungtus automatinės paieškos rinkimo būdu), tai šiems telefono ryšio numeriams atskirti vartojamas pasvirojo brūkšnelio simbolis „/“ (iš abiejų pusių atskiriamas tarpais), pvz.:
Telefonai arba Tel.: (8 342) 12 345 / 12 346 / 12 347
Faksai arba Faks.: (8 342) 12 345 / 12 346 / 12 347

Galima užrašą sutrumpinti – rašyti visą tik pirmąjį telefono ryšio numerį, o kitų – tik paskutiniuosius besiskiriančius skaitmenis. Šiuo atveju tarpai iš abiejų simbolio „/“ pusių nepaliekami, pvz.:
Telefonai arba Tel.: (8 342) 12 345/46/47
Faksai arba Faks.: (8 342) 12 345/46/47


Telefono ryšio numeriai su simboliu rašomi taip:
Telefonas arba Tel. (8 342) 12 345
Telefonas arba Tel. (8 342) 12 345
Telephone arba Tel. + 370 342 12 345
Telephone arba Tel. + 370 342 12 345

Paslaugų telefono ryšio numeris ir serijos 7XX XX XXX, 8XX XX XXX ir 9XX XX XXX (X – bet koks skaičius nuo 0 iki 9) rašomas taip:
Telefonas arba Tel. 8 800 12 345
Telephone arba Tel. + 370 800 12 345

Nurodant papildomą telefono ryšio numerį, kurį galima surinkti paskambinus pagrindiniu telefono ryšio numeriu, jis rašomas taip:
Telefonas arba Tel. (8 342) 12 345, papild. 123
Telephone arba Tel. + 370 342 12 345, papild. 123 

El. pašto rašymas

Elektroninis paštas trumpinamas el. paštas, e. paštas, el. p, o ne e-paštas, e-p. Po trumpinio dvitaškis nerašomas.

« 1 2 3 4 ... 7 8 »

Įrašų RSS Įrašų RSS