ツタンラーメンの忘備録

プログラミングや精神疾患、ラーメンについて書いていきます。たぶん。

raspberry pi 3の初期セットアップ

初心者がらずぱいを使おうというのが間違っています?が、らずぱいをノリで買ったので、初期セットアップの話をします。
必要なものは他のサイトでさんざん書かれているので省略として、らずぱいには導入できるOSが何種類か有ります。どれを使おうか、初心者は悩むと思います。
資料が多そうなraspbianにしましょう。でそうすると二種類あります。

  • Raspbian Jessie with PIXEL
  • Raspbian Jessie Lite

上を選んだらものすごくインストールに時間がかかって失敗したから下を選びました。
黒い画面に白い文字がいっぱいでした。
意味がわかりませんでした。


結論、GUIが最初から使える
Raspbian Jessie with PIXELを選びましょう
下でもGUIモードみたいなのあるらしいんだけど失敗しました。

railsのデプロイに苦労した話

railstutorial.jp

railsのデプロイに苦労していろいろ調べたんだけど、よく読んでいなかったことが原因でした。
この過程でいろいろ悩んだ結果。

gemfileを編集しなくちゃいけないんだけど

group :production do
  gem 'pg',             '0.18.4'
end

pgのバージョンをほかのサイトとか見て古いのにすると動かない。このサイトも2016/12/20に書かれているから時間が経っている場合は参考にしないほうがいい。

役に立った?やつ
コンソールで

heroku run rails console

とうつとエラーが見れる。
herokuのサイトから右上のmoreを選びViews logsを選ぶとlogが見れるんだけどあんまり役に立たなかった。

配列のjsonファイルの生成方法

これ全然需要なさそうなんだけど苦労したので書いておきます。

出力したい形は

[
    {
        a: 'a',
        b: 'b',
    },
    {
        a: 'a',
        b: 'b',
    },
    {
        a: 'a',
        b: 'b',
    }
]

で入力が

data = {
  a:'a',
  b:'b',
};
data2 = {
  a:'a',
  b:'b',
};
data3 = {
  a:'a',
  b:'b',
};

こんな感じ。

jsonを出力したいときはご存知のように

fs.appendFileSync("output.json", JSON.stringify(data, '', ' '), 'utf8');

ってやるんだけどそのままやると配列にならない(当たり前)
で最終的にどうやったかというと

fs.appendFileSync("output.json", '[  ', 'utf8'); //'[  '←はTab
fs.appendFileSync("output.json", JSON.stringify(data1, '', ' '), 'utf8');
fs.appendFileSync("output.json", ',', 'utf8');
fs.appendFileSync("output.json", JSON.stringify(data2, '', ' '), 'utf8');
fs.appendFileSync("output.json", ',', 'utf8');
fs.appendFileSync("output.json", JSON.stringify(data3, '', ' '), 'utf8');
fs.appendFileSync("output.json", '  ]', 'utf8');

いやいや、きたないよね。もっときれいなやり方あるよね!!!!と思ったけど時間がないので強引に。
ちなみに私はfor文で回していたので

[  {
},
{
},
…
{
},  ]

とかなって最後の','で読み込むのに失敗した…。例外処理しました…。絶対おかしい。もっときれいなやり方あるはず…。

現状のプログラミング言語の流れ

news.mynavi.jp

このサイトに書いてある通りなのです。javaは古残である他、大規模プログラムのサーバサイドスクリプトとして使われている…と聞いた。
C言語はあまり使わなそうだけど、ハードウェアに使われることが多い。

openframeworksで画面の最大化ができない話。と解決策を見つけた話。

タイトルの通り
使用PCはSurface Pro 3
性能はCore i7の8GB
ウィンドウサイズは2160×1440
openframeworks v0.9.8
Visual Studio 2015

さてopenframeworksで画面の最大化は
main.cppで

ofSetupOpenGL(1024,768, OF_FULLSCREEN);

もしくは
ofApp.cppで

ofSetFullscreen(true);

ofToggleScreen();

でできるでしょう。
結論から言うと

void ofApp::draw(){
//すべての処理
ofToggleScreen(); か ofFullScreen(true);
}

という風にすべての処理が終わった後に最大化してください。
これをしてもsetup()内に書いたりOF_FULLSCREENしたりと下記のようになります。

どういうことが起こっていたかというと画面を最大化したいのに
できない!!!
画面が真っ黒になります。何も表示されない。

void ofApp::setup(){

}

内でも

void ofApp::draw(){

}

内でも真っ黒になる。

で、しょうがないから

void ofApp::keyPressed(int key){
 ofToggleScreen();
}

とやってみたら、二回目くらいに最大化できました。
いろいろ試したんですが結局これ以外うまくいかず…。上記の方法でなんとかなりました。

時間差の問題かなと思って下記も試したんだけどなあ。

void ofApp::setup(){
 ofSetFullscreen(true);
 ofToggleScreen();
 Sleep(5000);
  ofSetFullscreen(true);
}

パワポでヘッダを付けた話とヘッダを消してしまった話。

パワーポイントは機能が多いのですが、情弱には使いこなせない…。
イラレやふぉとしょ、ぷれみあ、あふえふも全然使いこなせない…。

こんな情弱がヘッダを作るのに苦労した話と消して焦った話。ネット上には情報がたくさんありますね。

yamanjo.net

kokoro.kir.jp

両方ともわかりやすく解説されています。助かるー!

言語ごとのコーディング規約

作りたいモノ作れればいいだろ、と思う方は多いかもしれません。しかし、後から見た気の保守性、共同作業において非常に重要です。読んでおくべきです。言語ごとにどこかにまとまっているのかというとQiitaにいい記事があったので、それを読んで下さい(投げやり)。

qiita.com

インタラクティブ界隈だと
processingはjavaベース
openframeworksはC++
ArduinoはCベース
だったはずなので、それぞれ読んでおくべきでしょう。
ちなみに私はまだ読んでいません。

ではでは~