タグ

ブックマーク / nowokay.hatenablog.com (20)

  • Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena

    みなさん、今日もパブリックスタティックヴォイドメインしてますか? ジャバと言えばパブリックスタティックヴォイドメインですよね。 最近はIDEでmain[tab]と入力すれば補完してくれるとはいえ、コードを読むときには目に入ってきたりしますね。 そんなパブリックスタティックヴォイドメインの呪文から解放される日が近づいています。 TL; DR 9月リリースのJava 21の試用機能として void main() { System.out.println("Hello"); } をhello.javaで保存したら、java hello.javaで実行できるようになります。 (Java 21では--enable-preview --source 21が必要) Javaではプログラムを開始するときにpublicなclassなどにStringの配列を受け取るpublicでs

    Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena
    sue445
    sue445 2023/06/16
    JEP 445って名前だけで親近感が湧いてきたw
  • さよなら「あなたとJAVA」 - きしだのHatena

    みんなから愛された「あなたとJAVA」の役割が終わったようです。 「Java」で検索するとjava.comのサイトがひっかかるのですが、このサイトは古いまま放置されていて、Javaの学習を始める人にとっての罠になっていました。 https://www.java.com/ja/ 「あなたとJAVA」というキャッチコピーの脱力感と、「ダウンロー」で改行され「ド」だけが目立ってしまう間のヌケかたから大人気のサイトでしたが、かっこいいものではない・・・ もともとはJAVA+YOUで、2008年JavaOneのキャッチコピーでした。これは大文字だけのデザインだからよかったのだけど、日語訳するときJAVAだけ大文字で残ってしまい「JAVAではなくJava」の説得力をなくさせてくれていました。 それに、ほとんどの人がJavaのプログラミングの勉強をしようとして「Java」を検索するのにJREの配布サイ

    さよなら「あなたとJAVA」 - きしだのHatena
    sue445
    sue445 2022/05/25
  • 一人暮らしならトイレのドアを閉めては いけない - きしだのHatena

    一人暮らしならトイレのドアを閉めては いけないし、トイレのドアの前に段ボールなど立てかけてはいけない。 トイレのドアが開かなくなったら死ぬ。 「トイレ 閉じ込め」で検索すると事例が結構でてくるけど、通話中であったり同居人に助けられたり約束していた人が110番してくれていたり、だいたい他者によって助けられている。 あと、助かった人はおもしろおかしくツイートしてバズるのだけど、おそらく亡くなった人はツイートしないので広まりにくい。 こういうの見ると怖い。 近所のマンションでトイレに閉じ込められての死亡事故がありました。独身のサラリーマンの方で、会社も欠勤し電話も出ないため、まさかトイレに閉じ込められていたことは想定外だったようです。 https://qa.itmedia.co.jp/qa9578401.html 携帯を持って入ればいいのだけど、こういう事故というのは たまたま携帯もってないとき

    一人暮らしならトイレのドアを閉めては いけない - きしだのHatena
    sue445
    sue445 2020/07/09
  • GraalVMはどれだけ遅いか - きしだのHatena

    GraalVM流行ってますね。 そして、多くの人はGraalをAOTとして使うnative-imageのことだけをGraalVMと言ってたりします。 ご安心を。このエントリではGraalをJITとして使うHotSpotモードとGraalをAOTとして使うnative-imageの両方が遅いという話です。 GraalVMは速い、と言われてますが、残念ながらHotSpotモードでC2より速い結果を手元では出せていません。 公式ブログでは1.7倍から5倍速くなると書いてますけど、手元では再現できてません。 Under the hood of GraalVM JIT optimizations - graalvm - Medium native-imageは速い、というのはよくありますが、これはネイティブ化によりJVMの起動時間や最適化の時間、最適化されずに動く時間が省略されるので起動が速い、とい

    GraalVMはどれだけ遅いか - きしだのHatena
    sue445
    sue445 2019/06/27
  • 福岡でおいしいビールが飲める店 - きしだのHatena

    という検索語で調べても、おまえ行ってないだろーとか単なるプロモーションだろーみたいなのしか出ないので、まとめておきます。 おいしいレストランでビールも3種類くらいあるよ、というのは載せてません。 あと、夏で暑いから、という理由でビールを飲みたいときは、普通のビアガーデンとかのほうがいいかも。 (2019/3/16更新) ベースキャンプ 福岡で一番おいしいベルギービールの店です。ほとんどの銘柄が専用グラスで出ます。 大名にあります。 自分のところで樽を輸入したりしてます。 カレーの店という触れ込みですが、福岡で一番ベルギービールにこだわってる店です。 Ales 舞鶴にある、クラフトビールを置いているいい店。 IPAが多い印象。 FUKUOKA CRAFT 大名でエルボラーチョがやってるクラフトビールの店 自家醸造ビールが気軽に飲める福岡唯一の店。(オークラは遅くまでやってないし気軽にいける場

    sue445
    sue445 2018/06/14
    来年の #RubyKaigi の参考になる
  • Java 10のコンパイラバグを見つけた - きしだのHatena

    予定通りにJava10が出ましたね!Javaが予定通りにリリースされることが珍しすぎたのか、関東では雪になっていたようです。 Java10の変更点についてはこちらにまとめています。 Java 10新機能まとめ - Qiita Java10のJEP以外の変更まとめ - Qiita ところで、varが導入されたのでいろいろ試してたらコンパイラが落ちました。 次のようなコードを-g付でコンパイルすると落ちます。 import java.util.List; public class Main { public static void main(String... args) { var m = List.of("a", 1); System.out.println(m); } } このように、正式リリースであるbuild 46でコンパイルするとこうなります。 src$ javac Main.ja

    Java 10のコンパイラバグを見つけた - きしだのHatena
    sue445
    sue445 2018/03/24
    “Javaが予定通りにリリースされることが珍しすぎたのか、関東では雪になっていたようです” 全部Javaのせいだ(棒
  • JUnit5で変わるテストの書き方 - きしだのHatena

    JUnit5が案外よさげなので、JUnit5を使うとどんな感じでテストが変わるのか考えてみます。 実際にどこが変わったかとか、使い方自体はいろいろまとめられたブログがあるし、公式ドキュメントも読みやすいのでそちらを。 http://junit.org/junit5/docs/current/user-guide/ メソッドごとのテスト JUnit5でいいのは、Nestedですね。 いままで、いろんなメソッドを対象にしたテストが入り混じってたと思います。 import org.junit.Before; import org.junit.Test; public class PurchaseTest { @Before public void setup() { // 全体のセットアップ // purchase()用のセットアップ // history()用のセットアップ } @Test p

    JUnit5で変わるテストの書き方 - きしだのHatena
    sue445
    sue445 2017/10/13
  • 作って理解するDIコンテナ - きしだのHatena

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

    作って理解するDIコンテナ - きしだのHatena
    sue445
    sue445 2016/04/06
  • 小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena

    子どもへのプログラミング教育は早ければ早いほどいいというものではない。 最近子どもへのプログラミング教育が話題になることが多いけど、恐らく小学3年生までの子どもへの効果はほとんどなく、小学4年生でもほとんどの子どもには難しいと思う。 人間の知能の発達には段階があって、必要な段階に達していないうちにそれが必要な教育を行っても効果は望めない。 まず、なんでこのエントリを書いたかというと、プログラミングには適した発達段階があるということを知らないと、その発達段階に達する前にプログラミング教育を行って、もちろんプログラミングは出来なくて、その子には適性がないという判断をしてしまうとうことが起きてしまうんじゃないかと思ったからだ。 まだ適した段階まで来てないだけなのにプログラミング教育をして失敗して「この子にはプログラミングができなかった/興味をもたなかった」という実績を作ってしまうことによって、将

    小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena
    sue445
    sue445 2016/01/07
  • Javaでのnullチェックのパフォーマンス - きしだのHatena

    Javaでのプログラムでは、Optionalが入ったとはいえ、nullとのつきあいは依然として重要です。 そんな中で、nullが入ってると困る処理を書くときには、nullチェックを行うほうが安全です。 そのとき、どのようにnullチェックを行うかというのが問題になります。 Java7からは、Objects.requiredNonNullというメソッドが導入されたので、このメソッドを使って、以降の処理でnullじゃないことを保証するということができます。 けど、このrequiredNonNullが遅いんじゃないかという話があるので、どう遅いのか調べてみました。 requireNonNullと同様に、値がnullだったらNullPointerExceptionを吐いて、null以外だったら素通りするという書き方のひとつに、getClassメソッドを呼び出すというものがあるので、これと比べてみま

    Javaでのnullチェックのパフォーマンス - きしだのHatena
    sue445
    sue445 2015/04/25
    面白い比較
  • コードに対してコメントを書くと実装に関するコメントになる - きしだのHatena

    おととい、渋谷JVMというイベントがあって登壇させてもらったんですが、そのあとビール飲んでるときに、ぼくが「コード書く前にコメントだけ書くのいいよね」と言ったあとの返答としてきょんくん(kyon_mm)が言った言葉。 全体としては 「コード先に書いてそのコードに対してテストを書くと実装に対するテストになるし、コードを先に書いてそのコードに対してコメントを書くと実装に対するコメントになる」 という感じ。 ここに至るまでの話もおもしろかったんだけど、ここでは、コメントについて書いてみます。 まず、実装に対するコメントってどういうのかというと、こういうの。 id = findId(name); if(id == -1){ // idが-1だったとき登録 register(name); } いやそれはコード見ればわかるから、ってやつですね。 これは、こうやるとより適切です。 id = findId

    コードに対してコメントを書くと実装に関するコメントになる - きしだのHatena
    sue445
    sue445 2015/04/20
    “いいコメントが書けないという人は、コードを書く前にコメント書いておきましょう。”
  • 会社員になってJJUG CCCのスポンサーセッションで発表してきた - きしだのHatena

    2月1日からLINE Fukuoka株式会社というところで会社員をやっております。 ということで、JJUG CCC 2015 Springのスポンサーをやらせてもらって、スポンサーセッションで登壇してきました。 だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。 from なおき きしだ ※4/15 15:41追記 P37の「近所の定屋」は今週値上げして490円になりました 内容としては、Javaエンジニア養成読の記事をベースに、Java歴史について、技術トレンドや経済的な情勢、そしてハードウェアの事情から捉えてみて、いろいろな流れのなかで影響を受けてきたことを示しつつ、コミュニティがどう変遷してきたか、個人的にこの先をどう考えて動いてたかってのを、ふんわりと説明したかった感じです。 ということで、タイトルにある「誰も教えてくれないJavaの世界」というのは、そう

    会社員になってJJUG CCCのスポンサーセッションで発表してきた - きしだのHatena
    sue445
    sue445 2015/04/15
    会社員とフリーランスの違い参考になる。あと福岡めしうまはガチ
  • しょぼちむの女子力をイラストで表す(納期遅延) - きしだのHatena

    この記事は、しょぼちむ Advent Calendar 2014 の17日目の記事になるはずでした。 16日目はひしだまさんのしょぼちむメモには敵わないでした。 18日目はkawasimaさんです。 ということで、kotlinアイドルのしょぼちむさんという方がいらっしゃるのですが、女子力がどっか行ってるといううわさもチラホラ。 でも、某SNSのアイコンに、そこはかとなく女子力がただよっているように見えます。 ただ、その写真をここに貼り付けるわけにはいかないので、ちょっとイラストであらわしてみますね。 まず鉛筆で下書きを。 そしてペンを入れていきましょう。 消しゴムもかけますね。 あとは、色を塗ったら ・ ・ ・ ・ ・ 完成です! ちょっと時間かけて描いているうちに女子力どっかにいったようですね。 こんな感じになりました。

    しょぼちむの女子力をイラストで表す(納期遅延) - きしだのHatena
    sue445
    sue445 2014/12/24
    すごい、本人に瓜二つだ!
  • JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena

    夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ

    JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena
    sue445
    sue445 2014/07/09
    「Android: まるでJavaのような言語」吹いたw
  • 「きしだのはてなのあれってどうなの勉強会」やってきました - きしだのHatena

    24日の土曜日に、「きしだのはてなのあれってどうなの勉強会」やってきました。 【東京】きしだのはてな勉強会 〜「きしだのはてな」のあれってどうなの〜 - 日Javaユーザーグループ | Doorkeeper んで、あいかわらずその場にいないと意味がわからない資料ができあがりました。 きしだのはてなのあれってどうなの勉強会 運営のmegascusさんは 思ったよりもきしださんの人気が薄かったのか人が集まりませんでした。 【東京】きしだのはてな勉強会 〜「きしだのはてな」のあれってどうなの〜をやってきた - 水まんじゅう とは書いてますが、内容もなにか具体的にわからない、参加費3000円、そしてPlay勉強会とかぶる(時間的にはかぶってなかったようだけど)という中で21人集まってもらえたのは、なかなかありがたいことだなーと思いました。 運営のmegascusさんと岡澤さん、おつかれさまでした

    「きしだのはてなのあれってどうなの勉強会」やってきました - きしだのHatena
    sue445
    sue445 2014/05/28
    #kiskai
  • コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena

    以前、「勉強会に参加しないと不幸になる話」というのをアップしました。 勉強会に参加しないと不幸になる話 - きしだのはてな このときは、勉強会x勉強会という枠だったので、「勉強会」と表現していますが、実際にはコミュニティに参加しないと不幸になる話でした。 あと、ここでの幸せ・不幸せというのは、エンジニアとして、という話で、エンジニアリング能力があがるとか、エンジニアリングの活動がやりやすいとか、エンジニアリングの活動が評価されるとか、エンジニアリングの話題を共有できる仲間が増えるとか、そういう観点です。 エンジニアとしての幸せ以外にも、人生にはさまざまな観点の幸せがある、ということは最初に補足しておきます。 会社が教育機能をもっていない エンジニアとしての幸せに大切なのは、エンジニアリング能力を上げていくことです。 ただ、2013年の産業経済省IT人材白書の概要に IT企業に対して、201

    コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena
  • 開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena

    福岡では、LINEが支社を作ることが話題になってます。 LINEは福岡で100人 技術者採用 競争激しく :日経済新聞 で、まあ言うても福岡に100人も転職可能な技術者いないし、あっちゃこっちゃから人をかき集める感じになると思います。 しばらくは福岡の技術者市場は焼け野原のようになる気がします。 環境や待遇面、やれる仕事といった面で、他の会社はなかなか太刀打ちできませんからね。 とは言っても、100人入った全員が5年も10年も働き続けませんよね。 3年もすればぼろぼろと人が辞めだすと思います。これはLINEが良い悪いの話じゃなく、そういうものだと思います。 特に、いまから100人組織を作るわけで、そこまでの規模で最初から頑強なチームを作るのは難しいはずで、3年後にできあがった組織の色が期待していたものと違う形になったという人も多くなってるはず。やっぱりサービス系よりも業務システムのほうが

    開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena
    sue445
    sue445 2014/02/19
    あと福岡は飯が安くてうまい
  • 福岡の水曜飲み会コミュニティ「水どう」の代表になりました - きしだのHatena

    「水どう」は、「水曜ひまだけど飲み会とかないしひとりで飲みにいくのもなんだしでもちょっと飲みたいんだけどどうしよう?」の略の「水曜どうしよう」の略です。 代表というのは、つまり買出し・鍵あけ・撤収係です。 毎週水曜日の午後8時から午後11時まで、500円で飲み放題なイベントです。午後8時の定義にはいろいろな幅がありますので、実際に開いているかどうかは、facebookのグループやきしだのTwitterなどで様子を見てみてください。早い時間に来られる方は、なんらか連絡していただければ、がんばって開けておきます。 技術系に限らず、どんな方でも参加可能です。半分くらいは技術系ではない人です。たぶん。 福岡に住んでいて水曜の夜ちょっとヒマな方、福岡に出張にきたけど水曜の夜にちょっと時間が空いてしまった方、福岡で、水曜どうしよう?と思ったかた、ちょっと顔を出してみてください。 場所は、天神・大名のA

    福岡の水曜飲み会コミュニティ「水どう」の代表になりました - きしだのHatena
  • Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena

    Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気にわなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも

    Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena
  • Struts1職人の朝は早い - きしだのHatena

    Struts1職人の朝は早い。 「毎日毎日DBとアプリサーバーが違う。機械ではできない」 「このstruts-config.xmlはダメだ。ほら、すぐ裂けてしまう」 ここ数年はLLとScalaに押されているという。 下町Struts1の灯火は弱い。だが、まだ輝いている。 「やっぱりアレですね、たいていの若い人はすぐやめちゃうんですよ」 「それを乗り越える奴もたまにいますよ。そういう奴が、これからのStruts1界を引っ張っていくと思うんですね」 今日も彼は、日が昇るよりも早くstruts-config.xmlの整形を始めた。明日も、明後日もその姿は変わらないだろう。 そう、Struts1職人の朝は早い。 夜も遅い。

    Struts1職人の朝は早い - きしだのHatena
    sue445
    sue445 2013/06/25
    (´;ω;`)ブワッ
  • 1