SlideShare a Scribd company logo
Pablo Godel @pgodel - tek.phparch.com
May 15th 2013 - Chicago, IL
https://joind.in/8177
Building Web Apps From a
New Angle with AngularJS
Wednesday, May 15, 13
Who Am I?
⁃ Born in Argentina, living in the US since 1999
⁃ PHP & Symfony developer
⁃ Founder of the original PHP mailing list in spanish
⁃ Master of the parrilla
⁃ Co-founder of ServerGrove
Wednesday, May 15, 13
Wednesday, May 15, 13
Wednesday, May 15, 13
⁃ Founded ServerGrove Networks in 2005
⁃ Provider of web hosting specialized in PHP,
Symfony, ZendFramework, MongoDB and others
⁃ Servers in USA and Europe!
ServerGrove!
Wednesday, May 15, 13
⁃ Very active open source supporter through code
contributions and usergroups/conference sponsoring
Community is our teacher
Wednesday, May 15, 13
In the beginning there was HTML...
Wednesday, May 15, 13
Wednesday, May 15, 13
Then it came JavaScript
Wednesday, May 15, 13
Then it came JavaScript
and it was not cool...
Wednesday, May 15, 13
It was Important Business!
Wednesday, May 15, 13
It was Serious Business!
Wednesday, May 15, 13
It was Serious Business!
Wednesday, May 15, 13
Very Important Uses
Wednesday, May 15, 13
Image Rollovers!
Wednesday, May 15, 13
http://joemaller.com/javascript/simpleroll/simpleroll_example.html
Image Rollovers!
Wednesday, May 15, 13
Wednesday, May 15, 13
And then came AJAX...
Wednesday, May 15, 13
AJAX saved the Internets!
Wednesday, May 15, 13
2004 - 2006
Wednesday, May 15, 13
Wednesday, May 15, 13
New Breed of JS Frameworks
Wednesday, May 15, 13
Wednesday, May 15, 13
An introduction to
•100% JavaScript Framework
•MVC
•Opinionated
•Modular & Extensible
•Services & Dependency Injection
•Simple yet powerful Templating
•Data-binding heaven
•Input validations
•Animations! (new)
•Testable
•Many more awesome stuff...
Wednesday, May 15, 13
•Single Page Apps
•Responsive & Dynamic
•Real-time & Interactive
•Rich UI
•User Friendly
•I18n and L10n
•Cross-platform
•Desktop/Mobile
What can we do?
An introduction to
Wednesday, May 15, 13
<!doctype html>
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/
1.0.6/angular.min.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a
name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</body>
</html>
Templates
Wednesday, May 15, 13
<!doctype html>
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/
1.0.6/angular.min.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a
name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</body>
</html>
Templates &
Directives
Wednesday, May 15, 13
•ng-app
•ng-controller
•ng-model
•ng-bind
•ng-repeat
•ng-show & ng-hide
•your custom directives
•any more more...
http://docs.angularjs.org/api/ng
Directives
Wednesday, May 15, 13
ng-app
<html>
...
<body>
...
<div ng-app>
...
</div>
Bootstraps the app and defines its root. One per HTML
document.
Directives
<html>
...
<body ng-app>
...
<html ng-app>
...
Wednesday, May 15, 13
ng-controller
<html ng-app>
<body>
<div ng-controller=”TestController”>
Hello {{name}}
</div>
<script>
function TestController($scope) {
$scope.name = ‘Pablo’;
}
</script>
</body>
</html>
Defines which controller (function) will be linked to the view.
Directives
Wednesday, May 15, 13
ng-model
<html ng-app>
<body>
<div>
<input type=”text” ng-model=”name” />
<input type=”textarea” ng-model=”notes” />
<input type=”checkbox” ng-model=”notify” />
</div>
</body>
</html>
Defines two-way data binding with input, select, textarea.
Directives
Wednesday, May 15, 13
ng-bind
<html ng-app>
<body>
<div>
<div ng-bind=”name”></div>
{{name}} <!- less verbose -->
</div>
</body>
</html>
Replaces the text content of the specified HTML element with
the value of a given expression, and updates the content
when the value of that expression changes.
Directives
Wednesday, May 15, 13
ng-repeat
<html ng-app>
<body>
<div>
<ul>
<li ng-repeat="item in items">
{{$index}}: {{item.name}}
</li>
</ul>
</div>
</body>
</html>
Instantiates a template once per item from a collection. Each
template instance gets its own scope, where the given loop
variable is set to the current collection item, and $index is set
to the item index or key.
Directives
Wednesday, May 15, 13
ng-show & ng-hide
<html ng-app>
<body>
<div>
Click me: <input type="checkbox" ng-model="checked"><br/>
<span ng-show="checked">Yes!</span>
<span ng-hide="checked">Hidden.</span>
</div>
</body>
</html>
Show or hide a portion of the DOM tree (HTML) conditionally.
Directives
Wednesday, May 15, 13
Custom Directives
<html ng-app>
<body>
<div>
Date format: <input ng-model="format"> <hr/>
Current time is: <span my-current-time="format"></span>
</div>
</body>
</html>
Create new directives to extend HTML. Encapsulate complex
output processing in simple calls.
Directives
Wednesday, May 15, 13
$scope
function GreetCtrl($scope) {
$scope.name = 'World';
}
 
function ListCtrl($scope) {
$scope.names = ['Igor', 'Misko', 'Vojta'];
$scope.pop = function() {
$scope.names.pop();
}
}
...
<button ng-click=”pop()”>Pop</button>
Scope holds data model per controller. It detects
changes so data can be updated in the view.
http://docs.angularjs.org/guide/scope
Model
Wednesday, May 15, 13
•A collection of configuration and run blocks which get
applied to the application during the bootstrap process.
•Third-party code can be packaged in Modules
•Modules can list other modules as their dependencies
•Modules are a way of managing $injector configuration
•An AngularJS App is a Module
http://docs.angularjs.org/guide/module
Modules
Wednesday, May 15, 13
http://docs.angularjs.org/guide/module
<html ng-app=”myApp”>
<body>
<div ng-controller=”AppCtrl”>
Hello {{name}}
</div>
</body>
</html>
var app = angular.module('myApp', []);
app.controller( 'AppCtrl', function($scope) {
$scope.name = 'Guest';
});
Modules
Wednesday, May 15, 13
Filters typically transform the data to a new data
type, formatting the data in the process. Filters can
also be chained, and can take optional arguments
{{ expression | filter }}
{{ expression | filter1 | filter2 }}
123 | number:2
myArray | orderBy:'timestamp':true
Filters
Wednesday, May 15, 13
angular.module('MyReverseModule', []).
filter('reverse', function() {
return function(input, uppercase) {
var out = "";
// ...
return out;
}
});
Reverse: {{greeting|reverse}}<br>
Reverse + uppercase: {{greeting|reverse:true}}
Creating Filters
Wednesday, May 15, 13
$routeProvider.
when("/not_authenticated",{controller:NotAuthenticatedCtrl,
templateUrl:"app/not-authenticated.html"}).
when("/databases", {controller:DatabasesCtrl,
templateUrl:"app/databases.html"}).
when("/databases/add", {controller:AddDatabaseCtrl,
templateUrl:"app/add-database.html"}).
otherwise({redirectTo: '/databases'});
Routing
•http://example.org/#/not_authenticated
•http://example.org/#/databases
•http://example.org/#/databases/add
Wednesday, May 15, 13
Services
Angular services are singletons that carry out specific tasks
common to web apps. Angular provides a set of services for
common operations.
•$location - parses the URL in the browser address. Changes
to $location are reflected into the browser address bar
•$http - facilitates communication with the remote HTTP
servers via the browser's XMLHttpRequest object or via JSONP
•$resource - lets you interact with RESTful server-side data
sources
http://docs.angularjs.org/guide/dev_guide.services
Wednesday, May 15, 13
+
Wednesday, May 15, 13
• REST API
• Silex + responsible-service-provider
• Symfony2 + RestBundle
• ZF2 + ZfrRest
• WebSockets
• React/Ratchet
• node.js
• AngularJS + Twig = Awesoness
• AngularJS + Assetic = Small footprint
+
Wednesday, May 15, 13
<div> {{name}} </div> <!-- rendered by twig -->
{% raw %}
<div> {{name}} </div> <!-- rendered by AngularJS -->
{% endraw %}
AngularJS + Twig - Avoid conflicts
+
// application module configuration
$interpolateProvider.startSymbol('[[').endSymbol(']]')
....
<div> [[name]] </div> <!-- rendered by AngularJS -->
Wednesday, May 15, 13
// _users.html.twig
<script type="text/ng-template" id="users.html">
...
</script>
// _groups.html.twig
<script type="text/ng-template" id="groups.html">
...
</script>
// index.html.twig
{% include '_users.html.twig' %}
{% include '_groups.html.twig' %}
AngularJS + Twig - Preload templates
+
Wednesday, May 15, 13
{% javascripts
"js/angular-modules/mod1.js"
"js/angular-modules/mod2.js"
"@AppBundle/Resources/public/js/controller/*.js"
output="compiled/js/app.js"
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
AngularJS + Assetic - Combine & minimize
+
Wednesday, May 15, 13
Show me the CODE!
+
Wednesday, May 15, 13
+
Podisum http://github.com/pgodel/podisum
gitDVR http://github.com/pgodel/gitdvr
Generates summaries of Logstash events
Silex app
Twig templates
REST API
Advanced UI with AngularJS
Replays git commits
Wednesday, May 15, 13
+
Podisum
Apache access_log Logstash
Redis
Podisum redis-client
MongoDB
Podisum Silex App
Web Client
Wednesday, May 15, 13
•http://ngmodules.org/
•http://angular-ui.github.io/
•https://github.com/angular/angularjs-batarang
•https://github.com/angular/angular-seed
•Test REST APIs with Postman Chrome
Extension
Extras
Wednesday, May 15, 13
Questions?
+
Wednesday, May 15, 13
Thank you!
Rate Me Please! https://joind.in/8177
Slides: http://slideshare.net/pgodel
Twitter: @pgodel
E-mail: pablo@servergrove.com
Wednesday, May 15, 13

More Related Content

PPT
AngularJS for Legacy Apps
Peter Drinnan
 
PDF
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Matthew Davis
 
PDF
Learning from the Best jQuery Plugins
Marc Grabanski
 
PPTX
High Performance JavaScript (CapitolJS 2011)
Nicholas Zakas
 
PDF
Get Hip with JHipster - Denver JUG 2015
Matt Raible
 
PDF
Testing nightwatch, by David Torroija
David Torroija
 
PPT
Vue.js Getting Started
Murat Doğan
 
PPTX
Don't Over-React - just use Vue!
Raymond Camden
 
AngularJS for Legacy Apps
Peter Drinnan
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Matthew Davis
 
Learning from the Best jQuery Plugins
Marc Grabanski
 
High Performance JavaScript (CapitolJS 2011)
Nicholas Zakas
 
Get Hip with JHipster - Denver JUG 2015
Matt Raible
 
Testing nightwatch, by David Torroija
David Torroija
 
Vue.js Getting Started
Murat Doğan
 
Don't Over-React - just use Vue!
Raymond Camden
 

What's hot (20)

PDF
Getting Started with Angular - Stormpath Webinar, January 2017
Matt Raible
 
PDF
Ten practical ways to improve front-end performance
Andrew Rota
 
PDF
AngularJS best-practices
Henry Tao
 
KEY
New Perspectives on Performance
mennovanslooten
 
PDF
20160905 - BrisJS - nightwatch testing
Vladimir Roudakov
 
PDF
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
PDF
Writing Software not Code with Cucumber
Ben Mabey
 
PPTX
Single Page WebApp Architecture
Morgan Cheng
 
PDF
Night Watch with QA
Carsten Sandtner
 
PDF
The Point of Vue - Intro to Vue.js
Holly Schinsky
 
PPTX
What is HTML 5?
Susan Winters
 
PDF
GlobalLogic Test Automation Online TechTalk “Playwright — A New Hope”
GlobalLogic Ukraine
 
PDF
On Selecting JavaScript Frameworks (Women Who Code 10/15)
Zoe Landon
 
PDF
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
PDF
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...
Matt Raible
 
PDF
AngularJS performance & production tips
Nir Kaufman
 
PDF
Front Ends for Back End Developers - Spring I/O 2017
Matt Raible
 
PDF
Grunt.js and Yeoman, Continous Integration
David Amend
 
PDF
Instant and offline apps with Service Worker
Chang W. Doh
 
Getting Started with Angular - Stormpath Webinar, January 2017
Matt Raible
 
Ten practical ways to improve front-end performance
Andrew Rota
 
AngularJS best-practices
Henry Tao
 
New Perspectives on Performance
mennovanslooten
 
20160905 - BrisJS - nightwatch testing
Vladimir Roudakov
 
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
Writing Software not Code with Cucumber
Ben Mabey
 
Single Page WebApp Architecture
Morgan Cheng
 
Night Watch with QA
Carsten Sandtner
 
The Point of Vue - Intro to Vue.js
Holly Schinsky
 
What is HTML 5?
Susan Winters
 
GlobalLogic Test Automation Online TechTalk “Playwright — A New Hope”
GlobalLogic Ukraine
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
Zoe Landon
 
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...
Matt Raible
 
AngularJS performance & production tips
Nir Kaufman
 
Front Ends for Back End Developers - Spring I/O 2017
Matt Raible
 
Grunt.js and Yeoman, Continous Integration
David Amend
 
Instant and offline apps with Service Worker
Chang W. Doh
 
Ad

Viewers also liked (20)

PPTX
Basketball game
Peapod Ledesma
 
PDF
KVH DCNet 資料
KVH Co. Ltd.
 
PPTX
AOL_Baku_address
Ulviyya Mustafina
 
PDF
Putting the WOW into your School's WOM, ADVIS Presentation
Rick Newberry
 
PDF
Quiet room
Quietroom Label
 
PDF
Getting started
Mallikharjun M Phm
 
PPTX
Materi 4 String dan Boolean Expression
Robby Firmansyah
 
PPTX
Grammar book
raquel63485
 
PPTX
Public libraries and their budgets in 2010
Vicky Ludas Orlofsky
 
PDF
Offshore wind 180811
ghsdorpmans
 
PPT
Tools of the Trade
jmori1
 
DOCX
Ig1 assignment 2011_to_2012_updated_17.01.12
FirstClassProductions
 
PPTX
Инвесторы и налоговая политика Казахстана
АО "Самрук-Казына"
 
PDF
BuddyPress: Social Networks for WordPress
Michael McNeill
 
PPTX
Security One Home Safety
securityone
 
PPTX
Kodak EasyShare C143
rgryango
 
PPTX
Working Progress Ancillary
aq101824
 
PDF
하비인사업계획서0624홍보
비인 하
 
PDF
Terugblik en resultatenoverzicht 2010
Mieke Sanden, van der
 
PPT
Abc2011s lt0716
genesix, Inc
 
Basketball game
Peapod Ledesma
 
KVH DCNet 資料
KVH Co. Ltd.
 
AOL_Baku_address
Ulviyya Mustafina
 
Putting the WOW into your School's WOM, ADVIS Presentation
Rick Newberry
 
Quiet room
Quietroom Label
 
Getting started
Mallikharjun M Phm
 
Materi 4 String dan Boolean Expression
Robby Firmansyah
 
Grammar book
raquel63485
 
Public libraries and their budgets in 2010
Vicky Ludas Orlofsky
 
Offshore wind 180811
ghsdorpmans
 
Tools of the Trade
jmori1
 
Ig1 assignment 2011_to_2012_updated_17.01.12
FirstClassProductions
 
Инвесторы и налоговая политика Казахстана
АО "Самрук-Казына"
 
BuddyPress: Social Networks for WordPress
Michael McNeill
 
Security One Home Safety
securityone
 
Kodak EasyShare C143
rgryango
 
Working Progress Ancillary
aq101824
 
하비인사업계획서0624홍보
비인 하
 
Terugblik en resultatenoverzicht 2010
Mieke Sanden, van der
 
Abc2011s lt0716
genesix, Inc
 
Ad

Similar to Tek 2013 - Building Web Apps from a New Angle with AngularJS (20)

PDF
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
 
PPT
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
 
PDF
Use Web Skills To Build Mobile Apps
Nathan Smith
 
PDF
Max Voloshin - "Organization of frontend development for products with micros...
IT Event
 
PPT
Html javascript
Soham Sengupta
 
PPTX
An Introduction to Web Components
Red Pill Now
 
KEY
Intro To Django
Udi Bauman
 
PDF
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
ODP
Introduce Django
Chui-Wen Chiu
 
PPT
State of modern web technologies: an introduction
Michael Ahearn
 
PDF
Workshop 12: AngularJS Parte I
Visual Engineering
 
PDF
AngularJS for Web and Mobile
Rocket Software
 
PDF
Developing web applications in 2010
Ignacio Coloma
 
PDF
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Cyrille Le Clerc
 
ODP
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
Tim Stephenson
 
PPTX
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
PDF
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 
PDF
Intro to mobile web application development
zonathen
 
PDF
Dive into AngularJS and directives
Tricode (part of Dept)
 
PDF
Developing a Web Application
Rabab Gomaa
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
 
Use Web Skills To Build Mobile Apps
Nathan Smith
 
Max Voloshin - "Organization of frontend development for products with micros...
IT Event
 
Html javascript
Soham Sengupta
 
An Introduction to Web Components
Red Pill Now
 
Intro To Django
Udi Bauman
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
Introduce Django
Chui-Wen Chiu
 
State of modern web technologies: an introduction
Michael Ahearn
 
Workshop 12: AngularJS Parte I
Visual Engineering
 
AngularJS for Web and Mobile
Rocket Software
 
Developing web applications in 2010
Ignacio Coloma
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Cyrille Le Clerc
 
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
Tim Stephenson
 
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 
Intro to mobile web application development
zonathen
 
Dive into AngularJS and directives
Tricode (part of Dept)
 
Developing a Web Application
Rabab Gomaa
 

More from Pablo Godel (20)

PDF
SymfonyCon Cluj 2017 - Symfony at OpenSky
Pablo Godel
 
PDF
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Pablo Godel
 
PDF
DeSymfony 2017 - Symfony en OpenSky
Pablo Godel
 
PDF
Deploying Symfony | symfony.cat
Pablo Godel
 
PDF
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
PDF
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
 
PDF
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
PDF
The Modern Developer Toolbox
Pablo Godel
 
PDF
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
Pablo Godel
 
PDF
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
Pablo Godel
 
PDF
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
Pablo Godel
 
PDF
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Pablo Godel
 
PDF
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
Pablo Godel
 
PDF
Creating Mobile Apps With PHP & Symfony2
Pablo Godel
 
PDF
Tek13 - Creating Mobile Apps with PHP and Symfony
Pablo Godel
 
PDF
Soflophp 2013 - SysAdmin skills for PHP developers
Pablo Godel
 
PDF
Symfony2 and MongoDB - MidwestPHP 2013
Pablo Godel
 
PDF
Rock Solid Deployment of Web Applications
Pablo Godel
 
PDF
Codeworks'12 Rock Solid Deployment of PHP Apps
Pablo Godel
 
PDF
PFCongres 2012 - Rock Solid Deployment of PHP Apps
Pablo Godel
 
SymfonyCon Cluj 2017 - Symfony at OpenSky
Pablo Godel
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Pablo Godel
 
DeSymfony 2017 - Symfony en OpenSky
Pablo Godel
 
Deploying Symfony | symfony.cat
Pablo Godel
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
The Modern Developer Toolbox
Pablo Godel
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
Pablo Godel
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
Pablo Godel
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
Pablo Godel
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Pablo Godel
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
Pablo Godel
 
Creating Mobile Apps With PHP & Symfony2
Pablo Godel
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Pablo Godel
 
Soflophp 2013 - SysAdmin skills for PHP developers
Pablo Godel
 
Symfony2 and MongoDB - MidwestPHP 2013
Pablo Godel
 
Rock Solid Deployment of Web Applications
Pablo Godel
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Pablo Godel
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
Pablo Godel
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Software Development Methodologies in 2025
KodekX
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 

Tek 2013 - Building Web Apps from a New Angle with AngularJS