Facebook Twitter Google Maps RSS
formats

Vagrantを使用してWebサイトを作る~番外編~

こんにちは!

駆け出しプログラマー安東です。

前回PHPとMysqlをインストールし、進めてきたのですが、

今回は番外編でサードパーティレポジトリを使用してPHPをインストールしてみたいと思います。

初回でvagrantにインストールしたcentosにはデフォルトでレポジトリが容易されています。

しかし、用意されているレポジトリのバージョンとは別のバージョンのPHPを入れたい場合があると思います。

その際に使用するのがサードパティレポジトリです。

では早速vagrantを立ち上げましょう!!

いつもの画面が表示されたでしょうか?
それではまず前回のブログでインストールしたPHPを削除していきます。

まずPHPパッケージを探します。
以下のコマンドを実行して下さい。

$rpm -qa | grep php

これを実行するとTeraTermが以下の画像ような画面になると思います。

これが現在インストールしてあるPHPのパッケージです。

ではこれらをアンインストールしていきます。

まず、管理者権限に変更しましょう。

以下のコマンドで変更できます

$su

※パスワードを聞かれると思いますが、

変更していなければ「vagrant」だと思います。

管理者権限に切り替えれたら、l

以下のコマンドで実行しましょう。

#yum remove php*

※「*」の意味って・・・何だろう。

「*」はワイルドカードと呼ばれるのですが、

ワイルドカードにはほかに「?」もあります。

これのメリットとしてはあいまい検索を行うことができることです。

・「*」は0文字以上の任意の文字を表します。

・「?」は任意の1文字を表します。

閑話休題

それでは実行してみましょう。

途中でyes/noを聞かれますので「y」を入力して下さい。

下記の画面が表示されたら終了です。

これでPHP関連のパッケージが削除されました。
続いてPHP5.5をインストールしていきます。
インストールのためにはまず、外部リポジトリを追加します。
今回はremiリポジトリを使用します。

remiリポジトリの追加は下記コマンドで行えます。

#rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

remiリポジトリをインストールしたので、

remiリポジトリを用いてphpをインストールしてみましょう。

下記コマンドを実行することで、インストールが可能です。

#yum install –enablerepo=remi php

最後に下記コマンドでphpのバージョンを確認してみて下さい。

#php -v

これでphpのバージョン変更は完了です。

前回のブログでcentosが準備しているバージョンをそのまま入れましたが、
今回はremiリポジトリを用いてPHPをいれました!

今回は短いですが、この辺で(∩´∀`)∩

formats

条件式を簡潔に書きたい!

こんにちは。陽気なシステム屋のゆーたです。

今回はシステムやアプリ開発ではなく、もっと根本的なお話をしようと思います。
if文を多重に使用したソースコードを見かけませんか?

そのようなソースコードを書かざるをえないこともありますが、全ての場合においてこのように多くの条件分岐を必要とするのでしょうか?

否! 断じて否!

このようなソースコードは条件が複雑になればなるほど多く見かけます。

しかも、多くはプログラミングの経験が浅い方が書かれるソースコードではないでしょうか?

このようなソースコードは修正時に条件漏れや、条件の指定ミスといった問題を引き起こしかねません。

また、実際は必要のない条件式を指定しているということもありえます。

このような多くの条件分岐をすっきりさせるために条件式の見直しを行いましょう。
そのための手段として、ド・モルガンの法則とベン図を利用します。

ド・モルガンの法則とは、たとえばこのようなものです。

ここで「∩」はAND、「∪」はORを意味します。
また、アルファベットの上の棒はNOTを意味します。

また、上記の式に相当するベン図は次のようなものです。

※色がついている領域が式の示す領域です。また、Uは集合の空間全体を示しているものとします。
それぞれ集合を表現するためのものですが、難しいことはさておき、実際に使ってみましょう。
たとえば、次のようなベン図があるとしましょう。

※数字は処理の番号を示しているとします。

処理1を実行するための条件、処理2を実行するための条件、処理3を実行するための条件はどのように表現できるでしょうか?

まず処理1のみ実行する場合は…

条件式は次のようになります。

次に処理2のみ実行する場合は…

条件式は次のようになります。

最後に処理3のみ実行する場合は…

条件式は次のようになります。


では、処理2以外を実行する条件式はどう書けるでしょうか?

正解はこうなります。

さて、いかがでしょうか。

今回は簡単な例で説明しましたが、実際はもっと複雑な条件が出てきます。

しかし、今回ご紹介したド・モルガンの法則とベン図を用いれば、全ての条件式に必要性が生まれ、必要のない条件式ではなくなるはずです。
また、意外と簡単に条件式を作成できるかもしれませんよ。

それでは、ごきげんよう。

アプリ開発実績はこちら

formats

CSSで文字を縁取りする

こんにちは。
陽気なシステム屋の一員のシホンヌです。

最近行っている開発で、

webの画面に画像を置いてその上に文字を乗せてね。
でも、文字がわかりにくくならないように白で縁取ってね。

という仕様のものがやってきました。

たとえばこういう感じです。

お花の画像の上の「切花各種」や「金額」あたりがそれです。

こういう画像をweb上に表示する際は、写真の上に文字が乗った画像を画像処理ソフトで作成したものを使うのかと思っていたので、えーこんなんweb上でできんのー!?と思い調べたら、どうやら「text-shadow」という、文字に影を付けるCSSのプロパティを使えばいいということがわかりました。

でも、影じゃなくて、文字を縁取りたいんだけど…。

縁取らせるための指定方法がよくわからないんだけど…。

と、困っていたところ、ありましたありました。
文字を縁取りにするCSSを発行するツール!

http://css-eblog.com/eblog_sample/1001/text-stroke/

縁取りの幅を入力して「適用」を押すと、コードと表示サンプルが表示されます。
これは便利…!

世の中には開発者に親切なお方がおられて、便利なツールを公開してくださってる方がいらっしゃるんですね・・・。
有難く使わせて頂きます。

また便利なツールを見つけたら紹介します!ではまた!

 

★アプリ開発実績はこちら★

Tags: ,
formats

【iOS】画像の指定した部分を引き延ばす方法!

こんにちは!!

駆け出しプログラマーあんどう2です。

今回は画像の指定した部分を引き延ばす方法を紹介します!

画像の指定した部分を引き延ばすということにイメージが湧きにくいと思いますが、

例を挙げると皆さんも頻繁に使っていると思われるメッセージアプリの吹き出し部分です!

あの部分は文字の量に応じて大きさが変化しますよね?

コードで吹き出しの図形を描いて引き延ばすことも出来ますが、

今回は小さい画像を引き延ばしてみます!

でもそんなに難しくないですよね!画像を引き延ばすだけですもんね!

ちなみに、画像を用いる際、対象となる端末の画面スケールに合った画像を用意しなければなりません。

等倍の一種類だけを用意すると、他の画面スケールで表示させたときに意図した通りに引き伸ばされません。

[UIImage ImageNamed:] で読み込む場合は、ファイル名のサフィックスを判断して、

自動的にディスプレイの解像度に合わせた画像を読み分けてくれるので、

等倍のサイズの「balloon.png」と、2倍のサイズの「balloon@2x.png」、

3倍のサイズの「balloon@3x.png」を用意しましょう。

————————————————————————–

UIImage *balloonImg1 = [UIImage imageNamed:@”balloon.png”];

UIImageView *balloonImageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(30, 50, balloonImg1.size.width, balloonImg1.size.height)];

balloonImageView1.image = [UIImage imageNamed:@”balloon.png”];

[self.view addSubview:balloonImageView1];

————————————————————————–

この吹き出しを横に伸ばすだけですからね!!

ImageViewのサイズを変更して・・・

————————————————————————–

UIImage *balloonImg2 = [UIImage imageNamed:@”balloon.png”];

UIImageView *balloonImageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(30, 150, balloonImg2.size.width * 4, balloonImg2.size.height)];

balloonImageView2.image = balloonImg2;

[self.view addSubview:balloonImageView2];

————————————————————————–

実行〜!!

そうなりますよね。分かってましたよ。あえてやってみただけです。

どうしたものか・・・。

やはりコードで図を描画した方がいいのか。

でもせっかく画像あるし使ってやってみたい。

調べまくること数十分・・・

やっと見つけましたよ!

[UIImage stretchableImageWithLeftCapWidth: topCapHeight: ]

これを使えば画像の指定した部分のみを引き延ばせるみたいです。

やってみましょう!

————————————————————————–

UIImage *balloonImg3 = [UIImage imageNamed:@”balloon.png”];

UIImage *stretchImage3 = [balloonImg3 stretchableImageWithLeftCapWidth:balloonImg3.size.width / 2 topCapHeight:balloonImg3.size.height / 2];

UIImageView *balloonImageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(30, 250, balloonImg3.size.width * 4, balloonImg3.size.height)];

balloonImageView3.image = stretchImage3;

[self.view addSubview:balloonImageView3];

————————————————————————–

実行〜!!

おおお!これこれ!

これがやりたかったんですよ!

詳しく説明しますと、

UIImage *stretchImage3 = [balloonImg3 stretchableImageWithLeftCapWidth:balloonImg3.size.width / 2 topCapHeight:balloonImg3.size.height / 2];

この部分で、balloonImg3の横幅の中心を可変に、縦幅の中心を可変にするという設定を行います。

UIImageView *balloonImageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(30, 250, balloonImg3.size.width * 4, balloonImg3.size.height)];

あとは今まで通りImageViewの大きさを変更すれば、上記で設定した可変部分のみ引き延ばされるため、

綺麗な吹き出しができます!

縦幅の中心も可変部分にしているので、こうすると・・・

————————————————————————–

UIImage *balloonImg4 = [UIImage imageNamed:@”balloon.png”];

UIImage *stretchImage4 = [balloonImg4 stretchableImageWithLeftCapWidth:balloonImg4.size.width / 2 topCapHeight:balloonImg4.size.width / 2];

UIImageView *balloonImageView4 = [[UIImageView alloc] initWithFrame:CGRectMake(30, 350, balloonImg4.size.width * 4, balloonImg4.size.height * 2)];

balloonImageView4.image = stretchImage4;

[self.view addSubview:balloonImageView4];

————————————————————————–

皆さんも見慣れているような吹き出しが作れます!

メッセージアプリ以外でも応用が効くを思うので、

ぜひ参考にしてみてください〜!

それではまた!

——————————————–

iPhoneアプリ開発実績はこちら

http://www.system-i-enter.com/result/index-iPhone_iPad.php

formats

SQL Serverでのデータのスクリプト化

Published on 2015年3月27日, by in 未分類.

こんにちは!
陽気なシステム屋の一員のぴーすぬです。

もうすぐ4月ということで、
新入社員を迎え入れる準備をされている方も多いのではないでしょうか?
大阪支店にも4月から2名、新入社員が入るので今からドキドキです!

ということで本日のブログは、
私が入社後、初めて入った案件で学んだ事をご紹介します!

それが、SQL Serverにおいて
テーブル情報とテーブルの中身のデータをスクリプト化して取り出す方法
です!

スクリプト化してもテーブル情報しか取れない!
テーブルの中身のデータが取れない!
こんなことがあるかと思います。
そんな時の対処方法がこちら。

 

まずは取り出したいデータベースを右クリックして、図のように
「タスク」 ⇒ 「スクリプトの生成」を選択します。

そしてデータベースのオブジェクトを選択します。

それから次がポイントです!!!
スクリプト作成オプションの設定画面が出たら、
画像の赤枠で囲った「詳細設定」ボタンを押します。

すると詳細オプションが出ます。
そこで「スクリプトを作成するデータの種類」の部分を
「スキーマのみ」から「スキーマとデータ」に変更します!


この設定をすると、
テーブル情報だけではなくデータも含めてスクリプト化する事ができます!!
テーブル情報しか取れなくて困った時は、この方法で是非お試し下さい!

ではまた!

アプリ開発実績はこちら

formats

【iOS mbaas】最短でPush通知を実装する。

dPush通知を実装する時はmbaasなどのサービスを利用すると実装が簡単です。

今回はNiftyが提供しているNifty Cloud mobile backendを使用した最短の方法を紹介します。

アカウント作成

Nifty Cloud mobile backend(以後NCMB)を使用するためにはNiftyアカウントが必要になります。ログイン画面から新規アカウント作成が行えるので、そこから作成しましょう。

ログイン

新規アカウント作成が完了したらログイン画面よりログインします。

アプリの新規作成

作成するアプリの名称を求められます。ここで設定する名称はwebコンソール画面での管理上の名前なので得に意識する必要はありません。

APIキーとクライアントキー

アプリを一意に識別するユニークキーとしてAPIキーとクライアントキーが発行されます。後々xcodeに記載するため使いますが、webコンソール画面でいつでも参照できるのでメモする必要はありません。

webコンソール

webコンソール画面が表示されます。ここではmbaasにおけるサーバー側の設定を行うことができますが今回はPush通知に関するものだけ設定します。

Push設定

Push機能を設定するために必要な設定は以下の2つです。

  1. アプリ設定→プッシュ通知→プッシュ通知の許可→許可する→保存
  2. アプリ設定→プッシュ通知→iOSプッシュ通知→証明書をアップロード

証明書の作成は本記事では割愛しますがここなどが参考になるかと、通常の証明書と違いAPNsにチェックを入れた証明書が必要な所を注意してください。

mbaasSDKのインストール

ここからxcodeを使って実装作業に入ります。NCMBではSDKを提供しているのでそちらを利用します。SDKはver2.0からGitHubで公開されておりcocoapodsでも提供を行っています。通常のFrameworkでも提供しているので自分にあった環境で組み込んでください。個人的にはソースが見れるcocoapodsからの組み込みがオススメです。
GitHubはこちらから
cocoapodsの解説や詳細なSDKインストールはこちらから

コーディング

やっとコーディングです。プッシュ通知を実装するために必要なものは以下の通りです。

  1.  NCMBSDKの初期化処理
  2. deviceTokenのNCMBへの登録

具体的なコードは以下のみでOKです!

————————–

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//NCMBSDKの初期化

[NCMB setApplicationKey:@”__APPLICATIONKEY__”

clientKey:@”__CLIENTKEY__”];

//Push通知の受信登録処理

UIUserNotificationType type = UIUserNotificationTypeAlert |

UIUserNotificationTypeBadge |

UIUserNotificationTypeSound;

UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:type

categories:nil];

[[UIApplication sharedApplication] registerUserNotificationSettings:setting];

[[UIApplication sharedApplication] registerForRemoteNotifications];

return YES;

}

– (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

//deviceTokenをInstallationクラスに登録する。

NCMBInstallation *currentInstallation = [NCMBInstallation currentInstallation];

[currentInstallation setDeviceTokenFromData:deviceToken];

[currentInstallation save:nil];

}

————————–

__APPLICATIONKEY__と__CLIENTKEY__にはNCMBにアプリを登録した際に表示されたキーを記載します。
webコンソール→アプリ設定→基本→APIキーで再度確認できます。
あとは実機に転送すれば準備は完了です。

webコンソールからプッシュ通知を送信する

webコンソール→プッシュ通知→新しいプッシュ通知からプッシュを送信することができます。
プッシュ配信端末種別でAndroidも選択するとプッシュ通知送信エラーになるので注意してください。
これはAndroid側のプッシュ通知で必要なAPIキーをNCMBに登録していないために送信時エラーが発生するためです。

まとめ

NCMBを使った最短でのプッシュ通知機能の実装いかがでしたでしょうか?NCMBにはアプリからプッシュ通知を送信する機能やプッシュ通知以外のデータやファイルの保存・共有など様々な機能がありますので、試してみるといいかもしれません。

formats

【iOS】NSNotificationCenterで困った!

こんにちは。陽気なシステム屋のがおまるです。

今日は13日の金曜日って事ですので、
JSON(ジェイソン)の話をしようと思いましたが諦めましたw

詳しくはググってください。

さて、本題ですがiOSの機能でNSNotificationCenterというものがあります。
NSNotificationCenterを使用すると、
同じアプリ内の別クラスでイベントを通知する事が出来ます。

例えば、「動画を表示した」というイベントを受けて閲覧回数を記録したり、
「動画再生完了した」というイベントを受けて動画終了処理を行ったりと様々な通知があります。

しかし、こんな便利な機能でもiOSのバージョンによって動作が異なることがあったので、
同じ問題で困っている人が出てこないように私が行った対策を書こうと思います。

問題が発生したのは、動画を表示させるアプリで発生しました。
iOS8で確認したところ動画が表示されるタイミングで送られてくるはずの通知が来ず
困惑してしまいました。

対策の使用例は以下の通りです。

// iOSバージョン取得
float osVersion = [[[UIDevice currentDevice] systemVersion] floatValue];

if (osVersion >= 8.0f)  {  //iOS8以降
    //プレーヤ開始時(フルスクリーン状態になった時)
    [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(movieIsPlaying:)
                                          name:@"AVPlayerItemBecameCurrentNotification"
                                          object:nil];

    // プレーヤ停止時
    [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(movieStoppedPlaying:)
                                          name:@"UIWindowDidBecomeHiddenNotification"
                                          object:nil];
} else {  //iOS7 以下
    //プレーヤ開始時(フルスクリーン状態になった時)
    [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(movieIsPlaying:)
                                          name:@"UIMoviePlayerControllerDidEnterFullscreenNotification"
                                          object:nil];

    // プレーヤ停止時
    [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(movieStoppedPlaying:)
                                          name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
                                          object:nil];
}

// 動画再生処理
- (void)movieIsPlaying:(NSNotification *)notification {
    NSLog(@"start player");
}

// 動画停止処理
-(void)movieStoppedPlaying:(NSNotification *)notification {
    NSLog(@"stop player");
}

イベントのまとめです。
他にもあるかもしれないですが…

// 動画再生
AVPlayerItemBecameCurrentNotification

// 動画完全再生終了
AVPlayerItemDidPlayToEndTimeNotification

// 動画再生
UIWindowDidBecomeVisibleNotification

// フルスクリーン閉じる
UIWindowDidBecomeHiddenNotification

OSのバージョンで処理が変わってしまうのは辛いですね(´Д⊂ヽ)
しかも今まで動いていた部分とかだとテストが疎かになったりして気が付きにくいです。。。

以上、NSNotificationCenterのお話でした!

弊社の開発実績はこちら

formats

【WatchKit】AppleWatchに長文のメッセージを表示する

こんにちは。陽気なシステムやナメックです。

AppleWatchの発売が目前の迫りつつある今日この頃、私もぼちぼちXcodeのベータ版を動かしてAppleWatch対応アプリの開発しています。

AppleWatchはAppleが出す新デバイスとして、ウェアラブル端末として色々注目が集まっています。

しかし、開発者視点から見て、このAppleWatchの最大の課題の一つといえば・・・

画面が小さい!

ということではないでしょうか。

AppleWatchはすでに2サイズ発売されていることは発表されていますが、大きい方で42mm小さい方は38mmしかありません。

例えばこのブログのタイトルである

「陽気なシステム屋が世界を変える」

という文字を画面に表示したとしましょう。

途中で文字が切れてしまっています。

もし、全文表示するようMinScaleを変更した場合にはこうなります。

今度は文字が小さくて読みづらいです。

今はまだシミュレータで開発している段階なので、文字が小さくてもなんとなく読めてしまうのですが、こいつが実機の38mmディスプレイに表示された場合、見辛いこと間違いなしです。

こいつは問題です。

ということで、文字は大きく見やすく、なおかつ長文を違和感なく表示させる方法を考えてみましょう。
えーっと・・・。
ーっと・・・。
っと・・・。
と・・・。
・・・。
はい。

いやいや、なにも思いつかなかったわけではないです。

これが答えです。

つまり長すぎる文字は新幹線の車内ニュースのように、一文字一文字ずらしながらスクロールしてやればいいのです。

これなら文字サイズを標準に保ったまま、全文を表示させることができます。

というわけでいきなりコード、全文です。

@implementation WKInterfaceLabel (Scroll)

– (void)scrollText:(NSString*)text interval:(NSTimeInterval)interval completion:(void (^)(void))completion
{
// 文字列をセット
[self setText:text];

// intervalで指定した時間後に実行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(interval * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 先頭の文字列を削除
NSString *nextText;
nextText =

;

if (nextText.length > 0) {
// まだ表示する文字列がある場合、再度同じメソッドを呼ぶ
[self scrollText:nextText interval:interval completion:completion];
}
else {
// 最後まで表示した場合
[self setText:@””];

// 完了通知
if (completion) {
completion();
}
}
});
}

@end

うん、短い。

でもってサンプルのスクリーンショット。

今回はWKInterfaceLabelのカテゴリとして実装しています。

まず長文をラベルにそのままはっつけて、その後は一定間隔ごとに先頭の文字を一文字削って再表示をするというやり方です。

これでアニメーションが貧弱貧弱ぅなWatchKitでも文字列がアニメーションして表示しているように見えますね。見えますよね。

簡単!

開発者としても利用者としても、AppleWatchはぜひぜひ盛り上がって欲しいと思っています。

その為にはAppleWatchスゲー感を演出するために、便利な対応アプリを増やしていくことが必要不可欠ですね。

iPhoneアプリ開発実績はこちら

http://www.system-i-enter.com/result/index-iPhone_iPad.php

以上!

formats

Vagrantを使用してWebサイトを作る~PHP&Mysql導入編~

こんにちは!

駆け出しプログラマー安東です。

前回Apacheをインストールしたので、
今回はPHPとMysqlをインストールしていこうと思います!

では早速始めていきましょう!

まずはコマンドプロンプトを開き、

testフォルダまで移動し、Vagrantを起動しましょう。
※testフォルダは前々回の記事にて作成したフォルダです。
起動コマンドは以下の通りです。

$vagrant up

起動が完了したら、TeraTermからログイン!
IP:192.168.33.10
ポート番号:22
ログインが完了したら、管理者権限に切り替えます。
切り替えコマンドは以下の通りです。

$su

上記コマンドを実行すると、パスワードを聞かれるので、
Vagrantにログインした際のパスワードを使用して下さい。
デフォルトですと「vagrant」となっていると思います。

管理者権限に切り替わったら早速PHPをインストールしていきます。
インストールのコマンドは以下の通りです。

#yum -y install php

インストールが開始すると下の画像のようなログが流れます。



このようなログが流れれば、無事インストールは完了しているはずです。
無事インストールされたか確認してみましょう。
下記コマンドで、PHPのヴァージョンが確認できます。

#php -v

上の画像のようにバージョンが表示されればインストールは完了しています。
これでPHPのインストールは完了です。
※今回はPHP5.3.3をインストールしました。
 他のバージョンのPHPをインストールする場合はそのパッケージを探してくる必要性があります。

Apacheのインストールもそうでしたが、
とても簡単ですね!

続いて、Mysqlのインストールを行っていきます。
こちらもPHP、Apache同様スムーズにインストールができます。
下記コマンドを実行して下さい。

#yum -y install mysql-server

インストールが完了すると、下の画像のようなログが流れます。




このようなログが流れれば、無事インストールは完了しているはずです。
無事インストールされたか確認してみましょう。
下記コマンドで、Mysqlのバージョンが確認できます。

#mysql –version

次回Mysqlを自動で起動するように設定をしておきます。
下記コマンドで設定できます。

#ckconfig mysqld on

PHP、Mysqlまでインストールが完了し、上記設定をしたら一度Vagrantを再起動しましょう。

#vagrant reload

再起動が完了したら管理者権限に切り替えます。
Mysqlが起動しているか、確認してみましょう。
下記コマンドで確認できます。

#service mysqld status

上記画像のようになっていればオッケーです!

では簡単なphpファイルを作成して、実行してみましょう!!
下の画像のように前回作成したフォルダまで移動し、
index.phpファイルを作成します。
※前回作成したindex.htmlファイルは削除して下さい。
 ディレクトリ配下で下記コマンドで削除できます。

 #rm index.html

#vi index.php

上記コマンドでファイルを編集し保存します。
※ファイル編集画像を保存し忘れたため、簡単に補足致します。
 viでファイルを開いた際に「i」を押すとinsert modeになり、ファイルに記述することができます。
 記述が終了したら、「:wq」で上書き保存されファイルを閉じることができます。
 ちなみに私は今回も「Hello Vagrant World」を表示するように書きました。

Webブラウザからアクセスして確認してみます。
http://192.168.33.10/testで確認することができると思います。

上のような画像がWebブラウザに表示されればおっけーです!

これでPHPとMysqlのインストールが終了しました!!
次回はサーバーの設定とWebサイトを作っていこうと思います!!

ではこの辺で失礼します。


ECサイト構築はこちら


ホームページ製作はこちら

formats

広告の背景にVASTあり

こんにちは。

突然ですが、「VAST」という言葉をご存知でしょうか?

YouTuberという言葉が流行りだすと共にどの動画を見てもたくさん広告が映るようになって、いち視聴者としては正直うんざりなことにもなっていますが、YouTubeに限らず広告表示の背景には多くこの「VAST」というものが使われています。

今回はこの「VAST」を紹介したいと思います。

VASTは簡単に言うと、広告表示に関する情報をまとめたXML形式のデータです。
「Video Ad Serving Template」の略で、Interactive Advertising Bureau(IAB)というアメリカのWeb広告業界の団体が策定しました。

このXML、中身を覗くとこんな感じのものが定義されています↓

  • 広告の動画や画像のURL
  • 広告をクリックした時の飛び先のURL
  • 広告が表示されたことをサーバに通知するためのURL
  • どこまで再生されたか等のトラッキングのためのURL

実際の中身としてはこんな感じです↓
VASTサンプル

この中で、「Linear」「NonLinear」「Companion」と3つ出てきますが、これは何でしょう?
広告にも種類があって、

  • 「リニア広告」は、テレビCMのように本編動画の始まる前、再生の途中、終わった後に画面が切り替わって流れるもの
  • 「ノンリニア広告」は、バナー広告のように本編動画に被さるようにして表示されるもの
  • 「コンパニオン広告」は、本編動画とは被らない画面上の別な場所に表示されるもの

の3つが定義されています。

普段よくYouTubeを観ている方は、どれがどの広告なのかわかるかと思います。

このように、動画を再生するプレイヤーに対し「何の広告を、どのリソースを使って表示し、解析やトラッキングはどうするか」を示したのが「VAST」ということになります。

例えば本編開始前に広告を一本流したい場合なんかは、

  1. プレイヤーから広告サーバに対し、リニア広告のVASTをリクエストする
  2. VASTを解析して、広告動画を再生しつつトラッキング情報を投げたりする
  3. 広告が終わったら本編の再生を開始する

といったことをします。

ところで、この「VAST」を使うと何が嬉しいのでしょうか?

VASTは先のIABを中心に、多数の広告ベンダー、動画配信プラットフォームのBrightcoveや、Google(YouTube)、Microsoft、Yahoo!など、多くの主要企業が仕様策定に協力しています。

要するに、例えば広告付きのプレイヤーを作りたい場合、または広告配信サービスを行いたい場合、このVASTを採用すればそれだけで多くの広告ベンダーやサービスに対応できてしまうということです。

また、VASTは広告表示に関するものだけを定義したものですが、これを複数所持しプレイリスト形式にした「VMAP」や、プレイヤーと広告の相互通信を可能とするAPIを定義した「VPAID」といった仕様も用意されています。

今後ますます動画広告の世界は熱くなってくると思いますので、「VAST」という言葉は覚えておいて損はないと思います。

それでは!

弊社の開発実績はこちらです。

Tags: ,