Les bases de javascript. Introduction au langage javascript. Les boucles, les fonctions, scope local et global. Accès et modification des éléments du Dom (Document object model)
Les bases de javascript. Introduction au langage javascript. Les boucles, les fonctions, scope local et global. Accès et modification des éléments du Dom (Document object model)
Ce cours présente le notion de qualité de code et quels sont les critères et pratiques à adopter pour produire du code de qualité. Il présente les erreurs de programmation les plus fréquentes auprès des apprentis programmeurs. La deuxième partie du cours présente la notion de convention de codage et en particulier le PEP 0008 qui décrit des conventions à adopter lorsqu'on programme en Python.
JavaScript est désormais omniprésent et rend possible l'écriture d'applications complexes et riches. Mais il est souvent mal connu des développeurs orientés objets classiques comme ceux pratiquant le C#, le Java ou le PHP. Cette session passera donc en revue les bases du langage JavaScript, ses spécificités comme les portées, les closures, le this différent de ce que vous pouvez connaître. Bref, vous verrez qu'il y a des pièges à éviter et qu'il ne faut pas négliger JavaScript. Il est très puissant mais potentiellement différent de ce vous connaissez déjà. Venez apprendre à le respecter avant de le maitriser!
Cette conférence présente le framework Johnny-Five qui permet de programmer des cartes embarquées à l'aide d'un module Node.js. Après un tour rapide du JavaScript et de son fonctionnement, en particulier la programmation fonctionnelle et l'exécution pilotée par les évènements, la présentation décrit Node.js et aborde rapidement son fonctionnement. La troisième partie présente Johnny-Five et plusieurs exemples simples de contrôle d'une LED et de l'utilisation des entrées/sorties numériques et analogiques.
CocoaHeads Rennes #1 : Grand Central DispatchCocoaHeadsRNS
Slides de la présentation "TA la découverte de Grand Central Dispatch" de la session des CocoaHeads Rennais du 21 avril 2011. Présentation assurée par Pierre Duchêne et Thomas Dupont, ingénieurs chez Niji
Une révision des principaux concepts du langage JavaScript : variables, fonctions, types, fermetures (closures), objets et prototypes, format JSON. De nombreux exemples téléchargeables sur GitHub.
The mouse has several key parts. It has buttons on top used to click and select items. Below the buttons is a ball that detects movement and helps the cursor move around the screen. Rolling the ball with your fingers allows you to control the cursor's position and navigate interfaces with precision.
Ce cours présente le notion de qualité de code et quels sont les critères et pratiques à adopter pour produire du code de qualité. Il présente les erreurs de programmation les plus fréquentes auprès des apprentis programmeurs. La deuxième partie du cours présente la notion de convention de codage et en particulier le PEP 0008 qui décrit des conventions à adopter lorsqu'on programme en Python.
JavaScript est désormais omniprésent et rend possible l'écriture d'applications complexes et riches. Mais il est souvent mal connu des développeurs orientés objets classiques comme ceux pratiquant le C#, le Java ou le PHP. Cette session passera donc en revue les bases du langage JavaScript, ses spécificités comme les portées, les closures, le this différent de ce que vous pouvez connaître. Bref, vous verrez qu'il y a des pièges à éviter et qu'il ne faut pas négliger JavaScript. Il est très puissant mais potentiellement différent de ce vous connaissez déjà. Venez apprendre à le respecter avant de le maitriser!
Cette conférence présente le framework Johnny-Five qui permet de programmer des cartes embarquées à l'aide d'un module Node.js. Après un tour rapide du JavaScript et de son fonctionnement, en particulier la programmation fonctionnelle et l'exécution pilotée par les évènements, la présentation décrit Node.js et aborde rapidement son fonctionnement. La troisième partie présente Johnny-Five et plusieurs exemples simples de contrôle d'une LED et de l'utilisation des entrées/sorties numériques et analogiques.
CocoaHeads Rennes #1 : Grand Central DispatchCocoaHeadsRNS
Slides de la présentation "TA la découverte de Grand Central Dispatch" de la session des CocoaHeads Rennais du 21 avril 2011. Présentation assurée par Pierre Duchêne et Thomas Dupont, ingénieurs chez Niji
Une révision des principaux concepts du langage JavaScript : variables, fonctions, types, fermetures (closures), objets et prototypes, format JSON. De nombreux exemples téléchargeables sur GitHub.
The mouse has several key parts. It has buttons on top used to click and select items. Below the buttons is a ball that detects movement and helps the cursor move around the screen. Rolling the ball with your fingers allows you to control the cursor's position and navigate interfaces with precision.
Travailler ensemble autour du PLU intercommunal : les préalables à la démarcheCAUE85
M. OLIVIER et Mme. MONTEIL reviennent sur la mise en place du PLUi sur leur communauté de communes. Ils présentent leurs motivations et la méthodologie adoptée (moyens humains et financiers, organisation…). Ils mettent en exergue les avantages qu’ils ont trouvés à cette démarche.
Programa de Buenas Practicas de FabricaciónConectaDEL
En el año 2008 se implementó un programa de asistencia técnica en buenas prácticas de manufactura. El mismo fue co-ejecutado por el Programa de Competitividad Territorial del BID Fomin y el INTI Lácteos Rafaela y participaron en total más de 20 empresas alimenticias del territorio.
Capital Payment pour répondre aux besoins des établissements de paiements et de monnaie électronique.
Capital Payment to meet the needs of payment institutions and electronic money.
Découvrez l'avis de Kustom Store Motorcycles sur le Kit Air Ride. Grâce à ce kit, vous bénéficierez d'un confort de route inégalé : ressorts à air en caoutchouc pour une meilleure suspension et plus de stabilité.
Deux modèles différents existent : en simple et en double amortisseurs.
Grâce à son système de réglage manuel, le Kit Air Ride s'adapte à tout type de corpulence. De plus, vous pouvez facilement l'installer sur votre moto, peut importe le type de selle.
This 3 page document discusses the benefits of a new training program for employees. It states that the program aims to improve customer service skills and increase sales. The document recommends implementing the training program and expects it to boost employee performance and customer satisfaction over the next year.
Facebook, un incontournable pour la diffusion!Mylène Bélanger
Conférence donnée dans le cadre du 43e Congrès de l'Association des archivistes du Québec (AAQ), le 29 mai 2014.
Nous vous proposons de prendre pour sujet la création d’une page Facebook pour diffuser les archives d’une organisation ou d’une entreprise. Incontournable en 2014, Facebook rejoint une communauté de plus de 665 millions d’utilisateurs dans le monde (139 millions seulement aux États-Unis et au Canada – Olivier Duffez, Webrankinfo, 2013). C’est donc un bassin prometteur de gens intéressés à l’histoire et que nous pouvons sensibiliser à l’importance et à l’utilité des archives. En donnant pour exemple la page Facebook de la Société historique Pierre-de-Saurel, créée en juin 2012 et comptant à ce jour 1041 adeptes (en date du 19 novembre 2013), Nous proposons une multitude de conseils dans la planification et la diffusion des archives, ainsi que dans les moyens disponibles à notre portée afin de rejoindre le plus grand nombre d’internautes possibles, d’améliorer notre portée et de garder les gens intéressés, car, il ne faut pas l’oublier, beaucoup de choses sont éphémères à l’ère du 2.0. Par la même occasion, nous démontrerons les multiples avantages à être présent sur Facebook pour l’organisme ou l’entreprise.
La educación es una tarea colectiva que requiere organizar el entorno escolar mediante la ordenación e interacción de seis elementos clave: los objetivos, los recursos, la estructura, la tecnología y el entorno. Estos elementos constituyen las principales variables que deben gestionarse para prestar un mejor servicio a los estudiantes.
Fort de ses 1.7 millions de téléchargements l'an passé, Groovy continue son bonhomme de chemin en tête parmi les langages de programmation alternatifs pour la JVM.
Groovy 2.0, sorti l'an passé, introduisait dans son offre de la modularité, le support de JDK 7 au niveau syntaxique avec "Project Coin" autant qu'au niveau JVM avec l'utilisation d'"invoke dynamic", et proposait des fonctionnalités de typage et de compilation statique.
Groovy 2.1, quant à lui, s'appuie sur ces bases pour compléter le support d'"invoke dynamic" pour plus de performances. Il propose des améliorations permettant de documenter, d'aider les IDEs, et de vérifier statiquement les Domain-Specific Languages construits avec Groovy. Vous pourrez créer des méta-annotations regroupant d'autres annotations, pour éviter l'annotation "hell". Et enfin, vous irez encore plus loin dans la customisation du compilateur !
Accrochez votre ceinture, paré au décollage !
Au cours de "Swift dans la vraie vie" vous assisterez à un retour d'expérience concernant l'utilisation du dernier langage d'Apple - maintenant Open Source - dans deux projets mobiles utilisés en production par quelques milliers d'utilisateurs.
À travers une analyse des points de force et faiblesse de ce langage, vous comprendrez pourquoi il n'est pas trop osé de commencer tout de suite à développer votre prochaine application iOS en Swift.
Par Simone Civetta et Fabien Mirault, consultants chez Xebia
La vidéo de la conférence est à retrouver sur : http://www.xebicon.fr/programme.html
Ce document a été conçu et utilisé sur plusieurs sessions de formation professionnelles pour développeurs logiciels.
Il présente la syntaxe du langage javascript à usage d'un public de développeurs maîtrisant déjà un langage de développement (langage C, Java, C Sharp, PHP...).
Niveau : débutant.
Séance numéro : 1/10.
Temps nécessaire à la séance : environ 1h.
Cette séance fait partie d'une série de 10 séances présentant le langage javascript (niveau débutant à confirmé).
Le niveau débutant de la série se réalise en 2 jours.
La niveau confirmé se réalise en 3 jours.
Ce programme est conforme aux titres du ministère du travail :
- Développeur Logiciel
- Concepteur Développeur Informatique
Il permet de valider les modules correspondants de ces titres RNCP (compétences développement de pages web).
La méthode utilisée mélange les approches interrogatives et actives :
- à partir d'exemples de code, faire raisonner les stagiaires par raisonnement hypothético-déductif ("que fait ce code?")
- à partir de code "à trous", faire découvrir et appliquer des éléments de syntaxe (travaux pratiques "construisons ensemble")
- à partir des problèmes rencontrés, faire rechercher des solutions possibles aux problèmes soulevés par le code "énigme" ("quelles solutions?")
- à partir de code "énigme", faire vérifier l'assimilation des connaissances ("vrai ou faux?")
Inclus :
- code à trou
- grille d'évaluation
Ce document powerpoint est également disponible en marque blanche. Nous contacter via notre compte twitter @forgelogicielle.
Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Objectif général : Savoir créer une réelle interactivité entre le contenu d'une page HTML et l'internaute
Objectifs opérationnels:
• Stocker et utiliser des données à l’aide des variables et des opérateurs
• Communiquer avec le programme à travers le clavier et l’écran
• Contrôler le flux d’exécution des instructions
• Définir et utiliser des fonctions
• Manipuler des tableaux et des chaînes de caractères
• Sélectionner du contenu dans une page Web
• Manipuler du contenu dans une page Web
• Interagir avec l’internaute
This document discusses strategies for splitting a monolithic application into microservices. It provides an example domain of train management that can be split into contexts of train routing, booking, traffic info, and invoicing. The document outlines challenges with shared databases and outlines patterns like autonomous bubbles that communicate asynchronously using events or notifications to address these challenges. It also includes exercises splitting database tables and integrating new features like a "nonon" train offering into the modularized architecture.
The document discusses a legacy company called OldCompanyWithLegacy that wants to modernize a legacy product by moving it to the cloud and improving its code quality. It hired outsourced developers long ago to create the product, whose codebase and functionality are poorly understood. The company is seeking a developer team that can analyze the code, move it to Azure without breaking functionality, and improve the design for international collaboration. It provides a GitHub link and sample inputs/outputs to the code for applicants to analyze as part of an exercise.
Lors du dernier Mix-It, nous avons eu la chance d’animer l'atelier Crafting Workshop. Cet atelier s’est déroulé pendant les 2 jours de conférences. Nous vous proposons un petit retour d'expérience.
http://www.mix-it.fr/session/362/crafting-workshop
https://github.com/mixit-craftsmanship/mixit-craftsmanship
http://now.mix-it.fr/
2. Pas du tout
r = n / 2;
while ( abs( r - (n/r) ) > t ) {
r = 0.5 * ( r + (n/r) );
}
System.out.println( "r = " + r );
3. A la folie !
'*************************************************
' Name: CopyString
'
' Purpose: This routine copies a string from the source
' string (source) to the target string (target).
'
' Algorithm: It gets the length of "source" and then copies each
' character, one at a time, into "target". It uses
' the loop index as an array index into both "source"
' and "target" and increments the loop/array index
' after each character is copied.
'
' Inputs: input The string to be copied
'
' Outputs: output The string to receive the copy of "input"
'
' Interface Assumptions: None
'
' Modification History: None
'
' Author: Dwight K. Coder
' Date Created: 10/1/04
' Phone: (555) 222-2255
' SSN: 111-22-3333
' Eye Color: Green
' Maiden Name: None
' Blood Type: AB-
' Mother's Maiden Name: None
' Favorite Car: Pontiac Aztek
' Personalized License Plate: "Tek-ie"
'*************************************************
4. Ce genre de commentaires
// Declare category id for products
const int prodCategoryId = 1024;
// Create an iterator over products
vector<Product>::iterator iter = products_.begin();
// Iterate through all products
for ( ; iter != products_.end(); ++iter )
{
// Assign categody id to each product
iter->AssignCategoryId( prodCategoryId );
} // end for
Cela me fait penser à :
// Increase i by one
i++;
5. Le « Pourquoi »,
et non le « Comment »
// Assign categody id to each product
const int prodCategoryId = 1024;
vector<Product>::iterator iter = products_.begin();
for ( ; iter != products_.end(); ++iter )
{
iter->AssignCategoryId( prodCategoryId );
}
6. Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
Je nommerais correctement mes variables
const int bookCategoryId = 1024;
void assignCategoryToEachProducts(int categoryId, vector<Product> products)
{
vector<Product>::iterator productsIterator = products.begin();
for ( ; productsIterator != products.end(); ++productsIterator )
{
productsIterator->AssignCategoryId( categoryId );
}
}
7. Voyez un commentaire comme un aveu de faiblesse
Codez toujours en pensant que celui qui maintiendra votre code est
un psychopathe qui connait votre adresse
Martin Golding
8. Imperative
vs
Declarative
var numbers = [1,2,3,4,5]
var doubled = []
for(var i = 0; i < numbers.length; i++) {
var newNumber = numbers[i] * 2
doubled.push(newNumber)
}
console.log(doubled) //=> [2,4,6,8,10]
var numbers = [1,2,3,4,5]
var doubled = numbers.map(function(n) {
return n * 2
})
console.log(doubled) //=> [2,4,6,8,10]
9. var dogsWithOwners = []
var dog, owner
for(var di=0; di < dogs.length; di++) {
dog = dogs[di]
for(var oi=0; oi < owners.length; oi++) {
owner = owners[oi]
if (owner && dog.owner_id == owner.id) {
dogsWithOwners.push({
dog: dog,
owner: owner
})
}
}}
}
SELECT * from dogs
INNER JOIN owners
WHERE dogs.owner_id = owners.id