読者です 読者をやめる 読者になる 読者になる

valog

なんのとりえもないシステムエンジニア。人並のエンジニアになるための備忘録。

Node.jsアプリをHerokuにデプロイするときに詰まったこと

見よう見まねでやってたら色々躓いたのでメモ。

 

herokuへのpushに失敗する。

いつものようにaddしてcommitしてpushしたら怒られた。

 !     Push rejected, failed to compile Node.js app.
 
 !     Push failed

こんなログが出てたのでググったらgitで競合が発生したらpushに失敗するとのことなので、
見よう見まねでマージとかしてみたけど、解決せず。
(よく考えたら自分しか作業してないのに競合なんて起きるわけないよね。アホすぎて泣きそう)

落ち着いて長いログをよく見たら、以下のような記述が。

       Some possible problems:
       
       - node_modules checked into source control
       https://blog.heroku.com/node-habits-2016#9-only-git-the-important-bits

node_modulesがソース管理下に置かれてるよ、と。
丁寧に参考URLまで書いてくれています。

要するに、モジュールなんかはpackage.jsonに記載されてるので、gitに追加しなくていいよと(たぶん)
指示通り、node_modulesフォルダをgitから除外したら無事解決しました。
なんでもかんでもgit add .で追加したらダメってことね。


アプリの実行でエラー

無事デプロイできたけど、アプリを開いたらなんかエラーになっていた。

落ち着いてherokuの管理コンソールからログを見ればよかったんだけど、
慌ててソースを眺めてたらなんとなく不審な点を発見。
どうやらインストールしたモジュールがpackage.jsonに記述されていなかったのが原因ぽい。
package.jsonにインストールしたモジュールとそのバージョンを記載して再度デプロイしたら無事うごきました。

モジュールをインストールするときは忘れずに --saveオプションをつけよう。



gitもHerokuもNode.jsも理解できていないままなんとなく進めてるから、
しょうもないことで躓いたりしている。
精進が足りない。

Force.com IDE セットアップ時のメモ

新しいPCにeclipseとForce.com IDEをセットアップしたので、メモ。

eclipseのダウンロードとForce.com IDEのインストールまでは割愛。(公式の説明通り)

以下、セットアップ後にしたことメモ。


・「この組織では TLS 1.0が無効になりました。・・・」の対応
eclipse.iniに下記を追加

-Dhttps.protocols=TLSv1.1,TLSv1.2

参考
https://help.salesforce.com/articleView?id=000221207&language=ja&type=1



・デフォルトのテキストエンコーディングUTF-8に。
eclipse.iniに下記を追加

-Dfile.encoding=utf-8


ファイルの関連付けの修正

ウィンドウ > 設定 > 一般 > コンテンツ・タイプから、
以下のファイルの関連付けを追加。

  • Visualforce Component → *.component
  • Visualforce Page → *.page
  • Custom Labels → *.label
  • Custom Object → *.object
  • Custom Tab → *.tab
  • Translations → *.translation
  • ページ・レイアウト → *.layout

要は、eclipseの日本語化で、ファイルの関連付けまで翻訳されてしまっているということ。(たぶん)
eclipseを日本語化していなければ上記は不要だと思う。

こちら参考にさせていただきました。
Eclipse x Force.com IDEの関連付け問題[解決] - fukasukobo.com


他にもあったら追記する。

Kindle Paperwhiteを購入しました。

前々から購入を迷っていたKindle Paperwhiteを購入しました。

f:id:varyo:20170402161609j:plain

カラーはホワイト
キャンペーン情報なしのWifiモデルです。

1週間ほど使ってみての感想。


・文字は非常に見やすい。

これは文句なしですね。
初めての電子書籍リーダーですが、本当に紙の本を読んでるみたいで、
しかもバックライトつきなので、薄暗いところでも読めます。


・読書以外の動作はもっさり

上下スクロールとかはかなりカクカクするので、ブラウジングは正直キツイです。
ストアで検索したりすのも、結局手元のスマホを使ってしまいますね。

ただ、普通に読書する分には、ページ送りなんかは快適でなにも不満はないです。

・ページリフレッシュのたびに白黒反転する

電子ペーパーである以上仕方ないことかもしれませんが、これがなかなか慣れません。
漫画のようなイラスト主体だと頻繁にリフレッシュするみたいです。
幸い小説や技術書などの文字主体のページならリフレッシュはあまり発生しませんが、
個人的にかなり気持ち悪いですね。


・総評

Prime会員ならかなり安く手に入るので、買っておいて損はないなと思いました。

ただ前述のとおりリフレッシュ時の反転が気持ち悪いので、これで漫画を読むことはたぶんないです。
漫画以外で、手元に残しておきたいような本以外はできるだけKindleを活用していきたいと思います。

余談

私が買った直後に「春のタイムセール祭り」が開始された模様・・・orz

Node.jsを始めてみる。(その2。Herokuにデプロイ)

Node.jsを始めてみる。 - valog
続き。

Heroku上でアプリを動かしてみる。
今回もこちらを参考にさせていただきました。
ビギナーのための Node.jsプログラミング入門



まずは公式サイトでHerokuにサインアップ
https://www.heroku.com/

続いてHeroku Toolbeltをインストール
https://toolbelt.heroku.com/
windows版をダウンロードして実行。あとは流れでトントントン。
Gitとかも併せてインストールしてくれる模様。

次。デプロイのためのファイルの準備とか。

・package.json
を作成。直接記述してもよいが、
npmコマンドで作成できる。

npm init

・Procfileを作成。
記載内容は下記。

web: node sampleapp.js

・sampleapp.jsの修正
以下のように修正。まだよくわかっていないが、サーバ公開用のIPとポート番号の設定といったところだろうか。

server.listen(1234);

 ↓

server.listen(process.env.PORT, process.env.IP);


続いてデプロイ。Gitからデプロイできるそうな。

Git Bashを起動
カレントディレクトリに移動。windowsコマンドプロンプトとパスの区切り文字とかが違うので注意。

cd c://work/nodejs/sample

Gitの初期化

git init

Herokuアプリの作成

heroku create アプリ名

アプリ名はHeroku内で一意にならないといけない。悩む。。。


むむ、ここでなんかエラーが出た。Herokuにログインできないっぽい。。。?

 ! Login is currently incompatible with git bash/cygwin
 ! In the meantime, login via cmd.exe
 ! https://github.com/heroku/cli/issues/84

git bashからHerokuにログインができない?
あまり深く悩まずに、コマンドプロンプトからheroku createしました。

Gitにadd。

git add .

コミット。

git commit -m "コメント"

ここで、コミットしようとしたら怒られる。
メールアドレスとユーザ名を設定する必要があるそうな。

git config --global user.email メールアドレス
git config --global user.name ユーザ名

設定情報は

git config --list

で確認。

いよいよデプロイ

git push heroku master

なんかいろいろ出て、無事にデプロイできたような気配。


Herokuのダッシュボード(https://dashboard.heroku.com/apps)に先ほどのアプリ名が追加されているので、管理画面にアクセス。
アプリ名横のOpen appをクリックで、新しいウィンドウでHello worldが表示されました。

成功!

とりあえずここまで。

しかし、gitについても勉強しないといけないなー

Node.jsを始めてみる。

興味があったのでNode.jsを触ってみることにしました。

 

こちらの記事を参考にさせていただきました。

http://libro.tuyano.com/index2?id=1115003

 

まずはインストール

日本語サイトから。日本語ってすばらしい。

http://nodejs.jp/nodejs.org_ja/

ヴァージョンはv0.11.11。

ダウンロードしたインストーラを実行して、あとは流れでインストール完了。

 

そういえばテキストエディタも必要ですね。

今これを書いているメインマシンはほとんどなにもインストールされていない状態です。今回はSublimeText 3をインストールしてみた。(後々Force.Com開発にも使いたいから)

 

ここから、Node.jsのサンプル実行。


サンプルのフォルダを作成。

C:\work\nodejs\sample

 

上記フォルダにsampleapp.jsを作成。

var http = require('http');

var server = http.createServer();
server.on('request', doRequest);
server.listen(1234);
console.log('Server running!');

// リクエストの処理
function doRequest(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Hello World\n');
res.end();
}

Node.js command promptを起動

サンプルフォルダに移動して
cd c:\work\nodejs\sample

実行!
node sampleapp.js

Windowsファイアウォールに怒られるけど、許可。

お、「Server running!」と出たので起動成功っぽい。

http://127.0.0.1:1234/
にアクセス(http://localhost:1234/でもおk)したら
無事Hello Worldが表示されました。

コンソールはCtrl + Cで終了。

とりあえずここまで。 

はてなブログをはじめたのだが

はてなブログを始めてみた・・・のだが。

 

投稿の仕方がわからない(笑)

 

はてなIDを登録して、ブログ名とかを設定したら

いきなり自分のブログのトップ画面に飛ばされるんだけど、

どこから記事を投稿できるのかがわからない。

 

Myはてなにアクセスしてもそれらしいリンクが見つからなくて、

(自分の注意不足かもしれませんが)

結局、「はてなブログ 書き方」でググってしまいました(笑)

 

で、どうやらダッシュボード画面からブログの管理とか記事の投稿ができるっぽいんだけど、ダッシュボード画面へのリンクも見つからず、

これも結局「はてなブログ ダッシュボード」でググって

ダッシュボード画面に到達するという始末(笑)

 

なんやかんやあってようやく最初の記事が書けましたとさ。