2014年4月10日木曜日

今更PS4開封の儀・スペック見たら知らないこといっぱいあった(;´∀`)

r-DSC03765

猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。

もう発売からだいぶ経っているのですが、写真撮っていたので今更開封の儀をお送りします(;´∀`)

うつ病になってゲームどころじゃ無くなってからほとんど情報を仕入れずにいたので、Wikipedia見ていたらいろいろ知らないこともあったのでそれも含めて載せておきます。



開封の儀

r-DSC03766

箱を開けたところ。

r-DSC03767

人通りだしてみました。カメラ付きの方を買っています。

r-DSC03768

PS3初代を発売日に買ってその大きさと重さに驚いた自分としては、PS4はだいぶ小さく軽くまとまったな~と思います。

r-DSC03769

裏面。映像出力はHDMI固定です。放熱用のスリットがたくさん見えます。

r-DSC03770

コントローラーのDUALSHOCK4。十字キー、4つのボタン、左右スティックに加え、中央はタッチパッドになっています。このタッチパッドはクリックもできます。

そして映像のシェアを行うシェアボタンと、オプションボタンもあります。

あとPSボタンの上にはスピーカーも付いています。

r-DSC03772

下側にはイヤフォンジャックと拡張端子が。音声はモノラルですが、付属のヘッドセットでボイスチャットもできます。

拡張端子は今のところ専用の充電器を使うくらいしかないようですが、いずれ何か付けられるのかも。

r-DSC03773

コントローラー上面にはライトバーが付いています。PlayStation Moveのように、カメラで色を捉えてプレイヤー毎の置を検出したり、ゲーム内の状態をライトで表現したりできるようです。

microUSB端子もあり、本体とペアリングしたり充電することができます。

r-DSC03775

これが付属のヘッドセット。まあ最低限のものという感じです。

r-DSC03776

PlayStation Cameraです。2眼のカメラと4チャンネルのマイクアレイが搭載されており、空間の奥行きと音源の位置を計算できるようになっています。すごいですね。

r-DSC03777

これはコントローラー用の充電器です。何でこれ買ったんだっけな・・・自分で忘れてます(;´∀`)

r-DSC03780

最初電源スイッチが分かりませんでした(;´∀`)

スリットの間にありました。



セットアップ!

r-DSC03781

ワールドワイドですね。

r-DSC03782

セットアップは簡単です。サクサク次へ。

r-DSC03783

カメラのセットアップ。部屋の映像はアレなので映像はぼかしてあります(;´∀`)

r-DSC03791

テレビの下に置いてたら全然顔が映らね~と思ったら、カメラは上下の向きを変えられました(;´∀`)

r-DSC03789

顔認証でログインできるそうです。

r-DSC03790

えっと・・・詰んだorz

r-DSC03787

Facebookログインが出てきます。

r-DSC03788

これはオフにしとかないとヤバイですね((((;゚Д゚))))ガクガクブルブル

PS4立ち上げる毎にポストされたら大変です(;´∀`)

r-DSC03784

メイン画面はXMBではなくなってます。

r-DSC03793

試しにストアを覗いてみるとストライダー飛竜のお試し版が。お試しで2.9GB(;´∀`)



スペックで知らなかったこと

CPUがPCと同じ(x86-64アーキテクチャ)とか、メモリが8GBとがんばったとかは知っていたのですが、Wikipediaを見ていてほほうと思ったことを。

セカンダリープロセッサーとエンコーダー・デコーダー

PS4はシェアボタンで動画キャプチャや配信ができたり、バックグラウンドでのダウンロードができるわけですが、そういった処理はメインのCPUとは別のセカンダリープロセッサーやエンコーダー・デコーダーが行うそうです。動画配信とか重そうな気がしてましたが、これなら大丈夫ですね。

セカンダリープロセッサーというのは、PS2がI/O用としてPSのCPUとほぼ同じものを載せていたのを思い出させます。

セカンドスクリーン

PS Vitaやスマホの専用ソフト「PlayStation App」を入れると、サブディスプレイのように使うことができます。まだ試してません(;´∀`)

コントローラーに音声入出力

これも調べてなかったので知りませんでした。タッチパットにジャイロ・加速度センサーもあるので、ありとあらゆる入力手段が揃ってますね。加えてカメラで位置や音源の検出もできるわけで・・・こっちは広い部屋が必要そうですが(;´∀`)



まとめ:2度目はまだ無い

その後まだ起動してませんw

ゲームは「龍が如く維新」と、その後「METAL GEAR SOLID V グラウンド・ゼロズ」を入手してますが、そもそも龍が如く5がまだ途中だったり、気力が無かったりでゲーム時代ほとんどプレイできず・・・。First Limited PackなのでKNACKのダウンロードコードも付いているのですがまだそのまま。

そういうわけでまだPS4のゲーム画面を見てなかったりします(;´∀`)

仕事落ち着いたらやりたいな・・・まずは龍が如く5(PS3)をやらないと。

それでは皆様良きガジェットライフを(´∀`)ノ



2014年4月9日水曜日

Java屋からRubyistへの道~4. 「クラスインスタンス変数」ってなんぞ?

2013-10-21 20.28.59

猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。

2104年3月でRubyの仕事は終わったので、Rubyistへなる必要も無くなってしまったのですが、せっかくなので覚えたことはまとめておきたいと思います。

今回のお話は勤務最終日に遭遇した「クラスインスタンス変数」というものについてです。Java・・・というか、C++でも無かった概念だと思います。

なんぞ!?と思った方は続きをどうぞ!




Javaのスコープによる変数の種類

Javaでは変数の種類は以下の3種類あります。(アクセス修飾子によるスコープは除く)

  • ローカル変数
  • インスタンス変数
  • クラス変数

※ローカル変数はさらにif文などのブロックスコープがありますが省略。

class TestJava {
  private static String class_var = "クラス変数";
  private String instance_var = "インスタンス変数";

  public void method(){
    String local_var = "ローカル変数";
    String instance_var = "同じ名前で宣言するとスコープの狭い方を指すようになる";
    :
  }
}

ローカル変数はメソッド内部で宣言した変数で、そのメソッド内だけで有効です。

インスタンス変数は、生成されたインスタンス毎に確保される変数です。クラス内のメソッドからはアクセス可能です。

クラス変数はstaticをつけて宣言されたもので、全インスタンスで共通の1つの変数だけ確保されます。

Javaの場合はメソッドの外で宣言した場合はインスタンス変数かクラス変数のどちらかになり、ローカル変数が同じ名前で宣言された場合はより狭いスコープの方を指します。上記の場合、インスタンス変数の方を参照したい場合は「this.instance_var」と記述すれば使い分けられます。


Rubyの変数の種類と「クラスインスタンス変数」とは

Rubyでは、宣言の場所と共に変数名に規則があります。

  • ローカル変数
  • インスタンス変数 → インスタンスメソッド内で@~で宣言
  • クラス変数→クラス内部で@@~で宣言
  • クラスインスタンス変数→クラス内部で@~で宣言
class TestRuby
  @@class_var = "クラス変数"
  @class_instance_var = "クラスインスタンス変数!"

  #コンストラクタ
  def initialize
    @instance_var = "インスタンス変数"
    local_var = "ローカル変数"
    p @class_instance_var # → nil
  end
end

インスタンス変数と「クラスインスタンス変数」は変数名のルールが同じで@~とします。違いは宣言の場所で、クラスインスタンス変数はクラス定義の内部、インスタンス変数はインスタンスメソッドの内部で行います。

クラスインスタンス変数はインスタンスメソッドからは見えないので、インスタンスメソッドから参照するとnilとなってしまいます。

もう少し具体的に書くと、

  • インスタンス数に関係無くクラスで1つ確保される
  • インスタンスからは参照できない
  • サブクラスからも参照できない

ということのようです。

いつ使うの?という感じですが、にわかRubyistにはあえて使う局面は思いつきません。例えばRailsでは使っているようです。

参考:


注意すべきポイント

問題は、「インスタンス変数を定義したつもりでクラスインスタンス変数だけ定義している場合」に起こります。

class Test
  @instance_var = 0 #インスタンス変数を宣言したつもり

  def initialize
    if any_condition
      @instance_var = 1
    end
  end
  :

このように書いた場合、any_conditionがtrueならインスタンス変数@instance_varは1で定義されますが、falseの場合は未定義(nil)となってしまいます。

これは怖いです。宣言・初期化しているはずなのになぜかnilになってしまうという現象が発生します。実際、ある程度著名なライブラリ(gem)でも間違って使用していました。



まとめ:インスタンス変数はコンストラクタ(initializeメソッド)で宣言すること!

混乱の元になるので、Rubyにおいてはインスタンス変数はコンストラクタ内で必ず宣言及び初期化をしておく方が良いと思います。

あえてクラスインスタンス変数を使うことはほぼ無いと思いますので、どうぞご注意ください。

それではみなさま良きガジェットライフを(´∀`)ノ



2014年4月6日日曜日

猫好きへ贈る週刊すずと 2014/03/31~2014/04/06の振り返り #猫 #cat #すず

r-DSC04262

猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。

猫好きの方もそうで無い方へも贈る「週刊すず」と2014/03/31~2014/04/06に書いた記事の振り返りです。すずについては上の「すずについて」タブをご覧下さい(スマホではプルダウンメニューになってます)。雄の茶トラ猫(2歳)です。

まだ少し寒い日があって、すずは足の上に乗ってきます。横でストーブを付けているので気持ちよさそうです。左手をちょっと握っているのがかわいい。

先週はあまり写真撮れませんでしたが、週刊すず行ってみましょ~ε≡≡ヘ( ´Д`)ノ



週刊すず

RX100M2で撮影。長辺2048ピクセルに縮小。全てクリックで拡大します。)

r-DSC04263

足の肉球をアップ。

r-DSC04264

なんか手足がもつれています。

r-DSC04265

ちょっかい出したらしがみついてネコキックを食らいました(;´∀`)

r-DSC04266

そしてがじがじかじる。

r-DSC04267

かじってます。

r-DSC04268

勢いがすごくて捉えられず。

r-DSC04281

ストーブ前でくつろぐ。

r-DSC04282

すずはなかなか目線をくれません。



この週に書いた記事の振り返り

エレコムの充電器

これは本当にお勧めです。まあ普通の人には4ポートも必要ないでしょうが(;´∀`)

公開時は書いてなかったのですが、この手の多ポート充電器に良くあるポートごとの出力の違い(スマホ用1A、タブレット用2A等)が無いのもポイントです。

オレンズ

試しに使ってみたら思いの外良かった製品です。0.2mmの芯は初体験でしたが、手帳や小さいノートに書くには悪くありません。ぜひ一度お試しあれ。

DCMX GOLD

1回線で月9000円て、フィーチャーフォン用の通話無料がたくさん付いたプラン+パケット定額ならまだしも、今のスマホ用プランではまず行かないですよね・・・(通話は高いから別のサービスを使うし)。

旅行によく行く人なら付帯保険で元が取れると思うので、サービス内容をよく確認して検討してみてはいかがでしょうか。






今月から派遣先が変わって新しい仕事になりました。今度もまたこれまで経験の無い言語やミドルウエアを使うことになり、日々勉強しています。

メンバーはほとんど自分より年下ですが、おっさんとしては若い者にまだまだ負けていられません。がんばりますよ~。

それでは皆様今週も良きガジェットライフを(´∀`)ノ



▼こちらの記事もどうぞ

▼ブログを気に入っていただけたらRSS登録をお願いします!
▼ブログランキング参加中!応援よろしくお願いします。

スポンサーリンク