386
Java programozas, javascript
  • tigeroo #386
    je tnksz
  • Malakai #385
    És ezt miért ide? Egyébként aktív biztos nincs.
  • tigeroo #384
    java-s topik van amit használnak is az sg-n? csak bezártakat találtam :D
  • MerlinW - VIP
    #383
    Jaja, Windows-on rémálom a docker-ezés, vagrantal ízipíszi :)
    Utoljára szerkesztette: MerlinW, 2018.12.04. 16:20:30
  • j0nNyKa - VIP
    #382
    dockerrel együtt szoktam használni for maximum pleasure
  • Malakai #381
    Igen, én is sokat használtam. Igaz most már egy jó ideje inkább a "container-ek" használata lett a népszerűbb, még dev környezetre is, Docker, Kubernetes...
  • MerlinW - VIP
    #380
    Hogy ez a Vagrant mekkora találmány... hogy a fenébe kerülte el a figyelmemet eddig? Már 6 éve jelen van...
  • Dobronski #379
    Hahaha :))
  • MerlinW - VIP
    #378
    Segítünk, ha van kérdésed. Pénzért dolgozunk, nem segítünk. Az "akár nem ingyen!" mondatból kiindulva pedig valszeg nem tudnál megfizetni minket:)
    Utoljára szerkesztette: MerlinW, 2018.09.25. 21:04:30
  • j0nNyKa - VIP
    #377
    sajnos nincs
  • cody1994 #376
    Sziasztok! van itt valaki aki vágja a java script-et és tudna segíteni? akár nem ingyen!
  • MerlinW - VIP
    #375
    "Gyakorlati tanulság max annyi, ha egy argumment-ben / paraméterként többféle típust elfogadsz, akkor mindig ellenőrizd, hogy milyen típussal dolgozol. :)"

    S eljövé a typescript :D
  • Malakai #374
    Van még sok ilyen wtf pillanat javascript-ben, főleg type konverziókhoz köthetőek. :)
    Amit sokan szeretnek még pl ugyanebben a kategóriában:
    (!+[]+[]+![]).length

    Utoljára szerkesztette: Malakai, 2018.08.03. 16:05:08
  • Jim Morrison - VIP
    #373
    igazából csak megint előkerült a híres WAT előadás, és még ahogy egykettőnél láttuk a fényt az alagút végen, addig itt nem :)

    Parsert sejtettük a dologban, van ami firefox és chrome alatt mást dob ki (ha csak böngészőben próbáljuk, semmi fancy. v8 vs nemtommi)

    Köszi a részletes leírást, szuper érthető!:)
  • Malakai #372
    Még egy tanulmányi feladat? :)
    Ha igen, akkor egy tipik olyan, aminek tényleges gyakorlati haszna nincs.

    Hint:
    var obj = {}
    console.log({} - []) // => -0
    console.log(obj - []) // => NaN
    console.log({} + []) // => 0
    console.log(obj + []) // "[object Object]"


    Magyarázat:
    SPOILER! Kattints ide a szöveg elolvasásához!
    Azért nincs gyakorlati haszna, mert ez a javascript parser elég kivételes esete miatt és a gyakorlatban ritkán használt type konverzió miatt működik így.

    Parser: Amikor a javascript parser a kódban látja a sor elején a {} zárójeleket (expression elején pontosabban, ezért ugyanez console.log()-ban is működik), akkor egy üres blokkot lát (mint pl kondíció, funkció blokkja), nem pedig egy üres object literalt. Mivel üres blokk, így csak átugorja és megy tovább, onnantól a maradék már egy unary operator (-) és egy üres array ([]). Az-az ugyanaz, mintha csak ez lenne: -[] És ezért nem működik, ha már változóba teszed a zárójeleket az elején, mert akkor már ténylegesen egy üres object-el próbálod elvégezni.

    Ritka type konverzió: Üres array-en type konverzió egy a sok type konverzióból javascript-ben, aminek nem sok értelme, de ez legalább egy olyan amivel ritkán találkoznál gyakorlatban. Amikor a unary operator-al egy pozitív, vagy negatív számként akarod kezelni, akkor átváltja előbb boolean-re és azt számra és mivel az üres array falsy ezért 0. Ezért kapsz az unary operator-al -0-át a "kivonásnál".

    Nagyon sok fura, logikátlan típus konverzióban javascript-ben, csak egy példának, ha unary operator helyett binary operator-ként próbálod egy tényleges számmal összeadni az üres array-t, akkor már NaN-t kapsz, vagy pl ha nem üres array-t próbálsz unary operator-al számmá konvertálni, akkor megint csak NaN-t kapsz 1 helyett.


    Gyakorlati tanulság max annyi, ha egy argumment-ben / paraméterként többféle típust elfogadsz, akkor mindig ellenőrizd, hogy milyen típussal dolgozol. :)
    Utoljára szerkesztette: Malakai, 2018.08.03. 14:10:38
  • Jim Morrison - VIP
    #371
    {} - [] miért -0?
  • Jim Morrison - VIP
    #370
    bakker, (false && "it's foo!!!")....

    kösz:)
  • Malakai #369
    Gondolom jquery...
    Tehát legelső selector találat kell, de abból minden elem, ha jól sejtem...

    Általános javascript logika egyébként:
    const fooOrBarOrBaz = () =>
    (false && "it's foo!!!") ||
    (true && "it's bar!!!") ||
    (true && "it's baz!!!")
    console.log(fooOrBarOrBaz()) // => "it's bar!!!"

    Persze a konkrét esetedben ez használható, de valamilyen function-el lehet érdemes, különben 1) randa 2) duplán futtatsz query-ket.

    Vagy kis native reduce okoskodással, ez dettó üres jquery collection-t ad vissza, vagy az első találatot (mint ahogy a példádból úgy tűnik neked kell):
    let element_hide = selectors.reduce(
    (results, selector) => (results.length ? results : c_id.children(selector)),
    $()
    )


    És lehet van jquery-stílusú megoldás erre (egybe rakni a query-ket, utána a collection-ből kiválasztani, ami kell), de rég használtam... :)
  • Jim Morrison - VIP
    #368
    Van valami szép megoldás arra, hogy megnézzük, hogyha egy elemnek létezik egy bizonyos típusú childrenje, akkor azt adja is vissza?

    let element_hide = (function () {
    return c_id.children('#birthday-wrap') ||
    c_id.children('.forums-list') ||
    c_id.children('.ext-articles-block') ||
    c_id.children('.ext-forum-topics-block') ||
    c_id.children('nav')
    })()


    Ez ugye nem jó. Jelenleg meg kell nézni, hogy children('asdasd').length > 0 és akkor adja vissza xy-t... Nincs erre valami kis okosság?
  • j0nNyKa - VIP
    #367
    nagy divat most, egesz konnyu, de kell hozza jocskan referencia
  • tigeroo #366
    jah, már közben belemerültem a react rejtelmeibe is.

    mennyire esélyes amúgy külföldi home office munkát találni? van köztetek olyan aki így dolgozik?
  • j0nNyKa - VIP
    #365
    tokmind1 mer felejthetsz el kb mindent ami alap javascript ugyhogy most
  • tigeroo #364
    Mikor érdemes áttérni az ES2016, Typescript, Angular/React szintekre?

    Mik számítanak "alap" Javascript tudásnak amik meglegyenek ezekhez ?
  • z7server #363
    Akit esetleg érdekel:

    Javascript nyelv alapelemei

    Javascript-n kívül más programozási nyelvek is megtalálhatók az oldalon.
    Oldal érdekessége hogy össze lehet hasonlítani az egyes programozási nyelveket,
    előnyös lehet ha valami más programozási nyelvben már jártas vagy és meg szeretnéd tudni hogy ugyanaz a parancs hogy néz ki pl. Javascriptben.
  • tigeroo #362
    "Any application that can be written in JavaScript , will be eventually be written in JavaScript"
  • j0nNyKa - VIP
    #361
    előállítani most se állítasz elő img elemet, gondolom már a htmlben benne van neked a #logoImg
    ha jsből akarsz képeket létrehozni, akkor itt van vanilla példa, vagy csak simán jQuery-vel valamihez hozzáfűzögetsz új elemeket (pl. $('<img />').appendTo('akarmilyendiv'))
    nyilván mindezt a for cikluson belül, ahova én a console.log-ot írtam
  • 355 #360
    Nna, kislányos zavaromban összekevertem . A preview itt történik meg:

    $('#logoImg').attr('src', e.target.result);

    ...és itt nem tudom, hogy min kell végigmennem, hogy több img elemet állíthassak elő.
    Utoljára szerkesztette: 355, 2017.11.27. 23:32:56
  • 355 #359
    Nem, az a kérdés, hogy MIN kell végigmenni a for ciklussal, hogy az egyes img elemek különböző src-t kaphassanak. Egy elemre ott a

    $('#logoImg').attr('src', e.target.result)

    ...de ha több file van feltöltésre kijelölve, akkor pl. a

    $('#logoImg').attr('src', e.target.result[0])

    ...meg [1], [2] stb. nem működik (és az is megvan, hogy nem adhatok egyforma ID-t az img elemeknek). Azt nem tudom, hogy honnan kell vennem a következő src értékét.

    De ha jól értem, pont erre adtál megoldást a (i in input.files) résszel.
  • j0nNyKa - VIP
    #358
    ööö jól értem hogy az a kérdésed hogy hogyan néz ki egy for ciklus?
    var i, file;
    for (i in input.files) {
    file = input.files[i];
    // csinálsz amit akarsz a file objektumoddal, pl:
    console.log(file);
    reader.readAsDataURL(file);
    }

  • 355 #357
    'estét! Van egy HTML5 Files API-ra támaszkodó preview funkcióm, íme:


    function readURL(input) {
    if (input.files && input.files[0]) {
    var reader = new FileReader();
    var noOfImgs = parseInt( input.files.length );
    if ( noOfImgs > 6 ){
    alert( 'You can only upload a maximum of 6 files' );
    }
    else {
    reader.onload = function (e) {
    $('#logoImg').attr('src', e.target.result);
    }
    reader.readAsDataURL(input.files[0]);
    }
    }
    else {
    alert ( 'Sorry, your browser does not support Files API.' );
    }
    }


    Erre alapozva egyszerre több képet is fel tudok tölteni, de csak egyet tudok a preview-ben bemutatni. Úgy gondoltam, hogy tudva a noOfImgs értékét (mondjuk 4), egy for ciklussal és jQuery appenddel befűzök pár új img elemet.

    Hogy kell a result-on végigmenni, ha mindet be akarom mutatni?
  • tigeroo #356
    angular 4 kurzus már betárazva :)

    valamint találtam egy "Eloquent Javascript" nevű könyvet, ezt ismeri valaki? ffc közösségben ajánlották nekem. A weboldaláról pdf változatban ingyenesen letölthető:

  • MerlinW - VIP
    #355
    + webpack, babel, typescript, redux, docker. Grunt-al szerintem már nem kell foglalkozni, ahogy AngularJS-el sem (főleg nem, ha fontos tényező a SEO), csak Angular 2 és 4-el.
    Aztán ott vannak a teszteléshez a jest, jasmin, karma, selenium, stb libek.
    Utoljára szerkesztette: MerlinW, 2017.08.04. 22:43:50
  • Jim Morrison - VIP
    #354
    ez a legnepszerubb topik ebben a temakorben
  • j0nNyKa - VIP
    #353
    js sokkal fontosabb mint a css, jquery alap, angulart, reactot nem árt vágni, ES6 mindenképp legyen meg, nodejs, npm, grunt, gulp, systemjs, meg ilyen egyéb js "kezelő" csomagok mindenképp, meg a teszteléssel sem árt képben lenned (jasmine pl)
    ha css-sel foglalkozol, akkor sasst meg lesst ismerd, értsd
    pár templating lófasz legyen meg, ilyen jade, és társai, ne csak a szimpla html kódot ismerd
    ezekkel már juniorként el tudsz indulni
  • tigeroo #352
    sziasztok!

    jelenleg online marketinges vagyok (webmaster tools, google analytics, seo tools, social media felületek) amiket kezelek. olyan fél éve bele kellett tanulnom a hírlevél szerkesztésbe és a photoshopba (html szerkesztés, grafikák/bannerek készítése) amit nagyon élveztem.
    ezért belevágtam a freecodecamp front-end kurzusába, valamint egy udemy-s web developer bootcamp kurzusba.
    a kérdésem az lenne, hogy a html, css, javascript szentháromság mellett miben érdemes még "elmerülni" hogy minél hamarabb elhelyezkedhessek, mint junior front end fejlesztő?

    sokan azt mondják hogy a css-re fektessem a legtöbb hangsúlyt, a többi majd jön akkor, ha lesznek napi projektjeim is frontend szinten.

    most jelenleg a bootstrap-et tanulom, utána jön a javascript, jquery, angular, stb stb a kurzusban. van még egy magyar projekt, a codeberry programozóiskola, amelyet lehet hogy bepróbálok majd.

    van ilyen frontendes topik ahol ezekről lehet beszélgetni az sg-n? mert ez a poszt nem feltétlenül a javascriptről szól :)
  • MerlinW - VIP
    #351
    Tárgytalan.
  • MerlinW - VIP
    #350
    NodeJS cluster kérdés. cpu.length-en iterálva cluster.fork működik szépen. Milyen optimalizációra lehet még szükség? Van valakinek tapasztalata a finomhangolásában? Érdemes kommunikálni a workerkekkel? Milyen esetben, hogyan? Nem google érdekel, személyes tapasztalatokra lennék kíváncsi.
    Utoljára szerkesztette: MerlinW, 2017.02.07. 15:05:41
  • 355 #349
    Bocs, késő van. Hibás volt a php tömb, amiből a json készült.
  • 355 #348
    Köszönöm, így már OK.

    Kérdeznék még egyet, hátha maradt még benned egy kis jQuery :). A dolgot tovább fűztem, a szerverről HTML helyett JSON érkezik:

    [{"id":"60","lName":"Koller","mName":"","fName":"Eszter","dob":"1988-05-13","email":"[email protected]"
    ,"ppCode":"5702014973206","isHere":"y","ppVfrom":"2016-12-29","ppVto":"2017-12-29"}]

    Szeretnék ezzel feltölteni egy formot. Vadásztam erre egy scriptet:


    function pop( frm, data ){
    $.each( data, function( key, value ){
    var ctrl = $( '[name='+key+']', frm );
    switch( ctrl.prop('type' )){
    case 'radio': case 'checkbox':
    ctrl.each( function(){
    if ( $( this ).attr( 'value' ) == value) $( this ).attr( 'checked',value );
    });
    break;
    default:
    ctrl.val( value );
    }
    });
    }


    A jQuery kiakad rajta: "TypeError: invalid 'in' operand a @ jquery.min.js (2. sor, 3990. oszlop)". Egy csomót gugliztam már, de nem tudom megoldani. A JSON php json_parse-ból jön és tök szabványos, és a form minden elemének van benne adat. Mi lehet ez?
  • MerlinW - VIP
    #347
    Rég jQ-ztam, de alapvetően így kellene:


    function getPPData ( id ){
    return $.post('list.php', { holder: id });
    }

    function putPPData ( data, target ){
    target.append( data );
    }

    $('#ppScanned').blur(function(){
    var ppID = $('#ppScanned').val();
    if ( ppID !== "" ){
    // $.ajaxSetup({async:false}); //szerintem erre semmi szükség
    var target = $( '#cLeft' );

    getPPData(ppID).done(function(ppData) {
    alert ( "2\r\n" + ppData );
    putPPData ( ppData, target );
    });

    }
    });


    Lényeg hogy a promise blokkban kell mindent csinálni, amivel meg akarod várni az eredményt. Több XHR hívást is végezhetsz szimultán, azokat így tudod megvárni:


    var xhr1 = $.ajax();
    var xhr2 = $.ajax();

    $.when(xhr1, xhr2).done(function(xhr1Response, xhr2Response){
    })


    Olvasgass a Deferred és Promise témakörökben. Jó cuccok:)
    Utoljára szerkesztette: MerlinW, 2017.02.05. 14:26:16