SlideShare uma empresa Scribd logo
1 de 83
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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óduMilos Lenoch
 
Google Maps API - DevFest Karlsruhe
Google Maps API - DevFest Karlsruhe Google Maps API - DevFest Karlsruhe
Google Maps API - DevFest Karlsruhe Martin Kleppe
 
Responsive Maps in WordPress
Responsive Maps in WordPressResponsive Maps in WordPress
Responsive Maps in WordPressAlicia Duffy
 
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
 
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 HeroesElectronic Arts / DICE
 
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 capabilitiesMicrosoft Tech Community
 
Gmaps Railscamp2008
Gmaps Railscamp2008Gmaps Railscamp2008
Gmaps Railscamp2008xilinus
 
Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4Geospatial Enhancements in MongoDB 2.4
Geospatial Enhancements in MongoDB 2.4MongoDB
 
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 PiInfluxData
 
Webgl para JavaScripters
Webgl para JavaScriptersWebgl para JavaScripters
Webgl para JavaScriptersgerbille
 
Geolocation on Rails
Geolocation on RailsGeolocation on Rails
Geolocation on Railsnebirhos
 

Semelhante a 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
 

Mais de 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 solltenStephan 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 solltenStephan Schmidt
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit JenkinsStephan Schmidt
 
Die Kunst des Software Design - Java
Die Kunst des Software Design - JavaDie Kunst des Software Design - Java
Die Kunst des Software Design - JavaStephan Schmidt
 
Der Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererDer Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererStephan Schmidt
 
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.Stephan Schmidt
 
Die Kunst Des Software Design
Die Kunst Des Software DesignDie Kunst Des Software Design
Die Kunst Des Software DesignStephan Schmidt
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im TeamStephan 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 5Stephan Schmidt
 
Declarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPDeclarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPStephan Schmidt
 
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 PEARStephan Schmidt
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation ExtravaganzaStephan Schmidt
 
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 5Stephan Schmidt
 
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 PHPStephan Schmidt
 
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 ServersStephan Schmidt
 
XML Transformations With PHP
XML Transformations With PHPXML Transformations With PHP
XML Transformations With PHPStephan Schmidt
 
Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Stephan Schmidt
 
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 FlashStephan Schmidt
 

Mais de 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
 

Último

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Último (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Das Web Wird Mobil - Geolocation und Location Based Services