JeuWeb - Crée ton jeu par navigateur
Java EE (site web/ jeu par naviguateur) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Java EE (site web/ jeu par naviguateur) (/showthread.php?tid=5490)

Pages : 1 2 3 4


RE: Java EE (site web/ jeu par naviguateur) - niahoo - 14-06-2011

si tu pars par là il n'y a pas vraiment de langages interprétés aujourd'hui…

Mais la grosse différence avec java ce n'est pas la façon dont c'est compilé, c'est qu'en php c'est très galère d'avoir du code qui va tourner indéfiniment en arrière plan, pour gérer un t'chat par exemple. Ce qui fait que tu reparses ton php.ini à chaque requête, tu repasses par ton fichier de config db à chaque requête, etc..

En gros les 3/4 du code (chargment de tes classes, de tes moteurs de templates, de ton dispatcher, etc..) sont fait à chaque fois alors qu'une fois suffirait.


RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011

(14-06-2011, 10:40 AM)khiguard a écrit : Juste une remarque :
Citation :j'ai cru comprendre que Java était nettement plus rapide que php car ce sont des exécutables déjà compilés contrairement à php
Le php est compilé avant d'être afficher. Ce n'est pas un langage interpréter. (mais rien à voir avec la compilation java)
@+

PHP est bien compilé en opcode par l'interpreteur PHP, mais c'est fait à chaque appel au script : ça n'a pas d'intérêt en terme de performances. Par contre, quand on utilise un accélérateurs PHP, on bénéficie d'un cache d'opcode qui conserve la version compilée et évite sa recompilation. On gagne donc beaucoup en terme de performances. Ça permet de s'approcher des comportement de la JVM et de .NET.


RE: Java EE (site web/ jeu par naviguateur) - niahoo - 14-06-2011

Je viens de lire qu'on peut stocker en mémoire cache des variables. Quelq'un a t'il déjà joué avec ça pour stocker sa config ?


RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011

Oui, avec APC ou Memcache (et sûrement d'autres). C'est assez trivial à faire. Anthor l'utilise beaucoup dans le cadre de Tarschool, tu pourrais lui poser des questions. ^^


RE: Java EE (site web/ jeu par naviguateur) - php_addict - 14-06-2011

(14-06-2011, 10:59 AM)niahoo a écrit : Je viens de lire qu'on peut stocker en mémoire cache des variables. Quelq'un a t'il déjà joué avec ça pour stocker sa config ?

jamais fait pour ma config, car cela ne ralentit pas trop mes scripts, par contre je l'utilise pour stocker des array issus de resultat de requete à ma dbb qui sont lourdes et fréquente

par contre il faut faire gaffe aux convention de nommage des noms de variables mises en cache

un exemple pourri:


//_____________________
// si APC est détecté |
//_____________________|
if(function_exists('apc_exists'))
{
//___________________________________________
// si le cache $MaVarEnCache n'existe pas |
//___________________________________________|
if (!apc_exists('$MaVarEnCache')
{
apc_add('$MaVarEnCache' , 'bla bal bla bla bla bla' , 1800 ); // on stocke la variable pendant 1800 secondes
}
//_____________________________________________________
// si le cache '$MaVarEnCache' existe on la recupere |
//______________________________________________________|
else
{
$MaVarEnCache =apc_fetch('$MaVarEnCache');
}
}
//___________________________
// si APC n'est pas détecté |
//___________________________|
else
{
$MaVarEnCache='bla bal bla bla bla bla';
}

echo $MaVarEnCache;



RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011

Ça me paraît bizarre dans la vraie vie de tester la présence de APC. Après tout, si c'est un prérequis de l'application, tu peux considèrer qu'il est là.

APC ne propose-t-il pas un système plus sympa pour insérer des données à la volée dans le cache lorsqu'on cherche à récupérer un élément inexistant ? Qui va chercher les données en cache et s'il ne les trouve pas, renvoie quelque chose et l'insère dans le cache ?

Avec Rails, voilà ce qu'on a (cf. l'API ActiveSupport::Cache::Store).


# Utilisation basique
fruit = Rails.cache.fetch("fruit") # => nil
fruit = Rails.cache.write("fruit", "Kiwi") # => true
fruit = Rails.cache.fetch("fruit") # => "Kiwi"

# S'il n'y a pas de résultat, on exécute le block et on stocke la valeur.
cities = Rails.cache.fetch("cities") { City.all }


# Rails peut aussi se débrouiller pour générer la clé de cache.
favourite_cities = Rails.cache.fetch([ current_user, :favourite_cities ], current_user.favourite_cities)



RE: Java EE (site web/ jeu par naviguateur) - php_addict - 14-06-2011

(14-06-2011, 11:31 AM)Sephi-Chan a écrit : Ça me paraît bizarre dans la vraie vie de tester la présence de APC. Après tout, si c'est un prérequis de l'application, tu peux considérer qu'il est là.

sur mon pc je n'ai pas installé APC donc je teste sa présence. Et si par malheur je fais une fausse manip, genre mettre APC sur off c'est la catastrophe, ou encore si j'ai besoin de désactiver APC, faut mieux vérifier si APC est présent j'en suis sur...et cela ne rajoute pas grand chose au code

(14-06-2011, 11:31 AM)Sephi-Chan a écrit : APC ne propose-t-il pas un système plus sympa pour insérer des données à la volée dans le cache lorsqu'on cherche à récupérer un élément inexistant ?

je ne crois pas non


RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011

Et est-ce que tu testes la présence de MySQL ? Smile

Je trouve que c'est une alternative un peu pauvre au fonctionnement par environnement. Avec les frameworks, tu configures ton environnement (généralement tu as development, production et test) et les API de cache ne font simplement rien.

Même sans les commentaires, je trouve la portion de code assez lourd : le code doit vite être imbouffable si tu n'encapsule pas tout ce bazar dans une classe de ton cru.


RE: Java EE (site web/ jeu par naviguateur) - php_addict - 14-06-2011

(14-06-2011, 12:33 PM)Sephi-Chan a écrit : Et est-ce que tu testes la présence de MySQL ? Smile

bein oui pas toi? je plaisante...

pour le moment je n'ai que 2 array mis en cache et il n'y en aura peut être pas d'autre, je ferais une fonction (et pas une classe car je ne suis pas en POO) qui gérera tout ca le moment venu


RE: Java EE (site web/ jeu par naviguateur) - Dark-Slade - 14-06-2011

Hum, Merci, je vais y réfléchir Smile merci beaucoup Big Grin