シェルスクリプトで複数行のコメントアウト
シェルスクリプトで複数行のコメントアウト
困ったこと
一行のコメントは#
でできるが、複数行のコメントはシェルスクリプトでは対応していないが、実現させたい。すなわちJavaにおける/* ソース */
を実現したい。
環境
- Bourne shell
- OS X 10.9.3
解決
:<<'#__COMMENT_OUT__’ ソース #__COMMENT_OUT__
を利用する
コメントアウトなし
#!/bin/sh n=$1 f=0 i=1 while [ $i -le $n ]; do f=$((f + i)) i=$((i + 1)) done echo $f
実行結果
55
コメントアウトあり
#!/bin/sh n=$1 f=0 :<<'#__COMMENT_OUT__' i=1 while [ $i -le $n ]; do f=$((f + i)) i=$((i + 1)) done #__COMMENT_OUT__ echo $f
実行結果
0
コメントアウトの無効化
#!/bin/sh n=$1 f=0 #:<<'#__COMMENT_OUT__' i=1 while [ $i -le $n ]; do f=$((f + i)) i=$((i + 1)) done #__COMMENT_OUT__ echo $f
実行結果
55
参考
詳しい原理は以下を参照しくてください。 * シェルスクリプトにおける複数行コメントアウト
以上
書かずにはいられない(フローチャート)
書かずにはいられない(フローチャート)
神々は細部に宿る
技術者としても文学者としても敬愛する結城浩先生がnoteでこんなことを言ってた。
ルーチンワークを創造して、一冊の本を書き上げる(本を書く心がけ)
というわけで、私もなるべくルーチン化しようとしてフロー図を書いてみた。
まあただそれだけ。
補足:画像ファイルの取り扱い方
以前の日記(markedを用いてEvernote上でMarkdown記法の即時プレビュを実現する)で画像ファイルの取扱に関して以下の用に書いてました。
たいていはSkitchを用いてスクリーンショットを取ることが多いです。その場合は、ノートにコピペするだけでよろし(わざわざファイルをアップロードしを書かなくても良いです。)。
が、これ取りやめます。それよりも、SkitchやCacooで書いた画像を公開してそこにリンクを貼った方が管理しやすい気がしてきました。こんな感じです。
![フローチャート@Cacco](https://cacoo.com/diagrams/VwAAHkoMHv2Pgu4s-FEB77.png)
以上。
書かずにはいられない(Webサービスnoteを使う)
書かずにはいられない(Webサービスnoteを使う)
書くことによってストレス発散
noteとはなにか
先週くらいからnoteっていうのを遊んでいます。
簡単に言うと自作のノート(文章やイラスト、音楽や写真)を公開できるプラットホーム。公開したノートを販売することができるっぽい。売買に関する決済サービスも組み込まれている。
そもそも最近のWebの傾向として、 名無しユーザが無料だが真偽不明の情報を共有する という時代から、 名前ありユーザが有料で精度の高い情報を共有する という時代に変わっていったということでしょう。
観点 | これまで | これから |
---|---|---|
発信元 | 匿名 | 実名かつ有識者 |
情報精度 | 不確か(噂レベル/又聞きレベル) | 正確(実体験に基づく/知識に基づく) |
情報量 | 垂れ流し | 厳選された |
情報の値段 | 無料 | 有料 |
例:レストランサイト | 食べログ | TERIYAKI |
例:情報共有サイト | ブログ | cakes |
何がすごいか
自作のノートを 簡単に売る ことができる。
どのように活用するか
テキストノート
技術的内容ははてなブログに投稿するとして、散文や物語を投稿すると良いかも。
メモ的なものは無料で
まとまったら文章は一部有料で
製本したものは有料で
イメージノート
今後写真を趣味します。カメラ買うぞ〜(予定)
サウンドノード
オリジナルの音楽なきゃだめかな?バンド演奏のスタジオ録音とかあげれればいいのだけど。
以上
BootstrapとDropboxを用いたモダンなホームページ作成
Bootstrap on Dropbox
BootstrapとDropboxを用いたモダンなホームページ作成
今更ながらBootstrapと戯れる。
作成手順
ダウンロード
上記サイトよりBootstrapをダウンロードします。中身はcssやjsファイルですね。
テンプレートの適用
exampleというしてテンプレートが公開されていますので、お好きな物のソースを取得します。適当にindex.htmlとでもしておけばよいでしょう。今回はこれを適用します。
[justified-nav/] (http://getbootstrap.com/examples/justified-nav/)
ホームページの作成
テンプレートよりcssやjsのリンクパスを修正したのち、適当にホームページを作ってみる。各種フォルダ構成はこんな感じがよいかな。
7010onCajon/css # 各ページのスタイルシート 7010onCajon/dist # Bootstrapの資材 7010onCajon/dist/css # Bootstrapのスタイルシート 7010onCajon/dist/fonts # BootstrapのWebフォント 7010onCajon/dist/js # BootstrapのJavaScript 7010onCajon/doc # 公開用ファイルなど 7010onCajon/html # HTMLページ 7010onCajon/html/index.html # HTMLページ(入り口)
Dropboxで公開
DropboxにはPublicフォルダという物があり、そこに配置していおくと外部に公開することが可能です。作成したホームページのindex.htmlの右クリックで公開リンクをコピー
します。これをTwitterなどに放流すればよろしいかと。
いまさらながら自分のホームページを作ってみる
制作物の公開用のホームページを作ってみた。ファイル共有にはもってこいのデザインです。
おしゃれでモダン
レスポンシブなデザインも簡単です
結論
今更ながら Bootstrapスゲー。 Railsと組み合わせてシステム作りてー。
以上
markedを用いてEvernote上でMarkdown記法の即時プレビュを実現する
marked on Evernote
markedを用いてEvernote上でMarkdown記法を実現する
Excel方眼紙でドキュメント書くんじゃねーよ。読みづれーし編集しづれーんだよ。
背景
いつまでたってもEvernote公式で採用してくれないから、なんとかしてみようと常々思ってました。今まではMarkdownを用いた文章を書くときはこんな感じでした。
記入@Mou -> プレビュ@Mou -> プレビュ保存@Evernote -> 公開@はてなブログ
これのイケてないところは以下。
- Mouはファイルを管理しなければならない
- マルチ端末での同期ができない(まあDropBoxにおけよという話もあるが)
- 画像ファイルの用意およびリンクがめんどくさい
というわけで以下のように文章作成フローを変更する。
記入@Evernote -> プレビュ@ Evernote -> 保存@Evernote -> 公開@はてなブログ
問題は
プレビュ@ Evernote
をどうするかでした。
やったこと
markedの購入
appストアで買えます。 marked Smart tools for smart writers.
Evernoteファイルをmarkedで即時プレビュする
以下を参考に行います。(というかまんまです) 作成者様に感謝します。
(Mac) EvernoteでMarkdownを書きながらMarkedを利用して自動プレビュー表示
mba:EVERWATCH 7010oncajon$ pwd /Users/7010oncajon/Documents/Programing/ShellScript/EVERWATCH mba:EVERWATCH 7010oncajon$ ls -l total 8 -rw-r--r--@ 1 7010oncajon staff 1178 6 16 23:44 everwatch.sh mba:EVERWATCH 7010oncajon$ chmod a+x everwatch.sh mba:EVERWATCH 7010oncajon$ ls -l total 8 -rwxr-xr-x@ 1 7010oncajon staff 1178 6 16 23:44 everwatch.sh mba:EVERWATCH 7010oncajon$ ./everwatch.sh
everwatchのアプリ化
このままでは芸がないのでAutomatorを用いてシェルをアプリ化する。
最終的には
ファイル -> 変換 -> 保存(アプリケーション)
を行うと、everwath.appが作成されます。後は、Docに入れるなりしてEvernoteを起動時に合わせて起動しておけばいいです。
画像の挿入
たいていはSkitchを用いてスクリーンショットを取ることが多いです。その場合は、ノートにコピペするだけでよろし(わざわざファイルをアップロードし![Image](Image URI)
を書かなくても良いです。)。後はeverwath.appがなんとかしてくれます。
その他設定
お好みで以下の設定をしてしませう。
Evernote
marked
MarkedでGithub Flavored Markdownを使う
いざプレビュ
左側がEvernoteの入力画面。右側がmarkedによるプレビュ。
はてなブログに投稿
設定より編集モードを Markdownモードに変更します。そいで Evernote貼り付けという機能で投稿します。ここまででかなりシームレスすに文章の作成とブログの公開ができます。
参考(Markdown記法一覧)
Rで統計解析を始めよう(その1)
Rで統計解析を始めよう(その1)
ビッグデータとか言われて久しいですが、やっぱり大事だよね、統計解析。
以下はこの本(参考文献)のまんまです。
Rをインストール
ここからpkgをダウンロード。インストールはなされるがままに。
起動確認(GUI)
専用GUIみたいなんもついてきました。アプリケーションフォルダにある「R.app」をクリック。
起動確認(GUI)
当然「ターミナル」からの起動も出来るよ。Rと入力してエンター。
mba:~ 7010oncajon$ R
簡単な解析
データ
こんなデータを用意する。(body_sample.csv)
body_sample.csv
id,gender,height,weight
1,M,157.67,64.82
2,M,178.76,72.38
3,M,161.95,64.52
4,M,162.26,63.35
5,M,167.95,68.76
6,M,165.59,66.4
7,M,163.66,64.22
8,M,171.78,67.76
9,M,161.11,60.76
10,M,160.97,60.64
...
パッケージ(ggplot2)の利用
グラフの描画にggplot2を利用する。よく分かってないけど、参考文献のまま。
install.packages("ggplot2")
library(ggplot2)
データの読み込み
body.dataというオブジェクトに、csvファイルのデータを読み込ませる。
body.data <- read.csv("body_sample.csv", header=T,stringsAsFactors=F)
header=Tは1行目をヘッダーと見なす。
stringsAsFactors=Fは文字列がFactorだとみなされないようにする。(ココらへん意味わかってない)
身長データのヒストグラム
何はともあれ可視化をしてみる。
ggplot(body.data, aes(x=height, fill=gender)) + geom_histogram() + theme_bw(16) + ylab("count")
身長と体重の散布図+回帰直線
さらにそれっぽいことをやる。
ggplot(body.data, aes(x=height, y=weight, col=gender)) + geom_point() + theme_bw(16) + geom_smooth(method = "lm")
身長と体重の相関関係
回帰直線より、身長と体重には相関関係をみることができる。(そりゃそうだろうけど。。。)
相関係数の算出
相関係数Rは、以下の用に計算する
> cor(body.data$height, body.data$weight)
[1] 0.8928748
相関係数とは
相関係数R | 相関関係 |
---|---|
0.7 〜 1.0 | 強い相関あり |
0.4 〜 0.7 | やや相関あり |
0.0 〜 0.2 | ほとんど相関なし |
以上。
D3.jsを用いたフレームワーク描画ツール(その2)
frameworks_on_D3_02
D3.jsを用いたフレームワーク描画ツール(その2)
意外とJS好きだわ。(女子○学生ではないよ)
前回のやつを実装してみた。ご感想があればお願いします。(`・ω・´)ゞ
できたもの
こんな感じになりました。Frameworks on D3
機能
- シャープの数によって階層構造と、それのグラフ化
- リアルタイム反映
- 階層の深さや幅によるノードの自動調整
参考
次回予告
なんかもう満足しちゃったけど、やる気がでたら以下をやる。
以上です。