#+TAGS: 検察(k) 警察(p) 弁護士(b) 裁判所(s) 報道(h) 裁判所(j) 公開(o)
#+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t LaTeX:t
#+STARTUP: hidestars
#+TITLE: "告発に至る経緯/書面作成/パソコン/自動生成するファイルの保存位置とブログの記事タイトル書式の関係性"
#+AUTHOR: 廣野秀樹
#+EMAIL: hirono2013k@gmail.com
#+DATE: 2018-11-13 10:20:59 +0900
FILE_NAME: 2018-11-13-102059_自動生成するファイルの保存位置とブログの記事タイトル書式の関係性.org
CATEGORY: 石川県警察御中,金沢地方検察庁御中
tags: 書面作成 パソコン bash スクリプト
記事タイトル名の文字数:50 保存ファイル名の文字数:54
#contents
* きっかけはAtomエディタ
```
GitHubの共同創業者であるクリス・ワンストラスによって2008年に開始されたプロジェクトだが[2]、同社のビジネスが成功したことでワンストラスが多忙となり開発が一時停止していた[3]。その後、2011年から開発が再開され[3]、2014年2月26日に招待制のベータバージョンとしてまずMac OS X向けがリリースされた[4]。同年5月6日、MIT Licenseのもとでソースコードを公開[5]。2015年6月26日にバージョン1.0がリリースされた[2]。その後も、多数のコミッタの参加により、急激に高機能化、動作負荷削減を果たしながらシェアを増加させてきた。現在では、Webフロントエンドを扱う技術者を中心に人気となっている。
[source:] Atom (テキストエディタ) - Wikipedia https://ja.wikipedia.org/wiki/Atom_(%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF)
```
Atomエディタについては、以前も使ったことがあったのですが、ここ一年以上は使うことがなかったと思います。上記に引用したwikipediaをみると、もともとは「Mac OS X」向けとして開発、リリースがされていたようです。
私が、Atomエディタを知った頃には、マルチプラットホームとしてWindowsパソコンでも使えていたと思いますが、私としてはWindowsパソコンで使った記憶は余りなく、LinuxのUbuntuで使ってきました。
知った当初よりだったと思いますが、GitHubの開発とのことで、数カ月前になりますか、TwitterのトレンドでもGitHubがMicrosoft社に買収されたことが話題となっていました。
YouTubeなども過去にはGoogleに買収されたという話があり、大きな後ろ盾を得て、さらに開発と普及が進むのではないかという期待もあります。
きっかけは、Emacsの挙動に対する不満でした。以前はそういうことがなかったと思うのですが、テキストを範囲選択した際、そのまま文字を入力すると、通常は選択部分が削除されるのですが、それが選択範囲の後ろに追記されることになっていたのです。
テキストを範囲選択した時点でDELETEキーを押せば済む話ではあったのですが、編集の数が増えてくると、そのDELETEキーの打鍵に要する時間と労力もバカにならないと考えるようになったのです。
いくつかテキストエディタを試したのですが、それぞれに不満がありました。ショートカットキーで行のコピーが出来るものを捜したのですが、それも意外なことに見つかりませんでした。
EmacsではEmacs-Lispで、カーソルの位置に関わらずカレント行をコピーするコマンドを作っているのですが、これがエラーを起こすことが度々ありました。ウィンドウを小さくしているのが原因なのかもしれません。
Atomでも、行をそのままコピーするというショートカットキーは拡張のパッケージを含め見つからなかったのですが、Ctrl+lで行の選択ができるので、続けてCtrl+cのコピーをすることで、他よりはいくらかましな作業効率となりました。
最初に、Atomのパッケージを自作することを考えたのですが、日本語では情報も乏しすぎて保留としました。
* Atomエディタでのパッケージの自作がヒントとなった、ディレクトリ(フォルダ)のツリー表示の活用
以前、Atomエディタを使ったとき、プロジェクトという概念がつかみづらかったように思います。Webアプリの開発環境では、プロジェクトがまとまりとしてわかりやすかったのですが、Atomエディタの場合はピンときませんでした。
Web開発では、以前、Railsをやっていたので、これまでに当時の経験が何かと生かされる場面もあって、それをさらに向上させたいというのも、Atomエディタを使ったデータ管理の動機となりました。
```
2 Railsとは何か
Railsとは、Rubyプログラミング言語で書かれたWebアプリケーションフレームワークです。 Railsは、あらゆる開発者がWebアプリケーションの開発を始めるうえで必要となる作業やリソースを事前に仮定して準備しておくことで、Webアプリケーションをより簡単にプログラミングできるように設計されています。他の多くの言語によるWebアプリケーションフレームワークと比較して、アプリケーションを作成する際のコード量がより少なくて済むにもかかわらず、より多くの機能を実現できます。 Rails経験の長い多くの開発者から、おかげでWebアプリケーションの開発がとても楽しくなったという意見をいただいています。
[source:] Rails をはじめよう | Rails ガイド https://railsguides.jp/getting_started.html
```
```
Ruby on Rails(ルビーオンレイルズ)は、オープンソースのWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。
実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。
[source:] Ruby on Rails - Wikipedia https://ja.wikipedia.org/wiki/Ruby_on_Rails
```
Railsの場合は、「rails new アプリケーション名」というコマンドを実行することで、アプリの作成ができますが、その実態は階層構造の1つのディレクトリ(フォルダ)です。
Railsの方が、複雑でファイルの数も多いように思いますが、Atomエディタでのパッケージの作成も、同じような構造となっていました。
試しに「kk-package」というパッケージを作成しました。以下は、全て自動で生成されたディレクトリ(フォルダ)とファイルです。
```
[9988] % tree
.
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── keymaps
│ └── kk-package.json
├── lib
│ ├── kk-package-view.js
│ └── kk-package.js
├── menus
│ └── kk-package.json
├── package.json
├── spec
│ ├── kk-package-spec.js
│ └── kk-package-view-spec.js
└── styles
└── kk-package.less
5 directories, 11 files
```
treeコマンドで表示してみると、思っていたより少ないファイル数でしたが、Atomエディタのツリービューでは、フォルダの階層の開閉や追加や削除も容易となっているので、これを活用したいと考えました。
ツリー状で階層を表示させるファイルブラウザやエディタというのは、他にも使ってきましたが、Atomのものは特に見やすく感じたので魅力を感じました。
* スクリーンショットでのご説明
▷▷▷リツイート▷▷▷
RT kk_hirono(告発\市場急配センター殺人未遂事件\金沢地方検察庁・石川県警察御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2018-11-13 13:39/2018-11-13 13:22 URL: https://twitter.com/kk_hirono/status/1062203233991483392 https://twitter.com/s_hirono/status/1062198938701164544
2018-11-13-131151_Git — 〜/github/kk-package — Atom.jpg https://t.co/DtrgWsW4Du
— s_hirono(非常上告-最高検察庁御中_ツイッター)2018/11/13 13:22
2018-11-13-131151_Git — 〜/github/kk-package — Atom.jpg https://t.co/DtrgWsW4Du
◁◁◁
▷▷▷リツイート▷▷▷
RT kk_hirono(告発\市場急配センター殺人未遂事件\金沢地方検察庁・石川県警察御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2018-11-13 13:39/2018-11-13 13:22 URL: https://twitter.com/kk_hirono/status/1062203254262513664 https://twitter.com/s_hirono/status/1062198903901044736
2018-11-13-130526_Project — 〜/github/kk — Atom.jpg https://t.co/cJ9OOhzAsm
— s_hirono(非常上告-最高検察庁御中_ツイッター)2018/11/13 13:22
2018-11-13-130526_Project — 〜/github/kk — Atom.jpg https://t.co/cJ9OOhzAsm
◁◁◁
▷▷▷リツイート▷▷▷
RT kk_hirono(告発\市場急配センター殺人未遂事件\金沢地方検察庁・石川県警察御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2018-11-13 13:39/2018-11-13 10:45 URL: https://twitter.com/kk_hirono/status/1062203322906509312 https://twitter.com/s_hirono/status/1062159394157166597
2018-11-13-104231_Welcome Guide — 〜/github/kk — Atom.jpg https://t.co/xfdiKSHslg
— s_hirono(非常上告-最高検察庁御中_ツイッター)2018/11/13 10:45
2018-11-13-104231_Welcome Guide — 〜/github/kk — Atom.jpg https://t.co/xfdiKSHslg
◁◁◁
まず、2018-11-13-104231_Welcome Guide — 〜/github/kk — Atom.jpgというスクリーンショットですが、記録が午前10時42分となっています。
ディスクトップ環境はKDEのプラズマです。ここ2,3年だと思いますが、メインで使ってきたLinuxの定番のディスクトップ環境の1つです。Ubuntuの標準とはなっていませんが、ここ数年は不具合もほとんどなくなりました。
以前もKDEをメインに使っていた時期があるのですが、2007年7月頃のことです。ちょうどその頃は不具合も余り出なかったのですが、その後、何かと不具合に見舞われることになり、使わなくなっていました。
Linuxのアプリは大きく分けてGTKとQtというプログラムのライブラリーで作られているようですが、KDE環境で開発されているのがQtになるようです。だいたい、アプリの初めにkのつくものが多いかと思います。
次に、2018-11-13-130526_Project — 〜/github/kk — Atom.jpgのスクリーンショットが、告発状作成用のプロジェクトになります。ファイルのツリービューでも、まだ出来たばかりということがおわかりいただけるかと思います。
昨夜のうちに、GitHubにも連携しましたが、これが思わず手間取りました。他の設定との絡みでも問題があり、解決するのに時間が掛かりました。
GitHubは、分散型バージョン管理システムの1つであるGitをネットワークストレージもしくはクラウド化したようなサービスかと思いますが、Git自体は、まだ羽咋市に住んでいた頃に使い始めていたように思います。
それ以前は、CVSやSubversionと言ったものを使っていました。Gitの他にも似たようなものを使ったことがありましたが、元々はプログラムやソフトウェアの共同開発として使われてきたものですが、数年前から書籍の共同編集にも使われるという情報を見ています。
インターネットのストレージサービスとしては、Dropboxの利用を弁護士のツイートでも見かけてきましたが、Gitについては、皆無ではないですが、ほとんどみていません。例外かと思われるのは野田隼人弁護士ぐらいです。確認のため調べてみましょう。
"git" from:nodahayato - Twitter検索 https://twitter.com/search?l=&q=%22git%22%20from%3Anodahayato&src=typd&lang=ja
ざっとみたところ7件のツイートがヒットしています。
▶ ツイート%nodahayato(弁護士 野田隼人)%2011/04/09 16:57% https://twitter.com/nodahayato/status/56626672383963136
AptanaにはGitのプラグインがあるのだな。
— nodahayato(弁護士 野田隼人})2011/04/09 16:57
AptanaにはGitのプラグインがあるのだな。
▶
AptanaもRailsの開発で使ってきましたが、Rubyに特化したEclipseの派生であったように思います。Eclipseはjavaの開発が主たるもので、プラグインを入れることで他のプログラム言語も扱えていました。
```
Eclipse(「エクリプス」または「イクリプス」)は、IBMによって開発された統合開発環境 (IDE) の一つ。高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対応する。Eclipse自体はJavaで記述されている。
[source:] Eclipse (統合開発環境) - Wikipedia https://ja.wikipedia.org/wiki/Eclipse_(%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)
```
上記のページによるとEclipseのバージョンは4.9となっているようです、私がよく使っていたのは3.4ぐらいまでだったように思います。今でもあるのかjava版WebアプリのTomcatというのも全く見かけなくなりました。私はRailsより先に勉強していました。
```
Aptana StudioはEclipseベースのWebオーサリングツール。Community EditionはAptana Public License v1.0とGNU General Public Licenseのデュアルライセンスで公開されているフリーソフトウェアである。 公式ウェブサイトではEclipseにAptanaを同梱したバイナリを提供しているが、既存のEclipse本体にプラグインとして導入してもよい。
Aptanaの中核となるのはHTMLエディタであり、これに加えてJavaScript、CSSエディタとそのアウトライン機能を搭載する。エディタはWYSIWYGではないが、Internet ExplorerやMozilla Firefoxなどの各ブラウザのHTML、CSS仕様への対応状況に応じて詳細な情報を提供するので、互換性に配慮したWebページの作成が比較的容易である。拡張性は高く、プラグインを追加インストールすることでRuby on RailsやPHPでの開発であるとか、AIRプロジェクトの開発も可能となる。
[source:] Aptana - Wikipedia https://ja.wikipedia.org/wiki/Aptana
```
どうもPHPの開発もAptanaがメインとなるようです。さきほどの野田隼人弁護士のツイートにもPHPに関したものがありました。数年前は、URLにphpの拡張子のものをよく見かけましたが、最近は見ていないように思います。
Webアプリの拡張子というのは別名の定義で余り意味がないとも思いますが、phpを使った大きなサービスやWebアプリがWordPressになります。以前は、WordPressの方を主流に使っていましたが、現在はほとんど更新していません。
ブログとしてWordPressと双璧をなしたのがMovableTypeです。はてなのブログは、このMovableType仕組みを使っているようにも思え、ブログの保存形式もMovableTypeとなっています。
MovableTypeが個人ブログでやっていたのもMovableTypeで、それに関する投稿やコメントも散見されました。主に管理面での発言でした。問題があると判断したコメントを管理画面から削除などもしていたようです。
私自身、MovableTypeというのはほとんど使っていなかったのですが、最近になってはてなダイアリーからはてなブログにデータをインポートするのに、MovableTypeの保存ファイルの仕組みを解析してプログラムの処理を行いました。
▶ ツイート%nodahayato(弁護士 野田隼人)%2013/07/18 23:10% https://twitter.com/nodahayato/status/357864948614959105
@JeeelleeeL 改造面倒だからPHPにしといて。gitでレポジトリ作って共有?
— nodahayato(弁護士 野田隼人})2013/07/18 23:10
@JeeelleeeL 改造面倒だからPHPにしといて。gitでレポジトリ作って共有?
▶
▶ ツイート%nodahayato(弁護士 野田隼人)%2012/05/28 14:04% https://twitter.com/nodahayato/status/206974240593936384
@taaaaaaaask クローズドなプロジェクトの場合,あまりgithubを使うメリットはないように思うのです。年間5000円払えば,クラウド上にGitを入れることが出来ますから。一般表現は「Gitを利用したWebベースのバージョン管理サービス」? Gitの一般名称は難しい。
— nodahayato(弁護士 野田隼人})2012/05/28 14:04
@taaaaaaaask クローズドなプロジェクトの場合,あまりgithubを使うメリットはないように思うのです。年間5000円払えば,クラウド上にGitを入れることが出来ますから。一般表現は「Gitを利用したWebベースのバージョン管理サービス」? Gitの一般名称は難しい。
▶
▶ ツイート%nodahayato(弁護士 野田隼人)%2012/05/28 14:04% https://twitter.com/nodahayato/status/206974240593936384
@taaaaaaaask クローズドなプロジェクトの場合,あまりgithubを使うメリットはないように思うのです。年間5000円払えば,クラウド上にGitを入れることが出来ますから。一般表現は「Gitを利用したWebベースのバージョン管理サービス」? Gitの一般名称は難しい。
— nodahayato(弁護士 野田隼人})2012/05/28 14:04
@taaaaaaaask クローズドなプロジェクトの場合,あまりgithubを使うメリットはないように思うのです。年間5000円払えば,クラウド上にGitを入れることが出来ますから。一般表現は「Gitを利用したWebベースのバージョン管理サービス」? Gitの一般名称は難しい。
▶
▶ ツイート%nodahayato(弁護士 野田隼人)%2013/08/14 12:18% https://twitter.com/nodahayato/status/367485383052763136
IDEは入っていますが設定ファイルをクラウドで同期しています。ソースコード自体はgit行き。メーラは卒業しましょう…。 RT @fukazawas: @nodahayato このご時世にメーラーをつかい,しかもIDEまで入っているんで…(・∀・;)
— nodahayato(弁護士 野田隼人})2013/08/14 12:18
IDEは入っていますが設定ファイルをクラウドで同期しています。ソースコード自体はgit行き。メーラは卒業しましょう…。 RT @fukazawas: @nodahayato このご時世にメーラーをつかい,しかもIDEまで入っているんで…(・∀・;)
▶
ツイートを開くと深澤諭史弁護士への返信となっていました。
▶ ツイート%fukazawas(深澤諭史)%2013/08/14 12:21% https://twitter.com/fukazawas/status/367486162392203265
@nodahayato ウィンドウの配置とか,ショートカットの位置とか,デスクトップの配置とか,インストールしたソフトのバージョンまで全部同期できて,IP電話が同時使用できればありかなとは思っています。。。
— fukazawas(深澤諭史})2013/08/14 12:21
@nodahayato ウィンドウの配置とか,ショートカットの位置とか,デスクトップの配置とか,インストールしたソフトのバージョンまで全部同期できて,IP電話が同時使用できればありかなとは思っています。。。
▶
相変わらず投稿の時系列でツイートが並ばないTwitterの高度な検索ですが、gitをキーワードを含むツイートは、2013年11月20日が最後となっているようです。Gitと一部大文字のものも検索にマッチしています。
野田隼人弁護士は、Web開発の技術者のような経歴もあるようです。深澤諭史弁護士のようにネットに強いと印象づけるような発言は見てこなかったように思いますが、私の知る範囲でプログラマーに近い知識と経験を有する弁護士かと思います。
裁判所を含めてですが、弁護士のツイートをみると、書面の作成はWordと一太郎に二分されるようです。私もお金に余裕があれば、一太郎やATOKを使いたいのですが、ワープロソフトは最終的な印刷のみと割り切り、テキストファイルのみでやっています。
テキストファイルを編集するアプリのジャンルがエディタという言い方もあるかと思いますが、その1つがAtomエディタになります。エディタ自体もプログラムの開発用ツールになるかと思いますが、普通の文書の作成に使っています。
Wordと一太郎の文書ファイルでさえ、互換性に難があると弁護士のツイートで見かけています。どちらもテキストファイルとして保存すれば、テキストの文字自体は読み込めるはずですが、文字修飾や配置という情報は使えないということになるのでしょう。
* 定型書式を適用したテキストファイルの自動生成スクリプトの改変
まず、スクリプトファイルの内容をそのまま掲載してご紹介したいと思います。プログラムとしても最も原始的なものともなるのですが、Linuxのシステムでは基本に根ざし扱いやすいbashのスクリプトになります。
>|ruby|
#!/bin/bash
CTIME=`date "+%Y-%m-%d %H:%M:%S +0900"`
FILENAME="${1}.org"
NAME="${1}"
day=`date -d "$CTIME" "+%Y-%m-%d-%H%M%S_"`
IFS_ORIGINAL="$IFS"
IFS=/
dirs=(`pwd`)
IFS="$IFS_ORIGINAL"
LV3=${dirs[${#dirs[@]}-1]}
LV2=${dirs[${#dirs[@]}-2]}
LV1=${dirs[${#dirs[@]}-3]}
NAME="${LV1}/${LV2}/${LV3}/${NAME}"
FILENAME="${day}$FILENAME"
# CATEGORIES=""
# TAGS=""
#
# echo "タグの入力、複数指定可。「,」で終了"
# while :
# do
# read INPUT
# case "$INPUT" in
# ",") echo "修了。"
# break ;;
# * )
# TAGS="${TAGS} ${INPUT}" ;;
# esac
# done
#
# echo "カテゴリの入力、複数指定可。「,」で終了"
# while :
# do
# read INPUT
# case "$INPUT" in
# ",") echo "修了。"
# break ;;
# * )
# CATEGORIES="${CATEGORIES} ${INPUT}" ;;
# esac
# done
echo "タグの入力、複数指定可。「,」で終了"
while :
do
read INPUT
case "$INPUT" in
",") echo "修了。"
break ;;
* )
TAGS="${TAGS} ${INPUT}" ;;
esac
done
cat << EOS > $FILENAME
#+STARTUP: content
#+TAGS: 検察(k) 警察(p) 弁護士(b) 裁判所(s) 報道(h) 裁判所(j) 公開(o)
#+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t LaTeX:t
#+STARTUP: hidestars
#+TITLE: "${NAME}"
#+AUTHOR: 廣野秀樹
#+EMAIL: hirono2013k@gmail.com
#+DATE: $CTIME
FILE_NAME: $FILENAME
CATEGORY: 石川県警察御中,金沢地方検察庁御中
tags: $TAGS
記事タイトル名の文字数:${#NAME} 保存ファイル名の文字数:${#FILENAME}
#contents
EOS
echo "create file $FILENAME"
emacs ${FILENAME} &
#echo $CATEGORIES
||<
Rubyを使った方がコードも簡潔、簡単なのですが、改変する前のファイルがbashのスクリプトとなっていたので、そのまま編集しました。難儀したのは配列の処理です。調べた所、bashでは配列の最後の要素を直接取り出すことも出来ないようです。
目玉となるのが「NAME="${LV1}/${LV2}/${LV3}/${NAME}"という処理の部分で、ファイルのあるディレクトリを3階層まで取得し/で区切って並べています。ファイル名ではないので半角を使っても問題なさそうですが、無用なトラブルを避けるため全角にしています。
実際にパソコンに保存しているファイル名には年月日の書式を適用しています。これはファイルの並び替えにも役立ちますし、ひと目で作成日時がわかるのも編集過程や管理上の状態把握が一目瞭然となります。
今回は、「記事タイトル名の文字数:${#NAME} 保存ファイル名の文字数:${#FILENAME}」という処理も追加しました。ファイル名などの文字数の確認です。システムのファイル名の長さにも制限がありますし、ツイートの場合は制限がよりシビアとなります。
0 件のコメント:
コメントを投稿