はじめに 『天才』はつくれる 競技プログラミング同好会競技就活部門 Google は世界最高のプログラミングスクールである 雇用形態と働き方 ソフトウェアエンジニア (SWE) Google でのお仕事 Google の面接の内容 Google の面接の問題の種類 コーディングクイ…
このエントリは、2020年7月5日に受験した、一般財団法人『高IQ者認定支援機構』の高域知能検査『CAMS』の体験談です。試験のヒントやネタバレは極力しないようにしたつもりです。万が一まずい表現を見つけられた方がいらっしゃいましたら、 nodchip@tanuki- …
将棋所で対局中に思考エンジンがクラッシュした場合の原因を調べたいとき、ユーザーモードダンプを収集するように設定しておくと、クラッシュ時に自動的にユーザーモードダンプを特定のフォルダに保存してくれる。メモリダンプはVisual Studioのファイルから…
はじめに この記事はコンピュータ将棋 Advent Calendar 2016 25日目の記事として書かれたものです。 内容は tanuki- WCSC26 版以降に実装されているKPPT評価関数のAVX2による高速化についてです。C91 で頒布予定の『コンピュータ将棋 2016年度課題技術総復習…
Visual Studioをアンインストールしたいとき、本体をプログラムと機能からアンインストールしても関連コンポーネントがアンインストールされずに困ることがある。公式ドキュメントには各コンポーネントを主導でアンインストールするように書かれているが正直…
自宅サーバーのSubversionレポジトリをGitに移行したのでメモ。Gitではデータ転送用のプロトコルとして以下の4種類が使用できる。 Local Secure Shell (SSH) Git HTTP 自分は自宅サーバーに既にセットアップしてある環境を再利用するため、SSHを使用すること…
コマンドを忘れてしまっていたので備忘録として。 sudo apt-get autoremove リンク 不要になったパッケージを削除してくれる、autoremove - UNIX的なアレ http://wadap.hatenablog.com/entry/20080109/1199891111
deb mirror://mirrors.ubuntu.com/mirrors.txt vivid main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt vivid-updates main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt vivid-backports…
自宅サーバーのMySQLのテーブルが壊れ、SELECT文で書き込まれていないはずの値が返ってきたり、mysqldumpが途中で停止しまったりするようになってしまいました。修復した時のメモを残しておきます。 データベースのバックアップを取る $ sudo service mysql …
etc9さんの"心地良すぎるモックライブラリ Mockito"がとても勉強になったので、似たような形式でGuiceの紹介をしてみます。 Dependency Injection きちんと勉強したわけではないので間違っていたらごめんなさい。Dependency Injection (DI)はユニットテスト…
GuiceBerryの目的と使い方が分かった気になったので備忘録として書いてみる。GuiceBerryはGuiceを使用しているコードツリー内で、JUnitやTestNGを使用して結合テストを書いている場合、テスト内でのインスタンスの生成の補助をしてくれるライブラリっぽい。…
C83で入手したThe Database Times Vol. 2で@zembutsu氏が紹介されていたサーバー監視ツール"munin"が気になったので試してみた。munin-nodeがサーバーの情報を集めて、muninがvisualizeをするらしい。Ubuntuには標準でmuninのパッケージが用意されているよう…
今までQMACloneはTomcat6に付属のHTTP Connectorを使用してhttpをサーブしていた。つい先日、httpのサーブはApacheを使用し、AJP Connector等でTomcatと繋げたほうが通信が安定するという都市伝説をネット上で見かけた。なんでもSocket通信のエラーハンドリ…
自分の作っているQMACloneにはFacebookのページに問題を投稿する機能があるのですが、トークンの期限が切れたために動かなくなっていました。 トークンの取得方法を調べ直しましたので備忘録として書いておきたいと思います。 短期間用(1〜2時間)アクセスト…
Apache CommonsのDbUtilsはJDBCの補助ライブラリで、よく書くテンプレを簡略化することができます。DbUtilsを使うことでConnectionのcloseし忘れを防止することができたりもします。自分はQMACloneのデータベース部分にDbUtilsを使っています。 準備 解説で…
透過型HTTPプロキシを使うとブラウザのプロキシ設定を使用しなくても自動的にHTTPプロキシを使うことができるそうなのでやってみた。IEの設定でプロキシを無効にして、Google ChromeのinspecterからHTTPアクセスのヘッダを確認したところ、自宅サーバーのsqu…
ある日突然Fedora LinuxでTomcatのサーブレットが動かなくなってしまった。本来であれば原因を調べて復旧すべきなのだが、一刻も早くQMACloneを復旧させたかったため、Ubuntuに乗り換えることにした。以下はその時の備忘録である。 PPPoEを用いてネットに繋…
QMACloneが夜間に重くなる原因を調査しているのだが、ネットワークに詳しい人に聞いたところ、Corega製の安物ルーターのせいではないかとアドバイスを頂いた。そこで、YAMAHAやNTT-ME製のルーターに買い換えようと思ったのだが、近くのPCショップには置いて…
MySQLのメジャーバージョンを変更すると、プロシージャーが動かなくなることがある。これはバージョンアップによりプロシージャー関連のテーブルの構造が変更されたのが原因だそうだ。以下のコマンドを使うと一応動くようになる。 mysql_upgrade -uroot -p(…
自分の周りにはCOBOLを嫌う(性格にはCOBOLerを嫌う)人が多いように思う。自分はCOBOを知らないので、なぜそんなにCOBOLが嫌われているのか良く分からない。ということで、ネットで見つかる断片的な情報を元にCOBOLがどんな言語なのか想像してみた。Wikipedia…
Trac 0.12以降を導入してsubversionのコミットからチケットをcloseできなくなってしまった。Trac 0.11まではsubversionのレポジトリのhookディレクトリにpost-commitを配置して、trac-post-commit-hookを呼び出せばよかったのだが、Trac 0.12からはやり方が…
とあるイベントでWebフォームで入力したテキストをプリンターで印刷するプログラムを書いた。その時の備忘録。 フォーム フォームはGoogle Web Toolkitでサクッと作った。以下はクライアント側のソースコードの一部。テキストボックス二つと送信ボタンという…
某Pukiwikiにタスクの進捗を管理するページがある。最初の頃は表を手動で書き換えるようになっていて、めちゃめちゃ面倒だった。最近、listboxプラグインを導入して簡単に書き換えられるようにしたのだが、今度は見栄えが悪くなってしまった。そこで、見栄え…
備忘録がてらICPC模擬地区大会及び地区大会で使用する"CSUS Programming Constest Control System"通称PC^2の使用法をまとめておこうと思います。Windows 7を前提に書いていますが、その他の環境でも同様の方法で動くと思います。以下、サーバー・ジャッジ・…
PKUとCodeforces用の補助スクリプトを過去に公開したのだが、一つのスクリプトで両方に対応したいと考えて統合してみた。さらに、M-JudgeとAOJにも対応してみた。対応オンラインジャッジ PKU JudgeOnline http://poj.org/ Codeforces http://www.codeforces.…
C++を書くときにはいつもVisual Studio 2010を使っている。Visual Studio 2010は個人的には非常によく出来たIDEだと思うのだが、非常につかづらい点が一つある。ヘルプだ。Visual Studio 2008の時のヘルプは専用のクライアントソフト(?)で閲覧する形になって…
端的に言うと、AnalyzerとTokenizerを継承したクラスをそれぞれ作れば良い。今回作成したTokenizerは以前よりQMACloneで使用している、辞書に含まれている単語を抜き出すというTokenizerである。アルゴリズムはVitabiアルゴリズムを少しだけ変えただけなので…
自分が開発・運営しているQMACloneでは全文検索エンジンにtritonn-MySQLを使用している。tritonnを使用する場合、yumやaptでインストールすることができるMySQLパッケージを使うことが実質できなくなってしまう(正確には共存できるはずだが面倒)。このためメ…
LLVMで(ryものすごくどうでも良いようなことをやっているような気がしないでもないのだが、とりあえずできたので書く。前回二つ分の合わせ技で行けるらしい。LLVMには関数ポインタを表す型は用意されていないっぽい(?)ので、代わりにi8*を使用する。ソースコ…
前の記事に引き続いてLLVMでJITアドレス空間にある関数にアクセスする方法。LLVMのチュートリアルのCh.4にやり方が載っているのだが、そのままでは動かなかった。理由はLLVMが関数のシンボルを見つけられないかららしい。VisualStudioではシンボルのエクスポ…