タグ

programmingに関するkuenishiのブックマーク (563)

  • 安藤のためのC言語テスティングフレームワークCUnit

    安藤のためのC言語テスティングフレームワークCUnit 『CUnit for Mr.Ando』は CppUnit-x をベースにしたC言語テスティングフレームワークです。 これは、C言語のソースコードを単体テストのために供給します。 "CUnit for Mr.Ando" is CppUnit-x based C langage testing framework for Mr.Ando. It provide the C source code for unit testing. イントロダクション Introduction. JUnit は非常に強力なJava単体テストツールです。 しかしながら、多くのC言語技術者はJava言語を理解することができません。 JUnit is a very powerful Java simple unit test tool. However, man

  • C++で開発

    [ Home on 246net ] C++で開発 好むと好まざるとに関わらず、C++言語を使った開発をすることになったときに調べたことの蓄積。 言語仕様 ブートストラップ main関数 main関数について パッケージ管理 名前空間 名前空間の使用 ヘッダファイル ヘッダファイルとは インクルードガード ヘッダファイルの依存性をなくすには 文法要素 プリプロセッサ 条件コンパイル 可変引数を取る関数(stdargs他) 定義済みマクロ 型 組み込み型 標準定義型(標準typedef等) ビットサイズ固定整数型、 typedefの注意 クラス コンストラクタ メンバー変数 演算子関数 ビットフィールド 継承 例外 標準例外 例外処理のプログラミング テンプレート メンバ関数の特殊化 デバッグ アサーション ANSI Cのassert VC++固有のassert コーディング標準 公知のコー

  • googletest - Google C++ Testing Framework - Google Project Hosting

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    googletest - Google C++ Testing Framework - Google Project Hosting
  • ニッポンIT業界絶望論:江島健太郎 / Kenn's Clairvoyance - CNET Japan

    IT業界は救いようがない。絶望的としか言いようがない。 IT業界不人気なんて、この業界に重くのしかかる決して晴れることのない暗雲の氷山の一角に過ぎない。はてな匿名ダイアリーにもどうせ理系出身者なんていらねえんだよ。なんて書かれていたけど、これが現実なのだよ、学生諸君。 ちょっと補足しておくけど、ここでIT業界っていうのは、SIerのことだ。お客さんの要件をヒアリングして、その要求に沿ったシステムを受託開発するっていうビジネスのことを指している。 ぼくもその昔、その世界のループに組み込まれていた。そして華麗なるコミュニケーション能力とやらをいかんなく発揮し、場の空気を読み、生意気なぐらいのチャレンジ精神で、それなりに仕事のできるよい子だったようだ。 いや、正直に言うよ。正直に言うとだね、結構楽しかった。 だって、考えてみてごらん。お客さんのところに出向いて行って、その業界のことをじっ

    ニッポンIT業界絶望論:江島健太郎 / Kenn's Clairvoyance - CNET Japan
    kuenishi
    kuenishi 2009/05/02
    受託開発とは?というのを産業構造から問い直すよい機会だと思う、って今頃だけどw
  • ブルームフィルタ - Wikipedia

    この項目では、確率的データ構造について説明しています。画像にぼかし効果を付加する画像フィルタについては「川瀬のブルームフィルター」をご覧ください。 ブルームフィルタ(英語: Bloom filter)は、1970年に Burton H. Bloom が考案した空間効率の良い確率的データ構造であり、あるデータが集合の要素である(集合に含まれている)かどうかの判定に使われる。ただし判定は正確ではなくて、含まれていないのに含まれていると誤って判定すること偽陽性(false positive)の可能性がある。しかし含まれているものを含まれていないと誤判定すること偽陰性(false negative)はない。なお集合に要素を追加することはできるが、集合から要素を削除することはできない(ただし、拡張をした counting filter であれば削除もできる)。集合に要素を追加していくにつれて偽陽性の

    ブルームフィルタ - Wikipedia
    kuenishi
    kuenishi 2009/04/30
    だめだわけわからん
  • Good Programmers are Not Lazy

    In this article I provide a practical analysis of programming practices and education. The phrase ``Good programmers are lazy'' is very often offered to students as a guide to good programming. This statement is very wrong and reflects some of the problems with attitudes in computer science today. Lazy Programmers are Bad Programmers In this paper I present some basic ideas for how computer scienc

  • 富豪的プログラミング

    ちょっと貧しいGUI ユーザインタフェースのプログラムといえばすっかり グラフィカルユーザインタフェース(GUI)があたりまえになりました。 ところが最近の計算機はメモリもディスクも大量に装備しているし CPUパワーも従来とは比べものにならないのに、 意外と貧乏臭いインタフェースが生き残っているようです。 よく見られる以下のようなインタフェースはちょっと貧しい と思われます。 ウィンドウ枠のドラッグ マウスでウィンドウを動かそうとするとき、 ウィンドウの枠だけマウスに追随し、中身はドラッグ終了後に 再描画されるというシステムがあります。 画面描画が遅かった時代はこういう工夫も仕方がなかったかもしれませんが、 今でもこういうインタフェースを使っているのは貧しいでしょう。 排他的論理和で枠を書いたりもとに戻したりしていれば貧しさ度アップです。 でも調べてみたら同僚のほとんどが 枠だけドラッグの

    kuenishi
    kuenishi 2009/04/26
    符合する
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • 止まれ壊れたダンプカー

    いきなり私事から入りますが(いつもそうだろ>俺)、先日腰抜けるよーなことがありまして。 とあるシステム(私は開発には関わってないが保守してる)に関して、機能追加の依頼があったんですよ。先方曰く「前にもやってもらったんでさくっとできるでしょ」とのことなんですが。全然同じじゃねーよこれ。随分と作り込み必要じゃねーか。しかもその機能追加の依頼ってのがA4の紙切れ数枚ってのはどーなのよ。要件全然足りてねーし。こりゃ追加で「ここどうなってんだ」と問い詰め、もとい問い合わせなきゃならんなぁ。 で、これいつまでです? 「明日」 ・・・・・・はぁ?何を寝言言ってんの?画面6つあるしそれとは別に処理部分の作りこみもあるし。そこ確定するだけで1日仕事じゃねぇか。 「どーしても明日までに。もうお偉いさんが明日見るからって約束しちゃったらしい」 なんじゃそりゃー!絶対できんぞ!どんなにやっても最低3日。それ以下に

    kuenishi
    kuenishi 2009/04/26
    うちはきちんと要件固めてからお願いしてるし、開発規模も見積もり頼んでからやってるし、うーん、…
  • 新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 - ハックルベリーに会いに行く

    ぼくは以前にIT関連の仕事をしたことがあって、ぼく自身はプログラムを組めるわけではないのだけれど、何人かのプログラマーさんと一緒にお仕事をさせて頂く機会があった。その中で生まれて初めてプログラマーという職業の方と交流させて頂いたのだけれど、彼らはなかなかにユニークで特異な個性の持ち主たちであった。もちろんプログラマーと一口に言っても色々なタイプがいて、必ずしもひとくくりにできるわけではないのだが、共通していたのは好奇心が旺盛で新しい物好きだということだった。そして少々気難しい面がありつつも、基的にはポジティブで、明日に向かって色々なことを前向きに、精力的に取り組んでいる人が多かった。 そんな中で、特に親しくお話しさせて頂いたTさんというプログラマーがいて、この方もなかなかに個性的で、ご自分の意見や主張というものをはっきりと持っており、ITのみならず世の中に対しても一家言お持ちであった。そ

    kuenishi
    kuenishi 2009/04/26
    このうちのN個の条件を満足すればプロのプログラマーとして独り立ちできるレベルになるが、Nは分からないしどれを選んだらいいかも不明
  • EventuallyConsistent - 結果整合性

    EventuallyConsistent - 結果整合性 目次 この文書について 結果整合性 歴史の話 クライアント側の整合性 サーバ側の整合性 まとめ 結果整合性 この文書について Werner Vogels "Eventually Consistent" の日語訳です. http://www.allthingsdistributed.com/2007/12/eventually_consistent.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 近年, データ複製の文脈で 結果整合性(eventual consistency) に関する議論が盛んだ. この記事では大規模データの複製における原則や抽象, 高可用性とデータ整合性のトレードオフに関する話題をいくつか集めてみたいと思う. 現在進行中の分野であり, 全ての定義が最初から明快であるとは思わないでほ

  • C++とJavaのレガシーについて語るのは時期尚早か?

    C++Javaが残したレガシー(ブログ)についてBruce Eckel氏が最近投稿したブログが大きな反響を呼んだ。彼はいくつかの設計ミスについて述べるも、両言語がプログラミング言語の発展において大きな役割を担い、重要な建設的レガシーを残してきたと結論付けた。しかし、これら言語のレガシーについて語るのはまだ早いのではないだろうか。 かつてのC++標準化委員会メンバーであるEckel氏は、この言語とCとの下位互換性に関する意思決定をはじめから回想している。 この言語がいかにして不愉快かつ複雑なもので、しかし同時に適切に設計されたものとなりうるかを理解するには、C++における全てを左右する基の設計決定、つまりCとの互換性を頭に入れておかなければいけません。Stroustrup氏は、Cプログラマの大半をオブジェクトに移行させる方法は移行をトランスペアレントなものにすることだと方針を固めました(

    C++とJavaのレガシーについて語るのは時期尚早か?
    kuenishi
    kuenishi 2009/04/20
    単純によくわからない。レガシーとは何だ?
  • BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社

    ソフトウェアなどを使いこなすために、ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ、「⁠バッドノウハウ」がテーマの連載、第3回の今回は極めてBKフル(バッドノウハウが多い)言語であるC++を取り上げたいと思います。 C++再考 いまどきのWebアプリケーションはPerlRubyなどのLightweight Languageで作られているものが多く、C++の出番は非常に少ないように見えます。ところが、知人などに話を聞いてみると、基的にPerlで作られているサービスでも、性能に効いてくる要所要所にC++が使われているという話をよく耳にします。 C言語ではなくC++を使うのは、オブジェクト指向言語ということもありますが、標準ライブラリに含まれる便利なコンテナ(string、vector、mapなど)を使いたいという理由も大きいようです。たしかに、一度これらのコンテナを使っ

    BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社
  • 「ソフトウェアは工業製品ではない」 まつもとゆきひろ氏: 柴田 芳樹 (Yoshiki Shibata)

    @ITにまつもとゆきひろ氏の講演の内容が掲載されています。 http://www.atmarkit.co.jp/news/200904/10/matz.html コード(ソフトウェア)を書くというのは、組み立てのことではなく、製造業でいう「設計」に相当するという。 私自身は、常々、コードを書いて動作させるということが「設計」だと思っています。しかし、そのように認識している開発組織は少ないのではないかと思います。 自分でコードを書いたことがないマネジャーや、コードを書くというのが「設計」であるという認識になるまでコードを真剣に書く経験を積むこともなくマネジャーになった人が、ソフトウェア開発組織をリーディングすると、まつもと氏が述べている次のような認識しか持たないと思います。 「会社というのは都合のいいように、プログラマには歯車であってほしいと考えます。コードが美しいかどうか、アートかどうかな

    「ソフトウェアは工業製品ではない」 まつもとゆきひろ氏: 柴田 芳樹 (Yoshiki Shibata)
    kuenishi
    kuenishi 2009/04/20
    単なる工業製品ではないけど、美術館の壁にかかるものでもないと思うよ。
  • iOS 17 - Apple Developer

    Widgets and Live Activities Widgets are becoming even more powerful in even more places. Now you can use WidgetKit to build support for interactivity and animated transitions, so people can take action right in your widget. Once you rebuild for iOS 17, with just a few simple changes your existing widgets will look great in StandBy on iPhone, on the Lock Screen on iPad, and on the desktop on Mac. W

    iOS 17 - Apple Developer
  • sonson@Picture&Software - [iPhone SDK] Ad Hocビルドで特定の人にアプリを配布する

    やっとiPhone SDKについて書ける項目ができた・・・・. 不特定多数の人にソフトウェアを公開するにはApp Storeを使うしかないと私も考えていたが,よくよく考えるとAd Hocビルドがある.Ad Hocビルドはソフトウェアを使用する人のデバイスをUDIDを登録した配布プロファイルを利用する.Ad Hocビルドを利用すれば,100台までのデバイスにApp Storeを介さずにアプリケーションをインストールすることができる. 概要 ビルドの流れを説明する.Xcodeの使い方やプロビジョニングファイルに関する説明はしない.NDAに抵触しそう. 1.配布したい相手のUDIDを教えてもらう. 2.UDIDを登録し,Ad Hoc配布プロビジョニングファイルをダウンロードする. 3.プロビジョニングファイルを利用してAd Hocビルドする.参考情報Apple掲示板 4.プロビジョニングファイ

  • iPhone実機に自作プログラムを転送するまでの手順 - c/fe

    各所に書かれているとおりにすごく面倒くさかった。 多分某K氏に後で説明することになると思うので、忘れないうちにメモ。 IDPはややっこしいが、基的には各セクションのHowtoタブの通りにやればできる。 適切な値がよくわからんかったので適当な値をかいてある所もあるが、ご愛敬。 まあ、とにかく実機に転送ができたということで。 全体の流れ iPhone Developer Centerに登録する iPhone Developer Programに加入する(有料) ローカルで証明書を作り、登録する IDPで色々登録し、証明書を二枚ゲットし、インストールする Deviceを登録する AppIDを登録する Provisioning Profilesをゲットし、インストールする XcodeのオーガナイザにてiPhoneにProvisioning Profilesをインストールし、レストアする Xcod

    iPhone実機に自作プログラムを転送するまでの手順 - c/fe
  • インタプリタ型言語を高速化する computed goto : DSAS開発者の部屋

    先日Python 3.1a1 がリリースされました。 Python 3.0 は Python 2.6 に比べてパフォーマンスが悪かったのですが、Python3.1はPython2.6よりも速くなるかもしれません。 Python3.1のパフォーマンス向上は、主に次の2点が影響しています。 ioモジュールがC言語で書き直された computed goto の採用 (--with-computed-gotos というconfigureオプションで有効) computed goto という名前を聞き慣れなかったのですが、調べてみると Ruby 1.9 の VM (YARV) や、 Perl6 の VM として開発されとうとうリリースされた Parrot にも採用されている手法でした。今回は簡単に computed goto の紹介をしてみます。 とりあえず label as value C言語の規

    インタプリタ型言語を高速化する computed goto : DSAS開発者の部屋
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 第11回 クロージャによる超軽量並行プロセスの簡単実装法

    最近,ネットの一部で「Erlang」(発音はアーランまたはエアラン)というプログラミング言語が流行している(参考リンク)。Erlangはスウェーデンの通信機器メーカーであるエリクソンにて開発された言語で,エリクソン内部や通信業界はもちろん,Twitter(関連記事)などのオンライン・サービスでも採用されているという。 Erlangの特徴は,複数のプロセスが通信をしながら計算をする「並行プログラミング」を,言語の機能として強力にサポートしていることだ。C言語などの逐次プログラミング言語は,プロセスや通信の機能を内蔵しておらず,こうした機能をオペレーティング・システムに「外注」している。しかし,そのような外付けの仕組みは,メモリー消費量や速度,開発効率などの点でオーバーへッドが大きい。Erlangのような並行プログラミング言語では,プロセスや通信といった機能をプリミティブとして実装することによ

    第11回 クロージャによる超軽量並行プロセスの簡単実装法