タグ

programmingとProgrammingに関するharu-sのブックマーク (192)

  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
  • こわいはなし - はじめてのにき(2010-07-04)

    _ $ そうか $ をいじるという手があったかー http://gist.github.com/462815 僕は fromInteger いじれるといいのかなぁとか思ったけど、 instance Num すると + を再定義せざるを得ないっぽいので どうしたもんかーという程度でとまってしまった (06:39) _ こわいはなし http://atnd.org/events/5073 すっかり忘れてた… 今からでもなんか書こう。 バイトしてた時の最初のプロジェクトは 大変社会勉強になるコードだった。 less とかで読んでいると、 どうも 2 行に 1 行空行が入っていて、 ヘンな style だなぁと思ったのだけど、 実は 20 段くらいネストしてるから 空白だけで 80 column 越えしてたのだった。 そのネストした中身はコピペな感じなコードなのだけど、 なかなか内容もためになった

    haru-s
    haru-s 2010/07/04
    怖い・・・
  • 「Iterators Must Go」を訳してみた - Faith and Brave - C++で遊ぼう

    Boost Con '09で行われたAndrei Alexandrescuのセッション、「Iterators Must Go」の資料を翻訳してみました。 【原文】 iterators-must-go.pdf 【日語訳】 iterators-must-go(ja).pdf 【Slideshare】 http://www.slideshare.net/faithandbrave/iterators-mustgoja 訳がおかしいところがあったら教えていただけるとうれしいです。 【修正履歴】 2009/05/15 19:25 コメント欄でturuginaさんから指摘いただいた点を修正 2009/05/18 10:57 コメント欄でportownさんから指摘いただいた点を修正

    「Iterators Must Go」を訳してみた - Faith and Brave - C++で遊ぼう
  • Librahack : 容疑者から見た岡崎図書館事件

    出来事の詳細 3/13 新着図書データベースを作るためクローリング&スクレイピングプログラムを作成した ちょうどその頃、市場調査を行うためにECサイトのスクレイピングプログラムを作っていた。そのついでに、前々から構想していたLibra新着図書Webサービスを作ろうと思った。市場調査プログラムの一部をカスタマイズして、新着図書データベース作成プログラムを作った。この時、市場調査プログラムと新着図書データベース作成プログラムは同じプログラム内にあり、パラメータでアクションを指定して振り分けていた。 Webサービスを作ろうと思った動機は「なぜプログラムを作ったか」の通り。 Webサービスの概要は「どんなプログラムを作ろうとしていたか」の通り。 普段読むを入手する流れ:1. Amazonの各カテゴリの売れ筋をチェックしてレビューを確認し読むかどうか決める(または、書評ブログや新聞などのメディアで

    haru-s
    haru-s 2010/06/21
    とりあえず匿名でもいいからサーバ管理者出てこい.話はそれからだ
  • プログラミング言語の教育ではよくあること - マイペースなプログラミング日記

    よくあることといいつつ、前にいた大学でのできごと。授業を受けてたときの出来事 Javaの授業のときに難しいんで… 例外処理の説明は省略します… Javaの授業で使うサンプルに書いてある禁句… catch(Exception e){ System.exit(0) } プログラミングの課題をC++で書くと加点しますと書いておきながら… 教授がC++をわからないのでCで書き直すように言われた人が… Cの実習で… 教授がプログラミングできない。ハードウェア屋さんだったから仕方がないのか? 実習で使うサーバーが… 5分毎に落ちる…Cで自作したようだが… TAやってたときの出来事 プログラミング課題で結果の出力フォーマット指定してるのに… 半分以上は従ってない。 やっぱり… 8割はコピー。コピー元は差別化しようとしてるので、すぐわかる。変数名だけ変えても…そこじゃないんだよな… 比較回数、実行時間が…

    プログラミング言語の教育ではよくあること - マイペースなプログラミング日記
    haru-s
    haru-s 2010/06/20
    かといってスーパーゴルファーshinh教授とかが授業したら阿鼻叫喚な件wwww
  • デスマーチが起きる理由 - 3つの指標

    Your system administrator has blocked your computer or device. Please contact the system administrator.

    haru-s
    haru-s 2010/05/29
    久しぶりに読みに来た
  • yUML : Create UML diagrams online in seconds, no special tools needed.

    Create diagrams quickly No wasting hours mucking about with fiddly diagram layout. yUML allows you to create diagrams quickly by simply typing plain text. See Sample Diagrams Draw UML with code Because yUML diagrams are based on text, you can easily create them from your CI scripts or code. Simply request an image programatically using a GET or a PUT. Tool vendors are using this to integrate yUML

    yUML : Create UML diagrams online in seconds, no special tools needed.
  • plantuml

    PlantUml allows to quickly create some UML diagram using a simple textual description language.

  • クラス設計に関するメモ

    経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){

  • オブジェクト指向関連書籍リスト - give IT a try

    自分はどれくらいオブジェクト指向について勉強してきたんだろう?というのを整理する意味で、これまでに読んできたオブジェクト指向関連のをまとめてみます。 エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION) 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート出版社/メーカー: 翔泳社発売日: 2005/04/21メディア: 大型購入: 10人 クリック: 635回この商品を含むブログ (143件) を見る企業向けシステムをオブジェクト指向で設計するときに有用なです。ドメインロジックの3パターンは必ず押さえておきたいですね。 実践UML 第3版 オブジェクト指向分析設計と反復型開発入門 作者: クレーグ・ラーマン,依田智夫,今野睦,依田光江出版社/メーカー: ピアソンエデュケーション発売日: 2007/11/12

    オブジェクト指向関連書籍リスト - give IT a try
  • クラス ライブラリ開発のデザイン ガイドライン

    更新 : 2007 年 11 月 クラス ライブラリ開発のデザイン ガイドラインは、.NET Framework を拡張し、.NET Framework と対話するためのライブラリを開発するためのものです。.NET Framework デザイン ガイドラインの目的は、開発に使用されるプログラミング言語に依存しない統一化されたプログラミング モデルを用意することによって、ライブラリ デザイナが API の一貫性と使いやすさをユーザーに提供できるようにすることです。.NET Framework を拡張したクラスおよびコンポーネントを開発するときは、これらのデザイン ガイドラインに従うことを強くお勧めします。一貫性のないライブラリ デザインは、開発者の生産性を損なうだけでなく、ライブラリを採用する意欲を失わせます。 これらのガイドラインは、クラス ライブラリのデザイナが、さまざまなソリューション

    クラス ライブラリ開発のデザイン ガイドライン
    haru-s
    haru-s 2010/04/15
    クラス設計
  • D言語基礎文法最速マスター - はてなかよっ!

    注意! ふるいので書き直しました.https://gist.github.com/2470712 にある新しい方をごらんください! 以降古い版 他の言語をある程度知っている人はこれを読めばD言語の基礎をマスターでき,D言語の氷山の一角くらいは知ることができると思います.対象バージョンはdmd 2.040です. 1. 基礎 ソースファイル ASCIIかUTFしか受け付けません.それ以外の文字コードで書くとコンパイルエラーになります. main D言語のmainはCとは違い以下のようなシグネチャです. void main(); void main(string[] args); リターンコードについては処理系がよしなにやってくれます. 表示 (write(ln), writef(ln)) 標準ライブラリにあるstd.stdioを使います. import std.stdio; ... write

    D言語基礎文法最速マスター - はてなかよっ!
  • Telerik & Kendo UI - .NET Components Suites & JavaScript UI Libraries

    DevCraft All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with: NEW: Design Kits for FigmaOnline TrainingDocument Processing LibraryEmbedded Reporting for web and desktop

    Telerik & Kendo UI - .NET Components Suites & JavaScript UI Libraries
  • フリーの.NET用プロファイラを使ってみました(NProf, EQATEC Profiler) - ふにゃるんv2

    個人的にも仕事でも、作ったソフトのボトルネックを探る為に、プロファイルしたい時があります。 そういう時に役立つソフトとして、プロファイラがあります。 .NETで使えるプロファイラとしては、以下が有名かと思います。(他にもあると思いますが、情報収集力が少ないので…) 商用:Visual Studio 2008 Team System http://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx 商用:dotTRACE http://www.jetbrains.com/profiler/index.html 無償:DevPartner Profiler Community Edition http://www.compuware.co.jp/products/devpartner_fm/dpsprofiler.ht

    フリーの.NET用プロファイラを使ってみました(NProf, EQATEC Profiler) - ふにゃるんv2
  • 旧FC2無料ホームページスペース サービス終了のお知らせ

    下記の「旧FC2無料ホームページスペース」は2025年06月30日をもちましてサービスを終了いたしました。 FC2WEB http://www.fc2web.com GOOSIDE http://www.gooside.com k-free.net http://www.k-free.net Easter http://www.easter.ne.jp 55 STREET http://www.55street.net ZERO_CITY.com http://www.zero-city.com OJIJI.NET http://www.ojiji.net K-Server http://www.k-server.org Zero-yen.com http://www.zero-yen.com KTNET http://www.kt.fc2.com Finito http://www.fi

  • .NETマルチスレッドプログラミング 1:スレッドの実行と同期

    目次 はじめに 対象読者 必要な環境 新しいスレッドを作成し、実行する フォアグラウンドスレッドとバックグラウンドスレッド スレッドが終了するまで待機する スレッドの同期 競合状態 Monitor.Enter・Monitor.Exitメソッド lock・SyncLockステートメント 静的メソッドの同期 ロック専用のオブジェクト MethodImplOptions.Synchronized デッドロック まとめ 参考資料 はじめに 稿では、.NET Frameworkにおけるマルチスレッドプログラミングについて、次のような方針で解説します。また、稿は四部作の「パート1」です。 マルチスレッドプログラミングの基事項を、全般的に紹介します。ただし、説明は簡潔に要点のみを押さえ、深い部分までは掘り下げません。より詳しい内容を知りたい方は、記事内に示すリンク先や、末尾の「参考資料」を参照して

    .NETマルチスレッドプログラミング 1:スレッドの実行と同期
  • LockfreeQueueについて - くまメモ

    mutexを使わなくても共有できるデータ構造について。 Compare and Setという不可分な操作を直列化の拠り所として共有するデータ構造です。 コア数が増えて来たときに高い並列性を期待出来るのではないかと思われます。 キモとなるeunque,deque操作のソースコードを貼っておきます。 void enq(const T& v){ Node* const node = new Node(v); while(1){ const Node* const last = mTail; const Node* const next = last->mNext; if(last != mTail){ continue; } // 確保中にデータが書き換わってしまったのでやり直し if(next == NULL){ // 正常な形のバッファだったら if(compare_and_set(&las

    LockfreeQueueについて - くまメモ
    haru-s
    haru-s 2010/03/28
    lockfree
  • TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成:CodeZine

    はじめに ここでは、複数のクライアントが同時に接続できるTCPを利用したクライアントサーバー型チャットアプリケーション(僭越ながら、「DOBON Chat」と命名させていただきます)のサンプルを示し、その要点を解説します。 .NET FrameworkではTCPを利用したデータ通信を行うためのクラスとして、TcpClient及びTcpListenerクラス(共にSystem.Net.Sockets名前空間)が用意されています。これらのクラスは内部でSocketクラス(System.Net.Sockets名前空間)を使用しており、Socketクラスをより簡単に扱えるようにするためのクラスであると言えます。しかしSocketクラスを直接扱う場合と比べて機能的に劣り、しかも取り扱いの難しさもそれほど変わるとは思えません。そこでここでは、TcpClientとTcpListenerクラスを使わずに、

    TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成:CodeZine
  • Code Bubbles - 統合開発環境の新しい形 - Radium Software

    Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments 上の動画は,ブラウン大学のAndrew Bragdon氏らによって開発された統合開発環境"Code Bubbles"のデモだ。プログラミングと統合環境に興味のある人は,とにかく一度見てみて欲しい。とてもインパクトのあるデモだ。 現行の統合開発環境は,いまだにファイル単位でのエディットを基としており,それが様々な不便を生み出している。Code Bubblesはその不便を解消するべくデザインされた,まったく新しい形の統合環境だ。バブルと呼ばれる概念を導入することによって,ソースコードのナビゲーションを,より視覚的かつインタラクティブなものへと進化させている。 残念ながら現状ではこのデモが公開されているのみで,他

    Code Bubbles - 統合開発環境の新しい形 - Radium Software
    haru-s
    haru-s 2010/03/18
    うーん,意味がわからん
  • コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演

    「いま、並列処理の壁というコンピュータサイエンス史上最大の課題に直面しています。しかしこれはチャンスでもあります。新しい時代を切り開いていきましょう」。IBM名誉フェローのFran Allen氏は、昨日3月10日に行われた日の情報処理学会創立50周年記念全国大会の招待講演の演壇からこんなメッセージを聴衆に投げかけました。 Fran Allen氏は、コンパイラやプログラミング言語が専門で、女性で初めてチューリング賞を受賞した人。今回の招待講演のためにわざわざ来日したと紹介されました。 講演のタイトルは「The Challenge of the Multicores」。ここからは、Allen氏の講演の内容を紹介しましょう。 (この講演は英語で行われたものです。内容にはできるだけ正確を期したつもりですが、理解不足のところや聞き取れなかったところもありました。もし誤解や不正確なところがありました

    コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演
    haru-s
    haru-s 2010/03/11
    並列処理の勘所は前時代のプログラミング言語の排除と