Namshi is an e-commerce company based in Dubai that has grown to over 250 employees and serves millions of visitors per month. Originally using a monolithic PHP architecture, they migrated to a microservices architecture using PHP, Node.js, RabbitMQ, and other tools to improve scalability, deployability, and maintainability. This involved breaking the monolith into independent services, implementing an event-driven messaging system, and building new frontends using JavaScript.
This is a talk I gave at IPC 2014 in Munich.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
PHP is the King, nodejs is the Prince and Lua is the fool.
An overview about how the IT architecture changed at Namshi, a fashion e-commerce based in Dubai
Phoenix web framework is awesome. Backed by the beauty and productive Elixir and performance and realibility of Erlang VM. This presentation is for Singapore Elixir Meetup in March 2016
The Dark Side of Single Page ApplicationsDor Kalev
The story of all the pitfalls we had while transferring FTBpro.com from the good old web to a Backbone single page application... and all the great solutions we've came up with
Jakiś czas temu mikroserwisy zawładnęły umysłami i duszami backend developerów. Teraz nadszedł czas, by i ci na froncie odeszli od wiecznie żywych monolitów. Za sprawą Webpacka 5 i Module Federation pojawiła się nowa i ciekawa opcja realizacji idei mikrofrontendów. W trakcie prezentacji opowiem o tym, jak zacząć i zbudować solidny komponent z module federation, ile różnych frameworków użyć i czy w ogóle wykorzystanie mikrofrontendów jest dla wszystkich.
This is a talk I gave at IPC 2014 in Munich.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
PHP is the King, nodejs is the Prince and Lua is the fool.
An overview about how the IT architecture changed at Namshi, a fashion e-commerce based in Dubai
Phoenix web framework is awesome. Backed by the beauty and productive Elixir and performance and realibility of Erlang VM. This presentation is for Singapore Elixir Meetup in March 2016
The Dark Side of Single Page ApplicationsDor Kalev
The story of all the pitfalls we had while transferring FTBpro.com from the good old web to a Backbone single page application... and all the great solutions we've came up with
Jakiś czas temu mikroserwisy zawładnęły umysłami i duszami backend developerów. Teraz nadszedł czas, by i ci na froncie odeszli od wiecznie żywych monolitów. Za sprawą Webpacka 5 i Module Federation pojawiła się nowa i ciekawa opcja realizacji idei mikrofrontendów. W trakcie prezentacji opowiem o tym, jak zacząć i zbudować solidny komponent z module federation, ile różnych frameworków użyć i czy w ogóle wykorzystanie mikrofrontendów jest dla wszystkich.
Here is the blog: http://www.aurorasolutions.io/architecture-workflow-of-modern-web-apps/
In the IT industry the biggest problem we regularly face is the abundance of choice. We have tons of frameworks, languages, tools, platforms, etc. Although for competition purposes; multiple choices are ultimately very good but we usually find ourselves in paralysis when we have to choose among them for our next project.
People usually still consider that (frontend) of web applications are created by mixing together HTML, CSS & JavaScript without giving any thoughts about the frontend architecture, workflow and testing; but things have definitely changed now since last couple of years and in this presentation I try to explain that how JavaScript and it’s related stuff has become first class citizen and how the new workflow looks like. And I will also explain that how the architecture of modern web applications is migrating from thick server-side applications to smart clients and services on their journey North to pure Microservices.
Here is the list of different tools and frameworks that have been discussed in this presentation:
* Yeoman: (http://yeoman.io/) Yeoman is the web’s scaffolding tool for modern webapps. Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive.
* Bower: (http://bower.io/) Bower is used for dependency management, so that you no longer have to manually download and manage your scripts. Web sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.
* Grunt: (http://gruntjs.com/) Grunt is a task-based command line build tool for JavaScript projects. When you work on large projects you have couple of things that you do regularly and you would like them to be automated; Grunt is the tool to solve that problem!
* HTML5 Boilerplate: (https://html5boilerplate.com/) HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites.
* Twitter Bootstrap: (http://getbootstrap.com/2.3.2/) Sleek, intuitive, and powerful front-end framework for faster and easier web development.
* Jasmine: (https://github.com/jasmine/jasmine) Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.
* Karma: (https://github.com/karma-runner/karma/) A simple tool that allows you to execute JavaScript code in multiple real browsers.
* PhantomJS: (https://github.com/ariya/phantomjs/) PhantomJS is a headless WebKit scriptable with JavaScript.
* Protractor: (https://github.com/angular/protractor) Protractor is an end-to-end test framework for AngularJS applications.
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
My session at ITCamp.ro 2012:
Web site development is an ever changing landscape. Thanks to the latest web browser technologies it's possible to create highly responsive single page applications, requiring a new approach to design and development on the server side. During this session we'll see ho to use .Net technologies to get the best out of the new Web API, WebSockets and the excellent RSignal framework.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Python is known for its simple, easy to learn, quick turnaround delivery of application development. NexSoftSys is convenient to develop customized python based application for your business needs.
In this article, I’d like to tell you about 7 Node JS project ideas that will help you train your skills, build an impressive portfolio, and get hired.
For some time, I’m publishing the lists of projects that you can use to practice the coding skills that you’ve just learned. I was focusing mostly on frontend technologies, but today I decided to jump to the Javascript backend framework called Node JS.
The latest midpoint of Summer’17 collection of news from JavaScript universe.
Browser news:
Chrome 59 update
Chrome 60 Beta
Safari Technology Preview 32
WebKit Support for WebAssembly
Firefox 54
Misc:
Building the Web of Things
Node.js Will Overtake Java Within a Year: Analysis
New releases:
React v15.6.0
New libs:
Data-Pixels
Moon
vx
SmartPhoto
Embedo
Microtip
Prettier
Tinytime
Moon.js
Birdview.js
Timeline.js
JavaScript news, March '17 edition: new libs, new releases (Angular 4, Next.js 2.0 is out), IDE news, browser news ( Safari 10.1 out, Firefox 54 dev edition, Firefox 52), misc & some statistics
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
There are cases when product has a lot of business logic and want's to share it across web and mobile platforms, especially when the web part uses React and mobile - React Native. Sharable code adds development speed, simplified communication between teams, removes behaviour differences between web and mobile. At the same time there are a lot of things which can increase a solution complexity and add some limits to the final product.
Blazor is a WebAssembly (Wasm) technology.
A WebAssembly is a safe, portable, low-level code format designed for efficient execution and compact representation.
These slides are used in my DevDay.be 2018 presentation.
Angular 1.x reloaded: improve your app now! and get ready for 2.0Carlo Bonamico
The buzz about the upcoming major reincarnation of AngularJS, with its hot mix of excitement and critics, has somehow shadowed the immediate gains enabled by the recent 1.3 and 1.4 releases.
This code-based talk will introduce concepts such as the "Controller As" syntax, component-based directives, the new router and bind once, to demonstrate how mixing these currently available Angular features with good design patterns (and a bit of ES6) provides concrete improvements in performance, modularity, testability and developer productivity to our apps now.
Furthermore, it will show how the main ideas at the basis of Angular 2.0 (API simplification, consistency, even more componentization and interoperability with ES6 and Web Components) can be applied to the design and implementation of 1.x applications, helping us both being more productive now & simplifying the upgrade to the "new" Angular.
These slides provide an overview of .NET Core and also the changes to ASP.NET Core after the RC2 release. There is also some demos and source code.
This talk was given at the Let's Dev This Roadshow in London, ON on May 26, 2016.
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...Codemotion
At Namshi, an e-commerce retailer based in Dubai serving the UAE and GCC, we are using different technologies to boost our architecture. We started with a common architecture based on PHP Nginx, Mysql and Memcache: the usual suspects. During last year the architecture changed a lot, using an SOA paradigm to meet expectations and the huge increase of traffic from several millions users throughout the year. But there’s more… In this talk we will show how funny, easy and rewarding is to integrate different technologies in your stack, with PHP always being the king of the whole system.
It is official: MySQL listens to HTTP and speaks JSON. MySQL got a new plugin that lets HTTP clients and JavaScript users connect to MySQL using HTTP. The development preview brings three APIs: key-document for nested JSON documents, CRUD for JSON mapped SQL tables and plain SQL with JSON replies. More so: MySQL 5.7.4 has SQL functions for modifying JSON, for searching documents and new indexing methods!
Here is the blog: http://www.aurorasolutions.io/architecture-workflow-of-modern-web-apps/
In the IT industry the biggest problem we regularly face is the abundance of choice. We have tons of frameworks, languages, tools, platforms, etc. Although for competition purposes; multiple choices are ultimately very good but we usually find ourselves in paralysis when we have to choose among them for our next project.
People usually still consider that (frontend) of web applications are created by mixing together HTML, CSS & JavaScript without giving any thoughts about the frontend architecture, workflow and testing; but things have definitely changed now since last couple of years and in this presentation I try to explain that how JavaScript and it’s related stuff has become first class citizen and how the new workflow looks like. And I will also explain that how the architecture of modern web applications is migrating from thick server-side applications to smart clients and services on their journey North to pure Microservices.
Here is the list of different tools and frameworks that have been discussed in this presentation:
* Yeoman: (http://yeoman.io/) Yeoman is the web’s scaffolding tool for modern webapps. Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive.
* Bower: (http://bower.io/) Bower is used for dependency management, so that you no longer have to manually download and manage your scripts. Web sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.
* Grunt: (http://gruntjs.com/) Grunt is a task-based command line build tool for JavaScript projects. When you work on large projects you have couple of things that you do regularly and you would like them to be automated; Grunt is the tool to solve that problem!
* HTML5 Boilerplate: (https://html5boilerplate.com/) HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites.
* Twitter Bootstrap: (http://getbootstrap.com/2.3.2/) Sleek, intuitive, and powerful front-end framework for faster and easier web development.
* Jasmine: (https://github.com/jasmine/jasmine) Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.
* Karma: (https://github.com/karma-runner/karma/) A simple tool that allows you to execute JavaScript code in multiple real browsers.
* PhantomJS: (https://github.com/ariya/phantomjs/) PhantomJS is a headless WebKit scriptable with JavaScript.
* Protractor: (https://github.com/angular/protractor) Protractor is an end-to-end test framework for AngularJS applications.
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
My session at ITCamp.ro 2012:
Web site development is an ever changing landscape. Thanks to the latest web browser technologies it's possible to create highly responsive single page applications, requiring a new approach to design and development on the server side. During this session we'll see ho to use .Net technologies to get the best out of the new Web API, WebSockets and the excellent RSignal framework.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Python is known for its simple, easy to learn, quick turnaround delivery of application development. NexSoftSys is convenient to develop customized python based application for your business needs.
In this article, I’d like to tell you about 7 Node JS project ideas that will help you train your skills, build an impressive portfolio, and get hired.
For some time, I’m publishing the lists of projects that you can use to practice the coding skills that you’ve just learned. I was focusing mostly on frontend technologies, but today I decided to jump to the Javascript backend framework called Node JS.
The latest midpoint of Summer’17 collection of news from JavaScript universe.
Browser news:
Chrome 59 update
Chrome 60 Beta
Safari Technology Preview 32
WebKit Support for WebAssembly
Firefox 54
Misc:
Building the Web of Things
Node.js Will Overtake Java Within a Year: Analysis
New releases:
React v15.6.0
New libs:
Data-Pixels
Moon
vx
SmartPhoto
Embedo
Microtip
Prettier
Tinytime
Moon.js
Birdview.js
Timeline.js
JavaScript news, March '17 edition: new libs, new releases (Angular 4, Next.js 2.0 is out), IDE news, browser news ( Safari 10.1 out, Firefox 54 dev edition, Firefox 52), misc & some statistics
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
There are cases when product has a lot of business logic and want's to share it across web and mobile platforms, especially when the web part uses React and mobile - React Native. Sharable code adds development speed, simplified communication between teams, removes behaviour differences between web and mobile. At the same time there are a lot of things which can increase a solution complexity and add some limits to the final product.
Blazor is a WebAssembly (Wasm) technology.
A WebAssembly is a safe, portable, low-level code format designed for efficient execution and compact representation.
These slides are used in my DevDay.be 2018 presentation.
Angular 1.x reloaded: improve your app now! and get ready for 2.0Carlo Bonamico
The buzz about the upcoming major reincarnation of AngularJS, with its hot mix of excitement and critics, has somehow shadowed the immediate gains enabled by the recent 1.3 and 1.4 releases.
This code-based talk will introduce concepts such as the "Controller As" syntax, component-based directives, the new router and bind once, to demonstrate how mixing these currently available Angular features with good design patterns (and a bit of ES6) provides concrete improvements in performance, modularity, testability and developer productivity to our apps now.
Furthermore, it will show how the main ideas at the basis of Angular 2.0 (API simplification, consistency, even more componentization and interoperability with ES6 and Web Components) can be applied to the design and implementation of 1.x applications, helping us both being more productive now & simplifying the upgrade to the "new" Angular.
These slides provide an overview of .NET Core and also the changes to ASP.NET Core after the RC2 release. There is also some demos and source code.
This talk was given at the Let's Dev This Roadshow in London, ON on May 26, 2016.
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...Codemotion
At Namshi, an e-commerce retailer based in Dubai serving the UAE and GCC, we are using different technologies to boost our architecture. We started with a common architecture based on PHP Nginx, Mysql and Memcache: the usual suspects. During last year the architecture changed a lot, using an SOA paradigm to meet expectations and the huge increase of traffic from several millions users throughout the year. But there’s more… In this talk we will show how funny, easy and rewarding is to integrate different technologies in your stack, with PHP always being the king of the whole system.
It is official: MySQL listens to HTTP and speaks JSON. MySQL got a new plugin that lets HTTP clients and JavaScript users connect to MySQL using HTTP. The development preview brings three APIs: key-document for nested JSON documents, CRUD for JSON mapped SQL tables and plain SQL with JSON replies. More so: MySQL 5.7.4 has SQL functions for modifying JSON, for searching documents and new indexing methods!
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...Bojan Veljanovski
The complete demo project from my CodeCamp's 2013 session "AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA" can be found on github: http://bit.ly/JqrJWm
Building Node.js based APIs in minutes. Achieve full-stack JavaScript, Offline Sync, Geolocation, REST API / JSON, ORM and API Management in open source. Write your own connectors, work on express.js. Create MEAN stack applications connecting Angular to Node to MongoDB. Presented at the Connect.js conference in Atlanta
Introductory slide set on the new client side framework on SharePoint platform which introduces by Microsoft. This slide-deck has been used by me in the local user group speak-up had in the year 2016. @kushanlahiru
We at Mobicules are experts at designing and implementing great solutions using Symfony.
Symfony is a great framework to build sophisticated, maintainable, extendable and scalable applications using php. Following the MVC paradigm, it keeps code maintainable, and heavily minimizes the number of repetitive tasks that need to be performed while building and maintaining the application.
Symfony is very well suited for building applications in the enterprise context. With its enforcement of the MVC paradigm, configuration controls over libraries and databases, extensive debug and documentation tools, and ability to play with various relational databases, it is an excellent choice to build the most complex of web applications.
Whether you are looking for a Travel Site, a Social Network, an ERP system or any other kind of web application, trust us to come up with a robust and intelligent solution for your application using Symfony. Please send in your requirement to info@mobicules.com.
Seven years experience mainly in Java, J2EE and WebSphere family.
Four years experience in JSR-286 Portlets, Portlet filters, theme profiles, theme modules and other portal services with WebSphere Portal Server 8.0 and 8.5.
Two years of experience in business processes, coaches, and external activities with IBM WebSphere BPM 7.5.1. One year experience in mediation modules, mediation flow components, mediation primitives, unified common data structures, data transformation, business processes and SOA solutions with WebSphere Enterprise Service Bus and WebSphere Process Server.
Enough experience in managing and classifying documents by IBM FileNet Content Engine, Application Engine 4.5.
Mohamed is an XSBMer, he worked in SBM for four years. Now, He is working for NTG Clarity as a Team Lead.
One of JavaScript’s strengths is how it handles asynchrony. Async is one of the most important and often misunderstood part of Javascript or any other language. We will see how dealing with asynchrony in JavaScript evolved over the years. It all started with callbacks, it landed on generators and...
One of JavaScript’s strengths is how it handles asynchronous code. Async is one of the most important and often misunderstood part of Javascript or any other language. Async is hard because we, as human beings, can’t do two conscious actions at once and think about both of them at the same moment. In this talk we will see how asynchronous JavaScript evolved over the years. It all started with callbacks… and it landed on generators!
Presentation I presented at Codemotion 2015 in Rome.
It's about how to build and share reproducible, portable development environments with Vagrant and Docker
Presentation given during the phpDay 2014 in Verona.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
Webinar Zend, http://www.zend.com/it/company/news/event/1081_webinar-introduzione-a-git
Introduzione a GIT, ai comandi principali, qualche trucchetto e best practice
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
22. “A software design based on discrete software
components, "services", that collectively
provide the functionalities of the larger
software application”
– A.Nadalin (@_odino_)
23. FULL STACK IS DEAD!
“Microservice Architecture" […] a particular way
of designing software applications
as suites of independently deployable services…”
– M.Fowler
28. HTTP
A protocol that is almost 25 years old
and is here to stay!
29. GET vs POST
“The difference is that in
a GET request you have the parameters in the url ,
with
a POST the parameters are in the request’s body”
answered by 80% of candidates during the interview
36. Rabbitmq
Language and protocol format agnostic
You can easily create an event driven
architecture
Messages stay in the queue if a service
goes down
Too many messages? add more consumers!
38. PHP
It follows standards (PSR-*)
Decoupled components
Huge and active opensource community
Easy to plug in your domain code
Not just a framework, but a project…
Designed starting from the HTTP protocol
74. redis
Key types: lists, hashes, sets, sorted sets
Persistent to disk
Up to 512MB per key
Pub/sub
Transactions with optimistic locking
Lua scripting embedded