Samir ROUABHI's slides for the presentation "The Future of Javascript" in The Algiers Developer Meetup (http://algiers-meetup.org/) 3rd of october, 2015
Consul est une registry de service. A l'heure des microservices elle constitue un élément essentiel pour dynamiser votre infrastructure et pratiquer de l'autodiscovery.
Présentations vidéos : https://youtu.be/Esfh2WT5VX0
Samir ROUABHI's slides for the presentation "The Future of Javascript" in The Algiers Developer Meetup (http://algiers-meetup.org/) 3rd of october, 2015
Consul est une registry de service. A l'heure des microservices elle constitue un élément essentiel pour dynamiser votre infrastructure et pratiquer de l'autodiscovery.
Présentations vidéos : https://youtu.be/Esfh2WT5VX0
Source : https://youtu.be/pHeZ8UlAQ_8
Dans cette présentation, vous pourrez découvrir comment mettre en place une infrastructure avec plusieurs raspberry pi avec ansible :
- créer des users et les gérer
- mettre en place des règles iptables
- monitorer les serveurs
- créer des métriques et les remonter
- mettre en place haproxy pour servir des applications
- disposer du https avec let'sencrypt
Articulé autour de C++ 11, cette session amène celui qui y assiste aux fondamentaux du développement logiciel : libraries, dépendances, TR1 et C++0X les fondations de C++ 11, runtime C alias CRT, runtime C++ alias STL, agilité en C++, ALM en C++, Windows 8 et C++, C++ et Windows 8 avec le nouveau modèle COM nommé WRL.
C++11 introduit les fonctions lambda : qu'est-ce que c'est ? Comment (bien) les utiliser ? Voici le support d'une présentation donnée à l'occasion des rencontres C++ à Montpellier le 21 oct. 2014.
Comment débuter en devops et apprendre à réaliser son premier pipeline. Très facilement et en toute simplicité.
Une formation gratuite pour s'initier au devops.
https://youtu.be/tiSfXCM8VTw
https://gitlab.com/xavki/pipeline-saison-1
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Microsoft
Le C++ a vécu un tel renouveau ces dernières années avec la publication de C++11 (et l'arrivée imminente de C++14) que l'on peut dire qu'il y a une rupture, un avant et un après. Ce changement dans le style de programmation transparait dans chaque ligne de code et se reconnait du premier coup d’œil. À chaque nouvelle version, Visual C++ se rapproche un peu plus du support de la norme, permettant d'écrire du code plus lisible, plus robuste et plus rapide. Plus qu'un simple catalogue des fonctionnalités du langage prises en compte par Visual C++2013, cette présentation a pour ambition de vous montrer, par des exemples concrets, quels bénéfices vous pouvez tirer du C++ moderne. Au détour de ces exemples, on mettra en œuvre la sémantique de déplacement, les fonctions par défaut ou interdites, l'initialisation uniforme, les alias de types... en démasquant quelques pièges à éviter, mais surtout en présentant des pratiques sur lesquels s'appuyer pour apprivoiser ce langage moderne qu'est le C++. On fera enfin un petit point sur l'état d'avancement de Visual C++ par rapport à la norme, et sur la feuille de route présentée par les équipes de développement de Visual C++.
Speakers : Christophe Pichaud (Sogeti), Loïc Joly (Cast)
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
The Future of JavaScript, presented by Samir Rouabhi at the 3rd edition of Algiers Developer Meetup, which was held at Djezzy Training Center on October 3rd, 2015
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
Votre mission, si vous l'acceptez : collecter chez chaque client 500 métriques par seconde sur un réseau Modbus, stocker plusieurs jours de données localement, et pousser des métriques sous échantillonnées dans le cloud. Les contraintes incluent la remontée des contextes de défaut, l’envoi de commande sécurisée depuis le cloud, l’isolation des données entre clients, la connexion temps réel via websocket, la gestion des coupures de courant et d’internet. Le système tourne sur une PINE64, avec une base de donnée open source française !
Lors de l’Algeria Java Day, Mr Farouk Korteby, actuellement responsable technique chez Founouvel Informatics a présenté une conférence sous le thème Java vs .Net ou il a confronté les deux technologies d’après plusieurs critères. Il a commencé par un bref historique dans lequel il a mis en évidence la différence entre Microsoft et Sun Microsystems et le fait que la plateforme .NET comporte beaucoup de points de similitude avec la plateforme JAVA qui est née au préalable. Ensuite il a présenté les deux plateformes avec leurs différentes librairies, leurs machines virtuelles et leur packaging. Il a par la suite comparé leurs outils de développement (Eclipse IDE et NetBeans IDE pour JAVA ; Microsoft Visual studio express et standard pour .NET). Le conférencier a exposé les dissimilitudes entre le langage JAVA et C# suivant la présentation des classes, les types de données, l’héritage, l’Orienté Objet… et puis il a évalué les deux plateformes selon les applications de bureau et de serveur. Pour ce qui est des applications mobile le Java ME et l’Android (Google) furent comparé aux .NET Compact Framework et le .NET Micro Framework. Et puis enfin la sécurité des deux fut développée. Mr Korteby a conclu que fonctionnellement y’a pas une grande différence entre les deux plateformes d’une manière générale et que le choix entre ces deux technologies dépendrait plus du contexte d’utilisation. Il a fini avec la phrase suivante, je cite : ‘’ AVEC .NET C’EST PLUS FACILE MAIS AVEC JAVA C’EST PLUS PASSIONNANT. ‘’
Source : https://youtu.be/pHeZ8UlAQ_8
Dans cette présentation, vous pourrez découvrir comment mettre en place une infrastructure avec plusieurs raspberry pi avec ansible :
- créer des users et les gérer
- mettre en place des règles iptables
- monitorer les serveurs
- créer des métriques et les remonter
- mettre en place haproxy pour servir des applications
- disposer du https avec let'sencrypt
Articulé autour de C++ 11, cette session amène celui qui y assiste aux fondamentaux du développement logiciel : libraries, dépendances, TR1 et C++0X les fondations de C++ 11, runtime C alias CRT, runtime C++ alias STL, agilité en C++, ALM en C++, Windows 8 et C++, C++ et Windows 8 avec le nouveau modèle COM nommé WRL.
C++11 introduit les fonctions lambda : qu'est-ce que c'est ? Comment (bien) les utiliser ? Voici le support d'une présentation donnée à l'occasion des rencontres C++ à Montpellier le 21 oct. 2014.
Comment débuter en devops et apprendre à réaliser son premier pipeline. Très facilement et en toute simplicité.
Une formation gratuite pour s'initier au devops.
https://youtu.be/tiSfXCM8VTw
https://gitlab.com/xavki/pipeline-saison-1
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Microsoft
Le C++ a vécu un tel renouveau ces dernières années avec la publication de C++11 (et l'arrivée imminente de C++14) que l'on peut dire qu'il y a une rupture, un avant et un après. Ce changement dans le style de programmation transparait dans chaque ligne de code et se reconnait du premier coup d’œil. À chaque nouvelle version, Visual C++ se rapproche un peu plus du support de la norme, permettant d'écrire du code plus lisible, plus robuste et plus rapide. Plus qu'un simple catalogue des fonctionnalités du langage prises en compte par Visual C++2013, cette présentation a pour ambition de vous montrer, par des exemples concrets, quels bénéfices vous pouvez tirer du C++ moderne. Au détour de ces exemples, on mettra en œuvre la sémantique de déplacement, les fonctions par défaut ou interdites, l'initialisation uniforme, les alias de types... en démasquant quelques pièges à éviter, mais surtout en présentant des pratiques sur lesquels s'appuyer pour apprivoiser ce langage moderne qu'est le C++. On fera enfin un petit point sur l'état d'avancement de Visual C++ par rapport à la norme, et sur la feuille de route présentée par les équipes de développement de Visual C++.
Speakers : Christophe Pichaud (Sogeti), Loïc Joly (Cast)
Android, Spring, Gradle et de nombreux autres projets apportent leur soutien au langage Kotlin. Fin 2017, Kotlin tient-il ses promesses ?
Retour d’expérience sur le langage, ses avantages et inconvénients sur un projet Mobile, un projet Back et bien plus.
The Future of JavaScript, presented by Samir Rouabhi at the 3rd edition of Algiers Developer Meetup, which was held at Djezzy Training Center on October 3rd, 2015
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
Votre mission, si vous l'acceptez : collecter chez chaque client 500 métriques par seconde sur un réseau Modbus, stocker plusieurs jours de données localement, et pousser des métriques sous échantillonnées dans le cloud. Les contraintes incluent la remontée des contextes de défaut, l’envoi de commande sécurisée depuis le cloud, l’isolation des données entre clients, la connexion temps réel via websocket, la gestion des coupures de courant et d’internet. Le système tourne sur une PINE64, avec une base de donnée open source française !
Lors de l’Algeria Java Day, Mr Farouk Korteby, actuellement responsable technique chez Founouvel Informatics a présenté une conférence sous le thème Java vs .Net ou il a confronté les deux technologies d’après plusieurs critères. Il a commencé par un bref historique dans lequel il a mis en évidence la différence entre Microsoft et Sun Microsystems et le fait que la plateforme .NET comporte beaucoup de points de similitude avec la plateforme JAVA qui est née au préalable. Ensuite il a présenté les deux plateformes avec leurs différentes librairies, leurs machines virtuelles et leur packaging. Il a par la suite comparé leurs outils de développement (Eclipse IDE et NetBeans IDE pour JAVA ; Microsoft Visual studio express et standard pour .NET). Le conférencier a exposé les dissimilitudes entre le langage JAVA et C# suivant la présentation des classes, les types de données, l’héritage, l’Orienté Objet… et puis il a évalué les deux plateformes selon les applications de bureau et de serveur. Pour ce qui est des applications mobile le Java ME et l’Android (Google) furent comparé aux .NET Compact Framework et le .NET Micro Framework. Et puis enfin la sécurité des deux fut développée. Mr Korteby a conclu que fonctionnellement y’a pas une grande différence entre les deux plateformes d’une manière générale et que le choix entre ces deux technologies dépendrait plus du contexte d’utilisation. Il a fini avec la phrase suivante, je cite : ‘’ AVEC .NET C’EST PLUS FACILE MAIS AVEC JAVA C’EST PLUS PASSIONNANT. ‘’
Nouvelle application, la décision de partir sur Node.js est prise. L'application commence petite puis le nombre de features et de développeurs augmentent. Les 1ers refactoring cossus arrivent et ne se passent pas vraiment comme prévu pourtant nous avons 100% de coverage… Est ce lié au manque de typage de JS ? Est ce que TypeScript aurait évité ça ? Ou finalement est ce que c'est notre façon d'écrire notre code (et les tests) qu'il faut remettre en cause ?
Après quelques refactoring et bugfix l'application part en prod. Les utilisateurs commencent à remonter quelques soucis, en regardant les logs on prend peur, très difficile de s'y retrouver… Venant du monde Java on est surpris par le manque de maturité des frameworks et librairies Node.js, notamment au niveau de la gestion des logs et des erreurs.
Toutes ces (mes)aventures nous ont permis de prendre du recul sur le développement avec JS, nous vous proposons un retour d'expérience sur cette odyssée qui est toujours en cours.
10. Mac OS X
Applications
Application
Frameworks
Cocoa, WebKit, ...
Core Technologies CoreGraphics, CoreFoundation, ...
Darwin Kernel, userland, libdispatch, ...
11. Ruby sur OS X
2002 Mac OS X 10.2 Ruby 1.6.7
2005 Mac OS X 10.4 Ruby 1.8.2
2007 Mac OS X 10.5 Ruby 1.8.6
RubyCocoa, gems, Rails
2009 Mac OS X 10.6 Ruby 1.8.7
RubyCocoa, gems, Rails
20xx ? Sky is the limit
12. Ruby sur OS X
• Ruby sur une plateforme Unix...
• Avec quelques agréments en plus...
par ex: mongrel_rails_persists:
intégration launchd, bonjour
• Et Cocoa alors ?
22. MacRuby
• One GC to release them all
• One runtime to bind them
• In the land of Cocoa where Obj-C lie
23. MacRuby
• One GC to release them all
• One runtime to bind them
• In the land of Cocoa where Obj-C lie
• Et HotCocoa pour rubyfier le tout
24. MacRuby
Laurent Sansonetti
(Apple)
Vincent Isambart
Kich Kilmer
Eloy Duran
Ben Stiglitz
Matt Aimonetti
...
http://www.macruby.org
http://twitter.com/macruby
25. En toute simplicité...
• La meilleure plateforme pour les devs Ruby
• Une plateforme de qualité pour les devs Cocoa
43. Grand Central
# A GCD-based implementation of the sleeping barber problem:
# http://en.wikipedia.org/wiki/Sleeping_barber_problem
# http://www.madebysofa.com/#blog/the_sleeping_barber
waiting_chairs = Dispatch::Queue.new('com.apple.waiting_chairs')
semaphore = Dispatch::Semaphore.new(3)
index = -1
while true
index += 1
success = semaphore.wait(Dispatch::TIME_NOW)
if success != 0
puts "Customer turned away #{index}"
next
end
waiting_chairs.dispatch do
semaphore.signal
puts "Shave and a haircut #{index}"
end
end