Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut] My function - in_array NodeJS


Rekomendowane odpowiedzi

Opublikowano
function in_array(name_array,record) {	
			var w;
			var c;
			var bledy = 0;
			var wartosc_petli = 0; 
			w = true
			for(x in name_array){
				wartosc_petli++
				var monsum = name_array[x].split(':')
				if(w == true) {
				if(monsum[0] == record) {
					bledy++
				}
				if(wartosc_petli == name_array.length){
						if(bledy == 0){
							w = false
							}
							else {
								return false;
							}
						}
				if(w == false) {
					return true;
					break;
				}
			}
		}
	}

 

Czego od Was wymagam ?

Wolnej nazwy funkcji + takiego sposobu dodawania elementów do tablicy :

Login:Haslo,Haslo:Login

 

Nie jest to pierwszorzędna funkcja,ale zawsze jakaś ;)

Możemy ją wykorzystać np. przy zarejestrowanych - czy dany login jest już zajęy.

Jak wykorzystać tą funkcje ?

if(in_array(zarejestrowani,data['Login']) == true ){

var str = data['Login']+':'+data['Haslo']

console.log("NIE")

}

else {

console.log("cos")

}

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

Stosuj jakieś standardy.... albo po angielsku albo po polsku nie jakiś mix

 

Proszę bardzo, wydajniejsza i lepsza wersja tej funkcji.....

function in_array (needle, haystack, argStrict) {
	  var key = '',
	    strict = !! argStrict;

	  if (strict) {
	    for (key in haystack) {
	      if (haystack[key] === needle) {
	        return true;
	      }
	    }
	  } else {
	    for (key in haystack) {
	      if (haystack[key] == needle) {
	        return true;
	      }
	    }
	  }

	  return false;
}

 

 

Nie, nie musicie mi dziękować

 

 

 

 

 

W dodatku nie robi się czegoś takiego:

if(in_array(zarejestrowani,data['Login']) == true ){

 

wystarczy, a nawet lepsze będzie (patrz konwersje typów):

if (in_array(registered, data['login'])){

Opublikowano

Mix stosowałem bo kod wziąłem to co potrzebne z mojego kodu zarejestrowanych.

Wszystko nazywam po angielsku ,jednak jeśli coś tworzę na nowo to lubię dać mix.

Dzięki za uwagi ;)

Jak wrócę to sprawdzę Twój skrypt.

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

@foxbond`

Nie musimy ci za nic dziękować, bo to nie ty pisałeś tą funkcję. Jak ktoś zna dużo stron to wie z skąd to wziąłeś.


...

 

Opublikowano

I od czego znów rozpoczeła się rozmowa od głupiego tekstu foxbond'a "Nie, nie musicie mi dziękować"

 

Może i lepsza, wystarczyło podać tylko przykład bez głupiego tekstu. Dzięki pisaniu własnych funkcji człowiek się uczy, w między czasie jak ona jest już napisana myśli czy można jakoś ją ulepszyć.

Opublikowano

A uwierz mi ,że może się przydać takie pisanie nawet jeśli nie jest za dobre.

W JS np. nie ma funkcji empty i isset ,ale jak ktoś przejdzie na JS to nie będzie wiedział jak taka funkcja wygląda bo nigdy nie widział w sensu pisaniu własnych funkcji nawet jeśli są ,a przecież to takie proste:

 

function isset(variable) {
 if(variable == undefined) return false; else return true;
}
function empty(str) {
 if(str == '' || str == NULL) return true; else return false;
}
Opublikowano

Nie odniosę się do samego tutoriala, ale do tego

 client.emit('Rejestracja',{'Blad':'Podany login jest już zajęty'})

 

Głupotą jest rejestrowanie graczy poprzez node i wykorzystywanie tylko go ogółem na serwerze.

O bezpieczeństwu aplikacji nie ma wtedy mowy. Jedyne połączenie to node + php, inaczej możemy robić gry dla dziesięciu osób, nie określonego większego targetu.

Opublikowano

up@

A co to za problem zmienić pare linijek kodu , i dodać sobie zapytanie SQL ;) ?

A tak z ciekawości.

Po co odpytywać serwer serwer ? To lepiej juz napisać w samym php... ;)

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano
function in_array(name_array,record,refund) {
			if(name_array == '') {
				return false;
			}
			else {
			var bledy = 0;
			var wartosc_petli = 0; 
			w = true
			for(x in name_array){
				wartosc_petli++
				var monsum = name_array[x].split(':')
				if(w == true) {
				if(monsum[0] == record) {
					bledy++
				}
				if(wartosc_petli == name_array.length){
						if(bledy == 0){
								return true;
								break;
							}
							else {
								if(refund == 'yes'){
									var str = monsum[0]+':'+monsum[1];
									return str;
									break;
								}
								else {
								return false;
								break;
								}
							}
						}
			}
		}
	}
	}

Łatka v 0.1 (wow xD )

Zwraca rekord jeśli wartość refund wynosi yes

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

Nie lepiej napisać to w czystym PHP bo nie uzyskasz wtedy wydajności node.

Node jest dość awaryjny i czasami "mało bezpieczny" szczególnie gdy zwiększa się liczba req/s, dlatego musi być optymalnie polączony z PHP (walidacje danych itp).

Tak jak i z PHP tak z node "grę" może napisać w nim byle amator, bezpiecznie i wydajnie już nie każdy. ;)

PS: Linus twierdził, że jeżeli ktoś używa więcej niż 3 poziomy wcięć sam nie orientuje się w swoim kodzie.

Opublikowano

Nie lepiej napisać to w czystym PHP bo nie uzyskasz wtedy wydajności node.

Node jest dość awaryjny i czasami "mało bezpieczny" szczególnie gdy zwiększa się liczba req/s, dlatego musi być optymalnie polączony z PHP (walidacje danych itp).

Tak jak i z PHP tak z node "grę" może napisać w nim byle amator, bezpiecznie i wydajnie już nie każdy. ;)

PS: Linus twierdził, że jeżeli ktoś używa więcej niż 3 poziomy wcięć sam nie orientuje się w swoim kodzie.

To tak :

Klient -> serwer nodeJS -> serwer PHP -> klient

Jaki w tym sens,gdy stawiamy na optymalność ;) ?

Masz dowody na to ,że node jest awaryjny ? Ja tego nie doświadczyłem.

Pisałeś coś w node ? Nie wiem ,nie znam Cię ,ale napisanie funkcji htmlspecialchars czy coś nie jest zbyt trudne.

PS: Linus twierdził ,ale u mnie tego nie stwierdził ^^. Orientuje się bez problemu , bo z reguły "czytam" początek kodu i już wiem o co chodzi ^^.

PSS:

Gra 2D - NODEJS

Gra klikanka - PHP

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Opublikowano

PSS:

Gra 2D - NODEJS

Gra klikanka - PHP

 

Ja wykonuję grę 2D realtime chodzenie po mapie i walka turowa. Nie doświadczyłem, żadnych problemów technologicznych. (zawsze mogę skorzystać z websockets)

 

Linus twierdził, że jeżeli ktoś używa więcej niż 3 poziomy wcięć sam nie orientuje się w swoim kodzie.

 

Jeśli ktoś zna się na programowaniu to wie, iż czasem duża liczba wcięć wynika z wiedzy programisty i złożoności kodu, a nie jego nieumiejętności pisania.

 

 

Node jest dość awaryjny i czasami "mało bezpieczny" szczególnie gdy zwiększa się liczba req/s

 

nareszcie znalazła się osoba potwierdzająca moje tezy.

 

Nie wiem ,nie znam Cię ,ale napisanie funkcji htmlspecialchars czy coś nie jest zbyt trudne.

 

Oczywiście, że nie jest. Przecież to są funkcje tzw. wysokopoziomowe.

Opublikowano

Ja wykonuję grę 2D realtime chodzenie po mapie i walka turowa. Nie doświadczyłem, żadnych problemów technologicznych. (zawsze mogę skorzystać z websockets)

 

 

Jeśli ktoś zna się na programowaniu to wie, iż czasem duża liczba wcięć wynika z wiedzy programisty i złożoności kodu, a nie jego nieumiejętności pisania.

 

 

 

nareszcie znalazła się osoba potwierdzająca moje tezy.

 

 

Oczywiście, że nie jest. Przecież to są funkcje tzw. wysokopoziomowe.

 

(liczę liniami zdań )

1. No wiem. Problemów technologicznych nie ma , ale problemy z utrzymaniem serwera owszem są.

2. +1

3. Osoba może potwierdzać,wolę statystyki ^^

4. Czyli ? W takim nazewnictwie jestem zielony.

Przyjmuje zlecenia dot. web masterki.

while(!$success){
....try();
}

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...