{"id":3459,"date":"2020-02-12T12:27:44","date_gmt":"2020-02-12T03:27:44","guid":{"rendered":"https:\/\/now0930.pe.kr\/wordpress\/?p=3459"},"modified":"2020-02-15T08:25:00","modified_gmt":"2020-02-14T23:25:00","slug":"gps-%ed%83%9c%ea%b7%b8-%ec%95%a8%eb%b2%94-%ec%a0%9c%ec%9e%913","status":"publish","type":"post","link":"https:\/\/now0930.pe.kr\/wordpress\/gps-%ed%83%9c%ea%b7%b8-%ec%95%a8%eb%b2%94-%ec%a0%9c%ec%9e%913\/","title":{"rendered":"gps \ud0dc\uadf8 \uc568\ubc94 \uc81c\uc791(3\/4)"},"content":{"rendered":"\n<p>perl\uc744 \uc4f0\uae30 \uc704\ud574 docker\ub97c \uc0ac\uc6a9\ud588\ub2e4. commit\ub300\uc2e0 \uac04\ub2e8\ud55c Dockerrun\uc744 \ub9cc\ub4e4\uc5c8\ub2e4. commit\uc73c\ub85c \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e4\uba74 \ub2e4\uc74c\uc5d0 \ub2e4\uc2dc \ub9cc\ub4e4 \uc218 \uc5c6\ub2e4\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FROM perl:v5.30.1\nMAINTAINER ???\nRUN apt-get -y update\n#GooglaMaps::V3 \uc124\uce58\nRUN cpan HTML::GoogleMaps::V3\n#https \uc124\uc815.\nRUN cpan install LMP::UserAgen Mozilla::CA\nRUN cpan install LWP::Protocol::https\nRUN cpan install Bundle::DBI\nRUN cpan install DBD::mysql<\/pre>\n\n\n\n<p>host\uc5d0 \uc788\ub294 mysql\uc5d0 \uc811\uc18d\ud558\uae30 \uc704\ud574 \uc635\uc158\uc744 docker\uc5d0 run \uc635\uc158\uc744 \uc92c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -it --network=host -e LC_ALL=C.UTF-8 -v ????:\/home\/ perl:mysql_Map \/bin\/bash<\/pre>\n\n\n\n<p>DBI:mysql\ub85c \uc5f0\uacb0\ud560 \ub54c \ub744\uc5b4\uc4f0\uba74 \uc5d0\ub7ec\ub97c \ubcfc \uc218 \uc788\ub2e4. \ubd99\uc5ec\uc368\uc57c \ud55c\ub2e4. \uc774\uac78 \ubaa8\ub974\uace0 \ud558\ub8e8\ub97c \ub0a0\ub838\ub2e4. \ub610 \ud55c\uae00 \ucd9c\ub825\uc5d0 \ubb38\uc81c\uac00 \uc788\ub294\ub370 binmode\ub97c \uc8fc\uc11d\ucc98\ub9ac \ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">se utf8;\nuse strict;\nuse warnings;\nuse DBI;\nuse HTML::GoogleMaps::V3;\n#\uc544\ub798\ub0b4\uc6a9\uc740 \uad6c\uae00MAPs \uc5d0 \uc0ac\uc6a9.\n#binmode STDOUT, \":utf8\";\n\nmy $host =\"127.0.0.1\";\nmy $user = \"???\";\nmy $password = \"?????\";\nmy $database = \"?????\";\nmy $tablesname =  \"????\";\n\n#\ubaa8\ub450 \ubd99\uc5ec\uc11c \uc0ac\uc6a9..\n#space \uc788\uc73c\uba74 connect \uc5d0\ub7ec\nmy $dbh = DBI->connect(\"DBI:mysql:database=$database;host=$host\", $user, $password, {RaiseError => 1});\n\n#\ud55c\uae00 \uc124\uc815\nmy $setkorean=\"SET NAMES utf8\";\n$dbh->do($setkorean);\n#query \uc124\uc815.\n#my $query = \"select * from picture where \ud0dc\uadf8 like '%??%' limit 10\";\n#\ud14c\uc2a4\ud2b8\uc6a9 query\nmy $query = \"select * from picture where (\ud0dc\uadf8 like '%??%' and gpsLatFloat != 0) limit 10\";\n\n#query \uc2e4\ud589\n#my $sth=$dbh->prepare($query);\n#$sth->execute();\n\n#while(my $ref = $sth->fetchrow_hashref()){\n#\tprint \"Found: $ref->{'perl_tag'}\";\n#}\n#print $sth->rows;\n\nmy $map = HTML::GoogleMaps::V3->new(\n    api_key => \"???\"\n);\n\n#query \uc2e4\ud589\nmy $sth=$dbh->prepare($query);\n$sth->execute();\n\nwhile(my $ref = $sth->fetchrow_hashref()){\n\tprint \"Found: $ref->{'perl_tag'}\";\n\t$map->add_marker(\n\t\tpoint => [$ref->{'gpsLongFloat'},$ref->{'gpsLatFloat'}],\n\t\thtml => qq{&lt;a href=$ref->{perl_path}>$ref->{perl_tag}&lt;\/a>},\n\t\t);\n};#while loop\n\n$sth->finish();\n$dbh->disconnect();\n\nmy ( $head, $map_div ) = $map->onload_render;\n\nprint &lt;&lt;\"END_HTML\";\n&lt;!doctype html>\n&lt;html>\n&lt;head>\n&lt;meta charset=\"utf-8\" \/>\nEND_HTML\n\nprint $head . \"\\n\";\n\nprint &lt;&lt;\"END_HTML\";\n&lt;\/head>\n&lt;body onload=\"html_googlemaps_initialize()\">\nEND_HTML\n\nprint $map_div . \"\\n\";\n\nprint &lt;&lt;\"END_HTML\";\n&lt;\/body>\n&lt;\/html>\nEND_HTML<\/pre>\n\n\n\n<p>\uc774\uc81c marker infoWindows\ub97c \uc774\uc058\uac8c \uc124\uc815\ud558\uba74 \ub41c\ub2e4. \uc544\ubb34\ub798\ub3c4 \uc124\uba85\uc744 \uc785\ub825\ud574\uc57c \ud560 \ub4ef \ud558\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>perl\uc744 \uc4f0\uae30 \uc704\ud574 docker\ub97c \uc0ac\uc6a9\ud588\ub2e4. commit\ub300\uc2e0 \uac04\ub2e8\ud55c Dockerrun\uc744 \ub9cc\ub4e4\uc5c8\ub2e4. commit\uc73c\ub85c \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e4\uba74 \ub2e4\uc74c\uc5d0 \ub2e4\uc2dc \ub9cc\ub4e4 \uc218 \uc5c6\ub2e4\ud55c\ub2e4. host\uc5d0 \uc788\ub294 mysql\uc5d0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[12],"tags":[126,730,728,729],"class_list":["post-3459","post","type-post","status-publish","format-standard","hentry","category-12","tag-gps","tag-perl","tag-728","tag-729"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":4,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3459\/revisions"}],"predecessor-version":[{"id":3476,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3459\/revisions\/3476"}],"wp:attachment":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}