Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3518 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  21076  21077  21078  ..  27180  27181  27182  27183  27184  27185
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2224550
ratibus
Posté le 09-04-2014 à 10:38:28  profilanswer
 

Reprise du message précédent :

Taiche a écrit :

http://www.pcworld.fr/image-son/ac [...] 8047,1.htm

Citation :

Selon les premiers retours, la qualité des programmes diffusés serait excellente mais toutefois inférieure à un bon disque Blu-ray, en raison du débit limité à « seulement » 15 Mbps.


[:rofl]


Enfin faut surtout lire les infos à la source http://www.dslreports.com/news/128454

Citation :

You can’t cheat the physics of compression, especially given Netflix’s 4K streaming bitrate of 15.6 Mbps which is lower than that of well-transferred Blu-rays, albeit using the more efficient HEVC/h.265 codec. The opening shot of Frank Underwood (Kevin Spacey) and his wife (Robin Wright) running in a park at night is a testing sequence with lots of gradients and camera noise, and we saw minor posterization during the fade in, and around the street lamps. To our eyes, the [2160 HD] layer did not look visibly more detailed than the [1080 HD] one in this fairly dark scene.
 
Where the 4K version did shine was with bright, colourful scenes. On-screen images were rendered with greater sharpness and smoother gradients, receiving a very slight boost in intra-scene gamma and contrast in the process too. Every time the video stream switched from [1080p HD] to [2160 HD], it’s as if a veil had been lifted from the front of the screen, bringing objects – even faraway ones in long shots – into breathtaking clarity.

mood
Publicité
Posté le 09-04-2014 à 10:38:28  profilanswer
 

n°2224553
Lam's
Profil: bas.
Posté le 09-04-2014 à 10:41:04  profilanswer
 

ratibus a écrit :


Where the 4K version did shine was with bright, colourful scenes. On-screen images were rendered with greater sharpness and smoother gradients, receiving a very slight boost in intra-scene gamma and contrast in the process too. Every time the video stream switched from [1080p HD] to [2160 HD], it’s as if a veil had been lifted from the front of the screen, bringing objects – even faraway ones in long shots – into breathtaking clarity.[/quote]


A noter que moi ça me fait ça rien que quand je passe de VLC à Mplayer+ffmpeg (avec ou sans filtres, mais c'est encore plus flagrant avec un petit termporal gradient+postprocessing). Ma télé donne d'ailleurs aussi un post-processing (et unblocking) de super bonne qualité.  

n°2224555
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 09-04-2014 à 10:46:50  profilanswer
 

ratibus a écrit :


Enfin faut surtout lire les infos à la source http://www.dslreports.com/news/128454

Citation :

You can’t cheat the physics of compression, especially given Netflix’s 4K streaming bitrate of 15.6 Mbps which is lower than that of well-transferred Blu-rays, albeit using the more efficient HEVC/h.265 codec. The opening shot of Frank Underwood (Kevin Spacey) and his wife (Robin Wright) running in a park at night is a testing sequence with lots of gradients and camera noise, and we saw minor posterization during the fade in, and around the street lamps. To our eyes, the [2160 HD] layer did not look visibly more detailed than the [1080 HD] one in this fairly dark scene.
 
Where the 4K version did shine was with bright, colourful scenes. On-screen images were rendered with greater sharpness and smoother gradients, receiving a very slight boost in intra-scene gamma and contrast in the process too. Every time the video stream switched from [1080p HD] to [2160 HD], it’s as if a veil had been lifted from the front of the screen, bringing objects – even faraway ones in long shots – into breathtaking clarity.



Citation :

with bright, colourful scenes


A mettre en contraste avec la scène d'intro dont ils parlent avant. En gros, si les contours sont bien délimités, y a pas de souci mais dès qu'il y a des nuances c'est la merde. Comme toujours dans les vidéos très compressées.
Le point le plus marquant est quand même le débit dégueulasse, c'est du foutage de gueule ; quitte à proposer de l'image ultra haute def, faut balancer sur un débit qui poutre. On sait bien que la VOD 4K sera pas réaliste pour l'ADSL, mais bon, ça fait style d'annoncer qu'on envoie de la 4K dans les tuyaux [:dawao]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2224557
ratibus
Posté le 09-04-2014 à 11:00:36  profilanswer
 

Taiche a écrit :


Citation :

with bright, colourful scenes


A mettre en contraste avec la scène d'intro dont ils parlent avant. En gros, si les contours sont bien délimités, y a pas de souci mais dès qu'il y a des nuances c'est la merde. Comme toujours dans les vidéos très compressées.
Le point le plus marquant est quand même le débit dégueulasse, c'est du foutage de gueule ; quitte à proposer de l'image ultra haute def, faut balancer sur un débit qui poutre. On sait bien que la VOD 4K sera pas réaliste pour l'ADSL, mais bon, ça fait style d'annoncer qu'on envoie de la 4K dans les tuyaux [:dawao]


Non mais il y a un gain par rapport à la VOD existante.

n°2224561
masklinn
í dag viðrar vel til loftárása
Posté le 09-04-2014 à 11:15:48  profilanswer
 

http://article.gmane.org/gmane.os.openbsd.misc/211963

Citation :

> No. OpenSSL has exploit mitigation countermeasures to make sure it's
> exploitable.

 

What Ted is saying may sound like a joke… So years ago we added exploit mitigations counter measures to libc malloc and mmap, so that a variety of bugs can be exposed.  Such memory accesses will cause an immediate crash, or even a core dump, then the bug can be analyed, and fixed forever.

 

[…]

 

Around that time OpenSSL adds a wrapper around malloc & free so that the library will cache memory on it's own, and not free it to the protective malloc. […] because SOME platforms have slow performance, it means even if you build protective technology into malloc() and free(), it will be ineffective.  On ALL PLATFORMS, because that option is the default, and Ted's tests show you can't turn it off because they haven't tested without it in ages.


[:rofl]

Message cité 2 fois
Message édité par masklinn le 09-04-2014 à 11:16:59

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2224565
lorill
Posté le 09-04-2014 à 11:22:23  profilanswer
 

t'as oublié la dernière ligne.

n°2224567
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 09-04-2014 à 11:26:22  profilanswer
 

ratibus a écrit :

Non mais il y a un gain par rapport à la VOD existante.


Oui alors OK, si on a 15 Mbps en descente et si on a Netflix :D Pour rappel, la plupart des décodeurs TV de box en France chope des flux en 6 à 12 Mbps (pour les chaînes HD) et y a des freezes ou artefacts réguliers chez pas mal de monde...
 
Faut pas se leurrer sur la 4K, le matos est hors de prix, le contenu existe pas (sauf en info pure, genre dev ou jeux et encore), le support physique n'existe pas et pour le dématérialisé, la plupart des gens n'ont pas assez de débit pour en profiter (nraynaud avec ses 16 Mbps il est "faster than 63% of FR" ). Mon point c'était surtout de montrer que c'était pas réaliste en 2014 de vouloir faire de la VOD 4K ; de la VOD en 15 Mbps pourquoi pas, mais ça filtre déjà la moitié des Français. Alors de la 4K en 15 Mbps... ça fait vraiment "on essaie de rentrer la 4K au chausse-pied [:gofer_]"


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2224569
___alt
Posté le 09-04-2014 à 11:26:45  profilanswer
 

masklinn a écrit :

http://article.gmane.org/gmane.os.openbsd.misc/211963

Citation :

> No. OpenSSL has exploit mitigation countermeasures to make sure it's
> exploitable.
 
What Ted is saying may sound like a joke… So years ago we added exploit mitigations counter measures to libc malloc and mmap, so that a variety of bugs can be exposed.  Such memory accesses will cause an immediate crash, or even a core dump, then the bug can be analyed, and fixed forever.
 
[…]
 
Around that time OpenSSL adds a wrapper around malloc & free so that the library will cache memory on it's own, and not free it to the protective malloc. […] because SOME platforms have slow performance, it means even if you build protective technology into malloc() and free(), it will be ineffective.  On ALL PLATFORMS, because that option is the default, and Ted's tests show you can't turn it off because they haven't tested without it in ages.


[:rofl]


 
OpenFacepalm


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2224570
___alt
Posté le 09-04-2014 à 11:27:35  profilanswer
 

Taiche a écrit :


Oui alors OK, si on a 15 Mbps en descente et si on a Netflix :D Pour rappel, la plupart des décodeurs TV de box en France chope des flux en 6 à 12 Mbps (pour les chaînes HD) et y a des freezes ou artefacts réguliers chez pas mal de monde...
 
Faut pas se leurrer sur la 4K, le matos est hors de prix, le contenu existe pas (sauf en info pure, genre dev ou jeux et encore), le support physique n'existe pas et pour le dématérialisé, la plupart des gens n'ont pas assez de débit pour en profiter (nraynaud avec ses 16 Mbps il est "faster than 63% of FR" ). Mon point c'était surtout de montrer que c'était pas réaliste en 2014 de vouloir faire de la VOD 4K ; de la VOD en 15 Mbps pourquoi pas, mais ça filtre déjà la moitié des Français. Alors de la 4K en 15 Mbps... ça fait vraiment "on essaie de rentrer la 4K au chausse-pied [:gofer_]"


 
Vu que le dernier argument marketing miracle, la 3D, s'est lamentablement vautré, faut bien trouver un truc rapidement en attendant la coupe du monde de foot [:bien]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2224572
Lam's
Profil: bas.
Posté le 09-04-2014 à 11:34:25  profilanswer
 

masklinn a écrit :

http://article.gmane.org/gmane.os.openbsd.misc/211963

Citation :

> No. OpenSSL has exploit mitigation countermeasures to make sure it's
> exploitable.
 
What Ted is saying may sound like a joke… So years ago we added exploit mitigations counter measures to libc malloc and mmap, so that a variety of bugs can be exposed.  Such memory accesses will cause an immediate crash, or even a core dump, then the bug can be analyed, and fixed forever.
 
[…]
 
Around that time OpenSSL adds a wrapper around malloc & free so that the library will cache memory on it's own, and not free it to the protective malloc. […] because SOME platforms have slow performance, it means even if you build protective technology into malloc() and free(), it will be ineffective.  On ALL PLATFORMS, because that option is the default, and Ted's tests show you can't turn it off because they haven't tested without it in ages.


[:rofl]


C'est plutôt surprenant, vu que sur pas mal d'OS t'as tout ce qu'il faut pour faire des validations mémoire à coup de mmap/munmap plutôt que de juste jouer avec sbrk (c'est le principe antique de Electric-Fence d'ailleurs si je ne dis pas de bêtises).  
 
Quand aux mauvaises performances, c'est surprenant aussi vu que de nos jours, c'est plutôt au niveau des lib standard ou des OS qu'on préfère décider des paramètres de performance de l'allocateur (perfomance single-threadée vs multi-threadée, fragmentation vs pooling, allocation à des adresses à la con vs stabilité des pointeurs en 32/64 bits, etc.). Le "some platform" en question, c'est VMS ? Parce qu'à ma connaissance, même AIX sait faire des trucs moustachus sur ses segments mémoire.

Message cité 3 fois
Message édité par Lam's le 09-04-2014 à 11:34:49
mood
Publicité
Posté le 09-04-2014 à 11:34:25  profilanswer
 

n°2224574
sligor
Posté le 09-04-2014 à 11:52:19  profilanswer
 

je bosse avec des clients qui utilisent la notation hongroise, j'ai envie de me pendre [:sadnoir]

n°2224575
drasche
Posté le 09-04-2014 à 11:54:23  profilanswer
 

Tiens c'est la fête des poneys sur Reddit aujourd'hui? [:pingouino]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°2224579
masklinn
í dag viðrar vel til loftárása
Posté le 09-04-2014 à 12:31:29  profilanswer
 

Lam's a écrit :


C'est plutôt surprenant, vu que sur pas mal d'OS t'as tout ce qu'il faut pour faire des validations mémoire à coup de mmap/munmap plutôt que de juste jouer avec sbrk (c'est le principe antique de Electric-Fence d'ailleurs si je ne dis pas de bêtises).  
 
Quand aux mauvaises performances, c'est surprenant aussi vu que de nos jours, c'est plutôt au niveau des lib standard ou des OS qu'on préfère décider des paramètres de performance de l'allocateur (perfomance single-threadée vs multi-threadée, fragmentation vs pooling, allocation à des adresses à la con vs stabilité des pointeurs en 32/64 bits, etc.). Le "some platform" en question, c'est VMS ? Parce qu'à ma connaissance, même AIX sait faire des trucs moustachus sur ses segments mémoire.


Chais pas mais c'est pas vieux, ça a été ajouté en 2008: https://github.com/openssl/openssl/ [...] 523874e6e8


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2224587
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 13:23:03  profilanswer
 

Lam's a écrit :

Quand aux mauvaises performances, c'est surprenant aussi vu que de nos jours, c'est plutôt au niveau des lib standard ou des OS qu'on préfère décider des paramètres de performance de l'allocateur (perfomance single-threadée vs multi-threadée, fragmentation vs pooling, allocation à des adresses à la con vs stabilité des pointeurs en 32/64 bits, etc.). Le "some platform" en question, c'est VMS ? Parce qu'à ma connaissance, même AIX sait faire des trucs moustachus sur ses segments mémoire.


Les consoles à tout hasard [:cerveau sadnoir]

 

Edit : (c'est probablement pas des consoles qu'ils se soucient, mais niveau allocation coûteuses, elles sont pas mal placées)

Message cité 1 fois
Message édité par theShockWave le 09-04-2014 à 13:39:08

---------------
last.fm
n°2224591
masklinn
í dag viðrar vel til loftárása
Posté le 09-04-2014 à 13:40:52  profilanswer
 

theShockWave a écrit :


Les consoles à tout hasard [:cerveau sadnoir]

 

Edit : (c'est probablement pas des consoles qu'ils se soucient, mais niveau allocation coûteuses, elles sont pas mal placées)


Les consoles last-gen en x86-64 avec mémoire unifiée et DDR5?

Message cité 2 fois
Message édité par masklinn le 09-04-2014 à 13:41:02

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2224592
nraynaud
lol
Posté le 09-04-2014 à 13:55:51  profilanswer
 

masklinn a écrit :


Les consoles last-gen en x86-64 avec mémoire unifiée et DDR5?


c'est un problème algorithmique plus que de vitesse non ?

 

edit: je pense que j'ai tord, mais c'est plutôt qu'ils vont comparer le malloc de la plateforme avec le reste des opérations mémoire ou d'autres implémentation et toujours vouloir une piscine plus longue et un 4x4 plus grand que les Jones.

Message cité 1 fois
Message édité par nraynaud le 09-04-2014 à 14:00:08

---------------
trainoo.com, c'est fini
n°2224593
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 13:58:23  profilanswer
 

masklinn a écrit :


Les consoles last-gen en x86-64 avec mémoire unifiée et DDR5?


 
C'étaient pas celles qui étaient là en 2008, j'ai souvenir que l'allocateur par défaut sur PS3 était vraiment insuffisant, je serais pas surpris que ce soit encore le cas sur PS4 (vu que tu parles de DDR5).
Sur xbox one, c'est probablement moins un souci.


---------------
last.fm
n°2224594
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 13:58:39  profilanswer
 

nraynaud a écrit :


c'est un problème algorithmique plus que de vitesse non ?


exactement


---------------
last.fm
n°2224600
masklinn
í dag viðrar vel til loftárása
Posté le 09-04-2014 à 14:10:35  profilanswer
 

theShockWave a écrit :

C'étaient pas celles qui étaient là en 2008, j'ai souvenir que l'allocateur par défaut sur PS3 était vraiment insuffisant, je serais pas surpris que ce soit encore le cas sur PS4 (vu que tu parles de DDR5).


S'moins "les consoles modernes" que "la console à l'archi la plus merdique des 3-4 dernières générations (sinon plus)" :D


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2224601
nraynaud
lol
Posté le 09-04-2014 à 14:21:49  profilanswer
 

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?
 
C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.


---------------
trainoo.com, c'est fini
n°2224602
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 14:26:57  profilanswer
 

masklinn a écrit :


S'moins "les consoles modernes" que "la console à l'archi la plus merdique des 3-4 dernières générations (sinon plus)" :D


 
Archi merdique ou pas, t'es pas obligé de faire un allocateur ultra générique qui traite une alloc de 4 octets de la même manière qu'une alloc de 200ko.


---------------
last.fm
n°2224603
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 14:28:00  profilanswer
 

nraynaud a écrit :

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?
 
C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.


J'ai aussi tendance à faire ce genre de découpage, donc je valide  [:petrus75]


---------------
last.fm
n°2224604
Volkhen
Posté le 09-04-2014 à 14:30:06  profilanswer
 

nraynaud a écrit :

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?
 
C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.


Théoriquement le code est plus souvent lu qu'écrit. Dans ce genre de cas, se contenter de if-then-else prend peut être plus de place mais demande moins de réflexion au moment du debug.


---------------
Main/Alt1/Alt2/Alt3
n°2224605
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 09-04-2014 à 14:35:13  profilanswer
 

nraynaud a écrit :

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?
 
C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.


+1

n°2224607
nraynaud
lol
Posté le 09-04-2014 à 14:37:17  profilanswer
 

mais le line-count ? c'est comme l'uptime chez un linuxien :(


---------------
trainoo.com, c'est fini
n°2224608
beel1
Posté le 09-04-2014 à 14:37:22  profilanswer
 

+1 pour le if/else
j'utilise jamais l'opérateur ternaire (même si MISRA l'autorise :o ), mais si jamais je devais le faire ça serait pas pour un truc aussi long de toute façon

n°2224609
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 09-04-2014 à 14:37:24  profilanswer
 

Volkhen a écrit :


Théoriquement le code est plus souvent lu qu'écrit. Dans ce genre de cas, se contenter de if-then-else prend peut être plus de place mais demande moins de réflexion au moment du debug.


Je ne trouve pas, l'opérateur ternaire permet d'indiquer clairement que le test ne sert qu'à assigner une valeur ou une autre à une variable donnée. Le if-then-else demande de lire ce qu'il y a dans la structure.

Message cité 1 fois
Message édité par hephaestos le 09-04-2014 à 14:37:49
n°2224610
sligor
Posté le 09-04-2014 à 14:42:55  profilanswer
 

nraynaud a écrit :

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?
 
C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.


 
var visibility = !this.get('hideWhenOutOfView') || (bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel'))
       
c'est pas équivalent ?
 
par contre quand l'expression est complexe ça vaut le coup d'exploser en sous variables

Message cité 1 fois
Message édité par sligor le 09-04-2014 à 14:44:06
n°2224612
___alt
Posté le 09-04-2014 à 14:46:19  profilanswer
 

nraynaud a écrit :

Citation :


            var visibility = this.get('hideWhenOutOfView')
                ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
                : true;


vous pensez quoi de l'indentation volontairement brutale pour marquer que j'ai coupé au milieu d'une expression ?

 

C'est moche, mais je me dit que c'est complètement explicite, le niveau d'indentation + le premier caractère de la ligne permettent de savoir qu'on est dans une expression sans avoir besoin de lire le détail.

 

Déjà utiliser une ternaire pour une expression booléenne je trouve ça un peu curieux.
Grosso modo ici tu manipules 3 booléens :
-> le paramètre hideWhenOutOfView
-> le fait que l'objet soit dans le viewport ou non
-> le fait que l'objet soit affiché à ce niveau de zoom

 

Mais derrière ce booléen, t'as un concept important, celui d'être "out of view".
Du coup j'aurais probablement eu un truc genre

 
Code :
  1. function isOutOfView(viewBox, zoomLevel) {
  2.     return zoomLevel >= this.get('minVisibleZoomLevel') && bboxIntersect(viewBox, this.get('bbox'));
  3. }
 

et pour la compréhension un truc du style :

 
Code :
  1. var hidden = this.get('hideWhenOutOfView') && this.isOutOfView(viewBox, zoomLevel);
 

edit: inversé l'ordre dans isOutOfView pour éviter des appels à bboxIntersect() après la remarque de nraynaux


Message édité par ___alt le 09-04-2014 à 14:49:53

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2224613
nraynaud
lol
Posté le 09-04-2014 à 14:48:28  profilanswer
 

sligor a écrit :


 
var visibility = !this.get('hideWhenOutOfView') || (bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel'))
       
c'est pas équivalent ?
 
par contre quand l'expression est complexe ça vaut le coup d'exploser en sous variables


oui, pas mal.
 
Parr contre attention, bboxIntersect() est relativement lent, donc il peut pas être spéculativement calculé.


---------------
trainoo.com, c'est fini
n°2224614
Volkhen
Posté le 09-04-2014 à 14:48:51  profilanswer
 

hephaestos a écrit :


Je ne trouve pas, l'opérateur ternaire permet d'indiquer clairement que le test ne sert qu'à assigner une valeur ou une autre à une variable donnée. Le if-then-else demande de lire ce qu'il y a dans la structure.


 
Et ça cache qu'on peut faire :

Code :
  1. var visibility = !this.get('hideWhenOutOfView') || bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')


à la place de ça :

Code :
  1. var visibility = this.get('hideWhenOutOfView')
  2.                 ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
  3.                 : true;


---------------
Main/Alt1/Alt2/Alt3
n°2224615
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 09-04-2014 à 14:52:07  profilanswer
 

Perso, entre l'opérateur ternaire et l'expression logique, les 2 faisant 3 km, je préfère l'opérateur ternaire [:petrus75]
Le !(machin.IsBidule()) || youpi <= 15 && roger > testDeLaMort(13), c'est se coller des emmerdes tout seul.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2224616
sligor
Posté le 09-04-2014 à 14:53:24  profilanswer
 

beel1 a écrit :

+1 pour le if/else
j'utilise jamais l'opérateur ternaire (même si MISRA l'autorise :o ), mais si jamais je devais le faire ça serait pas pour un truc aussi long de toute façon


j'utilise pas mal le ternaire, mais c'est un déformation professionnelle, je fais de l'électronique numérique à la base et le ternaire c'est un "multiplexeur".
 
d'ailleurs quand tu mets des constantes true/false dans une opération ternaire ou quand tu colles un '1' ou un '0' sur un multiplexeur c'est simplifiable en 'or' ou en 'and'
 
 
res = cond ? a : true   c'est pareil que:   res = !cond || a ;
res = cond ? a : false  c'est pareil que:   res = cond && a ;
res = cond ? true : a   c'est pareil que:   res = cond || a ;
res = cond ? false : a  c'est pareil que:   res = !cond && a ;
 
si je ne me plante pas  :o

n°2224617
Volkhen
Posté le 09-04-2014 à 14:53:48  profilanswer
 

Taiche a écrit :

Perso, entre l'opérateur ternaire et l'expression logique, les 2 faisant 3 km, je préfère l'opérateur ternaire [:petrus75]
Le !(machin.IsBidule()) || youpi <= 15 && roger > testDeLaMort(13), c'est se coller des emmerdes tout seul.


C'est clair que le plus propre c'est de mettre ça dans une fonction bien nommée qui permettra de facilement changer les conditions plus tard si besoin.


---------------
Main/Alt1/Alt2/Alt3
n°2224618
sligor
Posté le 09-04-2014 à 14:54:28  profilanswer
 

Taiche a écrit :

Perso, entre l'opérateur ternaire et l'expression logique, les 2 faisant 3 km, je préfère l'opérateur ternaire [:petrus75]
Le !(machin.IsBidule()) || youpi <= 15 && roger > testDeLaMort(13), c'est se coller des emmerdes tout seul.


oui c'est ce que j'ai dis, il vaut mieux découper en sous expressions comprehensibles

n°2224619
nraynaud
lol
Posté le 09-04-2014 à 14:55:04  profilanswer
 

tiens, effectivement puisque vous répondez out-of the box, ça peut être intéressant,  voici la méthode complète :  

Code :
  1. refreshVisibility: function (viewBox, zoomLevel) {
  2.            var lodIndex = this.computeLodIndex(zoomLevel);
  3.            var visibility = this.get('hideWhenOutOfView')
  4.                || bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel');
  5.            if (this.get('currentLodIndex') === lodIndex && this.get('currentVisibility') === visibility)
  6.                return;
  7.            this.set('currentLodIndex', lodIndex);
  8.            this.set('currentVisibility', visibility);
  9.            this.installLodRepresentation(visibility ? lodIndex : NaN);
  10.        }


(d'ailleurs si vous avez faire mieux avec ember, notamment si y'a un truc pour virer les gardes currentMachin, je suis preneur)


---------------
trainoo.com, c'est fini
n°2224622
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 09-04-2014 à 14:59:31  profilanswer
 

Volkhen a écrit :


 
Et ça cache qu'on peut faire :

Code :
  1. var visibility = !this.get('hideWhenOutOfView') || bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')


à la place de ça :

Code :
  1. var visibility = this.get('hideWhenOutOfView')
  2.                 ? bboxIntersect(viewBox, this.get('bbox')) && zoomLevel >= this.get('minVisibleZoomLevel')
  3.                 : true;



Je trouve le second carrément plus clair.

n°2224623
nraynaud
lol
Posté le 09-04-2014 à 15:09:33  profilanswer
 

j'aime bien l'idée de alt d'utiliser hidden, mais ça fait trop de logique inversée à mon goût. Et pour séparer une fonction, il faut qu'elle porte son poids (ou être appelée plusieurs fois) là je pense qu'elle est trop légère.


---------------
trainoo.com, c'est fini
n°2224624
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 15:09:38  profilanswer
 

de ce côté là, la solution d'alt est la plus sympa


---------------
last.fm
n°2224625
theShockWa​ve
I work at a firm named Koslow
Posté le 09-04-2014 à 15:11:27  profilanswer
 

nraynaud a écrit :

Et pour séparer une fonction, il faut qu'elle porte son poids (ou être appelée plusieurs fois) là je pense qu'elle est trop légère.


Je ne suis pas d'accord avec ca. Notamment ca donne effectivement un peu plus de clarté à l'intention, mais ta fonction, de toute façon, elle va être inlinée, donc ca devrait rien changer au code produit.


---------------
last.fm
n°2224626
___alt
Posté le 09-04-2014 à 15:12:04  profilanswer
 

nraynaud a écrit :

j'aime bien l'idée de alt d'utiliser hidden, mais ça fait trop de logique inversée à mon goût. Et pour séparer une fonction, il faut qu'elle porte son poids (ou être appelée plusieurs fois) là je pense qu'elle est trop légère.


 
Clairement elle est là pour rendre du code plus lisible. Si la condition n'était pas chères à évaluer, tu pourrais le faire dans une variable locale.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  21076  21077  21078  ..  27180  27181  27182  27183  27184  27185

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)