shebang
シェルスクリプト(以下スクリプト)のことの最初の「#!/bin/sh」とか「#!/bin/bash」とかのことを「しばん」というらしい。 参考:/bin/sh と /bin/bash の違い
最近の業務
最近はbashを主に書くお仕事していて、ほぼほぼ終わったのでjenkinsおじさんに代行して貰おうとしています。 CI系のツールだと他にもたくさんありますが、情報が多いことと単一のプロダクトで使うには向いているらしいので、jenkinsおじさんにしました。
shとbashの違い
元々はshとbashの違いも良く分からず書いていましたが、bashがshの動作を真似するようになっているらしく、 高機能ですが、扱いにはちょっと注意が必要そうです。 詳細は参考をリンク先の記事に詳しく載っていますが、エラーが起きた途中で動作が止まらないようなので、使いどころを分けた方が良さそうですね。
無理してshとかbashを使う必要無し
linuxだと最初からshかbashが入っていることが多いのでそのままお手軽に使えますが、 rubyだったりPerlも導入していれば、スクリプトで実行できるので、「#!/usr/bin/ruby」などで実行できるようです。 参考:Perl, Python 及び Ruby スクリプトにおける正しいshebangの書き方
bashで書く利点はlinuxの命令をそのまま書けるので楽なんですが、 個人的な欠点としては変数に代入する書き方などちょっとクセがあるかなと思います。
「#!/usr/bin/ruby」や「#!/usr/bin/Perl」などでリナックスの命令がそのまま書けるとしたら、 「#!/bin/bash」などはお役御免かもしれません。
友人の結婚式に行ってきた(2次会)
先週友人の結婚式の2次会に行ってきました。 個人的には披露宴よりも2次会の方が好きです。
2次会の方が好きな理由
これは理由は明確で、自由に動き回れるので普段会わない人に話しかけることができることです。 中には小学校以来会っていない人も居て、僕がその人にいつ会ったか覚えていなくて失礼してしまいました、申し訳ない。 その他にも成人式以来の人とか、実は近くに住んでいるのに全然会っていない人なども居て、皆全然違う生活をしているのに、 何となく共通の話題があるのは有難いことだと感じます。
珍しかったこと
うちは兄が結婚しているのですが、兄は中学時代の同級生と結婚しました。 兄と僕は同じ中学に通っていました。
今回結婚したカップルの新婦の方が中学の同級生なのでありえる話なのですが、親族が居ましたw 親族と言っても、兄嫁の妹でしかも僕の同級生なので親族感はあんまり無かったのですが、不思議な感じでした(過去にもどこかでバッタリ会った気がしますが)
恥ずかしかった話
今回2次会から出た訳ですが、あまり交友関係が広くない(長く深く付き合うと弁解したいw)ので、 2次会のお作法みたいな物が分からずご祝儀袋に会費を入れて乗り込みました。
ですが、会費制だったので財布からそのまま出せば良いだけでした。 宙に浮いたご祝儀袋はそのまま新郎新婦に渡しました(会費+αしか入れてなかったので微々たるもんですが・・・)
前回2次会に参戦した際はご祝儀制だった気がするのですが、多分何パターンかあるのかな? その辺疎いので学んでおきます(・A・)
そんな訳で、名前は出せませんが、hogeさんhugaさんご結婚おめでとうございます。
今更OSのブートディスクをSSDにしてみた
今更感ぷんぷんですが、OSをHDDからSSDにしました。
移行方法
OSが入っていたHDDをSSDにまるっとクローンを作成してbootするディスクを変えただけです。 今回はフリーのツールのみでやっています。
というツールを使いました。 (有料版だとOS自体を移行する機能が解放されるようです。) ちょっと後悔したのがSSDの容量が250Gだったので、元のCの容量が入らずいくつかファイルを移動しました。 250Gを超えると値段がだいたい1万円を超えますが容量が1T超えない限りは容量と価格はほぼ比例しているので、500Gにしておけば良かった・・・(´・ω・`)
ついでにバックアップ環境も変更
バックアップディスクを外付けにしました。 デスクトップの中にあったHDDを1本引き抜いて外付けにしたのですが、比較的ディスクの入れ替えがしやすいケースですが、 その分裏配線に余裕が無く、目的のHDDを特定するのが大変でした(´・_・`)
起動に関係なさそうなファイルは消しちゃう
ブートに関係なさそうなファイルはほとんど消してみましたが、ちゃんと起動するのでOSのブートの時だけSSDを読んでるようです。 「Users」フォルダを消せたのでかなり容量が開きました。 GUIからだと色々聞かれるので最悪保険(元のディスク)があるのでコマンドから一気にやったら案外大丈夫みたいです(真似する場合責任は持てませんが・・・)
後は即起動してほしいアプリなどをSSD側に移動すればいいのですが、今までHDDでも遅いと思ったことが無いので選定が難しいですね。 次回作った時はSSDに最初からOSいれようと思います。
コマンドからドライブレターを書き換えられかもしれませんが、 実行しているのがCなのでおそらく無理か、windowsが起動する前に書き換えないとダメな気がしています。 とりあえずbootディスクは変更できましたが、どんどん欲が出てきちゃいます。
ただクローンのいいところは、最悪起動しなくなっても、元のbootディスクに切り替えればいいので、そこは気軽でいいですね(その分容量は食いますが)
追記: 職場の人にCドライブ変えられないか聞いてみたら意外な盲点で、今Cとして認識されているドライブを引き抜いてOSが入っているドライブだけで起動したら勝手にCになるらしいです。 本当か嘘かは分からないですw
途中経過をサーバに反映しました
まだまだ修正する点はあるのですが、途中経過としてローカルのテーマを取り込みました。
ローカルとサーバの環境はなるべく近づけているハズなのですが、なかなか同じ動作をせず大変でした(:´・ω・`)
それとchromeのエミュレータではキレイに表示されるのですが、
実機で見るとまだ表示が崩れたまま・・・[viewport]も設定しているのになんでや・・・。
スマホのキャッシュが生きていただけでしばらく後に確認したら意図通りの表示になっていました。
参考:もう逃げない。HTMLのviewportをちゃんと理解する
修正する点
・モバイルで見た場合、前よりかはいい感じに表示されるようになりましたが、いくつか記事が画面外にあります・・・。 かなり大きな問題点なのですが、経過報告としては残しておきます。
・実機でキレイに表示されるようにする。 エミュレーターで表示されても意味ないのでこれは早く直したい。
追加したい機能
・フロントページでタグかカテゴリーでソートできるようにする。
wordpressの内で同じCSSが多重読み込みされる
CSSは後から追加された物が上書きされるので動作には関係ないのですが、2重で子テーマのCSSが読み込まれているのが気になる。 多分google先生もおこだと思われます。
/* 親テーマのbase.css */ <link rel='stylesheet' id='base-css-css' href='http://192.168.1.60/wp-content/themes/xeory_extension/base.css?ver=4.6.1' type='text/css' media='all' /> /* 子テーマのcss */ <link rel='stylesheet' id='main-css-css' href='http://192.168.1.60/wp-content/themes/xeory_extension-child/style.css?ver=4.6.1' type='text/css' media='all' /> /* 親テーマのcustom.css */ <link rel='stylesheet' id='parent-style-css' href='http://192.168.1.60/wp-content/themes/xeory_extension/style.css?ver=4.6.1' type='text/css' media='all' /> /* 子テーマのcss*/ <link rel='stylesheet' id='child-style-css' href='http://192.168.1.60/wp-content/themes/xeory_extension-child/style.css?ver=4.6.1' type='text/css' media='all' />
ちょっと分かり辛いのですが、子テーマの同じCSSが2回読み込まれています。
消し方?
まず何で呼び出されてしまうかですが、「wp_head()」という関数を呼ぶと自動でheadを出力してくれます。 この「wp_head()」の呼び出しされる中身の確認ですが、「wp-includes/default-filters.php」の中に書いてあります。
消すとしたら[main-css-css]の方になるのですが、消し方が「remove_action()」を「function.php」の中か「wp_head()」を呼び出す前に書けば良いようです。 一番やりたい事としては、「main-css-css」が親テーマの後に呼び出されて必要なところだけ上書きすることですが、おそらく「remove_action」だけでは無理な気が・・・。 「wp-includes/default-filters.php」の中の下記の部分、多分link系の内容を取得している部分だと思うので、ここを調べれば分かりそう?
add_action( 'wp_head', 'feed_links', 2 ); add_action( 'wp_head', 'feed_links_extra', 3 );
参考:【WordPress】「wp_head();」で自動的に出力される余分なタグを削除する方法。(WordPress 4.4 対応)