タグ

関連タグで絞り込む (197)

タグの絞り込みを解除

javaに関するlax34のブックマーク (97)

  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

    はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
  • Spring Initializr

  • MacのBrewで複数バージョンのJavaを利用する + jEnv - Qiita

    Java 8のインストール ライセンスの関係で利用不能になっているため、他のディストリビューションで代用する。 ディストリビューション Temurin - brew install --cask temurin8 Corretto - brew install --cask corretto8 Zulu - brew install --cask zulu8 JDKによって内包するSDKが異なるので注意 インストール済みJDK(JAVA_HOME)の確認 /usr/libexec/java_homeコマンド $ /usr/libexec/java_home -V Matching Java Virtual Machines (13): 17.0.1 (x86_64) "Oracle Corporation" - "Java SE 17.0.1" /Library/Java/JavaVirt

    MacのBrewで複数バージョンのJavaを利用する + jEnv - Qiita
    lax34
    lax34 2024/01/20
    “/usr/libexec/java_home -V”
  • 実践クリーンアーキテクチャ with Java

    この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を

    実践クリーンアーキテクチャ with Java
  • PlantUML | プログラマーズ雑記帳

    テキストから UML を生成する PlantUML についての解説記事を書いてみました。 PlantUML の使い方 (今回) シーケンス図 クラス図 オブジェクト図 パッケージ図 ユースケース図 アクティビティ図 状態遷移(ステートマシン)図 コンポーネント図 配置図 skinparam PlantUML 実行用のバッチファイル 今回は PlantUML の使い方の説明です。 PlantUML とは インストール 日語 コマンドライン Doxygen との連携 Doxygen 連携用スクリプト その他のツールとの連携 オンラインデモ PlantUML とは 最近、プログラムの設計書などで UML を使うのが浸透してきていますが、 この UML を書くのはわりと面倒です。 CASE ツール, Doxygen などでは、クラス図を自動生成してくれますが、 ユースケース図やシーケンス図は自分

  • Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita

    注:記事の内容はJavaで公式にドキュメントされているものではなく筆者の見解です。とはいえクラスを設計する上で有用な指針たり得ると思われるので公開したものです。 おさらい - 検査例外と非検査例外 Javaの例外クラスには「catchしないとコンパイルエラーになる」検査例外(チェック例外、checked exception)とそうでない非検査例外(非チェック例外、unchecked exception)があります。 検査例外は最近は嫌われる傾向がありC#では採用されていませんしAltJava言語も軒並み不採用、さらにはJavaの新しめのライブラリにも非検査例外しか投げないものが出てきていますが、適切に使えば安全なプログラミングのための強力な武器であり、検査例外の有意義さについては @irxground さんの Javaの検査例外の存在意義 をご覧ください。 例外クラスを自作する場合、検査

    Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita
  • 9d9522bb86c301ef57cb

    はじめに 友人に頼まれてMinecraftサーバーを立てることがたまにあるので、メモとしてまとめておきます。 これが正しいやり方というわけではなく、こういうやり方もあるという前提で見ていただけると助かります。 Linuxをあんまり触ったことがない人でも分かるように書くつもりですが、分からなかったらググってなんとかしてください! ConoHaとは ひと月900円から使えるVPSサービスです。 特長 -【ConoHa】 https://www.conoha.jp/conoha/features なぜConoHaなのか このは可愛い 安い 以上。 ConoHaの可愛さは以下にアクセスするか、 ConoHa - スマート&パワフルなクラウドの新提案。ひと月900円から。 https://www.conoha.jp/conoha 言語設定をこのはにすると、きっと分かります。 必要なもの ConoHa

    9d9522bb86c301ef57cb
  • devnote

    sukkiri.jpへのコンテンツ統合について 当サイトの内容は、順次sukkiri.jpへと移行・統合する予定です。 一部記事については、sukkiri.jpの該当ページへとリダイレクトされます。

  • オブジェクト指向設計(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(条件分岐

  • https://qiita.com/yukihirai0505/items/4c4fef156f049af55124

  • javaプログラマー向け学習のための本(新人から5年めくらいまで)を考えてみた - Qiita

    1.ガチ新人向けのコンピュータに関する教養 新入社員で専門課程で情報処理教育を受けていない場合の基礎教育 専門教育を受けていてもレベルによっては、適宜読んだほうがよい プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識 プログラマにとってCPUとはなにか データを2進数でイメージしよう コンピュータが小数点数の計算を間違える理由 四角いメモリーを丸く使う メモリーとディスクの親密な関係 自分でデータを圧縮してみよう プログラムはどんな環境で動くのか ソース・ファイルから実行可能ファイルができるまで OSとアプリケーションの関係 アセンブリ言語からプログラムの当の姿を知る ハードウェアを制御する方法 コンピュータに「考え」させるためには レッツ・トライC言語! ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識 第1章 Web

    javaプログラマー向け学習のための本(新人から5年めくらいまで)を考えてみた - Qiita
    lax34
    lax34 2016/06/16
  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • OutOfMemoryError の調べ方 - Qiita

    OutOfMemoryError (以下 OOME)が起こったときにお手上げ状態にならないためにも、 Java のメモリ管理の仕組みとか、 OOME が起こったときの調査方法とかを調べる。 環境 OS Windows 7 > java -version java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも J

    OutOfMemoryError の調べ方 - Qiita
  • PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json

    (3/15 : タイトル修正しました。wは小文字ですね、すみません・・・) PlayFrameworkが流行り始めてから割と経ちますので、そろそろ正式採用しようと考える方も多いのではないかと思います。 強力な静的型付けで守られたPlayは、ミッションクリティカルなシステムや数万行を超える大規模システムの構築に特に向いているような気がします。 また、Servletを使っていないのに加えてMVC構造がベースなので、今までRailsなどで開発をしていた人でもシームレスに移行できると思います。 しかし、忘れてはならないのがPlayのアーキテクチャが全ての処理が非同期で行われることを前提としているという事です。 ここを忘れてPlayをただの強力な静的型付けで守られたMVCフレームワークとだけ考えて開発を進めてしまうと、番環境で稼動させた時にパフォーマンスが上がらずに困ることになるかもしれません。今

    PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json
  • Play Framework 2.3 For Javaの入門記事一覧 - まーぽんって誰がつけたの?

    Play Framework 2.3 For Javaの入門記事です。 新人研修の一環で、触ったことがないPlay Frameworkを教えることになったので一緒にお勉強。Javaにもそれほど精通していないのでそのあたりの素朴な疑問にも触れてます。

  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro
  • 2地点の緯度と経度からおおよその距離を計算する - log.nissuk.info

    球面三角法(PDF) の最後の「3-2. 地上の2地点間の距離」がわかりやすかったので少し引用します。 図の太線で囲まれた球面三角形に余弦法則を適用すると であり、 によって x を計算できる。この場合は0≦ x ≦ 180°なので、cos-1によって得た結果にあいまいさは無い。2地点間の距離 L は、 によって計算できる。ただし x はラジアンの値にしておくことが必要である。 プログラム(Java)で書くと下のような感じです。度はラジアンにします(* Math.PI / 180で変換していますがJavaならMath.toRadians()でもいいです。PHPならdeg2rad())。 カシオの計算サイトに同様の計算式で距離を計算するフォームがあって便利でした。 2地点間の距離と方位角

    2地点の緯度と経度からおおよその距離を計算する - log.nissuk.info
  • やるじゃん!オラクル

    記者は小学生の時に電器店の店頭でBASICに触れ(親に買ってほしいとは言えなかったが)、大学の汎用機のFortran、MSX2のBASIC、PC-98LTのN88-BASIC(MS-DOS版)、Borland C++(これは高く重かった)、Visual Basic、Delphi、Visual Studio(VB、C#、C++)といった具合にプログラミング生活を送ってきた。1998年から日経ソフトウエアで記事を書いてきたから、Javaのプログラムと記事を書いたこともあるのだが、しっくりこないなー、と感じた記憶がある。 とはいうものの、編集部で記者AはJava、記者BはMicrosoft、のように分担を固定するのは雑誌にとってはあまりよくないと考えており、昨年から今年にかけてJavaの連載を1年続け、Javaの特集も書き、このたびそれらをまとめて刊行することとなった。腰を据えてJavaに向き合

    やるじゃん!オラクル
    lax34
    lax34 2015/07/03
  • Strutsを使い続けることの問題点&現在有力なJava EE、Spring、Play Frameworkの基礎知識とアーキテクチャ

    エンタープライズJava開発に従事している方であれば、一度はStruts 1を扱ったことがあるでしょう。Struts 1はJavaのWebアプリケーションフレームワークとして2001年ごろに誕生しました。 MVCモデルに基づいたアーキテクチャと高い生産性から、数年後にはデファクトスタンダードとなるほどの人気を獲得。当時、多くの企業がこぞってStruts 1を使った企業システムを構築しました。筆者自身が業界に入ったのは2004年のこと。最初に参加したプロジェクトがStruts 1を使った企業システムの構築だったことをよく覚えています。 当時に作られたシステムの多くは、今でも現役で稼働しています。最近でもStruts 1ベースの企業システムを改修する話はよく聞きます。しかし、2013年にサポート終了を迎えたため、今後Struts 1を使い続けることは大きなリスクになりました(参考)。つまり、新

    Strutsを使い続けることの問題点&現在有力なJava EE、Spring、Play Frameworkの基礎知識とアーキテクチャ