目指せ非プログラマー

もう何でもごじゃれ言語

Gogland EAP で appengine がない時

Go Gogland (1.0 Preview) 1.0 EAP で開発しようとして、

import {
    "appengine"
}

したら、 appengine がないと言われた。。。

appengine のライブラリがないからなんだなぁ。 path 通すかと思って探したけど、ローカルになさそう。。。

なぜ〜。

GAE ローカルで動いてるんだけどなぁ。

ちょろちょろ調べると、 google.golang.org/appengine に変わったらしい。 けど、ローカルにないしなぁ。

ちょっと調べると、 Go のパッケージのインストールが必要みたい。

Go のこと知らないで適当に開発してたから、その辺全然知らなんだ。。。

以下のコマンドで対象のパッケージはインストールできます。

go get google.golang.org/appengine/cmd/aefix

詳しくはこちらを御覧ください

あとは import 文を変えるだけ

import {
    "google.golang.org/appengine"
}

メモ:Google Cloud (gcloud) で個人的によく使うコマンド

設定の一覧表示

gcloud config configurations list

設定の有効化

gcloud config configurations activate conf-name

Googleログイン

gcloud auth login

ログイン情報を削除する

gcloud auth revoke --all

プロジェクトの切り替え (project-name)

gcloud config set project project-name

現在の設定状況表示

gcloud config list

Angular2 で Input と Output で関連付ける(メモ)

メモ程度にさっと

CustomComponent に値を受け渡して変更を取得したい場合

呼び出し側の html

<app-hoge-comp [(hogeArg)]="arg"></app-hoge-comp>

CustomComponent側

_hogeArg: string = null;
@Output() hogeArgChange: EventEmitter<string> = new EventEmitter<string>();

@Input()
set hogeArg(arg: string): void {
  if (this._hogeArg !== arg) {
    this._hogeArg = arg;
    this.hogeArgChange.emit(this._hogeArg);
  }
}

get hogeArg(): string {
  return this._hogeArg;
}

注意点

  • 命名規則
    • Output 側は [Inpout property name]Change とする

WebRTC 003

前回の記事からもう1年以上たちました。

 

完全に手をつけていない。

ホントだめな子です。

 

TwitterとかFacebookでは書いたのですが、このブログに書いていなかったことがあります。

 

NTT Comさんが便利なものを出してくれました。

 

これ→SkyWay - WebRTCを簡単&柔軟に使えるプラットフォーム

 

使ってみたーい・・・・ってより使わないでちょっとした動画チャットサイトを作って観たいです。。。。

 

LiveChatみたいな。

 

男性が女性と動画チャットで「むふふ!」ってするあれですね。

 

いや、あれを作るわけではなくて、テストがてらあんな感じのを作ってみようと思います。

 

タイミングよく、来週からとくにすること・・・きっと嫁(仮)につれまわされるんだろうな~・・・はぁ

いや!来週からすることはないので作ってみたいと思います。

 

ってか、仕事だと思って作ります。

 

・・・仕事なんだ!きっと!

 

参考URL

WebRTCを仕組みから実装までやってみる | ブログ :: Web notes.log

 

 

またニート

新年度からとある理由で転職いたしました。

ただ住む場所を変えただけ・・・

そして、新天地で働き始めましたが・・辞めました!

 

またニートです。

 

 

少し前にもニートでした。

 

 

いや、働く気があるのでニートではないのかもしれませんが

 

はたから見ればニートです。

 

 

ですが、そんなことはどうでもいい!

 

フリーなのでいろんなことに首突っ込んで楽しんでいきたいと思います!

VB.NETでpingをとばす際に気を付けなければならないこと

お久しぶりです。

まぁ、定期的にみるブログでもないでしょうからささっと内容に

 

 

最近VB.NETで開発をしています。

その中で面白い動きをするメソッドを見つけました。

 

My.Computer.Network.Ping メソッド

 

こいつ

 

結論から言うと、コマンドプロンプトpingが返ってくるのに

こいつを使うと返ってこないことがある

というものです。

 

以前から存在は確認していましたが、

そもそもVB.NETを使う機会がなかったですし、

C#VBのやつを使うの面倒&そんなの使わなくても実装できるので

 

まぁ、今回もいろいろな理由があって使っている個所がありました。

(自分が書いてないけどね)

 

そしてこいつが曲者でした。

 

先ほども上げたように、コマンドプロンプトからのpingと結果が違う

 

さて、ここからどういった場合に返ってこないのかと考察とかです。

 

 

このメソッド、便利に見えます。

だって、pingを返してくれなかったらFalseを返してくれて、

返してくれたらTrueを返してくれる。

 

何ともシンプル

 

しかし、そこに罠があるとは・・・・

 

ある環境でこのメソッドlocalhostpingを投げると返ってきます。

 

当たり前ですね。

 

しかし、またある環境でこのメソッドlocalhostpingを投げると返ってきません。

 

なぜでしょう?

 

なんとネットワークアダプタが有効でなかったり、ネットワークアダプタがネットワークに参加していない時、このメソッドではpingがあたかも帰ってきていないようなFalseになるのです。

 

これ作ったやつ出てこい!

って感じですね。

 

そもそもこのメソッドはうんこです!

すみませんん!つい本音が

 

解説に何やら書いてますね。

ですが、そんなことまで読み取れません。

困ったものです。

 

そして、この親オブジェクトの配下にはほかにIsAcailableというプロパティがあります。

My.Computer.Network.IsAvailable プロパティ

 

こいつもおなじような感じでしょうかね?

 

 

 

ちなみにネットワークに接続されていない時でもlocalhostpingを投げた際にTrue・・・ではないですが、返ってきたよ!と知らせてくれるメソッドはあります。

 

Ping.Send メソッド (System.Net.NetworkInformation)

 

こいつでちゃんとどういったpingの応答が返ってきているか分岐して詳細を見て、判断して法がいいでしょう。

 

True&Falseで返してほしいならPing.Sendメソッドを自分のクラス、メソッド内で使用してTrueFalseを返すメソッドを作ってしまいましょう!

 

サンプルないのかって人はググって下さい

 

こういうのとか出てきますので

 

Pingを送信する: .NET Tips: C#, VB.NET

 

 

 

つーか、大学時代の後輩がping関連メソッド役に立たねーって言ってた気がする・・・

javascript Array.forEachがIE8で使用できない時の対処法 (IE8以外の.forEach対応していないものを含む)

なんか他のブラウザではエラー出なかったのにIE8でエラー出た・・・

 

javascriptエラー!

 

・・・え・・・

 

連想配列をくるくる回すときにforEachを使っているのが問題のようでした。

調べてみると「forEach」のつかは最近だとか。

 

ここで「最近」っていつなんだろうとか思いつつ、IE8は対応していないようです。

 

そしてこちらにちゃんと対応方法が載っていました。

 

Array.forEach - JavaScript | MDN

 

上記ページの「互換性」の下の文章の後にあるコードをコピペでforEachが使えるようになります。

他のブラウザ(Chrome, FireFox)でも使えたのでエージェント分けとかはしなくていいみたいです。

ま、上記のページに書いているように「ECMA-262 第 5 版で定められたアルゴリズムと全く同じものです」と書いているので問題ないでしょう。

 

そういえば他のことについてもこんな感じで載ってたな。。。

 

IE8だけでスクリプトエラー出るときなんかはMDNのページで検索るといいかもしれませんね。