「プロになるJava」 第4部「高度なプログラミング」の練習問題解答

「プロになるJava」の第4部「高度なプログラミング」の練習問題の解答です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 「プロになるJava」 第2部「Javaの基…

「プロになるJava」 第3部「Javaの文法」の練習問題解答

「プロになるJava」の第3部「Javaの文法」の練習問題の解答です。 ※ 2023/10/03 Streamの練習問題の答えが抜けていたので追加しています。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉…

「プロになるJava」 第2部「Javaの基本」の練習問題解答

「プロになるJava」の第2部「Javaの基本」の練習問題の解答です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 「プロになるJava」 第3部「Javaの文法」の練習…

型理論を理解するためのロードマップ

基本的には少しずつオーバーラップしているはず。 「論理と計算のしくみ」はぜひ読んでほしいです。この本に論理の説明もあるので、先にこれを買って、わからなければさかのぼる感じでいいかも。 論理学に入門する 入門!論理学 (中公新書)作者:野矢 茂樹中央…

教えるということ - 漂流開発者の日記(WEB+DB PRESS VOL.20, 2004-3-26)

2004年のWEB+DB PRESS VOL.20に掲載された記事です。絵もかいてます。 開発してない 開発者の日記といいながら、最近とんと開発してないことに気付きました。 じゃあ何してるかというと、絵を描いたり、プログラムを教えたりしてます。 教えるのも楽しいんで…

プログラミングの最初の壁は逐次実行 #projava

プログラミングの入門書で、変数だとかfor文なんかは丁寧に例えなどを使って説明されていることが多いのですけど、逐次実行はほとんど説明されていることがありません。 入門書を書く人にとって、逐次実行は自明であって説明が必要なものではないという認識…

「プロになるJava」はこんな人におすすめ #projava

「プログラミング未経験ですがJavaをやることになりました。いい本ないですか?」 → JShellを使って動作を1ステップずつ確認しながら進めれる唯一のJava入門書「プロになるJava」をおすすめ 「プログラムの入門書なのに文字ばっかり出してプログラムの作り方…

オブジェクト指向は差分プログラミングとデータ分類をまとめて扱おうとしたのが弱点

オブジェクト指向の最大の特徴は、モジュールと型を一体に扱ったことです。 メイヤーの本では次のような「オブジェクト指向の基準」があげられています。 クラスが唯一のモジュールでなければならない すべての型はクラスに基づいていなければならない つま…

プログラミング言語の入門書はプログラミングの入門書ではないのでプログラミングできるようにならない

(これはPR記事です) 「入門書を読んだけどプログラミングできるようにならない」という話はよく聞きます。 そこで「まあ経験や慣れが必要だからね」みたいな話になり、その後、経験を積んでもできるようにならない人は「センスがなかった」ということになっ…

JavaScriptはJavaのScript版(であろうと努力はした)

JavaとJavaScriptを混同する人に、名前がかぶってるだけの別モノという指摘がされることもあります。間違いではない。 技術的にも実務的にもコミュニティ的にもそのとおりではあります。 ただ、そう言い続けられた結果、ほんとに単にLiveScriptの名前にJava…

情報収集について

情報収集をどうするか、という話をしたのでメモ。 ここではトレンドを追うための日々の情報収集の話です。プロジェクトの準備のためとかトピックが決まってる場合はまたちょっと違うかも。 まず情報収集であまり話題にのらないけど一番大事なのは、情報収集…

代数データ型の直積型と直和型の理解

代数データ型という考え方があって、型に対する代数的な操作を行うものっぽいです。代数的な操作というのは、足し算とか掛け算ですね。直和型と直積型というのがあります。 直積型は構造体のようなもので、Javaだとrecordが導入されましたね。 record A(int …

基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。

基礎と低レイヤーは混同しがちという現象をみかけたのでメモ よくあるのが、「IDEを使うと基礎が勉強できない、メモ帳でコードを書いてコマンドラインでjavac / javaするところから始めるべき」みたいな話。 ツールを使わずツールが隠してる部分を自分でやっ…

Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム

JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.ht…

龍馬1865 - おいしいノンアルビール飲み比べ

龍馬1865 以前飲んだときの甘ったるさはなくなって、栗のような香ばしさがある 日本ビールのノンアルビール です。 原材料は麦芽、ロースト麦芽、ホップと炭酸で、アルコール度数は0.000% 一本あたり112円。以前は一本あたり117円だったからちょっと安くなっ…

MARUKU AF LAGER ~ ノンアルビール飲み比べ

MARUKUアルコールフリーラガーはノンアル通販サイトMARUKUのオリジナルビールです。 中身としては、こちらで紹介した小樽ビールのノンアルと同じだと思います。 ただ、このときよりは甘さやコーン感は抑えられていて、少しクラフトビール感も出ています。 ラ…

オブジェクト指向はすでに粒度が時代にあっていない

定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基本的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとして…

エルディンガーアルコールフリー レモン ~ ノンアルビール飲み比べ

エルディンガーのアルコールフリー、レモン ビールにレモンの酸味と小麦の甘みがいい感じに混ざっておいしい。 瓶に「リフレッシュにピッタリな1本です」って書いてあるとおり、食事と一緒に飲むよりは休憩時間に飲むとよさそう。 なので今回はパスタと一緒…

常陸野ネスト ノン・エール ~ ノンアルビール飲み比べ

常陸野ネストのノンアル 日本の低アルコールビールでいちばんうまい おいしい。エールの味がする。 苦めで、ホップの香りもしっかりあって、クラフトビール感があります。 わかりやすく言うと よなよなエールのノンアル版。実際には常陸野ネスト ペールエー…

モレッティゼロ ~ ノンアルビール飲み比べ

イタリアビール、モレッティのノンアル カートに行くときに早起きしたら @at_tun さんがごほうびにくれた。ありがとう! 0.0%という表記だけど実際には0.05%らしい。 クリーミーで、アロマの匂いがして、ビールでいうとエーデルワイスのような味です。 原材…

「写経」の原典

書籍とかのサンプルコードをそのまま入力して勉強することを「写経」というけども、それを言い出したのは角谷さん、というメモ。 写経は言葉ではなく心で理解するのが大事。 2004-2005頃に @t_wada と働いていた頃、サンプルコードをコピペでなく手打ちする…

関数型インタフェースまとめ

Javaには関数型インタフェースがたくさん用意されてるのだけど、なにがあってなにがないのかとかわかりにくいのでまとめている。 ここの最後にまとめていたのだけど、検索しづらいので独立させた https://nowokay.hatenablog.com/entry/20130824/1377300917 …

20年前にPHPでJavaカスタムタグのようなものを実装していた

2001年くらいにPHPでJavaカスタムタグのようなものを実装したのを発掘したので放流。 PHPでJavaのカスタムタグっぽいものを実装した2001年 · GitHub メーリングリストでやりとりをしてたときに 「できらぁ!PHPでJavaカスタムタグの実装できらぁ!」 「え、P…

nmea形式のGPSログの時間をずらすJavaコード

AS300で撮った動画のタイムスタンプがaviutlで読み込めなくてうまくGPSデータが合成できなかったので、GPSデータのタイムスタンプをずらすようにした。 たぶんまた使うので、ブログにメモ gist.github.com

List.of(123, "hoge")の型がこわい。泣きそう。

List.of(123, "hoge")がどんな型になるかを見てみたら、きっとList<Object>になっていて「Objectはどんな値にも対応するんですよー」みたいな説明ができると思っていたら、実際は泣くほど怖い型が出てきた。 List.of(123, "hoge")がどんな型になってるか見ると「Obje</object>…

10年目のFizzBuzz改善

ほぼ10年前にFizzBuzzを書いていた。 落ち着かないのでFizzBuzz書いた - きしだのHatena 当時としてはがんばったほうなのだけど、改めてみると改善ポイントがみつかった。 よりコンパクトになった。やはりコピペコードいくない。 あと、オブジェクト指向など…

M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした

M1 MacBook Airが届いていろいろやってたら年も明けてだいぶたったけども、ビルド速度とかJavaとかDockerとかTensorFlowとか、技術者が気になるベンチマークを試してたので、まとめました。 MacBook Airを買ってしまった なんかM1 Mac解説動画をとるためにい…

オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある

某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提…

小樽ビール - おいしそうなノンアルコールビール飲み比べ

ノンアルコール飲み比べエントリを書いていましたが、小樽ビールを試してみたので追記しつつ、独立したエントリにもしておきます。 nowokay.hatenablog.com 小樽ビールのノンアルで、ラガータイプと黒ビールタイプがあってどちらもおいしい。黒は他になかな…

プログラムを教えて理解されない場合は教える技術の不足

プログラムが組めるとプログラムが教えれると思いがちだけど、教えることは別の技術です。 教えてもなかなか理解してくれないとき、プログラミングに向いてないとさえ言う人もいますが、教える側の教える技術の不足です。 教えることも技術のひとつだと気付…