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

 

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

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  21516  21517  21518  ..  27197  27198  27199  27200  27201  27202
Auteur Sujet :

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

n°2252234
gatsu35
Blablaté par Harko
Posté le 04-03-2015 à 06:14:13  profilanswer
 

Reprise du message précédent :
Loana [:bakk11]
http://reho.st/http://img.voici.fr [...] -loana.jpg

Message cité 1 fois
Message édité par gatsu35 le 04-03-2015 à 06:14:37
mood
Publicité
Posté le 04-03-2015 à 06:14:13  profilanswer
 

n°2252235
el muchach​o
Comfortably Numb
Posté le 04-03-2015 à 07:09:48  profilanswer
 
n°2252237
Hermes le ​Messager
Breton Quiétiste
Posté le 04-03-2015 à 07:39:48  profilanswer
 


 
Moi, c'est le fou sorti de l'asile au centre qui me fait peur.  [:el frog:4]

n°2252239
gelatine_v​elue
Posté le 04-03-2015 à 09:34:04  profilanswer
 

Dite les experts j'ai une question qui demande une bonne dose d'expertise.
 
Si je veux coder naïvement une solution de calculs distribués entre plusieurs processeurs, comment je pourrais architecturer ça? Genre j'ai plein de traitements indépendants à faire et je veux les dispatcher vers les unités de calcul.
Déja je sais pas comment représenter logiciellement un calcul à faire autrement que par un pointeur de fonction, mais je sais pas si c'est adapté. Ensuite je me dis que pour des calculs simples je vais passer plus de temps dans mon programme à l'encapsuler et le router que à le faire, et du coup il me faut une manière de quantifier la complexité du calcul au runtime.
 
Je sais même pas les mots clés à chercher dans google autour de ça, toute aide est bienveue.

n°2252240
BenO
Profil: Chercheur
Posté le 04-03-2015 à 09:35:49  profilanswer
 

Tu veux pas faire du multithread ? [:cerveau whistle]  
Distribué sur plusieurs processeurs de la même machine ?


---------------
Python Python Python
n°2252242
el muchach​o
Comfortably Numb
Posté le 04-03-2015 à 10:09:34  profilanswer
 

gelatine_velue a écrit :

Dite les experts j'ai une question qui demande une bonne dose d'expertise.

 

Si je veux coder naïvement une solution de calculs distribués entre plusieurs processeurs, comment je pourrais architecturer ça? Genre j'ai plein de traitements indépendants à faire et je veux les dispatcher vers les unités de calcul.
Déja je sais pas comment représenter logiciellement un calcul à faire autrement que par un pointeur de fonction, mais je sais pas si c'est adapté. Ensuite je me dis que pour des calculs simples je vais passer plus de temps dans mon programme à l'encapsuler et le router que à le faire, et du coup il me faut une manière de quantifier la complexité du calcul au runtime.

 

Je sais même pas les mots clés à chercher dans google autour de ça, toute aide est bienveue.


L'architecture est complètement dépendante du calcul lui-même et de la façon dont il peut être découpé en unités indépendantes et du flux de données circulant entre ces unités. Est-ce qu'il est facilement séparable en une chaîne de traitements distincts, comme du traitement audio ? Est-ce qu'il peut être découpé spatialement ?
Il faut chercher à découper les tâches de façon à minimiser les contentions et les échanges de données entre unités de traitement afin de réduire l'overhead.
Et comme dit BenO, une fois ce découpage effectué, le MT est l'implémentation la plus simple et la plus souple sur une seule machine.

Message cité 2 fois
Message édité par el muchacho le 04-03-2015 à 10:11:29

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2252244
Hermes le ​Messager
Breton Quiétiste
Posté le 04-03-2015 à 10:17:54  profilanswer
 

gelatine_velue a écrit :

Dite les experts j'ai une question qui demande une bonne dose d'expertise.
 
Si je veux coder naïvement une solution de calculs distribués entre plusieurs processeurs, comment je pourrais architecturer ça? Genre j'ai plein de traitements indépendants à faire et je veux les dispatcher vers les unités de calcul.
Déja je sais pas comment représenter logiciellement un calcul à faire autrement que par un pointeur de fonction, mais je sais pas si c'est adapté. Ensuite je me dis que pour des calculs simples je vais passer plus de temps dans mon programme à l'encapsuler et le router que à le faire, et du coup il me faut une manière de quantifier la complexité du calcul au runtime.
 
Je sais même pas les mots clés à chercher dans google autour de ça, toute aide est bienveue.


 
C'est pour quel type de matériel ? Un cluster ? Un super computer avec "one system image" ?
 
Si c'est un cluster, il te faut utiliser des librairies spéciales genre libmpi par exemple. Mais ca dépend du type de cluster et de ce qui est installé dessus (exemple : solution PBS).

n°2252246
Lam's
Profil: bas.
Posté le 04-03-2015 à 10:26:58  profilanswer
 

el muchacho a écrit :


L'architecture est complètement dépendante du calcul lui-même et de la façon dont il peut être découpé en unités indépendantes et du flux de données circulant entre ces unités. Est-ce qu'il est facilement séparable en une chaîne de traitements distincts, comme du traitement audio ? Est-ce qu'il peut être découpé spatialement ?  
Il faut chercher à découper les tâches de façon à minimiser les contentions et les échanges de données entre unités de traitement afin de réduire l'overhead.
Et comme dit BenO, une fois ce découpage effectué, le MT est l'implémentation la plus simple et la plus souple sur une seule machine.


OpenMP plutôt.
 
Le MT, c'est simple si tu as le bon framework autour. Genre, en première approximation et en restant idiomatique, ce qui va traîner autour de Queue en python, TPL en c#, ou std::future en C++.

n°2252248
R3g
fonctionnaire certifié ITIL
Posté le 04-03-2015 à 11:08:12  profilanswer
 

Lam's a écrit :


OpenMP plutôt.
 
Le MT, c'est simple si tu as le bon framework autour. Genre, en première approximation et en restant idiomatique, ce qui va traîner autour de Queue en python, TPL en c#, ou std::future en C++.


du multithread en python, bof quoi :/


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2252249
TotalRecal​l
Posté le 04-03-2015 à 11:21:37  profilanswer
 


C'était sensé être user friendly ? [:t c]


---------------
Topic .Net - C# @ Prog
mood
Publicité
Posté le 04-03-2015 à 11:21:37  profilanswer
 

n°2252251
TotalRecal​l
Posté le 04-03-2015 à 11:24:32  profilanswer
 

gelatine_velue a écrit :

Dite les experts j'ai une question qui demande une bonne dose d'expertise.

 

Si je veux coder naïvement une solution de calculs distribués entre plusieurs processeurs, comment je pourrais architecturer ça? Genre j'ai plein de traitements indépendants à faire et je veux les dispatcher vers les unités de calcul.
Déja je sais pas comment représenter logiciellement un calcul à faire autrement que par un pointeur de fonction, mais je sais pas si c'est adapté. Ensuite je me dis que pour des calculs simples je vais passer plus de temps dans mon programme à l'encapsuler et le router que à le faire, et du coup il me faut une manière de quantifier la complexité du calcul au runtime.

 

Je sais même pas les mots clés à chercher dans google autour de ça, toute aide est bienveue.


Comme dit précédemment, ça dépend de plein de trucs :
- l'algorithme à appliquer dépend des données et traitements (déjà si c'est seulement "possible" c'est un bon début :p),
- l'implémentation dépendra du langage et de l'infrastructure matérielle : même machine, machines distinctes en LAN, architecture scalaire type superordinateur...
- Ainsi que des protocoles de communication entre les machines, le cas échéant.
- Et donc enfin des possibilités du langage, Lam's a cité des exemples.
Donc il nous manque à peu près tout pour te répondre :D.

Message cité 2 fois
Message édité par TotalRecall le 04-03-2015 à 11:26:14

---------------
Topic .Net - C# @ Prog
n°2252254
gfive
Posté le 04-03-2015 à 12:11:03  profilanswer
 

Java8?? Streams / parallel? :o


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2252256
nraynaud
lol
Posté le 04-03-2015 à 12:19:56  profilanswer
 

https://www.youtube.com/watch?v=gHMdppJTWYI


---------------
trainoo.com, c'est fini
n°2252259
el muchach​o
Comfortably Numb
Posté le 04-03-2015 à 13:16:15  profilanswer
 

TotalRecall a écrit :


Comme dit précédemment, ça dépend de plein de trucs :
- l'algorithme à appliquer dépend des données et traitements (déjà si c'est seulement "possible" c'est un bon début :p),  
- l'implémentation dépendra du langage et de l'infrastructure matérielle : même machine, machines distinctes en LAN, architecture scalaire type superordinateur...  
- Ainsi que des protocoles de communication entre les machines, le cas échéant.  
- Et donc enfin des possibilités du langage, Lam's a cité des exemples.
Donc il nous manque à peu près tout pour te répondre :D.


Et une bonne chose à faire est d'abord d'optimiser pour une seule machine, avant de s'attaquer à un réseau.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2252260
Hermes le ​Messager
Breton Quiétiste
Posté le 04-03-2015 à 13:21:09  profilanswer
 

el muchacho a écrit :


Et une bonne chose à faire est d'abord d'optimiser pour une seule machine, avant de s'attaquer à un réseau.


 
Ben ca dépend encore une fois de ce dont on parle. S'il s'agit de programmer pour un cluster, il faut utiliser des librairies spéciales prévues pour cela.

n°2252261
el muchach​o
Comfortably Numb
Posté le 04-03-2015 à 13:24:50  profilanswer
 

Comme on ne sait pas ce qu'il veut faire... mais avec un cluster, l'overhead peut être tel qu'une seule machine peut faire mieux. Et c'est plus facile de tester et optimiser sur une seule que sur plusieurs. Une fois que t'as fait ce boulot, tu as déjà une meilleure idée de ce qui se passe et de ce qui vaut le coup de "clusteriser".
Par contre, en effet il faut garder la possibilité d'exporter certains calculs.


Message édité par el muchacho le 04-03-2015 à 13:27:29

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2252262
kadreg
profil: Utilisateur
Posté le 04-03-2015 à 13:29:51  profilanswer
 

https://pbs.twimg.com/media/B_P0Cr8W8AArRMc.jpg
 
on dawate [:dawak] ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2252263
gelatine_v​elue
Posté le 04-03-2015 à 13:31:08  profilanswer
 

BenO a écrit :

Tu veux pas faire du multithread ? [:cerveau whistle]  
Distribué sur plusieurs processeurs de la même machine ?


 
Pas forcément, mais possiblement. (je précise en bas du post)
 

el muchacho a écrit :


L'architecture est complètement dépendante du calcul lui-même et de la façon dont il peut être découpé en unités indépendantes et du flux de données circulant entre ces unités. Est-ce qu'il est facilement séparable en une chaîne de traitements distincts, comme du traitement audio ? Est-ce qu'il peut être découpé spatialement ?  
Il faut chercher à découper les tâches de façon à minimiser les contentions et les échanges de données entre unités de traitement afin de réduire l'overhead.
Et comme dit BenO, une fois ce découpage effectué, le MT est l'implémentation la plus simple et la plus souple sur une seule machine.


 
Oui, ce sont des calculs indépendants les uns des autres, et le MT va seulement me permettre de partager entre plusieurs cores d'un processeur (ou processeurs) similaires.
 

Hermes le Messager a écrit :


C'est pour quel type de matériel ? Un cluster ? Un super computer avec "one system image" ?
 
Si c'est un cluster, il te faut utiliser des librairies spéciales genre libmpi par exemple. Mais ca dépend du type de cluster et de ce qui est installé dessus (exemple : solution PBS).


 
Ce n'est pas fixé, ma réflexion est plus abstraite, je ne veux pas me lier fortement au matériel.  (je précise en bas du post)
 

TotalRecall a écrit :


Comme dit précédemment, ça dépend de plein de trucs :
- l'algorithme à appliquer dépend des données et traitements (déjà si c'est seulement "possible" c'est un bon début :p),  
- l'implémentation dépendra du langage et de l'infrastructure matérielle : même machine, machines distinctes en LAN, architecture scalaire type superordinateur...  
- Ainsi que des protocoles de communication entre les machines, le cas échéant.  
- Et donc enfin des possibilités du langage, Lam's a cité des exemples.
Donc il nous manque à peu près tout pour te répondre :D.


 
Pour ta dernière phrase, je ne pense pas. J'essaie de faire du DDD et de coder des classes qui vont contenir des calculs indépendanst les uns des autres à faire, et autour des classes qui vont dispatcher ces traitements et réaggréger les résultats. En périphérie de cette appli on aura une couche qui va s'interfacer avec un processeur, une CG, une machine distante, un lave-linge... pour exécuter ces calculs.
Du coup je ne suis pas en train de me soucier pour l'instant du matériel qui va exécuter ces traitements, mais plutôt de comment les représenter et les manipuler.

n°2252264
gelatine_v​elue
Posté le 04-03-2015 à 13:33:37  profilanswer
 

Pour l'instant comme proof of concept j'utilise openCL pour calculer sur ma CG, et un thread simple pour le processeur.


Message édité par gelatine_velue le 04-03-2015 à 13:34:23
n°2252269
Hermes le ​Messager
Breton Quiétiste
Posté le 04-03-2015 à 14:27:56  profilanswer
 

gelatine_velue a écrit :


 
Ce n'est pas fixé, ma réflexion est plus abstraite, je ne veux pas me lier fortement au matériel.  (je précise en bas du post)
 


 
Là en l'occurence un cluster par exemple peut changer complètement la manière de programmer. C'est pour cela d'ailleurs que des super computer dit "one system image" sont apparus, car programmer pour des clusters est souvent contraignant et force à changer l'architecture des programmes.
 
Je te recommande ce lien pour mieux savoir de quoi on parle : http://www.open-mpi.org/

n°2252274
gfive
Posté le 04-03-2015 à 15:54:58  profilanswer
 

:love:

 
Code :
  1. /**
  2.     /**
  3.      * Renvoi une date formattée pour correspondre au format attendu par le xsd
  4.      * @return date formatée
  5.      * @throws FileNotFoundException si le fichier XSD n'est pas trouvé
  6.      */
  7.     private String getFormattedDate() throws FileNotFoundException{
  8.  
  9.         //Récupération du fichier XSD
  10.         String xsdPath = PropertiesUtils.get("intercoV2.xsd.path" );
  11.  
  12.         final StringBuffer fichierXsd = new StringBuffer (xsdPath);
  13.         if (!fichierXsd.toString().endsWith("/" ) && !fichierXsd.toString().endsWith("\\" )) {
  14.             fichierXsd.append('/');
  15.         }
  16.         fichierXsd.append("GIPSE-EMSYS_ACK_Nominatif.xsd" );
  17.  
  18.         File xsdFile = new File(fichierXsd.toString());
  19.  
  20.         //Récupération du format de date souhaité (sous forme de pattern regex)
  21.         String pattern = "";
  22.         BufferedReader bReader = null;
  23.  
  24.         try{
  25.  
  26.             //Initialisation des buffer
  27.             final InputStream ips = new FileInputStream(xsdFile);
  28.             final InputStreamReader ipsr = new InputStreamReader(ips);
  29.             bReader = new BufferedReader(ipsr);
  30.  
  31.             String ligne;
  32.  
  33.             //Extraction du pattern de date contenu dans le xsd
  34.             while( (ligne = bReader.readLine()) != null ){
  35.  
  36.                 if(ligne.contains("<xs:pattern" )){
  37.  
  38.                     pattern = ligne.substring( (ligne.indexOf("\"" ) + 1), ligne.lastIndexOf("\"" ));
  39.                     break;
  40.  
  41.                 }
  42.  
  43.             }
  44.  
  45.         } catch(IOException ioe){
  46.             throw new FileNotFoundException(ioe.getMessage());
  47.         } finally {
  48.  
  49.             try{
  50.                 if(bReader != null){
  51.                     bReader.close();
  52.                 }
  53.             } catch (IOException ioe){
  54.                 LOG.error("Erreur en fermeture du flux sur : " + bReader.toString());
  55.             }
  56.         }
  57.  
  58.         //Calcul de la date formatée à retourner
  59.         DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss" );
  60.         String formattedDate = dateFormat.format(new Date());
  61.  
  62.         if(formattedDate.matches(pattern)){
  63.             return formattedDate;
  64.         } else {
  65.             dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
  66.             return dateFormat.format(new Date());
  67.         }
  68.  
  69.     }
 

Ce truc.. Mais ce truc.;

Message cité 5 fois
Message édité par gfive le 04-03-2015 à 15:55:07

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2252276
nraynaud
lol
Posté le 04-03-2015 à 16:06:17  profilanswer
 

http://www.itworld.com/article/289 [...] ality.html
je pense que c'est lié.


---------------
trainoo.com, c'est fini
n°2252277
gelatine_v​elue
Posté le 04-03-2015 à 16:07:41  profilanswer
 

gfive a écrit :

:love:
 

Code :
  1. /**
  2.     /**
  3.      * Renvoi une date formattée pour correspondre au format attendu par le xsd
  4.      * @return date formatée
  5.      * @throws FileNotFoundException si le fichier XSD n'est pas trouvé
  6.      */
  7.     private String getFormattedDate() throws FileNotFoundException{
  8. ...
  9.  
  10.     }


 
Ce truc.. Mais ce truc.;


 
Magnifique  [:julian33:4]  

n°2252278
masklinn
í dag viðrar vel til loftárása
Posté le 04-03-2015 à 16:09:16  profilanswer
 

gfive a écrit :

:love:
 

Code :
  1. /**
  2.     /**
  3.      * Renvoi une date formattée pour correspondre au format attendu par le xsd
  4.      * @return date formatée
  5.      * @throws FileNotFoundException si le fichier XSD n'est pas trouvé
  6.      */
  7.     private String getFormattedDate() throws FileNotFoundException{
  8.  
  9.         //Récupération du fichier XSD
  10.         String xsdPath = PropertiesUtils.get("intercoV2.xsd.path" );
  11.  
  12.         final StringBuffer fichierXsd = new StringBuffer (xsdPath);
  13.         if (!fichierXsd.toString().endsWith("/" ) && !fichierXsd.toString().endsWith("\\" )) {
  14.             fichierXsd.append('/');
  15.         }
  16.         fichierXsd.append("GIPSE-EMSYS_ACK_Nominatif.xsd" );
  17.  
  18.         File xsdFile = new File(fichierXsd.toString());
  19.  
  20.         //Récupération du format de date souhaité (sous forme de pattern regex)
  21.         String pattern = "";
  22.         BufferedReader bReader = null;
  23.  
  24.         try{
  25.  
  26.             //Initialisation des buffer
  27.             final InputStream ips = new FileInputStream(xsdFile);
  28.             final InputStreamReader ipsr = new InputStreamReader(ips);
  29.             bReader = new BufferedReader(ipsr);
  30.  
  31.             String ligne;
  32.  
  33.             //Extraction du pattern de date contenu dans le xsd
  34.             while( (ligne = bReader.readLine()) != null ){
  35.  
  36.                 if(ligne.contains("<xs:pattern" )){
  37.  
  38.                     pattern = ligne.substring( (ligne.indexOf("\"" ) + 1), ligne.lastIndexOf("\"" ));
  39.                     break;
  40.  
  41.                 }
  42.  
  43.             }
  44.  
  45.         } catch(IOException ioe){
  46.             throw new FileNotFoundException(ioe.getMessage());
  47.         } finally {
  48.  
  49.             try{
  50.                 if(bReader != null){
  51.                     bReader.close();
  52.                 }
  53.             } catch (IOException ioe){
  54.                 LOG.error("Erreur en fermeture du flux sur : " + bReader.toString());
  55.             }
  56.         }
  57.  
  58.         //Calcul de la date formatée à retourner
  59.         DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss" );
  60.         String formattedDate = dateFormat.format(new Date());
  61.  
  62.         if(formattedDate.matches(pattern)){
  63.             return formattedDate;
  64.         } else {
  65.             dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
  66.             return dateFormat.format(new Date());
  67.         }
  68.  
  69.     }


 
Ce truc.. Mais ce truc.;


 [:ssempt]


---------------
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°2252280
ixemul
Nan mais sans blague ! ⚡
Posté le 04-03-2015 à 16:15:34  profilanswer
 

[:canartichaut:3]


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2252282
Elmoricq
Posté le 04-03-2015 à 16:18:32  profilanswer
 

gfive a écrit :

:love:
 

Code :
  1. /**
  2.     /**
  3.      * Renvoi une date formattée pour correspondre au format attendu par le xsd
  4.      * @return date formatée
  5.      * @throws FileNotFoundException si le fichier XSD n'est pas trouvé
  6.      */
  7.     private String getFormattedDate() throws FileNotFoundException{


 
Ce truc.. Mais ce truc.;


 
 [:fegafobobos:2]

n°2252284
R3g
fonctionnaire certifié ITIL
Posté le 04-03-2015 à 16:25:35  profilanswer
 

kadreg a écrit :

https://pbs.twimg.com/media/B_P0Cr8W8AArRMc.jpg
 
on dawate [:dawak] ?


Il a pas un peu grossi Serge Lama ?


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2252285
stiffler
Lâche mon profil putain ! :o
Posté le 04-03-2015 à 16:25:38  profilanswer
 

nraynaud > Tu bosses actuellement ?
Tu es mobile dans des zones sinistrées ?


---------------
I'm failing as fast as I can !! -- Vision-360, vos photos en grand format -- !! -- Les nouilles c'est bon
n°2252286
nraynaud
lol
Posté le 04-03-2015 à 16:30:45  profilanswer
 

stiffler a écrit :

nraynaud > Tu bosses actuellement ?
Tu es mobile dans des zones sinistrées ?


 :heink: Vélizy ?


---------------
trainoo.com, c'est fini
n°2252287
nraynaud
lol
Posté le 04-03-2015 à 16:31:19  profilanswer
 

fait péter ton pitch (en MP?)


---------------
trainoo.com, c'est fini
n°2252288
kadreg
profil: Utilisateur
Posté le 04-03-2015 à 16:32:53  profilanswer
 

nraynaud a écrit :


 :heink: Vélizy ?


 
hey, ho, c'est pas sinistrté :o
 
bon, ok, il y avait pas de courant ce matin là bas, mai quadn même :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2252289
Jubijub
Parce que je le VD bien
Posté le 04-03-2015 à 16:36:21  profilanswer
 

Code :
  1. //Récupération du fichier XSD
  2.        String xsdPath = PropertiesUtils.get("intercoV2.xsd.path" );
  3.  
  4.        final StringBuffer fichierXsd = new StringBuffer (xsdPath);
  5.        if (!fichierXsd.toString().endsWith("/" ) && !fichierXsd.toString().endsWith("\\" )) {
  6.            fichierXsd.append('/');
  7.        }
  8.        fichierXsd.append("GIPSE-EMSYS_ACK_Nominatif.xsd" );
  9.  
  10.        File xsdFile = new File(fichierXsd.toString());


j'aime bien l'imbroglio de merde pour retrouver le fichier aussi


---------------
Jubi Photos : Flickr - 500px
n°2252291
nraynaud
lol
Posté le 04-03-2015 à 16:48:14  profilanswer
 

y'a un détail que j'ai toujours trouvé formidable en java, c'est l'exception dans le close(). Parce que si le close() échoue, t'es pas dans la merde, en théorie, le stream est encore ouvert (ce que j'ai beaucoup de mal à croire), et à part fermer un truc qui est dans un état douteux, je sais pas quoi faire d'autre.
J'ai la flemme de vérifier, mais je serai pas étonné que le close() d'une socket TCP qui se serait préalablement barrée en couille échoue, et à part jeter ses resources côté programme, je sais pas ce qu'on peut faire de mieux. Que tu reçoives le ack du close ou pas, ça change pas ta life quand t'essayais de la fermer. T'étais déjà sympa avec l'autre bout de le prévenir que tu veux arrêter.


---------------
trainoo.com, c'est fini
n°2252292
gelatine_v​elue
Posté le 04-03-2015 à 16:50:10  profilanswer
 

Avec les autocloseable maintenant c'est caché sous le tapis ce problème, mais je plussoie sur le fond.

n°2252293
nraynaud
lol
Posté le 04-03-2015 à 16:50:40  profilanswer
 

ou alors les sockets TCP c'est comme les nanas: on met un minimum de formes quand on les largue, parce qu'elle ont des copines bien gaulées et qu'elles pourraient ne plus prendre tes appels non plus ?


---------------
trainoo.com, c'est fini
n°2252294
nraynaud
lol
Posté le 04-03-2015 à 16:51:57  profilanswer
 

M'enfin, même si elle te fout une baffe dans la gueule quand tu la largues, je vois pas ce que tu peux faire d'autre que continuer à plus être avec.


---------------
trainoo.com, c'est fini
n°2252297
el muchach​o
Comfortably Numb
Posté le 04-03-2015 à 17:08:54  profilanswer
 

gelatine_velue a écrit :


 
Magnifique  [:julian33:4]  


C'est presque mignon tant d'innocence.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2252298
masklinn
í dag viðrar vel til loftárása
Posté le 04-03-2015 à 17:14:18  profilanswer
 

Jubijub a écrit :

Code :
  1. //Récupération du fichier XSD
  2.        String xsdPath = PropertiesUtils.get("intercoV2.xsd.path" );
  3.  
  4.        final StringBuffer fichierXsd = new StringBuffer (xsdPath);
  5.        if (!fichierXsd.toString().endsWith("/" ) && !fichierXsd.toString().endsWith("\\" )) {
  6.            fichierXsd.append('/');
  7.        }
  8.        fichierXsd.append("GIPSE-EMSYS_ACK_Nominatif.xsd" );
  9.  
  10.        File xsdFile = new File(fichierXsd.toString());


j'aime bien l'imbroglio de merde pour retrouver le fichier aussi


Ça m'a l'air d'être du code pas complètement anormal pour du java pre 1.7 sans Filesystem. Fondamentalement c'est juste un truc genre

Code :
  1. os.path.join(PropertiesUtils.get('intercoV2.xsd.path'), 'GIPSE-EMSYS_ACK_Nominatif.xsd')


sauf qu'il y a pas d'API pour, donc faut voir si le path de base a un terminateur (qui peut être \\ sous Windows) et faire le join à la main si non.


---------------
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°2252299
fiscalisat​or
tu dois rompre
Posté le 04-03-2015 à 17:16:08  profilanswer
 

gfive a écrit :

:love:
 

Code :
  1. /**
  2.     /**
  3.      * Renvoi une date formattée pour correspondre au format attendu par le xsd
  4.      * @return date formatée
  5.      * @throws FileNotFoundException si le fichier XSD n'est pas trouvé
  6.      */
  7.     private String getFormattedDate() throws FileNotFoundException{




 
 [:xenobrandt:3]  

n°2252300
gelatine_v​elue
Posté le 04-03-2015 à 17:54:25  profilanswer
 

masklinn a écrit :


Ça m'a l'air d'être du code pas complètement anormal pour du java pre 1.7 sans Filesystem. Fondamentalement c'est juste un truc genre

Code :
  1. os.path.join(PropertiesUtils.get('intercoV2.xsd.path'), 'GIPSE-EMSYS_ACK_Nominatif.xsd')


sauf qu'il y a pas d'API pour, donc faut voir si le path de base a un terminateur (qui peut être \\ sous Windows) et faire le join à la main si non.


 
Sauf que tu as File.separator pour eviter de manipuler les slashs, et instancier un StringBuffer pour faire deux concaténations c'est pire que laisser en string, vu que chaque appel à toString() recrée un string.

n°2252301
TotalRecal​l
Posté le 04-03-2015 à 18:03:16  profilanswer
 

gfive a écrit :

...
Ce truc.. Mais ce truc.;


Dire que je trouve que je bosse sur un truc mal codé et lent, avec une architecture dégueulasse... Ben là d'un coup je me sens presque privilégié [:mlc]


Message édité par TotalRecall le 04-03-2015 à 18:04:54

---------------
Topic .Net - C# @ Prog
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  21516  21517  21518  ..  27197  27198  27199  27200  27201  27202

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)