ツタンラーメンの忘備録

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

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文で回していたので

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

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

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ベース
だったはずなので、それぞれ読んでおくべきでしょう。
ちなみに私はまだ読んでいません。

ではでは~

Windows10でrailsのインストールに失敗している話。と成功した話。

ruby on railsを導入しようと奮闘しているのですが、一台は何の問題もなく入りました。もう一台はまだ入っていません。入りました。
とりあえず入った方のやり方を記載しておきます。

環境は

です。

ちなみにこの記事を書いている段階で最新は
ruby 2.3.3
rails 5.0.0.1
です。

1. Rubyのインストール
2. devkitのインストール
3. nokogiriのインストール
4. railsのインストール


1.
http://rubyinstaller.org/downloads/ ここから一番新しいRubyをダウンロード&インストール(なんかうまくいかなかったらバージョンを下げていれるのも手)。下のサイトにも書いてあるけど、Pathの項目のチェックボックスにチェックを入れるのを忘れずにやる。終わったらコマンドプロンプト

gem update --system

をやる(順番を忘れたのだが2のあとだったかも)
Windows10(64bit) で Ruby 2.2.3 + Rails 4.2.5 - Qiita ここを参照

2. Cドライブ直下にdevkitというフォルダを作成する。そのあとruby関係でゴニョゴニョする。同様にコマンドプロンプト

cd C:\
mikir devkit
cd devkit
ruby dk.rb init
ruby dk.rb install

同様に先程参照したところに記載されている。 

3. sqlite3は必要に応じて入れてください。私はさしあたり入れなかった。で、nokogiriをインストール

gem install nokogiri

を入力(上記サイトの面倒な手順をふまなくても大丈夫だった)

4.

gem install rails

そこそこ待つけど、ちゃんと終われば使えるようになる。おもったより簡単でした。

適当にコード描いて動かしてみてください。
まあ、書かなくても(いっぱいフォルダができるのでちゃんと専用のフォルダを作ってください)

cd どっかファイル作りたいところ
rails new ./
rails server

で動くか確認(localhost:3000)。
サンプルコードは上記サイトのほうが詳しいので省略。

でもう一台が入らない。一時ファイルまでのPATHに日本語が入っているのが原因かと思ったけど、まだまだ問題は多そう(日本語でユーザ登録しないべき。クソ野郎だな、過去の自分)。
TempフォルダをCドライブ以外に移動してWindowsの動作を快適に保つ!
とりあえず上記で一時ファイルの場所を変えました(他のところで何か悪さしないことを願う…)

www.oiax.jp
ここを参考に

gem install rails --version="~> 4.2.3" --no-ri --no-rdoc

とすると中途半端にインストールできて

rails -v
rails new

もできるんだけど

rails generate controller ファイル名

でいろいろ足りないと言われてコケる。

さあどうしよう。


stackoverflow.com
ここを参考に少し前のバージョンを入れてみたり、それをアンインストールしたり、したらなぜか入りました。
意味がわからない
ただpowershellコマンドプロンプトを開いてやってみるとうまくいくかもしれないです、
特にpowershell。なぜか、こいつを使い始めてから何かうまくいき始めた。なぞ。
あと、何度もやっていたら
railsの4と5が共存する状態になった。アンインストールしても消えないし、とりあえず使い分ける方法を模索する方向でやってみようと思う。メインは5。