[windows] Chrome を Program Files にインストールする リンクを取得 Facebook × Pinterest メール 他のアプリ 8月 27, 2010 Google Pack で Chrome をインストールすると C:\Program Files に入る。さらに、beta, dev channel を御希望の方は レジストリを変更する方式 でOK 2012/10/30 追記 Google Pack は終了しましたが以下の方法で引き続き全ユーザー用にインストールできます。 Google Chrome を複数のユーザー アカウントにインストールする リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
[linux] ping は通るのに No route to host と言われる 9月 27, 2012 ping による疎通は確認できるのに、いざ ssh などで繋ごうとすると No route to host というエラーで即座に接続失敗し途方に暮れる場合、おそらく原因は接続先のホストの iptables によりパケットがブロックされ、到達不能を意味する ICMP パケットが返ってきたことによります。 以下のコマンドで INPUT ポリシーをチェックします。上から順にマッチさせていき、マッチし次第ジャンプして終わるので、デフォルト条件の設定されていそうな一番下の行が肝心です。 # /sbin/iptables -L --verbose を追加してブロックしているポリシーのカウンタを見ながらブロック状況を観察できます。 # /sbin/iptables -L --verbose おそらく問題となっているのは INPUT ポリシー最下行で全てのパケットにマッチするこういう行です ... -j REJECT --reject-with icmp-host-prohibited 追加の説明 ファイアウォールの良くある動作として、不都合なパケットの受信を単に無視する動作ならタイムアウトとなります。しかしクライアントから見て TCP や UDP でパケットを送信した後、ICMP で Destination Unreachable Message が届いたときは親切にも No route to host と案内してくれるようです。 ちなみに icmp-host-prohibited は ICMP Unreachable Message の コード10 であり、経路上の障害などを調査するためのコマンド traceroute の結果に !X や !10 と表示されるようです。 参考 Man page of IPTABLES traceroute - Wikipedia Internet Control Message Protocol (ICMP) - Wikipedia 続きを読む
ねんきんネットに Gmail などフリーメールのアドレスを設定する 4月 04, 2012 日本年金機構ねんきんネットは現時点ではどういうことかメールアドレスとしてフリーメールが使えません。フリーメールの方がプロバイダのメールや携帯メールのアドレスよりも永続性が高いので、機構側から見ても設定させて不利はない(メールアドレスから身元を割るのが面倒になる?)と思います。また指示通りプロバイダメールなどを入れるとこちらがメールアドレスをアップデートするメンテナンスコストを払うことになるのが面倒です。 そこで良く調べたところドメインのブラックリスト判定が Case-sensitive matching (大文字小文字を区別するマッチング) になっているようなので、うっかりして @gmail.com ではなくて @Gmail.com などと入力すると通過します(2012/4/4時点)。ドメインは大文字小文字は同一視されて解決されるのでメールは問題なく届くはずです(ウェブサービスにはあるまじき変更時の確認メールなしの仕様で、次のお知らせ配信までメールが来ないようなので未確認!)。 日本年金機構はこの誰も得をしない(利用者はメールアドレスをアップデートし忘れないか心配し、年金機構はメールの不達に悩むこととなる)制約をすみやかに外すべきです。 2012/4/6 追記 問題なかったようで、本日無事ねんきんネットからGmail宛にメールが届きました。 2012/7/19 追記 コメント欄での enthumble さんのご指摘の通りこの挙動は修正されてしまったようです。引き続き別の方法が判明しましたら追記します。 2012/9/6 追記 ついに公式に登録できるようになりました! いったん登録した後変更することでフリーメールアドレスに変更できるようです。手元でも @gmail.com のメールアドレスを入力して承認されることを確認しました。匿名さん コメントありがとうございます。 年金Q&A - フリーメールアドレスでは申込みができないのですか。また、入力したアドレス宛に日本年金機構から連絡がくることはあるのですか。 | 日本年金機構 続きを読む
ISUCON12 予選突破しました #isucon 7月 26, 2022 概要 2022年7月23日土曜日に、ISUCON12のオンライン予選が開催され、チーム名 hidekiy で何とか予選突破出来たので、参加記録を残しておきます。 全体指針の検討 最初にざっくりアプリを触ってみて、マルチテナントと沢山のAPIが入り混じっていて大変難しいと思いながら、コードとクエリを確認して明らかに直した方が良さそうな所として、2か所発見しました。 1か所目がMySQL側のvisit_historyで、これは集約して来訪時刻の最小値のみが使用されているため、最小じゃないレコードは不要そうでした。2か所目がSQLite側のplayer_scoreで、スコアの最新値のみが使用されているので、そうじゃないレコードは書き込まなくても良さそうでした。そこで、2か所とも、初期データとアプリの書き込み処理を、どちらも修正する事にしました。 また、SQLiteをMySQLに載せ替えるかという事に関しては、意味深な変換スクリプト (~/webapp/sql/sqlite3-to-sql) が同梱されていた事から、そもそもそういう問題ならこの機能は自力で用意させるはず?とメタ推理し、このルートは大変不審であると考えたので、誘惑に惑わされず、載せ替えは無しで進める事にしました。 visit_historyの改良 visit_historyに関して、初期データを更新 (@k_enokiがいい感じにやってくれました) し、アプリ側でも2件目以降の登録を阻止するために、(tenant_id, competition_id, player_id) でユニークインデックスを設定し、Duplicate Key Errorを無視するコードをアプリ側に追加して、これはスムーズに完成しました。 スコアは初期スコアからほぼ変化なし (4000程度) です。 player_scoreの改良 player_scoreに関しては、初期データを更新するため、~/initial_dataのSQLiteの各ファイルに以下のようなクエリ: delete from player_score where id in ( select id from ( select id, row_number () over ( ... 続きを読む
コメント
コメントを投稿