タグ

TipsとProgrammingに関するyukimori_726のブックマーク (40)

  • ひしだまのホームページ(Hishidama's HomePage)

    S-JIS[2002-02-26/2024-08-21] 変更履歴ひしだま's ホームページ ひしだまのホームページへようこそ! 簡単な注意と説明 [/2009-02-01] 趣味読書 気に入った漫画 [/2023-10-01] リプレイ集(ソードワールド等)の元ネタを記録 [/2008-11-19] 趣味音楽 [/2008-08-02] 趣味っぽくもない映画 [/2008-07-17]、断じて趣味でないアニメ [/2015-12-30], OVA [/2008-03-02]、滅多に見ないTV [/2008-05-05] 趣味自転車 [/2004-02-05] ちょっと言いたい 格言・慣用句・お約束の備忘録 [/2008-11-16] 試験必勝法(?) [2006-10-15] 他人の面白い一コマ [/2007-06-27] コンピューター関連 持っていたハードウェア [/201

  • JavaScriptのコーディングTips集 - 主に言語とシステム開発に関して

    JavaScriptのプログラミングに関するTips集。 主に中級レベルの話題とノウハウを掲載する。 なお,JavaScript初級〜中級をクイズ形式で網羅的に学習するためには,下記のエントリを参照。 JavaScriptの動かないコード  (JavaScriptエラー集) http://language-and-engineering.hatenablog.jp/entry/20080912/1221297779 ※JavaScript以外のプログラミングについては,こちらを参照。 ピュアJSを極める: JavaScriptで,クラスを継承する方法 (複数のサブクラスから共通クラスのプロトタイプを参照する) JavaScriptでの例外設計 (throw,try-catch-finally構文のイメージと利用パターン) JavaScriptで,動的に追加されたイベントリスナの実行順序を保

    JavaScriptのコーディングTips集 - 主に言語とシステム開発に関して
  • [次世代DB編]分散KVSで正規化をしてはいけない

    クラウド上のデータベースとして、分散型のキーバリューストア(分散KVS)を用いることが多くなった。分散KVSは、スケーラビリティーに優れており、特にユーザー数が多いシステムでは利用価値が高い。 ただし、分散KVSにはいくつかの制約があり、システム開発に利用する際には、これまでの“RDBMS脳”をいったんリセットする必要がある。中でも、RDBMSでは真っ先に考慮していた「正規化」については、分散KVSでは原則として行ってはいけない。 分散KVSの四つの特徴 なぜ分散KVSでは正規化をしてはいけないのか。これを理解するには分散KVSの特徴を押さえる必要がある。分散KVSには、大きく四つの特徴がある(図1)。 一つは、分散KVSでは問い合わせにキーを使って、バリュー(値)を取得することだ。データ構造が単純なので、データの取り出し時間が短くて済む。PerlPHPの連想配列や、JavaMap、C

    [次世代DB編]分散KVSで正規化をしてはいけない
  • 今更Sleepの解説するなんて、と思うのです。

    概要 最近、Sleep関数について、誤解をしていると思われる記述を多く見かけるようになりました。記事では、間違った使用方法を例に挙げ、何が間違っているのか、どう使うべきなのかについて、考察します。 はじめに いくつかの掲示板で、Sleep関数の使い方を誤解しているのではないかと思われる質問を目にしました。その時は、「解説者はわかっているからいいか」と思っていたのですが、解説記事において間違った使い方をしている記事を目にしました。その為、誤った使い方の実例を元に、何が、何故、間違っているのか解説を行います。 記事の実行環境について 記事では、論理CPU数が2個の環境を想定しています。記事で提示するコードを論理CPU数が3個以上の環境で実行する場合、スレッド数を増やして実行してください。 記事で使用するコードは、Visual C++ 2008 にて作成しています。OpenMP をサポ

  • 横着プログラミング 第1回: Unixのメモ技術

    最終更新日: 2002-03-18 (公開日: 2002-03-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 横着プログラミングとは 私は必要が発明の母だとは思わない。私の意見では、発明とは怠惰 から、おそらくはまた、まさに無精から生じるものである。面倒を 省くために。 -- アガサ・クリスティ この言葉によると、どうも発明とは横着したいがために生まれるも のらしい。そう考えてみると確かに、私がプログラミングをする動 機は、横着するためのソフトウェアを作るため、という要素が大き い。突然、「うげー、面倒くせー」と叫んでプログラムを書き始め るのである。 そんなわけで、横着するためにプログラミングすることを私は勝手 に「横着プログラミング」と呼んでいる。連載では横着プログラ ミングをテーマに、横着のコツや私が作っ

  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
  • 最近の Emacs のコメント機能についてのまとめ。 - 日々、とんは語る。

    追記 この記事を元に書籍が出来ました! 時間と命を削って、より詳細に解説しましたので、Emacs に興味がある人はぜひ一度手に取ってみて下さい。 Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus) 作者: 大竹智也出版社/メーカー: 技術評論社発売日: 2012/03/07メディア: 単行(ソフトカバー)購入: 22人 クリック: 396回この商品を含むブログ (1件) を見る大相撲の場所終了の傷心も癒えてきたので、久しぶりに Emacs について書きます。 エディタの重要な機能のひとつにコメントとコメントアウトがあります。 Emacs のコメント機能はとても優秀で、標準で様々な言語をサポートしています。ですので、拡張やプラグイン的なものをインストールすることなく、簡単にコメントをつけたり、コメントアウトしたり、それを解除したりできま

    最近の Emacs のコメント機能についてのまとめ。 - 日々、とんは語る。
  • ウノウラボ Unoh Labs: 分かったつもりになるAndroid開発方法

    こんばんは。うちだです。 皆さんAndroid携帯は購入しましたか? 社内ではiPhone勢が多く、Android携帯所持は私だけという悲しい現実を目の当たりにしています。 そこで以前、社内勉強会にて、Androidの素晴らしさを皆に知ってもらおうと発表した内容が今回のエントリーです。 今回のエントリーでは開発者視点で分かったつもりになる為に、広く浅く書いてます。 気で分かるには公式ドキュメントや書籍及び参考リンクをご参照ください。 参考: Android | Official Website 特徴 環境 Linuxカーネル BSD UNIXのlibc アプリケーションはDalvikと呼ばれるVM上で動作 主にJavaで開発 Google提供のSDKあり Eclipseプラグインあり アーキテクチャ 参考: わかった気になる気になるandroid メリット マルチタスク inten

  • XPath に文字列を埋め込むときの注意 - IT戦記

    よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をしないんですよね たとえば、以下のような例です。 var text = '"] | /hoge/fuga/piyo | .["'; document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); というわけで 任意の文字列を XPath の式に変換する JavaScript を書いてみた 以下で試せます http://amachang.sakura.ne.jp/misc/xpath_es

    XPath に文字列を埋め込むときの注意 - IT戦記
  • https://blog.8-p.info/2009/09/devel-nytprof

  • Parsec, 高速なコンビネータパーサ

    文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@

  • jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog

    肩こり歴20年のagoです。 社内でもjQueryを使う人間が増えてきたので、jQueryを使う人が陥りやすい罠をいくつかあげてみたいと思います。 (私が過去にはまったり、今はまっている罠です) 1 グローバルの名前空間を使わない jQueryはwindow objectの汚染が少なくほかのライブラリとの共存が行いやすいですが、特定のサイト向けに開発する場合window objectを使用してもそれほど問題は発生しません。 しかしjQueryに慣れるとwindow objectの使用をいかに避けるかを考えるようになり、jQueryと関係ないfunctionや変数まで$.hogehogeに実装しようとしてしまいます。 これはwindow objectの代わりにjQuery objectを汚染しているだけなので、素直にwindow objectを使用したほうが普通に実装しやすいでしょう。 2

    jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog
  • 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ならそういう方法もあり得るが、そうはいかな

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

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

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

  • irb_rocketでirbをハッシュロケット化する - Hello, world! - s21g

    irbはインタラクティブにrubyのコードを実行出来る 非常に便利なユーティリティですが、 脳内にある「irbのあるべき姿」と比べると、 ちょっとだけ足りないところがあると思っていました。 そこで、思い通りの動きをするようにirbをカスタマイズする irbプラグイン irb_rocket を作ってみました。 これを使うと、いつも見慣れたirbが、こんな風になります。 inputの末尾に#=>に続いて結果が表示されます 結果はWirbleを使って色づけしています 標準エラー出力への出力は赤で表示します インストール方法 irb_rocketは wirble と ruby-terminfo に依存しているので、 それらをインストールします。 続いて、以下のようにhttp://merbi.stからgemをインストールします。

  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • バッドノウハウ通信(全6回)の最終回がgihyo.jpで公開されて完結!

    バッドノウハウ通信(全6回)の最終回がgihyo.jpで公開されて完結! 2009-06-15-2 [Book] WEB+DB PRESS 連載されていた高林哲氏によるエッセイ「BK通信 -Bad Knowhow Tsushin-」の最終回が gihyo.jp で公開されました。 これを記念して全六回をリストアップ。 - #01 JavaScriptのバッドノウハウ http://gihyo.jp/dev/serial/01/bk/0001 - #02 数字のバッドノウハウ http://gihyo.jp/dev/serial/01/bk/0002 - #03 C++のバッドノウハウ http://gihyo.jp/dev/serial/01/bk/0003 - #04 ブラウザのバッドノウハウ <form>編 http://gihyo.jp/dev/serial/01/bk/0004 -

    バッドノウハウ通信(全6回)の最終回がgihyo.jpで公開されて完結!
  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro