表1. 言語別スピンアップ計測 体感的には大きな違いはないと思いますが、GO言語のスピンアップはPythonやPHPよりも優れていることがわかると思います。 開発環境は何を選ぶべきか 開発環境には人それぞれ好みがあると思いますが、技術系知識の共有サイトで有名なQiitaでIDEに関する記事の割合を見てみたところ、「IntelliJ IDEA」を利用しているユーザが多いように思います。 現状GOの開発をおこなう場合はIntelliJ IDEAがスタンダードのようですので、はじめてGO言語に触れる方にはIntelliJ IDEAのご利用をお勧めします。ちなみにIntelliJ IDEAでGOの開発環境を構築するための記事はQiitaに多く投稿されておりますので、ぜひそちらを参考にしてください(※4)。 ※4 個人的には以下の記事がオススメです。 http://qiita.com/kaiinui
本日 Google 社で開催された Polymer コードラボ。 私はオンラインでの参加でした。 いろんな資料が出てきたので今後の勉強のためにもまとめ。 動画 こちらの Google+ ページで見られます。 ログイン - Google アカウント コードラボで使用した資料 アジェンダ https://docs.google.com/presentation/d/143UXkUDIOUrRtHrbEXGfUw0tomnXyIjHlX3R9abPQco/edit Polymer の基礎 by あんどうやすしさん(@technohippy) https://docs.google.com/presentation/d/1N5Oe8dspp71Bc2JLQ2BMcrN5KV0pdHixcV1m66GbQuA/edit コードラボ http://itshackademic.com/codelabs?
GAE/Goでもローカルサーバで本番環境に近い状態でテストしたい! と、思ったので、色々設定してテストコードを書いたので、メモを残しておこうと思います。 公式のドキュメントにも詳しく書かれていますが、自分用メモということで。 そもそもContextはaetest.NewContext()で作らないと異常終了する 公式のコードを見ればわかりますが、GAE/Goでは、appengine.Contextを使ってAPIを呼び出します。が、Controllerでappengine.NewContext()を呼び出すと、テスト実行時に異常終了してしまうので、実際にコードを書くときは、引数にContextを受け取るようにしなければいけません。 この辺の問題を解決するのは大変だと思いますが、とりあえず、私のパターンをメモしておきます。 package controller import ( "appeng
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はデータストアを取り上げたことに続いてタスクキューについてです。 Go言語版のタスクキュードキュメントを参考に見てゆこうと思います。 参考:Go — Google Developers Using Push Queues in Go Pushキューの使い方 in Go アプリケーションによって実行される各タスクは、Task typeオブジェクトです。 タスクオブジェクトはタスクのリクエストハンドラのURL、さらにタスクをパラメータ化するデータ・ペイロードオプションが含まれています。 PushキューはAppEngine環境でのみ使用可能です。 AppEngine外部からタスクにアクセスするには、Pullキューを使用して下さい。 Goアプリのキュー設定にはqueue.yamlを使用します(
完全にアドベントカレンダーの存在を忘れて遅れてしまいました。 関係者各位様本当に申し訳ございません。。。。 ということで。 今年のAdvent CalenderはGAE/Goネタが多いですね、とても素敵です。 願わくば早くβの文字が外れてほしい限りです。 今回はGAE/GoのDatastore周りを楽にするgoonの紹介をしたいと思います。 ちょこちょこ昔書いたQiitaにも登場させているのですがあまーつ使っている人を見たことがないので... GAE/Goの標準Datastoreパッケージとちょっとした不満 GAE/GoのDatastore周りは、appengine SDKのdatastoreパッケージが結構素敵で、 structを定義すればかなり簡単にDatastoreを扱うことができます。 //GAE/Goのdatastore周り //https://cloud.google.com/
There is little information on how to schedule a Task Queue to a Backend in Google App Engine in Go. In TQ's Reference we can read: // Additional HTTP headers to pass at the task's execution time. // To schedule the task to be run with an alternate app version // or backend, set the "Host" header. Header http.Header But there is no explanation on what to really set the "Host" to. In Backends' Over
ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基本的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un
アマチュアですがプログラミングが好きで、特にGoogle App Engineであれこれ試しています。 登場時こそ大きな注目を集めたGoogle App Engineですが、癖が強く、価格改定などの紆余曲折もあって、EC2などAWSと比べると、最近まで随分下火になっていました。 それがGoogleのクラウドプラットフォーム戦略強化や、大きめの成功事例も出始めたことで、ここ数ヶ月、また注目されはじめているように感じます。 Google App Engineの魅力として一番に挙げられやすいのが、無料でも使える点です。 本来はスケール性こそ最大の魅力ですが、やはり無料枠の存在は大きいです。 無料で使い始められるからこそ、私のような資金の無い個人でも色々試せますし。 しかし無料で収まるような小さな用途であれば、格安のVPSなどを小分けにして使った方が、開発にPaaS的な制約もなく、ロックインもされ
ちょいメモ。 ローカルで Google App Engine の開発をしていて、dev_appserver.py で起動した開発サーバーに iPhone などのスマートフォンでアクセスする方法。 こちらの記事が非常に参考になります。 Blogger 前提 Google App Engine / Python を利用 PC と iPhone は同じネットワークに接続している 方法 接続しているネットワークの IP アドレスを確認する dev_appserver.py を --host=0.0.0.0 オプションつきで実行する iPhone で http://[1 で確認したIPアドレス]:8080 にアクセスする 補足 1 について mac で システム環境設定 > ネットワーク を開いてもいいし、ターミナルで ifconfig コマンドを実行しても確認できるほか こちらの記事による方法も参
が出ました。 ローカルで開発する時のデータファイルをわかりやすい位置に置いておこうと思って $ mkdir ~/gae_datastore $ dev_appserver.py --datastore_path=~/gae_datastore [GAEプロジェクト] を実行すると、次のようなエラーが。 INFO 2014-09-05 14:41:45,323 sdk_update_checker.py:229] Checking for updates to the SDK. Traceback (most recent call last): File "/usr/local/bin/dev_appserver.py", line 82, in <module> _run_file(__file__, globals()) File "/usr/local/bin/dev_appserv
一時的には保存されるのですが、 再起動などをすると、保存したエンティティが削除されていました。 で、下記が参考サイト。 http://wiki.livedoor.jp/currencybuilding/d/Google%20App%20Engine%A4%C7%A5%C7%A1%BC%A5%BF%A5%D9%A1%BC%A5%B9%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%EB 上記にあるとおり、google_appengine\dev_appserver.pyを引数なしで実行したところ、下記のように表示されました。 --datastore_path=DS_FILE Path to file to use for storing Datastore file stub data. (Default /tmp/dev_appserver.datastore) デフォル
=== 追記 2019/3/9 === 2019年のやりかたで書き直しました。 本番のCloud Datastoreのデータを、ローカル環境にインポートする - Qiita === 追記終わり === 試験データを作成するのが面倒だったので、ダンプしてローカルで利用しようと思い、 ググったら出てきたので、メモ。 (下記、appname=my-android-server です。) 基本的には、 http://kopipeprogrammer.blogspot.jp/2011/02/google-app-engine-bulk-loader.html を参考に、 https://developers.google.com/appengine/docs/python/tools/uploadingdata?hl=ja を参照しました。 実際に欲しかったのは、全てのデータだったので、 built
Google Proxy Hacking とは?簡単に言うと他人のサイトを自分のサイトのようにGoogleBotにクロールさせる/させてしまうことによっておきる迷惑行為です。調べた限りでは、Google検索においてバグが存在し、そのバグを理解したものが悪用している・・?そんな感じのようです。 Proxy Serverがもつウェブコンテンツをキャッシュする機能と、それを処理するGoogleのアルゴリズムのバグが原因となって、Website Hacking(ウェブサイトの乗っ取り)が発生する可能性があるのです。 引用元:Google Proxy Hacking(グーグル プロキシ ハッキング)-あなたのページが乗っ取られる? Proxyってなに?Proxy(プロキシー、プロクシ、串(くし))とは、あなたの代わりに何かを代行してくれるものことです。WebProxyとなると、あなたとアクセス先のW
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 前回のDatastoreのエンティティ操作に引き続き、今回はQueryについてGoでの基本的な取り扱い方を見ていきます。 参考:Go — Google Developers Datastore Queries Query 次のコードはGoでのクエリを使用した一般的な例です。 Filter(),Order()といった下記で説明している機能も使用しています。 クエリの結果として取得されるエンティティは、GetAll()に渡したスライスに格納されます。 c := appengine.NewContext(r) q := datastore.NewQuery("Person").Filter("LastName =", "Voski").Filter("Height <=", 200).Order
GAE/J+Slim3の語彙・知識を元にここに解説を書く。 GAE/Goの知識とGo言語の知識が混ぜこぜで書かれているかあまり気にしてはいけない。 以下の調査結果を得るためのテストコードはここに置いた。 EntityにKeyは付属してこない structを定義する時に、そのstructに自分自身のKeyを持たせる方法はない。 EntityにIdまたはNameを自分で定義して、Putする時、Getした後にそこに忘れずにId, Nameを取り出したり移し替えたりして頑張る。 これを自動でやってくれるライブラリがgoonである。 IncompleteKeyはPutした後でも値は変わらない key := datastore.NewIncompleteKey(c, "Test", nil) newKey, err := datastore.Put(c, key, foo) // keyはIncomp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く