タグ

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

  • Online.sg

    この勉強会について オンライン上での勉強会です。現在は毎回テーマを設定し、それについて相互に教えあったりする形式で行おうと考えています。 学生向きです。 言語等に特に縛りは無く、お互いが知りたいと思っていることをテーマにして、それについて知識を共有し合える場を作れるような勉強会を目指したいと思っています。 sora_h(ソラ)とPasta-Kが中心となってやっています。 至らないところもあると思いますが、みんなで作っていきましょう。 こんなテーマやりたい!っていうのもお待ちしています。 (詳細) 開催場所http://chat.onlinesg.org/ (Lingrへリダイレクトします) 未登録ユーザは登録画面にリダイレクトします。 参加者雑談用Skypeチャット(雑談/情報交換etc用) 注意:開催する場所ではありません!雑談/情報交換etc用です Skypeのルームになっています。

  • 続・バグを生まないコーディング法 | EE Times Japan

    フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動

  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
  • Fabulous Adventures In Coding - Site Home - MSDN Blogs

    Eric Lippert's Erstwhile Blog Why is deriving a public class from an internal class illegal? In C# it is illegal to declare a class D whose base class B is in any way less accessible than D.... Author: Eric Lippert Date: 11/13/2012 It's still essential! I am pleased to announce that Essential C# 5.0 by Mark Michaelis, and, new for this edition, yours... Author: Eric Lippert Date: 11/09/2012 Dynami

    Fabulous Adventures In Coding - Site Home - MSDN Blogs
    InoHiro
    InoHiro 2009/07/24
    "Immutability in C# Part Two: A Simple Immutable Stack"
  • イミュータブル - Wikipedia

    イミュータブル (英: immutable) なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのことである。対義語はミュータブル (英: mutable) なオブジェクトで、作成後も状態を変えることができる。mutableは「変更可能な」、immutableは「変更不可能な、不変の」という意味を持つ形容詞である。 あるオブジェクト全体がイミュータブルなこともあるし、C++でconstデータメンバを使う場合など、一部の属性のみがイミュータブルなこともある。場合によっては、内部で使われている属性が変化しても、外部からオブジェクトの状態が変化していないように見えるならば、オブジェクトをイミュータブルとみなすことがある。例えば、コストの高い計算の結果をキャッシュするためにメモ化を利用していても、そのオブジェクトは依然イミュータブルとみなせる。イミュータブルなオブジェクトの初期

  • Web API/Mashup開発者に必須!オフラインでも外部アクセスをテストできる·FakeWeb MOONGIFT

    今はネットワークを使ったWeb APIを提供するサービスが増え、それを利用したMashupも増えてきている。様々なデータを容易にとれ、Webシステムを開発できるのは魅力だが、開発中にもネットワークが必須というのが大きな足かせになる。 Mashupのテストがしやすくなる便利なライブラリ また、アクセス自体に料金がかかる場合、開発中の利用を躊躇してしまう。そのような経験がある方はFakeWebを使うべきだ。 今回紹介するオープンソース・ソフトウェアはFakeWeb、Webアクセスを偽装する便利なライブラリだ。 この手のものは一時期考えなくもなかったが、自分でサーバを立てる方法がいいかと思っていた。だがFakeWebの場合は違う。指定したURLへのHTTP(恐らくHTTPSも)接続を横取りし、予め指定した結果を返すライブラリだ。 複数アクセスによって返却値を変えられる 予め返却されるデータと、接

    Web API/Mashup開発者に必須!オフラインでも外部アクセスをテストできる·FakeWeb MOONGIFT
  • Shibu's Diary: 「ソースコードをきれいに書く唯一の方法」は4つある

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 taken by Manuel_Marin なんとなく書いたら、アクセス数が10000件超えたソースコードをきれいに書くための方法の記事。r-westさんの「きれいなソースコードを書くために必要な、たったひとつの単純な事」と、uwiさんの「誰がためのきれいさ?」と、フォローのトラックバックまで頂きました。僕のも含めてそれぞれスタンスが違いますが、どれが正しいとか、どれが一番いいかというのはないと思っています。人によってどっちがいいかは別れるはずです。人によっていちばん苦労がなくて、モチベーションがあがる方法がそれぞれの人にとっての正解である、というのが僕の考えです。 モチベーションマネージメントというのがよく言われるけど、「モチベーションを上げろ」と言われて上がる人なんていませ

  • マルコフモデルを使った人工無能の作り方 - Hacking My Way 〜 itogのhack日記

    2014/12/13 追記 このブログで参考にしていた絶版の復刻版が出たようです。 追記ここまで 先日、チャットボットを作りました。 「恋するプログラム」というを参考にしたのですが、この、既に絶版になっていて、Amazonのマーケットプレイスではなんと定価の3倍以上の値段で売られています! うーん、これだと手が出ない、けど内容知りたい、、という方のためにクラス図を描きました。書には設計図がかかれてなかったので、持ってる人も確認する意味での役には立つかも知れませんし、Rubyは書けないよ!という方の参考にもなるかと思います。 書で紹介している人工無能の最終形はこんな感じです。 Nobyというのが人工無能のキャラクター、Unmoが人工知能のメインクラスです。Emotionは感情のモデル、Responderが返答内容を作るクラスで、DictionaryやMorph、Guguluなどを参

    マルコフモデルを使った人工無能の作り方 - Hacking My Way 〜 itogのhack日記
  • 2007-02-23

    今週は毎日書こうと思ってたけど全然駄目なのだった。 わかりません。 それはいいとして、オートマトン勉強してたのは(http://d.hatena.ne.jp/w_o/20070218#p4)、別に学歴コンプレックスなわけではなく、正規表現やろうとしてたからなのだった。 で、正規表現ライブラリを自作するのは面白いかもしれないね。と、思ったとかの話。 を、書こうと思ってたらもう大分飽きてたのだった。 まず、ネタとして、NFAシミュレータがネイティブ機械語になってたら速くなるんじゃないかー、とか、思ったのだけど、NFAはオーダーがヤバいので、あんまりコンパイルしても意味無いというのに気付いたというか、http://swtch.com/~rsc/regexp/regexp1.html ここ読んだとか、それ以前に、NFAとDFAの性能の違いは基中の基のような気が。 とにかく、NFAとDFAがあっ

    2007-02-23
  • Scala as the long term replacement for java/javac?

    Random ramblings on Open Source, integration and other malarkey Don't get me wrong - I've written tons of Java over the last decade or so & think its been a great evolutionary step from C++ and Smalltalk (lots of other languages have helped too like JavaScript, Ruby, Groovy, Python etc). However I've long wanted a long term replacement to javac. I even created a language to scratch this itch. Java

  • プログラマの麻疹 - 宇宙行きたい

    id:t-wada と話してた時に出てきた「プログラマの麻疹」 プログラマはみんなどうせかかるんだから早めにかかっておいた方が良い そしてかかっておくと治った後にはさらに良いコードが書けるようになるので 恐れずにかかりましょう 名前 症状 僕の状態 OO 厨 多分、現在一番キャリアが多い。一時期 AOP 厨になってしまった人も含むことがある。Smalltalk を神格化し始める かかり中 function 厨 最近増えてきた。マルチコア時代に最適というわかりやすい感染源ができたことも要因の一つ。LISP が世界を作っていると信じる 挫折中 三項演算子厨 どんどんネストした三項演算子を書いてしまう。気がつくと自分でもよくわからなくなってることもある 治療済み テスト厨 テストのためだけにコードを書いてしまう。プロダクトコードのきれいさよりもテストのしやすさを求めてしまう 治療中 lambda

    プログラマの麻疹 - 宇宙行きたい
  • 初等ロリータ指向(×嗜好)プログラミング

    ■ 初めに 近年、コンピューターは多種多様な分野へ応用されており、プログラムの必要性はますます増大しています。 このような状況の中で、非創造的なプログラミングに不満を抱いているプログラマーは多いのではないでしょうか? プログラムには「創造的」なものと「非創造的」なものがあります。プログラマーであればこの違いは明白だとは思いますが、そうではない人間にはこのこと を理解することは難しく、そのことでも不満を持っているのではないでしょうか? 「非創造的」プログラムは、「創造的」プログラムがまさしく技術的な仕事であるのにしたいして、事務的な仕事であると言えるでしょう。 事務的な仕事は、女性のほうが男性よりも得意だとも言われたりしますが、そんなことは何より、モチベーションがどんどん低下してしまうので、仕事の能率 も落ち、これをどれだけ維持するかと言うことは重要な問題です。 そこで、この問題を解決するた

    InoHiro
    InoHiro 2009/07/04
    これはひどい
  • ひどすぎるネーミング - idesaku blog

    UKTKKNSHINF こういう名前の変数が出てくるのだが、意味わかる? 答え:受付禁止情報 今読んでいるPL/SQLコードは当にひどい出来なのだが、その中でもネーミングが群を抜いてひどすぎてむしろ笑えてくるので、ここでさらしてみたい。 先ほどの例でわかると思うが、悪しきネーミング習慣である子音母音抜きの嵐である。変数名だろうが関数名だろうがこのルールで命名されているので、暗号文を読んでいるような気分になる。 他には、例えばこんなのがある。 SKSI 作成 HNKN 変換 KKT 確定 CHKN 中間 DTM Datetime DTA Data こうして見ると、ktkrやwktkとなんら違いがない。 "作成"のような、比較的簡単に対応する英単語が見つかるものまで日語子音母音抜きで書くという徹底ぶり。でも"情報"はINFだったりする統一感のなさ。そしてこれらが単独ならまだしも、複合して出

    ひどすぎるネーミング - idesaku blog
    InoHiro
    InoHiro 2009/07/04
    KRHHD(これはひどい
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

    InoHiro
    InoHiro 2009/07/03
    ”とにかく、ファクトリメソッドパターンを使うこと”
  • プログラマーとしてアセンブラ言語やマシン語は覚えておくべきですか?:アルファルファモザイク

    3 仕様書無しさん :2009/06/12(金) 20:02:33 知らないよりは、知ってれば有利。 今じゃほぼ無いと思うが、昔はコンパイラにもバグがあって、それを調べるのに重宝した。 4 仕様書無しさん :2009/06/12(金) 20:05:40 むしろ言語を学ぶこと自体既に意味がなくなりつつ 6 仕様書無しさん :2009/06/12(金) 20:36:10 なぜにC言語 言うのが20年ばかり遅くはないか 8 仕様書無しさん :2009/06/12(金) 20:54:30 業種によるだろ。JK 9 仕様書無しさん :2009/06/12(金) 21:47:13 ニーモニック表が読めればOK 10 仕様書無しさん :2009/06/12(金) 22:10:32 ローカル変数やヒープ、関数の呼び出し規約、スタックの構造が想像できるようになると、デバッグ効率も全

  • マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。

    そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ

    マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。
  • http://ar.rubyonrails.org/

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • ZDNetのポインタ解説記事で勘違い | スラド デベロッパー

    ZDNetに C/C++のポインタの機能 — 参照渡しのような処理というポインタの解説記事があるのだが、 中身がなかなか香ばしい。コメントにもあるように、記事の間違いを探すということで ポイントを理解させるというネタには使えるのだろうか。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知