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
とする
- Output 側は
WebRTC 003
前回の記事からもう1年以上たちました。
完全に手をつけていない。
ホントだめな子です。
TwitterとかFacebookでは書いたのですが、このブログに書いていなかったことがあります。
NTT Comさんが便利なものを出してくれました。
これ→SkyWay - WebRTCを簡単&柔軟に使えるプラットフォーム
使ってみたーい・・・・ってより使わないでちょっとした動画チャットサイトを作って観たいです。。。。
LiveChatみたいな。
男性が女性と動画チャットで「むふふ!」ってするあれですね。
いや、あれを作るわけではなくて、テストがてらあんな感じのを作ってみようと思います。
タイミングよく、来週からとくにすること・・・きっと嫁(仮)につれまわされるんだろうな~・・・はぁ
いや!来週からすることはないので作ってみたいと思います。
ってか、仕事だと思って作ります。
・・・仕事なんだ!きっと!
参考URL
WebRTCを仕組みから実装までやってみる | ブログ :: Web notes.log
VB.NETでpingをとばす際に気を付けなければならないこと
お久しぶりです。
まぁ、定期的にみるブログでもないでしょうからささっと内容に
最近VB.NETで開発をしています。
その中で面白い動きをするメソッドを見つけました。
こいつ
結論から言うと、コマンドプロンプトでpingが返ってくるのに
こいつを使うと返ってこないことがある
というものです。
以前から存在は確認していましたが、
そもそもVB.NETを使う機会がなかったですし、
C#でVBのやつを使うの面倒&そんなの使わなくても実装できるので
まぁ、今回もいろいろな理由があって使っている個所がありました。
(自分が書いてないけどね)
そしてこいつが曲者でした。
先ほども上げたように、コマンドプロンプトからのpingと結果が違う
さて、ここからどういった場合に返ってこないのかと考察とかです。
このメソッド、便利に見えます。
だって、pingを返してくれなかったらFalseを返してくれて、
返してくれたらTrueを返してくれる。
何ともシンプル
しかし、そこに罠があるとは・・・・
ある環境でこのメソッドでlocalhostでpingを投げると返ってきます。
当たり前ですね。
しかし、またある環境でこのメソッドでlocalhostにpingを投げると返ってきません。
なぜでしょう?
なんとネットワークアダプタが有効でなかったり、ネットワークアダプタがネットワークに参加していない時、このメソッドではpingがあたかも帰ってきていないようなFalseになるのです。
これ作ったやつ出てこい!
って感じですね。
そもそもこのメソッドはうんこです!
すみませんん!つい本音が
解説に何やら書いてますね。
ですが、そんなことまで読み取れません。
困ったものです。
そして、この親オブジェクトの配下にはほかにIsAcailableというプロパティがあります。
My.Computer.Network.IsAvailable プロパティ
こいつもおなじような感じでしょうかね?
ちなみにネットワークに接続されていない時でもlocalhostにpingを投げた際にTrue・・・ではないですが、返ってきたよ!と知らせてくれるメソッドはあります。
Ping.Send メソッド (System.Net.NetworkInformation)
こいつでちゃんとどういったpingの応答が返ってきているか分岐して詳細を見て、判断して法がいいでしょう。
True&Falseで返してほしいならPing.Sendメソッドを自分のクラス、メソッド内で使用してTrueFalseを返すメソッドを作ってしまいましょう!
サンプルないのかって人はググって下さい
こういうのとか出てきますので
Pingを送信する: .NET Tips: C#, VB.NET
javascript Array.forEachがIE8で使用できない時の対処法 (IE8以外の.forEach対応していないものを含む)
なんか他のブラウザではエラー出なかったのにIE8でエラー出た・・・
javascriptエラー!
・・・え・・・
連想配列をくるくる回すときにforEachを使っているのが問題のようでした。
調べてみると「forEach」のつかは最近だとか。
ここで「最近」っていつなんだろうとか思いつつ、IE8は対応していないようです。
そしてこちらにちゃんと対応方法が載っていました。
Array.forEach - JavaScript | MDN
上記ページの「互換性」の下の文章の後にあるコードをコピペでforEachが使えるようになります。
他のブラウザ(Chrome, FireFox)でも使えたのでエージェント分けとかはしなくていいみたいです。
ま、上記のページに書いているように「ECMA-262 第 5 版で定められたアルゴリズムと全く同じものです」と書いているので問題ないでしょう。
そういえば他のことについてもこんな感じで載ってたな。。。
IE8だけでスクリプトエラー出るときなんかはMDNのページで検索るといいかもしれませんね。