Hirdetés
- Asszociációs játék. :)
- "A homoszexualitás természetellenes" 😠
- Untappd lista
- Itt az új LOGOUT!
- Bestbuy travel, utazós, kirándulós topic - szállások, jegyek
- Ingyen kellene, de tegnapra
- Nagy "hülyétkapokazapróktól" topik
- Konvektor korszerűsítés - Computherm KonvekPRO felszerelése Q7RF szobatermosztát
- Fűzzük össze a szavakat :)
- 2024-ben M1? Nóóórmális?
-
LOGOUT.hu
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
Szia. Most sikerült erre visszatérnem.
Leszedtem a példád, írtam hozzá egy klienst, de az a gond, hogy a szerverre eljut az információ
{ name: "akarmi" } , tehát az akarmi eljut a szerverig, sikerül meghívni a wsdl alapján a metódust, de kliens oldalra már nem jut vissza a válasz, ott mindig undefined-ot olvasok :/Most pont ezen vagyok, hogy ezt kijavítsam. Szerintem a wsdl-ben kéne mókolni.
-
Jim-Y
veterán
válasz kemkriszt98 #4149 üzenetére
Hú-ha, hogy te ezért mit fogsz itt kapni Nem írunk így javascript kódot!
Itt van egy alap cucc kiindulásnak, hogy hogyan kellett volna inkább:
http://jsbin.com/tusunami/1/edit?html,js,outputNincs időm utánajárni, de biztos van jobb megoldás mint a képek url-jét cserélgetni.
-
Jim-Y
veterán
válasz Sk8erPeter #4152 üzenetére
Ez sajnos nem ugyanaz, mintha a body elé tetted volna, mivel nem használtam sem jquery ready()-t, sem body.onload-ot, így a js előbb töltődik be, mitnhogy a DOM-ot felparszolta volna a böngésző. Az én verziómban a külső javascript fájlt, vagy a <script></script> tageket a </body> elé kell rakni.
kemkriszt98: szerintem a könyv előtt/vagy mellett lesd meg a topik összefoglalóját. Sok hasznos infót fogsz benne találni, arra vonatkozóan is, hogy egy kezdőnek mivel érdemes kezdenie. üdv
-
Jim-Y
veterán
válasz kemkriszt98 #4156 üzenetére
Mert a script elemet nem lehet igy irni.
Ird igy <script src=""></script> -
Jim-Y
veterán
válasz kemkriszt98 #4159 üzenetére
changeImageSrc(largeImage, sourceUrl); hellyett
changeImageSrc(large, sourceUrl);
-
Jim-Y
veterán
válasz [pod]Diablo #4174 üzenetére
Kezdjük ott, hogy rosszul linkelted a példát
-
Jim-Y
veterán
válasz kemkriszt98 #4182 üzenetére
Szia. En eleg nagy eselyt latok ra, hogy inkabb a feladatot kene mashogy megoldanod, mert szerintem rosszul kozelited meg a problemat.
A gombokra kulon listenert szokas aggatni, igy nem szokas az id-t igy lekerni. De ha megosztod a kodod tobbi reszet is, peldaul jsfiddle-on, akkor tobbet tudunk majd segiteni.
Egy gombra kattintas pszeudokodja valami ilyesmi kene hogy legyen:
myButton = leker DOM element id (vagy mas) alapjan
myButton addClickListener mitcsinaljon
mitcsinaljon() {}Arrol nem is beszelve, hogy == helyett === javasolt, mert elobbi bizonyos helyzetekben erdekes eredmenyekre tud vezetni. [link]
[ Szerkesztve ]
-
Jim-Y
veterán
válasz kemkriszt98 #4184 üzenetére
Tippre azert, mert vagy rossz az ev.target nem az amire gondolnal, vagy mert az ev.target-nek nincs id-je, vagy az nem 1.
-
Jim-Y
veterán
válasz kemkriszt98 #4186 üzenetére
Legyszi oszd meg a teljes kododat, mert elkepzelheto, hogy te a javascript kodot a body vegen adtad hozza, es az onClick nem letezik meg akkor, mikor rakotod az onclick esemenyre.
Masik hiba, hogy ha igy hivsz meg egy metodust, akkor nincs hidden event metodus, azt az addEventListener teszi hozza a hatterben.
Harmadik hiba, hogy nehezen modosithatova teszed a kodot azzal, hogy az esemenyt a html-ben definialod es nem a js-ben, ahogy azt kene, illetve ahogy erre mar kaptal peldakodot is tolem, es Sk8erPeter-tol is.
Peldaul csereld ki a kododban:
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
function onClick(id) {
console.log(id);
}Es egybol meglesz az id.. de ha ezt ugy csinalnad, ahogy kene (nem biztos, hogy ez lenne a legjobb modszer, de a jelenlegidnel jobb):
Gondolj bele, ez mar csak azert is jobb, mert ha onclick eseten tobbe mar nem az onClick()-et akarod futtatni, akkor nem kell annyi helyen belenyulni a html kodba, ahany keped van
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="2" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="3" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="N" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>Itt most N-szer kene atirni, mig az en verziomban egy helyen atirod a kodot, es kesz.
Nem veletlenul best-practise az, hogy HTML-be NEM irunk javascriptet, ha ez megoldato, es JS-be NEM irunk CSS-t ha ez megoldhato.
[ Szerkesztve ]
-
Jim-Y
veterán
Rich JavaScript Resources:
https://github.com/dypsilon/frontend-dev-bookmarks -
Jim-Y
veterán
Sziasztok.
Promise-os kérdésem lenne. Arra lennék kváncsi, hogy hogyan lenne szerintetek érdemes használni, vagy hogy elegáns használni a promise-okat. Adott a következő szituáció:
- van egy REST service:
server.get( '/get/articles', getArticles );
- van azt ezt feldolgozó getArticles függvény
- illetve van egy articleProvider osztály/modul amit a getArticles függvényből hívok meg. Ponstosabban annak findAll metódusát. Ez felelős az adatbázisból való kiolvasásértA kérdés, hogy a getArticles / findAll függvényt hogy kéne megrni, több (működő) verzió is született már, de nem tudom eldönteni, hogy melyik a szép/jó/használható megoldás.
Megoldás 1, ez született legkésőbb, szerintem ez a legjobb:
function getArticles( req, res, next ) {
var promise = new mongoose.Promise;
promise.onResolve(function( err, articles ) {
if( err ) {
console.error( err );
res.send("Could not read articles");
}
res.send( articles );
});
articleProvider.findAll( promise );
}ArticleProvider.prototype.findAll = function( promise ) {
this.Article.find({}, function ( err, articles ) {
if( err ) {
promise.reject(new Error( err ));
}
promise.fulfill( articles );
});
}Megoldás 2:
function getArticles( req, res, next ) {
articleProvider.findAll().fulfill(res);
//articleProvider.findAll()
.reject(new Error("Valamiért rejecteljük"));
}ArticleProvider.prototype.findAll = function() {
var promise = new Promise,
self = this;
promise.onResolve(function( err, res ) {
if( err ) {
console.error( err );
}
self.Article.find({}, function( err, articles ) {
if( err ) {
promise.reject(new Error( err ));
}
res.send( articles );
});
});
return promise;
};Ez a reject-re amúgy sem működik jól, mert a res-t nem tudjuk átadni.
Megoldás 3:
Ez jó, illetve kompakt, de igy meg nem tudjuk rejectelni ha kéne.
function getArticles( req, res, next ) {
var promise = articleProvider.findAll();
promise.onResolve(function( err, articles ) {
if( err ) {
res.send(new Error( err ));
}
res.send( articles );
});
}ArticleProvider.prototype.findAll = function() {
return this.Article.find().exec();
};stb, még tudnék pár verziót összerni
Vélemények?
Üdv, és köszi. Remélem érthető a példakód ^^
megj: mindhárom megoldás működik egyébként.
[ Szerkesztve ]
-
Jim-Y
veterán
válasz martonx #4201 üzenetére
Szerinted ebben hol van elcsépelt rövidítés? Gondolom nem a res, req, err - re gondolsz mert azokkal nincs baj, eléggé konvencionalisak. De ezek szerint arra gondolsz amiket én deklaraltam valtozokat. De ebből meg csak három van.
promise, self, articles. Ezek közül melyik ami rossz? -
Jim-Y
veterán
FYI
Amúgy végül tényleg az első megoldás lett a nyerő, vagyis ezt alkalmaztam a többi függvénynél is. Már csak azért is, mert ezzel az olyan függvényeknél is analóg módon tudom megoldani a hibák lekezelését amik alapból nem promissal térnének vissza.
Kis magyarázat:
- a mongoose api-nak vannak Query tipusú függvényei, amiken lehet hívni exec()-et, ami miatt Promissal térnek vissza. Ilyen például a find(), vagy a findById(). Ezeknél elég volt (lett volna) ennyit írni az ArticleProviderbeArticleProvider.prototype.findAll = function() {
return this.Article.find().exec();
}majd a hívó oldalon már le tudom kezelni a Promise-t.
function getArticles( req, res, next ) {
var promise = articleProvider.findAll();
promise.onResolve(function( err, articles ) {
if( err ) { .. }
// handle
});
}Ez mind szép, és jó, de vannak olyan mongoose függvények amik nem promissal térnek vissza. De az előző posztban mutatott módszerrel ezeket is sikerült promisokkal megoldani, ezért választottam végül ezt a megoldást.
[ Szerkesztve ]
-
Jim-Y
veterán
válasz martonx #4204 üzenetére
Szerintem túlreagálod
Én úgy érzem, hogy ebben az esetben ez nem félrevezető, vagy nehezen olvasható. De amúgy természetesen az alapproblémával egyetértek. Sokszor ki is lett már tárgyalva itt a topikban. Egyébként már csak az api-val való "konzisztencia" miatt is ezeket használtam -> restifyMeg amúgy is készítek dokumentációt..
(persze..attól, hogy valaki hülyeséget ír, még nem kell nekem is úgy csinálni, de a req, res, err szerintem elég beszédes. Azért ez nem olyan mint az a, b, e stb..)
-
Jim-Y
veterán
Egy csomó mindent még vizsgálni kéne benne, de azt már nincs kedvem gy éjjel :/ Talán innen is el tudsz indulni. Illetve ha már ennyit leírtam, akkor már nem törlöm ki: http://jsfiddle.net/Jim_Y/YXqCj/
-
Jim-Y
veterán
Ez egy IIFE (immediately invoked function expression). Bővebben erről itt olvashatsz. Ben Alman - IIFE
Azért jó, mert
1: csinálsz egy függvényt, ezzel ugye egyből egy új variable environmentet
2: rögtön meg is hívodAmi az iffy-n belül van az nem "szennyezi" a globális névteret. A pattern segítségével le is tudjuk védeni az egyes könyvtárakat. Például a következő kódban a jQuery object-re $-ként tudunk hivatkozni anélkül, hogy félnünk kéne, hogy egy másik 3rd party library közben "felüldefiniálná" a "$" jelet.
Például:
(function($) {
}(jQuery));Az pedig, hogy miért jobb nem szennyezni a globális névteret, elsőszámű good-habit. Ennek utána tudsz olvasni neten.
Egyébként erre épül nem egy pattern, például a self revealing module pattern is. Erről itt olvashatsz bővebben: Addy Osmani - Design Patterns #revealingmodulepattern
[ Szerkesztve ]
-
Jim-Y
veterán
Élő példa, hogy mire jó még:
Találós kérdés, mit ír ki ez a program, anélkül, hogy kipróbálnád?!
<div id="container">Katt ide</div>
########################################
var cont = document.querySelector('#container');
function test() {
for (var i = 1; i < 6; ++i) {
cont.addEventListener('click', function () {
console.log(i);
});
}
i = 10;
}
test();[ Szerkesztve ]
-
Jim-Y
veterán
Na, akkor legalább volt értelme a példának.
Ezt írja a konzolra:
Vagyis
10
10
10
10
10Magyarázat: (ha esetleg valamit rosszul írnék, akkor javítsatok ki többiek, nem szeretném ha valamit az én hibámból jegyezne meg rosszul
1:
for (var i = 1; i < 6; ++i) {
//...
}Ezt az interpreter így értelmezi:
var i = undefined;
for(i = 1; i < 6; ++i) {
//...
}Tehát az i ciklusváltozót felemeli a függvény törzsének elejére, majd undefined-ként deklarálja.
2:
cont.addEventListener('click', function () {
console.log(i);
});Minden click eseményre a cont objektumon/elementen regisztrál egy névtelen függvényt. A lényeges momentum, hogy minden függvény javascriptben látja/tartalmazza az őt körülvevő függvények kontextusát.
function a() {
var i = 10;
function b() {
var j = function() { return 11; };
function c() {
console.log(i); // 10
console.log(j()); //11
}
c();
}
b();
}
a();Az eredeti példánál maradva az anonim függvény látja az őt körülvevő test függvény kontextusát, így az i változót is. Az addEventListener függvényel olyan működést definiálunk, ami valamikor a jövőben fog lezajlani (amikor klikkelünk az elemre), ezért a ciklus már rég végez mire mi az elemre klikkelünk.
3:
amikor végül rányomunk a div-re, az i már a ciklus végén 6, majd egy újabb értékadással i = 10. Ne felejtsük, hogy az összes anonim függvény "cipeli" magával a test függvény kontextusát amiben az i változóhoz már a 10 érték van rendelve, ezért fog 5 x 10-et kiírni a program a konzolra.A megoldás az lehet, ha minden anonim függvénynek/hez egy új kontextus-t rendelünk, amiben az i változó a ciklusban éppen aktuális értéken fog szerepelni.
Példa és megoldás:
var cont = document.querySelector('#container');
function test() {
for (var i = 1; i < 6; ++i) {
(function (i) {
cont.addEventListener('click', function () {
console.log(i);
});
}(i));
}
i = 10;
}
test();A (function() { .. }()); egy új kontextust generál amibe elmentjük az i ciklusváltozó aktuális értékét így az mindig fix marad.
üdv
[ Szerkesztve ]
-
Jim-Y
veterán
-
Jim-Y
veterán
http://jsperf.com/comparison-of-getelementby-and-queryselector
Nem tudjátok véletlenül, hogy a querySelectorAll miért teljesít ilyen rosszul?
-
Jim-Y
veterán
válasz kemkriszt98 #4248 üzenetére
Szia. Én nem értek túlságosan a jQuery-hez, de még a tanulásod elején megemlíteném, hogy érdemes 1-2 good-practice-t betartani.
Az egyik ilyen, hogy kerüljük a this használatát. Amikor csak lehet használjunk mást. A példádban is lehetett volna mást használni, és ennek nem csak az az előnye, hogy olvashatóbb, és érthetőbb lesz a kód, vannak olyan helyzetek, amikor rossz működésre vezet a this használata.
Demo (rossz eset, amikor a példád hibázna, nem várt eredményre jutna):
http://jsfiddle.net/Jim_Y/tsucL8je/18/
Mi történt?
- két divet ágyaztunk egymásba. jQuery-vel egy eseménykezelőt állítunk a div-re, és azt várnánk, hogy amelyik kockára kattintunk, az majd 100px-el lejjebb kerül. Nem ez történik!
- ad1: propagation, a selector nem egy, hanem 2 elemet is "matchel", először azon fut le az eseménykezelő amire ténylegesen kattintottál, tehát a .inner, majd propagál és a .outer div-en is le fog futni az eseménykezelő.
- ad2: a this mindig az aktuálisan "propagált" elemre mutat. Tehát az első loop-ban a this a .inner, majd a következőben a this a .outerEmiatt mindkét div lejjebb fog kerülni, talán 100px-nél nem is olyan feltűnő, de egy kattintásra az a div amin eredetileg kattintottunk (.inner) összesen 200px-el csúszott lejjebb.
Megoldás vol1:
Cseréljük le a this-t, ahogy eredetileg is javasoltam event.target-re.
http://jsfiddle.net/Jim_Y/tsucL8je/19/
Mi történt?
- még mindig furcsán működik, még mindig nem azt tapasztaljuk amit szerettünk volna, most egy kattintásra a .inner kocka 2x100px-el lejjebb került.
Ez azért van, mert az event.target minden loopban ugyanaz, arra mutat amelyik elemre kattintottunk az egérrel. (megjegyzés: az event.currentTarget minden esetben === this)
Első ciklusban event.target -et eltoltuk 100px-el, majd jön a második ciklus (propagation ugyebár, vagy bubbling effect, ki hogy ismeri) ahol ugyancsak event-targetet toltuk el 100px-el.
Megoldás vol2:
http://jsfiddle.net/Jim_Y/tsucL8je/20/
Mi történt?
- itt már szinte az történik amire számítottunk, amire kattintunk az 100px-el lejjebb kerül és nincs propagation. Persze ha a .outer div-re kattintunk akkor az inner is lejjebb kerül, ez annak a következménye, hogy az inner az outeren belül van foglalva. Ezen nem tudunk segíteni, csak ha máshogy írjuk meg a html-t.
Összefoglalva:
* event.target statikus, mindig arra mutat amire ténylegesen kattintottunk (vagy általánosabban fogalmazva, amelyik node-on az esemény létrejött)
* this az változik, illetve sok esetben nem lehet megmondani, hogy most éppen mire is mutat a this, jobb ezt elkerülni.
* event propagation. Ezt is figyelembe kell venni bizonyos esetekben.Üdv
[ Szerkesztve ]
-
Jim-Y
veterán
-
Jim-Y
veterán
Ti milyen külföldi fórumokat szoktatok olvasgatni? Szeretném bővíteni azon oldalaknak a tárházát amiket metrózás közben olvasok, de azok érdekelnének amik minőségiek. Jöhet felsorolás szerűen, köszi. üdv
-
Jim-Y
veterán
Sziasztok!
Nem tudtok olyan API-ról ami ajax kérések mockolását teszi lehetővé és jQuery független? Tehát a mockjax nem játszik. Lehet kliens vagy szerver API is. Üdv
-
Jim-Y
veterán
válasz kemkriszt98 #4277 üzenetére
Szerintem nem ártana működő példát feltenni Egyébként: jQuery.closest()
-
Jim-Y
veterán
válasz kemkriszt98 #4281 üzenetére
http://jsfiddle.net/jkx6jcvL/1/
Biztos lehet jobban is.
-
Jim-Y
veterán
A this használatát én ahol lehet elkerülöm, és másoknak is ezt javaslom. Már itt is írtam róla többször, aki nem tudja pontosan, hogy mikor mi a this az bele fog futni hibákba! Ezt ki lehet kerülni azzal, hogy pl event.target-et hívunk. A példában pont nem ez kellett, hanem az event.currentTarget, de ez most lényegtelen
Majd beállítom a feed-et akkor, köszi Tervezek még írni, sőt, igazából csak most kezdtem, csak nincs sok időm mostanában :/
[ Szerkesztve ]
-
Jim-Y
veterán
Figyeled az input field onchange (change) eventjet és valtozaskor az addig bevitt karaktersorozatot hasonlitod össze a kívánt szóval. Ha egyezés van, akkor vegrehajtod a parancsot. Pl azt ami kékre színezi a karaktereket. Ha ez nem kielégítő válasz akkor javaslom kérdezz jobban mert nem egyértelmű a kérdésed. Nagyon hiányos. Üdv
-
Jim-Y
veterán
Nem tudom, hogy erre gondoltál-e, de csináltam egy példát, hogy én mire: http://jsfiddle.net/aaddnh98/
-
Jim-Y
veterán
válasz honda 1993 #4294 üzenetére
A fórumok nem erre valók hogy valakit -1 -ről felhozzon a közösség. Az alapokat vagy neked kell netrol / könyvből megtanulni vagy szerzel valakit aki face2face tanít. A fórum arra van, hogy ha elakadsz a munka során akkor kérdezni tudj. Egyébként az első hsz tele van kezdőknek szóló tutorialokkal, ha azokon vegigragva sem sikerül mukodesre birnod egy sor kódot sem. Akkor a helyedben már most feladnam ezt a hobbit. Udv
-
Jim-Y
veterán
válasz Sk8erPeter #4300 üzenetére
Finoman fogalmaztál.. én már írtam egy min 50 soros hsz-t arról, hogy nekünk mennyire nem célunk őt bántanbi, meg, hogy ilyen hozzáállással milyen rossz lesz neki majd a nagybetűsben, stb.. aztán 60 sornál CTR+A + DEL.. egész egyszerűen van akinek lenne értelme 50 sornyi segítséget írni, meg van akinek nincs. Gondolj bele ha már itt a fórumon ilyen szociális gondjai vannak, akkor milyen lehet az életben, nem mi fogjuk a helyes útra sodorni, meg nem mi fogunk tudni neki segíteni abban, hogy önállóbb legyen, szóval ja.. kitöröltem a cuccost, és szerintem finoman fogalmaztál
-
Jim-Y
veterán
válasz martonx #4305 üzenetére
Koszonom szepen, biztos hasznos lesz masoknak is, en pusztan azert kerdeztem, mert irtad, hogy van nem fizetos valtozata ami erdekes lehet sokak szamara.
En is teszek valamit a kozosbe, hatha ez is segit valakinek. En cca 3,4 honapja hasznalok egy JetBrains termeket javascript fejlesztesre, foleg js fajlokban matatok, css-ben es html-ben kevesebbet.
Webstorm
=======Amit szeretek benne:
- szoros integraltsag svn-el. Rogton az elejen megadod a mar letezo projektet, o felismeri, hogy version kontrol alatt vagy, es ezt jelzi is a fajloknal. Uj fajl letrehozasanal megkerdezi, hogy hozza szeretned-e adni a projekthez, ha igen zold lesz a fajl (neve a projekt strukturaban, es a taboknal is), amugy meg piros, ha egy under version control fajlt modositasz akkor pedig kek. Ugyanez kodszinten is megvan, Jelzi a valtoztatasokat kekkel (update), zolddel (added). Hasznos tud lenni.
Ugyancsak svn, van egy csillivilli osszehasonlito ablak, ahol a current copy-t tudod osszehasonlitani (es mergelni) a head-el. Nagyon egyszeru a mergeles, nyilacskakkal at tudod huzni a merged fajlba a valtoztatast. Eleg tuti- Amit surun szoktam hasznalni, navigacio a fajlok kozott, fajlhoz ugras, sorhoz ugras, usage search (ez nem tudom, hogy mi magyarul ), find in path, illetve a Refactoros Rename. Ez is nagyon hasznos. Bar ez tuti masban is igy van, de pl az egyszeru szerkesztokhoz kepest, Sublime, Brackets, Atom ez tobbet tud, es kenyelmesebb.
- Live templates: Ez olyan mint ST2-nel a Snippets. Itt is tudsz elore definialni kodreszleteket, amiket utana be tudsz illeszteni es konfiguralni. Pl us -> TAB -> 'use strict', vagy
for -> TAB -> es beilleszt egy kesz for ciklust stb...- Jok a code quality beallitasok. JSHint + JSLint + configuralhato Javascript inspections.
Ez utobbi peldaul olyan hogy beallithatod hogy milyen merteku nestingnel szoljon, avgy ha tul sok parameteres a fuggvenyed akkor is szoljon, meg meg ezer ilyen code quality beallitas.- A potencialis hibakat is jelzi az editor. Lehet inspection-t vegezni. Pl jelzi a unused valtozokat.
- Van beepitett Grunt consol. Ezt is hasznosnak talaltam.
Talan ezek a fontosabbak, vagyis amik nekem eddig jol jottek.
CSS
====Itt talan azt erdemes kiemelni, hogy a hexa kodokat megjeleniti az ide egy kis negyzetben a sorszamozas mellett.
Kb ennyi
-
Jim-Y
veterán
válasz Sk8erPeter #4307 üzenetére
Hát nézd, az egyik Java-ra íródott, de fel lehet okosítani pluginekkel, hogy valahogy működjön js fejlesztésre, a másik meg direkt erre készül, ha az összefoglalóból az jön le, hogy a Netbeans is tudja ugyanazt akkor lehet úgy is van. Én egyetemen végig Netbeanst használtam, utána pedig Eclipse-t Java fejlesztésre, most meg Webstormot JS-re, a három közül egyértelműen a WS a legjobb IDE ha személyes véleményemet kérdezed. Eclipse nekem logikátlan, lassú, és nem is tetszik a kezelőfelülete, Netbeanst már jobban szeretem, az jobban bejött mint IDE, de ott meg picit sem foglalkoztam a konfigurálhatóságával. A WS-nek tényleg az a legnagyobb gondja, hogy fizetős, de cserébe van rendes support is
-
Jim-Y
veterán
válasz Sk8erPeter #4307 üzenetére
Egyébként, te is tehetnél vele egy próbát, van 30 napos free licensz, nálam ezen tesztidőszak eredménye -> [link]
Én meg igérem, hogy megnézem a közeljövőben a Netbeans ilyen téren is Btw Dracula theme ftw. Sajnos ST2-höz nem találtam, nincs is olyan color-scheme ami ne zavarna
-
Jim-Y
veterán
Ha esetleg valakinek lenne kedve tesztelni http://www.codewars.com/kata/typer-dot-js Thx
-
Jim-Y
veterán
válasz Sk8erPeter #4315 üzenetére
Ez egy olyan oldal, ahol a kozosseg kitalal feladvanyokat, es azt masok megoldhatjak, ha sikeresen megoldjak, akkor kapnak erte pontot es mennek elore a rangletran, kozben meg tanulnak/gyakorolnak. Aki feltesz egy feladvanyt, az teszteseteket is megad, es csak azok a megoldasok mennek at a rostan, amik megfelelnek a teszteseteknek.
Tobb nyelv is tamogatott az oldalon. Van JS, Python, Ruby, Haskell, Clojure meg meg talan par. Bar en eddig csak a JavaScriptes feladvanyokat neztem. Igazan szorakoztato igy elutni a feles idot (sorozes, edzes meg asszony utan persze ). Szerintem mindenkepp regelj
Ha megoldasz egy feladvanyt, akkor meg tudod nezni masok megoldasait, es ertekelni is tudod azokat, mint
* Best Practice
* Clever
Itt santit amugy az oldal, mert sosem az a best practice amit epp arra szavaztak, helyen kell kezelni es akkor nem zavaro.Ja igen, amit pedig linkeltem az az elso "feladvanyom" amit csinaltam, mikor csinalsz egyet az nem lesz rogton eles, hanem csak beta, es a kozosseg tagjai tudjak megszavazni a nehezseget, meg jelezni a hibakat stb..
[ Szerkesztve ]
-
Jim-Y
veterán
válasz Speeedfire #4331 üzenetére
Nekem nincs nagy js-lib tapasztalatom, inkább csak vanilla js, de annyi biztos, hogy ennek a kérdésnek nincs értelme. Azért nincs, mert feladattól függ, hogy melyiket kell használni. Van amilyen feladatra ez a jó, más feladatra meg a másik. Itt max annyit tudsz kérdezni, hogy kinek mi jött be, és milyen feladatra használta. Legalábbis szerintem, és a 'zinternet szerint is
-
Jim-Y
veterán
Kozben rajottem, hogy ebbe beleszamoltam a dependenciakat is, igy azert jocskan lecsokkent a sorszam, de meg igy is 100K folott van. Amugy nem tudom, hogy ez JS-ben mennyinek szamit, szerintem kozepesnek. Atlatni, hasznalunk RequireJS-t, igy azert konnyebb. Hogy erted, hogy "miben dolgozik egy kód"?
-
Jim-Y
veterán
Szia
Ami repetitív munka arra nagy valószínűséggel van grunt plugin. Könnyű konfigurálni, és jó pár fejlesztőkörnyezet is támogatja.
Mire használatos?
Amire szinte mindig:
* Lintelés, például jshint.
* Minifikálás, például uglify
* Unit tesztek automatikus futtatására, pl Jasmine, vagy Mocha, vagy QUnit
* LiveReload, pl grunt-watch. Ez utóbbi azt jelenti, hogy ha előre beállított fájlokat szerkesztesz, és elmented őket, akkor előre beállított taskok automatikusan lefutnak. Például ha a core *.js fájlaidat szerkeszted, akkor automatikusan lefut a lintelés, vagy ha browserify-t használasz akkor a bundling stb...
* KonkatenálásÉs akkor van még ami ritkábban:
* https://github.com/gruntjs/grunt-contrib
A JavaScriptes munka már rég nem csak annyiból áll, hogy megnyitsz szerkesztővel egy js fájlt és írsz pár függvényt ami csinál valamit a dommal, esetleg behúzod a jQuery-t.. Nagyon jó ökoszisztéma alakult ki az évek alatt, nagyon hasznos eszközökkel amik megkönnyítik a munkát.
Egyrészt ami régen nem volt, és most van, jó IDE-k. Jó build toolok, szerver oldali js környezet, npm, bower, browserify...
[ Szerkesztve ]
-
Jim-Y
veterán
-
Jim-Y
veterán
válasz Sk8erPeter #4363 üzenetére
Hát ja, csak beszélnünk kellett róla, hogy drága erre akciózzák, ugye a kapcsolatok...
Én is most aktiváltam a lejárt verziómat, bár érdekes, de egy augusztus elején lejárt verziót simán tudtam használni..no mindegy, így a tisztaEgész komoly időbe telik míg beállítom a JsHintet és a JS Inspection-öket a saját szájízem szerintire De azért megéri, így legalább be tudok állítani egy olyan lintelést ami követi a saját stílusomat.
-
Jim-Y
veterán
Haha..
"This feature was added for people who were beginners, so if you want to look like a beginner, then leave the semicolons out."
hallas utan
Crockford
agree[ Szerkesztve ]
-
Jim-Y
veterán
Ha valaki érdekelt az ilyenben, csináltam egy GitHub repot, ahova kollaboránsokat keresek. Valahol el kell kezdeni a netes jelenlétet, és hát, kezdjük kicsiben, az is több mint a semmi
A Smarty egy olyan repo amiben a hasznos, ötletes, mások számára is érdekes JavaScriptes megoldásokat gyüjtöm (folyamatosan). Ha neked is van hasonló, akkor esetleg összedobhatnánk amink van
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple iPhone 15 Pro Max - Attack on Titan
- Öt Starship után embereket küldene a Marsra Musk és a SpaceX
- Fejhallgató erősítő és DAC topik
- Arena Breakout: Infinite
- Kormányok / autós szimulátorok topikja
- Gyúrósok ide!
- Politika
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- X1 Yoga 6th 27% ÁFA, 14" 4K+ IPS érintő i7-1185G7 16GB 256GB NVMe ujjlolv IR kam aktív toll gar
- iPhone 16 Pro 128 GB sivatagszínű titán
- Dell P2418HT érintőkijelzős 24" monitor, KARC rajta!
- (Akár komplett PC-vel is eladó!) AORUS GeForce RTX 4090 MASTER 24G - 3+ év garancia
- x360 1040 G8 2-in-1 27% 14" FHD IPS érintő i7-1185G7 16GB 512GB NVMe ujjlolv IR kam gar
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen