[What Every C Programmer Should Know About Undefined Behavior #1/3 の翻訳です。] LLVMでコンパイルしたコードは、最適化を有効にしているとたまにSIGTRAPシグナルを生成するのはなぜなのか、と聞かれることがある。いろいろ調べたあと、(X86での話だが) Clangは "ud2" インストラクションを生成していたことがわかった。"ud2" は__builtin_trap()が生成するインストラクションと同じものだ。[訳注: #UD例外を発生させる命令。ソフトウェアが#UD例外をハンドルできているかテストするために使われる。つまり、ソースコードが未定義な振る舞いを使っていたから、LLVMはud2インストラクションを生成したのであって、LLVMのバグではない、ということ] こういう問題は幾つかあって、すべて、Cの未定義な振る
最近、twitter クライアントを Firefox 拡張機能として作ったりしているのですが、twitter では認証方式として OAuth が採用されているため、JavaScript で OAuth 認証を行う必要があります。 ここでは、JavaScript の OAuth ライブラリを用いて OAuth 認証を行う方法を説明します。 OAuth 自体の詳しい説明などは OAuth の公式サイト をご覧ください。 OAuth ライブラリの入手 Google code に OAuth 関連ライブラリのプロジェクトサイト があります。 ここで、John Kristian さん作の JavaScript 用のライブラリも公開されています。 JavaScript 用 oauth ライブラリ Revision 1249 の段階では、ライブラリとして使用するのに必要なファイルは以下の 2 つのファイ
ラップクラスは、対応するプリミティブ型(基本型)の値をオブジェクトにラップします。例えば、Integerクラスはint型の値をラップし、Integerクラスのオブジェクトにはint型の単一フィールドが含まれます。ラップクラスは、型を変換する各種のメソッドや、その型の値を処理するときに便利なメソッドを提供してくれます。 まず、int型の値をIntegerオブジェクトにラップすることで利用できる、Integerクラスの提供する機能の活用例を示しましょう。 下記は、int型の値をオブジェクトと比較可能なら比較し、でなければ比較不可と返すメソッドです。IntegerクラスのcompareToメソッドを使っています。compareToメソッドは、オブジェクトが Integer の場合は大小比較を行い、そうでない場合は、ClassCastException がスローされます。 オブジェクトにのみ可能な
git + Redmineで開発する場合、Redmineのチケットごとにトピックブランチを切ることが多いですが、ちょいちょいチケットの内容を忘れてしまいます。 そういうときに、いちいちブラウザでチケットを見にいくのがダルいので、チケットのサマリを表示するgitのサブコマンドを作りました。 なお、本コマンドはbleis-hooksと併用することを想定しています。 インストール方法 git ticket subcommand · GitHub からダウンロードし、パスの通ったディレクトリに配置してください。 $ wget https://raw.github.com/gist/014371584dbf85d053ed/f8ade6f7fc36a4c8f49f72a538a6322bfb726bf8/git-ticket $ mv git-ticket /path/to/some/dir $ c
DailyJS - A JavaScript blog. Google CodeやGitHubをはじめさまざまなプロジェクトホスティングサービスが存在する現在では、オープンソースプロジェクトはとても簡単にはじめられる。ただし、そういったプロジェクトのすべてが優れた結果を残せるわけではない。大半のプロジェクトは終わらせることもできず、ただ誰にも触られることのない存在になっていく。 プログラマであれば誰しもより優れたプログラマになりたいと考えるだろう。WebにはプログラミングテクニックやTIPS、デザインパターンやアンチパターンなど、さまざまなプログラミングに関するノウハウがあり、多くのプログラマがそうしたノウハウを活用している。しかしながら、いくら努力してもいまいち自分のスキルの上達を感じられない方も少なくないだろう。 以前からよく言われていることだが、Alex Kessinger氏が7月2
身近に MacBook を購入した人がいたので、その人向けにメモしておきます。ポイントとしては、今まで Mac を使っていなかった人でも分かるように説明していきます。 App Store から Xcode をインストールする。 驚くかもしれませんが、Mac は初期状態では、gcc など開発に必須のUNIXツールが一切インストールされていません(perl とか ruby とかは入ってるよ)。なので、まずは何はなくとも Xcode という開発ツール群をインストールする必要があります。 Snow Leopard までは(多分)付属のDVDに Xcode がついてきたのですが、Lion からは App Store からのダウンロードしてインストール事になったので、いきなり 3GB もダウンロードしなければなりません。なので、早めにやってしまいましょう。 この記事を書いている現時点で最新の Xcod
Tumblr API Tumblr APIへようこそ!わたしたちにとって、優秀なデザイナーやエンジニアがTumblrを使って創作表現のまったく新しい形をつくってくれることより楽しいものはありません。わたしたちはあなたがたのどんなプロジェクトに対しても十分に機能的で柔軟なAPIとなるように途方もない注意を払ってきました。APIの使い方についてやどうするのがよりよいのか、またAPIを使って作っている驚くべきものを話すときはわたしたちのディスカッショングループに参加してください。どうぞ責任をもってAPIをお使いください。また、フィードバックをください。楽しんでね! もし古いAPIのドキュメントを見たいなら、ここで探すことができます。 必要なもの OAuthキーを入手するには: アプリケーションを登録してください あなた用のAPIキーを入手する必要があります。たとえ、署名付きOAuthリクエストを
C++のプログラムを見ていると引数名にlhsやrhsというものを見かける。これはleft-hand sideとright-hand sideの略で、左辺と右辺のこと。2項演算子を実装する関数の仮引数名に使われる。 const Test operator*(const Test& lhs, const Test& rhs);もちろん、こうしなければならないという決まりではない。でも分かりやすいため、こうしておくのがよいだろう。
先日、Facebookから開発者向けツールGraph API Explorerがローンチされました。 Graph API Explorer 本エントリーではGraph API Explorerの使い方を、ウォールにメッセージを投稿する方法を中心に解説します。 1.Graph APIとは Graph APIはFacebook上のデータにアクセスするためのAPIです。実際にはプログラム上でGraph APIを起動するのですが、Graph API Explorerを使えばプログラムを作成する前にGraph APIの動作確認を行うことができます。 Graph APIの詳細は以下の公式サイトを参照してください。 Graph API 2~5項でウォールにメッセージを投稿する手順を説明しますので、Graph API Explorerにアクセスした状態にしてください。 2.アクセストークンの取得とパーミッ
五月病が抜け切らないIT系新入社員に贈るシリーズ第1段。 ~/.ssh/configにはいろいろな設定が書けるが、周囲を見渡した限り、あまり活用されているようには見受けられない。そこで、今回は便利な設定をいくつか集めてみた。 長いホスト名に短い名前をつける Host exp1 HostName verrrryyy.looooong.hostname.example.jp ssh verrrryyy.looooong.hostname.example.jpの代わりにssh exp1でログインできるようになる。 ちなみに、zshの場合、configファイルに登録されたホスト名はsshコマンドを打つときに補完されるので更に便利。 特定のホストへログインするときのユーザ名や鍵をカスタマイズする Host github.com User tkng IdentityFile ~/.ssh/id_rsa
最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。
講座みたいなもの番外編です。 今回は "Unity3D 高速化" という検索ワードが非常に多かったため 公式サイトなどで確認した手法を まとめてみます。 ■『使用頻度の低いファンクションは削る』 ■『FindObjectsOfType, FindGameObjectWithTag, GameObject.Find といったFind系は処理が重い』 出来る限りAwake()、Start()文中などの初期化段階で行いましょう ■『static型を使用してください』静的な変数であるStaticタイプを使用することでメモリは固定され処理効率があがります。 これちょっと訳が正確かわかりません 単純に静的な値の割付け(つまりキャストしなさい)ということかもしれません。 最近のハードウェアでのフレームあたりのドローコールは500回程度ですが あまり多いポリゴン数とライトの数は処理を低下させます 対策とし
本稿では「C++でも簡単にWebアプリケーションを開発したい!」という声にお応えして、C++によるフルスタックのWebフレームワーク「TreeFrog Framework」を紹介します。C++で開発する最大のメリットは、アプリケーションが高速かつ少ないメモリ使用量で動作することです。Webアプリケーション自体がさらに高速に動作すれば、より少ない数のサーバで多くのリクエストを処理することが可能になるでしょう。 はじめに Webアプリケーションの開発案件をみると、使われている言語はJavaとPHPが特に多いように思います。C++のものはまず聞きません。C++プログラマがWebアプリケーションの開発プロジェクトに参画するとなると、新たに別の言語を習得しなければならないのが現実です。TIOBE Programming Community Indexというプログラミング言語の人気度調査において、C+
This document discusses usage trends of the Eclipse integrated development environment. It notes that Eclipse usage increased 20% in 2011, with the biggest increases being 10% for Eclipse itself, 10% for plugins, and 200% for Android Development Tools. It then provides many tips and shortcuts for using Eclipse more efficiently.Read less
2020-09-01潢政办〔2020〕23号 开火车大满贯的水果机办公室 关于印发潢... 2020-09-01潢政办〔2020〕22号 开火车大满贯的水果机办公室关于印发潢... 2020-09-01潢政办〔2020〕21号 开火车大满贯的水果机办公室关于印发潢... 2020-09-01潢政办〔2020〕20号 开火车大满贯的水果机办公室关于印发潢... 2020-09-01潢政办〔2020〕19号 开火车大满贯的水果机办公室关于印发潢... 2020-09-01潢政办〔2020〕18号 开火车大满贯的水果机办公室关于加强公... 2020-07-162020年开火车大满贯的水果机资金分配情况公告公示(第三次) 2020-06-122020年开火车大满贯的水果机资金分配情况公告公示(第二次) 2020-04-072020年开火车大满贯的水果机资金分配情况公告公示(第一次) 2020-0
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
「情報系の学生がやっておくべき10000のこと」というタイトルの記事があったので、何事かと思いました。10000 things all ICS students should do before graduating | Tagide10000個もあるのか…とびっくりしましたが、よく読むと2進数で書かれていて、16個という意味でした。内容もとても良いことを言っていると思うので、簡単に紹介してみます。 0000 – 自分のドメインを買う 0001 – Apacheをインストールして設定をいじる(複数ドメイン対応とか) 0010 – WordPressをインストールしてブログを書く。文章スキルも大事。 0011 – 自分のウェブサイトを運営する 0100 – LAMPでウェブアプリを書く。少なくとも1つ、できればPHPとPythonで。 0101 – 自分のサーバー(物理orクラウド)を持つ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く