SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
das web
wird mobil
Stephan Schmidt, 1&1 Internet AG




International PHP Conference 2012
Hotel Maritim proArte, Berlin
bei
Arbeit
Sport
und
Spiel
ich suche cup-
cakes in meiner
nähe.
schritt eins:
wo bin ich?
geolocation vor
dem jahr 2008:
91.22.203.142
where the heck is
oberderdingen?
google weiß
ziemlich genau
wo* ich bin.
* und zwar nicht in oberderdingen.
geolocation im
jahr 2012:
geographische länge




 48.96977,8.613199

geographische breite
breitengrade




längengrade
woher weiß
mein browser
das?
geolocation
api
+
agie!
    etw   asM
und
die Magie ist aus
javascript nutz-
bar.
if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition (
      function(position) {
         // location retrieved
      },
      function(error) {
         // error happened
      }
   );
}
Geoposition
  coords : Coordinates
    accuracy : 65 // meter
    altitude : null
    altitudeAccuracy : null
    heading : null
    latitude : 52.518328398571434
    longitude : 13.387145829999998
    speed : null
PositionError
  code : 1
  constructor : PositionErrorConstructor
    PERMISSION_DENIED : 1
    POSITION_UNAVAILABLE : 2
    TIMEOUT : 3
  message: "User denied Geolocation"
navigator.geolocation.getCurrentPosition(
  function(position) {...},
  function(error) {...},
  {
     enableHighAccuracy : true,
     timeout : 5000, // milliseconds
     maximumAge : 1000 * 60 // milliseconds
  }
  );
}
navigator.geolocation.watchPosition (
   function(pos) {
      // position changed
   },
   function(error) {
      // error happened
  }
)
9.0+   3.5+   5.0+   5.0+   10.6+




       3.0+          2.0+
where the heck is
52.51832,13.387145?
var latlon = new google.maps.LatLng(pos.coords.latitude,
                                    pos.coords.longitude);
var options = {
   zoom: 15,
   center: latlon,
   mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map($("#map"), options);

var marker = new google.maps.Marker({
  position: latlon,
  map: map,
  title:"Sie sind hier!"
});
menschen
wollen lieber
adressen.
http://maps.google.com/
maps/api/service/output?
latlng=lat,lon&sensor=false
geocode

http://maps.google.com/
maps/api/service/output?
latlng=lat,lon&sensor=false
xml | json

http://maps.google.com/
maps/api/service/output?
latlng=lat,lon&sensor=false
position

http://maps.google.com/
maps/api/service/output?
latlng=lat,lon&sensor=false
genug javascript,
jetzt kommt der
elefant.
public function geocodeReverse($lat, $lon) {
 $url = sprintf('http://maps.google.com/maps/api/' .
        'geocode/json?latlng=%s,%s&sensor=false',
        $lat, $lon);
 $json = file_get_contents($url);
 $response = json_decode($json);

 if ($response->status === 'OK') {
   return $response->results;
 } else {
   throw new Exception($response->status);
 }	 	
}
"results" : [
    {
       "address_components" : [...],
       "formatted_address" : "Mittelstraße 23, 10117 Berlin, Germany",
       "geometry" : {
         "location" : {
           "lat" : 52.51820,
           "lng" : 13.387170
         },
         "location_type" : "ROOFTOP",
         "viewport" : {
           "northeast" : {...},
           "southwest" : {...}
         }
       },
       "types" : [ "street_address" ]
    },
    {
       "address_components" : [ ... ],
       "formatted_address" : "10117 Berlin, Germany",
       "geometry" : {
         "bounds" : {...}
         },
         "location" : {...},
         "location_type" : "APPROXIMATE",
         "viewport" : {...},
       "types" : [ "postal_code" ]
    },
    ...
]
try {
 $geocoder = new Geocoder();
 $results = $geocoder->geocodeReverse($lat, $lon);

  echo "<ul>";
  foreach ($results as $result) {
    printf("<li>%s (%s)</li>", $result->formatted_address,
                               implode(', ', $result->types));
  }
  echo "</ul>";
} catch (Exception $e) {
  echo "Geocodierung ist fehlgeschlagen: " .
         $e->getMessage();
}
•Mittelstraße 23, 10117 Berlin, Germany (street_address)
•10117 Berlin, Germany (postal_code)
•Mitte, Berlin, Germany (sublocality, political)
•Berlin, Germany (locality, political)
•Berlin, Germany (administrative_area_level_1, political)
•Germany (country, political)
Laut Google:      Laut Hotel:
Mittelstraße 23   Friedrichstraße 151
10117 Berlin      10117 Berlin
Germany           Germany
schritt zwei:
wo sind die
cupcakes?
https:/maps.googleapis.com/
maps/api/place/method/out
put?parameters&key=[key]
sicherheit

https:/maps.googleapis.com/
maps/api/place/method/out
put?parameters&key=[key]
search | detail

https:/maps.googleapis.com/
maps/api/place/method/out
put?parameters&key=[key]
xml | json

https:/maps.googleapis.com/
maps/api/place/method/out
put?parameters&key=[key]
location
  radius
  sensor
keyword
   name
   types
  rankby
language
https://maps.googleapis.com
/maps/api/place/search/json
?location=52.5185,13.3885&ty
pes=food&radius=25000&key
=...&sensor=false&name=cupc
ake
{
    "html_attributions" : [
       "Listings by ...."
    ],
    "results" : [
       {
         "geometry" : {
            "location" : {
              "lat" : 52.5107460,
              "lng" : 13.4577320
            }
         },
         "icon" : "http://maps.gstatic.com/ma...s/restaurant-71.png",
         "id" : "b9a03f408df6ade6021a150d3bf5ae04f24853db",
         "name" : "Cupcake",
         "rating" : 4.10,
         "reference" : "CnRl...R7TAHjPh_H2Mw",
         "types" : [ "store", "cafe", "restaurant", "food"],
         "vicinity" : "Krossener Straße 12, Berlin"
       }, ....],
     "status" : "OK"
}
$config = parse_ini_file('google-places.ini');

$long = $_GET['long'];
$lat = $_GET['lat'];

$searchUrl = sprintf("https://maps.....search/json".
          "?location=%s,%s&types=food&radius=25000&“.
          "key=%s&sensor=false",
          $lat, $long, $config['googlekey']);

if (isset($_GET['search'])) {
   $searchUrl = $searchUrl . "&name=" . $_GET['search'];
}

$jsonResponse = file_get_contents($searchUrl);
$response = json_decode($jsonResponse);
if ($response->status !== 'OK') {
    printf('<p>Es ist ein Fehler aufgetreten: %s</p>',
    $response->status);
} else {
    print '<ul style="float: left; margin-right: 25px;">';
    foreach ($response->results as $entry) {
      $rating = isset($entry->rating) ? $entry->rating : 0;
      print '<li>';
      printf('<a href="google-detail.php?reference=%s">%s</a>'.
               '<div class="rating_bar" title="Bewertung: %s"> '.
               '<div style="width:%d%%"></div></div>',
               $entry->reference, $entry->name,
               $rating, $rating/5*100);
    print '</li>';
  }
  print '</ul>';
}
schritt zwei ½:
wie weit ist es
noch?
c
a
    b
die erde ist
                   eine kugel*.

* eigentlich ein ellipsoid.
dist = 6378.388 *
  acos(
   sin(lat1) * sin(lat2)
    +
   cos(lat1) * cos(lat2)
    *
   cos(lon2 - lon1)
)
         http://www.kompf.de/gps/distcalc.html
function calcDistance($lat1, $lon1, $lat2, $lon2) {
  $lat1 = deg2rad($lat1);
  $lon1 = deg2rad($lon1);
  $lat2 = deg2rad($lat2);
  $lon2 = deg2rad($lon2);
  return 6378.388 * acos(sin($lat1) *
          sin($lat2) + cos($lat1) *
          cos($lat2) * cos($lon2 - $lon1));
}
geht das auch
ohne google?
https://api.foursquare.com/
v2/venues/search?intent=bro
wse&ll=lat,lon&radius=10000
&limit=15&query=Cupcake&c
lient_id=[id]&client_secret=[s
ecret]&v=20111113
sicherheit
https://api.foursquare.com/
v2/venues/search?intent=bro
wse&ll=lat,lon&radius=10000
&limit=15&query=Cupcake&c
lient_id=[id]&client_secret=[s
ecret]&v=20111113
versionierung
https://api.foursquare.com/
v2/venues/search?intent=bro
wse&ll=lat,lon&radius=10000
&limit=15&query=Cupcake&c
lient_id=[id]&client_secret=[s
ecret]&v=20111113
position
https://api.foursquare.com/
v2/venues/search?intent=bro
wse&ll=lat,lon&radius=10000
&limit=15&query=Cupcake&c
lient_id=[id]&client_secret=[s
ecret]&v=20111113
$config = parse_ini_file('config/foursquare-config.ini');
$searchUrl = sprintf('https://....../venues/search?'.
          'intent=browse&ll=%s,%s&radius=10000&limit=15'.
          '&query=Cupcake&client_id=%s&client_secret=%s'.
          '&v=20111113',
          $lat, $long, $config['clientId'], $config['clientSecret']);

$jsonResponse = file_get_contents($searchUrl);
$response = json_decode($jsonResponse);

foreach ($response->response->venues as $venue) {

 printf("<li>%s (%0.2f km)</li>", $venue->name,
          $venue->location->distance/1000);
}
"categories":
 [
   {
      "id" : "4bf58dd8d48988d1bc941735",
      "name" : "Cupcake Shop",
      "pluralName" : "Cupcake Shops",
      "shortName" : "Cupcakes",
      "icon" :
        {
          "prefix" : "https://.../categories/food/cupcakes_",
          "sizes" : [32,44,64,88,256],
          "name" : ".png"
        },
     "primary" : true
   }
 ]
personalisierte
empfehlungen
wie unterstützt
das mein business?
Beware of the
Dark Side, Luke.
http://www.cultofmac.com/157641/this-creepy-app-isnt-just-stalking-women-
     without-their-knowledge-its-a-wake-up-call-about-facebook-privacy/
vielen dank.

Stephan Schmidt
Head of Web Sales Development
1&1 Internet AG

schst@php.net
www.schst.net
twitter.com/schst

Weitere ähnliche Inhalte

Ähnlich wie Das Web Wird Mobil - Geolocation und Location Based Services

How Quick Can We Be? Data Visualization Techniques for Engineers.
How Quick Can We Be? Data Visualization Techniques for Engineers. How Quick Can We Be? Data Visualization Techniques for Engineers.
How Quick Can We Be? Data Visualization Techniques for Engineers.
Avni Khatri
 
Barcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kóduBarcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kódu
Milos Lenoch
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
CoLab Athens
 
Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4
MongoDB
 
Webgl para JavaScripters
Webgl para JavaScriptersWebgl para JavaScripters
Webgl para JavaScripters
gerbille
 
Geolocation on Rails
Geolocation on RailsGeolocation on Rails
Geolocation on Rails
nebirhos
 

Ähnlich wie Das Web Wird Mobil - Geolocation und Location Based Services (20)

How Quick Can We Be? Data Visualization Techniques for Engineers.
How Quick Can We Be? Data Visualization Techniques for Engineers. How Quick Can We Be? Data Visualization Techniques for Engineers.
How Quick Can We Be? Data Visualization Techniques for Engineers.
 
Google Maps JS API
Google Maps JS APIGoogle Maps JS API
Google Maps JS API
 
Barcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kóduBarcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kódu
 
Rails Gis Hacks
Rails Gis HacksRails Gis Hacks
Rails Gis Hacks
 
Rails GIS Hacks
Rails GIS HacksRails GIS Hacks
Rails GIS Hacks
 
Google Maps API - DevFest Karlsruhe
Google Maps API - DevFest Karlsruhe Google Maps API - DevFest Karlsruhe
Google Maps API - DevFest Karlsruhe
 
Responsive Maps in WordPress
Responsive Maps in WordPressResponsive Maps in WordPress
Responsive Maps in WordPress
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
 
How data rules the world: Telemetry in Battlefield Heroes
How data rules the world: Telemetry in Battlefield HeroesHow data rules the world: Telemetry in Battlefield Heroes
How data rules the world: Telemetry in Battlefield Heroes
 
What are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesWhat are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilities
 
Google Maps Api
Google Maps ApiGoogle Maps Api
Google Maps Api
 
Gmaps Railscamp2008
Gmaps Railscamp2008Gmaps Railscamp2008
Gmaps Railscamp2008
 
Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4
 
JQuery Flot
JQuery FlotJQuery Flot
JQuery Flot
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
 
Webgl para JavaScripters
Webgl para JavaScriptersWebgl para JavaScripters
Webgl para JavaScripters
 
Photostream
PhotostreamPhotostream
Photostream
 
Photostream
PhotostreamPhotostream
Photostream
 
Geolocation on Rails
Geolocation on RailsGeolocation on Rails
Geolocation on Rails
 
Drupal Mobile
Drupal MobileDrupal Mobile
Drupal Mobile
 

Mehr von Stephan Schmidt

23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
Stephan Schmidt
 
JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5
Stephan Schmidt
 

Mehr von Stephan Schmidt (20)

23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit Jenkins
 
Die Kunst des Software Design - Java
Die Kunst des Software Design - JavaDie Kunst des Software Design - Java
Die Kunst des Software Design - Java
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
 
Der Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererDer Erfolgreiche Programmierer
Der Erfolgreiche Programmierer
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
 
Die Kunst Des Software Design
Die Kunst Des Software DesignDie Kunst Des Software Design
Die Kunst Des Software Design
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im Team
 
JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5
 
Declarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPDeclarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHP
 
XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEAR
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation Extravaganza
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5
 
Component and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHPComponent and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHP
 
Session Server - Maintaing State between several Servers
Session Server - Maintaing State between several ServersSession Server - Maintaing State between several Servers
Session Server - Maintaing State between several Servers
 
XML Transformations With PHP
XML Transformations With PHPXML Transformations With PHP
XML Transformations With PHP
 
PEAR For The Masses
PEAR For The MassesPEAR For The Masses
PEAR For The Masses
 
Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit Flash
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Das Web Wird Mobil - Geolocation und Location Based Services