com presentations: DPC talk, and missing slides: geo-dpc17.xml slides/mongodb/osm-import-location-section.xml slides/xdebug/happy-15th.xml slides/xdebug/happy-birthday-text.jpg slides/xdebug/vld-path-5-wrapup.xml slides/xdebug/xdebug-2.3-stack-trace-limit.xml slides/xdebug/xdebug-2.3-tracing.xml slides/xdebug/xdebug-2.5-new.xml slides/xdebug/xdebug-2.6-new.xml slides/xdebug/xdebug-2.6-switch.xml slides/xdebug/xdebug-2.6-switch2.xml xdebug-new-php
[email protected] (Derick Rethans) Thu, 29 Jun 2017 10:08:01 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: 8a161b3425d1972ce90c39ede44b6db9046ca973 Author: Derick Rethans <[email protected]> Thu, 29 Jun 2017 12:08:01 +0200 Parents: 696c3c74c5f0f4c01b9fac84bb528e7dd7941b21 Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=8a161b3425d1972ce90c39ede44b6db9046ca973 Log: DPC talk, and missing slides Changed paths: A geo-dpc17.xml M slides/mongodb/osm-import-location-section.xml A slides/xdebug/happy-15th.xml A slides/xdebug/happy-birthday-text.jpg A slides/xdebug/vld-path-5-wrapup.xml A slides/xdebug/xdebug-2.3-stack-trace-limit.xml A slides/xdebug/xdebug-2.3-tracing.xml A slides/xdebug/xdebug-2.5-new.xml A slides/xdebug/xdebug-2.6-new.xml A slides/xdebug/xdebug-2.6-switch.xml A slides/xdebug/xdebug-2.6-switch2.xml A xdebug-new-phpsouthcoast17.xml
diff_8a161b3425d1972ce90c39ede44b6db9046ca973.txt
(text/plain, 16.1 KB)
diff --git a/geo-dpc17.xml b/geo-dpc17.xml new file mode 100644 index 0000000..99fd169 --- /dev/null +++ b/geo-dpc17.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>MongoDB</topic> +<title>Locate All The Things</title> +<event>Dutch PHP Conference</event> +<location>Amsterdam, Netherlands</location> +<lat>52.3417982</lat><lon>4.8891098</lon> +<date>June 30, 2017</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<joindin>http://joind.in/21141</joindin> + +<slide>slides/mongodb/title.xml</slide> + +<slide>slides/mongodb/closed-pub.xml</slide> +<!-- A few words about our dataset --> + +<slide>slides/mongodb/few-words-about-osm.xml</slide> + +<slide>slides/map/osm-data.xml</slide> + +<slide>slides/mongodb/osm-import-tags-section.xml</slide> + +<slide>slides/map/osm-tags1.xml</slide> +<slide>slides/map/osm-tags2.xml</slide> +<slide>slides/map/osm-tags3.xml</slide> + + +<slide>slides/mongodb/osm-to-mongo-data.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data2.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data3.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data4.xml</slide> + +<!--<slide>slides/mongodb/osm-import-4times-section.xml</slide>--> +<slide>slides/mongodb/osm-schema1.xml</slide> +<!--<slide>slides/mongodb/osm-schema2.xml</slide>--> +<slide>slides/mongodb/osm-schema4.xml</slide> +<!--<slide>slides/mongodb/osm-schema3.xml</slide>--> +<!--<slide>slides/mongodb/osm-schema-summary.xml</slide>--> + +<!-- DATA STORAGE --> +<!-- + No more [ lon, lat ], but geojson instead + +SAY WHERE ELSE GeoJson is used +--> +<slide>slides/mongodb/osm-import-location-section.xml</slide> +<slide>slides/mongodb/geojson.xml</slide> + +<!-- + POINT: + show an image, and the GeoJson under +--> +<slide>slides/mongodb/geojson-point.xml</slide> +<!-- + LINESTRING: + show an image, and the GeoJson under +--> +<slide>slides/mongodb/geojson-linestring.xml</slide> +<!-- + POLYGON: + show an image, and the GeoJson under +--> +<slide>slides/mongodb/geojson-polygon.xml</slide> + +<!-- + CELLS, + We divide the surface of the earth into cells + A library called S2 from Google does the hard work + Cells have a level which define the size of the cell. + S2 provides 31 levels + The higher the level, the smaller the cell, and therefore the more needed to cover the earth + By default, we use all levels between 500m on a side and 100km on a side +--> +<slide>slides/mongodb/cells.xml</slide> +<!-- + Show grid of (part of) London: + - Point, Westminster palace + - Line, Oxford Street + - Polygon, Hyde Park +--> +<slide>slides/mongodb/cells-level10-example-london-1.xml</slide> +<slide>slides/mongodb/cells-level10-example-london-2.xml</slide> +<slide>slides/mongodb/cells-level10-example-london-3.xml</slide> + +<slide>slides/map/osm-xapi.xml</slide> +<slide>slides/map/osm-data.xml</slide> +<slide>slides/map/import-script-manchester.xml</slide> + + +<!-- operators + $near + find stuff near a point + index required + $geoWithin + find stuff within a polygon/circle + index NOT required + $geoIntersects + find stuff that intersects with other stuff + index NOT required + +--> +<slide>slides/mongodb/geo-in-2.4.xml</slide> + +<!-- near + - Example with road and park + - slide with index/no index, and comparsion with 2.2? +--> +<!-- geoWithin + - Example with road and park + - slide with index/no index, and comparsion with 2.2? +--> +<!-- geoIntersects + - Example with road and park + - slide with index/no index, and comparsion with 2.2? +--> +<slide>slides/mongodb/geo-near.xml</slide> + +<!-- + NEAR + + Starts from a point + Looks at concentric donuts from that point + Want to look at documents within the donut + If distance from query point to document is within the donut, output + Adapts size of the donut as needed +--> +<!-- + GeoWithin/GeoIntersecs + + Generate a covering for geometry in query + Look at all points in all overlapping cells + Cells may be larger or smaller than our covering + Must look at cells that contain our covering + Must look at cells that we contain + See if documents are within or intersect our query geometry + + Show examples of: + - within: The Palace of Westminster (point) in "City of Westminster" (polygon) + - intersect: thames (line) crossing London (polygon) +--> +<slide>slides/mongodb/geo-within.xml</slide> +<slide>slides/mongodb/geo-within-2.xml</slide> + +<slide>slides/mongodb/geo-intersects.xml</slide> + + +<!-- +Without index: + $near + Look at every point + Sort by distance + Very slow, so requires an index. + $geoWithin + Look at every document + Is it within the query polygon? + Order is arbitrary + $geoIntersects + Look at every document + Does it intersect with the query geometry? + Order is arbitrary +--> +<!-- AGGREGATION: + + - show tube stations per borough + - show pubs by borough + +http://docs.mongodb.org/manual/reference/aggregation/#stage._S_geoNear + +- distance is important +- $geoNear in aggregation can't deal with more than one 2dsphere index +- spherical option is *required* when using a 2dsphere index +--> +<slide>slides/mongodb/geo-aggregation.xml</slide> +<slide>slides/mongodb/geo-aggregation2.xml</slide> +<!-- +<slide>slides/mongodb/osm-import-leaflet-section.xml</slide> + +<slide>slides/map/leaflet.xml</slide> +<slide>slides/map/leaflet-ajax.xml</slide> +<slide>slides/map/leaflet-json-return.xml</slide> +--> +<slide>slides/mongodb/questions.xml</slide> +<slide>slides/mongodb/resources.xml</slide> + +</presentation> diff --git a/slides/mongodb/osm-import-location-section.xml b/slides/mongodb/osm-import-location-section.xml index d849bda..fb97931 100644 --- a/slides/mongodb/osm-import-location-section.xml +++ b/slides/mongodb/osm-import-location-section.xml @@ -1,4 +1,3 @@ -<slide style="title"> +<slide style="title" background="locations.png"> <title>Locations</title> -<image align="center" filename="locations.png" attr=""/> </slide> diff --git a/slides/xdebug/happy-15th.xml b/slides/xdebug/happy-15th.xml new file mode 100644 index 0000000..7aa655c --- /dev/null +++ b/slides/xdebug/happy-15th.xml @@ -0,0 +1,3 @@ +<slide style="title" background="happy-birthday-text.jpg" background_attr="http://www.publicdomainpictures.net/view-image.php?image=25384&picture=happy-birthday-textului — CC0"> +<title>15th Anniversary!</title> +</slide> diff --git a/slides/xdebug/happy-birthday-text.jpg b/slides/xdebug/happy-birthday-text.jpg new file mode 100644 index 0000000..16c970c Binary files /dev/null and b/slides/xdebug/happy-birthday-text.jpg differ diff --git a/slides/xdebug/vld-path-5-wrapup.xml b/slides/xdebug/vld-path-5-wrapup.xml new file mode 100644 index 0000000..5f4825a --- /dev/null +++ b/slides/xdebug/vld-path-5-wrapup.xml @@ -0,0 +1,10 @@ +<slide> +<title>Xdebug 2.3: Path/Branch Coverage</title> + +<list> + <bullet>Powerful way to show which tests you are missing</bullet> + <bullet>Hard to visualize</bullet> + <bullet>Very slow!</bullet> +</list> + +</slide> diff --git a/slides/xdebug/xdebug-2.3-stack-trace-limit.xml b/slides/xdebug/xdebug-2.3-stack-trace-limit.xml new file mode 100644 index 0000000..2943097 --- /dev/null +++ b/slides/xdebug/xdebug-2.3-stack-trace-limit.xml @@ -0,0 +1,7 @@ +<slide> +<title>Xdebug 2.3: Stack Trace Limit</title> + +<blurb>%xdebug.max_stack_frames%</blurb> +<blurb>Controls how many stack frames are being shown</blurb> + +</slide> diff --git a/slides/xdebug/xdebug-2.3-tracing.xml b/slides/xdebug/xdebug-2.3-tracing.xml new file mode 100644 index 0000000..d5d4980 --- /dev/null +++ b/slides/xdebug/xdebug-2.3-tracing.xml @@ -0,0 +1,19 @@ +<slide> +<title>Xdebug 2.3: Tracing</title> + +<blurb>Rendering variables as serialized text:</blurb> +<blurb>%xdebug.collect_params = 5%</blurb> + +<example> +function result() {}; result("Oh no, what does this say?", 42); +</example> + +<example> +-> result(czoyNjoiT2ggbm8sIHdoYXQgZG9lcyB0aGlzIHNheT8iOw==, aTo0Mjs=) +</example> + +<break lines="2"/> + +<blurb>Shared secret for profiling and tracing with %profiler_enable_trigger_value% and %trace_enable_trigger_value%</blurb> + +</slide> diff --git a/slides/xdebug/xdebug-2.5-new.xml b/slides/xdebug/xdebug-2.5-new.xml new file mode 100644 index 0000000..659c233 --- /dev/null +++ b/slides/xdebug/xdebug-2.5-new.xml @@ -0,0 +1,9 @@ +<slide> +<title>Xdebug 2.5</title> + +<list> + <bullet>Support for PHP 7.1</bullet> + <bullet>Support for PHP < 5.6 dropped</bullet> + <bullet>Debugging: Support for IPv6</bullet> +</list> +</slide> diff --git a/slides/xdebug/xdebug-2.6-new.xml b/slides/xdebug/xdebug-2.6-new.xml new file mode 100644 index 0000000..9a1b12d --- /dev/null +++ b/slides/xdebug/xdebug-2.6-new.xml @@ -0,0 +1,13 @@ +<slide> +<title>Xdebug 2.6</title> + +<list> + <bullet>Support for PHP 7.2 + <list> + <bullet>switch optimisation</bullet> + </list> + </bullet> + <bullet>Support for PHP 5 dropped</bullet> + <bullet>Filters: Tracing, Code Coverage</bullet> +</list> +</slide> diff --git a/slides/xdebug/xdebug-2.6-switch.xml b/slides/xdebug/xdebug-2.6-switch.xml new file mode 100644 index 0000000..9948f09 --- /dev/null +++ b/slides/xdebug/xdebug-2.6-switch.xml @@ -0,0 +1,62 @@ +<slide> +<title>Switch</title> + +<example><![CDATA[<?php +switch ( $a ) { + case 1: echo "one"; break; + case 2: echo "two"; break; + case 3: echo "three"; break; + case 4: echo "four"; break; + case 5: echo "five"; break; + case 6: echo "six"; break; +} +]]></example> + +<blurb>PHP 7.1</blurb> +<example> +compiled vars: !0 = $a +line #* E I O op return operands +-------------------------------------------------- + 3 0 E > EXT_STMT + 1 CASE ~1 !0, 1 + 2 > JMPNZ ~1, ->13 + 5 3 > CASE ~1 !0, 2 + 4 > JMPNZ ~1, ->17 + 7 5 > CASE ~1 !0, 3 + 6 > JMPNZ ~1, ->21 + 9 7 > CASE ~1 !0, 4 + 8 > JMPNZ ~1, ->25 + 11 9 > CASE ~1 !0, 5 + 10 > JMPNZ ~1, ->29 + 13 11 > CASE ~1 !0, 6 + 12 > JMPZNZ ~1, ->37 + 4 13 > EXT_STMT + 14 ECHO 'one' + 15 EXT_STMT + 18 16 > RETURN 1 + 6 17 > EXT_STMT + 18 ECHO 'two' + 19 EXT_STMT + 18 20 > RETURN 1 + 8 21 > EXT_STMT + 22 ECHO 'three' + 23 EXT_STMT + 18 24 > RETURN 1 + 10 25 > EXT_STMT + 26 ECHO 'four' + 27 EXT_STMT + 18 28 > RETURN 1 + 12 29 > EXT_STMT + 30 ECHO 'five' + 31 EXT_STMT + 18 32 > RETURN 1 + 14 33 > EXT_STMT + 34 ECHO 'six' + 35 EXT_STMT + 18 36 > RETURN 1 + 16 37 > EXT_STMT + 38 ECHO 'default' + 39 EXT_STMT + 18 40 > RETURN 1 +</example> +</slide> diff --git a/slides/xdebug/xdebug-2.6-switch2.xml b/slides/xdebug/xdebug-2.6-switch2.xml new file mode 100644 index 0000000..2d6cd38 --- /dev/null +++ b/slides/xdebug/xdebug-2.6-switch2.xml @@ -0,0 +1,65 @@ +<slide> +<title>Switch</title> + +<example><![CDATA[<?php +switch ( $a ) { + case 1: echo "one"; break; + case 2: echo "two"; break; + case 3: echo "three"; break; + case 4: echo "four"; break; + case 5: echo "five"; break; + case 6: echo "six"; break; +} +]]></example> + +<blurb>PHP 7.2</blurb> +<example> +compiled vars: !0 = $a +line #* E I O op return operands +-------------------------------------------------- + 2 0 E > EXT_STMT + 1 SWITCH_LONG !0, [ 1:->15, 2:->19, 3:->23, 4:->27, 5:->31, 6:->35, ], ->39 + 3 2 CASE ~1 !0, 1 + 3 > JMPNZ ~1, ->15 + 5 4 > CASE ~1 !0, 2 + 5 > JMPNZ ~1, ->19 + 7 6 > CASE ~1 !0, 3 + 7 > JMPNZ ~1, ->23 + 9 8 > CASE ~1 !0, 4 + 9 > JMPNZ ~1, ->27 + 11 10 > CASE ~1 !0, 5 + 11 > JMPNZ ~1, ->31 + 13 12 > CASE ~1 !0, 6 + 13 > JMPNZ ~1, ->35 + 14 > > JMP ->39 + 4 15 > EXT_STMT + 16 ECHO 'one' + 17 EXT_STMT + 18 > JMP ->43 + 6 19 > EXT_STMT + 20 ECHO 'two' + 21 EXT_STMT + 22 > JMP ->43 + 8 23 > EXT_STMT + 24 ECHO 'three' + 25 EXT_STMT + 26 > JMP ->43 + 10 27 > EXT_STMT + 28 ECHO 'four' + 29 EXT_STMT + 30 > JMP ->43 + 12 31 > EXT_STMT + 32 ECHO 'five' + 33 EXT_STMT + 34 > JMP ->43 + 14 35 > EXT_STMT + 36 ECHO 'six' + 37 EXT_STMT + 38 > JMP ->43 + 16 39 > EXT_STMT + 40 ECHO 'default' + 41 EXT_STMT + 42 > JMP ->43 + 18 43 > > RETURN 1 +</example> +</slide> diff --git a/xdebug-new-phpsouthcoast17.xml b/xdebug-new-phpsouthcoast17.xml new file mode 100644 index 0000000..a431280 --- /dev/null +++ b/xdebug-new-phpsouthcoast17.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>Debugging</topic> +<title>What's New in Xdebug?</title> +<event>PHP SouthCoast</event> +<location>Portsmouth, UK</location> +<date>June 9th, 2017</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<url>http://derickrethans.nl/talks.html</url> +<joindin>https://joind.in/21479</joindin> +<slide>slides/mongodb/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +<slide>slides/xdebug/xdebug-2.3-error-munging.xml</slide> +<slide>slides/xdebug/xdebug-2.3-new.xml</slide> +<slide>slides/xdebug/xdebug-2.3-stack-trace-limit.xml</slide> +<slide>slides/xdebug/xdebug-2.3-tracing.xml</slide> + +<slide>slides/xdebug/paths.xml</slide> +<slide>slides/internals/vld2.xml</slide> + +<slide>slides/xdebug/vld-path-2-code.xml</slide> +<slide>slides/xdebug/vld-path-2-output.xml</slide> +<slide>slides/xdebug/vld-path-2-paths.xml</slide> +<!-- +<slide>slides/xdebug/phpdbg.xml</slide> +<slide>slides/xdebug/phpdbg-demo.xml</slide> +--> +<slide>slides/xdebug/vld-path-4-code.xml</slide> +<slide>slides/xdebug/vld-path-4-output.xml</slide> + +<slide>slides/xdebug/vld-path-3-code.xml</slide> +<slide>slides/xdebug/vld-path-3-output.xml</slide> +<slide>slides/xdebug/vld-path-3-paths.xml</slide> + +<slide>slides/xdebug/vld-path-5-wrapup.xml</slide> + +<slide>slides/xdebug/xdebug-2.4-new.xml</slide> +<slide>slides/xdebug/function-monitor.xml</slide> + +<slide>slides/xdebug/xdebug-2.5-new.xml</slide> + +<slide>slides/xdebug/happy-15th.xml</slide> + +<slide>slides/xdebug/restaurant.xml</slide> + +<slide>slides/xdebug/xdebug-2.6-new.xml</slide> +<slide>slides/xdebug/xdebug-2.6-switch.xml</slide> +<slide>slides/xdebug/xdebug-2.6-switch2.xml</slide> + +<slide>slides/xdebug/resources.xml</slide> + +</presentation>