QuartzNetwork開発者ブログ

なんか、その辺の企業がやってそうな名前にしてみた。

MySQLのScoket位置を指定してannotateを使う

f:id:kuwasa:20160223160606p:plain

Cloud9でannotateを使うときに、この問題にぶち当たったので書きます。

annotateとは

テーブルのスキーマ(図とか)をファイルの先頭に書いてくれる優秀なGemです。 基本的なことは、下記の記事がおすすめ。

techracho.bpsinc.jp

エラー

annotateをインストールしてコマンドを実行してみると、socketがつながらないと言われました。

$ bundle exec annotate 
Unable to annotate app/models/hoge.rb: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Model files unchanged.

どうやら、Cloud9の環境では /var/run/mysqld/ にsocketは無いようです。

ソケットの位置を指定する

Cloud9のドキュメント(Setting Up MySQL · Cloud9)を読んでみると ~/lib/mysql/socket/mysql.sockにあるようなので、これをconfig/database.ymlに設定してあげます。

cloud9:
  <<: *default
  socket: ~/lib/mysql/socket/mysql.sock
  database: c9
  username: <%=ENV['C9_USER']%>
  host: <%=ENV['IP']%>

あとは環境を指定して、実行してあげます。

$ RAILS_ENV=cloud9 bundle exec annotate
Annotated (1): app/models/hoge.rb

完璧です。

103万を超えていなくても扶養控除が外れた話

これはミスったな~っていう話です。 主に学生向け!あと普通にバイトしてる人はあまり当てはまらないです。

扶養控除から外れる

ある日、母から連絡が届き扶養控除から外れているとのことでした。

しかし、私は201年には50万程度しか稼いでいません。

2014年の確定申告はしました。

どのように働いていたか

自分は実は 雇われていませんでした

ここが大きな落とし穴でした。

つまりどういうことかと言いますと

自分は業務委託として働いていて、毎日何時から何時まで働きましたという物を作って請求額を出して請求書を作って請求してお金を口座に振り込んでもらう形でした。

でも感覚としては完全にバイト感覚として働いていたので103万を超えないように働けばいいと思っていました。

つまり 年末調整 を会社がしてくれないわけですね。

経費計上をしていなかった

2014年の確定申告をする際に、103万を超えていなかったので経費計上しなくてもいいと思っていたので全くしませんでした。

私が確定申告した額は50万程度、そしてどうやら38万を超えると所得があるとみなされるみたいです。

普通はそこから経費を引いていけば38万円以下になるのかと思うんですが、前述した通り私は経費を1円も上げていなかったのです。

あと学生控除?とか使うとさらに38万円 + 学生控除分という形で行けるみたいです。

まとめ

経費はしっかり計算しよう。

あと、全く税金に関しては詳しくないのでご指摘ありましたら修正していきます。

OpenshiftのGhostをアップデートする

f:id:kuwasa:20160108192614p:plain GhostはブログシステムでNodejsで作られています。日本語ドキュメントもありますが開発途上な感じ感は否めないです。

公式でホスティングしてくれるサービスもあるのですが、有料なのでOpenshiftの無料枠を活用したいと思います。

バージョンが古い

f:id:kuwasa:20160108191401p:plain

GhostのQuickStartがOpenshift Hubに公開されていますが、バージョンが0.6.4と古いです。実際には0.7.0が入るようですが最新版は0.7.4なので最新版を使いたいところです。 Free Ghost Hosting | Ghost 0.5.10 | OpenShift QuickStart

アップデートする

アップデートは思ったよりも楽で、OpenshiftのSSHにログインして

> cd app-root/repo/
> vim package.json

として、 package.json内に書かれているGhostのバージョンを書き換えます

#修正前
    "dependencies": {
        "ghost": "^0.7.0"
    }

#修正後
    "dependencies": {
        "ghost": "^0.7.4"
    }

保存後、アップデートを実行します。

> npm update

アップデートが完了したら、OpenshiftのWeb consoleからアプリを再起動すればバージョンが上がってることが確認できます。

f:id:kuwasa:20160108192653p:plain

OpenVPNでIPは割り当てられるがPING等が通らない時

はじめに

OpenVPNに接続して設定を適切に行い、接続を試してみたらIPは割り当てられて一見正常につながっているように見えるのに繋がらないという場合があるかと思います。 そのような時の対処法です。 Windowsクライアントにおいての問題です。

管理者モードで

なぜ失敗したのかログを見てみると

Tue Dec 29 15:08:13 2015 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.10
Tue Dec 29 15:08:13 2015 Warning: route gateway is not reachable on any active network adapters: 10.8.0.10
Tue Dec 29 15:08:13 2015 Route addition via IPAPI failed [adaptive]
Tue Dec 29 15:08:13 2015 Route addition fallback to route.exe

簡単に言えば、route.exeを実行する権限が足りないというだけです。 なので、OpenVPN GUIなどを管理者モードで実行してもらうようにしましょう。

QuartzNetwork開発の進捗

f:id:kuwasa:20150413012215p:plain 進捗どうですか? まったく新しいシステムで新機能をちょこちょこ追加しようと頑張ってます。

予定は未定

今の予定としては、既存の機能である

  • IP取得
  • Favicon/Motd変更
  • 接続ログ

に加えて

  • ドメイン変更
  • 接続先ポート変更
  • 通報管理
  • JPMCPvPのBANリストの適用

みたいなのが出来るようにしようかな~って考えてます。

ドメイン変更

これについては文字のとおりで自分で用意したドメインとか利用できます。 たまにDDNSドメイン(dip.jp)とかを指定してくるんですが、そこまで手間を かける予定はないです。Aレコードとか、そういうの自分で設定できるところ使ってください。お名前とかRoute53とか。

接続先ポート変更

これは、今までサーバ側立てる人は必ず25565で立てなきゃいけなかったと思うんですが 別のポートに変更できます。サーバに接続するユーザ側のポートは今までとあまり変わらない予定です。 例えば、今回の機能で25566にポート変更してもユーザ側が接続するときのポートは25565で変わらないという感じです。

通報管理

この機能は、超後回しなのであまり期待しないでください。名前のままです。通報がQuartzNetworkで管理できるようにする予定です。

JPMCPvPのBANリストの適用

これはON/OFFできるようにしたいと考えています。 割とこれも後回しです。

その他に予定してること

ポート番号をどうしようか悩んでいて 常に最新バージョンが 25565、 1.8.*が25566 1.7.+が25567...etc みたいな感じのほうがいいのかなと悩んでいます。 それか、最新バージョンと1個前のバージョンだけをサポートするほうがいいのかもしれない。

OpenVPNについて

OpenVPNのクライアントを独自で作りたいけど、どこを参考にすればいいのか全く分からない。 誰か教えて

Windows + Vagrant + Railsでページの表示が糞遅い時

f:id:kuwasa:20150805104005p:plain

いつも、愛用のWindows機SurfacePro3(通称Pro3)を使っているのですが

Vagrant + Railsで遊んでいると、どうしてもページの表示が遅い。10秒ぐらいかかる。

何故だろうと、色々調べていたのですが
スペック不足でもプログラムが原因でもないっぽい。

ファイル同期がネックに

実は、ファイル同期はVagrantfileがおいてあるところが /vagrant に同期されるので それでやっていたのですが、どうもそこが原因っぽい。

別に、同期自体は遅くなかったのですけどね。

rsyncを使おう。

rsyncを使うと早いとの情報をゲットしたので、試そうと思ったら、

Windowsにはデフォルトでrsync入ってないので、Cygwinで適当に入れることに。

f:id:kuwasa:20150805102411p:plain

Searchにrsyncと入れて適当にインストールしましょう。

Vagrantfileに追記して終わり。

あとは、Vagrantfileに追記してもうひと踏ん張り。

config.vm.synced_folder "同期するフォルダ", "同期先", type: "rsync"
例:config.vm.synced_folder ".", "/app", type: "rsync"

ここで、注意したいのがこのやり方でのrsyncは一方通行なので

$ rails g model user

とかやっても、自分のパソコンに同期されない事。

そん時は、自分は /vagraに入ってコマンド打って同期させてます。

ファイル変更時に自動で同期させる

このままだと、ファイル変更されても自動で同期されないので

vagrant rsync-auto

って実行してあげれば自動で同期されます。