骨バトル
🦴モモとクララの骨バトル 〜巨大ガム戦争2025〜
どうも、daihaseです。
今日はIT技術の話もガジェットも一切出てきません。
骨の話です。
いや、正確には「犬たちの骨型ガム争奪バトル」の記録です。
実はわたくし... ワンチャンを多頭飼いしてまして。 今回はそのうちの2匹のお話です。
🐶 まずはこちらをご覧ください

なんかすごくない?
もはや「骨」っていうより「武器」よ。
パッケージ曰く《噛んでストレス解消》らしいけど、うちの大型犬2匹(クララ&モモ)からすると、これは戦いの火種にしかならない。
💥 開戦:クララ、誇らしげに現る

バーニーズのクララちゃん。
堂々たる戦士の顔で現れる。まさに「これは私の獲物」感。
咥えたまま部屋を闊歩し、ドヤ顔でこちらを見てくる。
「見た?これ。私のよ?」って。
うんうん、今日の勝者は君かな…?と思った、そのとき。
😈 そして現れる、真の支配者

…そう、モモちゃんです。
ゴールデンレトリバーという名の、家の中で最も狡猾かつ優雅な略奪者。
クララがちょっと目を離したその隙を、モモは決して見逃さない。
そして気づいた時にはこう。
ちゃっかりガムを奪い、床にふせてこの顔。
「ん?何か問題でも?」
🎬 エンディング
というわけで、今回も骨争奪戦はモモの完全勝利で幕を閉じました。
犬用ガムひとつでここまでエンタメが生まれるとは…
次は2本買うべきか、いや、争いがあるからこそ燃えるのか。
悩みは尽きません。
今後もこんなゆるめの投稿も増やしていこうかなと思ってます。
それではまた!
映画『ゴジラ-1.0』を見た
こんにちは、daihasedです。
毎度久々の投稿にはなってしまってますが、先日ゴジラ-1.0を見てきました。

元々自分は日本のゴジラ映画からゴジラ映画のファンになり、ハリウッド版も全て見てきました。 そんな自分が今回このゴジラ-1.0を見て思ったのが...
日本はエンターテイメントは1つ上の段階にあがったのでは、ということ。 ストーリーも今回海外での展開をそれなりに視野に入れていたのか、個人的にはシン・ゴジラより圧倒的にわかりやすく、それでいて飽きの来ない(多少展開の読める部分もありつつも)ものと なっていた印象でした。
詳しいストーリーなんかは色々ネット上で記事にされている方もいるので自分は割愛しますが、個人的に最も気になったのがCGのクオリティでした。 映画の最後にスタッフロールが流れるのですが、そこに「スクウェア・エニックス」の名前があったんですよね。 ググっても「ここはスクエニが手がけた部分」といったような記事も見つからず憶測でしかないのですが、もしかするとゴジラの動きや放射能を吐くシーン、爆発演出等々、 スクエニのお力添えがあったのかなぁ、と思ったり...。 明らかこれまで日本映画が見せるCGとかクオリティが桁違いだったんですよね。
海外向けのTrailerなんか見ても全くハリウッドに負けてないクオリティ...
あとさりげに映画タイトルのロゴもいいですよね〜 私の会社でも色々ロゴやデザインを手がけていることもあり、こういうのは参考になりますよね。
あとネタバレになるので詳細は省きますが、最後のシーンも気になる部分が... 昔からゴジラ映画を見てきた人は「むむ」っとなったのではないでしょうか。 ビオランテとかスペースゴジラ作品も今後出たりするんでしょうかね。 ちょっと日本のゴジラ映画が楽しみになってきました。ちゃんちゃん。
ゲーム「Horizon Zero Down」を購入

こんにちは、daihaseです。
これまためちゃくちゃ久々な投稿になっちゃいました...。 最近は事業の方も拡大し、色々忙しくなって中々開発に関わる記事など投稿することが出来ませんでした。 そんな中、ちょっと風変わりな投稿も交えていこうかなということで、今回初めてゲーム紹介に関することの投稿になります。
実は弊社ではゲームアプリを作っている経緯もあり、またパートナーのデザイナーさんによく資料としてゲームのUI/UXを見てもらい、業務で作成するアプリやWebコンテンツ制作に役立ってもらってたりもします。 結構ゲームなどのUIはアプリ制作においても参考になるようなデザインなども多く、他社さんと差別化図るためにも例えば同じiOS/Androidのアプリを作るにしても、こうしたPS4/5などのゲームのUIを参考にするのも非常にいいのかなと思うdahaseです。
さてはて、今回「Horizon Zero Down」というゲームを買って見たのですが、自分はプライベートではほとんどゲームをせず、最後にプレイしたのはFF12だったかと思います。 そんな状況で今回PS5で初めてHorizonを買ってプレイして見てびっくり。今ってこんなリアルで、ハイクオリティになってるんですね、ゲームって...。
ちなみに会社のPS5を繋いでいるモニターはDELLのALIENWARE AW2721D 27インチゲーミングモニターですが、こちらゲームを描画するのに非常に適したモニターとなっています。 PS5なので、240Hzリフレッシュレートはオーバースペック感が否めないですが(ゲーミングPCでの活用ならアリかもですね)
※実際のゲーム画面


(すごくないですかね、機械の細部まで見えるようだ...)
実はこのHorizonは既にPS5で最近続編のHorizon Forbidden Westというのが出てるんですよね。 ただ既存の超大作RPGなどと違ってまだ2作しか出ていないゲームなので、これからForbidden Westを買ってみよう、という方もまずZero Downから買って見てはいかがでしょうか?
それではよいゲームライフを〜
Go Moduleとgoenvを使った環境設定

こんにちは、daihaseです。およそ2年ぶりくらいの投稿です。 最近仕事が色々目まぐるしく変わっていて、更新する余裕がなかったので滞っていましたが、また少しずつやっていければと思います。
さて、本日はGo Moduleについて。 Go ModuleはGo1.13から導入されたGo言語公式の依存パッケージ管理ツールです。 そのため、かつての$GOPATH/src配下にプロジェクトを作らないといけないといった制約がなくなりました。 (よってここの記事は古い情報になりますのでご注意を...)
Go Moduleの仕組みやそれ自体の説明は他の方も書かれているので、ここではサクっと最新のGo環境を整えることをゴールとします。
goenvのインストール
Home brewの場合はこちら
$ brew install goenv
Gitの場合はこちら
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
goenvのPATHを通す
$ echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshrc $ echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshrc $ echo 'eval "$(goenv init -)"' >> ~/.zshrc
追記した後は以下のコマンドでzshを更新します。
$ source ~/.zshrc
また以下を入力してバージョンを確認しておきましょう。
goenv -v goenv 2.0.0beta11
Goのインストール
次に以下のコマンドでGoをインストールします。 インストール可能なバージョンがリストで表示されるので、任意のバージョンをインストールしましょう。
goenv install -l Available versions: 1.2.2 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 ... .. . 1.15beta1 1.15rc2
バージョン番号を指定しインストールします。
$ goenv install 1.**.*
インストールが完了したら、以下コマンドでglobal設定を行います。
$goenv global 1.**.*
最後にちゃんと指定したバージョンになっているか確認します。
go version go version go1.15 darwin/amd64
GOPATHなどの設定
go getでインストールするパッケージなどをディレクトリとしてGOPATHを設定する必要があるので追記しましょう。 上記で設定したgoenvのPATHと合わせて以下のようになっていれば問題ありません。
export GOPATH=$HOME/go export GOENV_ROOT=$HOME/.goenv export PATH="$GOENV_ROOT/bin:$PATH" eval "$(goenv init -)" export PATH="$GOROOT/bin:$PATH" export PATH="$PATH:$GOPATH/bin" export GO111MODULE=on // 1.13 以降は不要
※コメントにもありますが、環境変数$GO111MODULEに関してはモジュール対応モードがデフォルトで有効となります。
プロジェクトの作成
任意のディレクトリ上で以下を実行し初期化します。
go mod init github.com/${GITHUB_USER}/${PROJECT_NAME}
これでディレクトリ直下に go.modが作成されます。
(なお間違えたらこちらのファイルを削除し、go mod init からやり直せばOKです)
次にhello.goを作成し、以下のようなコードを書いてみます。
package main import ( "fmt" "rsc.io/quote" ) func main() { fmt.Println(quote.Hello()) }
プロジェクトの実行
以下のコマンドで作成したコードを実行してみましょう。
go run hello.go ... go: finding module for package rsc.io/quote go: downloading rsc.io/quote v1.5.2 go: found rsc.io/quote in rsc.io/quote v1.5.2 go: downloading rsc.io/sampler v1.3.0 go: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c Hello, world.
go runはコンパイル(go build) + 実行までを行うコマンドです。
ちゃんと Hello, world が表示されていますね。
※Go1.16以降はgo buildによるパッケージのインストールが廃止となっています。
go mod tidy or go get <パッケージ名>@<指定するバージョン> でインストールした後、 go build or go run を実行してください。
どうでしょうか、$GOPATH/src時代の開発に比べるとずいぶんシンプルになったかと思います。
それでは良い開発ライフを〜
GoでBasic認証を実装する

こんにちは、daihaseです。
久々のブログ記事です。今日はGolangを使ってBasic認証を実装してみます。Basic認証はご存知、ユーザー名、パスワードを組み合わせた非常にシンプルな認証方式です。管理画面なんかでもよく見ますね。
こちら、Golangではnet/httpパッケージで簡単に実現出来ます。早速見てみましょう。
続きを読むSwiftでTwitterとかにあるような「○○分前」といった表記を実現する

こんばんは、daihaseです。
タイトルにあるように「○○分前」「○○時間前」といったTwitterを始め、ユーザーの投稿一覧なんかを表示するアプリではおきまりの表記、こちらのSwiftでの実装方法を説明したいと思います。
まず日付となるとDateクラスですね。こちらを拡張したクラスを以下のように作ります。
続きを読むGoでProtocol Buffersを使う

こんにちは、daihaseです。
今回はGoとProtocol Buffersを使った記事を書きたいと思います。 まずProtocol Buffersですが、こちらはGoogleによって2008年に開発されたもので、一言でいうと言語やプラットフォームに依存せずに構造化されたデータをシリアライズ可能な仕組みといった感じでしょうか。
.protoというファイルに記載されたインターフェース定義言語(IDL) によって、クライアント/サーバーが共通で使用する構造を定義でき、これによってXMLやJSONと同じようにAPI通信の際に用いることが出来ます。
恐らく多くの方が使い慣れているJSONなどと比較してのメリットは、データサイズがとても小さいことや、軽量で高速、またプログラム上から簡単に使用出来るデータアクセスクラスを生成する、など色々ありますが、まずは簡単なサンプルにて使ってこちらを実感してみましょう。
続きを読む
