Archive for the 'Web Developer "Kategorija

Embeding Facebook nuotraukų galeriją į savo svetainę

Sekmadienis, kovas 9, 2014 Nik

Kartais taip atrodo trivialus užduotys tampa toks bauginantis. "Pridėti" Facebook "nuotraukų galeriją į savo svetainę", buvo kaip tik toks uždavinys. Aš tiesiog nors ji būtų taip paprasta, kaip pridėti bet kokį kitą "Facebook" socialinių šakutės .

Aš pradėjau, darant prielaidą, kad ten tikrai būtų įjungti by Facebook Developers portale jeigu atlikti šią užduotį. Mano nuostabai nėra tokio įskiepiai teikiama kaip dalis "Facebook" socialinio Įskiepiai (Jei esate vienas iš tų, kuriems iki havn't naudojosi "Facebook" socialinių šakutės, aš pridėjo dėmesį į šį postą pabaigoje tiesiog jūsų naudai) .

Aš googled už sprendimą, ir aš supratau, kad ten yra keletas variantų, kaip eiti apie tai daro šią užduotį. Nebuvo sprendimai, kurie iš tikrųjų veda mane manyti, kad tai ne paprastą užduotį, po visiems. Yra sprendimai ten, rodančių, kelis metodus, vienas taip pat turėjo tam tikrą sprendimą, naudojant "Facebook" Graph API ... Atvirai kalbant, aš žinau, tai būtų būdas eiti apie tai, bet ne kai paprastas sprendimas man buvo ieškote.

Galiausiai, po ieškote keletą variantų (aš išvardyti kai kurie žemiau jūsų nuoroda), aš pagaliau rado vienas ... Aš pamačiau šį įterptųjų Facebook nuotraukų galerijoje tikru puslapyje. Man kūrėjas, padarė vaizdo šaltinį ir rado paprastą sprendimą aš ieškojau .... Tiesiog pridėkite šį kodą į savo HTML, kur jums reikia "Facebook" Albumas bus įdėta.

<div id=" fb-root "></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <div class=" fb-post " data-href=" https://www.facebook.com/media/set/?set=a.375518759212.157287.64037939212&type=3 " data-width=" 466 "><div class=" fb-xfbml-parse-ignore "><a href=" https://www.facebook.com/media/set/?set=a.375518759212.157287.64037939212&type=3 ">Post</a> by <a href=" https://www.facebook.com/chembur ">inchembur.com</a>.</div></div> 

Na! Kodas aukščiau rodomas FB Albumas, kaip nurodyta toliau ...

Įdėkite-facebook-photo-galerija-į-svetainės-02

Dabar tai vienas atrodė, kad viskas, Facebook socialiniai ryšiai, komentarai ir tt

Kitos trys geri būdai, kad aš ištirta ir kad būtų naudinga mažai, žiūri kitokio pobūdžio Look-n-jausti, yra išvardytos žemiau

"Facebook" socialinio Įskiepiai

Tiems, kurie nežino, čia yra Socialinių Plugins teikiamų pagal nutylėjimą "Facebook", sąrašas, kad kūrėjas gali naudoti, jei norite pridėti į bet kurį tinklalapį. Jos gana paprasta pridėti šių įskiepių bet kurį tinklalapį kuriate, taip paprasta, kaip "Ctrl-V & paspaudę Ctrl-V. Žinoma, jei esate kūrėjas jūs would'nt reikalauja, kad bet daugiau šaukštas kūdikį, nei tai ... tikslios kodus, kad jums reikės įdėti, aš siūlau jums apsilankyti Facebook socialinio Plugins puslapį

Kaip Button

Tegul žmonės dalintis puslapius ir iš svetainės turinį atgal į savo Facebook profilis su vienu paspaudimu, todėl visi jų draugai gali skaityti juos.

Dalintis mygtukas

Leiskite žmonėms dalintis "Facebook", pasidalinti su konkrečių draugais ar su grupe. Arba, jie gali dalintis privačią žinutę.

Įterptosios Pranešimai

Įterptosios Pranešimai jums pridėti bet kokį viešą pranešimą iš Facebook į savo dienoraštį arba interneto svetainėje.

Komentarai

Komentarai įskiepiai leidžia žmonėms pakomentuoti bet turinio gabalas jūsų svetainę.

Siųsti mygtukas

Tegul žmonės privačiai siųsti turinį į savo svetainę savo draugams.

Sekite mygtukas

Tegul žmonės prenumeruoti viešųjų atnaujinimus apie Facebook.

Aktyvumas kanalas

Rodo įdomiausią, naujausią veiklą vykstančią į savo svetainę.

Rekomendacijos Feed

Rodo labiausiai rekomenduojamas turinį į savo svetainę.

Rekomendacijos Baras

Tegul žmonės kaip turinį, gauti rekomendacijas, ir pasidalinti tuo, ką jie skaito su savo draugais.

Kaip Box

Speciali versija "Patinka" mygtukas tik "Facebook" puslapiuose.

Facepile

Rodyti profilio nuotraukas žmonių, kurie, susijusių su "Facebook" puslapyje arba app.


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Jo apie "Web dizaineriai, kurie negali Kodas"

Antradienis kovas 9, 2010 By nikhil

Su mano ribotos įgūdžių rinkinys su įrankiais, kaip "Photoshop" ir "Illustrator", aš galiu nuoširdžiai prisipažinti, kad aš geriau kūrėjas, nei aš esu dizaineris. Bet mano fonas su pagrindine (serverio pusėje) plėtrą su Java / PHP / Cobol, buvo labai teigiamas poveikis mano UI plėtros įgūdžių. Ką reiškia, kuriant savo dizainą, ty, kai aš padaryti dizainą, manau, apie tai, kaip dizainas gali būti geriausiai konvertuojami į HTML CSS ir darydamas HTML CSS, duosiu mintį apie backend technologijos ir padaryti pagrįstai įsitikinti, kad HTML gali būti lengvai perkelta į XSL kilpomis arba PHP fragmentus ir tt

Per metus, man buvo įmestas galvą į dizaino iki UI dizaineriai, kurie tikriausiai donot turėti clue, kas HTML ar CSS. Visus šiuos metus aš galvoju, kad norėčiau užduoti per daug, jei aš tiesiog tikėtis, kad dizaineris, kuris bando shov jo "neįmanoma, kad kodas" dizainas žemyn mano gerklės, suprasti truputį kas jo dizainas bus konvertuoti į. Tai padėtų ne?

Tada aš atėjau visoje šio posto šiandien ... Web dizaineriai, kurie negali kodas ... Ačiū Viešpatie! Aš tik vienas iš daugelio, kurie jaučia tą patį ... virš artitle yra šiek tiek ilgai kalbantis .. bet verta skaityti, kas tai žodis.

Ačiū Elliotas Jay Atsargos ... jaučiu palengvėjimą!

Štai keletas ištraukų iš Elliots straipsnyje .

Oho, ką dieną! Jis pradėjo su vienu tiek Čivināšana ir baigėsi diskusija, kad atrodė, kad nurašymas visoje web dizainas bendruomenė. Atrodo, yra keletas labai stiprių nuomonės laikomos dėl to, ar interneto dizaineriai turėtų sugebėti užkoduoti tema.
...
Taigi, kol mes gauti į tai, leiskite man greitai Priminti tai, ką pasakiau apie šį rytą Twitter:

Sąžiningai, aš šokiruotas, kad 2010 aš vis dar eina per "interneto dizaineriai", kurie negali kodą savo dizainą. Nėra pasiteisinimas.

... Turėčiau buvote šiek tiek daugiau konkrečių mano Čivināšana. Aš kalbu apie dizainerių, kurie neturi net pagrindinių HTML ir CSS įgūdžius paversti plokščią dizainą į faktinį svetainėje. Ne žmonės, kurie sąmoningai renkasi ne koduoti; Tiems, kurie negali. Ir aš taip pat įvardija tik front-end kodo čia; Žinoma, tai juokinga manyti, kad dizaineriai, taip pat turėtų būti nuostabios back-end programuotojai ...

Sulaukiame "web" dizaino siunčiami Illustrator, 300 dpi, neįmanoma kodas, be nuoseklumo / praktiškumo.
~ Amy Mahon

Tai vis per vėlai, ir aš turiu, į kuriuos vyniojami tai kažkaip. Žinau, kad bus daug žmonių, kurie nesutinka su manimi, ir mano tikslas nėra įžeisti ar nuliūdinti kas nors gali ne kodas, bet aš tikiuosi, kad kai kurie iš to, ką aš sakė atspindi kai kuriuos dalykus, kurie visada sugalvoti kai pasinėrė į šios diskusijos.

Tuo dienos pabaigos, aš ne prarasti to, kas gali koduoti miegą ir kurie negali. Aš tiesiog tikrai nustebintas tiek daug dizainerių, kad trūksta front-end įgūdžius, kaip aš maniau, tai buvo praeityje.

Taip pat skaitykite komentarus, ten buvo apie 320 komentarai, kaip aš rašau ... jie yra verta skaityti.
Prašome perskaityti Elliots visą pranešimą čia .. Web dizaineriai, kurie negali kodas


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


HTML & XHTML

Sekmadienis, spalis 18, 2009 Iki nikhil
  • Dokumento tipas Deklaracija turi būti ne dokumento, kuris naudoja HTML sintaksę pradžioje. Tai gali būti pasirinktinai naudojami per XHTML sintaksę, tačiau tai nėra privaloma. XHTML dokumentas nereikia įtraukti DOCTYPE nes XHTML dokumentai, kad būtų pateikta teisingai, naudojant XML MIME tipą ir perdirbti kaip XML naršyklių, visada teikiamos jokios Photoshop režimu.
  • XHTML, tag pavadinimai yra mažosios raidės ir paprastai apibrėžiama, kad bus rašomas mažosiomis raidėmis. HTML, tačiau tag pavadinimai atveju nejautrus ir gali būti parašytas visose didžiosiomis ar mišraus atveju, nors dažniausia konvencija yra klijuoti su mažosiomis. Iš pradžios ir pabaigos žymės atveju neturi būti tokia pati, tačiau yra nuosekliai daro padaryti kodas išvaizdą švaresnis.

Privalumai naudojant HTML

  • Suderinami su esamais naršyklių
  • Autoriai jau esate susipažinę su sintakse
  • Atlaidus ir atlaidus sintaksė reiškia nebus vartotojui priešiška " Geltona Screen of Death ", jei klaida netyčia slysta per
  • Patogus sutrumpinimas sintaksė, pvz autoriai gali praleisti keletą žymių ir atributų reikšmes

Privalumai naudojant XHTML

  • Griežtai XML sintaksė skatina autorius rašyti gerai suformuotą žymėjimo, kurį kai kurie autoriai gali rasti lengviau išlaikyti
  • Integruojama tiesiogiai su kitomis XML žodynų, pavyzdžiui, SVG ir MathML
  • Leidžia XML apdorojimo naudojimą, kuris kai kurie autoriai naudoja kaip dalį savo atgamino ir / leidybos procesų

get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


CSS2.1 User Agent Style Sheet nutylėjimą

Antradienis, liepa 28, 2009 Iki nikhil

Vakar, po klausimu aš susidūrė su CSS Atstato "Google Chrome" ... Maniau, kad kasti šiek tiek giliau į User Agent Style Sheets rajone ...
Surasta šią lentelę pagal nutylėjimą vertybių CSS2.1 User Agent Style Sheets ... (tiems, kurie nežino, kas yra "User Agent Style Sheets" yra sekti Kas yra User Agent Style Sheets (specifikacija) .

Išsamų CSS 2.1 User Agent Style Sheets numatytuosius spustelėkite čia


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


User Agent Style Sheets: Mystery Paraštės "Google Chrome"

Pirmadienis, liepa 27, 2009 Iki nikhil

Vakar, kaip ir kiekvienas kitas "Ground Hog diena", aš dirbau kai kurių CSS / Tableless maketai. Viskas klostėsi taip gerai ir IE 7, FF 3 ir Chrome kol baigsis staiga, aš pamačiau, kai JT ignorable maržas matyti tik "Google Chrome". Nors labai keista ir worring, buvo kai kurių naujų klaidą / problemą, kad aš ateiti šakų visame, buvo pagaliau kai mano žemiškas darbą prieskonių. Liūdna (bet gražus) jis gavo fiksuoto per kelias minutes nuo zondo ...

Iš esmės, ji atrodė "Google Chrome" ignoravo savo CSS Atstato (margin: 0px). Tai buvo iš tikrųjų sukelia vartotojo agentas stylesheet (-webkit-padding-pradžia: 40px). Taigi sprendimas buvo iš naujo šį stilių, nustatant padding: 0 Netinkamas elgesys elementų.
Geras būdas išvengti šios problemos vyksta su bet kurio elemento yra naudoti pasaulinę CSS Rest taip

* {Margin: 0; padding: 0; }

Kas yra User Agent Style Sheets (specifikacija)?
Žemiau ištrauka yra paimta iš http://meiert.com/en/blog/20070922/user-agent-style-sheets/ , atlikite nuorodą daugiau skaityti User Agent Style Sheets

1 CSS pristato nurodydamas, kad kiekvienas User Agent (UA, dažnai "interneto naršyklė" arba "interneto klientas") turės numatytąjį stilių, kuris pateikia dokumentus protingą idėją - tačiau, be abejo, žemiškas - būdu. CSS 2 sako, kad atitinkantis vartotojo agentai privalo taikyti numatytąjį stilių (arba elgtis taip, lyg jie padarė), ir kad vartotojo agento numatytasis stilius lapas turi pateikti dokumento kalba elementus būdais, kurie atitinka bendrąsias pateikimo lūkesčius dokumento kalba; CSS 3 gali būti tos pačios nuomonės.

Kadangi CSS specifikacijos palikite jį iki realizacijos, ar naudoti "Real" stiliaus lapą numatytąjį ar ne, tai nenuostabu, kad jūs neturite rasti numatytąjį stilių kiekvienoje naršyklėje diegimo aplanke. Skirtingai nuo "Microsoft" "Internet Explorer", taip pat operos, pavyzdžiui (ir tiek, kiek aš žinau), Gecko naršyklės, pavyzdžiui, Firefox ir Netscape Navigator (ieškoti "html.css"), bet ir Konqueror kad ji gana paprasta suprasti savo numatytąjį stilių.


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Kaip įjungti raštu būsenos juostoje (window.status) Firefox

Pirmadienis, balandis 6, 2009 Iki nikhil

Kitas senosios mokyklos atmintis papildomas ...

Kodėl mes, kad windos.status?
JAVASCRIPTS galėtų būti košmaras, kai jūs turite kažką derinti. "Firefox" turi keletą naudingų addons, kaip Firebug Thats daro mūsų gyvenimą lengvai ir to, populiariausio derinimo techniką Javascript balsas turi eiti į "alert ()". Anywaz! Yra keletas atvejų, kai pridedant ALERT neturi derinti savo neteisingai elgiasi Javascript tiesiog nėra gera idėja. Pavyzdžiui! turite dragble elementą, kurio pozicija turi būti įspėti. ... NE NE! Dont do it! ... Jūs tiesiog gauti begalines įspėjimus ar jūs įpratęs būti suteikta galimybė realiai Dra savo dragable. Na! Yra daugiau gerų situacijų, kur jums gali rašyti iš debug tekstus būsenos juostoje, daug daugiau usful ... Patikėkite! Jo patirtis!

IE pagal nutylėjimą liko rašote į naršyklės būsenos juostoje naudojant sintaksę "window.status =" kažką derinti "", bet Firefox nėra. Taigi, kad langai būsenos pokyčius, galite tai padaryti bet kuriuo iš šių.

Atidaryti about: config naršyklėje (tipas "about: config", tai į adreso juostą) bei ieškoti
dom. disable_window_status_change. Pakeiskite jį klaidinga ... tiesiog paspauskite ant užrašo perjungti savo būseną.

Arba alternatyviai

"Įrankiai → Funkcijos → Turinio → Įjungti" JavaScript "/ Advanced → Keisti būsenos juostoje tekstą"

Ir taip pat pažymi, kad ... rašyti būsenos juostoje jūsų "JavaScript", IE tiesiog ok, jei jūs naudojate trumpas sintaksė ty būklę = 'kai debug teksto ", bet Firefox, turite naudoti visą sintaksę ty window.status =' kažkas derinti "


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


SevenUp! Skatinti pasaulį atsikratyti IE6!

Sekmadienis, kovas 22, 2009 Iki nikhil

"Google" pradeda judėti, greitą žmonių iškelties IE6 ... Iki bugging IE6 vartotojams dėl puslapio apkrova laikiną langą ... negali būti labai gera idėja ... bet būdamas UI kūrėjas, aš turiu prisijungti prie šios juostos vagonas ... viena mažiau naršyklė man nerimauti Atsiprašome ... savanaudis jis yra! bet aš turiu įtraukti šį Javascript ... (TRY šį puslapį IE6) ...
Ei! ir šviesesnę pastabos ... Rodyti tai apie JAVASCRIPT POWER ekranas. ... ji netgi gali sumažinti milžinišką (arba kai ji buvo)

SO ... Pagalba atsikratyti IE6 pasaulį su viena linija JavaScript!

http://code.google.com/p/sevenup/


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Visuotinis vertėjas plugin Jūsų WordPress blog

Sekmadienis, kovas 8, 2009 By nikhil

Aš taip susijaudinęs apie daugėja puslapių peržiūrų mano dienoraštyje, kad aš patikrinti savo "Google Analytics" beveik kasdien. Aš pastebėjau, kad mano dienoraštis yra nurodytos svetainės, daugelyje kitų kalbų ir žmonių visame pasaulyje. So Nice !!!!
Norėdami padaryti gyvenimą šiek tiek lengviau mano nieanglojęzycznej žiūrovas laivo, aš pridėjo Google Widget / Plugin pavadintą "Pasaulinės Vertėjas".

Visuotinis vertėjas sako, kad ji "Automatiškai verčia iš visų 41 skirtingų kalbų dienoraštį vyniojimo keturis skirtingus vertimo internete varikliai (Google vertėjas sistema, Babelfish vertimas sistema, FreeTranslations.com, promt)" ... Jei norite pridėti jį prie savo WordPress diegimo ... Check it out Čia http://www.nothing2hide.net/wp-plugins/wordpress-pasaulinis-vertėjas-plugin/

Nežinote, kaip gerai vertimas yra, bet aš nuoširdžiai tikiuosi, kad tai padeda kelis kolegas kūrėjai iš ten, kurie galų gale pasiekė savo dienoraštį, tik turi būti nusivylęs, kad ji yra anglų kalba. ...

Vertėjas nuorodos yra iš Side Bar Bottom ....


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Kreipiamės į kelis langus įkėlimo funkcijas JavaScript

Šeštadienis, kovas 7, 2009 Iki nikhil

Štai dar šiek tiek peice JavaScript gudrybė, kad man teko kasti aplink, nes situacija commaned jį. Viename iš mano svetainių, aš turėjo šią situaciją, kai turėjau įgyvendinti "windows.onload" du kartus. Pirmas dalykas, kad būtų atėjo nepatyręs protas, kaip mano (aš turiu sąžiningai pasakyti, kad, nes aš buvo naudojant javascript struktūras ir bibliotekas, aš forgotton daryti paprastus dalykus on my own ... liūdna, bet tiesa), yra šis metodas ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 ir tt ...

Atsiprašome pasakyti, bet šį įpratęs dirbti ... dont wanna aptarti vykdymo mokslas Javascript daug ... bet pagal mano pastarojo laikotarpio patirtį, tik paskutinis funkcija (onloadfn3) bus blogai iš tikrųjų gauti įvykdytas.

Įprastomis situacijose, skirtingai nuo mano (kuri aš kalbėti apie šiek tiek vėliau) ... galite padaryti vieną iš šių veiksmų atlikti mutliple įkėlimo funkcijas. ...

Ar kažkas panašaus į tai

 funkcija doOnLoad () {
         onloadfn1 ();
         onloadfn2 ();
         onloadfn3 ();
 }
 window.onload = doOnLoad;

Nes mano dabartinę padėtį, aš negaliu naudoti vieną iš aukščiau ...
Kodėl man reikia skambinti windows.onload du kartus, o kad skambina dvi funkcijas vienoje įkėlimo funkciją? Čia yra greitas pažvelgti mano problema pareiškimą ...

"Mano Svetainės puslapiai struktūra kaip WordPress tema. ... ty ten yra bendra Header.php ir footer.php, kad jis pasireiškia įtraukti į visas svetainės puslapiuose. Yra įkėlimo funkcija implementaion į footer.php padaryti keletą bendrų įkėlimo funkcijas. IR yra keletas puslapių, kurie turi kažką savo įkėlimo, išskyrus tuos, kurie padaryti bendrą įkėlimo funkcija. Jei aš priskirti skambinimo funkcijas tiesiogiai window.onload prižiūrėtojas, jis bus per daug važinėti anksčiau pavestas iššūkius, į footer.php "

.... Ar mano problema suprantama :) ?

Na! yra keletas sprendimų, kad aš rasti. Jie visi yra labai panašūs ir daugiausia implementions tirpalo tikrą Simon Willison ( http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Sprendimas:

Tiesiog pridėkite šį javascript kodą į svetainę ...

 funkcija addLoadEvent (func) {
     var oldonload = window.onload;
     jei (typeof window.onload! = 'funkcija') {
        window.onload = funkcio
     } Else {
        window.onload = function () {
            jei (oldonload) {
                   oldonload ()
           }
           func ()
        }
    }
 } 

Ir vadina jį vietoj įprasto "windows.onload"

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 / * Daugiau kodui veikti puslapyje apkrovos *
 }); 

Privalumai šio kodo fragmentą ...
1 Visų pirma, jis leidžia jums turėti keletą windows.onload renginius, vadinamus iš atskirų dalių jūsų kodą, be overridding ankstesnį apibrėžimą
2 Tai tikrai nekrenta į akis. Jis gali būti dedamas į failą su jūsų kitų scenarijų arba atskirame faile.
3 Jis veikia net jei window.onload jau buvo nustatytas.


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Kaip įtraukti PHP kodą viduje su Smarty šabloną

Antradienis, vasaris 24, 2009 Iki nikhil

Maniau, kad tai vienas bus Doodle rasti google, nes daugelis tu mus UI ir scenaristams reikės tai padaryti ant kasdien, tai yra apima peice PHP kodo fragmentą (Php) tiek į Smarty šablonų (.tpl). Aš supratau, kad lengviau / populiarus užklausa, dar sunkiau rasti tikslaus atsakymo ... milijoną paieškos rezultatų, tačiau dauguma jų Italai į "failą" apima Smarty ..., kuris turi tokią sintaksę

{Bylą įtraukti = "įtraukti / Header.php"}

Tai iš tiesų inlcuded failų baudą, bet kaip tekstą, Ką aš norėjau iš įtrauktas failo rezultatas. (Pastaba aukščiau naudojamas įtraukti šabloną viduje šabloną failą). Galiausiai su bitų persiverance .... Aš szarpnęły visoje slighty modifikuoto sintaksę, kuri buvo mano reikalavimas atsakymas ... todėl čia ji yra ... jei havn't rasti vieną jau


{Include_php failas = "include / Header.php"}


get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu arba Follow Me on Twitter


Prenumeruoti ExpressingIT RSS
get ExpressingIT News by Email Prenumeruoti ExpressingIT elektroniniu paštu
Follow Me on Twitter