JavaScript (pitanja-odgovori)

skawzy

Aktivan član
Poruka
1.787
Ovde cemo da diskutujemo o JS, sigurno ce neko imate pitanja, kao i ja naravno za sve sto mi nije jasno. Zanimljivo je to da je u pocetku ucenja, JS mnogo dosadan, ali kako vreme prolazi i mi prolazimo gradivo vidimo koliko on ustvari ima dobre opcije i mogucnosti za jedan sajt-forum.
 
Ovde cemo da diskutujemo o JS, sigurno ce neko imate pitanja, kao i ja naravno za sve sto mi nije jasno. Zanimljivo je to da je u pocetku ucenja, JS mnogo dosadan, ali kako vreme prolazi i mi prolazimo gradivo vidimo koliko on ustvari ima dobre opcije i mogucnosti za jedan sajt-forum.

Ima mnogo dobrih script blockera i ja preporučujem NO SCRIPT
Radi na Firefox i Chrome browserima
 
Ako te ne zanima web programiranje, uopste nemoj da ulazis u taj svet. Da bi bi bila programer, moras da volis to. :) Imas li neko iskustvo vec mozda?

Pa i ne baš
Interesantno mi je, samo što imam dosta obaveza i ne stižem da učim to

Krenula sam u HTML-u i CSS-u i sad bi trebalo polako na JS, al nikako da se nakanem :mrgreen: Baš zato što svi hejtuju da je dosadno u pm
 
Pa i ne baš
Interesantno mi je, samo što imam dosta obaveza i ne stižem da učim to

Krenula sam u HTML-u i CSS-u i sad bi trebalo polako na JS, al nikako da se nakanem :mrgreen: Baš zato što svi hejtuju da je dosadno u pm

Ako si savladala HTML i CSS, onda se baci malo na JS, ne mora da znaci da ce i tebi biti dosadan. Svakako je tezi od HTML-a i CSS-a, da se razumemo. Ja sam poceo da ucim JS pre 2 meseca odprilike mozda i jace, ali odkako sam poceo da radim, poceo sam da zabusavas, kad dodjem s posla sve sto vidim je trening pa krevet, ali zadnjih par dana sam i trening zapostavio :/
 
Imam ja jedno javascript pitanje koje me trenutno muci... U pitanju je NodeJD express framework i mongoose object modeling mongodb-a.

Imam stranicu sa poljima gde se ubacuju brojevi. Prva 3 polja su standardna fiksna polja a svako sledece je u petlji, podatke za tu petlju izvlacim iz posebne kolekcije (tabele) pa zavisno koliko tamo ima podataka toliko petlja stvara, nadam se da za sada ne komplikujem...

to u view izgleda ovako:

Kod:
{{#each lista}}<li class="list-group-item d-flex justify-content-between align-items-center" value="{{id}}">  {{name}}  <span class="badge badge-primary badge-pill">    <input name="polja_petlje" type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');">  </span></li>{{/each}}

Sad, kada ubacujem podatke, ovi prvi van petlje idu ok kao integer (navikao sam na mysql alu u ovom slucaju je number) ali ovi iz petlje idu kao array, tako da sam u models stavio da bude array:

Kod:
polja_petlje: {    type: [Number]}

I to u mongo bazi izgleda ovako:

Kod:
{"_id":"5ab2a902aeedce07cc292462","ObjectId_iz_neke_tabele":"5aa971865bdec729103deca6","zbir":100,"prvo":90,"drugo":10,"polja_petlje":["50","10","10","10","10"],"__v":0}
E sad, kako ja da ovo izbucem u tabelu a da mi ovi brojevi kao array idu zajedno sa petljom gde cu da izvucem listu (lista je takodje posebna tabela pa je zato gore u view #each lista /each)? Za sada ja napravim tabelu i tu petlju sa listom dok mi ovaj array stane samo u jedan row u pocetku petlje a dalje je prazno.

Nesto nalazim da je umesto [Number] trebalo nesto ovako:

Kod:
polja_petlje: [{    type: Schema.Types.ObjectId,    ref: 'lista'}]

ali mi to izbacuje greske...

Al sam zakomplikovao bem mi ti...

Ukratko, ako sam uneo nesto sa petljom kako da to zajedno sa petljom i procitam?
 
Poslednja izmena:
Jednostavno pitaje. Agloritam.

Na ulazu u lokalni noćni klub instaliran je čitač ličnih karata. Cilj takvog uređaja jeste provera starosti osobe koja želi da uđe u klub. Ulaz u klub je zabranjen muškim osobama mlađim od 18 godina i ženskim osobama mlađim od 16 godina, kao i svim osobama starijim od 70 godina (primer sa godinama je isključivo hipotetički radi vežbe).Potrebno je napraviti algoritam na osnovu kojeg bi čitač ličnih karata utvrđivao kome je ulaz u klub dozvoljen, a kome nije.

Algoritam je potrebno prezentovati korišćenjem dijagrama toka i pseudokoda.
 
Ukratko, ako sam uneo nesto sa petljom kako da to zajedno sa petljom i procitam?

Pa isto kao sto si uneo, tako iscitaj, identicnom logikom :)

Ne poznajem taj framework, i ne znam sintaksu, ali logika je takva da ces morati da izvrsis neku iteraciju kroz tu petlju, kako bi prikazao to sto zelis.

Generalno, ne volim ovakav pristup kada je sve izmesano, ne mogu ni da ukljucim mozak da razmislja da resava probleme na taj nacin.

I jedno pravilo, sta god da programirate, u cemu god, kakvo god resenje, morate se pridrzavati SOLID principa programiranja: low coupling & high cohesion! U prevodu na srpski - razdvajajte prikaz, podatke, i logiku.
 
Dobro, ako mi tu ne mozete pomoci ajde da probam ovo :)

Koristim ovaj kod za filtriranje tabele, i on radi savrseno dok nisam ubacio paginaciju. Sad takodje radi ali samo za stranicu na kojoj se nalazim ali ne cita sta je na drugim stranicama.

Route:
Kod:
router.get('/', (req, res)=>{  
 
 const perPage = 10;    

const page = req.query.page || 1;    

  ElectoralUnit.find({})       

   .skip((perPage * page) - perPage)        

   .limit(perPage)       

   .populate('town')       

   .then(electoralUnits=>{      

  ElectoralUnit.count().then(electoralUnitCount=>{ 

           Town.find({}).sort({name: 1}).then(towns=>{ 

               res.render('admin/electoralUnits/index', { 

                   electoralUnits: electoralUnits,

                    towns: towns,  

                  current: parseInt(page),

                    pages: Math.ceil(electoralUnitCount / perPage)

                });

           }); 

       });

    });

});
view:
Kod:
<div class="col-sm-8">

    <input class="form-control" type="text" id="myInput" onkeyup="filterTowns()" placeholder="Filter: Ukucajte ime grada/opštine">

    <table class="table table-hover" id="myTable">

      <thead>

        <tr>

          <th>Grad</th>

        </tr>

      </thead>

      <tbody>

        {{#each electoralUnits}}

          <tr>

            <td>{{town.name}}</td>

          </tr>

        {{/each}}

      </tbody>

    </table>

    <!-- Pagination -->

    <ul class="pagination justify-content-center mb-4">

        {{#paginate current=current pages=pages}}{{/pagina****}

    </ul>

  </div>

Kako da trazi na svim stranicama?
 
Poslednja izmena:
Pa resi coveku onda :D

Pa sta tu ima da se resava? Vec je sam opis teksta ujedno i resenje, a da mu crtam sad dijagrame, ne pada mi na pamet :D
Evo nekog pseudo koda:
Kod:
public Enum Gender { M, F };

public Class UserData 
{
  public Gender UserGender {get; set; }
  public int Age {get ; set; }  
}

public bool UserCanEnter(UserData user)
{
  var accessGranted = false;

  switch (user.Gender)
  {
     case Gender.M:
     {
       if (user.Age < 70 && user.Age > 18)
         accessGranted = true;
       break;
     }
     case Gender.F:
     {
        if(user.Age < 70 && user.Age > 16)
         accessGranted = true;
       break;       
     }
  }
  return accessGranted;
}
 
Poslednja izmena:
Pa sta tu ima da se resava? Vec je sam opis teksta ujedno i resenje, a da mu crtam sad dijagrame, ne pada mi na pamet :D
Evo nekog pseudo koda:
Kod:
public Enum Gender { M, F };

public Class UserData 
{
  public Gender UserGender {get; set; }
  public int Age {get ; set; }  
}

public bool UserCanEnter(UserData user)
{
  var accessGranted = false;

  switch (user.Gender)
  {
     case Gender.M:
     {
       if (user.Age < 70 && user.Age > 18)
         accessGranted = false;
       break;
     }
     case Gender.F:
     {
        if(user.Age < 70 && user.Age > 16)
         accessGranted = false;
       break;       
     }
  }
  return accessGranted;
}


Wtf is this :D :D Pricaj na srpskom da te ceo svet razume :hahaha: Salim se ja malo, samo nisam stigao do tog dela. :)
 
Poslednja izmena:
1. Kreiras enumerator za pol.
2. Kreiras klasu - nosioca podataka o korisniku koji se prijavljije u klub.
3. (Korak koji sam preskocio) je ucitavanje podataka o korisniku, kreiranje objekta klase nosioca podataka, i dodeljivanje vrednosti parametrima klase: pol (Gender) i starost (Age).
4. Kreiras funkciju ciji je ulazni paramrtar nosioc podataka, koja proveri podatke i vrati rezultat (true ili false).
 
U cemu ja gresim kad postavljam pitanja pa mi niko ne odgovara? :)

Ne gresis u postavljanju pitanja, vec niko od nas ne radi taj tvoj framework, pa zato ne mozemo da ti pomognemo bez da potrosimo mnogo sati da upoznamo framework i da ti pomognemo.
U vezi pitanja "kako da trazi na drugim stranicama", mislim da je i nemoguce sa trazi na drugim stranicama jer stranice jos nisu renderovane (ucitane) u trenutku kada pozivas filtriranje. U tom trenutku ti je ucitana jedna stranica - i nad njom se vrsi filtriranje.
Mislim da bi ovde pristup trebao da bude sledeci:
1. Podatke, pre prikaza na UI, smestis negde u memoriju.
2. Prikazes podatke na UI, sa sve paginacijom.
3. Implementiras filter - ali tako da ne filtrira podatke sa UI-a, vec sirove podatke (one koje imas sacuvane u memoriji pre renderovanja).
4. Nakon sto ih isfiltriras - ponovo ih renderujes iz pocetka, tako filtrirane, i opet kreiras paginaciju.
Mozda taj framework u kojem radis ima neke funkcije koje bi ovo sto sam ja opisao odradile brze, lakse, bolje, ali nemam pojma nista o tom frameworku - samo sam ti opisao logiku koju bih ja implementirao.
 

Back
Top