ターミナルとviで世界が広がりつつある

近況です

結論:毎日楽しい

raspberrypiを触ってみたいと思って2年ほど。
実仕事では必要を感じないけれど勉強として ターミナルに慣れるところから始めて 
やっと黒い画面での操作が便利だし 卑屈に感じないと思う心持ちに。

CUIは高校生の時のMS-DOSで苦手意識があったが今は参考にできる情報量が違いすぎる。
みなさんのblogでの知見披露ありがとうございます!

自分の至った進め方は
ターミナル画面を毎日起動して苦手意識を埋めるところから始めて
cp,mkdir,mvとかで意味のないファイル操作。
ssh接続して 古いmacやraspberrypiへのちょっかい。
それと別ラインでshを打ち始めた。(これはcoda2で操作していた。)
その後 viでファイルエディトをするけれど これは操作が本当にわからなかった。
ドットインストールにviの操作を動画で見ていたタイムスタンプは5年前。

viで日毎に日記を書く練習をしたら3日で使えるようになった。
escとiでのインサートしか使わない書き方だけれども
操作モードと書くモードの仕組みは2日目で把握した。
他の便利な書き方はまだ覚えている途中。
全消しが 1G d G とか。

このあたりは テキストエディタに全部 やりたいこととその操作をメモって小出しにしてた。
自分用の参考メモは大事。インプットとアウトプット重要。

viは 標準状態だとそもそも日本語が通らないので この設定を直すのが4日目。
あとは楽しいことがずっと続いている。
自分のslackに何でもないことをshellに投げさせたり。

机を置いていたデザイン事務所の桜を rasberrypiで撮影して画像ファイルをscpで手元のmacに持ってきたり。

raspberrypiをシリアル接続できるケーブルを買ったのも 手軽にどこでも触れられる環境を作れたことも大きい。

シリアルケーブルを手に入れて 外でも色々できるようになりました。 #raspberrypi

tsunehisa ishiharaさん(@serif_jp)がシェアした投稿 –

そしてcrontabに慣れてきた。
分間隔での書き方がなぜか通らないので不思議に思ったが 間隔の書き方だけ / の前にアスタリスク入れるのに気付かず。

viやshellはunixが始まってからずっと続いている環境なので 検索すればたくさん知見がでてくるけれど
それが自分の頭の中と繋がり始めたのは ドットインストールの動画を見てからでも5年かかった。

shellの中古本を注文して さらに読み込みたいけれど いよいよ コンピュータに触っている感覚が楽しい。
この幾分かの1でもレッスンでお伝えしたい。
(レッスンについては また別で書きたい。)
毎日楽しいとかいているけど 調べたいことを設定する→自分で調べる→できるようになる→楽しい
のサイクルがよく回る。
これについてもどこかで書きたい。

RaspberryPiをAirPlayできるようにする(中途半端に)

メモ
RaspberryPiでAirPlayできるようにしてみた

参考資料
Raspberry PiをAirPlay端末にするまでの手順のメモ(OSのインストールと各種設定編)
http://dounokouno.com/2014/03/02/raspberry-pi-airplay02/

(参考先のページは途中MacでのVNCの設定をしているけれど そこは特にはいらない)

作業時間切れにつき途中までしかできませんでしたが…

→結果:HDMIモニターに接続したスピーカーから音がでてRaspberryPi本体のイヤホンジャックからは出力しない
→起動のたびにshairplay.plを叩かないとつかえない

→感想:USBサウンドカードはとりあえずならいらない
iTunesからMac本体とRaspberryPiスピーカーの複数で出してみたら 処理スピードの違いでズレて気持ち悪い
viの操作すら怪しい自分には ターミナルやRaspberryPiへのインストールだけで正直、よい勉強になりました。
一発で音がでると思いませんでした

でも (とりあえず)便利にはなりました

ターミナルコマンド一覧(自家用)

(raspberry piの操作のために
高校生の頃にフロッピーのゲームで cdとcopyしか使わない時代以来の黒い画面を触っています。
なのでメモ。)

ターミナルの終了 exit

ファイル一覧表示 ls
現在位置のフルパスを表示 pwd
ディレクトリの変更 cd (ディレクトリ名)
ディレクトリの作成 mkdir (ディレクトリ名)
ディレクトリの消去 rmdir (ディレクトリ名)
ディレクトリの変更 mv (旧ファイル名)(新ファイル名)

テキストファイルの新規作成 touch (ファイル名)
ファイル名の変更 mv (旧ファイル名) (新ファイル名)
ファイルを開く open (ファイル名)
ファイルの内容確認 cat (ファイル名)
テキストファイルの編集 vi (ファイル名)
プリント lp (ファイル名)

[viでの編集]
入力モードからコマンド操作に戻るには escapeキー
保存して終了 :wq

プロセス一覧表示 ps
cpuのアプリ使用量のリスト top [qでコマンドにもどる]
アプリの終了 kill (P ID)

pythonの実行 python (ファイル名)

機種情報を見る system_profiler
再起動 sudo reboot
再起動 sudo shutdown -r now


python対話モードの起動 python
python対話モードの終了 exit();

SSH接続
$ ssh -p 22 root@aaa.bbb.ccc.ddd
接続先が存在してアカウントがあればパスワードを聞かれるので入力

[raspberry pi]
システムのアップデート・アップグレード
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

shop-proのrssから新着アイテムのサムネールイメージを取得したいができないのができた

shop-proのrssから新着アイテムのサムネールイメージを取得したいができないの記事を上げてましたが その後できるようになりましたのでメモ。

まったく別のことを調べていたときにわかりました。

https://shop-pro.jp/wbbs/wbbs.php?e=thread&tid=9596#39594
を参考にしたら表示できるようになりました。

以前の自分が書いたphpと比べると そもそも名前空間の選択がそもそも間違っていたので それは無理ですねという話でした。

参考ページを見て ちょっと継ぎ足したいなら
EUCよりUTF-8の方が いろいろ使いやすいから
$desc = mb_convert_encoding($desc, "UTF-8", "auto");
がいいのではないかなと思うくらいです。

コンピュータプログラムを学ぶこと

言うほどはできていない自分のプログラム遍歴は
PC98についていたbasic

当時行っていた学校でVB

言語とは言えないけどhtml

当時流行っていた『マルチメディア』コンテンツをつくりたくてオーサリングソフトMacromediaDirectorで使われていたLingo

ブラウザに簡単な表示を出したいがためにjavascript

自分のサイトに『掲示板』が置きたくpeal

インタラクティブアートの表現に触れてみたくてのactionscript

他のウェブサービスを自サイトに組み込みたくてphp

もちろんここに書いたすべてを理解してるわけでなく 
途中で諦めたものが多いんですが
そのあとの言語の勉強中、過去学ぼうとして 
わからなかった点がすんなりと理解できることが増えました。
表記が違うだけど 『繰り返し』や『配列』は同じ考えだし。

Actionscriptで3Dの表示をするときに 複雑な計算になるところを
とても便利なツールがでてきて とても感心した記憶がありました。
そのツールは 『行列』
高校生の時にこれを知ったらなあとも思いましたが 年齢が行ったから
そう考えるのかもしれません。
喉が乾かないと 馬は水場に行きません。

MAMPで日本語文字化け

手元のMAMP環境でデータを書き込むPHPを作っているのですが
どうも日本語をデータベースに書き込むと 文字化けします….

そのデータベースの内容をsqlファイルで書きだして 本サーバにアップしてみてもやはりダメ。

その逆で
本サーバにアップしたphp経由で書かれると本サーバ上のMyadmin上では正しい表示。
sqlファイルで書きだしてMAMPに読ませるとMyadmin上も正しい表示。
でも、ブラウザ上は文字化け。

10月に出た『PHP逆引きレシピ2版』も参考にしているけど 未解決…

参考にしたサイト

http://d.hatena.ne.jp/megadreams/20120721/1342881728

http://ver321.com/web/517

http://devneko.hatenablog.com/entry/2013/03/20/221700

http://private.ceek.jp/archives/002377.html

instagramのデータを取得する方法

前回エントリーの続き。

この方法だと上手く取れない?サンプルさんのaccess_tokenだと行けるのに なんで自分のだとダメなんだろう?
chromeの要素の検証を見ると
Uncaught TypeError:Cannot read property ‘text’ of null
とエラーが出ている。
おそらく 読み込みデータが完了しないで jqueryがhtmlを生成して エラーなんだろうなと考えた。
こういうの昔 actionscriptでもよく合った。
ただ、遅延させるのを書いたりすればいいのだろうけども それは自分には荷が重いので このサンプルは使うのをやめました…

違う方法を探す
もう一回便利ソースを探したらgithubに置いてあるサンプルを発見。
http://potomak.github.io/jquery-instagram/
こちらの方が洗練されているので access_tokenを貼ってみるものの 読み込みされない…

やはり取れない
こちらもサンプルさんのトークンだといける。

redirect uriを指定されるけれど access_tokenを生成するサービスを発見した
http://jelled.com/instagram/access-token
ので
ブラウザのurlに貼ってtokenを生成するのから そちらに変更したら 正しいaccess_token取れましたようで
当てたらこんな感じに表示できました。

自分のidでテスト。 recentなので あんまり前のは引いてくれないようです。

instagramのaccess_tokenがうまくとれない件

instagramの自身のアカウントの最新データを取得して表示させたいと思い
とりあえずはjqueryでと思い、ちょっと検索。

instagramのAPIを使って写真を取得する方法 : matsudam blog
http://matsudam.com/blog/entry/603/

Instagram APIから画像データを取得する | フローズンブラウニー
http://fr-br.com/web/2012/30.html

上記2つも同じソースを参考にしているのでほぼ作りは一緒。

instagram.com/developで登録し アプリ登録をし
https://instagram.com/oauth/authorize/?client_id=【CLIENT-ID】&redirect_uri=【REDIRECT-URI】&response_type=token
にそれぞれのid,redirect uriをペーストして access_tokenを取得。

これを最悪 参考2つのサイトにそのまま適応しても ウェブサイト、ローカルどちらでも表示されない…
(正確には最新1枚だけキャッシュはされているようだけれども 表示されない様子。)

ソース元の人のaccess_tokenでされているなら やはり動くのでaccess_tokenが実は正しくないか 何か認証的なところで切られているか 謎です

shop-proのrssから新着アイテムのサムネールイメージを取得したいができない

追記
できるようになりました。
2014.03.21 shop-proのrssから新着アイテムのサムネールイメージを取得したいができないのができた

phpでshop-proのrss新着アイテムのサムネールイメージを取得したいんですが
これがなんだかうまく取得できないのです…

やったことは
テストデータとして本物RSSのitem一つ分切り出して
を作成。

$rss = simplexml_load_file(‘./test.xml’);
$item = $rss->item;
$itemabout = $item->attributes(‘http://www.w3.org/1999/02/22-rdf-syntax-ns#’);
echo ‘item about:’.$itemabout->about.’
‘;

$item->registerXPathNamespace(‘foaf’, ‘http://xmlns.com/foaf/0.1/’);
$foaftopic = $item->xpath(‘//foaf:topic’);
echo ‘foaftopic:’.$foaftopic.’
‘;

$rdf = $foaftopic->attributes(‘http://xmlns.com/foaf/0.1/’);
echo ‘foafImage:’.$rdf->Image;

と中身が順番に取れているかを確認する感じで書いてみましたが

*
item aboutは取得できるのですが

foaf:topic『foaftopic:Array』と表示され $foaftopicは表示されず…

*
foaf:Imageの行を ただのテキストに書き換えたみても 『foaftopic:Array』表示のまま。

foaf自体の規格なのか たんに書き方をミスっているのか よくわからずです。
よくわからないなりにメモ書きとして….

TwitterのOAuthをphpでやろうとすると文法エラーになる話

ちょっと手が空いたのでTwitterAPIのOAuth辺りを触っていました。

phpでやる場合に多くの例で用いられているabrahamさんのライブラリ「twitteroauth」
https://github.com/abraham/twitteroauth
を自分も使ってみたところなぜか
『Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in17』と
twitteroauth.phpの17行目で止まりました。

とても丁寧な例題エントリーを多数あったので いくつかで試してみたのですが どれも同じようにエラーなので
Twitter Developersで振られた値かなにか 単純なことを間違っているようだけど そろそろ時間切れ。残念

参考
http://www.sdn-project.net/labo/twitter_bot.html
http://www.sdn-project.net/labo/oauth.html
http://www.webopixel.net/php/666.html
http://www.detelu.com/blog/2013/02/twitter-oauth/
http://ir.hatakenet.com/archives/54
https://github.com/abraham/twitteroauth