Go deeper into fascinating topics with original video series from TED
![A new way to stop identity theft](https://cdn-ak-scissors.b.st-hatena.com/image/square/03027395b719433fc6cc1c59f3bfaa32bf902913/height=288;version=1;width=512/https%3A%2F%2Fpi.tedcdn.com%2Fr%2Fpe.tedcdn.com%2Fimages%2Fted%2F29c62ce2436bb06f95e73d2ea81b61eadf77b687_800x600.jpg%3Fu%255Br%255D%3D2%26u%255Bs%255D%3D0.5%26u%255Ba%255D%3D0.8%26u%255Bt%255D%3D0.03%26quality%3D82c%3D1050%252C550%26w%3D1050)
リツイート数が30を超えたので、Haskell での例外処理について説明します。僕が思うに、Haskell での例外処理が分かりにくいのには、2つ理由があります。 ライブラリの混乱 パラダイムの違い 歴史的経緯により、Prelude にも Control.OldException にも Control.Exception にも catch があります。歴史的経緯を説明するのは面倒なので、これだけ覚えて下さい。「Control.Exception だけを使って、それ以外は忘れる」 そもそも純粋関数型で catch とか言われても分からないかもしれません。Haskell では、純粋な関数と IO とでは、例外処理の方法が異なります。命令的な catch などを使うのは IO です。純粋な関数には Maybe か、Either を使います。 純粋な関数 純粋な関数では、原則として例外を投げてはい
octaveの資料は結構あるけど、liboctaveをC++で使う資料はちょっと見た限り少なかったので、今後抵抗なく使ってくための準備を使用かなと思っていたら・・・すばらしいサイトを見つけてしまった。 特に liboctave の基礎:コンパイルと型と基本演算 - akihiko’s tech note liboctave + C++で可能なことを増やすために - akihiko’s tech note は、使っていくために必要なことがかかれてる。ほかにも 主成分分析、LU分解、コレスキー分解、特異値分解、固有値分解、行列式、一般化逆行列 をソース付きで扱っていた。 擬似逆行列やSVDを今日やろうと思ってたのに、用途も書いて解説してくれていた。 いや、ほんとやることがなくなってしまった。ここが検索トップに来るようにリンク張りまくっておこw まぁやることなくなったけどとりあえずこれだけ書いと
2008年からはてなダイアリーを愛用してきましたが,こちら http://akihikoy.net/notes/ に移行しました.はてなダイアリーで広告が表示されるようになったのがもともとのきっかけで,ついでに多言語化などの拡張もできればよいと思っており,ようやく実行に写せました. 移行先ではPukiWikiにプラグインをいくつか追加して使っています.今さらPukiWikiと思う方もいるかもしれませんが,ソースがシンプルで拡張しやすく,独自機能もプラグインで簡単に追加できるので,おすすめです.テキストベース(データベースを使わない)なのも個人で使う分には管理がしやすくて気に入っています. 今後も記事の概要をはてなダイアリーに載せるつもりではいます. 2015年6月に米国カリフォルニアで行われた災害ロボットコンテスト DARPA Robotics Challenge (DRC) Finals
Google Code Jamの関係で、多倍長演算クラスを作ってみた。 JavaのBigIntegerと比べて格段に見劣りするし、確実にgmpxxを使った方がいいし、自分は本番Python使って全く困らなかったけど、それでもライブラリなしでコピペしてC++で解きたいときに。 constとか&書く場所には気をつけたつもり。C++くだらないところでむずす。これ、こうした方がいいよとかあればぜひコメントとかTweetとかくださいな。 ちなみにGCJ2010QualのProblemBではVerifyしたけど、間違ってる可能性も多々あるし、インプットの実装適当だし、割り算とかもう少し高速な実装ができそうな気がする。修正案も募集中です。 bigint.cpp #include <iostream> #include <string> #include <vector> #include <algori
ブックマークを http://b.hatena.ne.jp/IwamotoTakashi/ から http://www.delicious.com/iwamot に移動します。もちろん今般のトラッキング問題が大きなきっかけではありますが、それより前に「新ユーザーページの使いづらさ問題」という小さなきっかけもありました。自分のブックマークでなく「マイホットエントリー」をデフォルトにするセンスが僕には合いません。 優秀なエンジニアの退職はやまず、はてなアイデアは放置されっぱなし。今回のような大きな問題が起きても、社長が外遊中のためか対応が遅い。はてなには上場より先にやるべきことがあるのではないかと苦言を呈したくもなります。 ブックマークだけでなく日記も、そのうち別のサービスに移動しようと考えています。
HaskellのユニットテストフレームワークであるHUnitを使ってみました。テスト対象のコードは、先日書いたsign関数です。 HUnitのインストール なにはともあれ、まずはHUnitをインストールしました。Cabalのおかげで簡単に入れられました。 $ cabal install HUnit テスト対象コードのモジュール名検討 つづいて、テスト対象コードのモジュール名を何にするか検討しました。このモジュールは「キープリスト」というWebアプリケーションで使う予定であり、AmazonのAPIに関わるものなので、「KeepList.Amazon」に決めました。 ファイル構成の検討 つづいて、テスト対象コードとテストコードをどのように配置するか検討しました。モジュール名の名前空間の階層をそのまま生かし、テストコードを「tests」ディレクトリに入れることに決めました。 $ tree . |
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く