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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  1426  1427  1428  ..  1449  1450  1451  1452  1453  1454
Auteur Sujet :

blabla@web

n°2340021
gelatine_v​elue
Posté le 10-10-2019 à 11:49:43  profilanswer
 

Reprise du message précédent :
Nope, c'était plus barebones, avec juste une textbox à droite pour soumettre la réponse si je me rappelle bien.

mood
Publicité
Posté le 10-10-2019 à 11:49:43  profilanswer
 

n°2340097
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 11-10-2019 à 15:23:02  profilanswer
 

Il y a ça qui s'en rapproche : https://returntrue.win/


---------------
:o
n°2340126
gelatine_v​elue
Posté le 11-10-2019 à 21:39:03  profilanswer
 

Ydalb a écrit :

Il y a ça qui s'en rapproche : https://returntrue.win/


 
C'est ca!  :love:  
Merci!
 
https://media.giphy.com/media/3oz8xSXvzK6P9lNPby/giphy.gif

n°2340127
ximothov
Posté le 11-10-2019 à 23:12:02  profilanswer
 

Dommage que le site ne marche pas :o
2eme question il y a pleins de solutions qui devraient fonctionner qui ne passent pas :D


---------------
http://www.youtube.com/profile?user=ximothov
n°2340167
flo850
moi je
Posté le 13-10-2019 à 17:04:32  profilanswer
 

du genre ? ( je n'ai pas fait de php depuis un moment)


---------------

n°2340184
ximothov
Posté le 14-10-2019 à 00:22:37  profilanswer
 

flo850 a écrit :

du genre ? ( je n'ai pas fait de php depuis un moment)


Ah ben forcement si j'essaie de faire du JS en PHP ca marche pas :o


---------------
http://www.youtube.com/profile?user=ximothov
n°2340646
koskoz
They see me trollin they hatin
Posté le 25-10-2019 à 16:41:40  profilanswer
 

J'essaye de réécrire une lambda AWS le plus proprement possible, sachant que ça fait des années que je n'ai pas fait JS, je suis preneur de tout conseil.
 
Code initial :
 

Code :
  1. function getCognitoUsers() {
  2.    return new Promise((resolve, reject) => {
  3.  
  4.        const cognitoIdentity = new AWS.CognitoIdentityServiceProvider();
  5.  
  6.        const params = {
  7.            UserPoolId: process.env.USERPOOL_ID,
  8.            AttributesToGet: [
  9.                'custom:id'
  10.            ]
  11.        };
  12.  
  13.        cognitoIdentity.listUsers(params, (err, data) => {
  14.            if (err) {
  15.                reject(err);
  16.            }
  17.            else {
  18.                let result = [];
  19.                for (let i in data.Users) {
  20.                    result.push(data.Users[i].Attributes[0].Value);
  21.                }
  22.                resolve(result);
  23.            }
  24.        });
  25.    });
  26. }
  27.  
  28. exports.handler = async (event, context, callback) => {
  29.    const newUsers = await getUsersToCreate();
  30.  
  31.    // Do stuff
  32. }


 
Ma réécriture :
 

Code :
  1. function getCognitoUsers() {
  2.    const cognitoIdentity = new AWS.CognitoIdentityServiceProvider();
  3.  
  4.    const params = {
  5.        UserPoolId: process.env.USERPOOL_ID,
  6.        AttributesToGet: [
  7.            'custom:id'
  8.        ]
  9.    };
  10.  
  11.    return cognitoIdentity.listUsers(params)
  12.        .then(function(data) {
  13.            let newUsers = [];
  14.  
  15.            for (let i in data.Users) {
  16.                newUsers.push(data.Users[i].Attributes[0].Value);
  17.            }
  18.  
  19.            return newUsers;
  20.        })
  21.        .catch(function(error) {
  22.            console.log(error)
  23.        })
  24.    ;
  25. }
  26.  
  27. exports.handler = async (event, context, callback) => {
  28.    const newUsers = await getUsersToCreate();
  29.  
  30.    // Do stuff
  31. }


 
J'ai bon, c'est fonctionnel ?
Que se passe-t-il dans le handler si la promesse se retrouve en erreur ?


---------------
Twitter
n°2340656
ximothov
Posté le 26-10-2019 à 00:01:04  profilanswer
 

koskoz a écrit :

J'essaye de réécrire une lambda AWS le plus proprement possible, sachant que ça fait des années que je n'ai pas fait JS, je suis preneur de tout conseil.

 

Code initial :

 
Code :
  1. function getCognitoUsers() {
  2.    return new Promise((resolve, reject) => {
  3.  
  4.        const cognitoIdentity = new AWS.CognitoIdentityServiceProvider();
  5.  
  6.        const params = {
  7.            UserPoolId: process.env.USERPOOL_ID,
  8.            AttributesToGet: [
  9.                'custom:id'
  10.            ]
  11.        };
  12.  
  13.        cognitoIdentity.listUsers(params, (err, data) => {
  14.            if (err) {
  15.                reject(err);
  16.            }
  17.            else {
  18.                let result = [];
  19.                for (let i in data.Users) {
  20.                    result.push(data.Users[i].Attributes[0].Value);
  21.                }
  22.                resolve(result);
  23.            }
  24.        });
  25.    });
  26. }
  27.  
  28. exports.handler = async (event, context, callback) => {
  29.    const newUsers = await getUsersToCreate();
  30.  
  31.    // Do stuff
  32. }
 

Ma réécriture :

 
Code :
  1. function getCognitoUsers() {
  2.    const cognitoIdentity = new AWS.CognitoIdentityServiceProvider();
  3.  
  4.    const params = {
  5.        UserPoolId: process.env.USERPOOL_ID,
  6.        AttributesToGet: [
  7.            'custom:id'
  8.        ]
  9.    };
  10.  
  11.    return cognitoIdentity.listUsers(params)
  12.        .then(function(data) {
  13.            let newUsers = [];
  14.  
  15.            for (let i in data.Users) {
  16.                newUsers.push(data.Users[i].Attributes[0].Value);
  17.            }
  18.  
  19.            return newUsers;
  20.        })
  21.        .catch(function(error) {
  22.            console.log(error)
  23.        })
  24.    ;
  25. }
  26.  
  27. exports.handler = async (event, context, callback) => {
  28.    const newUsers = await getUsersToCreate();
  29.  
  30.    // Do stuff
  31. }
 

J'ai bon, c'est fonctionnel ?
Que se passe-t-il dans le handler si la promesse se retrouve en erreur ?

 
Code :
  1. const cognitoIdentity = new AWS.CognitoIdentityServiceProvider();
  2. const params = {
  3.   UserPoolId: process.env.USERPOOL_ID,
  4.   AttributesToGet: [
  5.       'custom:id'
  6.   ]
  7. };
  8. module.exports.handler = async ({ encrypted }) => {
  9.   try {
  10.     const data = await cognitoIdentity.listUsers(params);
  11.     return data.Users.map(user => user.Attrributes[0].Value);
  12.   } catch (error) {
  13.     console.log(error);
  14.     return [];
  15.   }
  16. }
 

- Declare tes constantes en dehors de ton handler afin d'eviter de refaire a chaque call
- try / catch pour les erreurs + retourne ce qu'il t'interesse
- await / async dispo depuis node 8 (migre tes lamdbas si t'es en 8 vers 10 amazon ne supporteras plus d'ici la fin de l'annnee)
- J'ai retourne direct les utilisateurs mais tu peux faire ce que tu veux :o


Message édité par ximothov le 26-10-2019 à 00:02:34

---------------
http://www.youtube.com/profile?user=ximothov
n°2340673
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 10:13:52  profilanswer
 

Ah oui, effectivement c'est bien mieux, merci :jap:

 
Citation :

Declare tes constantes en dehors de ton handler afin d'eviter de refaire a chaque call

 

A chaque appel de la constante ou de la lambda ?

 

Si c'est le premier cas dans ce cas je vais les remettre dans une fonction dédiée, car il y a pas mal d'autres fonctions dans cette même lambda.

 

Si c'est le second cas ça m'intrigue [:transparency]

 
Citation :

await / async dispo depuis node 8

 

La structure du try/catch est nécessaire à cause de l'await c'est ça ?

Message cité 1 fois
Message édité par koskoz le 28-10-2019 à 10:14:47

---------------
Twitter
n°2340675
ximothov
Posté le 28-10-2019 à 11:03:00  profilanswer
 

koskoz a écrit :

Ah oui, effectivement c'est bien mieux, merci :jap:
 

Citation :

Declare tes constantes en dehors de ton handler afin d'eviter de refaire a chaque call


 
A chaque appel de la constante ou de la lambda ?
 
Si c'est le premier cas dans ce cas je vais les remettre dans une fonction dédiée, car il y a pas mal d'autres fonctions dans cette même lambda.
 
Si c'est le second cas ça m'intrigue [:transparency]
 

Citation :

await / async dispo depuis node 8


 
La structure du try/catch est nécessaire à cause de l'await c'est ça ?


 
A chaque fois que tu appelles un lambda ca peut (ou non) etre reinstancie, du coup si tu as des trucs comme une initilisation de constante autant le mettre a l'exterieur. https://docs.aws.amazon.com/lambda/ [...] tices.html
 
Le try / catch c'est juste la maniere propre de le faire :D


---------------
http://www.youtube.com/profile?user=ximothov
mood
Publicité
Posté le 28-10-2019 à 11:03:00  profilanswer
 

n°2340677
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 12:11:52  profilanswer
 

ximothov a écrit :


 
A chaque fois que tu appelles un lambda ca peut (ou non) etre reinstancie, du coup si tu as des trucs comme une initilisation de constante autant le mettre a l'exterieur. https://docs.aws.amazon.com/lambda/ [...] tices.html
 
Le try / catch c'est juste la maniere propre de le faire :D


 
:jap:
 
Dernière question, que signifie dans la déclaration du handler "({ encrypted })" :??:


---------------
Twitter
n°2340679
ricardm3
Posté le 28-10-2019 à 12:32:26  profilanswer
 

koskoz a écrit :


 
:jap:
 
Dernière question, que signifie dans la déclaration du handler "({ encrypted })" :??:


 
C’est le destructuring assignement. Le handler reçoit un objet dont on exploite seulement la propriété appelée “encrypted”.

n°2340680
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 14:15:27  profilanswer
 

Pas sûr de comprendre. Ça veut dire que je n'ai plus accès à "event", "context" et "callback" ?
 
Elle vient de où cette propriété "encrypted" [:petrus dei]


---------------
Twitter
n°2340681
Blackyell
$question = $to_be || !$to_be;
Posté le 28-10-2019 à 14:22:01  profilanswer
 

koskoz a écrit :

Pas sûr de comprendre. Ça veut dire que je n'ai plus accès à "event", "context" et "callback" ?
 
Elle vient de où cette propriété "encrypted" [:petrus dei]


 
En fait, écrire ça :
 

Code :
  1. function myFunc({ foo }) {
  2.   // Do something with foo
  3. }


 
Revient à faire ça :
 

Code :
  1. function myFunc(obj) {
  2.   let foo = obj.foo
  3.   // Do something with foo
  4. }

n°2340682
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 14:27:47  profilanswer
 

C'est ce que j'avais compris, du coup je ne comprends pas d'où vient cette propriété "encrypted", c'est une propriété de l'objet "event" ?


---------------
Twitter
n°2340686
ricardm3
Posté le 28-10-2019 à 14:51:16  profilanswer
 

koskoz a écrit :

C'est ce que j'avais compris, du coup je ne comprends pas d'où vient cette propriété "encrypted", c'est une propriété de l'objet "event" ?


 
C'est ça, c'est une propriété de l'objet event, mais en relisant le code de la fonction handler, la propriété encrypted ne semble pas utilisée.


Message édité par ricardm3 le 28-10-2019 à 14:51:39
n°2340690
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 16:06:17  profilanswer
 

Ça me rassure [:leguidedubledard:1]  
 
Du coup si je veux "unpacker" X propriétés de tous mes arguments je peux écrire quelque chose comme ça ?
 

Code :
  1. function myFunc({ foo, bar }, { foobar }, { barfoo }) {
  2.   // Do something with foo
  3. }


---------------
Twitter
n°2340692
Blackyell
$question = $to_be || !$to_be;
Posté le 28-10-2019 à 16:15:08  profilanswer
 

Ouaip

 

Tu peux même les renommer :

 
Code :
  1. function myFunc({foo}, {foo: otherFoo}) { /* ... */ }


Message édité par Blackyell le 28-10-2019 à 16:16:54
n°2340694
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 16:37:46  profilanswer
 

[:psychokwak]


---------------
Twitter
n°2340701
flo850
moi je
Posté le 28-10-2019 à 17:17:49  profilanswer
 

tu peux même faire  

Code :
  1. const {length, 0: first } = ['kozokz', 'blackyell', 'pastis']


---------------

n°2340702
koskoz
They see me trollin they hatin
Posté le 28-10-2019 à 17:44:37  profilanswer
 

flo850 a écrit :

tu peux même faire

Code :
  1. const {length, 0: first } = ['kozokz', 'blackyell', 'pastis']


 

Wait wat, "length" va contenir la taille du tableau [:petrus dei]

Message cité 1 fois
Message édité par koskoz le 28-10-2019 à 17:44:43

---------------
Twitter
n°2340705
Blackyell
$question = $to_be || !$to_be;
Posté le 28-10-2019 à 18:14:58  profilanswer
 

koskoz a écrit :


 
Wait wat, "length" va contenir la taille du tableau [:petrus dei]


Oui. Toujours pour la même raison ^^
 

Code :
  1. const { x } = obj


 
Revient à faire  
 

Code :
  1. const x = obj.x


 
Donc:
 

Code :
  1. const { length } = [...]


 
Revient à faire  
 

Code :
  1. const length = [...].length

Message cité 1 fois
Message édité par Blackyell le 28-10-2019 à 18:20:15
n°2340710
ximothov
Posté le 28-10-2019 à 23:18:19  profilanswer
 

koskoz a écrit :

C'est ce que j'avais compris, du coup je ne comprends pas d'où vient cette propriété "encrypted", c'est une propriété de l'objet "event" ?


D'un copier / coller d'une de mes fonctions desole :o


---------------
http://www.youtube.com/profile?user=ximothov
n°2340718
koskoz
They see me trollin they hatin
Posté le 29-10-2019 à 10:23:30  profilanswer
 

Blackyell a écrit :


Oui. Toujours pour la même raison ^^
 

Code :
  1. const { x } = obj


 
Revient à faire  
 

Code :
  1. const x = obj.x


 
Donc:
 

Code :
  1. const { length } = [...]


 
Revient à faire  
 

Code :
  1. const length = [...].length



 
https://media.giphy.com/media/5DCLZUqb0ImZy/giphy.gif
 


---------------
Twitter
n°2340723
flo850
moi je
Posté le 29-10-2019 à 11:47:38  profilanswer
 

le seul truc pénible avec ces opérateurs, c'est qu'ils sont difficiles a demander à google
 
Mais qu'est ce que ça rend le code plus agreable
 
en ES7, il y ? qui arrive  
 

Code :
  1. let obj = {
  2.  one: [1, 1, 1, 1],
  3. //no two
  4.  three: [3,3,3]
  5. }
  6.  
  7. console.log(obj.two?[1]) // undefined, pas de crash


https://developer.mozilla.org/fr/do [...] l_chaining


---------------

n°2340726
ximothov
Posté le 29-10-2019 à 12:00:14  profilanswer
 

flo850 a écrit :

le seul truc pénible avec ces opérateurs, c'est qu'ils sont difficiles a demander à google
 
Mais qu'est ce que ça rend le code plus agreable
 
en ES7, il y ? qui arrive  
 

Code :
  1. let obj = {
  2.  one: [1, 1, 1, 1],
  3. //no two
  4.  three: [3,3,3]
  5. }
  6.  
  7. console.log(obj.two?[1]) // undefined, pas de crash


https://developer.mozilla.org/fr/do [...] l_chaining


 [:cannot be unseen] ?


---------------
http://www.youtube.com/profile?user=ximothov
n°2340728
flo850
moi je
Posté le 29-10-2019 à 13:17:24  profilanswer
 

quand tu ne sais pas le nom et que tu vois . const {toto} = obj
 
comment tu demandes à google ce qui se passe ? par rapport à une fonction destruct(obj) par exemple. idem quand tu vois un ...  
Est ce que c'est spread , range ?  
 
Donc la découverte peut être un peu plus campliqué pour les nouveaux ou pour ceux qui reviennent


---------------

n°2340732
Devil'sTig​er
Posté le 29-10-2019 à 14:32:33  profilanswer
 

Je valide quand tu es pas habitué a une structure "comme ca" c'est pas tres evident a trouver...
 
Maintenant l'arrivé du ? dans ce cas me fait penser a Ruby, il est donc temps de quitter ce navire :D

n°2340733
koskoz
They see me trollin they hatin
Posté le 29-10-2019 à 14:34:31  profilanswer
 

On a des trucs qui ressemblent en PHP aussi [:greg2]


---------------
Twitter
n°2340734
flo850
moi je
Posté le 29-10-2019 à 14:55:01  profilanswer
 

je l'utilise en swift, et c'est très très pratique


---------------

n°2340745
ximothov
Posté le 29-10-2019 à 23:21:56  profilanswer
 

flo850 a écrit :

quand tu ne sais pas le nom et que tu vois . const {toto} = obj

 

comment tu demandes à google ce qui se passe ? par rapport à une fonction destruct(obj) par exemple. idem quand tu vois un ...
Est ce que c'est spread , range ?

 

Donc la découverte peut être un peu plus campliqué pour les nouveaux ou pour ceux qui reviennent


ES6 operateurs google :o
Je suppose que quand tu commences a travailler avec un language tu cherches un minimum a l'apprendre avant :D

Message cité 3 fois
Message édité par ximothov le 29-10-2019 à 23:22:26

---------------
http://www.youtube.com/profile?user=ximothov
n°2340754
koskoz
They see me trollin they hatin
Posté le 30-10-2019 à 09:51:06  profilanswer
 

ximothov a écrit :


ES6 operateurs google :o
Je suppose que quand tu commences a travailler avec un language tu cherches un minimum a l'apprendre avant :D


 
Tu supposes mal [:mom boucher]


---------------
Twitter
n°2340755
flo850
moi je
Posté le 30-10-2019 à 10:18:19  profilanswer
 

ximothov a écrit :


ES6 operateurs google :o
Je suppose que quand tu commences a travailler avec un language tu cherches un minimum a l'apprendre avant :D


 
hahahahahahahaha


---------------

n°2340787
ximothov
Posté le 30-10-2019 à 23:32:47  profilanswer
 

C'est la difference entre un bon dev et un guignol :o


---------------
http://www.youtube.com/profile?user=ximothov
n°2340792
flo850
moi je
Posté le 31-10-2019 à 08:20:39  profilanswer
 

ximothov a écrit :

C'est la difference entre un bon dev et un guignol :o


Nan
Rien que chercher le terme es6 demande de connaître pas mal de choses

 

C'est l'étape "savoir ce qu'on ne sait pas" de l'apprentissage

Message cité 1 fois
Message édité par flo850 le 31-10-2019 à 08:21:54

---------------

n°2340793
ximothov
Posté le 31-10-2019 à 08:36:21  profilanswer
 

flo850 a écrit :


Nan
Rien que chercher le terme es6 demande de connaître pas mal de choses
 
C'est l'étape "savoir ce qu'on ne sait pas" de l'apprentissage


Non.
 
Google => learn javascript => 1er lien ca parle d'ES6.
https://www.codecademy.com/learn/in [...] javascript


---------------
http://www.youtube.com/profile?user=ximothov
n°2340795
flo850
moi je
Posté le 31-10-2019 à 09:17:34  profilanswer
 

je ne sais pas si tu as déjà accompagné des junior ( que ce soit des jeunes ou des gens qui se réorientent, ou des gens qui reviennent au code ) mais je te trouve optimiste
 
au passage, en navigation privée, mon premier lien est codecademy avec un bloc de 30h, puis w3schools ( un petit menu avec es6 sur la gauche) , puis MDN


---------------

n°2340796
flo850
moi je
Posté le 31-10-2019 à 09:18:50  profilanswer
 

En français, c'est pire, je tombe en premier sur https://www.grafikart.fr/tutoriels/variables-765 qui ne parle meme pas de let/const donc qui est inexact sur la portée des variables

 

(au fait kozkoz : let/const n'ont pas la même portée que var)

Message cité 1 fois
Message édité par flo850 le 31-10-2019 à 09:19:36

---------------

n°2340803
koskoz
They see me trollin they hatin
Posté le 31-10-2019 à 10:26:06  profilanswer
 

flo850 a écrit :

En français, c'est pire, je tombe en premier sur https://www.grafikart.fr/tutoriels/variables-765 qui ne parle meme pas de let/const donc qui est inexact sur la portée des variables  
 
(au fait kozkoz : let/const n'ont pas la même portée que var)


 
Merci oui, je suis quand même au courant [:the geddons]  
 
Pareil pour le unpacking, j'avais balayer quelques gros articles sur les nouveautés ES5 puis ES6 mais forcément sans pratiquer derrière on oublie vite.


---------------
Twitter
n°2340805
flo850
moi je
Posté le 31-10-2019 à 10:38:07  profilanswer
 

Je ne juge pas, c'est juste l'occasion de le rappeler :jap:


---------------

n°2340807
bixibu
Ca ... c'est fait!
Posté le 31-10-2019 à 10:56:35  profilanswer
 

On est rendu à ES10 hein les mecs :o

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  1426  1427  1428  ..  1449  1450  1451  1452  1453  1454

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@hosto] Le topic des vieux[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR