タグ

programmingに関するsadahのブックマーク (171)

  • スタックトレースの読み方 - wyukawa's diary

    僕もスタックトレースの読み方についてちょっと書いてみる。 例はOracle Technology Network for Java Developers | Oracle Technology Network | Oracleを使う。 1:class MyClass { 2: public static void main (String args) { 3: crunch(null); 4: } 5: static void crunch(int a) { 6: mash(a); 7: } 8: static void mash(int[] b) { 9: System.out.println(b[0]); 10: } 11: } これを実行すると以下のようになる Exception in thread "main" java.lang.NullPointerException at M

    スタックトレースの読み方 - wyukawa's diary
  • とあるコンサルタントのつぶやき - Site Home - MSDN Blogs

    MCS (Microsoft Consulting Services) の某コンサルタントがまったり語るテクノロジのお話です。 触って覚える Microsoft Azure 今日から TechSummit 2018... Author: nakama Date: 11/05/2018 Docker for Windows & Web Apps for Containers 実践活用技法 先日、しれっと営業部門のクラウドソリューションアーキテクトに異動した話を書いたのですが、このロールは Azure... Author: nakama Date: 09/27/2018 Agile も DevOps も銀の弾丸なんかじゃない ……と、のっけから噛みつかれそうなタイトルを掲げてみたのですが;、ここ最近、立て続けて数件、「いやそれはアジャイルとか無理だろ;」的な話があって、ちょっとエントリを書いて

    とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
  • try/catch or throws しなきゃいけないとき - techlog

    後輩に聞かれたので書いてみる。 Javaクラスはそのクラスが投げるチェック済み例外をすべて、メソッド・シグニチャーの中で宣言する必要があり、またタイプEのチェック済み例外を投げるメソッドを呼ぶメソッドはどれも、Eを捉えるか、同じくE(またはEのスーパークラス)を投げるとして宣言する必要があります。こうすることでJava 言語は、制御がメソッドから出る方法として想定できるものをすべて、強制的に文書化させるのです。 Javaの理論と実践: 例外をめぐる議論 というわけです。というのも寂しいし、なんとも固い感じなのでもうちょっと噛み砕いてみる。 自分が呼び出しているメソッドで例外が投げられる場合、自分が書いているメソッドでその例外を捉えるか、例外を投げる宣言をする必要がある。 具体的に SimpleDateFormat を例にして考えてみる。 SimpleDateFormat の format

    try/catch or throws しなきゃいけないとき - techlog
    sadah
    sadah 2009/02/22
    例外処理について
  • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

    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.

    連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
  • 検査例外と非検査例外(実行時例外)をどう使い分けるか - Masa / Lino Blog

    とある後輩が執拗に検査例外と非検査例外の使い分けについて聞いてくるので、久しぶりに真面目な話を書いてみます。 最初は一般的なJava言語的な解釈。 Effective Java的には次のようなベストプラクティスが書かれています。 40項: 回復可能な条件にはチェック済み例外を、プログラミング・エラーにはランタイム例外を使う。 Effective Java プログラミング言語ガイド 後者の「プログラミング・エラーにはランタイム例外を使う」っていう部分は、NullPointerExceptionとかの実行時例外は呼び出す側の頑張りで回避可能ということで非検査例外で処理するべきだよってことでしょう。 一方前者の「回復可能な条件にはチェック済み例外を」の部分ですが、回復可能な条件であればその通りだと思います。 ちなみにJava SEでは回復不可能でもSQLExceptionやFileNotFoun

    検査例外と非検査例外(実行時例外)をどう使い分けるか - Masa / Lino Blog
  • Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS

    Throwable、Exception、RuntimeException(RTE)、Errorあたりを整理しながら、色々考えてみた。私見に基づくので、間違っているかもしれないけれど、自分としては頭が整理できたかな、と感じたので晒してみる。異論があったらコメントください。 まず、一番基礎的なところで、継承関係の整理から。こんなツリーになっています。 Throwable Error Exception RuntimeException そして、稿での用語の定義。caller=呼出す側のコード callee=呼出される側(throwする側)のコードとします。 Throwable Throwableは「throw文に指定できる何か」という意味ですね。 Instances of two subclasses, Error and Exception, are conventionally used

    Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS
  • 僕がTDDをやめた理由 - カタチづくり

    タイトルは、まあ、半分釣り。TDDな人もそうでない人も、肩の力を抜いてお気楽にどうぞ。 題に入る前に まずお礼 ここで書くことは、前の記事 TDDはYAGNIに矛盾する? - カタチづくり から派生して色んな方と意見を交わした経験が元になっています。この場を借りて、色々とアドバイスを頂いた方に心から感謝の意を表します。 特にコメント欄にお寄せいただいた きしだ さんのコメントは、コメントと言うよりももはや一つの素晴らしい記事となっていて、もう必読といってもいいレベルじゃないでしょうか。当にありがとうございます。特にBDDについて大きなヒントを頂きました。 押し付けではなく、交換 タイトルから想像がつくとおり、ここにはどうしてもTDDに対して否定的な意見ばかりが並んでしまう。でも、だからといって僕がTDDを完全に否定しているとは思わないで欲しい。 僕が今一番恐れていることは、TDDに対し

    僕がTDDをやめた理由 - カタチづくり
  • ブックマークレット作法 - ellaneous

    今や少し複雑なブックマークレットは外部から読み込むのが当たり前になり,gist やら coderepos やらのおかげで置く場所にも困らない。*1 この際の書き方は人によって結構まちまちだが,やることは同じなのだから「これコピペすれば FA」的なテンプレがあってもいいはずと考え,模索してみた。 方針 変更する所を前方にまとめて共通部分は後方に括り出す まず名前を明記 (↓で自明なら省略) その後にスクリプトの URI 複数読めるように 「%nn」が入ると何かと面倒*2なので空白文字を避ける 汚染しない この3つは単体で動くものを書くときにも気を付けると吉。 成果物 javascript:'{name}',['http://a.b.com/0.js','http://l.m.net/1.js',function(d,i,e){for(i=this.length;--i;d.body.appe

    ブックマークレット作法 - ellaneous
  • jsmario.com.ar

    This domain may be for sale!

  • Terminal.appで選択時にコピーするSIMBLプラグインを作りました - Hello, world! - s21g

    MacOSXのTerminal.appで、選択をした時に、 自動的に選択した文字列をコピーするSIMBLプラグイン TerminalCopyOnSelect を作ってみました。 TerminalCopyOnSelect.bundle.zip インストール方法 まずはSIMBL をインストールします 上述のTerminalCopyOnSelect.bundle.zipファイルをダウンロードして展開します 展開されたTerminalCopyOnSelect.bundleを、 ~/Library/Application Support/SIMBL/Plugins/の下にコピーします。 ディレクトリが無い場合は作成してください。 Terminal.appのプロセスを終了し、Terminal.appをもう一度起動します これでOKです。 一時的にこの機能をオフにする場合は、 以下のようにメニューから

  • Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ

    Javaのコネクションプーリングがどのような仕組みになっているのか、知らない人は結構多いんじゃないかと思います。 Slim3のコネクションプーリングの実装を見ると、この辺が理解できるようになります。トランザクションとコネクションプーリングがどのように連携しているかを把握することは重要です。 http://svn.slim3.org/browse/trunk/slim3/slim3-datasource/src/main/java/org/slim3/datasource/ 登場人物は、4人しかいないから簡単ですね。 最初に見て欲しいのは、ConnectionWrapper。DataSource.getConnection()したときに戻されるコネクションの実態です。このコネクションを論理的なコネクションと呼ぶようにします。 主な役割は、コネクションがクローズされたときに、コネクションをプー

    Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ
  • たった2週間でWEBサービスを6つ立ち上げる究極の方法! - 粋blog

    恵比寿のIT関連の会社で営業マンをする今をときめく21歳。IT業界のえがちゃん♂こと永上裕之です。 いろんな人と話したんです!超気軽に連絡ください♪ TEL:090-2033-5444   メール:egachan★gmail.com  Twitter:egachan Skype:hiroru123  メッセ:hiroru123@msn.com  mixi:165462 NEW!!→→ラジオで喋って来ました(笑)ラジオ版:その1、その2 ニコニコ版:その1、その2←← サービスのコンセプトは全て統一 どうも、今をときめる21歳。IT業界のえがちゃんです(笑) 今回のテーマは『検索』でした。 具体的に6つのサービスをカテゴライズしつつ紹介します。 ●画像検索 画像in - サクサク画像検索しちゃう ●動画検索 YouTube2.in - サクサク動画検索しちゃう ●2

  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

  • もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様

    もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • GoogleのMapReduceアルゴリズムをJavaで理解する

    GoogleMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc

    GoogleのMapReduceアルゴリズムをJavaで理解する
  • http://karetta.jp/book/cforjava

  • Java でラムダ - IT戦記

    λ... λ... ちょっととおりますよ はじめに C++ Template の勉強をしていて、気がついた。 ネストした(内側から外側が見える)名前-値の空間が存在し 値から名前-値の空間を生成することが可能で その空間を生成するための情報を値として扱え 名前-値の空間の中の一つ以上の値を取り出せると ラムダが出来る。 という訳で Java でラムダを作ってみた import static java.lang.System.out; public class Hoge { public static void main (String args[]) { // チャーチ数 0 final λ zero = new λ () { λ call (final λ f) { return new λ () { λ call (final λ x) { return x; }}; }}; // チ

    Java でラムダ - IT戦記
    sadah
    sadah 2008/07/01
    ぱっと見ると、とてもJavaのソースに見えない!
  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

    sadah
    sadah 2008/07/01
    クロージャについて
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • C SharpとJavaの比較 - Wikipedia

    来の表記は「C#とJavaの比較」です。この記事に付けられたページ名は技術的な制限または記事名の制約により不正確なものとなっています。 この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "C SharpとJavaの比較" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2024年2月) いずれの言語もクラスベースのオブジェクト指向言語であり、その文法はC++に類似しているが、C++との互換性はない。メモリ再利用の手段として、従来の手動で解放する方法ではなくガベージコレクション (GC) を使用する。また、スレッド同期の手段を言語構文に組み込んでいる。 また、いずれの言語もC++のデストラク