Road To Javscripting (help me) :)

Svara

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Road To Javscripting (help me) :)

Póstur af Semboy »

https://www.amazon.com/Eloquent-JavaScr ... oks&sr=1-2

fann lika þessa


https://leanpub.com/javascriptallongesix

og þetta er það sem ég fann, Ég hef only áhuga að koða ekki búa til vefsiður.-
Last edited by Semboy on Sun 17. Nóv 2019 15:09, edited 1 time in total.
hef ekkert að segja LOL!

Sporður
has spoken...
Póstar: 199
Skráði sig: Mán 22. Okt 2018 09:06
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Sporður »

Ef þú ert að byrja að læra Javascript þá myndi ráðleggja þér að spara peningana þína og byrja á youtube og/eða síðum eins og codecademy.

Bara mínar 2 krónur.
Skjámynd

Hauxon
Vélbúnaðarníðingur
Póstar: 344
Skráði sig: Fös 10. Júl 2009 12:32
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Hauxon »

Segi það sama, bækur eru ágætar en það er til svo mikið að góðu kennsluefni á netinu. Ég nota oftast Udemy þegar mig vantar að bæta þekkinguna.

https://www.udemy.com/topic/javascript/

Vei ekki hvað þú kannt fyrir í forritun en í Javascript eins og öðrum málum er lykilatriði að kunna grunnatriðin í allri forritun (óháð málum), skilja breyturnar og scope á þeim, lúppurnar, hvernig objectar virka og muninn á object og instance osfrv. Og í Javascript þá kemstu ekkert áfram bara með Javascript heldur eru það libraryin og frameworkin sem er það sem maður vinnur í. Þú verður að lágmarki að kynna þér JQuery þegar þú ert kominn af stað í JS.
...Ég hef only áhuga að koða ekki búa til vefsiður.-
Javascript er nær alltaf næst framendanum þ.a. "vefsíðugerð" er aldrei langt undan. Þú þarf að hafa grunnskilning á CSS og HTML til að Javascript gagnist þér eitthvað. Ef þú ert að spá í að nota JS í bakendanum þá þarftu að skoða NodeJS vel. Ef þú ætlar einungis að forrita í bakenda myndi ég leggja meiri áherlsu að læra Python, amk mín skoðun.

Góða skemmtun! :D
Skjámynd

Hjaltiatla
Vaktari
Póstar: 2671
Skráði sig: Mið 07. Okt 2009 20:54
Staðsetning: ::1
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Hjaltiatla »

Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.
Just do IT
  √
Skjámynd

Sallarólegur
Internetsérfræðingur
Póstar: 6350
Skráði sig: Mán 04. Apr 2005 11:01
Staðsetning: https://viktor.ms
Hafðu samband:
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Sallarólegur »

Ef þú vilt ekki kóða vefsíður byrjaðu þá á Python.

Ef þú vilt læra Javascript þá er frítt efni á netinu miklu betra en hvaða bók sem þú munt nokkurn tíman finna.

Wesbos er besti kennari sem ég hef fundið:
https://javascript30.com/ frá www.wesbos.com
Thinkpad P1 • i7-10875H • NVIDIA Quadro T1000 • Samsung 32GB 3200Mhz • Toshiba 1TB SSD

G Pro Wireless • WASD V2 Ch.MX brown • Arctics Pro Wireless

Alienware Ultrawide 34.1" WQHD 1900R IPS 3440 x 1440p 4ms 120Hz

EdgeRouter-X • TOUGHSwitch TS-5-POE • Unifi AP AC LITE • Raspberry Pi Unifi controller

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Semboy »

Hjaltiatla skrifaði:Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.

ahh ég hefði átt að koma það á framfæri. Þú hefur rétt fyrir þér!


Edit: ég er búin að klára nokkur bootcamp.
https://youtu.be/PkZNo7MFNFg
og á scrimba.com, ég tel mig þekkja javascript það vel að ég get skrifað einfalda hluti eins og dummy black jack leik í (console).
hef ekkert að segja LOL!
Skjámynd

Hjaltiatla
Vaktari
Póstar: 2671
Skráði sig: Mið 07. Okt 2009 20:54
Staðsetning: ::1
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Hjaltiatla »

Semboy skrifaði:
Hjaltiatla skrifaði:Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.

ahh ég hefði átt að koma það á framfæri. Þú hefur rétt fyrir þér!


Edit: ég er búin að klára nokkur bootcamp.
https://youtu.be/PkZNo7MFNFg
og á scrimba.com, ég tel mig þekkja javascript það vel að ég get skrifað einfalda hluti eins og dummy black jack leik í (console).
Skil þig, Ég hef ekki mikið til málanna að leggja hvað varðar JSON (hvernig best er að læra Syntaxinn til að geta bjargað sér þegar maður er að tala við API-s). En reikna með að einhverjar hafi betri bakgrunn í forritun til að ráðleggja þér með það.

Sjálfur er ég mest að vinna með YAML skrár í Kubernetes og Docker ATM
Just do IT
  √
Skjámynd

Sallarólegur
Internetsérfræðingur
Póstar: 6350
Skráði sig: Mán 04. Apr 2005 11:01
Staðsetning: https://viktor.ms
Hafðu samband:
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Sallarólegur »

Ef einhver eru að pæla í Python þá er þessi algjör öðlingur:

Thinkpad P1 • i7-10875H • NVIDIA Quadro T1000 • Samsung 32GB 3200Mhz • Toshiba 1TB SSD

G Pro Wireless • WASD V2 Ch.MX brown • Arctics Pro Wireless

Alienware Ultrawide 34.1" WQHD 1900R IPS 3440 x 1440p 4ms 120Hz

EdgeRouter-X • TOUGHSwitch TS-5-POE • Unifi AP AC LITE • Raspberry Pi Unifi controller

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Póstur af Semboy »

Kóði: Velja allt

var arr = [10,20,30,40];

function arrayToList(arr) {
  if(arr.length==0) return null;
  if(1 == arr.length){
    obj = {};
    obj.value = arr[0];
    obj.rest = null;
    return obj;
  }
  var obj = {};
  obj["value"] = arr[0];
  arr.shift(); 
  obj["rest"] = arrayToList(arr);
  
  return obj; 
 }

//arr.push("hello");
//console.log(arrayToList(arr));

console.log(arrayToList(arr));

og ég fæ þetta output:

Kóði: Velja allt

{ value: 10, rest: { value: 20, rest: { value: 30, rest: [Object] } } }  
það sem ég vil fá er þetta:

Kóði: Velja allt

 { value: 10, rest: { value: 20, rest: { value: 30, rest: { Value 40, rest: null } } } }
hef ekkert að segja LOL!
Skjámynd

dori
Besserwisser
Póstar: 3567
Skráði sig: Fim 12. Feb 2009 10:46
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af dori »

Það er margt við þetta að athuga en ég held að þú sért að fá alveg það sem þú vilt fá útúr þessu.

Ef þú breytir síðustu línunni í

Kóði: Velja allt

console.log(JSON.stringify(arrayToList(arr)));
þá ætti þetta að koma rétt út. Það er bara REPLinn sem þú ert í sem sýnir ekki svona djúpt nestað by default.

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af Semboy »

Kóði: Velja allt

function arrayToList(arr) {
 
  if(arr.length==0) return null;
  if(1 == arr.length){
    obj = {};
    obj.value = arr[0];
    obj.rest = null;
    return obj;
  }
    var obj = {};
     obj["value"] = arr[0];
     obj["rest"] = arrayToList(arr.slice(1));
  
  return obj;
   
 }

fixed - sá major bug, á gamla koðan
hef ekkert að segja LOL!

asgeirbjarnason
Ofur-Nörd
Póstar: 257
Skráði sig: Fim 28. Apr 2016 20:17
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af asgeirbjarnason »

Ertu að skrifa þetta fall til að læra um recursion?

Ein smá athugasemd án þess að breyta kóðanum eitthvað mikið; þú ert að endurtaka sömu línurnar að óþörfu. Þ.e, hefur til dæmis obj = {}; obj.value = arr[0]; báðu megin við if skilyrðinguna. Myndi breyta því þannig að einungis það sem breytist við if skilyrðið sé innan if svigana:

Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
    
    var obj = {}
    obj.value = arr[0];
    
    if (arr.length == 1) { obj.rest = null; }
    else { obj.rest = arrayToList(arr.slice(1)); }
    
    return obj;
}

asgeirbjarnason
Ofur-Nörd
Póstar: 257
Skráði sig: Fim 28. Apr 2016 20:17
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af asgeirbjarnason »

Síðan er annað mál að það þarf ekki tvö if-skilyrði. Það er alveg nóg að hafa if (arr.length == 0) skilyrðið. Í rauninni muntu aldrei komast að því skilyrði eins og núverandi kóði er skrifaður, því þú hættir recursioninu með því að gera if arr.length is 1 -> obj.rest = null. Til að einfalda kóðann almennilega myndi ég líklega skrifa þetta svona:

Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
    
    return {
        value: arr[0],
        rest: arrayToList(arr.slice(1))
    }
}

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af Semboy »

asgeirbjarnason skrifaði:Síðan er annað mál að það þarf ekki tvö if-skilyrði. Það er alveg nóg að hafa if (arr.length == 0) skilyrðið. Í rauninni muntu aldrei komast að því skilyrði eins og núverandi kóði er skrifaður, því þú hættir recursioninu með því að gera if arr.length is 1 -> obj.rest = null. Til að einfalda kóðann almennilega myndi ég líklega skrifa þetta svona:

Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
    
    return {
        value: arr[0],
        rest: arrayToList(arr.slice(1))
    }
}
ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}
ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}
hef ekkert að segja LOL!

asgeirbjarnason
Ofur-Nörd
Póstar: 257
Skráði sig: Fim 28. Apr 2016 20:17
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af asgeirbjarnason »

Semboy skrifaði:ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}
Nei, mín lausn er í rauninni ekki betri. Mín lausn notar array.slice() endurtekið, sem myndi nota fullt af minni ef arrayið er stórt. Þú skilgreinir „glugga“ í arrayið til að vinna með, svo það þarft ekki að afrita arrayið aftur og aftur (fyrir utan reyndar að það er ennþá óþarfa if-skilyrði þarna).
Semboy skrifaði:ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}
Já, ef tilgangurinn var ekki að læra um recursion þá er þetta örugglega betri lausn í Javascript, en ef tilgangurinn er ekki að læra um recursion þá veit ég ekki til hvers maður myndi skrifa þetta fall.

Höfundur
Semboy
Gúrú
Póstar: 586
Skráði sig: Lau 05. Maí 2007 22:28
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af Semboy »

asgeirbjarnason skrifaði:
Semboy skrifaði:ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}
Nei, mín lausn er í rauninni ekki betri. Mín lausn notar array.slice() endurtekið, sem myndi nota fullt af minni ef arrayið er stórt. Þú skilgreinir „glugga“ í arrayið til að vinna með, svo það þarft ekki að afrita arrayið aftur og aftur (fyrir utan reyndar að það er ennþá óþarfa if-skilyrði þarna).
Semboy skrifaði:ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}
Já, ef tilgangurinn var ekki að læra um recursion þá er þetta örugglega betri lausn í Javascript, en ef tilgangurinn er ekki að læra um recursion þá veit ég ekki til hvers maður myndi skrifa þetta fall.

ég er að læra breyta array yfir á object, ég er að fylgja eftir bók.- vest að bókin hefur ekki lausn við þessu,
og já ég sagði þitt lausn væri betra, vegna þess það eru fáar linur hjá þér, - og var hissa afhverju mér datt það ekk í hug.


það sem ég geri við hvert exercise sem ég fæ, ég reyni að leysa vandamálið fyrst no matter what (eins margar linur og ég þarf) og siðan reyni ég að stytta koðan.
hef ekkert að segja LOL!
Skjámynd

gnarr
Kóngur
Póstar: 6208
Skráði sig: Lau 29. Mar 2003 19:54
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af gnarr »

Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));
"Give what you can, take what you need."

asgeirbjarnason
Ofur-Nörd
Póstar: 257
Skráði sig: Fim 28. Apr 2016 20:17
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af asgeirbjarnason »

gnarr skrifaði:Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));
Ha? Þetta skilar allt annarri gagnagrind en arrayToList fallið sem Semboy skrifaði. Þetta er niðurstaða þíns kóða:

Kóði: Velja allt

{"0":10,"1":20,"2":30,"3":40}
...og þetta er niðurstaða kóðans hans Semboy:

Kóði: Velja allt

{
    value: 10
    rest: {
        value: 20 
        rest: {
            value: 30
            rest: {
                value: 40
                rest: null
            }
        }
    }
}
Skjámynd

gnarr
Kóngur
Póstar: 6208
Skráði sig: Lau 29. Mar 2003 19:54
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af gnarr »

asgeirbjarnason skrifaði:
gnarr skrifaði:Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));
Ha? Þetta skilar allt annarri gagnagrind en arrayToList fallið sem Semboy skrifaði. Þetta er niðurstaða þíns kóða:

Kóði: Velja allt

{"0":10,"1":20,"2":30,"3":40}
...og þetta er niðurstaða kóðans hans Semboy:

Kóði: Velja allt

{
    value: 10
    rest: {
        value: 20 
        rest: {
            value: 30
            rest: {
                value: 40
                rest: null
            }
        }
    }
}

Ahh, ég las eftirfarandi og hélt að hann væri að ruglast með þessum strúktúr. Fannst hann ekki meika sens.
Semboy skrifaði:ég er að læra breyta array yfir á object, ég er að fylgja eftir bók.- vest að bókin hefur ekki lausn við þessu,
og já ég sagði þitt lausn væri betra, vegna þess það eru fáar linur hjá þér, - og var hissa afhverju mér datt það ekk í hug.
Hérna er þá lausnin með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = arr => arr.reduceRight((object, item) => ({ value: item, rest: object}), null);
console.log(JSON.stringify(arrayToList(arr)));
"Give what you can, take what you need."

asgeirbjarnason
Ofur-Nörd
Póstar: 257
Skráði sig: Fim 28. Apr 2016 20:17
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Póstur af asgeirbjarnason »

Við vitum reyndar ekkert hvernig verkefnið leit út sem Semboy var að reyna að leysa, svo ég veit ekki hvort gagnagrindin átti í rauninni að líta svona út. Var bara að gera ráð fyrir að hann væri ekki alveg á villigötum.
Svara