タグ

Programmingに関するmukakenのブックマーク (99)

  • PHPで都道府県、市区町村、町域名以降の住所分割を高速に行う方法 - 理想未来ってなんやねん

    一つに結合された住所文字列から、『都道府県』、『市区町村』、『町域名以降』を高速に分割したい。 簡単に思いつく方法としては、日郵便で公開されている住所データを元に1行づつ比較していく方法が考えられますが、生成に時間が掛かってしまいます。 こんな時にmecabを使うと簡単且つ高速に分割できます。 住所辞書の作成 まずは住所辞書を作成します。 そのために住所辞書の元になるデータ用意する必要がありますが、今回は日郵便で公開されている郵便番号データを使いました。 公開されているデータファイルはlzh形式となっているので、lhaで解凍します。 CentOSでのlhaのインストールは『CentOSでlhaを使う - 理想未来はどうなった?』を参考にしてください。 wget http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh

    PHPで都道府県、市区町村、町域名以降の住所分割を高速に行う方法 - 理想未来ってなんやねん
  • プログラミングに関するあまり知られていない7つの真実

  • 非遅延純粋関数型言語IMO(Io MOnad)を公開します - kmizuの日記

    2年半くらい前に、言語開発合宿という、二泊三日でオレ言語の仕様とその処理系を作るという楽しいイベントがありまして、その時に、「HaskellのIOモナドがよくわからんから、実際にIOモナドを持ったミニ関数型言語を作って理解しよう」と思って作ったものです。ずいぶん長い間古いノートPCの中に埋もれていたのですが、ふと思い出して、せっかくだしということで公開することにしました。処理系はここから、サンプルプログラムはここからダウンロードできます。実用性は皆無なのでその点に注意してください。コマンドラインから以下のように入力することで、プログラムを実行できます。 java -jar imo.jar [プログラムファイル名]以下、IMOのドキュメントです。間違いや言語仕様に関する質問・要望はコメント欄で受け付けています。あと、たぶん居ないと思いますが、もし、ソースコードを公開して欲しいという方が居るよ

    非遅延純粋関数型言語IMO(Io MOnad)を公開します - kmizuの日記
  • 「プログラミングの基礎」

    浅井 健一 著 サイエンス社 2007 年 2 月 出版 Computer Science Library 3 サポート情報 (1)OCaml のインストールと日語の表示法 a)MacOS X b)Linux c)Windows (2)メトロネットワークデータ (3)演習問題解答例、ほか (4)参考となる資料 (5)改訂履歴(正誤表) (6)著者による授業紹介

  • www.kotha.net

    ai2011sim Amaryllis the insanity 2011というゲームのシミュレータ。 Haskellコードの高速化 Haskellで速いコードを書くためのヒント集。 雑多なもの ページを作るまでもないような雑多なものです。 m100sim ステッパーズ・ストップの非電子ゲームであるマーガレッド・ハンドレッドの戦闘処理をコンピュータ上で行うためのソフトウェアです。 Cプリプロセッサ上で動作するBrainfuckインタプリタ 「FF12の乱数について」 PS2用ゲームFinal Fantasy XIIの内部的な乱数の扱いについて。 cxxgrass ちょっと草植えときますね型言語Grassのコンパイラ。 tcgsim TCGというアナログゲームのwebシミュレータです。関数型言語を使ってキャラに行動指針を与えることができます。 栄光のグラスゴーHaskellコンパイルシステム

  • エキスパート Python プログラミング — エキスパート Python プログラミング v0.9 documentation

    1章: 始めよう¶ Pythonのインストール Pythonの実装系 Jython IronPython PyPy その他の実装 Linux へのインストール パッケージインストール ソースコンパイル Windows へのインストール Python のインストール MinGW のインストール MSYS のインストール Mac OS X へのインストール パッケージインストール ソースコンパイル Python プロンプト インタラクティブプロンプトのカスタマイズ iPython: より良いプロンプト setuptools のインストール 動作原理を理解する EasyInstallを使ったsetuptoolsのインストール distutilsにMinGWのフックを入れる 作業環境 エディターと補助ツールを使う コードエディター Vimのインストールと設定 その他のエディタを使う その他のバイナ

  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • 『Software Design』の10年間がこの1冊に──『Software Design総集編【2000~2009】』発売決定!:新刊ピックアップ

    Software Designの創刊は,1990年の秋にさかのぼります。当時は,コンピューティングに対する興味が,弊誌の前身とされる『プロセッサ』に代表されるようなハードウェアに近い部分から,徐々にソフトウェアだけの情報に移ってきた時期でした。言い換えると「コンピュータを使う=プログラミングする」という図式の時代から,徐々にアプリケーションユーザが広がりつつあった頃で,ほんの一部の愛好家にしか読まれていなかったコンピュータ雑誌にも,バリエーションが現れはじめた時代だと言えます。 そんな中,弊誌は,「⁠ワンランク上のコンピューティングを目指す人」をターゲットに,それまで英語だったり難解なマニュアルや堅苦しい研究書にしか載っていなかった情報を,わかりやすい形でお見せする,というコンセプトで発刊されたのです。 総ページ数2万4,000ページ超! Software Design創刊以来初となる総集

    『Software Design』の10年間がこの1冊に──『Software Design総集編【2000~2009】』発売決定!:新刊ピックアップ
  • 「新春座談会 このコンピュータ書がすごい! 2010年版」の模様が動画で公開されています | gihyo.jp

    1月9日、ジュンク堂書店池袋店において、トークセッション「新春座談会 このコンピュータ書がすごい! 2010年版」が開催されました。イベントの模様が動画で公開されているので、興味のある方はご覧いただければ幸いです。 なお、年間ランキングは以下のとおりです。 2009年間ランキング

    「新春座談会 このコンピュータ書がすごい! 2010年版」の模様が動画で公開されています | gihyo.jp
  • 第1回 みなさんの飛躍のきっかけとなった本は? | gihyo.jp

    はじめに IT業界というと、3Kだとか、帰れないとか、泥のようにだとか、昔からいろいろ言われてきています。しかも、Mっ気のある人が多いせいか、言われても反論したり怒ったりせずに、そのままネタにして楽しんでいたりするから余計にたちが悪かったりします。とは言ってもその実、業務外でも頼まれてもいないのに積極的に勉強会に行って同業他社の人と交流したり、土日までつぶしてイベントを開催したり、大量のを買って家の中がいっぱいになったり…家も会社も関係なく、全力でIT技術者という職業を楽しんでいる人が数多くいます。中には、海外のカンファレンスまで出かけてしまう人もいるぐらいです。まだ、勉強会という場を知らないために、出てこない人もいますが、一度楽しさを知ってしまった人は定期的に色々な勉強会に顔を出して新しい情報を取り入れたり、人に教えて感謝されたり、自信が付いたり、多くの恩恵に授かっています。 さて、そ

    第1回 みなさんの飛躍のきっかけとなった本は? | gihyo.jp
  • Amazon.co.jp: The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで: Maurice Herlihy (著), Nir Shavit (著), 株式会社クイープ (翻訳): 本

    Amazon.co.jp: The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで: Maurice Herlihy (著), Nir Shavit (著), 株式会社クイープ (翻訳): 本
  • Smarty - PHPで利用するテンプレートエンジン

    SmartyはPHPで利用できるテンプレートエンジンです。Smartyを使うことで画面デザインとプログラム部分を分けて開発することが容易となります。ここではSmartyのインストールと実際の利用方法について確認していきます。 ダウンロード インストール php.iniへの設定追加

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • ソフトウェア設計で大切なこと(1/2):An Agile Way:オルタナティブ・ブログ

    明けましておめでとうございます。 去年は少し、アジャイルアジャイル言い過ぎた気がしており、今年はもう少し大切なことの範囲をエンジニアリングに回帰して、再度言おうと思っています。 オブジェクト指向やテスト技法をはじめとするソフトウェア工学の知識とスキルは、ソフトウェア開発に携わる人には絶対必要なもので、その上で、プロジェクトマネジメント手法としてのアジャイルがある。 ということは、もういちどちゃんと言っておこう。そう思った動機は、James Shore の「Art of Agile Development」を訳したこと。そして、それはXPのだったこと。ここ3年くらいXPという言葉はAgile界では下火になっていて、AgileといえばScrumという風潮だったのが、「エンジニアリングの無いScrumは所詮うまく行かない」、というJames Shoreの当然な一撃があった。InfoQの日

    ソフトウェア設計で大切なこと(1/2):An Agile Way:オルタナティブ・ブログ
  • 絵をプログラムする言語「Processing 1.0」が正式リリース | パソコン | マイコミジャーナル

    絵をプログラムする言語「Processing」が正式リリース Processing開発プロジェクトは24日 (米国時間)、グラフィックデザイン用プログラミング言語「Processing 1.0」をリリースした。動作環境はWindowsMac OS X、およびLinux。ライセンスにはGNU GPL / LGPLを適用、オープンソースソフトウェアとして無償公開される。 Processingは、電子アートおよびグラフィックデザインを目的としたプログラミング言語。Ben Fry氏とCasey Reas氏が在籍していたMITメディアラボで2001年に開発を開始、Javaベースの実行環境と簡易IDE (sketchbook) によるプログラミング環境として整備された。変数や制御構造など言語としての基礎はJavaに準じるが、プログラミング言語の文法やAPIの用法に精通していなくても、高機能かつ高速な

  • プログラミングテクニックのまとめ - プログラミング日記

    とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損

    プログラミングテクニックのまとめ - プログラミング日記
  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • 「=>」の読み方、Rubyでは「hash rocket」、Javaでは「fat arrow」、C++では「goes to」 - Servlet Garden @はてな

    プログラムやコマンドの使い方を言葉で、たとえば電話越しで説明しないといけない状況に陥ったときにハタと困ったんですよ。「これ、どう発音すれば相手はわかってくれるのか‥?」と。プログラムと言えば、{}だの、^だの、なんとも言い表しがたい記号があちこちに散在しています。調べてみたら、こんなブログがありました。英語のネイティブスピーカでもけっこう困っているんですねぇ。 » Coding Horror 冒頭には "I responded with a single line of Ruby to do the same, and a single line of Lisp." "He wrote back: "Underscores, pipes, octothorpes, curly braces -- "、、、"What the heck is an octothorpe?" とあり、笑えます。

    「=>」の読み方、Rubyでは「hash rocket」、Javaでは「fat arrow」、C++では「goes to」 - Servlet Garden @はてな
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • エラー処理とログ出力

    ソフトウェアの開発において、エラー処理は、時には来の機能よりも重要です。業務として開発するソフトウェアでは、来の処理を行うためのコードよりも、エラー処理のコードの方が量が多くなることも良くあります。 ところが、実際のソフトウェアの開発では、エラーをどこでどのように出力するかについては、実装者任せになってしまうことが多いようです。ソフトウェア設計書を見ても、エラーの出力については記述されていないことも良くあります。実装が終わってから、最後に慌しくエラーの出力を組み込むこともあります。 エラー処理について考えてみると、たくさんの難しい問題があることが分かります。これらの問題を理解した上で、きちんとエラー処理の仕組みを考えないと、ソフトウェアの設計や品質にも、重大な影響が及ぶかもしれません。 エラー処理とログ出力は、来、どのようにして行うべきなのでしょうか。 エラーを知らせる仕組み ソフト

    mukaken
    mukaken 2008/05/06
    エラー処理