20170801\石川県警提出書面\GitHubを使った全面的情報公開と、Atomエディタを活用したフレームワーク的な資料の構成・管理(記録作成のための装置).md

TITLE:20170801\石川県警提出書面\GitHubを使った全面的情報公開と、Atomエディタを活用したフレームワーク的な資料の構成・管理(記録作成のための装置).md

主な変更点

ブログ投稿記事に対応した作成ファイル名の書式変更

>>2017-08-01(火曜日)13:50_[これからの記述範囲の開始時刻]>>

 昨日の朝になりますが、「年月日\石川県警提出書面\(ファイル名書式).md」のファイル名を思いつきました。「.md」という拡張子は、Markdownのファイルであることを意味しますが、これは対応した投稿記事名にもそのまま使っており、これは従来通りです。

 「20170801\石川県警提出書面\GitHubを使った全面的情報公開と、Atomエディタを活用したフレームワーク的な資料の構成・管理(記録作成のための装置).md」というのが、具体的な初適用で、このファイルになります。

<<2017-08-01(火曜日)13:58_[これまでの記述範囲の終了時刻]<<

新たなGitHubリポジトリとしてのファイル管理

>>2017-08-01(火曜日)14:11_[これからの記述範囲の開始時刻]>>

 GitHubについては、のちほど簡単なご説明をさせてもらいたいと思いますが、新たに作成したGitHubのリモートリポジトリを、ローカルのパソコンにcloneするところから始めました。具体的な私のパソコン環境では、「~/git/kk2017/」というディレクトリになります。

 新規のファイルやディレクトリになりますが、従来、管理していたファイルやディレクトリの主要部分を、そのままコピーし、ディレクトリの構成もそのまま使うことにしました。その以前作成したファイルと、ひと目で区別にするために、ファイル名の書式の変更をしました。

 新たなファイル名の書式の先頭部分は半角数字で「年月日(例:20170801)」になります。これはファイルの並び替えにも役立ちますが、ひと目でいつ頃に作成した文書なのかをわかるようにと工夫しました。

 どこをどのように変更したのかということは、GitHubのページを見ることでおわかり頂けると思います。

 そのためにはGitに対する基本的な理解が必要になりますが、コミットという操作の時点での変更点を全て記録し、遡って後戻り出来るというのも、分散型バージョン管理システムとしてのGitの特徴です。

 このようなGitそのものやGitHubを使った運用は、これまでにも繰り返しやってきたことですが、今回は、それまで以上に、管理の必要性と有用性を感じて、本格的な取り組みに取り掛かることにした次第です。

<<2017-08-01(火曜日)14:29_[これまでの記述範囲の終了時刻]<<

パソコン操作とインターネットサービスの利用形態に関するご説明

GitとGitHubについて

>>2017-08-01(火曜日)14:33_[これからの記述範囲の開始時刻]>>

 Gitは、分散型バージョン管理システムというソフトウェアの一つです。以前は、csvSubversionが主流の時代もありました。私個人も、羽咋市に住んでいた2009年3月以前は、そちらをよく使っていたという記憶があります。Gitもすでに使い始めていたようにも思います。

 本来は、ソフトウェアのプログラムコードの開発に使われるものでしたが、数年前からは本や、書籍の共同開発、編集の管理という利用法もインターネット上で散見するようになりました。

 インターネットでGitを調べると膨大な数の情報が集まると思いますが、情報が多すぎるゆえに全体像を掴みづらく、理解し難いということもあるかと思いますし、私もそういう経験を長い間に積み重ねて来ました。

 詳細や個別の部分については必要に応じてお調べ頂きたいのですが、今回は、最低限の使い方をご紹介したいと思います。

 まず、GitHubはGitを使ったインターネットサービスの一つです。他にも似たようなサービスは複数あって、より制限がゆるく、充実度が高いと思えるサービスも中にはあるのですが、知名度や安定度を優先し、私はGitHubを使っています。

 GitHubはサービスの名前だけではなく、会社名そのものにもなっているようです。私自身、一昨日辺りに初めて知ったところですが、日本法人も設立されていたようです。次がそのホームページです。

GitHub Japan https://github.co.jp/

 かつて検索サービスのサービス名という認識であったGoogleが、GoogleマップYouTubeGoogleメールなどとインターネットの全般的なサービスを提供する世界的な大企業となったことを思い起こせますが、GitHub知名度は、一般的とはなっていないと思います。

 gitは、基本的にコマンドの一つとして、端末やターミナルで使ってきました。例えば「git push」というコマンドの実行になりますが、ターミナルでのコマンド操作が普通のLinux環境では、扱いやすく馴染みやすいものの、Windows環境ではそうではありませんでした。

 現在、主なパソコン環境を大別すると、WindowsMacLinuxになるかと思います。私はMacの環境に馴染みはありませんが、Macのパソコン自体が、Linuxと同じUNIXをベースにしているので、コマンド操作の環境が充実しているらしいことは知っています。

 このようなパソコン環境の違いを、プラットホームと呼ぶこともありましたが、以前よりこのプラットホームの違いを吸収したとされてきたのが、Javaというプログラムを使ったソフトの利用でした。統合開発環境と呼ばれるEclipseなどは、代表的なものの一つです。

 Eclipseも私は羽咋市に住んでいる頃から使っていましたが、プラットホームの違いの対応は十分と思えないものでした。このプラットホームの違いが問題となるのは、文字コートと改行コードの違いでした。いわゆる文字化けという現象として遭遇することの多い問題でした。

 現在は、文字化けの問題に直面することは、ほとんどなくなってきたかと思います。ただ、常に意識し注意すべき問題であり、文字コードの知識がないと、まったく対応できないことになるかと思います。

 今でも問題が起こるのは、Linuxで作成したテキストファイルを、Windowsのメモ帳で開いたときですが、改行が反映されず、全て横並びの文字列として表示されています。

 そんなメモ帳も、標準のWindowsパソコンの環境では、唯一のテキストエディタと聞いています。いわゆるフリーソフトとして高度なテキストエディタは、Windowsでもいろいろありますが、全て自前でインストール必要があるはずです。

 フリーソフトをインストールするための知識も必要になりますし、会社や官庁などの管理された環境となると、管理も厳しいはずかと思います。最近はみなくなりましたが、以前は、個人で入れたソフトで、ちょくちょくと問題が起きて、報道もされていました。

 Gitの導入もLinuxのパソコン環境では簡単ですが、Windowsのパソコン環境となると、面倒が増える上に、複数の選択肢でも頭を悩ますことになります。これはプログラムの開発環境で共通した問題でありますが、そういうこともあるので、私はLinuxを使っています。

 Windowsでも、CygwinのようなUNIX環境そのものを構築する方法もありますが、仮想マシンとしてLinuxを使うという方法もあります。どちらも面倒や制約が大きいというのが感想です。Cygwinはメンテが大変すぎます。仮想マシンはパソコンのスペックも違いが大きそうです。

 とにかくWindowsパソコンで、オープンソース系のソフトを使うとなると、面倒が多いです。最近は余りやらなくなっていて、改善されている部分もあるかとは思いますが、面倒と制約のないLinuxをそのまま使っています。基本的にWindowsパソコンを使うのは告訴状作成以外の用事です。

 まだ、ちょっと使っただけですが、そんな経験でも、これは支障がなさそうだと思ったのが、WindowsパソコンでのAtomエディタの利用でした。おまけに、GitHubの利用においても、初めてスムースに面倒さを感じさせないものでした。

 ただし、GitHubとのsshでの接続には、やっかいなハードルがあるかと思います。公開鍵を作成し、GitHubに登録する必要があります。

 ただし、ZipとしてGitHubのデータをダウンロードして、内容を閲覧する分には、Gitの環境は不用です。mdの拡張子に対応したソフトが入っていなければ、普通に開くことが出来ないとは思いますが、Markdownの中身は単なるテキストファイルなので、Wordでも開けそうです。

 いずれにせよ、Atomエディタを使って、これまでになくGitの操作が簡単に感じたので、最低限のGitの仕組みと利用法という意味で、次にAtomエディタのご説明に移りたいと思います。

<<2017-08-01(火曜日)15:43_[これまでの記述範囲の終了時刻]<<

AtomエディタによるGitHubの利用

 私自身、つい最近になって知ったのですが、安定版のバージョンが1.8になって、AtomエディタにGitHubの管理操作が標準で組み込まれたということです。AtomエディタがGitHubと相性が良いのは当然のことで、AtomGitHubによって開発されたと聞いていました。

 細かい操作方法は説明をややこしくするので省きますが、コミット後に、編集、追加、削除されたファイル、フォルダは右のペインに「Unstaged Changes」として表示されます。

 それを一つずつ、右クリックのメニューからStageを選択するか、ALL Stageというボタンをクリックすることで、Stageに移行します。このStageに登録されたファイルが、コミットの対象となるようです。

 下の方に「Commit message」という入力欄があるので、そこにコミットのメッセージを書き込みます。メッセージは絶対必要というわけではないのかもしれませんが、今回は、このコミット時のメッセージがとても便利なものだと初めて痛感しました。その理由はのちほどです。

 Stegeに登録したファイルとメッセージの内容に間違いがないと確認したら「Commit」というボタンをクリックして、コミットを実行しますが、これはローカルのリポジトリに対するコミットなので、GitHubのサービス上にあるリモートリポジトリには影響しません。

 このローカルの変更をリモートリポジトリに反映させるのが、「git push」というコマンド操作になりますが、これもAtomエディタから行えます。ウィンドの下右端の近くにある上向きの矢印ボタンをクリックして、出てくるPushボタンをクリックするだけです。

 リモートリポジトリの変更は、ブラウザのGitHubのページから確認できます。次のページです。

hirono2016kk/kk2017 https://github.com/hirono2016kk/kk2017

 ここで表示されているのは、リポジトリの最上位のディレクトリの内容です。私は個人的こだわりと正確性の重視のためにディレクトリと呼んでいますが、Windowsパソコンのフォルダと同じです。フォルダの中にはフォルダがあって、カバンのようなアイコンが頭に付いて表示されています。

 今回のコミットのメッセージは「>> 2017/08/01(火) 16:00:21 >>」でした。他との区別がしやすいように更新時の時刻を使っています。「project」と「work」の2つのフォルダにのみ、このメッセージが付いています。

 これが今回始めて気がついたメッセージのありがたさでした。以前も同じだったのかもしれませんが、このひと目でわかる更新の状態が、状態の把握にとても役立つと感じたのです。

 フォルダは、そのフォルダの内容を表示させるリンクとなっています。

kk2017/project at master · hirono2016kk/kk2017 https://github.com/hirono2016kk/kk2017/tree/master/project

 ここには3つのフォルダが存在していて、「参考資料及びパソコンやインターネットの技術の利用に」と表示されているフォルダのみが、「>> 2017/08/01(火) 16:00:21 >>」というメッセージになっています。フォルダの下位に変更があったことを示しているのだと思います。

kk2017/project/参考資料及びパソコンやインターネットの技術の利用に関するご説明 at master · hirono2016kk/kk2017 http://bit.ly/2vilkYH

 案の定、日本語の文字情報がURLエンコードされてとても長いURLになっていたので短縮URLに変換しましたが、「kk2017/project/参考資料及びパソコンやインターネットの技術の利用に関するご説明」というページのタイトル名は/で区切られて階層化がわかりやすくなっています。

kk2017/20170801\石川県警提出書面\GitHubを使った全面的情報公開と、Atomエディタを活用したフレームワーク的な資料の構成・管理(記録作成のための装置).md at master · hirono2016kk/kk2017 http://bit.ly/2tUfKZ4

 ツイートには末尾の文字数を削りましたが、上記のURLとタイトルで、さきほどコミットしたこのファイルの内容が表示されます。mdという拡張子があるので、Markdownのファイルとしてデザイのスタイルを適用して表示しているかと思います。

 見やすく整形したデザインを適用するのがMarkdownの目的なので、これはありがたい機能なのですが、Markdownでは連続した行が一つの行として表示されるという決まりがあって、これだと意図せぬ表示となることがあります。

 連続した行をまとめたくない場合は、行の末尾に2つ以上の半角スペースを入れるという方法もあるのですが、そういう対処がされていない場合などは、「Raw」というボタンをクリックすることで、ただのテキストファイルとして表示させることが出来ます。

 Markdownだと、URLが自動でリンク付きになるようです。.txtというテキストファイルの拡張子だと、リンクはつかなかったと思います。HTMLを表示させる方法もあったかと思いますが、そういうのも必要に応じて、使ってみたいとは考えています。

ZipファイルとしてのGitHubリポジトリの保存について

 リポジトリをCloneするには、sshのパスワードあるいは秘密鍵パスフレーズが必要になります。絶対的な信頼関係を前提にした共同開発、または、異なるパソコン環境での利用以外には使えないものだと思います。

 Gitでは、特定のファイルやディレクトリを管理の対象外とすることもありますが、そのような指定のないファイルやフォルダは、Zipファイルとしてダウンロードすることが出来ます。公開の設定が前提ですが、無償のサービスの利用では、非公開にすることができないとも聞いています。

 古い情報を見ていて、変更されている可能性もあるかとは思いますが、300MBが無償でのリポジトリのデータサイズの上限ということです。それでも特に問題はなく、データ容量の節約にも心掛けるので、むしろ好都合とも考えています。

 Zipは一般的となったファイルの圧縮アーカイブだと思います。Windowsパソコンでも標準で解凍や圧縮が出来るはずで、圧縮解凍ソフトはいらないはずかと思います。

 昨日、実際にダウンローとと解凍作業を行ってみたところ、Zipのファイルサイズは7.2MB、解凍で出来たフォルダの全内容のデータサイズは17MBとなっていました。

<<2017-08-01(火曜日)17:08_[これまでの記述範囲の終了時刻]<<

警察、検察不信という世論・メディアの風潮と傾向、その防御的対策、正確な記録としてのGitHubリポジトリの公開

>>2017-08-01(火曜日)17:13_[これからの記述範囲の開始時刻]>>

hirono2016kk/kk2017 https://github.com/hirono2016kk/kk2017GitHub

 公開として、具体的には上記のページ及びその配下のリンクの閲覧、そして先程来ご説明してきたZipファイルとしてのダウンロードということになるかと思います。より最新でメッセージ性の高い、案内等の情報は、Twitterで行っています。

 Zipファイルとしてのダウンロードの方法は、GitHubのページにある「clone or download」というボタンで、クリックで表示されるメニューから「Download ZIP」をクリックする手順になります。

 私が重要視しているポイントでもあるのですが、文字情報のファイルは、そのほとんどがテキストファイルになります。htmlという拡張子のファイルもブラウザで開くことが多いですが、内容はhtmlタグを使っただけのテキストファイルです。

 文字情報として取り扱うのが多いのはワープロソフトによるもので、Wordや一太郎の保存ファイルになるかと思います。これは特定の対応したソフトがインストールされていなければ、まともに開くことも出来ないもので、バイナリーファイルになります。

 テキストファイルは、文字コードの違いで文字化けする可能性が現在でも多少はあるものの、ワープロソフトで閲覧できるのが普通だと思います。テキストファイルを専用で扱うソフトがテキストエディタですが、UNIXの環境では、他のコマンドで扱うことも多いです。

 これが私がUNIX環境の一つであるLinuxを使う目的と理由の一つでもあるのですが、UNIXの定番のコマンドとして、検索のgrep、テキスト処理のsedawk、表示のcat、tail、headなどがあります。

 Windowsの定番のテキストエディタと言えば、以前は秀丸エディタというものもありましたが、他にも高機能のテキスト処理のソフトは、いろいろあるかと思いますし、愛用しているものも人それぞれかと思います。

 私の場合、WindowsパソコンでもUNIXのコマンドを使うことが多かったので、テキスト処理でこれはと思うソフトも思いつかないのですが、とにかくテキストファイルとして取り扱うことで、特定のソフトに依存せず、活用の幅を最大限に広げているつもりでいます。

 例えば、次のような処理。実行には1秒も掛からないぐらいです。

[7185]  % grep -r "非常上告" ./*.md
./hirono2016s-entries.md:サイ太さんのツイート: "ペットボトルを非常上告がRTしてて草" https://hirono2016s.wordpress.com/?p=44273
./hirono2016s-entries.md:非常上告-最高検察庁御中_ツイッターさんのツイート: "2015-07-23-231433_。@motoken_tw 石川県警察珠洲警察署の知能組対という係の係長に確認したうえで、もう一度言いたいことを言って下さい。するもしないも決.jpg http://t.co/jgBj3feZi3" https://hirono2016s.wordpress.com/?p=55477
./hirono2016s-entries.md:┌(┌ ^o^)┐ぬのォ...さんのツイート: "@ora3298 前にも飛んできたことがあったんですよね。告訴だか「非常上告」だかの資料にされる模様です。ほら鍵を開ければあなたも!" https://hirono2016s.wordpress.com/?p=64391
./wp-entries.md:サイ太さんのツイート: "ペットボトルを非常上告がRTしてて草" https://hirono2016s.wordpress.com/?p=44273  
./wp-entries.md:非常上告-最高検察庁御中_ツイッターさんのツイート: "2015-07-23-231433_。@motoken_tw 石川県警察珠洲警察署の知能組対という係の係長に確認したうえで、もう一度言いたいことを言って下さい。するもしないも決.jpg http://t.co/jgBj3feZi3" https://hirono2016s.wordpress.com/?p=55477  
./wp-entries.md:┌(┌ ^o^)┐ぬのォ...さんのツイート: "@ora3298 前にも飛んできたことがあったんですよね。告訴だか「非常上告」だかの資料にされる模様です。ほら鍵を開ければあなたも!" https://hirono2016s.wordpress.com/?p=64391

 問題は、私の扱うテキストファイルが、文字コードUTF-8で改行がUNIXということです。文字コードや改行コードをWindows用のものに一括で変換する方法もありますが、一から探すとなると、大変だし、基礎知識がないと無理かもしれません。

 私としては文字コードのことで困ることはほとんど経験がなくなっているのですが、以前はさんざんとしたものでした。そういう経験や情報を見ることもなく、10年ほど経過しているように思うので、あれこれ試す余裕はないですが、問題の発生率は格段に低くなっているかと思います。

<<2017-08-01(火曜日)17:57_[これまでの記述範囲の終了時刻]<<