shibuso.net

プログラミングとかゲームとか

日報システムを作ってみました

2016年05月11日 | タグ: Rails , 開発

転職前の有給消化中もGW中も更新をサボってたりしたのですが、ようやく書く気になったので1つ報告でも。

昨年の夏頃から実装しては数週間放置し実装しては数週間放置しを繰り返していた個人で開発してたものを、先日GitHubに公開しました。ベンチャーや中小企業で使うのを想定した日報システムです。

日報システム

以前勤めてた会社で参考とした日報システムがあったものの、ちょっと実装がイケてない感じだったので「よし、個人開発で作ろう!」と思ったのがきっかけなのですが、公開にこぎつけた時点で退職しているとは想定していませんでした(ノ∀`;)

そんなわけで「誰が使うんだろうこれ」状態なのですが、もし興味があったら拾ってみてください。Railsが使える方なら簡単に手元で動かすことが出来ると思います。本格的に運用していこうと思うとちょっとRailsとサーバの知識が必要になるかも。

なおテストも書いてなければ人力テストも不十分ですので、バグが含まれている可能性が多分にあります。石を投げずにissue投げてくださいm(_ _;)m

何かレスポンスがあれば今後も継続して開発していくかもしれませんが、直近は別にやりたいことがあるので、しばらく放置になるかもです。というかこのblogも直したい、Bootstrapの理解が不十分だったのもあって色々酷いんですよね…。

Surface Bookで4K出力するまでの苦闘

2016年03月20日 | タグ: 雑記 , レビュー

先日4Kテレビ(REGZA G20X)を買ったと書きましたが、その後Surface Bookを購入しました。スペックはもちろん最高のものです、メモリ16GBは欠かせない。そのおかげで直近の出費がやばいので、ちょっと高額なお買い物はしばらく控えなくては…。

こうして4Kディスプレイを使いこなせる機体を入手したと思ったのですが、ところが全然そんなことはなく、Surface Bookでも接続したところ出力されたのはフルHDをでかくしたものだったのです('A`) そこから色々悪戦苦闘した結果なんとか出力に成功したので、それまでやったことをまとめます。

まず最初は以前から持っていたbelkinのMini DisplayPortからHDMIへ変換するアダプタと、AmazonのHDMIケーブルで繋げてみました。これでダメだったのですが、原因がケーブルかドライバかディスプレイかがわからなかったため、とりあえず変換アダプタを4K対応と書かれているものに変えてみようと思ってこの変換アダプタを購入してみました、が結果は変わらず。

ドライバもWindows Updateで入るものではなくて、Intelの公式からダウンロードして入れてみたのですが、効果なし。結構途方に暮れてたのですが、ただこの時にメニューに追加された「グラフィックス・プロパティ」から「オプションとサポート」の「情報センター」を開いてみたところ、「サポートされているモード」という項目にしっかり4Kの解像度が表示されていたので、これはきっとドライバではなくケーブル類の問題だと思いました。

手元の環境はHDMI1.4で固められていたので、これはもうHDMI2.0に挑戦するしかありません。ただそうなった時にMini DisplayPortからHDMIへの変換が問題です。Mini DisplayPort1.2からHDMI2.0への変換アダプタは存在はしてますが、日本国内ではあまり流通してないみたいでした。そこでまずはHDMIケーブルだけ2.0にしてみました。結果は効果なし。

最後の希望として残っていたのがClub3Dから発売されているCAC-1170です。海外だと安いけど国内だとまだまだ高価な一品だっため失敗した時のことを考えると少し躊躇しましたが、そもそも4Kディスプレイが既に目の前にあってこれが無駄になる方がよっぽど悲惨なため購入。そして今日試してみたところ見事4K出力が出来るようになりましたヽ(´ー`)ノ

後日追記:いつの間にかCAC-1170がアマゾンでも取り扱われるようになっていました、しかも自分が購入したときよりもだいぶお安くなってる(´ー`;

結局以下の結果となりました。

  HDMI1.4ケーブル HDMI2.0ケーブル
Mini DisplayPort1.2 -> HDMI1.4変換 × ×
Mini DisplayPort1.2 -> HDMI2.0変換 ×

これがDisplayPort付きのPC用ディスプレイだったらもっとすんなり出力できたと思いますが、HDMIしか入力を持たないTVだから苦労したという感じですね。ちなみに60Hzでの出力に成功しています。

しかし4Kは広いですね!加えて43インチなため100%のdot by dotで出力しても問題なく字が読めます(ちょっと小さいですが)。この広さを使いこなせるかわからないですが、開発は捗りそうです(やるとは言ってない)。

4Kテレビをディスプレイとして使ってみた

2016年02月29日 | タグ: 雑記 , レビュー

2008年頃に購入したMDT241WGがそろそろ寿命っぽい挙動をしてたので、ディスプレイを買い換えることにしました。8年使えたなら文句無いです。出力元はメインで使ってるデスクトップで、こいつも2010年に購入とだいぶ古くなってます、こっちもできれば買い換えたいところ。

で、色々ディスプレイを探してたんですがそんな中で「4KテレビをPCディスプレイとして使ってみたけど、問題なく使える」って情報に遭遇して衝撃を覚えました。丁度新しくテレビも買いたかったんですが、それまでは別々に考えてたんですね。まさか一石二鳥の方法があったとは。

価格と機能を吟味した結果REGZA G20Xの43インチにしました。LGのも安かったんですけど、やっぱ国産メーカーのがいいなと。SONYも選択肢に入ったんですけど、消費電力が高かった。

結果としては使えてはいますが、残念ながら今のPCでは真価を発揮できず。2010年のグラボ使ってたら4K出力できないですよねそりゃ(ノ∀`)

それでも興味があったのは、4K出力できない場合はどういう表示になるかってことです。ここら辺検索してみたけど見つけられなかったんですよね。結果としてどういう表示になったかというと、フルHDが拡大されて表示されています。元々WUXGA出力してたから、ちょっと狭くなった(´Д`;)

WQHDとかの表示ができたら良かったんですけどね、そういう選択肢は表示されないから無理そうです。そして残念ながら文字が滲んじゃってます。これは拡大出力してるためですね、仕方がないです。ちなみにテレビ番組やPS4の出力は問題ないので、テレビの故障ではありません。

4K出力対応マシンを近日購入するつもりなので、その時に改めてレビューができたらなと思います。

(追記)
なんとか出力することが出来ました、こちらの記事で経緯をまとめました。

sectionタグとh1タグで悩んだ末の結論

2016年01月02日 | タグ: 開発

正月の帰省で実家で暇だから自主的にちまちま進めてる開発をやってたのですが、sectionタグ内でのh1タグの扱いについて1時間程悩んだ結果、自分の答えに辿り着いたので忘れないようにまとめときます。そもそも数ヶ月前に調べたはずなのに頭から抜けてたんで(苦笑)

まずw3.orgのサンプルを見てみると、section毎にh1タグを使うのが推奨ではあるようです。こちらにサンプルがあります

それじゃh1タグ以外使っちゃいけないのか?というと、そうではないようで、sectionのネスト毎にHTML4.01の頃と同じようにhタグの番号を増やしていっても問題ないようです。というか、上記のサンプルをw3c validatorに通すとwarningが出るんですよ。こちらのページがそのwarningのリンク先である解説です。

要は「まだこのsectionタグを使った構造に対応してないブラウザなりscreen reader(目が不自由な方のためのソフトが主でしょうか)が対応してないかもしれないから、h1タグ以外を使った方がいいかもよ?」ってことですね。

このwarningに対してメーリングリストで疑問が出てたっぽいですね、ぐぐったら引っかかりました、こちらです。日付見て愕然、もう1年半ぐらい前から出てた問題じゃないですか、俺遅すぎる('A`)

上記メーリングリストの答えも踏まえた個人的結論として、不特定多数の大勢を対象としたサービスの場合はh1タグ以外も使った方が良さそうですね。一方自分が知ってる範囲内だけが対象で、使っても問題ないと思うようならh1タグだけでも大丈夫じゃないでしょうか。

とはいえh1タグ以外を使った場合でも、本来はh1タグを使うことが推奨されているわけで、そのうちh1タグだけに切り替えた方がすっきりすると思います。どのタイミングで全てのブラウザが対応したか調べるのが面倒しっかりとした判断つかないですが、w3c validatorのwarningから消えたらもうh1タグに切り替えれば良いんじゃないかなと思います。

個人的な結論はこんなところでした。まだ調べ足りない点もあるかもしれないので、指摘・意見等ありましたらTwitterからよろしくお願いします。

PSNowで遊んでみた

2016年01月01日 | タグ: ゲーム

あけましておめでとうございます。引越ししたりしてて更新サボってましたが、今年も引き続きこんな感じで気ままに更新していきたいと思います、よろしくお願いいたいます。

年末はPlayStationPlusに加入してた特典としてPlayStationNowの1週間お試しチケットをもらえたので、それで遊んでいました。年末にPS4を購入してたしVitaも2年程前に購入してたので体制は万全。

感想としては、全然問題なく遊べますね、びっくりです。会社の同僚が格ゲーをやるにはちょっと厳しいって言ってましたが、ソニック ジェネレーションズとアルカディアスの戦姫を遊んでみたところ特に違和感なく遊べました。

PS4で主に遊んでましたがVitaでも特に気になるところなくできたのが更に驚きでした。R2L2とR3L3はタッチ操作になるのでそこのところだけ操作性に疑問がありますが、それらのボタンをあまり使わないゲームなら特に問題にならないかと。やっぱりVitaはデュアルショックを繋げられるようにするべきだと思うんですよ、そうすればボタンが壊れても本体を修理に出さないで済むし(初期不良で修理に出したので)。

ついでに遊んだゲームのレビューとしては、ソニック ジェネレーションズはラスボスまで倒したけれど、あまり操作に慣れなかったの採点は無しで。PSNowでは何も問題なく遊ぶことができました。

アルカディアスの戦姫の方は、5点満点中4点ぐらいじゃないでしょうか。ゲームとしては決して悪くはないし4日間でトロコンするぐらい一気に駆け抜けられたので大まかには満足してますが、ストーリーがあっけなかったりゲームシステム的にもうちょっと面白くすることはできたんじゃないかなと。特に武器に関してあまり考えず店で強いの買って使ってれば問題なかったりが勿体ない。それと周回プレイの特典が少ないのが残念、でも大量に持ち越せたらもっとゲーム寿命が縮まってたから仕方ないか。

それと激乱戦で特定の条件が揃うと確実にフリーズするような感じでした、多分勝利時に敵キャラが大量に残ってるとアウト。これは恐らくPSNowだからじゃなくてそもそもソフトが悪いみたいですね、アマゾンのレビューとかでも書かれているので。フリーズした時はPSNowを終了して再起動する必要がありましたが、前回のセッションを終了しますって表示が出て少し待たされます。

jQueryでformの挙動をあれこれ操作

2015年11月07日 | タグ: 開発 , Web

引越し関連で色々動いてたら更新の間が空いてしまったけど、いつもの事なので気にせず本題へ。

まず普通にformがあって、その情報で登録なり更新なりしたい状況にあるとします。ただし、エラーがあった場合はページの更新をせずに、エラーの理由を画面に表示させたいという要望があります。エラーが無ければ普通に遷移して問題ありません。

ここで実装したいこととしては

  1. 問題が無いかどうかvalidationを走らせる
  2. 問題があればエラーの表示、問題が無ければ更新

という流れの処理です。

まず1番ですが、これは普通にAjaxで送れば実現可能です。dataにどうやってformの値を突っ込めば良いんだろうって悩みましたが、検索してみたところ以下のような感じで実装可能でした。


$(function() {
  $('form').submit(function(event) {
    event.preventDefault();
    $.ajax({
      type: 'POST',
      url: 'hogehoge/validate',
      data: $(event.target).serialize()
    });
  });
})

適当に思い出しながら書いてるんで間違ってたらごめんなさい。$(event.target).serialize()でいい感じにデータまとめて渡せるっての初めて知りました、各所で使えそうですね。上記の返り値でerrorが返ってきたら適当にエラーを表示させて、successが来たら改めて登録を叩けば良いわけです。

が、今度はどうやって再びformのデータを送ればいいのかちょっと悩みました。またAjaxでデータを送る手もありますが、手動でリロードするのはなんか格好悪いなと。それなら普通にformをsubmitさせることは出来ないのかな、と。

一度preventDefaultしちゃったらこいつを復活させることは出来ないみたいでしたが、ちょっと探してみたら違う方法がありました。


$(function() {
  $('form').submit(function(event) {
    var formElement = $(this);
    // 中略
    formElement.submit();
  });
})

どうもformを取っておいて、submitを叩けば良いみたいです。これで普通にformのsubmitを実行したのと同じ結果を得ることが出来ました。めでたしめでたし。

…で、これ書いてて気付いてしまったのですが、そもそもの問題を解決しようと思ったら、別に1でvalidateだけじゃなくて実際更新させちゃえば、戻り値によってページのリロードするだけで済んじゃいますね。俺のバカ!y=ー( ゚д゚)・∵. ターン

不動産屋の営業車

2015年10月12日 | タグ: 雑記

最近引越しを考えてます。一人暮らしを始めてから10年ちょっとで既に6件の部屋に住んでるという、大分あっちこっち移動しまくってる感じです。

ところで部屋探しをしてるとまずは良さそうな物件情報を出してもらって、その中から実際に見てみたいと思う物件を選びます。そしてその物件に向かうわけですが、近い場合は徒歩も有りますが、経験上大体車を使います。そこで使う車をここでは件名の営業車と定義します。

この10年近く色々回ってましたが、大体どこでも会社が営業車を所持してそれを営業さんが利用していました。しかし今回新しい体験をしました。タイムズプラスのカーシェアリングを利用してたんですよ。

個人的にも以前からこのサービスを(月額費の最低限だけですが)利用しているのですが、不動産屋さんが利用しているとは思いませんでした。しかし確かにこれは駐車場のスペースの確保が難しかったり、車の維持費を考えたりすると結構合理的なのかもしれないですね。

不動産屋さんの近くに必ずしもカーシェアリングの車が置いてあるかどうかは分からないですしこういう利用方法は稀なのかもしれないですが、何か衝撃を受けたので書いてみました。

World of Warshipsにはまる

2015年09月27日 | タグ: ゲーム

サブタイトルに「ゲームとか」って書いてるくせにまったくゲームネタを書き込んでないから、たまには中身の無い純粋なゲームネタでも。

以前からWorld of Warshipsの存在は知ってたんですが、この前正式サービススタートという記事を見て「試しにやってみるか」ってなったのが始めたきっかけです。ということで、まだ始めてから1週間ぐらいしか経ってないのですが、この1週間シルバーウィークのおかげで時間が取れたのでだいぶやりましたw

現段階でアカウントのレベルは9に到達したので、とりあえず現時点でメニューでアンロックなものは無くなったはず。まだ艦のレベルが低いのでランク戦はやれていませんが。

最初は戦艦が好きだったのですが、河内から妙義に変わったところで大分戦法が変わって、今では一番使いづらいと思ってしまっています(苦笑) 駆逐艦で魚雷ばらまくのが結構楽しくなってきましたが、巡洋艦で放火魔になったり、あとは最近ようやく開放できた空母で魚雷ばらまくのも楽しいですね。特に空母には戦艦を使ってて良く痛い目に遭わされてたので、仕返しとばかりにw

今年の春に仕事が忙しかったりで艦これの方は引退してたのですが、見知った名前があるというのも愛着がわきます。現在全ての艦がレベル4なので、磯風、球磨、鳳翔とかですね。駆逐艦で頑張って島風に乗ってみたい…。

ちなみに使ってるPCは5年型落ちの古いデスクトップですが、ありがたいことに問題なく動いてくれてます。スペックは以下のとおり。

CPU Core i5 750(Core i5第1世代ですよ!)
メモリ 20GB(2GB*2 + 8GB*2)
グラボ RADEON 5750

戦闘中は常にCPU使用率50%強、温度は50度近い感じですね。最近徐々に涼しくなってるので助かってる感じでしょうか?60fps近くで基本安定してます。

とまぁそんな感じで遊んでました。ゲーム内でもshibusoの名前でやってるので、見かけたらお手柔らかにお願いします。まぁこのブログ読んでて遭遇するなんてレアケース過ぎて万が一にも無さそうですが。

microSDXC 128GBを買ってみた

2015年09月20日 | タグ: NW-A17 , ガジェット , 音響

ウォークマンのAシリーズに新シリーズのアナウンスが来てましたね。なんかデジタル出力が付いてたりして面白そうではありますが、NW-A17を購入してまだ1年も経ってない現状ではまだまだ買い替えの予定はありません。

そのNW-A17をより快適に使おうと思って、microSDXC 128GBを買ってみました。今まで64GBを使ってたのですが、ちょっと手狭になってきたため。倍の容量はさすがに必要ないんですけど、64GBの上はこれしかないから仕方ないですね(笑)

ただ今回購入にはついては、何か今まで購入してきた低容量のものよりも不具合の報告が多いように感じたため、なかなか踏ん切りがつきませんでした。もしかしたらまだまだ購入者が少ないこの現状に置いて、書き込むのが不具合に当たった人ぐらいなのかもしれないですけどね。

まぁきっと大丈夫だろう、今までも初期不良品に当たったことなんてPSVitaぐらいだったし…と思ってたら

初期不良品にぶつかりました/(^o^)\ナンテコッタイ

最初は問題なく書き込めたんですよ、ウォークマンでフォーマットも出来ました。でも、少しデータを転送してたらエラーが発生して、その後フォーマットも受け付けないし書き込みも権限がないって表示されました。最初に書き込めたデータは普通に読み取ることができたんですけどね。SD AssociationのSDカードフォーマッターも試してみたけど駄目だったので、諦めてサポートに連絡したら初期不良交換という流れに。

アマゾンのコメントにも書かれてましたが、サポートはしっかりしてました。こういうサポートに電話してすぐに電話に出てくれたのって久しぶりでした(笑) そして交換品の配送も速かったです、送った翌々日には届きました。おかげで特に不満はなかったです。

交換品はしっかり動いてくれて、これでNW-17の本体64GB+microSDXC128GB=192GBという大容量環境が整いました。これで足りなくなったらGoogle Play Musicに置いてスマホからストリーミングで聞くとかしか無さそうですね…。

Windows7にてGoogle Chromeが起動直後にクラッシュ

2015年09月04日 | タグ: 雑記

家のWindows7 64bitで、それまでごくごく普通に使えていたのに、何かの拍子でいきなりChromeが起動しなくなりました。いわゆる「何もしてないのに壊れた」ってやつですが、そんなわけは無いわけで、原因を探してみました。

まず現象は起動と同時にWindowsからクラッシュのダイアログが出ます。もうChromeは一切操作できない状況。さすがにこれは酷いと思いました。

原因として考えられる中でひとまず良くあるのは、ウィルス対策ソフトが何かブロックしているというもの。しかし手元の環境でそれらを全てカットしても変化なし。

続いてPCの再起動、これも効果なし。Chromeの再インストールとUser Dataフォルダの削除(一時退避)もしてみましたが効果なし。

なんだこれ、まさかこれを機にWindows10導入か?とか悩んでいましたが、色々ググって見たところ下記ページを発見。

Windows7にてgooglechromeが起動し直ぐに「動作を停止しました」とエラーがでます。 - Google プロダクト フォーラム

まさかと思ってChromeのトップページに行ってみたら、「Windows 版(10/8.1/8/7/Vista/XP 32-bit)」という表示が…。chrome

「別のプラットフォーム向けの Chrome をダウンロード」を押すとそこには「Windows 10/8/7 64-bit」という選択肢が…こんなのあったのか(ノ∀`)アチャー

これが原因の確率高いんじゃないか?と思ってインストールしてみたところ、無事動くようになりました。めでたしめでたし。

ちなみに現在のChromeのバージョンは45.0.2454.85 m (64-bit)みたいです。