タグ

programmingに関するInoHiroのブックマーク (216)

  • 2008-01-31

    WCFのWeb プログラミング モデルの学習テストを書いてみた。まずは、簡単な Hello World なサービスから。 続きを読む 次はDataContractを使用してオブジェクトの POST / GET / PUT / DELETE を行うサービスの学習テスト。長いよ(w 続きを読む

    2008-01-31
    InoHiro
    InoHiro 2009/02/08
    RESTful by WCF
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
    InoHiro
    InoHiro 2009/02/08
    "プログラマはアーティスト" / コードを読もう
  • 2NT -無料ブログ 無料ホームページ 等-

  • みんなが言及しないPython 3.0のステキ機能 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 3.0 (r30:67503, Dec 5 2008, 09:49:50) [GCC 4.0.1 (Apple Inc. build 5484)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> l=['にんとも', 'かんとも', 'ニンニン'] >>> l ['にんとも', 'かんとも', 'ニンニン'] 普通に見えます? じゃあ2.5とかでこれと同じことやってみれ。 Python 2.5.2 (r252:60911, Feb 22 2008, 0

  • 後方互換性を保ちながら一貫性を得る | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの組み込み関数にint()というものがあります。このint(),ドキュメンテーションでは組み込み関数として分類されていますが,果たしてそう呼んでいいのかどうか微妙な位置にあります。int()の機能はずっと変わらず,引数として与えられた文字列やfloat型のオブジェクトをint型に変換する,というものなのだけど,バージョンを負うごとに実装が変わっているから。 たとえばPython 1.5では,int()は紛れもなく組み込み関数として実装されています。Python 2.1まで同様。 Python 1.5.2 (#1, Sep 27 2002, 03:18:08)  [GCC 2

  • TurboGears - PythonのRuby on Rails風 Web アプリケーションフレームワーク - を使ってみましたよ | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

  • Python 3が後方互換性を捨ててでも求めたもの

    Python 3が後方互換性を捨ててでも求めたもの:よりPythonicなPythonを目指して(前編)(1/2 ページ) Python 3.0では、Python 2で書かれたスクリプトが動かなくなるような実装が行われた。なぜ、後方互換性を崩してまで大きな仕様変更を行ったのか。それは、PythonがよりPythonらしくあるためだ。 2008年12月4日、Python 3.0がリリースされました。これまで「Python 3000」や「Py3k」という愛称で呼ばれ、Pythonの次期メジャーバージョンとして開発されていたものです。 メジャーバージョンアップといっても、基的な文法、インデントを使ったブロック表記や基的な機能の多くはPython 2から引き継いでいます。Pythonの持つシンプルで一貫性のある設計思想を受け継ぎ、よりPythonicなPythonへと言語をステップアップさせる

    Python 3が後方互換性を捨ててでも求めたもの
    InoHiro
    InoHiro 2009/02/01
    Python初めて見ようかと思ってる
  • C++プログラマ(というか自分)のためのObjective-C講座(というかメモ)

    目次 全般 クラス メッセージの送信 idとNSObject その他 全般 まあ、/Developer/Documentation/Cocoa/ObjectiveC/index.htmlを見れば、細かいことは分かるので、ここではC++に慣れた人から見たObjective-Cの概略をまとめるということで。 まず。 Objective-Cコンパイラは、C++コンパイラに比べるとコンパイラとしてよりもプリプロセッサに近い動きをする。 /usr/include/objc以下にいろんなヘッダがあるんだが、これらをあらかじめincludeしたC、という感じに近い(もちろん文法の拡張がいくつかあるので、それらの解析はObjective-Cの重要な機能なんだけど)。 それは例えば、「動的バインドされるメソッドにアクセスする関数」「動的にクラスを追加する関数」のような、言語仕様の内側部分をいじくっちゃうよう

  • .NET アプリケーションのパフォーマンスとスケーラビリティの向上 - 第 5 章 「マネージ コ ード パフォーマンスの向上」

    Recommendations on how to design and develop custom applications using the Microsoft platform Each patterns & practices offering contains a combination of written documentation and re-usable source code. Many also include a reference implementation. As the guidance is being developed it is reviewed and approved by internal Microsoft product teams and by external customers and partners. This produc

    .NET アプリケーションのパフォーマンスとスケーラビリティの向上 - 第 5 章 「マネージ コ ード パフォーマンスの向上」
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)

    最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,

    FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)
    InoHiro
    InoHiro 2009/01/08
    10進以外基本的に苦手なのでがんばる
  • リバースエンジニアリング

    はじめに 最初に断っておきますが、私はKrackerではありませんし、またリバースエンジニアリングについてさほど詳しいわけでもありません。そんな人が「リバースエンジニアリング」などと銘打って文章を書くこと自体がそもそもおかしいですが、今回は、私がリバースエンジニアリングについていろいろと調べた結果をテキストとしてまとめてみようということでこの文章を書き上げました。よって、この文章は私がここ1ヶ月くらいで学んだ過程を書き綴っています。ただ、まとめたといっても、デバッガの使い方といった初歩の部分から書いているわけではないので、少なくともアセンブリ言語を理解していることが前提となります。また場合によっては、WindowsやDLLの仕組み、そして暗号アルゴリズムに関してもある程度の知識が必要かもしれません。 実験を行った私の環境はWinXP、コンパイラはVC++.NET、デバッガはOllyDbgで

  • ビット演算 - Wikipedia

    ビット演算(ビットえんざん、英: bitwise operation)とは、主にコンピュータで行われる演算のひとつで、データをビット列(つまり0か1が多数並んだもの)と見なして、各ビットの移動やビット単位での論理演算を行うもの[1]。 概要[編集] デジタルコンピュータの内部では、情報をビット列として表しており、CPUやMPUなどにはビット演算用の命令が多種用意されている[1]。特に機械語のプログラムでは多用される演算であり、高水準言語のソースコードでは直接記述されていない場合でも結局機械語に変換されて実行されるので、内部的に多用されている[1]。 ビット演算は大きく分けて次のように二種類ある[1]。 ビット単位の論理演算[1] NOT, AND, OR, XORがある。 ビットの位置を入れ替える操作[1] 大きく分けるとシフト演算(一方向に単純に移動させる操作)とローテート演算(ビット列

  • Objective-C入門 : WisdomSoft

    Objective-C入門 この講座は、C 言語(ISO/IEC 9899:1990)を理解していることが前提です Objective-Cとは? インポート クラスの宣言と定義 メソッド 継承 オーバーライド イニシャライザ オブジェクトの解放 静的な型 可視性 クラスメソッド クラス型 セレクタ メソッドのポインタ カテゴリ プロトコル 戻る

  • Main Page - Nemerle Homepage

    Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features. It has a simple C#-like syntax and a powerful meta-programming system. more... The language implementation and this documentation is licensed under free-for-any-use BSD-like license. Activity If you're here to check activity of the Nemerle project, pl

  • C#でインクリメント/デクリメント演算子をオーバーロードする際の注意点 - ぬいぐるみライフ?

    C++では前置・後置で++/--のオペレータオーバーロードを別々に行う必要があるけど、C#の場合前置と後置でメソッド定義を別々にすることができない。 以下はMSDNライブラリからの引用。 operator ++ または operator -- の実装は、後置表記または前置表記のいずれを使っても呼び出すことができます。2 つの表記に対して演算子を個別に実装することはできません。 7.6.5 前置インクリメント演算子と前置デクリメント演算子 (C#) ということは、前置と後置で個別のメソッド定義ができないんじゃ、それぞれの戻り値の差別化はどうすればいいの?と疑問に思ったので調べてみた。 MSDNライブラリの説明 以下はMSDNライブラリによる前置・後置インクリメント/デクリメントの処理手順の説明。 ++x or --x x を評価して変数を生成します。 x の値を引数として、選択された演算子を

    C#でインクリメント/デクリメント演算子をオーバーロードする際の注意点 - ぬいぐるみライフ?
    InoHiro
    InoHiro 2008/10/31
    インクリメント/デクリメント演算子のオーバーロード
  • ちょっと囓っただけの素人が自分を過信して陥る三つの罠? - カレーなる辛口Javaな加齢日記

    http://d.hatena.ne.jp/fromdusktildawn/20081026/p1 うーんと,30点.「もう少しがんばりましょう」レベル.*1 初心者が惑わされると可哀想なので,一応突っ込んどく. 「変数のスコープは狭いほど良い」という迷信 「同じロジックのコードを2度以上書くな」という迷信 「プログラミング言語を極めるのが大切」という迷信 一つ目は大原則.特にグローバル変数は最悪だ.言語によっては避けられないこともあるが,それはコーディング規約などでカバーするしかない. 二つ目も,ほとんどの場合は大原則.未熟なプログラマーには,何故か負担が大きすぎるらしいけど. 三つ目はケースバイケース.ほとんどの場合は言語も極めてない奴の方が多く,まずは「言語を極めろ」は概ね正解. なんだかなぁ。「先ずは使うことを覚えろ」「次に使わないことを覚えろ」「最後に使うか使わないか選ぶことを覚

    ちょっと囓っただけの素人が自分を過信して陥る三つの罠? - カレーなる辛口Javaな加齢日記
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • JavaScript はどのように実行されるか - IT戦記

    JavaScript はどのように実行されるか Safari*1 の実装を例に JavaScript はどのようにして実行されているかを書く。自分用のメモ。日語の出来は気にしない 1. ブラウザを起動して以下のようなページを開いたとする <html> <head> <script> var a = 1; var b = 2; alert(a + b); </script> </head> <body> </body> </html> 2. インターネットからデータが到着する そうすると WebCore::FrameLoader::write という関数に生の文字列が渡される。型は char* だ。 http://trac.webkit.org/browser/trunk/WebCore/loader/FrameLoader.cpp#L990 この関数の中では、到着した文字の文字コードを解

    JavaScript はどのように実行されるか - IT戦記
  • あんそく やる実がC++ でプログラミングするようです

    1 :以下、名無しにかわりましてVIPがお送りします[]:2008/10/24(金) 15:51:32.47 ID:1bqp6Amr0 -‐ '´ ̄ ̄`ヽ、 / /" `ヽ ヽ  \  プログラミング、そこは最期のフロンティア。 //, '/     ヽハ  、 ヽ 〃 {_{ _ノ '   ヽ_リ| l │ i|  現実世界の探求を終えた人類が行き着いたのは レ!小l( ≡) (≡)从 |、i| レ⊂⊃ 、_,、_, ⊂⊃ |ノ    妄想という単調なループの中に見る一筋の夢。 ヽ、  ゝ._)   j / ヽ、 __lj, イ ,r=─--、rノ  へ| /⌒ヽヽ、 \__ `7ニ´-n    自らの人生に疑問を抱くのもいいかもしれない。 /:|    \\ `<⌒|   ||\ く.: : :|   ー-、_.〉'´\_\|,..='」. |  自分の思いを、そして悩みを原稿用紙に書