Microsoft has a fix for preventing the next CrowdStrike fiasco, but is it a good one?Maybe giving security firms access to the Windows isn’t the best idea, but freezing them out could be worse.
![United States](https://cdn-ak-scissors.b.st-hatena.com/image/square/24ce73e8891d34a55f79965f4ba13ae7f8568fbe/height=288;version=1;width=512/https%3A%2F%2Fwww.computerworld.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fcw-share-image.jpg%3Fquality%3D50%26strip%3Dall%26w%3D1024)
「なんでも判定ツクール」へ多数のアクセスありがとうございますm(_ _)m 1月末にリリースした当初は僅かのアクセスだったのですが、Twitterで火が付いてからは一気にアクセスが集まり、気が付けば2月1日〜2月16日で4,000,000PVを超えました。 自分では絶対に考えつかないであろうユニークな判定がたくさんできて、私自身もとても楽しんでいます:-D(面白い発想をする人は世の中にたくさんいるものです) このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。 無料?課金? まずはじめに大事なこと。 「なんでも判定ツクール」ではGAEを課金状態にしています。無料のQuotaではとてもではないですが、このアクセスは捌けません:D GAE公式サイトには 月間約 500 万ページ
Google App Engineだと、30秒制限があって長い処理が書きにくいのですが、タスクキューは処理中に例外が発生したり30秒制限にひっかかったりすると自動的に呼び直されるので、これを使って長い処理を実行することができます。 ということは知っていたんだけど、実際どうなのかと思って試してみた。 まずこんなサーブレット書きます。 ※GAE/JはServlet3.0に対応してないので、@WebServletアノテーションは擬似コードだと思ってください。 5秒に一回QueueTestに現在値を記録するという処理を行うループを20回繰り返します。5秒×20=100秒 >> 30秒なので、確実にタイムアウトします。 タスク開始時の値をQueueLogに記録しておきます。 @WebServlet(urlPatterns="/queue/testqueue") public class TestQu
Google Docsのオンライン・ファイルストレージ機能 先日、Google Docsにオンライン・ファイルストレージ機能を追加するという発表があった。画像・動画、ZIPファイルなどあらゆる種類のファイルをGoogle Docsで保管でき、アップロードしたファイルは検索機能や共有フォルダ機能の対象にもなる。アップロードできるファイルのサイズは1つにつきMAX250MB※までだが、全体の容量の制限はなく、1GBまでは無料である。それ以上は追加で購入できる。ストレージの値段は、現時点で20GBが5ドル/年だが、Google Apps Premier Editionユーザーに対しては、1GB=3.50ドル/年で今後数ヶ月以内に提供する計画とのこと。 (※ MAX1Gに変更された。2010/1/28) Documents List API: Upload any file and more (1
http://code.google.com/intl/ja/appengine/docs/java/config/cron.html#Securing_URLs_for_Cron (要約)cron対象のURLへのアクセスを管理者権限必須とすれば、ユーザからのアクセスを防止できるお! 動かぬ……discussion forumとissue trackerを調べてみる。 Issue 1299: Cron tasks targeting "admin" protected servlets fail (要約)管理者権限必須にしちゃうとcronに失敗するお! ニャー!! ドキュメントに書いてることは実装されてて欲しかった! 弊社製品かよ! 他にも、拙者はIssue 1255: XPathFactory newInstance() fails on App Engine(要約:XPathが使えない
Python æ¦è¦ CGI ç°å¢ ãã¼ã¿ã®æ ¼ç´ æ¦è¦ ã¨ã³ãã£ãã£ã¨ã¢ãã« ãã¼ã¿ã®ä½æãåå¾ãåé¤ ãã¼ã¨ã¨ã³ãã£ã㣠ã°ã«ã¼ã ã¯ã¨ãªã¨ã¤ã³ããã¯ã¹ ãã©ã³ã¶ã¯ã·ã§ã³ åã¨ãããã㣠ã¯ã©ã¹ GQL ãªãã¡ã¬ã³ã¹ ãªãã¡ã¬ã³ã¹ Model Expando PolyModel Property Query GqlQuery ãã¼ é¢æ° ä¾å¤ ãµã¼ãã¹ Memcache æ¦è¦ Memcache ã®
Memcache Java API 概要 高パフォーマンスでスケーラブルな Web アプリケーションでは通常、一部のタスクに、強力な永続性ストレージより前に、あるいはその代わりに分散型インメモリ データ キャッシュを使用します。 App Engine にメモリ キャッシュ サービスが含まれているのはそのためです。 JCache を使用したデータ キャッシュ メモリ キャッシュを使用する場合 キャッシュされたデータの期限切れ 割り当てと制限 JCache を使用したデータ キャッシュ Memcache Java API は、JSR 107 に記述されたドラフト標準である JCache インターフェース(javax.cache)を実装しています。JCache はキャッシュされたデータへのマップのようなインターフェースを提供します。キーを使用し、キャッシュへの値の保存およびキャッシュからの値の取
Scheduled Tasks With Cron for Java The App Engine Cron Service allows you to configure regularly scheduled tasks that operate at defined times or regular intervals. These tasks are commonly known as cron jobs. These cron jobs are automatically triggered by the App Engine Cron Service. For instance, you might use this to send out a report email on a daily basis, to update some cached data every 10
TaskQueueで分散処理した結果をまとめるときは、排他を考慮する必要があります。Datastoreを使う場合なら、単に結果を新規エンティティとして追加したり、エンティティグループの楽観排他を使ったりすればOKです。一方、やっぱりMemcacheでスピーディーに集約したいよ、という場合は、Memcache上で排他を実装する必要があります。以前のエントリにちょろっと書いたMemcacheService#incrementでスピンロックという方法について説明してほしいというコメントをid:miztakaさんよりいただいたので、ここに改めて書きたいと思います。 Memcacheでは排他制御が必要 ご存じのとおり、App Engineはデフォルトで複数のApp Serverによるクラスタが構成されており、またMemcacheサービスはクラスタ全体で共有されるグローバルなキャッシュとして機能します
GAE/Jでwikipediaの検索結果をMemcache APIを利用し検索結果やCachestatisticsを表示してみました。 http://yone098.appspot.com/ JSR107は、どスルーだったのですがこれを機に少し見てみたいと思います。 同じキーワードならMemcacheを使っていて、数倍の速度が体感出来ます。 JCacheの使い方は非常に簡単なので、暇な人は試してみると良いと思います。 Map<Integer, Integer> props = new HashMap<Integer, Integer>(); // cahceのexpire設定 props.put(GCacheFactory.EXPIRATION_DELTA, 3600 * 3); CacheFactory cacheFactory = CacheManager.getInstance().
先週末、ちょっとしたプログラムをGAE/Jで動かして実際に使ってもらってみたのですが、そうすると、いままでテストでちょこちょこやってたときには全部のDaily Quotaが0%だったものが、数%の数字を示すようになります。 これを、ちゃんとプロモーションして多くの人に使ってもらおうとすると、課金が発生したり制限にひっかかったりしそうです。 で、たとえばDatastore APIの呼び出し回数がヤバいとして、API呼び出しを減らすためにキャッシュしようとすると、MemcacheのほうのAPI呼び出し回数がヤバくなってきます。 で、じゃあということでデータストアにデータを置くようにすると、保存量の制約で課金がかかってきます。で、それならと、データストアに置くのはシリアライズしたデータにしてデータ量が最低限になるようにすると、今度はその処理をするためのCPU時間で課金がかかってきます。 コードを
Google AppEngineではBigtableの上にDatastore Serviceが構築されていて、開発者は、このDatastore Serviceを利用してBigtableにアクセスすることになります。このDatastore ServiceはPython版もJava版も機能はほとんど同じです。もしかすると、全く同じものかもしれません。 GAE/Jの場合、JDOを通じて、Datastore Serviceを利用するのが推奨されていますが、実はこれが嵌りポイント。 JDOは汎用的なインターフェースなので、Datastore Serviceを理解するのには向いていません。Datastore ServiceがRDBMSのような高機能なら、JDOを通じて抽象化し、Datastore Serviceのことは知らなくても済すのもぜんぜんありなのですが、残念ながら、そうなってはいません。 Da
slim3では、Controllerにて入力チェックを行う[Validators]が用意されています。 使い方については、公式サイトを参考にしてください。 ここで、[Validators]にはSAStrutsの検証用アノテーションにあったような 正規表現による入力チェックが実装されていません。 そこで、[Validators]の入力チェックを拡張します。 作成ファイル 1. チェック処理を行うValidatorクラスを作成します。 MaskValidator.java public class MaskValidator extends AbstractValidator { /** 正規表現パターン */ protected String pattern; /** * コンストラクタ * @param pattern 正規表現パターン */ public MaskValidator(St
先日、友達の会社の勉強会で「初めてのGAE/J開発」というタイトルの発表をさせていただきました。準備不足や時間配分のミスがあったため、後半飛ばしぎみになって申し訳ありませんでした。 GAEの制限ばかりを強調しすぎて逆に使えないような印象をもってしまったかもしれませんが、決してそんなことは無いと思います。(だから、私もいまGAEに注目しているわけですし。)特にBigtableは今までとは違った考え方が必要なので、これまでのRDBのように考えるとうまく行かないのは間違いありせん。(私も何度も悩まされました。いや、今もですが。) しかし、だからといってそれはやり方の問題であって、そのままGAEが使えないという理由にはならないはずです。BigtableにはBigtableのやり方が必ずあるはずです。また、WikipediaやTechCrounchによると、GoogleのたくさんのサービスがBigt
プログラミングや、コンピュータなどの備忘録です。 主にRuby, Java, Linux, 等を扱います。アルゴリズムも扱いたいな。 GAE/Jで開発をしていると、どうしてもXMLを操らなきゃいけないときがあります。開発機でRomeを使って動いたぞと思って本番環境にデプロイしても動作しません。下のような例外が発生してしまいます。 Could not load default SAX parser なんて言われてしまいます。これを解決するにはxercesの次のjarが必要になります。 serializer.jarxercesImpl.jaxercesSamples.jarxml-apis.jar これでも実はまだ足りません。XPathを使おうと思っても、xercesにはXPathのAPIは用意されておらず、 XPathFactory.newInstance() 上のようにするとやはり例外が発
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Slim3の正式リリースは、来年の一月くらいになりそうですが、ドキュメントも最低限のものはそろったので、今の段階のものをPreview版として紹介しておきます。 サイトへは、http://slim3.org でアクセスしてください。 Getting Startedをやり、Slim3 Datastoreのドキュメントを読み、Online demoをみれば、Slim3のことは把握できるようになっています。 Oneline demoからソースも見れるようになっているので、動かしながらソースを確認することができます。Online demoは、IE6で見るとレイアウトが崩れていますが、これはIE6を使うなというメッセージということで。(IE7,8では未確認) Slim3は、Google App Engineに対して最適化されています。 例えば、最近、App Engineで問題になっているのは、spi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く