com presentations: PHPConf.Asia workshop finish: php-ext-asia18.xml slides/internals/Polar_to_cartesian.svg slides/internal s/coordinates.xml slides/internals/debug.xml slides/int ernals/exercise-steps.xml slides/internals/exercise.xml
[email protected] (Derick Rethans) Fri, 28 Sep 2018 06:13:35 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: 1b5585e4b3fa8941efe69456aa214a44122f47e4 Author: Derick Rethans <[email protected]> Fri, 28 Sep 2018 14:13:35 +0800 Parents: 6b811fbda3055f7e303e5b8c2e34de93cc7cc0d6 Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=1b5585e4b3fa8941efe69456aa214a44122f47e4 Log: PHPConf.Asia workshop finish Changed paths: M php-ext-asia18.xml A slides/internals/Polar_to_cartesian.svg A slides/internals/coordinates.xml A slides/internals/debug.xml A slides/internals/exercise-steps.xml A slides/internals/exercise.xml
diff_1b5585e4b3fa8941efe69456aa214a44122f47e4.txt
(text/plain, 29.8 KB)
diff --git a/php-ext-asia18.xml b/php-ext-asia18.xml index 4aae017..bcb7114 100644 --- a/php-ext-asia18.xml +++ b/php-ext-asia18.xml @@ -55,6 +55,11 @@ <slide>slides/internals/debug.xml</slide> +<slide>slides/internals/exercise.xml</slide> +<slide>slides/internals/coordinates.xml</slide> +<slide>slides/internals/exercise-steps.xml</slide> + + <slide>slides/mongodb/questions.xml</slide> <slide>slides/mongodb/resources.xml</slide> </presentation> diff --git a/slides/internals/Polar_to_cartesian.svg b/slides/internals/Polar_to_cartesian.svg new file mode 100644 index 0000000..b814e0d --- /dev/null +++ b/slides/internals/Polar_to_cartesian.svg @@ -0,0 +1,488 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns0="http://www.iki.fi/pav/software/textext/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="343pt" + height="340pt" + id="svg2160" + sodipodi:version="0.32" + inkscape:version="0.48.4 r9939" + sodipodi:modified="true" + version="1.1" + sodipodi:docname="Polar_to_cartesian.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.2235294" + inkscape:cx="214.375" + inkscape:cy="212.5" + inkscape:document-units="pt" + inkscape:current-layer="layer1" + id="namedview2164" + inkscape:window-width="1920" + inkscape:window-height="1056" + inkscape:window-x="0" + inkscape:window-y="24" + showgrid="false" + inkscape:window-maximized="1" /> + <defs + id="defs2162" /> + <metadata + id="metadata2166"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:groupmode="layer" + inkscape:label="Layer 1"> + <path + style="fill:none;fill-rule:evenodd;stroke:#9d1717;stroke-width:3.995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 389.44712,361.52091 L 389.44712,144.39255" + id="path3150" /> + <path + id="path2169" + d="M 70.288462,22.011705 L 70.288462,423.42098" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.44376445;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.47081947;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 414.40401,365.33654 L 4.0575336,365.33654" + id="path2171" /> + <path + id="path3144" + d="M 70.288462,364.51923 L 389.85577,143.84615" + style="fill:none;fill-rule:evenodd;stroke:#040594;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> + <path + transform="matrix(8.3642488e-2,0,0,2.7966767e-2,374.5771,139.41224)" + d="M 214.95192 213.31731 A 42.5 132.40384 0 1 1 129.95192,213.31731 A 42.5 132.40384 0 1 1 214.95192 213.31731 z" + sodipodi:ry="132.40384" + sodipodi:rx="42.5" + sodipodi:cy="213.31731" + sodipodi:cx="172.45192" + id="path3146" + style="opacity:1;fill:#06060c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + id="path3148" + d="M 388.50307,363.70192 L 72.458472,363.70192" + style="fill:none;fill-rule:evenodd;stroke:#9d1717;stroke-width:4.4325;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + id="path3152" + d="M 368.11058,362.76575 L 368.11058,342.57078" + style="fill:none;fill-rule:evenodd;stroke:#9d1717;stroke-width:2.7125001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#9d1717;stroke-width:2.7125001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 368.0131,340.66827 L 388.20807,340.66827" + id="path3154" /> + <path + sodipodi:open="true" + sodipodi:end="0.58835027" + sodipodi:start="0" + transform="matrix(1,0,0,-1,-89.365385,543.11474)" + d="M 218.22116,181.44231 A 51.490383,52.307693 0 0 1 209.56343,210.47252" + sodipodi:ry="52.307693" + sodipodi:rx="51.490383" + sodipodi:cy="181.44231" + sodipodi:cx="166.73077" + id="path3156" + style="opacity:1;fill:none;fill-opacity:1;stroke:#0a0707;stroke-width:2.7125001;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + transform="matrix(8.2123962e-2,8.6727555e-2,-2.211263e-2,0.3220969,80.963039,0.1018054)" + d="M -64.567314,98.07692 L -102.00996,108.25213 L -139.4526,118.42735 L -129.54327,80.913459 L -119.63395,43.399572 L -92.100629,70.738246 L -64.567314,98.07692 z " + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="1.3054498" + sodipodi:arg1="0.25825222" + sodipodi:r2="22.401537" + sodipodi:r1="44.803074" + sodipodi:cy="86.634613" + sodipodi:cx="-107.88462" + sodipodi:sides="3" + id="path3170" + style="opacity:1;fill:#06060c;fill-opacity:1;stroke:none;stroke-width:2.7125001;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="star" /> + <text + transform="scale(0.9104956,1.0983029)" + sodipodi:linespacing="125%" + id="text3172" + y="214.31668" + x="246.74461" + style="font-size:58.42762756px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman" + xml:space="preserve"><tspan + y="214.31668" + x="246.74461" + id="tspan3174" + sodipodi:role="line">r</tspan></text> + <text + transform="scale(0.9753057,1.0253196)" + sodipodi:linespacing="125%" + id="text3176" + y="383.98767" + x="389.45605" + style="font-size:50.53984451px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman" + xml:space="preserve"><tspan + y="383.98767" + x="389.45605" + id="tspan3178" + sodipodi:role="line">x</tspan></text> + <text + transform="scale(1.0335003,0.9675856)" + sodipodi:linespacing="125%" + id="text3180" + y="46.800858" + x="41.128345" + style="font-size:46.91788101px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman" + xml:space="preserve"><tspan + y="46.800858" + x="41.128345" + id="tspan3182" + sodipodi:role="line">y</tspan></text> + <path + sodipodi:type="star" + style="opacity:1;fill:#06060c;fill-opacity:1;stroke:none;stroke-width:2.7125001;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3184" + sodipodi:sides="3" + sodipodi:cx="-107.88462" + sodipodi:cy="86.634613" + sodipodi:r1="44.803074" + sodipodi:r2="22.401537" + sodipodi:arg1="0.25825222" + sodipodi:arg2="1.3054498" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="M -64.567314,98.07692 L -102.00996,108.25213 L -139.4526,118.42735 L -129.54327,80.913459 L -119.63395,43.399572 L -92.100629,70.738246 L -64.567314,98.07692 z " + transform="matrix(-8.6727555e-2,8.2123962e-2,-0.3220969,-2.211263e-2,432.37461,376.325)" /> + <g + id="g3359" + ns0:preamble="" + ns0:text="$\\varphi$" + transform="matrix(4.8576649,0,0,4.8576649,-942.32649,-311.22354)"> + <defs + id="defs3361"> + <g + id="g3363"> + <symbol + id="textext-6925c2c1-0" + overflow="visible" + style="overflow:visible"> + <path + id="path3366" + d="" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-6925c2c1-1" + overflow="visible" + style="overflow:visible"> + <path + id="path3369" + d="M 1.6875,1.6875 C 1.65625,1.828125 1.640625,1.84375 1.640625,1.890625 c 0,0.21875 0.1875,0.28125 0.296875,0.28125 0.046875,0 0.265625,-0.03125 0.359375,-0.265625 C 2.328125,1.828125 2.375,1.5 2.65625,0.09375 c 0.078125,0 0.15625,0.015625 0.328125,0.015625 1.65625,0 3.1875,-1.5625 3.1875,-3.140625 0,-0.78125 -0.390625,-1.375 -1.140625,-1.375 -1.4375,0 -2.046875,1.9375 -2.640625,3.875 C 1.3125,-0.734375 0.75,-1.28125 0.75,-2 c 0,-0.28125 0.234375,-1.375 0.828125,-2.0625 0.09375,-0.09375 0.09375,-0.109375 0.09375,-0.140625 0,-0.03125 -0.03125,-0.09375 -0.125,-0.09375 -0.28125,0 -1.046875,1.453125 -1.046875,2.40625 0,0.9375 0.65625,1.65625 1.71875,1.90625 z m 1.390625,-2.15625 c -0.09375,0 -0.109375,0 -0.1875,-0.015625 -0.125,0 -0.125,0 -0.125,-0.03125 0,-0.015625 0.171875,-0.9375 0.1875,-1.078125 0.3125,-1.28125 1.09375,-2.234375 1.984375,-2.234375 0.6875,0 0.953125,0.53125 0.953125,1.015625 0,1.125 -1.28125,2.34375 -2.8125,2.34375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + </g> + </defs> + <g + id="textext-6925c2c1-2"> + <g + id="g3372" + style="fill:#000000;fill-opacity:1"> + <use + id="use3374" + y="134.765" + x="223.43201" + xlink:href="#textext-6925c2c1-1" + width="428.75" + height="425" /> + </g> + </g> + </g> + <g + ns0:text="$r \\cos \\varphi$" + ns0:preamble="" + transform="matrix(3.7032852,0,0,3.7032852,-641.41959,-105.67994)" + id="g3491"> + <defs + id="defs3493"> + <g + id="g3495"> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="" + id="path3498" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-1"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 0.875,-0.59375 c -0.03125,0.15625 -0.09375,0.390625 -0.09375,0.4375 0,0.171875 0.140625,0.265625 0.296875,0.265625 0.125,0 0.296875,-0.078125 0.375,-0.28125 C 1.46875,-0.203125 1.796875,-1.5625 1.84375,-1.75 c 0.078125,-0.328125 0.265625,-1.015625 0.3125,-1.296875 0.046875,-0.125 0.328125,-0.59375 0.5625,-0.8125 0.078125,-0.0625 0.375,-0.328125 0.796875,-0.328125 0.265625,0 0.40625,0.125 0.421875,0.125 -0.296875,0.046875 -0.515625,0.28125 -0.515625,0.546875 0,0.15625 0.109375,0.34375 0.375,0.34375 0.265625,0 0.546875,-0.234375 0.546875,-0.59375 0,-0.34375 -0.3125,-0.640625 -0.828125,-0.640625 C 2.875,-4.40625 2.4375,-3.921875 2.25,-3.640625 2.15625,-4.09375 1.796875,-4.40625 1.328125,-4.40625 0.875,-4.40625 0.6875,-4.015625 0.59375,-3.84375 0.421875,-3.5 0.296875,-2.90625 0.296875,-2.875 c 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.015625 0.171875,-0.234375 0.171875,-0.703125 0.375,-1.1875 0.734375,-1.1875 0.15625,0 0.296875,0.078125 0.296875,0.453125 0,0.21875 -0.03125,0.328125 -0.15625,0.84375 z m 0,0" + id="path3501" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.6875,1.6875 C 1.65625,1.828125 1.640625,1.84375 1.640625,1.890625 c 0,0.21875 0.1875,0.28125 0.296875,0.28125 0.046875,0 0.265625,-0.03125 0.359375,-0.265625 C 2.328125,1.828125 2.375,1.5 2.65625,0.09375 c 0.078125,0 0.15625,0.015625 0.328125,0.015625 1.65625,0 3.1875,-1.5625 3.1875,-3.140625 0,-0.78125 -0.390625,-1.375 -1.140625,-1.375 -1.4375,0 -2.046875,1.9375 -2.640625,3.875 C 1.3125,-0.734375 0.75,-1.28125 0.75,-2 c 0,-0.28125 0.234375,-1.375 0.828125,-2.0625 0.09375,-0.09375 0.09375,-0.109375 0.09375,-0.140625 0,-0.03125 -0.03125,-0.09375 -0.125,-0.09375 -0.28125,0 -1.046875,1.453125 -1.046875,2.40625 0,0.9375 0.65625,1.65625 1.71875,1.90625 z m 1.390625,-2.15625 c -0.09375,0 -0.109375,0 -0.1875,-0.015625 -0.125,0 -0.125,0 -0.125,-0.03125 0,-0.015625 0.171875,-0.9375 0.1875,-1.078125 0.3125,-1.28125 1.09375,-2.234375 1.984375,-2.234375 0.6875,0 0.953125,0.53125 0.953125,1.015625 0,1.125 -1.28125,2.34375 -2.8125,2.34375 z m 0,0" + id="path3504" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="" + id="path3507" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-4"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + id="path3510" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-5"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 z m 0,0" + id="path3513" /> + </symbol> + <symbol + style="overflow:visible" + overflow="visible" + id="textext-6637ec56-6"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 l 0,1.328125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 l 0,-1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + id="path3516" /> + </symbol> + </g> + </defs> + <g + id="textext-6637ec56-7"> + <g + style="fill:#000000;fill-opacity:1" + id="g3519"> + <use + height="425" + width="428.75" + xlink:href="#textext-6637ec56-1" + x="223.43201" + y="134.765" + id="use3521" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g3523"> + <use + height="425" + width="428.75" + xlink:href="#textext-6637ec56-4" + x="229.864" + y="134.765" + id="use3525" /> + <use + height="425" + width="428.75" + xlink:href="#textext-6637ec56-5" + x="234.29138" + y="134.765" + id="use3527" /> + <use + height="425" + width="428.75" + xlink:href="#textext-6637ec56-6" + x="239.27267" + y="134.765" + id="use3529" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g3531"> + <use + height="425" + width="428.75" + xlink:href="#textext-6637ec56-2" + x="244.86301" + y="134.765" + id="use3533" /> + </g> + </g> + </g> + <g + id="g3746" + transform="matrix(0,3.7032852,-3.7032852,0,901.43144,-626.12243)" + ns0:preamble="" + ns0:text="$r \\sin \\varphi$"> + <defs + id="defs3748"> + <g + id="g3750"> + <symbol + id="textext-e7aa8506-0" + overflow="visible" + style="overflow:visible"> + <path + id="path3753" + d="" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-1" + overflow="visible" + style="overflow:visible"> + <path + id="path3756" + d="m 0.875,-0.59375 c -0.03125,0.15625 -0.09375,0.390625 -0.09375,0.4375 0,0.171875 0.140625,0.265625 0.296875,0.265625 0.125,0 0.296875,-0.078125 0.375,-0.28125 C 1.46875,-0.203125 1.796875,-1.5625 1.84375,-1.75 c 0.078125,-0.328125 0.265625,-1.015625 0.3125,-1.296875 0.046875,-0.125 0.328125,-0.59375 0.5625,-0.8125 0.078125,-0.0625 0.375,-0.328125 0.796875,-0.328125 0.265625,0 0.40625,0.125 0.421875,0.125 -0.296875,0.046875 -0.515625,0.28125 -0.515625,0.546875 0,0.15625 0.109375,0.34375 0.375,0.34375 0.265625,0 0.546875,-0.234375 0.546875,-0.59375 0,-0.34375 -0.3125,-0.640625 -0.828125,-0.640625 C 2.875,-4.40625 2.4375,-3.921875 2.25,-3.640625 2.15625,-4.09375 1.796875,-4.40625 1.328125,-4.40625 0.875,-4.40625 0.6875,-4.015625 0.59375,-3.84375 0.421875,-3.5 0.296875,-2.90625 0.296875,-2.875 c 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.015625 0.171875,-0.234375 0.171875,-0.703125 0.375,-1.1875 0.734375,-1.1875 0.15625,0 0.296875,0.078125 0.296875,0.453125 0,0.21875 -0.03125,0.328125 -0.15625,0.84375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-2" + overflow="visible" + style="overflow:visible"> + <path + id="path3759" + d="M 1.6875,1.6875 C 1.65625,1.828125 1.640625,1.84375 1.640625,1.890625 c 0,0.21875 0.1875,0.28125 0.296875,0.28125 0.046875,0 0.265625,-0.03125 0.359375,-0.265625 C 2.328125,1.828125 2.375,1.5 2.65625,0.09375 c 0.078125,0 0.15625,0.015625 0.328125,0.015625 1.65625,0 3.1875,-1.5625 3.1875,-3.140625 0,-0.78125 -0.390625,-1.375 -1.140625,-1.375 -1.4375,0 -2.046875,1.9375 -2.640625,3.875 C 1.3125,-0.734375 0.75,-1.28125 0.75,-2 c 0,-0.28125 0.234375,-1.375 0.828125,-2.0625 0.09375,-0.09375 0.09375,-0.109375 0.09375,-0.140625 0,-0.03125 -0.03125,-0.09375 -0.125,-0.09375 -0.28125,0 -1.046875,1.453125 -1.046875,2.40625 0,0.9375 0.65625,1.65625 1.71875,1.90625 z m 1.390625,-2.15625 c -0.09375,0 -0.109375,0 -0.1875,-0.015625 -0.125,0 -0.125,0 -0.125,-0.03125 0,-0.015625 0.171875,-0.9375 0.1875,-1.078125 0.3125,-1.28125 1.09375,-2.234375 1.984375,-2.234375 0.6875,0 0.953125,0.53125 0.953125,1.015625 0,1.125 -1.28125,2.34375 -2.8125,2.34375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-3" + overflow="visible" + style="overflow:visible"> + <path + id="path3762" + d="" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-4" + overflow="visible" + style="overflow:visible"> + <path + id="path3765" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 l 0,1.328125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 l 0,-1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-5" + overflow="visible" + style="overflow:visible"> + <path + id="path3768" + d="M 1.765625,-4.40625 0.375,-4.296875 l 0,0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 l 0,2.6875 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 l 0,0.3125 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 l 0,-0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="textext-e7aa8506-6" + overflow="visible" + style="overflow:visible"> + <path + id="path3771" + d="m 1.09375,-3.421875 0,2.671875 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 l 0,0.3125 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 l 0,-0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 l 0,-1.84375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 l 0,2.328125 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 l 0,0.3125 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 l 0,-0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 l 0,-1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 l 0,-1.046875 -1.40625,0.109375 0,0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </symbol> + </g> + </defs> + <g + id="textext-e7aa8506-7"> + <g + id="g3774" + style="fill:#000000;fill-opacity:1"> + <use + id="use3776" + y="134.765" + x="223.43201" + xlink:href="#textext-e7aa8506-1" + width="428.75" + height="425" /> + </g> + <g + id="g3778" + style="fill:#000000;fill-opacity:1"> + <use + id="use3780" + y="134.765" + x="229.864" + xlink:href="#textext-e7aa8506-4" + width="428.75" + height="425" /> + <use + id="use3782" + y="134.765" + x="233.79324" + xlink:href="#textext-e7aa8506-5" + width="428.75" + height="425" /> + <use + id="use3784" + y="134.765" + x="236.56087" + xlink:href="#textext-e7aa8506-6" + width="428.75" + height="425" /> + </g> + <g + id="g3786" + style="fill:#000000;fill-opacity:1"> + <use + id="use3788" + y="134.765" + x="243.756" + xlink:href="#textext-e7aa8506-2" + width="428.75" + height="425" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/slides/internals/coordinates.xml b/slides/internals/coordinates.xml new file mode 100644 index 0000000..3e4c809 --- /dev/null +++ b/slides/internals/coordinates.xml @@ -0,0 +1,10 @@ +<slide> +<title>Converting Coordinate Systems</title> + +<image filename="Polar_to_cartesian.svg"/> + +<list> + <bullet>Cartesian: *x* and *y*</bullet> + <bullet>Polar: r (*radius*) and φ (*degrees*)</bullet> +</list> +</slide> diff --git a/slides/internals/debug.xml b/slides/internals/debug.xml new file mode 100644 index 0000000..4bd2adb --- /dev/null +++ b/slides/internals/debug.xml @@ -0,0 +1,12 @@ +<slide> +<title>Debugging Tools</title> + +<blurb>%gdb%</blurb> +<blurb class="small">→ allows the inspection of programs when they're running</blurb> +<blurb class="small">→ %export USE_ZEND_ALLOC=0%</blurb> +<break/> + +<blurb>%valgrind%</blurb> +<blurb class="small">→ tells you about memory corruption and allocation issues</blurb> +<blurb class="small">→ %export ZEND_DONT_UNLOAD_MODULES=1%</blurb> +</slide> diff --git a/slides/internals/exercise-steps.xml b/slides/internals/exercise-steps.xml new file mode 100644 index 0000000..bd0566c --- /dev/null +++ b/slides/internals/exercise-steps.xml @@ -0,0 +1,26 @@ +<slide> +<title>Exercise Steps</title> +<subtitle>Polar to Cartesian Coordinates</subtitle> + +<blurb>%geospatial.c%</blurb> +<list> + <bullet>Add the function definition to %geospatial_functions%</bullet> + <bullet>Add arg-info struct</bullet> + <bullet>Add %PHP_FUNCTION% implementation that uses %zend_parse_parameters% and calls %polar_to_cartesian%</bullet> +</list> + +<blurb>%algorithms.h%</blurb> +<list> + <bullet>Add macro for deg2rad and rad2deg: +<example><![CDATA[#define deg2rad(deg) ((deg) * M_PI / 180.0) +#define rad2deg(rad) ((rad) * 180.0 / M_PI)]]></example> + </bullet> +</list> + +<blurb>%algorithms.c%</blurb> +<list> + <bullet>Implement algorithm</bullet> +</list> + +<blurb>Run tests!: %make test%</blurb> +</slide> diff --git a/slides/internals/exercise.xml b/slides/internals/exercise.xml new file mode 100644 index 0000000..1533c18 --- /dev/null +++ b/slides/internals/exercise.xml @@ -0,0 +1,15 @@ +<slide> +<title>Exercise</title> + +<blurb>Adding new functions to the geospatial extension</blurb> + +<blurb>Required:</blurb> + +<list> + <bullet>Linux, or possibly a Mac</bullet> + <bullet>Compiler, automake, autoconf, m4 and friends</bullet> + <bullet>PHP, with development headers for PHP 7.0+</bullet> + <bullet>A git clone of<br/>%https://github.m/derickr/php-ext-tutorial.git%</bullet> + <bullet>PDF of slides for reference:<br/>%:-:url:-:%</bullet> +</list> +</slide>