-
Pranešimai
153 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
100%
Reputacijos išklotinė
-
TomasAchmedovas sureagavo į HOST321 Coin'ų kasimo aparatūra
VIskas čia yra gerai, jei nesupranti apie scrypt ir sha-256 skirtumą - geriau nekomentuok.
1,8MH yra pakankamai greitas aparatas scrypt mainingui. Jo kaina jei būtų video kortos, savikaina ~2600lt. Pabrėšiu JEI BŪTŲ kortos (jų nėra pirkime niekur kurios atitiktų kainą/iškasimo santyki).
-
TomasAchmedovas sureagavo į dziu-mAn-dzy Programų mobiliems prietaisams kūrėjai uždirba 90 000USD per dieną.
Ne piniguose laimė. Žmogus turėdamas 5 milijonus, tikrai nėra laimingesnis tas kuris turi tik 3 milijonus :D
-
-
-
TomasAchmedovas sureagavo į 49volro Web.Development.Digest #1
http://s15.postimg.org/b80s375ef/Gear.png Web Development
Bento - Learn how to code
Getting Started With Web Components and polymer.js
Developing for mobile web [Presentation]
Hiding Native HTML5 Video Controls in Full-Screen Mode
A whirlwind tour of Web Components with Polymer [Video]
Responsive scrollable tables
Write Your CSS with JavaScript
Mobile First With Bootstrap 3
An Insider’s View of Mobile-First Design: Don’t Make These Mistakes
7 Habits of Highly Effective Media Queries
Hyper useful, ready to use HTML5 snippets
Responsive Image Container: A Way Forward For Responsive Images?
Powerful WordPress Tips And Tricks
Hiding Native HTML5 Video Controls in Full-Screen Mode
Media Capture in mobile browsers
The HTML5 Scorecard: The Good, The Bad and the Ugly in iOS 7
Tools for image optimization
http://s15.postimg.org/v1hh9n85z/css.png CSS
How to style range sliders in Webkit
iOS 7 Blurred Header
CSS Regions and Edge Tooling
CSS Selectors
Some Interesting Possibilities with CSS4
Custom scrollbars for IE, Chrome and Firefox using CSS
Cleaner, hack-free CSS
Design next generation responsive designs for iOS7 with Edge Reflow CC
Targeting Menu Elements with Submenus in a Navigation Bar
-
TomasAchmedovas sureagavo į Paulius. DELFI rašo apie dar vieną uždarbietį
Labai dviprasmiskai i viska galima ziureti:)
Super vaikiai kuria imones, daro versla, samdo darbuotojus. Kai vieni ant tevu sprando sedi ir dar 4 metus nieko nemasto nes zino, kad po mokyklos studijuos, o sie sau uzdirba gal ir uz dali musu daugiau :))
Is kitos puses nezinia kaip ten kas...Koks tevu indelis, kaip ten visgi tas senelis isipainiojes i visa sita verslo istorija.
Ant tevu, giminiu negalima pikti, kad jie padeda savo vaikams/anukams, bet tada ir nereiketu taip garsiai sukauti, kad as sukuriau, padariau, idarbinau :)
Dabar bandau atsiminti meeta Kaune, tony B, Dhoviuz, Simonas ir dar kazkas vienas jus kartais visi ne klasiokai???
P.S Zinau vaikinuka kuris turi labai mandra buta senamiestyje, jo tevai jam nupirko ta buta, gera automobili, padeda issilaikyti.
O jis dirbdamas fabrike vaizduoja savo Elitu, nes gali sau leisti viska. :)
Is sono taip jis turtingas, gali sau leisti daugiau nei kiti, bet tai ne jo nuopelnas.
-
-
TomasAchmedovas sureagavo į dziu-mAn-dzy Balsavimas: Huawei P6 Ascend, Galaxy S3 ar LG nexus 4?
Jūs ką juokajate?
-
TomasAchmedovas sureagavo į Bentski Pasidalinkite patirtimi [ Studijos ]
Kiek pamenu iš kitų, ankstenių, temų, tai ne kiek nestojai, o kiek neįstojai :)
-
TomasAchmedovas sureagavo į infectiosa Pasidalinkite patirtimi [ Studijos ]
Darbas pas pažįstamus, verslinyke, yra dar didesnė auka. Kodėl? Ogi todėl, kad gavęs tokią vietą, tapsi visišku nuliu: priklausysi nuo pažįstamų, giminių ar dar ko nors, bet ne nuo savęs. Tai va, šiuo atveju tie 40% nereikalingų žinių + 60% reikalingų žinių lemia nepriklausomybę - jeigu moki ir tai parodai, gausi vietą ir būsi nepriklausomu. Čia, žinoma, kalbu apie gerus specialistus, kurių neatleidinėja ir, žinoma, kurie yra reikalingi.
Paskatinėjus šiame forume temas apie jūsų verslumus, nesupykit, virai, bet darosi labai juokinga. Atrodytų, lyg kiekvienas gali tapti verslininku (nu, jeigu taip būtų, tai vadinčiau juos verslinykais). Žinoma, pasitaiko gerų idėjų ir matosi, jog pats žmogus veikia. Tačiau noriu pasakyti, jog reikia ne tauzyti niekus kalenant pirštais klaviatūrą ir tuščiai rodyti savo aroganciją, o veikti. Suprantama, kad verslininkai turi tos arogancijos, bet šitaip dergdamasis žemini tuos, be kurių paslaugų kol kas, deja, gyventi negalėtum.
-
TomasAchmedovas sureagavo į Satisfaction UždarbisPlius - papildiniai uždarbis.lt portalo naudojimui
Nuoroda: http://0xff.lt/uzdarbisplius
Kol kas, puslapyje laikau porą projektukų, bet gali būti, kad iš nuobodulio pridėsiu ir daugiau. Kol kas buvo "privačiam" naudojimui, bet kodėl gi nepasidalinus? Gal dar idėjų kokių duosite, tad tikrai verta :)
Temų kėliklis
http://0xff.lt/common/UTB.png
Šiek tiek jQuery koduko, sukurto per vieną dieną. Iš principo, skirtas savų temų pridėjimui, kad būtų galima sužinoti, kada jas galima pakelti į viršų. Iš bėdos, galima naudoti ir temų pažymėjimui bei stebėjimui (gal kiek vėliau ir ši funkcija bus pridėta).
Rezultatai už'cache'inami trumpam laikui, kad nelaužytume forumo :)
Narių žymėtojas
http://0xff.lt/common/UT.png
Jau buvau kiek anksčiau rašęs apie šį skriptą pasiūlymų skiltyje.
Skirtas vartotojų žymėjimui bet kokiu tekstu, spalva. Gerai pasižymėti nemėgstamus narius :huh:
Taip pat, pridėta ir uždarbis.lt portalo vartotojų, žinučių statistika, kam labai įdomu :)
Tikrai norėčiau išgirsti, ką galėčiau naujo sukurti, patobulinti ^_^
-
TomasAchmedovas sureagavo į ronner Individuali veikla. Kaip įregistruoti individualią veiklą?
https://dpsdr.vlk.lt/PublicSearch.aspx pasitrink ar esi draustas. Jei esi - mokėt kas mėnesį nereikia.
-
TomasAchmedovas sureagavo į ReikiaPuslapio Puslapių kūrimo vertė Lietuvoje - peraugus?
Turiu bent kelias teorijas šiuo klausimu, pabandysiu išdėstyti:
1. Kaip tu pateikei pirminę užduotį - labai svarbu, kiek detaliai aprašei ko reikalaujama, ar tiesiog davei nuorodas ir pasakei "padarykite panašiai kaip čia". Nes pažiūrėjus į tinklalapį, amerikiečiams tai gali pasirodyti "another one classified ads website", kuriam galima naudoti vieną iš nemokamų TVS, kad ir OS Class ar gal net ir tą patį Wordpress, o lietuviai, žinodami tuos projektus, įsivaizduoja geriau, kiek ten knisliavos, ir darytų unikalų produktą nuo nulio.
2. Ieskok.lt 1200 dolerių. Sakykim. Padarykim matematinius skaičiavimus - per kiek laiko manai galima sukurti tokį produktą? Na kokį mėnesį, ar ne? (realiai manau daug daugiau) Tai reiškia 168 darbo valandas. Daliname ir gauname 7.14 dolerio per valandą. JAV *minimalus* darbo užmokestis į rankas kiek žinau yra 7.25 dolerio per valandą. Ir tai čia imame variantą, kad tik vienas žmogus dirba - ir su dizainu, ir su programavimu. Tu tikrai tiki, kad jie neoutsourcina į Indiją? :)
Gyvenu Londone ir čia rodo per TV tokią laidą "Fake Britain", tai neįsivaizdavau, ant kiek žmonės kartais įsigudrina padirbti ištisas kompanijas ir visus jos dokumentus, kad tik verslą prasuktų pigiau.
3. Kokybė dar matuojama ir kodo kokybė, kiek tas parašytas kodas bus vėliau suprantamas ir kokios bus galimybės jį palaikyti, plėsti ir kt. Nesakau, kad lietuviai tuo požiūriu dirba geriau, bet kaina daug kur gali skirtis vien nuo darbo kokybės - vizualiai visos funkcijos gali veikti, bet vienu atveju gauni ir pilnai palaikomą gražų kodą ateities programuotojams, o kitu atveju "belekaip, svarbu greičiau padarom kad veiktų, paimam pinigus ir judam prie kito projekto".
Dar kažkiek į temą - siūlau pasiskaityti mano neseniai parašytą straipsnį: Apie "varguolius" verslininkus ir programuotojų atlyginimus
Ir dar šita tema irgi turi neblogą diskusiją apie beveik tą patį.
-
TomasAchmedovas sureagavo į ReikiaPuslapio Kodėl svetainė už 100 Lt per brangu?
Postas kvepia knygos reklama. Bet tai pateisinama - pakelta įdomi diskusija.
Web-kūrime egzistuoja tie patys rinkos dėsniai, ir čia galima lygiai taip pat permokėti ar pataikyti ant ko pigesnio, kaip kirpykloje ar parduotuvėje. Vieno atsakymo nėra, kiekviena istorija unikali.
Bet skiriasi požiūris - jeigu manęs kaip programuotojo užsakovas pirmiausia klausia "kiek kainuoja", tai jau reiškia, kad žmogus labiau vertina pinigus, o ne kokybę. O kai kreipiasi su išsamiu paklausimu, detaliai aprašęs užduotį ir pirmiausiai klausdamas "ar įmanoma ir per kiek laiko", tai jau ir dirbti daug maloniau.
-
TomasAchmedovas sureagavo į daryZ Prigerti samagono tik tam, kad kitą rytą verkti, jog skaudą galvą?
Atsakymai į tavo klausimus vaizdžiai, nepatingėk pažiūrėti, nors ir tik su lietuviškais subtitrais. ;)
O jeigu perki 100% sultis ne iš koncentrato ir dar su gabaliukais, tai ten irgi 20%?
Jeigu ant pakuotės parašyta ne SULTYS, o SULČIŲ GĖRIMAS ir dar žiūri į pigiausius, tada tikiu, kad nėra nei tų 20%, ir tai iš koncentrato.
Ties alkoholiu visi ekspertai, o sulčių tikrų nusipirkti nemoka... :D
-
TomasAchmedovas sureagavo į Leader Prigerti samagono tik tam, kad kitą rytą verkti, jog skaudą galvą?
Ar tarakonai perka diklafosa? Ne. Tarakonas suvokia kad nuodytis nevalia, o žmogus ne..
-
TomasAchmedovas sureagavo į enjoy Prigerti samagono tik tam, kad kitą rytą verkti, jog skaudą galvą?
Iš tiesų visiškai nesuprantu žmonių kurie dirba, gauna alga, didžiają dalį prageria, o paskui verkia, jog neturi pinigu.
-
TomasAchmedovas sureagavo į masinistas5 Prigerti samagono tik tam, kad kitą rytą verkti, jog skaudą galvą?
Ši tema - iš idėjos. Idėja kilo žiūrint į bendraamžius, ~20inį jaunimą, nors tai galima pritaikyti turbūt daugeliui, mėgstančių išgerti. Iš karto įspėju, jog degradavusių alkoholikų nuomonė, kokia ši tema bloga, neįdomi.
Taigi, daugelis iš mūsų esame ne kartą girdėję. NEBEGERSIU. Tačiau neilgai trukus tik šapt - štai žmogus "išgėrė". Man į galvą "pyškina" mintys. Viena iš jų: ar žmonės tiesiog tokie kvaili, jog prigeria ir kitą dieną skundžiasi, kaip jiems blogai? Tokių frazių, kurios ypatingai mane erzina, išgirstu po daugelio balių.
Galbūt galėtume sukirsti kardus ties klausimu: kodėl apskritai žmonės tą alkoholį vartoja? Juk nei skanu (nekalbu apie kokį alų, kuris daug kam skanus), nei sveika, nei apskritai - padoru. Pažįstu ne vieną žmogų, kurie nevartoja ir yra laimingesni už tuos, kurie vartoja. Žmones nebemoka gyventi be alkoholio? Puikiai suprantu, kad nedidelės alkoholio dozės gėdos nedaro, tačiau prisilakti iki debesų bučiavimo, argi ne kvaila? Temoje traktuoju tik BALIUS, PASILINKSMINIMUS. Kuomet žmogus klimpsta į alkoholizmą, tarkime, netekus artimo žmogaus, praradus kažką, tai jau visai kas kita, sakyčiau, net pateisinama (nors ir neleistina) veikla.
Galiausiai, ar koks jūsų pačių alkoholio apsukų dažnis? Ir nerašykit, kad negeriat, nes menkas čia abstinentizmas, kai pusę metų negeri, o prieš pusę metų pylei. Jeigu negeriate kur kas ilgesnį laiką, tai jau pagarba. Bet kokiu atveju šios temos tikslas atsakyti į temos klausimą, o visi kiti klausimai skirti tik tam, kad nebūtų "sausos" jūsų mintys.
-
TomasAchmedovas sureagavo į liudnasveidelis II etapo rezultatu paskelbimas
parašyk į pm, pasakysiu sąskaitos nr, šiaip neskubinu, gali ir ryt
-
-
TomasAchmedovas gavo reakciją nuo Dmitrijus II etapo rezultatu paskelbimas
Studijų programa: programų sistemos (duomenų bazių sistemos; internetinės technologijos), I
Aukštoji mokykla: Vilniaus kolegija
Finansavimo pobūdis: vf
Pageidavimo numeris: 1
Sėdi!!!
-
TomasAchmedovas sureagavo į Tekstai Androidas iki 450-500 litų
NEPIRK BIUDŽETINIO ANDROIDO. Kaip buvęs telefonų apžvalgininkas žinau ką sakau - pigūs androidai bėgant laikui pasidaro labai didelis galvos skausmas ir apgailėstavimas.
Jei reikalingi appsai, tai turbūt vienintelė tavo išeitis būtų iPhone 4/WP platforma. Lumia 800,720(?)
-
TomasAchmedovas sureagavo į Gugiss Norite susikurti chat'ą?
Node.js yra įrankis, kurio pagalba galima sukurti serverius įvairiom web aplikacijoms ar žaidimams naudojant JavaScript programavimo kalbą.
Viskas vyksta realiu laiku t.y. atnaujinimus siunčiamus iš serverio vartotojas gauna akimirksniu. Ir čia Ajax'as ne prie ko - Node.js veikia per WebSocket'us. Todėl norint testuoti serverį reikalinga moderni naršyklė palaikanti WebSocket'us. WebSocket'us palaiko ir dauguma mobilių įrenginių, todėl dėl to nereikia jaudintis.
Supažindinsiu jus su Node.js pamokydamas kaip galima sukurti paprastą web chat'ą (tiek iš serverio tiek iš vartotojo pusės) Windows aplinkoje.
Pasiruošimas
Pirmiausia jums reikės iš čia http://nodejs.org/ parsisiųsti ir įsidiegti patį Node.JS įrankį.
Node.js instaliacijos kataloge rasite programą (.bat failą) pavadinimu npm ji skirta papildomų bibliotekų parsiuntimui ir instaliavimui, tačiau ją paleisti galima tik per komandinę eilutę.
Taigi jums reikės papildomos bibliotekos (labai naudingos ir palengvinančios darbą) Socket.IO.
Socket.io instaliavimas:
1. Atsidarius Node.js instaliacijos aplanką į adreso lauką įrašyti "cmd" ir spausti ENTER
2. Atsidariusioje konsolėje įrašykite "npm install socket.io" (be kabučių)
3. Kai instaliacija baigsis galite uždaryti konsolę
http://www.part.lt/img/b9964fdb4cd608ccc83999880a2c2bd3692.jpg
http://www.part.lt/img/2acd782f1dfd0f7c47717dc2dda03761115.jpg
Darbas su Node.js ir Socket.IO
Testas
Dabar, kai jau įdiegėte reikiamus įrankius galite ištestuoti kaip jie veikia.
Tam pačiame kataloge sukurkite betkokį failą su .js galūne pvz. "chat.js". Atidarykite sukurtą failą ir yrašykite pirmąją kodo eilutę:
var io = require('socket.io').listen(8000);
Ši eilutė liepia sukurti serverį 8000 porte.
Ar viskas tvarkoje galite ištestuoti sukurtą .js failą tiesiog "užvilkę" an node programos.
http://www.part.lt/img/d959e80a53a652d583cb1fae2d038d89139.jpg
Atsivers konsolė, jeigu ji iš karto neišsijungs, reiškias viskas gerai. Naršyklės lange suvedę "http://localhost:8000/" galėsite išvysti pasveikinimą:
Įvykiai ir prižiūrėtojai
O dabar pradėsime sunkiąją dalį.
Pirmą norėčiau paaiškinti terminologiją. Kas yra socket'ai nepasakosiu (galite pasiskaityti čia http://en.wikipedia.org/wiki/Network_socket).
Papasakosiu apie event'us (įvykius). Na trumpai tariant įvykiai yra įvykiai :D t.y. tai kas įvyksta programoje (pvz. serveris iš vartotojo gauna komandą "labas"). Programa turi ką nors atsakyti į įvykį, todėl jiems (įvykiams) reikia priskirti prižiūrėtoją (event listener/handler).
Įvykio prižiūrėtojas yra paprasčiausia funkcija (o jeigu nežinot kas yra funkcijos, tai ne ten papuolėt). Prižiūrėtoją įvykiui priskirti galima dviem būdais.
socket.on('labas', function(){ console.log("LABAS"); });
arba
function labasFunkcija(){ console.log("LABAS"); } socket.on('labas', labasFunkcija);
Šis prižiūrėtojas iš vartotojo gavęs komandą "labas" konsolės lange parašys "LABAS". Tačiau šio įvykio mes nenaudosim.
Serveris
Kadangi papasakojau apie įvykius galima judėti toliau. Kol kas kode turime tik vieną eilutę, kurioje aprašytas kintamasis "io". Šis kintamasis laukia kokių nors įvykių (tiksliau ne kintamasis, o jam priskirtas objektas), todėl mes turime jiems priskirti prižiūrėtojus.
Pirmasis įvykis kurį aprašysime tai kai vartotojas bando prisijungti prie serverio. Šio įvykio prižiūrėtoją galime vadinti bosu, nes jis priskirs prižiūrėtojus kitiems įvykiams.
io.sockets.on('connection', function (socket) { // kitas įvykis // dar vienas įvykis });
Šiame pratime naudosime dar du įvykius t.y. "login" ir "message". Beje įvykius galite pavadinti kaip norite, čia pasirinkimo laisvė.
Taigi antrasis prižiūrėtojas atsakys už vartotojo vardo pasirinkimą. Vartotojui sėkmingai prisijungus prie serverio jis turės įrašyti savo vardą. Pasirinkus vardą serveriui siunčiama komanda "login" kartu su pasirinktu vardu.
O tuo tarpu serveryje priskirtas prižiūrėtojas laukia šio įvykio:
socket.on('login', function(data){ // Kai serveris priima komandą "login" iš vartotojo (kintamasis "data" yra gauti duomenys iš vartotjo) var status = 0; // Kintamasis status bus siunčiamas vartotojui po to kai serveris patikrins jo atsiųstus duomenis if(data.name.length == 0){ // Jeigu vartotojas neįvedė prisijungimo vardo status = 1; } else { var clients = io.sockets.clients(); // Gaunamas prisijungusių vartotojų sąrašas for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user && clients[i].user.toLowerCase() == data.name.toLowerCase()){ // Tikrinama ar pasirinktas vartotojo vardas yra užimtas status = 2; break; } } } if(status == 0) socket.user = data.name; // Jeigu pasirinktas vartotojo vardas yra prieinamas socket'ui priskiriamas "user" kintamasis socket.emit('login', {status: status}); // Vartotojui siunčiama komanda "login" su kintamuoju "status" });
Kaip pastebėjote (tikiuosi) šis prižiūrėtojas turi argumentą "data" t.y. kartu su įvykiu iš vartotojo gauti duomenys, šiuo atveju vartotojo vardas. Duomenys pateikiami json formatu, tai reiškia, kad:
data = {name: <vardas>}
Tikiuosi kad pastebėjot ir šią eilutę:
socket.emit('login', {status: status});
Ši eilutė sukuria įvykį vartotojui. Tai reiškia, kad vartotojo (naršyklės) pusėje taip pat laukiama įvykių. Taigi siunčiama komanda "login", o ją priims vartotojo pusėje esantis prižiūrėtojas, bet apie tai vėliau.
Ir trečiasis, paskutinysis prižiūrėtojas - atsakingas už vartotojo siunčiamų žinučių priėmimą:
socket.on('message', function(data){ // Kai vartotojas parašo žinutę var clients = io.sockets.clients(); for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user){ // Tikrinama ar vartotojas turi prisijungimo vardą clients[i].emit('message', {user: socket.user, message: data.message}); // Siunčiama žinutė vartotojui } } });
Jeigu nesupratot ką daro šis prižiūrėtojas pasakysiu trumpai. Jis visas gaunamas žinutes iš vieno vartotojo persiunčia visiems kitiems.
Dabar jūsų kodas turėtų atrodyti taip:
var io = require('socket.io').listen(8000); // Sukuriamas serveris console.log(io.version); io.sockets.on('connection', function (socket) { // Kai vartotojas prisijungia prie serverio socket.on('login', function(data){ // Kai serveris priima komandą "login" iš vartotojo (kintamasis "data" yra gauti duomenys iš vartotjo) var status = 0; // Kintamasis status bus siunčiamas vartotojui po to kai serveris patikrins jo atsiųstus duomenis if(data.name.length == 0){ // Jeigu vartotojas neįvedė prisijungimo vardo status = 1; } else { var clients = io.sockets.clients(); // Gaunamas prisijungusių vartotojų sąrašas for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user && clients[i].user.toLowerCase() == data.name.toLowerCase()){ // Tikrinama ar pasirinktas vartotojo vardas yra užimtas status = 2; break; } } } if(status == 0) socket.user = data.name; // Jeigu pasirinktas vartotojo vardas yra prieinamas socket'ui priskiriamas "user" kintamasis socket.emit('login', {status: status}); // Vartotojui siunčiama komanda "login" su kintamuoju "status" }); socket.on('message', function(data){ // Kai vartotojas parašo žinutę var clients = io.sockets.clients(); for(var i = 0; i < clients.length; i++){ // Tikrinami visi prisijungė vartotojai if(clients[i].user){ // Tikrinama ar vartotojas turi prisijungimo vardą clients[i].emit('message', {user: socket.user, message: data.message}); // Siunčiama žinutė vartotojui } } }); });
Serverio kodas baigtas, todėl jau galite jį paleisti kaip mokiau.
Pabaiga
Pagaliau priėjome vartotojo pusę. Pabaiga labai arti, nes aš tiesiog jums pateiksiu "gatavą" kodą. Jame nieko ko nežinote nėra.
Kaip ir serverio pusėje yra priskirti prižiūrėtojai ir paprastos jQuery funkcijos skirtos gautiems duomenims manipuliuoti. Kad jums būtų lengviau suprasti JavaScript faile pakomentavau beveik kiekvieną eilutę.
Taigi klientą sudaro 3 failai (html, css ir js):
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Įspudingas chatas</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> <script src="script.js"></script> <script src="http://78.62.160.169:8000/socket.io/socket.io.js"></script> <link href="styles.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> </head> <body> <div class="modal">Jungiamasi prie serverio...</div> <div class="overlay"></div> <table width="100%" border="1" cellspacing="5" cellpadding="0"> <tr> <td id="output"></td> </tr> <tr height="20"> <td><input name="message" type="text" id="input"/></td> </tr> </table> </body> </html>
styles.css
@charset "utf-8"; html, body{ font-family: Verdana, Geneva, sans-serif; font-size: 14px; margin:0; height: 100%; /* real browsers */ } table{ display: none; height:100%; } table td{ vertical-align: top; } p{ margin: 0; } #input{ height:20px; margin:0; border:0; width:100%; } #input:focus{ background:#E1F5A9; outline: none; } #output{ height:100%; overflow-y:scroll; } .overlay{ width: 100%; height: 100%; display: block; position:absolute; top: 0; background:#ccc; opacity: 0.5; z-index: 1; } .modal{ text-align: center; line-height: 100px; height: 100px; width: 250px; display: block; position: absolute; background: #fff; border: 1px solid #ccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; z-index: 2; top:0; bottom: 0; left: 0; right: 0; margin: auto; } .modal input{ margin-top: 40px; }
script.js
var socket; $(document).ready(function(e) { socket = io.connect("http://78.62.160.169:8000/"); // Jungiasi prie serverio // Priskiriami įvykių prižiūrėtojai socket.on("connect", connected); // Įvykis "connect" įvyksta kai vartotojas prisijungia prie serverio socket.on("login", login); socket.on("disconnect", disconnect); // Įvykis "connected" įvyksta kai nutrūksta vartotojo ryšys su serveriu }); //Įvykio "connected" prižiūrėtojas function connected(){ var text = $("<input>", {type: "text", placeholder: "Vardas"}); // Sukuriamas teksto laukas var button = $("<input>", {type: "submit", value: "Tęsti"}); // Sukuriamas mygtukas $(".modal").html([text, button]); // Sukurti elementai priskiriami "modal" klasę turinčiam elementui button.on("click", function(){ // Priskiariamas mygtuko paspaudimo įvykio prižiūrėtojas socket.emit("login", {name: text.val()}); // Nuspaudus mygtuka į serverį siunčiama komanda kurioje nurodytas vartotojo įvestas vardas }); } // Įvykio "login" prižiūrėtojas function login(data){ switch(data.status){ // Tikrinami duomenys iš serverio, kurie gaunami po bandymo prisijungti su pasirinktu vartotojo vardu case 0: // Jeigu data.status = 0 init(); // Vykdoma "init" funkcija break; case 1: // Jeigu data.status = 1 alert("Įvesk vardą!"); // Iššoka "alert" lentelė break; case 2: // Jeigu data.status = 2 alert("Šis vardas yra užimtas"); // Iššoka "alert" lentelė break; } } // Funkcija kuri vykdoma jeigu pavyko prisijungti su pasirinktu vartotojo vardu function init(){ $(".modal, .overlay").remove(); // Sunaikinami elementai kurie turi "modal" arba "overlay" klasę (prisijungimo lentelė) $("table").show(); // Atslepiama lentelė (chato template'as) socket.on("message", message); // Priskiriamas įvykio prižiūrėtojas apdorojantis duomenis, kurie gaunami iš serverio, kai kas nors parašo žinutę chat'e $("#input").on("keypress", function(e){ // Priskiriamas klaviatūros klavišo paspaudimo įvykio prižiūrėtojas if(e.keyCode == 13 && $(this).val().length != 0){ // Jeigu nuspausto mygtuko kodas yra 13 (kodas 13 yra ENTER mygtukas) bei žinutės įvedimo laukas nėra tuščias socket.emit("message", {message: $(this).val()}); // Žinutė išsiunčiama į serverį $(this).val(""); // Išvalomas žinutės įvedimo laukas } }); } // Įvykio "message" prižiūrėtojas function message(data){ $("#output").append("<p><b>"+data.user+":</b> "+data.message+"</p>"); // Žinutę atspausdina "output" elemente (pirmoje lentelės eilutėje) } // Įvykio "disconnect" prižiūrėtojas function disconnect(){ socket.removeListener("message", message); // Sunaikina įvykio "message" prižiūrėtoją $("table").hide(); // Paslepia lentelę $("#output").empty(); // Išvalo chat'ą; $("#input").val(""); // Išvalo žinutės įvedimo lauką var modal = $("<div>", {class: "modal", html: "Jungiamasi prie serverio..."}); // Sukuria "modal" elementą var overlay = $("<div>", {class: "overlay"}); // Sukuria "overlay" elementą $("body").append([overlay, modal]); // Sukurtus elementus priskiria "body" elementui }
Šiuos failus sudėkite į vieną katalogą
Paleiskite serverį
Atsidarykite index.html failą
Susitepkit sumuštinį
Atimkit močiutės pensiją
Iškirskit kentą
ČIA GALIMA IŠBANDYTI VEIKIANTĮ CHAT'Ą
-
TomasAchmedovas sureagavo į Galantion II etapo rezultatu paskelbimas
21:20, liko vos kelios įtemptos valandos iki nežinomybės skraistės atvėrimo. Tai tarsi lietuviškoji eurovizija, mes sėdime ir laukiame. Nedidelė giminės delegacija išsinuomavusi prabangų restoraną, likusi giminės dalis tenkinasi tiesiogine transliacija iš mūsų vietos, kur vos už kelių valandų paaiškės, ar pavyks Galantion įstoti į VF ar nepavyks! Tai grandiozinis konkursas, tai daugiau nei konkursas! Tai aukščiausiojo lygio pompastinis spektaklis, po kurio bus aiškus jauno sūvalko Galantion likimas. Ar pavyks Galantion įstoti į VF? Sužinote jau greitai!
-
TomasAchmedovas sureagavo į daryZ Sąrašas tinklalapių, siūlančių nemokamą išsilavinimą
Atnaujinta: 2021 Kovo 21
Alison
https://www.alison.com/
IT, Verslo ir verslumo įgūdžiai, Finansai ir ekonomika, Sveikata ir saugumas, Asmeninis tobulėjimas, Užsienio kalbos, Diplominiai kursai (Verslas, Programavimas, Multimedia, Marketingas, Statistikos, Web dizainas, Tikslieji mokslai, kita).
Coursera
https://www.coursera.org/
IT, Dizainas, Verslas ir vadyba, Ekonomika ir finansai, Teisė, Sistemos ir saugumas, Dailė ir menai, Media, Biologija ir gamtos mokslai, Inžinerija, Maistas ir mityba, Sveikata ir visuomenė, Humanitariniai mokslai, Tikslieji mokslai, Medicina, Socialiniai mokslai, kita.
edX
https://www.edx.org/
IT, Verslas ir vadyba, Statistikos ir duomenų analizavimas, Teisė, Energetika, Inžinerija, Mityba, Sveikata, Istorija, Humanitariniai mokslai, Tikslieji mokslai, Medicina, Filosofija, kita.
Udacity
https://www.udacity.com/
IT, Verslas, Matematika, Fizika, Psichologija.
Saylor
https://www.saylor.org/
IT, Verslo administravimas, Ekonomika, Karjeros pažanga, Susisiekimas, Dailės istorija, Gamtos mokslai, Tikslieji mokslai, Anglų kalba, Darbo paieškos įgūdžiai, Filosofija, Politika, kita.
OpenLearning
https://www.openlearning.com/
IT, Web dizainas, Marketingas, Verslumas, Sporto analizavimas, Chemija, Wordpress pagrindai, kita.
University of the People
https://www.uopeople.edu/
IT, Verslo administravimas, Dailė, Tikslieji mokslai, Psichologija, kita.
Khan Academy
https://www.khanacademy.org/
IT, Ekonomika, Tikslieji mokslai, Humanitariniai mokslai, kita.
Open Culture
https://www.openculture.com/freeonlinecourses
IT, Dizainas, Media, Ekonomika, Teisė, Gamtos mokslai, Tikslieji mokslai, Inžinerija, Užsienio kalbos, kita.
Codecademy
https://www.codecademy.com/
Programavimas - Web pagrindai, Javascript, PHP, Python, Ruby, kita.
__________
Žinai gerą tinklalapį?
Dalinkis šioje temoje!