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

コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

きっと何者にもなれない僕だから

今日はプレミアムマンデー

SVG
プレミアムな月曜日がはじまりを告げた

今更な話になるのですが、最近プレミアムフライデーというものが出来たということを知りました。そんなものよりプレミアムマンデーというものを作ったほうが良いと思うのですよね。特に理由はないのですけどね…。


そういえばプレミアムという単語、よく「高級とか、上質な」のイメージで使ってますけど本来の意味ではないんですよね。一番近い意味が「付加価値」の意味でして、それが転じて「高級・上質な」のイメージになったのだと思います。付加価値をつけましたよーっていう宣言だと思うようにすると、プレミアムフライデーってその日に名前の付加価値をつけただけなんだな(それだけなんだな)と思えて納得できるようになりますよ。ちなみに僕はそう考えてもプレミアムフライデーには納得いきませんでした。


さあ、何も変わることのない日常を嘆いても何も変わりませんので、明日の生活を変えられるように知識だけでも身につけていきたいと思います。今日の茶番からの導入は前向きな感じになりましたね(台無し)。

SVGをさわってみる

SVGとは

SVG
Scalable Vector Graphics(スケーラブル・ベクター・グラフィックス、SVG)は、XMLベースの、2次元ベクターイメージ用の画像形式の1つである。アニメーションやユーザインタラクションもサポートしている。SVGの仕様はW3Cによって開発され、オープン標準として勧告されている。

そんなものがあるそうです。何を言っているかわかりませんが、ざっくりと言うとHTMLでかける図形描画方法といった感じです。CSS以外にも表現の幅はあるんだぞぐらいの感覚でいいと思います。

実際に触ってみるとこんな感じになります。


本日は月曜日なり

ソースコード

<svg>
    <rect x="120" y="-20" height="70" width="70" fill="gray" transform="rotate(30)"/>
    <rect x="140" y="-40" height="70" width="70" fill="darkgray" transform="rotate(30)"/>
    <g fill="white" font-family="sans-serif" font-size="30">
        <text x="0,30,60,90,120,150,180,210" y="110,115,120,125,130,135,140,145">本日は月曜日なり</text>
    </g>
</svg>

こんな感じで、書き方のバリエーションに幅を広げることができます。上のとりあえずで作った例だと面白くありませんが、例えばエヴァンゲリオン風のタイポを作るなどをしたいときにはCSSいじるより有用な気がします。実際どうだかはわかりませんけどね。

テキスト関連のSVGのいじり方をまとめると以下の様になります。
SVG属性 おぼえがき

属性 説明
fill 塗り色
x 表示開始 x方向
y 表示開始 y方向
transform 図形の変形


ざっくりまとめたら、表にする意味がなくなってしまった……。
まあ、そんな感じです。そんな感じで月曜日がんばっていきましょう。

   第壱話 月曜、襲来

VRゲームができないから仮想環境を導入した

VirtualBox Ubuntu
VRやりたい

みなさん、こんにちは。
今年はVRの年だなんて呼ばれていますね、皆さんはもう体験しましたか。僕はまだです(半ギレ)。

まだVRを体験していないけども、どうしてもVRがやりたくなってしまったので、今回はvirtualboxを使ってubuntsと呼ばれるlinuxディストリビューションを入れて遊んでいきます。字面だけみるとすごいバーチャルなことやってるように見えますよね。僕はこいつをVRということにして、このやりきれない気持を慰めていきます。


というわけでバーチャルボックスウブンツズールー語で「他者への思いやり」)していきます。

VirtualBox
Oracle VM VirtualBox (オラクル ブイエム バーチャルボックス)とは、x86仮想化ソフトウェア・パッケージの一つ。現在の開発は米国オラクルが行っている。

よくわかんないけど仮想化して遊ぶためのツールだよ。僕がこれからやるVRの"V"の部分を担当するよ。

Ubuntu
Ubuntu(ウブントゥ) とは、コミュニティ により開発されているオペレーティングシステムです。ラップトップ、デスクトップ、そしてサーバーに利用することができます。Ubuntuには、家庭・学校・職場で必要とされるワープロやメールソフトから、サーバーソフトウェアやプログラミングツールまで、あらゆるソフトウェアが含まれています。

よくわかんないこと書いてあるけど、Mac OSみたいなものだよ。僕がこれからやるVRの"R"の部分を担当するよ。


準備編

まずは環境を仮想化してくれる便利なツールであるバーチャルボックスを導入します。
最新版はUS版の方からとってきてね、みたいな不親切なことを言われますが気合でとってきましょう。
VirtualBox ダウンロード

次にバーチャルで遊び倒すためのイメージファイル(.iso)をもってきます。今回は宣言通りUbuntuです。

こちらから取ってきます。
The leading operating system for PCs, tablets, phones, IoT devices, servers and the cloud | Ubuntu
イメージファイルがあるならば別にMacでも、窓でもなんでもいいです。

遊んでみた

準備ができたらバーチャルボックスを起動します。
とりあえず起動したら、新規で適当に遊びたい設定項目を選んでいきます。
途中イメージファイルを選択する場面がでてくるので、そこで先ほど持ってきたイメージファイルをねじ込みます。
f:id:andron:20170117232627p:plain


準備ができたら起動します。
はい、うまくいくとこのように仮想環境で遊ぶことができるようになります。
f:id:andron:20170117231355p:plain

これでようやく僕もVRデビューですよ。

音楽よくわかんないけどコンポーザーを使ってみる

Composer
コンポーザーって作曲者って意味らしいです

僕も音楽よくわかんないけど、少しずつ音楽について勉強していっているのでコンポーザーについて学んでいこうかななんて思ってこんな記事を書きました。


さて、ここから名だたる作曲家についてのお話をしていきましょ…。

――とでも思ったか!!
今回はComposerと呼ばれるPHPで使える依存ライブラリ管理ツールを使ってみるよ。

まずはComposerについて

Webでなんやかんやモノを作るときって言語はコレ、フレームワークはコレみたいに決めるけど実際は膨大な量のライブラリ(プログラムの命令を簡単に呼び出せるようにまとめたもの)も使っているんです。その膨大な量のライブラリは言語のバージョンの違いやフレームワークのバージョンの違いで正常に動作しなくなってしまうことがあるんです。そうならないために「このプロジェクト(自分で作ったサービスのこと)ではこの取り決めでやっていきましょう」みたいなことを自分で予め設定できるツールがコレというわけです。そうすることで後から、取り入れたライブラリだとこのプロジェクトでうまく動かないよみたいなことを回避できるようになるんですね。

ちなみに、僕が普段作ってる糞プログラムだとライブラリを管理するほどのことをしていないので旨味はなさげです。

僕のこうした戯言を読むよりも公式を見た方がよっぽどためになるので興味がわいたなら公式サイトにいって読もうね。

公式
Composer

導入編

公式のマニュアルを読めば導入できるので割愛。
f:id:andron:20170123070009p:plain
うまく導入できれば、composer -vでバージョン確認するとこんな画面がでるよ。

使ってみた

とりあえずComposerの初期設定のファイルを置く適当なフォルダを作ります。
そこでcomposer initと入力します。すると色々と初期設定ファイルの構成について聞かれます。コミュ障なので聞かれた内容は全部無視します。すると、composer.jsonが生成されます。
どうやらコミュ障でも初期設定のファイルを作ることができるそうです。良かった。


若干、茶番じみたことになりましたがこれで設定ファイルの作成完了です。こいつがライブラリの依存を管理してくれるそうです。この設定ファイルに使いたいライブラリを書き込んでいけばいいんですね…(アレ?これだと手動管理と一緒なのでは?)。

直接書き込むことでなんとかすることもできるそうですがcompoer require [パッケージ名]で欲しいライブラリを導入することもできるそうです。自動化って感じがしますね。ちなみに直接書き込んだ場合はcomposer installでいけるそうですよ。どっちもいける口なんですね。

ちなみに、どんなライブラリがあるかはこちらで探せるそうです。
Packagist

こちらでパラパラ見るより[やりたいこと ライブラリ]で検索したほうが遥かに有意な情報が得られる時代なのが歯痒いところですね。使ってみると言っておきながらライブラリを一切導入していないので、一切の恩恵を受けない形になってしまいました。次回PHPでライブラリ使うときにはこいつを使っていきたいところです。