Ce cours présente la notion de qualité de code et comment il est possible de l'évaluer grâce à des métriques mesurables. Après avoir présenté plusieurs métriques standards, il se concentrer sur des aspects de qualité de code spécifique à l'orienté objet et présente les cinq concepts de l'orienté objet. La deuxième partie du cours présente plusieurs bonnes pratiques à avoir en programmation orientée objet, sur base d'exemples concrets.
2 TUP signifie « 2 Track Unified Process »: c’est un processus de développement logiciel qui implémente le Processus Unifié (UP).
2 TUP est un processus qui apporte une réponse aux contraintes de changement continuel imposées aux systèmes d’information de l’entreprise.
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
Giúp người học làm quen với giao diện phần mềm Powermill, biết cách sử dụng các công cụ lập trình trên powermill để áp dụng cho sản phẩm chi tiết của mình, phù hợp với gia công khuôn và giày dép.
Ce cours présente la notion de qualité de code et comment il est possible de l'évaluer grâce à des métriques mesurables. Après avoir présenté plusieurs métriques standards, il se concentrer sur des aspects de qualité de code spécifique à l'orienté objet et présente les cinq concepts de l'orienté objet. La deuxième partie du cours présente plusieurs bonnes pratiques à avoir en programmation orientée objet, sur base d'exemples concrets.
2 TUP signifie « 2 Track Unified Process »: c’est un processus de développement logiciel qui implémente le Processus Unifié (UP).
2 TUP est un processus qui apporte une réponse aux contraintes de changement continuel imposées aux systèmes d’information de l’entreprise.
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
Giúp người học làm quen với giao diện phần mềm Powermill, biết cách sử dụng các công cụ lập trình trên powermill để áp dụng cho sản phẩm chi tiết của mình, phù hợp với gia công khuôn và giày dép.
Ce cours concerne le polymorphisme, c'est-à-dire la capacité pour une variable de prendre plusieurs types de donnée durant le temps de sa vie. Le cours présente aussi la notion de classe abstraite et d'interface qui est une classe abstraite pure.
Opérateurs Ensemblistes | SQL Oracle. Telecharger Cours sql oracle gratuit, administration oracle,A la fin de ce chapitre, vous saurez :
Décrire les opérateurs ensemblistes
Utiliser un opérateur ensembliste pour combiner plusieurs requêtes en une seule
Vérifier l'ordre des lignes ramenées
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Conception d'un modèle d'estimation de la consommation énergétique pour un sy...PierreVerhulst
De nos jours, les perspectives offertes par le domaine de l’Internet des objets (IoT) sont colossales. Ainsi, l’adoption de ce type de technologie prend de plus en plus d’ampleur dans de nombreux domaines.
Pour ces produits, la problématique de la consommation énergétique est cruciale. En effet, ces dispositifs sont conçus pour être autonomes tout au long de leur durée de vie.
Développé au sein du centre de recherche DRAMCO de l’université KULeuven, IWAST (IoT With A Soft Touch) est un projet STEM dont l’objectif est de faire découvrir le monde de l’IoT auprès des plus jeunes. Ce projet pédagogique inclut toutes les caractéristiques que l’on peut rencontrer face à un produit IoT. La problématique énergétique est donc bien présente.
La consommation énergétique doit être minime et doit correspondre aux valeurs standards des systèmes du même domaine. La première version de IWAST ne remplissait pas les exigences attendues. Dès lors, des actions correctives ont été menées par le centre de recherche, mais rien ne permettait d’évaluer la consommation énergétique du système.
Au travers de cette problématique, ce travail explore le développement d’une solution consistant à établir un modèle d’estimation de la consommation énergétique pour le système IWAST. La méthodologie employée se résume en trois points :
1. réaliser un inventaire des différents modes opérationnels du système embarqué (les modes actifs et inactifs) ;
2. pour chaque mode, estimer la consommation de puissance du système ;
3. calculer la consommation énergétique en pondérant la consommation de puissance avec l’estimation du temps passé dans chacun de ces modes.
Ce projet permet d’explorer un aspect souvent négligé de la problématique énergétique IoT au travers du développement d’un modèle d’estimation. Les résultats de ce modèle sont positifs que ce soit pour sa méthodologie de conception ou pour ses résultats.
PowerMill là phần mềm chuyên dụng hàng đầu thế giới của NC CAM để sản xuất các hình dạng phức tạp thường thấy trong ngành chế tạo dụng cụ, ô tô và hàng không vũ trụ.
Các tính năng chính:
Nhiều chu trình phay bao gồm gia công thô hiệu suất cao, gia công tinh tốc độ cao, và các kĩ thuật gia công 5 trục.
Thời gian tính toán nhanh cho việc tạo đường chạy dao và hậu xử lý.
Công cụ chỉnh sửa mạnh để đảm bảo hiệu suất tối ưu trên máy công cụ.
Tài liệu hướng dẫn Powermill 2018 cho người mới học này cung cấp hướng dẫn từng bước làm nổi bật một số tính năng của phần mềm đa năng này.
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
Ce projet vise à développer un système d’information des étudiants du département
informatique. Mais, pour aboutir à cette fin, nous allons tout d’abord effectué une étude
conceptuelle de l’application. Cette dernière nous permettra, en effet, d’accéder facilement
à la réalisation de l’application en organisant les idées et en structurant le processus de
codage suivant des diagrammes. L’application a été implémenté par diverses technologies
en se basant sur l’étude conceptuelle. Le système de gestion de base de données choisi
fut MySQL. L’application a été implémenté avec Laravel5 et Boostrap3, qui sont des
frameworks permettant de créer rapidement et efficacement un site web complexe et flexible.
Ce cours concerne le polymorphisme, c'est-à-dire la capacité pour une variable de prendre plusieurs types de donnée durant le temps de sa vie. Le cours présente aussi la notion de classe abstraite et d'interface qui est une classe abstraite pure.
Opérateurs Ensemblistes | SQL Oracle. Telecharger Cours sql oracle gratuit, administration oracle,A la fin de ce chapitre, vous saurez :
Décrire les opérateurs ensemblistes
Utiliser un opérateur ensembliste pour combiner plusieurs requêtes en une seule
Vérifier l'ordre des lignes ramenées
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Conception d'un modèle d'estimation de la consommation énergétique pour un sy...PierreVerhulst
De nos jours, les perspectives offertes par le domaine de l’Internet des objets (IoT) sont colossales. Ainsi, l’adoption de ce type de technologie prend de plus en plus d’ampleur dans de nombreux domaines.
Pour ces produits, la problématique de la consommation énergétique est cruciale. En effet, ces dispositifs sont conçus pour être autonomes tout au long de leur durée de vie.
Développé au sein du centre de recherche DRAMCO de l’université KULeuven, IWAST (IoT With A Soft Touch) est un projet STEM dont l’objectif est de faire découvrir le monde de l’IoT auprès des plus jeunes. Ce projet pédagogique inclut toutes les caractéristiques que l’on peut rencontrer face à un produit IoT. La problématique énergétique est donc bien présente.
La consommation énergétique doit être minime et doit correspondre aux valeurs standards des systèmes du même domaine. La première version de IWAST ne remplissait pas les exigences attendues. Dès lors, des actions correctives ont été menées par le centre de recherche, mais rien ne permettait d’évaluer la consommation énergétique du système.
Au travers de cette problématique, ce travail explore le développement d’une solution consistant à établir un modèle d’estimation de la consommation énergétique pour le système IWAST. La méthodologie employée se résume en trois points :
1. réaliser un inventaire des différents modes opérationnels du système embarqué (les modes actifs et inactifs) ;
2. pour chaque mode, estimer la consommation de puissance du système ;
3. calculer la consommation énergétique en pondérant la consommation de puissance avec l’estimation du temps passé dans chacun de ces modes.
Ce projet permet d’explorer un aspect souvent négligé de la problématique énergétique IoT au travers du développement d’un modèle d’estimation. Les résultats de ce modèle sont positifs que ce soit pour sa méthodologie de conception ou pour ses résultats.
PowerMill là phần mềm chuyên dụng hàng đầu thế giới của NC CAM để sản xuất các hình dạng phức tạp thường thấy trong ngành chế tạo dụng cụ, ô tô và hàng không vũ trụ.
Các tính năng chính:
Nhiều chu trình phay bao gồm gia công thô hiệu suất cao, gia công tinh tốc độ cao, và các kĩ thuật gia công 5 trục.
Thời gian tính toán nhanh cho việc tạo đường chạy dao và hậu xử lý.
Công cụ chỉnh sửa mạnh để đảm bảo hiệu suất tối ưu trên máy công cụ.
Tài liệu hướng dẫn Powermill 2018 cho người mới học này cung cấp hướng dẫn từng bước làm nổi bật một số tính năng của phần mềm đa năng này.
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
Ce projet vise à développer un système d’information des étudiants du département
informatique. Mais, pour aboutir à cette fin, nous allons tout d’abord effectué une étude
conceptuelle de l’application. Cette dernière nous permettra, en effet, d’accéder facilement
à la réalisation de l’application en organisant les idées et en structurant le processus de
codage suivant des diagrammes. L’application a été implémenté par diverses technologies
en se basant sur l’étude conceptuelle. Le système de gestion de base de données choisi
fut MySQL. L’application a été implémenté avec Laravel5 et Boostrap3, qui sont des
frameworks permettant de créer rapidement et efficacement un site web complexe et flexible.
Présentation projet tourisme responsable circuit Cambodge by Vision EthiqueCaroline Debonnaire
présentation des projets d'aide au développement dans les environs de Siem Reap - Cambodge, soutenus par Vision Ethique à travers son circuit : « Immersion au pays du sourire »
Support du pitch de GoudronBlanc, marque de T-shirt col V haut de gamme pour homme présenté lors du concours de pitch Paris Factory : Mode & Design / Final Pitches (14/05/2012).
Boutique en ligne : http://www.goudronblanc.com/
Blog : http://blog.goudronblanc.com/
Slides de ma présentation du 27/11/2014 au meetup Angular à l'école 42.
Je parle des nouveautés annoncées à ngEurope pour AngularJS 2.0 ainsi que de l'environnement javascript dans lequel le framework sera écrit (AtScript + ES6 + Traceur).
mon twitter : @Clement_D
Les composants angular :
1- Qu’est-ce qu’un composant (Component) ?
2- Angular : Arbre de composants
3- Premier Composant
4- Création d’un composant
5- Option de la Cli Imbrication entre Composants
6- Insérer du contenu externe dans un composant
7- Data Binding
8- Interpolation
9- Property Binding
10- Event Binding
11- Two Way Data Binding
12- Interaction entre composants
Comment réussir son projet en Angular 1.5 ?Maxime Bernard
À travers un retour d'éxpérience, je vous propose de découvrir les outils, les nouveautés d'Angular 1.5 et quelques tips & tricks qui vous aideront dans la réussite de votre projet Angular.
Mise en place de l'ActionBarCompat dans vos projets Android.Mathias Seguy
Petite conférence sur la mise en place de l'ActionBarCompat dans votre application Android avec:
Mise en place de l'ActionBarCompat
Ajout de MenuItem
Mise en place d'une ActionView de recherche
Mise en place de l'ActionMode.
ToulouseAndroidUserGroup du 5 Juin 2014
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
Session donnée lors du Drupal Camp Lyon 2012. Présentant les différentes alternatives pour gérer la mobilité avec Drupal.
- Responsive Design
- Contextes mobiles (themes mobiles)
- Applications Natives et intégrations en Web Services ou HTML5
Similaire à 10 astuces pour améliorer les performances de son application AngularJS - ngParis - Meetup #11 @ Meetic (20)
10 astuces pour améliorer les performances de son application AngularJS - ngParis - Meetup #11 @ Meetic
1. Make it Better, Do it Faster!
10 astuces pour améliorer les performances
de son application AngularJS
26/05/14
2. Euh… mais t’es qui toi exactement ?
Jonathan Meiss
Manager équipe front-end chez Meetic
@JohnMeiss
3. Mon appli rame quand je veux
afficher une longue liste via ngRepeat
Problème #1
4. <ul>
<li ng-repeat="item in items | startFrom:currentPage*20 | limitTo:20">
{{item.name}}
</li>
</ul>
4
Astuce #1 : limitTo (pagination)
« Réduire le nombre d’éléments à afficher dans une liste
permet de réduire le temps de rendering. »
5. <ul infinite-scroll="addMoreItems()">
<li ng-repeat="item in items">
{{item.name}}
</li>
</ul>
5
Astuce #2 : ngInfiniteScroll
« Charger uniquement les premiers éléments d’une liste
permet de réduire le temps de rendering. »
http://binarymuse.github.io/ngInfiniteScroll
<>
6. <ul>
<li bindonce ng-repeat="item in items" bo-text="item.name"></li>
</ul>
6
Astuce #3 : Bindonce
« Passé les 2000 watchers, la page peut commencer à ramer.
Avec bindonce, cette liste n’a plus qu’un seul watcher ! »
https://github.com/Pasvaz/bindonce
<>
7. <ul>
<li ng-repeat="item in filteredItems()">{{item.name}}</li>
</ul>
7
Astuce #4 : pas de fonction inline !
« Besoin de filtrer la liste dans un contrôleur ?
N’utilisez pas une fonction pour récupérer la liste filtrée ! »
ngRepeat évalue l’expression à chaque $digest,
ce qui est fait très fréquemment.
<ul>
<li ng-repeat="item in items">{{item.name}}</li>
</ul>
8. <li ng-repeat="item in items">
{{item.name | myHeavyFilter}}
</li>
Astuce #5 : utiliser track by (>= 1.2)
Mise à jour d’une liste :
Angular supprime et recrée chaque élément dans le DOM
Mise à jour d’une liste :
Angular fait un diff des deux listes et ne créé / supprime que les éléments non
identiques.
<li ng-repeat="item in items track by item.id">
{{item.name | myHeavyFilter}}
</li>
9. Mon appli rame quand j’utilise ngIf
ou ngShow
Problème #2
10. <div ng-click="toggle = !toggle">Click</div>
<div ng-if="toggle" ng-repeat="item in oldItems">{{item.name}}</div>
<div ng-if="!toggle" ng-repeat="item in newItems">{{item.name}}</div>
10
Astuce #6 : bien utiliser ngShow
« ngShow rend l’élément dans le DOM
même si il n’est pas visible. »
<div ng-click="toggle = !toggle">Click</div>
<div ng-show="toggle" ng-repeat="item in oldItems">{{item.name}}</div>
<div ng-show="!toggle" ng-repeat="item in newItems">{{item.name}}</div>
11. <li ng-repeat="item in items" ng-click="expand = !expand">
{{item.name}}
<span ng-show="expand">{{item.description}}</span>
</li>
11
Astuce #7 : bien utiliser ngIf
« Contrairement à ngShow,
ngIf empêche le rendering de l’élément dans le DOM »
<li ng-repeat="item in items" ng-click="expand = !expand">
{{item.name}}
<span ng-if="expand">{{item.description}}</span>
</li>
13. $resource('/users', {}, {
query: {
method: ’GET’,
cache: true,
isArray: true
}
});
13
Astuce #8 : cache HTTP
« Activer le cache HTTP, permet de mettre en cache la requête
Et ainsi accélérer le prochain affichage de la page »
14. 14
Astuce #9 : $q.all()
« $q.all() permet de paralléliser les promises
puis de traiter chacun des résultats en même temps,
tout en choisissant l’ordre de traitement des réponses. »
16. Ce qui est important,
ce ne sont pas les millisecondes
passées à afficher une page mais
C’est La Performance Utilisateur
17. .when('/accounts', {
templateUrl: 'views/accounts/index.html’,
resolve: {
accountList: ['apiV1', function (apiV1) {
return apiV1.accountList().$promise;
}]
}
});
17
Astuce #10 : resolve
ngRouter attend que toutes les dépendances appelées dans
resolve soient résolues avant d’instancier le contrôleur puis
changer de route.
18. Est-ce que ça veut dire que je
dois utiliser resolve pour
chaque route ?
20. Tout est une question de perception
Montrez à votre utilisateur
qu’une action est en cours…
…ce bon vieux spinner
(HttpInterceptor est votre ami)
21. Tout est une question de perception
Mais ne le mettez pas à
chaque fois non plus !
…l’utilisateur considère une action
comme étant instantanée si elle
prend moins de 100ms
22. Tout est une question de perception
La technique de « l’apéro »…
…donnez-lui quelque chose à grignoter pendant que l’application est en train
de mijoter
Filtrer une liste via des filter et non dans le controller
SANS track by :
- Angular génère un $$hashKey par objet
- Si mise à jour de la liste : nouveau $$hashKey pour chaque élément même si ils sont identiques
Donc tous les éléments sont supprimés et recréés dans le DOM => coûteux surtout si vous appliquez un filtre ou une directive à chaque élément
AVEC track by :
- Angular utilise l’ID de l’objet
- Si mise à jour de la liste : Angular fait un diff de la liste et ne supprime pas / recréé pas les éléments identiques
Autre exemple : un menu qu’on fait apparaître en cliquant sur un bouton.
Utiliser ngShow et pas ngIf, surtout si on rajoute une animation
ngShow compile des directives
ngIf empêche la compilation des directives
Exemple : calculer la somme des âges des membres de Meetic en requêtant chacun des profils
Permet d’éviter l’imbrication de callbacks et donc le synchronisme
On évite ainsi d’afficher une page non complète et que l’utilisateur ait la sensation que l’application rame