プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

今年もマッピングパーティを開催しました:世古をマッピング!伊勢マッピングパーティ

先日の7月7日(土)に、『世古をマッピング!伊勢マッピングパーティ』と題して、今年もマッピングパーティを開催しました。

isemap.connpass.com

今回は外宮周辺にある、世古と呼ばれる昔の路地をめぐり、マッピングを行いました。路地なので、普段の伊勢での生活に触れて、いろいろとマッピングできるかな?とこれを選びました。

ということで、せっかくですので、メモをまとめときます。

天候

開催当日の数日前から全国的に大雨が降っておりました(特別警報の出たやつです)。開催2日程度前の天気予報では、三重も警報がでるかもしれないという感じでしたので、中止にしようかどうしようか非常に迷ったところです。

最終的に前日の天気予報を見て、三重(というか伊勢志摩あたり)では雨は降るかもしれないが、警報が出るような大雨ではなさそうだ、と判断して開催することとしました(もっとも、開催日当日に急慮中止になる可能性もあったので参加者の方には事前に連絡しています)。

で、当日、蓋を開けてみると、午前中は曇り空ですが雨も降らず、なんとかなるかな?という感じでした。 イベント中はどうだったかというのは・・・続きを読んでください。

参加者

さて、そんな感じでなんとかイベント開催にこぎつけたのですが、天候のこともあり、参加人数も当初予定の16名から、9名へと大きく変更になってしまいました。

ですが、今回は、マッピングパーティへご興味を持っていただいた、宇治山田商業高等学校の先生と生徒さんが一緒にイベントに参加してくれました(悪天候の中、ありがとうございました)。 高校生でこういうのに興味を持ってもらえるとは、いやー、うれしいですね。

元々、宇治山田商業高等学校はオープンデータの活用に積極的で、以前からいろいろと活動されているとのことです。

ameblo.jp

(伊勢市長のブログでの紹介記事へのリンクです)

今後も頑張ってほしいですね。

あと、講師役をお願いしていた @ さんも来れなくなり、どうしようかと思っていたところ、大阪から @ さんが来てくれて、さらに講師の代打も引き受けていただけることになりました。雨の中ありがとうございました。本当に、ありがたかったです。

フィールドワーク

さて、本題です。 13時に伊勢市駅に集合し、その場で簡単な説明とフィールドワーク用に作成した資料(印刷物)を配布します。 この時点では、紙にメモを取りながら進めるスタイルのフィールドワークを想定していました。 説明後、いざ、フィールドワークのスタートです。

と、意気揚々と駅を出てしばらくすると、ポツポツと雨が・・・

『気のせいだろう。すぐ止むよ。』とかってに祈りながら、気にせずみんなで予定したルートを歩いていくと、突風が吹いてきて・・・傘さすのもつらいです。

というのが、スタート直後にあったので、紙にメモするスタイルはできないと判断して、写真撮りまくりでなんとかしようということで始まりました。

f:id:junichim:20180709084819j:plain

雨が止んでるときは、街歩きしながらあちこち写真を撮って快適なのですが、少しするとザアッと雨が降ったりします。この天気には困ったもんですね。 まあ、そんな感じでしたので、予定していたルートを半分程度省略して、早々に切り上げました。

あ、ちなみに写真を撮る場合のポイントは

  • 位置関係がわかるような引きの写真
  • 対象物がよくわかるようなズームの写真

の2つを撮るとあとからマッピングするときに分かり易いとのことでした。

ルート

ちなみに、今回のイベントで設定したルートは、ここです。

uMapには、ルートが2つ設定されていると思います。当初は2チームに分かれてマッピングしようと思っていたのですが、参加者が減ったのと、天候が読めないのでまとまって行動したほうがいいと考え、1つのルート(ルート1)のみで行いました。

ご興味ある方、ルート2でマッピングしてみると面白いかもしれませんよ。

印刷した地図

あと、街歩きの際に使おうと思っていた地図は、Field Papers で作成しています(実際に配ったやつです)。

http://fieldpapers.org/atlases/h3ywtz6j

エリアを指定するとA4何枚とか指定した枚数の地図帳として作成してくれます。もちろん、PDFで取得したり、印刷もできます。 これ便利ですよねー。

こういう使い方もできるという参考まで。

マッピング

フィールドワークを終えたら、いよいよマッピングです。 マッピングの会場は少し離れたところにあるので、そこまで車に分乗して移動です。今回は、部屋にPCが備え付けられている、いわゆるパソコン室、というところを借りました。

f:id:junichim:20180709084928j:plain

最初に講師の方から、OpenStreetMap の概要の説明を受け、ブラウザで動作するオンラインエディタの使い方の説明もいただきました。 参加者の方には事前に OpenStreetMapのユーザー登録を済ませておいてもらったので、出だしはスムーズです。

何を登録するのか決めて、一つづつ追加していきます。作業する時間がたっぷりあるかと思っていたのですが、いざ始まると意外と短かくて、結構急ぎ足になってしまいました。

成果発表

最後に、成果発表という形で、それぞれがマッピングしたものについて簡単に説明しました。

いろいろとマッピングしていたのですが、個人的に面白かったものは、

公園を充実させていたり、

f:id:junichim:20180709085249p:plain

並木道を描いたり

f:id:junichim:20180709085502p:plain

神社の中をマッピングしたり

f:id:junichim:20180709085558p:plain

と、自分がやったことのないものでした。改めて、いろいろとできるんだなと実感しました。

個人的には、世古にはその名前を示す石碑(こういうやつです)

f:id:junichim:20180709101056j:plain

があるので、ルート上にある石碑を全てマッピングしてしまおう、と思っていたのですが、雨に気を取られていたり、当日の進行でドタバタしたりして、記録取り損ねたのも多くて、コンプリートできませんでした。残念。

今度、こっそり登録してしまおうと思います。

あ、あと、女子生徒さんがマッピングしたところに、ブティックとかがあり、これは自分(男性)の視点ではきっと描いてないだろうな、とか思ったのが新鮮でした。

最後に

今回のマッピングパーティだけの成果というわけではありませんが、後日、イベント前後のマップを比べると、

マッピングパーティ前 f:id:junichim:20180709090058p:plain

マッピングパーティ後 f:id:junichim:20180709090113p:plain

と一目でわかるように、ずいぶんと情報が充実しました。

まとめ

悪天候の中、ご参加いただいた皆様ありがとうございました。大きな事故もなく無事にイベントが終わり一安心です。個人的には天候が悪いにも関わらず非常に楽しかったです。 皆さまはいかがだったでしょうか?

今回のイベントの場合、フィールドワークのエリアとマッピング会場が離れており、これってありなんだろうか?と思っていました。

講師の @ さんにも訪ねてみたら、よくあること、とのことでした。都市部なら公共交通機関で移動する場合もあるとか。 伊勢のような地方だと、あらかじめ車の台数を把握して、分乗できるか考えておくなどする必要もありそうですね(事故のことを考えるとあんまりやりたくないのですが)。 今後の検討課題ですね。

反省点

最後に次回に向けていくつか反省点をまとめておきます

会場のパソコン室を事前にチェックできなかった

怠慢です、すいません。無事に動作はしましたが、ちょっと古めなので動作が重かったり、若干不都合があったりしました。 今回はなんとかなりましたが、場合によっては、各自のノートPC持参と、持ってこれない人は備え付けのPCを使う、などの併用案も考えるべきでした。

いかに参加者のすそ野を広げるか

これは難しいですね。

使うだけなら Google Map でいいや、と思いますもんね(自分も少し前までそう思ってました)。 マッピングパーティの活動の話をしていると、大体防災というキーワードが出たときに、相手の反応がよくなるので、それに絡めてみるといいかな?と思ったりもしてます。

そんなこんなの、マッピングパーティでしたが、懲りずに次回もまたやりたいと思います。 ご興味ある方は、ご自分で地図を編集することから気軽に始められますので、ぜひ試してみてください!

DDNS サービスを変更

わざわざブログに書くほどでもないですが、一応メモとして。

今まで、自宅のサーバーへアクセスする必要があるときは DDNS で設定してホスト名を使っていました。 いままでは、下記の記事に書いたように

blog.mori-soft.com

ieServer を使っていました。

無料で使えて、非常にありがたかったのですが、IPアドレスが変更した際、それが反映されるのにちょっと時間がかかることがしばしありました。 とはいえ、別のDDNSサービスも今一つなのでそのまま使っていたのですが、少し前に QNAP の NAS を導入した時に DDNS サービスがついてたのを思い出したので、そちらに切り替えることにしました。

myQNAPcloud というサービスなんですが、本来は外から QNAP の NAS を使うためにDDNSを提供してくれています。 今回は、外からNASにアクセスする必要はないので、ルータに穴は空けないようにしていた(こちらの記事参照)のはそのままにして、 DDNS だけ有効にしました。

こうしておけば、無料で特に制限もなくDDNSを使うことができます(ドメイン名が .myqnapcloud.com なのは我慢しましょう)。

svn -> git へ移行(補足):期限切れの証明書、空ディレクトリ への対応

以前、

blog.mori-soft.com

として、SVN から git へ移行する手順をまとめました。

最近、久しぶりに昔のSVNのリポジトリをGitに移行した際に、SSLの証明書の期限が切れていて、対応に若干手間取ったので、対応方法を書いておきます。 あと、svn にある空ディレクトリの話もです。

期限切れの証明書

エラーの内容

さきほどの記事のAuthor情報の抽出時に、こんな感じのエラーが出ました。

mor@DESKTOP-V2DMDRJ:~/git_migration$ java -jar ../svn-migration-scripts.jar authors https://サーバーIPアドレス/svn/repos_name/ username password
About to create the authors file.
svn: E170013: Unable to connect to a repository at URL 'https://サーバーIPアドレス/svn/repos_name'
svn: E230001: Server SSL certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted
Could not communicate with Subversion: check the URL of the repository, the username and the password are all valid
Error written to /tmp/error-script-9134608188443191433.txt
mor@DESKTOP-V2DMDRJ:~/git_migration$

昔のSVNリポジトリが入っているサーバーを久しぶりに起動したので、証明書がオレオレ証明書の上、期限が切れているようです。

このとき、使っている移行ツールは、 Bitbucket 謹製の svn-migration-scripts.jar なのですが、これ自体には、証明書に関するオプション等がないようです。

対応方法

どうしたものかと思っていたのですが、要はSVNが接続先のサーバーを信頼すればいいだけなので、下記のようにしました。

mor@DESKTOP-V2DMDRJ:~$ svn ls https://サーバーIPアドレス/svn/repos_name/
'https://サーバーIPアドレス:443' のサーバ証明書の認証中にエラーが発生しました:
 - 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証
   するためにフィンガープリントを用いてください!
 - 証明書のホスト名が一致しません。
 - 証明書の期限が切れています。
証明書情報:
 - ホスト名: xxxxx.mori-soft.com
 - 有効範囲: Dec  6 01:05:05 2012 GMT から Dec  6 01:05:05 2013 GMT まで
 - 発行者: xxxxx.mori-soft.com, Private, Ise, Mie, JP
 - フィンガープリント: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? p

サーバー上のリポジトリを svn ls で表示しようとすると、当然証明書でエラーが起こるので、信頼する?と聞かれます。それを使って、『常に承認する (p)』を選択してやる、というものです。

続いて、リポジトリのパスワードを聞かれるので、

認証領域: <https://サーバーIPアドレス:443> Subversion repository
'mor' のパスワード: *******
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <https://サーバーIPアドレス:443> Subversion repository

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/mor/.subversion/servers'.
-----------------------------------------------------------------------
暗号化されていないパスワードを保存しますか (yes/no)? no
branches/
tags/
trunk/
mor@DESKTOP-V2DMDRJ:~$

パスワードを入力してやると、このように svn ls が実行できました。

これで、svnとして、接続先のサーバーが信頼できたので、問題なくAuthorの抽出ができます。

mor@DESKTOP-V2DMDRJ:~/git_migration$ java -jar ../svn-migration-scripts.jar authors https://サーバーIPアドレス/svn/repos_name/ username password
About to create the authors file.
admin = admin <admin@mycompany.com>
mor = mor <mor@mycompany.com>
mor@DESKTOP-V2DMDRJ:~/git_migration$

あとは手順通りにgitにい公図ればOKです。

ちなみに、自分で考えたように書いてますが、元ネタはこちらです。ありがとうございます。

eichisanden.hateblo.jp

空ディレクトリ

git では空ディレクトリはリポジトリに登録できません。svnではできていたのにね。 プログラムにもよりますが、空でもそのディレクトリがあることを前提にしていると困るので、git でも空ディレクトリを登録してやる必要があります。

簡単には、

$ find . -type d -empty

として、空ディレクトリを調べます。 今回は、見つかった空ディレクトリのうち、ごく一部だけを登録すればよかったので、手作業で touch .gitignore として、空ディレクトリに空の .gitignore を作ってやりました。

参考情報

その他にも、

空のディレクトリに.gitkeepを配置するコマンドラインツール - Qiita

のように、自動化したり、

git svn 実行時に自動で空の .gitignore をつけてくれるオプション (--preserve-empty-dirs) もあるそうです。

urashita.com

次はこれ試してみたいな。