Naujausi įrašai

Turinys

« 1 2 ... 6 7 »

Liepa25

Compiz downgrade'inimas Ubuntu 11.04 OS

Žymės: linux,ubuntu,compiz

Pasidalink!

Compiz Cube

Ubuntu 11.04 versija bei jai artimos distribucijos (pvz.: Linux Mint 11) mano nuomone, yra vienas prasčiausių release'ų.

Apie Unity aplinkos nebrandumą rašė Vidmantas, bet net ir standartinėje Gnome aplinkoje (Linux Mint 11 atveju) yra palikta nemažai defektų. Vienas jų - dar nestabilios Compiz versijos (0.9) integravimas, dėl ko neveikia ar veikia nekorektiškai daugelis vizualinių elementų (neveikia Desktop Cube bei kiti plugin'ai, dingsta lango valdymo mygtukai ir t.t.).

Vienas problemos sprendimo būdų, siūlomų įvairiuose forumuose, yra Compiz versijos downgrade'inimas (vietoj nestabilios 0.9 naudojimas 0.8). Tai galima atlikti įvykdžius komandas:

sudo apt-get purge compiz compiz-plugins-extra compiz-plugins-main
sudo apt-get purge compizconfig-settings-manager sudo add-apt-repository ppa:guido-iodice/compiz-0.8.6-natty
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install compiz compiz-core compiz-fusion-plugins-main   compiz-fusion-plugins-extra compiz-fusion-plugins-unsupported compiz-gnome compiz-plugins compizconfig-backend-gconf   compizconfig-settings-manager libdecoration0 python-compizconfig   simple-ccsm

 

Balandis11

MongoDB (Komentarai 1)

Žymės: php,sql,mongo,mongodb,mysql,nosql

Pasidalink!

MongoDB yra dokumentinė NoSQL tipo duomenų bazių valdymo sistema.

Noriu pasidalinti savo prezentacija apie MongoDB - tikiuosi bus naudinga.

Balandis05

GNU screen (Komentarai 2)

Žymės: linux,ssh,gnu,screen,unix

Pasidalink!

GNU screen yra virtualus terminalo multiplekseris. Naudojant jį viename konsolės lange galima paleisti kelis virtualius terminalus, persijungti tarp jų, padalinti langą ir matyti jame kelis terminalus, kuriuose galime vykdyti iškart kelias komandas (ar paleisti kelias programas). Galima paleisti ir kelias screen instancijas.

GNU screen

Taip pat galima screen'e paleisti programą ir prisijungti prie jos iš kito kompiuterio (per tą pačią screen'o instanciją). Atsijungus nuo terminalo, programa, paleista per screen'ą, yra vykdoma toliau, tuo tarpu įprastai paleidus programą ir atsijungus nuo terminalo, ji automatiškai išjungiama. Panaudojimas gali būti labai įvairiapusiškas, pvz.: serveryje, kur didelė interneto sparta, per screen'ą paleidžiame Torrent klientą, paleidžiame siųsti failus (žinoma, legalius), ir vėliau iš kito kompiuterio prisijungę prie to paties screen'o toliau naudojamės programa.

Taipogi per screen'ą naudinga paleisti ilgai trunkančias komandas nutolusiame serveryje, kuomet reikia užtikrinti, kad jos baigs vykdytis net ir atsijungus nuo serverio, pvz.: dingus interneto ryšiui ar elektrai.

Screen'as paleidžiamas komanda:
$ screen

Taip pat galima paleidžiant screen'ą, jam suteikti pavadinimą:
$ screen -S <pavadinimas>

Visas paleistų screen instancijų sąrašas:
$ screen -ls

Prisijungti prie screen'o:
$screen -r

Jei paleistos kelios screen'o instancijos, gausite jų sąrašą:
There are screens on:
31296.pavadinimas (04/05/2011 06:04:51 PM) (Detached)
30781.pts-0.paulius (04/05/2011 05:39:06 PM) (Attached)
2 Sockets in /var/run/screen/S-paulius.

Tuomet reiks nurodyti screen'o instancijos pavadinimą, pvz.:
$ screen -r 31296.pavadinimas

Prisijungus prie screen'o, komandos (išeiti, atsijungti, padalinti langą etc.) atliekamos paspaudus klavišų kombinaciją Ctrl+a (toliau - C-a), ją atleidus ir paspaudus kitą klavišą.
Svarbu atkreipti dėmesį į tai, kad skiriasi komandų didžiosios ir mažosios raidės (pvz.: C-a x atlieka kitką nei C-a X).

Komandos

Išeiti (detach - neišjungiant paties screen'o): C-a d
Išeiti (exit - išjungiant screen'ą): C-a \ (taip pat galima išeiti uždarant langus su Ctrl+d)
Užrakinti screen'ą: C-a x

Langų valdymo komandos

Sukuriamas naujas langas: C-a c
Uždaromas esamas langas: C-a k
Atidaromas kitas langas: C-a <space>
Atidaromas ankstesnis langas: C-a <backspace>
Parodomas langų sąrašas, su galimybe pasirinkti norimą: C-a "
Keičiamas lango pavadinimas: C-a A

Regionų (padalintų langų) valdymo komandos

Padalinamas aktyvus langas horizontaliai: C-a S
Padalinamas aktyvus langas vertikaliai: C-a |
Pereinama į kitą regioną: C-a <tab>
Uždaromas aktyvus regionas: C-a X

Sukūrus naują regioną ir perėjus į jį, reikia arba jame sukurti naują langą (C-a S), arba atidaryti jau egzistuojantį langą (C-a <space> arba išsirinkti iš sukurtų langų sąrašo - C-a ").

Vasaris15

Užklausos tarp skirtingų domenų (Komentarai 2)

Žymės: saugumas,ajax,http,xmlhttprequest,flash,cookies,jsonp,proxy

Pasidalink!

AJAX

XMLHttpRequest (AJAX) užklausos

Naršyklės įprastai neleidžia daryti XMLHttpRequest (liaudyje labiau žinomo kaip AJAX) užklausų į kitą domeną, kadangi tai neatitinka Same Origin Policy saugumo koncepcijos.

Firefox 3.5 ir Safari 4 buvo įdiegta naujai sukurta naršyklių technologija CORS (cross-origin resource sharing), kuri leidžia daryti XMLHttpRequest užklausas į kitus domenus, kai šie patvirtina, jog leidžia konkretiems šaltiniams daryti užklausas.

Kaip tai veikia?

Vartotojo naršyklė, siųsdama XMLHttpRequest užklausą į kitą domeną, siunčia HTTP request header'į Origin su savo domeno reikšme.

Serveris siunčia atsakymą su HTTP response header'iu Access-Control-Allow-Origin su konkretaus domeno, kuriam leidžiama daryti užklausas, reikšme, arba * reikšme, kuri leidžia visiems šaltiniams daryti užklausas. HTTP response headerio formavimo pavyzdžiai PHP kalba:

header('Access-Control-Allow-Origin: http://www.domenas.tld');

header('Access-Control-Allow-Origin: *');

Šiuos header'ius taip pat gali siųsti ir pats HTTP serveris, pvz.: Apache, naudojant mod_headers modulį.

Daugeliu atveju to turėtų pakakti, tačiau CORS specifikacija leidžia daryti sudėtingesnes užklausas, nurodant leidžiamą HTTP metodą, atitinkamus header'ius ir kt., pvz.:

HTTP request header'iai:

Origin: http://www.domenas.tld
Access-Control-Request-Method: POST
Access-Control-Request-Headers: belekoks-headeris

HTTP response header'iai

Access-Control-Allow-Origin: http://www.domenas.tld
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: belekoks-headeris
Access-Control-Max-Age: 1728000

Tam tikrais atvejais reikia nurodyti HTTP response header'į, leidžiantį XMLHttpRequest užklausas:

Access-Control-Allow-Headers: X-Requested-With

JSONP

Kitas būdas, norint gauti ir apdoroti duomenis yra naudoti <script> elementus, kadangi jiems negalioja Same Origin Policy, pvz.:

<script type="text/javascript" src="http://kitas-domenas.tld/skriptas.php?parametras=reiksme"></script>

Tačiau kadangi šis skriptas bus iškart įvykdytas, vien duomenų pasiimti nepavyks. Dėl to, skriptas turi grąžinti kvietimą į funkciją, kuri apdoros duomenis. Pvz. šiuo atveju skriptas.php turėtų grąžinti tokį rezultatą:

funkcija({"jsonDuomenuStruktura": "reiksme"});

Čia funkcija - Javascript funkcija, kuri apdoroja gautus duomenis.

Šis metodas vadinamas JSONP (JSON with prefix).

Akivaizdu, kad šiuo metodu galima gauti ir perduoti duomenis tik GET metodu. Be to, serveris, kuris grąžina rezultatus turi būti pritaikytas JSONP duomenų perdavimui, t.y. turi būti galimybė parametrais nurodyti funkciją, kuri bus iškviečiama.

Taip pat, kadangi įterpiamas svetimas Javascript kodas, atsiranda galimų saugumo spragų, nes skriptas gali įrašyti bet kokį HTML kodą ir kitaip manipuliuoti turiniu, be to atsiranda galimybė perimti duomenis naudojant CSRF pažeidžiamumą.

Vietinis proxy

Dar vienas metodas yra naudoti skriptą tame pačiame domene, kuris serverio (ne naršyklės) lygyje padarytų HTTP užklausą į kitą domeną ir grąžintų rezultatus, pvz.: failas proxy.php, esantis tame pačiame domene:

<?php
echo file_get_contents('http://kitas-domenas.tld/skriptas.php'); // Geriau naudoti cURL

Tokiu atveju pakaks daryti užklausą į tame pačiame domene esantį proxy.php ir taip patenkinti Same Origin Policy saugumo koncepciją.

Adobe Flash užklausos

Adobe Flash elementai, darydami užklausą į kitą serverį (pvz.: norėdami pasiimti tam tikrus duomenis), kreipiasi į tame domene esantį crossdomain.xml failą (pvz.: http://www.domenas.tld/crossdomain.xml), kuriame aprašomos taisyklės, nurodančios, kokiems šaltiniams leidžiama skaityti duomenis iš serverio.

crossdomain.xml failo pavyzdys:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="X-Requested-With"/>
</cross-domain-policy>

Verta pastebėti, jog darydamas užklausas, Flash neperduoda slapukų (pvz.: sesijos identifikatorių), todėl juos perduoti reikia kaip atskirus Flash parametrus.

Bonus tip: HTTP headeris Content-disposition

Pavyzdys: failas http://www.domenas.tld/paveikslelis.php generuoja paveikslėlį, tačiau norint jį išsaugoti, siūlomas failo vardas bus paveikslelis.php.

Norint jį pakeisti, galime siųsti HTTP response header'į:

Content-disposition: inline; filename="grazus-pavasaris.jpg"

Jei norime iškart iškviesti failo išsaugojimo langą, galime nurodyti:

Content-disposition: attachment; filename="grazus-pavasaris.jpg"

Lapkritis15

Smarty 3 apžvalga (Komentarai 3)

Žymės: php,smarty

Pasidalink!

Smarty

Po beveik 2 metus (2008-12-16 - 2010-11-12) trukusio programavimo, buvo išleista 3 PHP šablonų variklio „Smarty“ versija.

Sistema buvo perrašyta iš pagrindų, pritaikyta PHP 5 versijai, buvo sukurtas naujas sintaksės nagrinėjimo variklis (parser), pagerėjo sistemos darbo našumas, šiek tiek pasikeitė šablonų sintaksė.

Nors egzistuoja kontraversiškos nuomonės, reikalingas PHP kalbos šablonų variklis ar ne, „Smarty“ suteikia papildomas galimybes atskiriant prezentacijos logiką nuo programos logikos. Be to, techniniams dizaineriams, nemokantiems PHP kalbos, dirbti su „Smarty“ gali būti patogiau, saugiau ir produktyviau.

Smarty 3 sintaksė šiek tiek pasikeitė nuo 2 versijos, todėl seni šablonai gali neveikti, ypač jei jie buvo parašyti su klaidomis. 3 versija į sintaksės klaidas žiūri griežčiau, tačiau turi papildomų galimybių.

Kas pasikeitė Smarty 3 versijos šablonų sintaksėje nuo 2 versijos:

Atsisakyta {ldelim} ir {rdelim}

2 versijoje norint naudoti { ir } simbolius šablone (pvz.: rašant Javascript funkcijas) juos reikdavo pakeisti {ldelim} ir {rdelim} simboliais arba rašyti tekstą tarp {literal} ir {/literal}. Dabar to daryti nebereikia, tačiau rašant kintamuosius ar funkcijas nebegalima palikti tarpų tarp skirtukų, pvz,: { $foo } ir išves tokį tekstą, o ne kintamojo reikšmę.

Masyvų modifier'is

2 versijoje norint modifier'iui perduoti visą masyvą, o ne atskirus jo elementus, reikdavo pridėti @ simbolį, pvz.: {$masyvas|@count}. Dabar visas masyvas perduodamas modifier'iui, pvz.: {$masyvas|count}.

{php} žymės

Standartiškai {php} žymės 3 versijoje yra uždraustos. Jas galima įjungti nurodant $smarty->allow_php_tag = true;

Kabutės parametruose

2 versijoje kabutės parametruose buvo nebūtinos, tačiau 3 versijoje jas naudoti būtina, pvz.: {include file="/kelias/iki/sablono.tpl"}

Visi pakeitimai, nesuderinami su „Smarty“ 2 versija.

Taip pat buvo padaryti pakeitimai, palengvinantys darbą su duomenimis:

Išplėstas {foreach} funkcionalumas

3 versijoje galima naudoti tokią {foreach} sintaksę:

{foreach $masyvas as $reiksme}

{$reiksme}

{/foreach}

Taip pat palengvintas ciklo savybių gavimas, pvz.:

{$reiskme@key} - masyvo raktas

{$reiksme@iteration} - ciklo iteracija

{$reiksme@total} - visas masyvo elementų kiekis

{$reiksme@first}, {$reiksme@last} - grąžina true, jei elementas pirmas/paskutinis. Patogu naudoti sąlygos sakiniuose

2 „Smarty“ versijoje šios savybės buvo pasiekiamos per {$smarty.foreach.<ciklo vardas>.<savybė>}

{strip} blokas

Naudojant {strip} ir {/strip} galima nurodyti, jog visas output'as šiame bloke bus rašomas vienoje eilutėje, pašalinant tarpus, naujas eilutes ir kt. whitespace simbolius.

„Smarty“ 3 versijoje taip pat atsirado šablonų paveldėjimas, funkcijų kūrimas pačiuose šablonuose ir kt. Taip pat šis tas pasikeitė PHP pusėje, pvz.: dabar norint paveldėti Smarty klasę, reikia iškviesti tėvinį konstruktorių - parent::__construct();

Pilna „Smarty“ 3 versijos apžvalga smarty.net tinklalapyje.

Spalis07

Kaip pasakos baigiasi iš tikrųjų (Komentarai 3)

Žymės: pasakos,aladinas,gražuolė ir pabaisa,miegančioji gražuolė,pelenė,raudonkepuraitė,snieguolė,undinėlė

Pasidalink!

Aladinas:

Aladinas

Gražuolė ir pabaisa:

Gražuolė ir pabaisa

Miegančioji gražuolė:

Miegančioji gražuolė

Pelenė:

Pelenė

Raudonkepuraitė:

Raudonkepuraitė

Snieguolė:

Snieguolė

Undinėlė:

Undinėlė

Rugsėjis21

SQL atranka pagal kelis kriterijus (Komentarai 2)

Žymės: sql

Pasidalink!

Rašinio pavadinimas gal ir neaiškus, tačiau situacija paprasta: turime straipsnių ir straipsnių žymių (tags) lenteles, sujungtas ryšiu „1..n“. Reikia atlikti paiešką (atrinkti straipsnius) pagal kelias žymes (kai visos nurodytos žymės priklauso straipsniui). Sprendimas žemiau.

Lentelių struktūra

+-------------+   +-------------+
| articles    |   | tags        |
+-------------+   +-------------+
| id          |   | id          |
|(kiti laukai)|   | articleId   |
+-------------+   | tag         |
                  +-------------+

 SQL užklausa:

SELECT a.* FROM articles AS a
INNER JOIN tags AS t ON a.id=t.articleId
WHERE t.tag='Žymė 1' OR t.tag='Žymė 2'
GROUP BY a.id
HAVING COUNT(*)=2

Dinamiškai formuojant tokią užklausą HAVING dalyje reikia naudoti tokį skaičių, kiek žymių dalyvauja užklausoje.

Rugsėjis07

SSH raktai (Komentarai 8)

Žymės: linux,ssh

Pasidalink!

SSH

SSH yra protokolas, leidžiantis saugiai prisijungti prie nutolusio kompiuterio (serverio) ir vykdyti jame komandas. Prie serverio galima prisijungti įprastu būdu - nurodant vartotojo vardą bei slaptažodį, arba naudojant SSH raktus. Naudojant SSH raktus jungiantis prie serverio tereikia įvesti paties rakto slaptažodį - serverio vartotojo slaptažodžio įvesti nebereikia.

SSH raktą sudaro 2 failų pora - privataus ir viešojo. Privatus raktas yra saugojamas vartotojo kompiuteryje, o viešas raktas yra patalpinamas serveryje.

SSH raktų nauda vartotojui

Kadangi jungiantis prie serverio reikia žinoti tik savo rakto slaptažodį, patalpinus viešąjį raktą kiekviename iš vartotojo serverių, nebereikia žinoti kiekvieno jų slaptažodžio. Jei vartotojo kompiuteryje veikia raktų agentas (ssh-agent), slaptažodį reiks įvesti tik vieną kartą - jis bus įsimenamas.

Žinoma, privataus rakto saugumą būtina užtikrinti, nes jį gavus ir žinant jo slaptažodį, bus galima prisijungti prie kiekvieno serverio, kuriame bus viešasis raktas.

SSH raktų nauda infrastruktūrai - įmonei

Dažna situacija, kuomet keli įmonės darbuotojai turi galimybę prisijungti prie įmonės serverio SSH protokolu vienu vartotoju (pvz.: valdyti interneto tinklalapio failus). Įprastu atveju, visiems darbuotojams turėtų būti patikėtas prisijungimo slaptažodis, o vartotojui nebeleidžiant prisijungti prie serverio (pvz.: išėjus iš darbo), slaptažodis turėtų būti pakeičiamas ir apie tai informuojami visi susiję darbuotojai. Esant dideliam darbuotojų kiekiui, tai gali sukelti nepatogumų ir saugumo spragų.

Naudojant SSH raktus, kiekvienas darbuotojas turi susigeneravęs savo raktus ir prie serverio jungiasi naudodamas ne slaptažodį, o SSH raktą. Apribojus vartotojo prisijungimo galimybę, iš serverio tiesiog pašalinamas jo viešasis raktas. Taip nėra paviešinamas pats slaptažodis ir realizuojamas didesnis saugumo lygis.

SSH raktų sukūrimas

SSH raktų pora sugeneruojama naudojant komandą:

$ ssh-keygen

Vartotojo bus paprašyta įvesti ir pakartoti slaptažodį ir bus sukurti 2 failai:

~/.ssh/id_rsa - privatus raktas

~/.ssh/id_rsa.pub - viešas raktas

Windows vartotojai gali naudoti puttygen.exe programą.

SSH rakto talpinimas serveryje

SSH viešieji raktai nutolusiame kompiuteryje (serveryje) talpinami faile, esančiame ~/.ssh/authorized_keys po vieną vienoje eilutėje - reikia įrašyti viešojo rakto failo turinį. Jį galima pamatyti įvykdžius komandą:

$ cat ~/.ssh/id_rsa.pub

Kadangi galima įrašyti keletą viešųjų raktų, keli vartotojai galės prisijungti, naudodamiesi viešojo rakto autentifikacijos principu.

Kadangi failas talpinamas vartotojo namų direktorijoje, su SSH raktu bus galima prisijungti tuo vartotoju, kurio direktorijoje bus patalpinti viešieji raktai.

Svarbu! Direktorijos ~/.ssh teisės turi būti 0700, o failo ~/.ssh/authorized_keys - 0600.

Taip pat viešąjį raktą galima įdiegti naudojant komandą:

$ ssh-copy-id <vartotojo vardas>@<serverio IP arba adresas> - įkelia viešąjį raktą į serverį ir nustato failų teises. Ačiū Vidmantui.

Prisijungimas prie SSH

Prie nutolusio kompiuterio (serverio), naudojant SSH protokolą, prisijungiama naudojant komandą ssh arba SSH klientą PuTTY (Windows vartotojams). Galimi variantai:

$ ssh <serverio IP arba adresas> - bus jungiamasi tuo pačiu vartotojo vardu

$ ssh <vartotojo vardas>@<serverio IP arba adresas> - bus jungiamasi nurodytu vartotojo vardu

$ ssh -i /kelias/iki/privataus/rakto <vartotojo vardas>@<serverio IP arba adresas> - jungiamasi nurodant privataus rakto kelią (jei jis yra kitoje direktorijoje)

$ ssh -o "PubkeyAuthentication no" <vartotojo vardas>@<serverio IP arba adresas> - jungiamasi nenaudojant viešojo rakto principo

Taip pat galima susikurti SSH konfigūracijos failą, kuriame įrašius serverio pavadinimą, jam priskyrus atitinkamą vartotoją, prievadą (port), bus jungiamasi nurodytais duomenimis. Pvz.: konfigūracijos failas: ~/.ssh/config

Host serveris
    HostName www.serverio-adresas.tld
    User admin
   
PubkeyAuthentication yes

Komandinėje eilutėje užteks parašyti:

$ ssh serveris

ir automatiškai bus jungiamasi prie www.serverio-adresas.tld serverio vartotoju admin, naudojant SSH raktą. Analogiškai į konfigūracijos failą galima įrašyti kelis serverius.

 

Apie SSH ir jo panaudojimą taip pat rašė Sirex.

Kitas šaltinis (taip pat ir straipsnio iliustracijos): OpenSSH Public Key Authentication

Rugpjūtis17

NetBeans patarimai (Tips And Tricks) (Komentarai 1)

Žymės: php,java,netbeans

Pasidalink!

NetBeans

Viena populiariausių (kartu su Eclipse ar jos pagrindu sukurtomis) programavimo aplinkų (IDE) Java, PHP, Ruby ir kitoms programavimo kalboms yra NetBeans. Man, kaip ir kitiems pradedantiems programuotojams, patinka šios aplinkos paprastumas, veikimas „out of the box“. Įskiepius diegti ir konfigūruoti aplinką čia paprasčiau nei Eclipse, nors galimybėmis šios aplinkos labai panašios.

Keletas patarimų iš praktikos, kad programavimas būtų efektyvesnis.

  • Shift+ESC - Lango padidinimas per visą ekraną
  • Ctrl+Shift+Aukštyn/Žemyn - sukuria eilutės dublikatą
  • Alt+Shift+Aukštyn/Žemyn - perkelia eilutę į viršų/apačią
  • Alt+Shift+Kairė/Dešinė - padidina arba sumažina atitraukimą (indent)
  • Ctrl+E - ištrina eilutę
  • Ctrl+Space - kodo autocomplete'as (jei įmanoma).
  • 6.5 ir naujesnėse versijose kintamojo aprašymui galite naudoti kodo šabloną vdoc. Jei jūsų kintamasis yra neaiškaus tipo (pvz.: kažkurios klasės objektas), virš jo rašydami vdoc ir spausdami Tab gausite strukdūrą /* @var $kintamasis Tipas */ - taip kintamajam veiks navigacija po kodą (Ctrl+pelytės paspaudimas) bei autocomplete'as. Naviguojant po kodą atgal ir pirmyn vaikščioti galima su Alt+Dešinė bei Alt+Kairė. Kintamojo aprašymai veikia ir Eclipse IDE.

NetBeans vardoc

  • Alt+Shift+O - atidaro failo paieškos langą
  • Ctrl+Alt+Shift+O - atidaro simbolio (metodo, konstantos, kintamojo) paieškos langą. Nenaudojant kintamojo aprašymo, patogu šį trumpinį spausti ant kviečiamo metodo - taip paieškos laukelyje iškart atsiranda to metodo pavadinimas.
  • Ctrl+/ - užkomentuoja ar atkomentuoja eilutę ar pažymėtas eilutes
  • Ctrl+R - pervadinimo refaktoringas
  • Ctrl+Shift+F - paieška per failus. Spaudžiant prieš tai pažymėjus direktoriją projektų ar failų lange, galima pasirinkti ieškoti toje direktorijoje.
  • Ctrl+G - eina į nurodytą eilutę faile

Savo nuorodų trumpinius gali susikurti ar redaguoti per Tools -> Options -> Keymap. Aš naudoju trumpinius kodo iš repozitorijos atnaujinimui (update) ir įkėlimui (commit).

Kodo šablonus galite kurti bei redaguoti per Tools -> Options -> Editor -> Code Templates.

Programuoji su NetBeans? Pasidalink savo patarimais!

Nuorodos: NetBeans bendruomenės patarimai bei patarimai iš Stack Overflow.

Birželis22

Twitter OAuthkalipsė artėja

Žymės: oauth,twitter

Pasidalink!

Twitter OAuthkalipsė

Prieš kurį laiką Twitter paskelbė nutrauksianti HTTP Basic autentifikacijos palaikymą ir leisianti prieiti prie Twitter API tik autentifikavus vartotoją OAuth metodu, kadangi HTTP Basic metodas yra nesaugus.

Nors dėl pasaulio futbolo čempionato šis etapas buvo nukeltas, nuo 2010-08-31 visos HTTP Basic autentifikuotos užklausos grąžins HTTP 403 (Forbidden) atsaką.

Apie OAuth jau buvau rašęs anksčiau. Šiuo metodu autentifikuojantis nereikia trečiosioms šalims perduoti savo prisijungimo duomenų. Netgi jei tų tarnybų privatumo politika užtirkina slaptažodžių saugumą, jų nutekėjimo galimybė išlieka labai didelė, ypač naudojantis nesaugiu interneto kanalu.

Taigi jei naudojate ar esatę sukūrę Twitter aplikacijų, naudojančių HTTP Basic autentifikaciją, pereikite prie OAuth jau dabar.

Plačiau apie OAuthkalipsę: http://www.countdowntooauth.com

Taip pat esu sukūręs Twitter OAuth pagrindu veikiančią aplikaciją, kuri kasdien praneša dienos šventes ir varduvininkus į http://twitter.com/sveikinimai

« 1 2 ... 6 7 »

Įrašų RSS Įrašų RSS