タグ

developmentとjavaに関するch1248のブックマーク (11)

  • 【ソフトウェア設計】例外処理を考える

    はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか? 簡潔さは力なり? 予測可能な振る舞いと簡潔さについて ドキュメントとしてのコメント TL;DR 例外は「原則」キャッチしない 業務例外や必ずハンドリングさせたい例外はOptionalなど戻り値の方が便利 だいたい以下の図が言いたい事のすべて 例外処理とは? 「例外処理(Exception Handling)」は言語に依らず普遍的な関心事です。端的に言えば例外処理は異常やシステムの動作に不備が発生した際の特別な分岐処理です。リカバリやリソースの解放、あるいはユーザへの通知などがありますね。

    【ソフトウェア設計】例外処理を考える
  • Enumとてもつらい、でも負けない - エムスリーテックブログ

    列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与えてくれるからです。そんな辛みについて、ちょっと一緒に直視してみましょう。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の6日目です。 アプリケーションプログラミング上の辛み 1. 既存のif文が偶発的に意図しない方に倒れる 2. switch文に至っては「どちらでもない」で処理不発に アプリケーションプログラミング上の対策 1. 分岐条件をEnumに持たせる 2. swi

    Enumとてもつらい、でも負けない - エムスリーテックブログ
    ch1248
    ch1248 2023/12/06
    共感する……
  • 『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』は書名に偽りのない、全部入りの1冊 - Magnolia Tech

    プロになるJava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山 裕介,杉山 貴章技術評論社Amazon 予約していたので、早速届きました。 Javaを使ってプログラミングを学ぼうとする人は、とりあえずこれ買っておけばいいんじゃね?っていう全部入りの1冊ですね。 JDKのインストールから、IDE/REPLの使い方、基的な文法、エラーメッセージの読み方、オブジェクト指向、関数型プログラミング、各種ツールチェーン(ユニットテスト、ビルドツール、バージョン管理)と、全部入りの全部入り。 全般的に単なる文法の解説に終始せず、初学者がつまづきやすいところにページを割いているところが良くて、特に「最初からIDEを使う」と、「エラーが出ることと、その読み方を最初から書いていること」、「理解が難しそうな”ループ”の概念にフォーカスしていること」あたりは、上手

    『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』は書名に偽りのない、全部入りの1冊 - Magnolia Tech
    ch1248
    ch1248 2022/03/21
    著者のきしだなおきさんは、かつてはてダが技術コミュニティとしての色がより強い頃に、良質な技術記事を定期的に書いていた方ですね。信用できると思う。
  • 未経験からのプログラマーなんだが全然分からない

    未経験でもOK!教えます。というプログラマーの求人があったので、応募してみたら受かった。 受かったは良かったものの、仕事はざっとやるべきプロジェクトの説明、ソースの説明をした後、はい頑張って!!で丸投げ。プログラマー未体験の私、何も分からない。言語はJava。リーダーは自分も何も教えられない所から頑張ってきた、それですごく勉強になって出来るようになったと語るが、この方は元々頭良いと思うし、プログラマーやる前Webデザイナーもやってたから言語の理解も私よりアドバンテージがあった。対する私、まともにPCを使う仕事にすら就いたことがない。 ヒントを教えてもらっても、それでも分からない。何も分からないまま半月が経ってしまった。Java入門書も買ったが、やってる事に対する理解が追いつかない。あと、仕事が終わったら疲れて勉強出来ないのも問題。リーダー曰く、私は手を動かす回数が少ないからもっと色々試して

    未経験からのプログラマーなんだが全然分からない
    ch1248
    ch1248 2018/10/16
    「未経験歓迎!」の職場は教育無し、技術なし、余裕無しの3Nなので、勉強と履歴を得たらさっさと転職するとよろしい。
  • なぜマイナポータルはJava必須なのか、開発者側の理屈でユーザー体験がおざなりに

    ICリーダーライターを購入し、民間サイトを含む複数のサイトを巡ってソフトをインストールし、設定を完了させる。ITリテラシーの高いユーザーでも、ログイン成功まで至るのは相当な苦労を要する。 さらにJava実行環境は、2013~2014年にかけて、脆弱性を狙ったサイバー攻撃が多発した経緯がある。通常利用のブラウザーに組み込むにはセキュリティ面で不安が残る。 なぜ、マイナポータルはJava実行環境が必須となったのか。今後、改善の余地はあるのか。内閣官房 番号制度推進室 番号制度推進管理補佐官の楠正憲氏に聞いた(取材は文章ベースのやり取りで実施し、表現は一部編集した)。 Java実行環境を必須とする構成にした理由は。 楠氏 店頭で販売され、また実際に利用されている、できるだけ多くのPCMacに対応しつつ、できるだけ端末ソフトウエアを共通化して開発および保守の工数を最適化するためだ。 e-Taxの

    なぜマイナポータルはJava必須なのか、開発者側の理屈でユーザー体験がおざなりに
  • (Forum) 私はなぜフレームワークが嫌いか - The Joel on Software Translation Project

    BenjiSmith / 青木靖 訳 2005年9月30日 金曜 私は現在JavaによるWebアプリケーションの構築を計画している(そう、様々な理由のためにJavaである必要があるのだが、それについては今は話したくない)。その過程で私は、ポートレットをサポートしたJSR準拠のMVCロールベースCMS WebサービスJ2EEアプリケーションのコンテナフレームワークを数多く評価した。 機能リストやドキュメンテーションに目を通すのに何十時間も費やしたのち、私は自分の目玉をえぐり出したくなった。 たとえば私がスパイスラックを作ることにしたとしてみよう。 私は小さな木工プロジェクトを前にもやったことがあり、何が必要になるだろうかについては十分に理解している。木片と、それに巻き尺や鋸や水平器やハンマーといった基的な道具だ。 ただのスパイスラックでなく、まるまる一軒の家を建てるのだとしても、私は依然と

  • 現場ロックインが技術力さげてるのかもしれない - Javaプログラマのはしくれダイアリー

    はじめに 技術を学ぶというのはすごい個人差のあることだと思います。 個人特性もあるし、興味の向く対象も違う。 組織にはいろんな人間がいる。 そんな中、いくら「技術力を学ぼう!」と啓蒙しても、 響かないことってありませんか。 最終的には人それぞれの問題にはなってくるのだけれど、 それって、現場ロックインが一因なのではないかなと思う。 現場ロックインの定義 「特定ベンダー(メーカー)の独自技術に大きく依存した製品、サービス、システム等を採用した際に、他ベンダーの提供する同種の製品、サービス、システム等への乗り換えが困難になる現象」をベンダーロックインという。 (Wikipediaより引用) 現場ロックインは僕の思いついた単なる造語で、 「特定のプロジェクトに特化した技術や顧客の事情を重視しており、 その他の現場に移動しても殆ど役に立たないローカルルールに依存している現象」を指す。 会社に対して

    現場ロックインが技術力さげてるのかもしれない - Javaプログラマのはしくれダイアリー
  • コンピュータシステムの理論と実装

    TOPICS 発行年月日 2015年03月 PRINT LENGTH 416 ISBN 978-4-87311-712-6 原書 The Elements of Computing Systems FORMAT コンピュータを理解するための最善の方法はゼロからコンピュータを作ることです。コンピュータの構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できます。書では、これらコンピュータの構成要素をひとつずつ組み立てます。具体的には、NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計します。そして、オペレーティングシステム、コンパイラ、バーチャルマシンなどを実装しコンピュータを完成させて、最後にその上でアプリケーション(テトリスなど)を動作させます。実行環境はJavaMacWindowsLinuxで動作)。 ● 書のサポートサイト ● 書で使用する

    コンピュータシステムの理論と実装
  • 半年くらい仕事でAndroidアプリ開発していて役に立った本 - Qiita

    Androidってあまり良いが無い印象なんですが、実際に仕事で少しでも役に立ったをシェアしたいと思います。 WEB+DB PRESS Vol.81 「Androidアプリ開発最前線」という特集が当に役に立つ。 Android Studio、Gradle、テストやCIなど、まとまった情報がまだ少ない、最近のモダンなAndroidアプリ開発事情に関するノウハウがまとまっている。この特集書いてるのもクックパッドの人達なので間違いない感じ。 改訂2版 Android SDK逆引きハンドブック 定番の逆引き。1冊あると便利。 Android UI Cookbook for 4.0 ICS アプリ開発術 Androidデベロッパーにはお馴染みの、あんざいゆきさんのAndroid4系のUIが主に紹介されてる。サンプルコード便利。 Master of Fragment これも、あんざいゆきさ

    半年くらい仕事でAndroidアプリ開発していて役に立った本 - Qiita
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • 1