タグ

javaに関するa2psのブックマーク (26)

  • オブジェクト指向設計(2016年度)

    コンテンツ 第1章 基的な用語 第2章 オブジェクト指向開発 第3章 設計の問題 第4章 オブジェクト指向設計の原則 第5章 単一責任の原則 第6章 Visitor パターン 第7章 LSP、DIP、ISP 第8章 パターン技術 第9章 ユースケース 第1章 基的な用語 クラスとオブジェクトの違い 第2章 オブジェクト指向開発 オブジェクト指向開発 オブジェクト指向分析 機能外要求 User インタフェース Student クラスとTeacher クラス Student クラスのソースコード Teacher クラスのソースコード 演習2-1 UserLocator クラスのソースコード 演習2-2 演習2-2 の解答 Teacher.java UserLocator.class 第3章 設計の問題 演習3-1 演習3-1 の解答1(返却値を利用した方法) 演習3-1 の解答2(条件分岐

  • Java SE 再入門

    [AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の気ってやつをな

    Java SE 再入門
    a2ps
    a2ps 2015/01/14
  • Javaで業務アプリを開発するための環境構築手順(Windows/Mac対応)

    この連載は、Javaをいきなりやることになってしまった新卒の人や、Java以外の言語の使用経験しかない人など、Javaの初心者なのに業務アプリ(ビジネスで使われるアプリケーション)の開発で即戦力にならないといけない人達に向けての連載になります。標準のJavaでできることはもちろん、DB操作のためのSQLやよく使われるライブラリの使い方など、単なるJavaのみの紹介ではなく、Javaでの業務アプリの開発に必要とされる基礎知識全般について連載を通じて学んでいくことを目的としています。 はじめに 今回の記事では、Java(ジャバ)で業務アプリを開発するための開発環境の構築を行います。また、Javaのアプリケーションの開発では統合開発環境(IDE)を使って作業することがほとんどです。統合開発環境とはアプリケーションの開発をサポートする環境で、この連載では多くの現場で使われているEclipse(エク

    Javaで業務アプリを開発するための環境構築手順(Windows/Mac対応)
  • またrebuild.fmがJavaの悪口で盛り上がってたよ

    http://rebuild.fm/44/ Androidアプリ作ろうとしてJavaプログラマ募集したらクズしかこなかった全部クズだったとか、ひどくありません? まあそれは置いといて、UIみたいに最初から仕様を決められなくて何度も作り直すようなコードはJavaは不向きみたいな話もまったく同意できないわ。 JavaじゃなくてC#だけど、昨日コードを書いていて string url = "http://www…"; のように、URLを文字列で持っていたけど、やっぱアドレス用のクラスでもったほうが安心だなって思って URI url = new URI("http://www…"); と書き直しました。 当然、このurlを参照しているところは全部エラーになります。 Javaをはじめとする静的型の言語をけなしてる人たちは、これが面倒だと思うんでしょうか。 逆にエラーの出ている箇所を片っ端から直してエ

    またrebuild.fmがJavaの悪口で盛り上がってたよ
  • 筑波大学AC入試の時の昔話 - kmizuの日記

    少し前に、茂木健一郎に騙されて通信制高校からAO入試受けた結果wwww というまとめが盛り上がっていました。人格批判が混じった酷いコメントや、AO入試のことを想像だけで語っているコメント*1があまりにも多くて辟易しました。辟易したので、実績が無くても合格できた私の昔話を書いてみることにします(その時点での基礎学力はあったからカウンターとして弱いのは残念です)。 まず、自分の経歴から。2002年度の筑波大学の情報学類AC入試*2合格者で、その後筑波大学大学院への進学を経て、現在は渋谷のスタートアップ企業に居ます。 筑波大学のAC入試を知ったのは、高等学校3年の秋でした。一応、中高一貫の進学校*3に通っており、学力も平均よりは上くらいでした。ですが、それまでに実績といえるものはありませんでした。コンクールで入賞した事もプログラミングコンテストで上位に入ったことも、所属していた生物部*4で主導的

    筑波大学AC入試の時の昔話 - kmizuの日記
  • Javaのhello worldの読み方 | mwSoft

    前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e

  • 小野和俊のブログ:モテるプログラマー女子力を磨くための4つの心得

    こんにちは、ITホストクラブでホストをしていますlalhaです。私はテレビも見ないしファッション雑誌も読みませんが、プログラミングについてはプロフェッショナル。今回は、モテるプログラマー女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 あえてコンパイルの通らないソースコードをノートPCに入れて携帯するようにしましょう。そして飲み会の場で好みの男がいたら話しかけ、わざとらしくノートPCを開いてコンパイルしてみましょう。そして「あ〜ん! このソースコード当にマジでチョームカつくんですけどぉぉお〜!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「プログラムとか詳しくなくてぇ〜!ずっとこのコードいじってるんですけどぉ〜!コンパイルが通らないんですぅ〜!ぷんぷくり〜ん(怒)」と言いましょう。だいたいの男は自分の専門性をアピールしたがる習性があるので、ノートP

    小野和俊のブログ:モテるプログラマー女子力を磨くための4つの心得
  • ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指して

    ドラゴンボールといえば、大変に人気の高い国民的、いや世界的な漫画、アニメですが、昨日匿名ダイアリーでドラゴンボールをネタにしたオブジェクト指向の解説がホッテントリに入っていました。 ドラゴンボールで学ぶオブジェクト指向 多くの人に親しみやすい題材でオブジェクト指向の考え方を解説するというのは非常に興味深い試みなのですが、オブジェクト指向の説明としては不適切なところがあり、ちょっと残念な内容になっています。私自身ドラゴンボールの専門家(ドメインエキスパート)ではないため、不正確なところがあるかもしれませんが、ストーリーを思い出しながら、私なりにドラゴンボールをネタとしたオブジェクト指向の解説にリトライしてみたいと思います。 なお、オブジェクト指向でもプログラミング言語によって表現できる内容が異なるため、当然設計技法は違ってきます。ここではJavaC++、C#、Visual Basicといっ

    ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指して
  • そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな

    Java入門ブックガイド(入門編)よりよき入門書と出会うために」を読んで。 第一印象として、よりよきJava入門ブックガイドに出会う必要があるなということ。 コマンドラインでは慣れ親しめない サブタイトルに「慣れ親しむことが上達の秘訣」とあるけども、コマンドラインで慣れ親しむのは難しいと思います。 「慣れ親しむことが上達の秘訣」が正しいのであれば、IDEで慣れ親しんだほうが上達するのではないでしょうか? 現実問題として、書籍を買って勉強する人は強制されて勉強するわけではないです。自分の時間をやりくりして入門書を読んでいます。 そして、まだプログラムの面白さを知りません。 コマンドラインでコンパイルエラーが出たとき、じっくりとそのエラーを読み解くのではなく、そこでくじけてやめる可能性が高いと思われます。 それよりは、IDEでエラーを入力段階で修正しつつ進むほうがいいと思います。 javac

    そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな
  • Javaのラムダ式導入に関する最新提案の雑なまとめ - 矢野勉のはてな日記

    java7月頭に,Brian GoetzがJavaにおけるラムダ式導入に関する最新提案のドラフトを出しました。State of the Lambda 私はこの提案書と,提案書を元にした英語記事を読んだだけですが,Twitterで話していると,23日くらいにこの提案を元にしたソースがJavaのソースリポジトリにコミットされたらしい。ただし,中ではまだ議論続発してるらしい。ちなみに英語記事はラムダについての連続記事の4回目で,5回目ではWicketでラムダ式を使うとどうなるか,という考察が載っています。提案書のラムダ式とWicketの非整合部分についての考察で,Wicket好きの人は読んでみてもいいと思う。あと,空コンストラクタがないクラスについて提案書は明確なところ書いてないよね,みたいな指摘も。せっかくなんで,最新提案におけるラムダ式実装をまとめておきます。いままでのあらすじ最新提案書では

  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

    プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断のい違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す - プログラマの思索

    Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す JavaでWebアプリを10年書いて思ったこと。 Webプログラミングは全然オブジェクト指向でない。 Sevlet+JSP主体のプログラミングスタイルは、リクエストとレスポンスへPrimitiveな値をどうやって渡すか、という手続き型の発想でしか書いていない。 従来のWebプログラミングスタイルの問題点について書いてみる。 以下ラフなメモ書き。 【参考リンク】 Wicketって? ウェブ開発をもう一歩前に Wicketで始めるオブジェクト指向ウェブ開発:第1回 Hello, Wicket|gihyo.jp … 技術評論社 【コラム】イマドキのIDE事情 (39) Wicket、Grails、Click - IDEでみる軽量Javaフレームワーク | エンタープライズ | マイ

    Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す - プログラマの思索
  • プログラマが知っておきたいJavaと.NETの違い

    システム開発がますます複雑化していく中、エンジニアには、テクノロジを理解して、さまざまな場面に適した選択が求められます。連載では、Javaと.NETの基的な仕組みから最新の傾向や技術などについて、数回に分けて紹介します いまさら聞けない、Javaと.NETの違い 今日、アプリケーション開発・実行のプラットフォームは、大きく2つのテクノロジに収束しているといえるでしょう。 1つは、エンタープライズ・アプリケーション開発の定番ともいえる「Java」です。 実行環境、開発環境の無償提供、OSを自由に選べること、フレームワークや開発環境が充実していることが人気の理由です。大規模アプリケーションの採用実績も多く、ほかのプラットフォームをリードしてきました。 もう1つは、マイクロソフトが発表した「Microsoft.NET」構想に基づいた「.NET」です。 プラットフォームが主にWindowsに制

    プログラマが知っておきたいJavaと.NETの違い
  • Scala開眼

    1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握

  • Google App Engineに最適化したJavaフレームワーク「Slim3」登場。作者のひがやすをさんにインタビュー

    Google App Engineに最適化したJavaフレームワーク「Slim3」登場。作者のひがやすをさんにインタビュー Slim3は、Google App Engineで複数行のトランザクション操作を可能にし、標準で用意されているAPIよりも高速な動作を実現するなどの特徴があります。Slim3を開発したのは、オープンソースのJavaフレームワークとして知られるSeasarなどを開発してきたひがやすを氏です。 正式リリースにあたり、Slim3の特徴、開発に苦労した点、今後の展開などについて、ひが氏自身に説明してもらうべくインタビューをしました(インタビューはメールで質問し、返答いただくという方法で行いました)。 Slim3の設計哲学は、“Less is more”を実現すること ―― Slim3とは何でしょうか? Javaにそれほど詳しくないというプログラマにも説明するとしたらどう説明す

    Google App Engineに最適化したJavaフレームワーク「Slim3」登場。作者のひがやすをさんにインタビュー
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

    App Engineで使える言語は基的にはPythonJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonJavaも同じ

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • Google App Engine をはじめてみよう

    "Google App Engine Java の色々な機能を、実際にコーディングしながら体験してみよう" という主旨のもと、Google App Engine for Java のコードラボをこれまでに3回開催してきました。Java を使った Web アプリケーションの開発経験はあるけれども、App Engine は初めてという方向けで、毎回、即日定員に達してしまう人気コースです。 このコードラボで利用している教材は、GTUG のメンバーとGoogle のソフトウェアエンジニアたちが共同で作り上げたものです。コース設計からドキュメントの制作、コース参加者のフィードバックを反映するなど、さまざまな面でGTUGメンバーの惜しみない協力をいただきました。 そして、いよいよこのコース教材「Google App Engine Code Lab for Java」を一般に公開することになり、3月11

    Google App Engine をはじめてみよう
  • Javaバイトコードの読み方 - プログラマーの脳みそ

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

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • Java基礎文法最速マスター - いろいろ解析日記

    Javaの文法一覧です。他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1. 基礎 classの作成 プログラムはclassに記述します。たとえばSampleという名前のclassを作る場合、Sample.javaファイル内に次のように書きます。 public class Sample { } mainメソッドの作成 プログラムはclass内のmainメソッドの先頭から実行されます。mainメソッドは次のように書きます。 public class Sample { public static void main( String[] args ) { // 処理を書く } } System.out.printlnメソッド 文

    Java基礎文法最速マスター - いろいろ解析日記