min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

フィボナッチ数列を求めるbashスクリプト

 

前記事の続き。

min117.hatenablog.com

フィボナッチ数列(おさらい)

www.ted.com

f:id:min117:20161119113957p:plain

隣り合う数字を足したのが次の数字になる。FizzBuzzもいいけど、なぜか好きこれ。

たぶん、生き方とかダイエットとかに関係する。

ーーー

ソース

f:id:min117:20161119115041p:plain

実行してみる。

f:id:min117:20161119115101p:plain

 

fedora20 の Docker に SQL Server のLinux版をインストールする

業務で SQL Server を使う機会に遭遇。今まで Oracle ばっかだったから、ちょうど勉強したいなと思っていたら、いいタイミングで SQL ServerLinux版がリリースされたようだ。

さっそくこんないい記事がUPされていた。

qiita.com

これにならって、Docker環境にSQL Serverをインストールして使ってみる。

# sudo docker pull microsoft/mssql-server-linux

f:id:min117:20161118011358p:plain

Pulling fs layer が、ダウンロードが進むにつれて complete になっていく。

f:id:min117:20161118011412p:plain

ダウンロード完了。

ーーー

続いて docker run していく。

docker run -e 'ACCEPT_EURA=Y' -e 'SA_PASSWORD=P@55w0rd' -p 1433:1433 -d -v $(pwd):/var/opt/mssql/ --name mssql microsoft/mssql-server-linux

f:id:min117:20161118011532p:plain

コンソールが返ってきた。docker ps -a でコンテナの状況を見てみる。

# docker ps -a

f:id:min117:20161118011813p:plain

よし。うまく実行されている。

ーーー

冒頭のリンク記事では、ここから先で「SQLServer Management Studio」とかいうクライアントアプリ(なのか?Oracleでいうsqlplusみたいなもの?)を使って、SQL Serverのデータベースに接続に行っているようだ。

f:id:min117:20161118011928p:plain

そんなアプリもってないぞ。そもそもWindows持ってないし。しょうがない、仮想環境のWindows10に、SQLServer Management Studioなるものをインストールしてみることにする。

ーーー

Windows10 に接続。SQLServer Management Studio をググったらMicrosoftのサイトが出た。2008 らしいけど、無償っぽいし、試すだけだからこれでいいや。

f:id:min117:20161118013047p:plain

64bit 版をダウンロードする。

f:id:min117:20161118013100p:plain

f:id:min117:20161118013121p:plain

管理者実行でインストールする。

f:id:min117:20161118013131p:plain

f:id:min117:20161118013200p:plain

f:id:min117:20161118013514p:plain

f:id:min117:20161118013524p:plain

f:id:min117:20161118013533p:plain

f:id:min117:20161118013543p:plain

Express なので、無償エディションとして進める。

f:id:min117:20161118013612p:plain

f:id:min117:20161118013627p:plain

f:id:min117:20161118013641p:plain

f:id:min117:20161118013649p:plain

ありゃ。エラーになった。Windows10だからか。あとでやり直す。

f:id:min117:20161118013822p:plain

 

 

fedora20 の Docker をアンインストールしてから再インストールする

SQLServerLinux版が出たらしい。早速 Docker で動かしてみたい。

qiita.com

と思ってDockerを起動したら、「Base Device UUID verification failed」とかいう訳のわからないエラーが出てしまった。

f:id:min117:20161118004337p:plainf:id:min117:20161118004348p:plain

ーーー

色々調べたけど、udevのエラーらしい。githubによると「Dockerをアンインストールしないと直らないよ!」とのこと。

Base Device UUID verification failed. (docker 1.7.1, centos7) docker fails to start · Issue #16344 · docker/docker · GitHub

f:id:min117:20161118003853p:plain

こんな不安定じゃ客先ではとても使えないな…せいぜい趣味のお遊びだ。

ーーー

やむをえないので、Dockerをアンインストールしてから、再度インストールする。Docker 自体のアンインストール方法は、本家のサイトに手順があった。

docs.docker.com

最下部に、アンインストール方法の記載がある。

f:id:min117:20161118004113p:plain

この手順どおりアンインストールする。sudo して作業してくことにする。

$ sudo -s

# yum list installed | grep docker

f:id:min117:20161118004439p:plain

# sudo yum -y remove docker-engine.x86_64

f:id:min117:20161118004549p:plain

f:id:min117:20161118004636p:plain

# rm -rf /var/lib/docker

f:id:min117:20161118004729p:plain

ここまではよし。無事 Docker 本体を削除できた。

ーーー

削除したので、再度インストールしていく。インストール方法も、上記の本家記事にある。

f:id:min117:20161118005102p:plain

f:id:min117:20161118004300p:plain

リポジトリは前に登録したのが残ってた。fedora用なので、そのまま使うことにする。

f:id:min117:20161118004853p:plain

f:id:min117:20161118004900p:plain

 

f:id:min117:20161118005205p:plain

# sudo yum -y install docker-engine

f:id:min117:20161118005156p:plain

# sudo systemctl enable docker.service

f:id:min117:20161118005436p:plain

# sudo systemctl start docker

f:id:min117:20161118005441p:plain

ここまでで Dockerの再インストールは正常に終了した。

ーーー

ここまできたら、試しに hello-world イメージで起動してみよ、と(本家サイトに)指示がある。そのまま実行してみる。

# sudo docker run --rm hello-world

f:id:min117:20161118005451p:plain

あれ。ダメじゃん。そんなイメージはない、と言われる。Docker本家サイトのくせに記事が古いのか?

ーーー

いずれにせよ、無事Dockerの再インストールが済んだ。次はSQLServerLinux版をDockerで実行するの試す。

 

 

 

 

 

 

 

 

 

 

 

 

RaspberryPi3 を h264動画変換サーバにする(再挑戦)

min117.hatenablog.com

前記事で保留にしてた件。

min117.hatenablog.com

うまくいかなくて塩漬けにしてたけど、詳しい人が記事を書いてくれていた。

orumin.blogspot.jp

しかし、レベルが高くてよくわからない。「MPEG2-TSには複数の動画ストリームが入っているからうまくいかない」らしいことは分かる。IDで、複数のうちどれを変換するのか指定してやれってことなのかし。

f:id:min117:20161117221020p:plain

よく分からないが、ソースを置いてくれてあるので、丸写しでスクリプトにして実行してみる。

$ vim mpegts2h264.sh

f:id:min117:20161117221240p:plain

ソースそのままペタッと貼る。ただし、1行目(シェバン)が

#!/usr/bin/bash

になってたので

#!/bin/bash

に変えた。それ以外は変えず。保存。

f:id:min117:20161117221847p:plain

実行してみる。ソースはハイビジョン録画した動画。スクリプトの引数に渡して(食わせて)みる。

$ ./mpegts2h264.sh 20160828_220518.ts 

f:id:min117:20161117222052p:plain

ダメ。gstreamerがやっぱ何かエラー吐いてる。demuxer が ignoring されているから、ソースの11行目で何か起きてるんだろう。もちっと調べなきゃだ。

ーーー

間違った。書式が違ってた。dstの指定がない。指定して試してみる。

./mpegts2h264.sh 20160828_220518.ts dst.mp4

f:id:min117:20161117222539p:plain

これもダメ。同じく demuxer のエラーになる。

ーーー

sudo してやってみたらどうだろう?

$ sudo -s

# ./mpegts2h264.sh 20160828_220518.ts dst.mp4

f:id:min117:20161117222726p:plain

エラーは変わらず… 時間あるときやる。

 

 

シェル芸 awkでASCIIアート出力

Twitterかどっかで拾ったこの画像。たぶんシェル芸勉強会か何かの画像だろう。

f:id:min117:20161109224857j:plain

この人の技術も何か関係してそうだけど。

qiita.com

どこで拾ったか忘れた。

ーーー

この画像のソースをそのまま書いてみる。

$ vim suddun_death.sh

f:id:min117:20161109225133p:plain

何が起きるかは分からないので、ソースそのまま丸写し。

#!/bin/bash

echo 突然の死 | awk  \

'{for(i=1;i<=length();i++){  \

len+=(substr($0,i,1)~/[\x01-\x7E]/)?1:2}  \

for(i=0;i<len/2+2;i++){  \

up=up "人";dn=dn "Y^"}  \

printf("___%s___\n>  %s  <\n---%s---\n",  \

up,$0,dn)}'

f:id:min117:20161109225609p:plain

実行してみる。

# ./suddun_deash.sh

f:id:min117:20161109225723p:plain

うーん。くだらん。実に感動した。

 

大幅値下げされた27インチiMac Retina 5K の値段比較(Appleストア、ヤマダ、コジマ)→ 購入

前記事で「買う」と書いた iMac について。

実際に買って来たのでレポート。

min117.hatenablog.com

 

お値段

 今回の大幅値下げ後、「Appleオンラインストア」での値段は178,800円(税抜き)。これでも相当安くなった。ネットでも騒がれている。

japanese.engadget.com

5Kの最安モデルでも3万円も安くなった。

f:id:min117:20161103230407p:plain

このままストアで買ったとしても相当のお得感はあるが、一応、ヤマダ電機とコジマ電機に値段を聞きに行った

なんと、さらに安くできるとのこと。

結果を比較すると以下のとおり。

 

Appleオンラインストア

 税込み:187,740円(税抜き178,800円)

 ポイント:なし

 

ヤマダ電機

 税込み:181,224円税抜き167,800円)

 ポイント:8390円分(税抜き167,800円の5%)

 

コジマ電機

 税込み:178,200円(税抜き165,000円)

  → さらに端数200円を値引いて 178,000円

 ポイント:8900円分(税込み178,000円の5%

 

コジマの勝ち。とくにカスタムもしたくなかったので、コジマで買った。

f:id:min117:20161103231452p:plain

カスタムする場合でも、コジマが正規のApple代理店なので、同じ値引きしてくれるらしい。ただしその場合は商品をその場で受け取れず、Appleストアからの発送待ちになるとのこと(最大で2週間程度の待ち)。

 

迷った点

CPUを4GHzにカスタムすべきか?

 答え:不要

 3.2GHzあれば個人的には十分。4GHzのために追加で3万円出すなら、格安スマホでも買う。

メモリを16GBに増設カスタムすべきか?

 答え:不要

 Amazonで買ったほうがずっと安いから。

  ストア:16GBで2万円

  Amazon:16GBで1万円(最初からある8GBと足して24GBになる)

 断然Amazon。動作保障があって、かつ安いのは、Komputerbay てとこのメモリらしい。いずれ買う。

 

Magic Trackpad2 にカスタムすべきか?

 答え:しない

 実はこれが一番迷った。Macbookみたいに「ピンチインで拡大」したい。Magic Mouseではできない芸当。ストアなら、たったの「プラス4,000円」でMagic Trackpad2 にできる。

f:id:min117:20161103232759p:plain

Magic Trackpad2は、単体で買うと14,800円もする。カスタムすべきか…かなり迷ったものの、まずはしばらくMagic Mouseで使ってみることにした。

 

到着。さっそく開梱。

f:id:min117:20161103234541p:plain

f:id:min117:20161103234559p:plain

f:id:min117:20161103234624p:plain

f:id:min117:20161103234645p:plain

f:id:min117:20161103234710p:plain

f:id:min117:20161103234728p:plain

f:id:min117:20161103234745p:plain

f:id:min117:20161103234804p:plain

画面めっっっっっっちゃ綺麗。これで20万円いかないとか。最高すぎた。

iPhone(iOS10)のミュージックアプリでプレイリストの曲を繰り返し再生する方法

 

iPhoneのミュージックアプリに「iPhone同期」というプレイリストがある。これに入っている曲を「繰り返し再生」する方法。

f:id:min117:20161029215611p:plain

まずは、プレイリストの中から1曲(今回は「道」)をタップする。

再生が始まると、画面下にはその曲が表示されるので、それをタップする。

f:id:min117:20161029215613p:plain

画面下にある「音量バー」のあたりを上にスライドすると

f:id:min117:20161029215615p:plain

右下に「クルクルマーク」が出るので、これをタップすれば繰り返しになる。

f:id:min117:20161029215618p:plain

今回試しに作ったプレイリスト「iPhone同期」の中には、「道」と「2時間だけのバカンス」の2曲しか入れてない。

クルクルマークで繰り返しすると、その2曲が繰り返し再生されるようになる。

ーーー

それにしても、ミュージックアプリは使いにくい。プレイリストの曲の「繰り返し」をしたいだけなのに、こんなに分かりにくいとか。