タグ

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

  • 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
    ono_matope
    ono_matope 2023/06/12
    初心者の学習がスムーズになるのは素晴らしいですわね。publicとstaticが暗黙的に指定されるという理解でいいのですわよ?
  • APIといえばWeb APIになった現在、ローカルAPIは専らライブラリと呼ばれる説 - きしだのHatena

    APIというとWeb APIのことを指すようになってしばらくたちますが、こういう場合WebじゃないほうのAPIを指すレトロニムができるはずなんですよね。 例えばこのエントリのタイトルではローカルAPIという言葉を使ったけど、埋め込みAPI、組み込みAPIという言い方も可能な気はして、そしてどれもしっくり来ない。シェアドライブラリを考えると埋め込みAPI / 組み込みAPIというのは不適切でローカルAPIが適切な気がするけど、違和感が大きい。 元々でいうと、アプリケーションプログラマがなんらかミドルウェアなどを使うための入り口というのはAPIで、SQLAPIのひとつだったりした。 C.J.DateとCodd博士の「The relational and network approaches: Comparison of the application programming interfac

    APIといえばWeb APIになった現在、ローカルAPIは専らライブラリと呼ばれる説 - きしだのHatena
    ono_matope
    ono_matope 2022/12/31
    その割にgRPCはAPIと呼ばれないがちだったり。
  • 一人暮らしならトイレのドアを閉めては いけない - きしだのHatena

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

    一人暮らしならトイレのドアを閉めては いけない - きしだのHatena
    ono_matope
    ono_matope 2020/07/12
    高齢夫婦の二人暮し世帯で、夫がトイレの前で脳卒中か何かで突然死してドアを塞ぎ、トイレに入っていた妻が出られずに死んだ話がこわくて忘れられない。
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
    ono_matope
    ono_matope 2014/07/19
    数行のボイラープレートコードを嫌って抽象化を始めたら数百行に及んでなにやってんだ俺は感を味わうアレ/OOPはファウラーのリファクタリングができてからという
  • 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
    ono_matope
    ono_matope 2014/07/09
    "大人になったらJava"
  • CPUはオワコン - きしだのHatena

    FPGACPUを組んでると、フェッチ部やデコーダ部で足し算や掛け算をしようとして、そんなことしたらCPUの意味ないなーと思ってしまうことがありました。 で、よく考えたら、FPGAでロジックを組むならCPUの意味はないんです。 だいたい、ひとつの処理実行するのに何クロックかかってんですか!と。 CPUでは、計算効率をよくするためにパイプラインという仕組みが使われています。 最近では、18段とかのパイプラインもあるようです。 ここで、18段のパイプラインのうち、実際に計算を行うのは2段か3段だったりします。残りの15段くらいは、命令や計算結果を読んだり書いたりしているだけです。 このパイプラインも、ほとんどはメモリの読み書き、それも命令の読み込みに多くが使われます。 であれば、CPUにしなければ、18段全部計算に使えるんじゃね?という話になりますね。 決まりきった計算を行うのに、いちいちメモ

    CPUはオワコン - きしだのHatena
    ono_matope
    ono_matope 2013/02/20
    ハードウェアHTTPサーバーや。MMXみたいにテキスト処理のCPU拡張命令というかたちで実装されるとかなら?
  • 社会人が勉強するときに知っておくべき3つのこと - きしだのHatena

    某社の社員の人が始めたというAdvent Calendarが、13日になっても13日分の担当が決まってないという状態だったので、空気よまずに書いてみました。 「新人/若手向け、これだけは知っとけTips25 Advent Calendar 2012」 http://www.adventar.org/calendars/37 これだけは知っとけTipsということですけど、これTipsじゃないなーと思いながら、でもまあ知っておいたほうがいいよなということを書いてみます。 13日担当分ですが、もう一件Advent Calendarがあるので、このエントリの日付は12日にしています。 は読み進むと必ず読み終わる まず、勉強するときに知っておいてほしい一番大事なことは、「は読み進むと必ず読み終わる」ということです。 どんなに厚いでも、難しいでも、という体裁になっている以上は有限のページ数し

    社会人が勉強するときに知っておくべき3つのこと - きしだのHatena
    ono_matope
    ono_matope 2012/12/16
    "・本は読み進むと必ず読み終わる ・制限時間はない ・あきらめてもいい"
  • 文章に向いてない構造をいかに文章に向いた構造に直列化するかが大事 - きしだのHatena

    Software Design 12月号の特集が「なぜエンジニアは文章が下手なのか?」というタイトルだったので、読んでみたら、ちょっと残念な内容だった。 「それは文章で書くべき情報なのか」という章があって、直列化した論理構造であれば文章には書きやすいけど、分岐やループがあるような構造だと書きにくいということが書いてあった。そこで文章化しにくい構造の例として地図があげてあって、暗にそういう構造は文章化をやめて図であらわせと言っているように読める。 けれども、図に書いたところで、書く側は文章化から逃げれて満足かもしれないけど、それを読み取る側は結局どこかから順番に解釈していく必要がある。図に逃げるのは、読み手に責任を押し付けているだけだと思う。 で、「ですから文章を書く前にまず論理構造を考える必要があります」と続いていて、では考えた論理構造が「文章に向かない論理構造」だったらどうするの?逃げる

    文章に向いてない構造をいかに文章に向いた構造に直列化するかが大事 - きしだのHatena
    ono_matope
    ono_matope 2012/11/25
    「考える技術、書く技術」を今読んでるけど、あれはビジネス文書風なので対象となる文章分野が違うかもしれない。
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
  • トランザクションおもろい 2009-02-07 - きしだのはてな

    Database Management Systemsがなかなか届かないので、屋でトランザクション処理 上を買って読んでるのだけど、これは面白い。 上下巻共に買ったけど、待てるならamazonなりなんなりの通販をお勧めする。 っていうのは、屋で買うときに、「袋は別にしましょうか?」って聞かれて、入らないのかと思ったら「重いので」っていうことだったのだけど、それを断って一つの袋に入れてもらったら、ほんとに重くて後悔した感じだったので。手にい込む。 で、トランザクションのどういうところが面白いかというと、「金になる」という感じがするのが面白いと思うのです。 アルゴリズムデザインとか読んでなんとなく成長する感じはあっても、実際に計算困難問題を近似で解決するとかいうシチュエーションはないよなと思うわけです。けど、トランザクションは、いろいろ業務の要。どんなモノを作るにしても、手続きの塊という

    トランザクションおもろい 2009-02-07 - きしだのはてな
    ono_matope
    ono_matope 2012/06/19
    トランザクション処理本の重さと著者の消息に衝撃を受けた
  • Database Management Systems 8章読み終わった - きしだのHatena

    一日1ページとか2ページとかいうペースで、Database Management Systemsを読んでるのだけど、やっと8章「Overview of storage and indexing」が読み終わった。 Database Management Systems 作者: Raghu Ramakrishnan,Johannes Gehrke出版社/メーカー: McGraw Hill Higher Education発売日: 2002/09/01メディア: ペーパーバック購入: 1人 クリック: 9回この商品を含むブログ (2件) を見る ついでに言うと、8章から読み始めたので、最初の章がやっと終わった感じ。 さらについでに言うと、7章までは普通にリレーショナルモデルとかSQLの説明とか、日語でも読めるような内容なので、読み飛ばしてる。JDBCのAPIの説明とかJSPとか、どうでもいいし

    Database Management Systems 8章読み終わった - きしだのHatena
    ono_matope
    ono_matope 2012/03/23
    おもしろそう、読めたい。
  • 「低要求での品質逆転の法則」というのを思いついた - きしだのHatena

    つまり、ソフトウェアのあらゆるパラメータで、要求が低いときには工夫をしないほうが品質が高くなるという法則。 たとえば、アルゴリズムというのは理論的にはデータが増えたときに性能悪化がゆるやかなもののほうがよいということになってる。 でも多くの場合で、よいアルゴリズムは、少ないデータ数では単純なアルゴリズムに負ける。ソートなんかだと、データ数が一定以上のときはクイックソートだけどデータ数が少ないときはマージソートを使うということがよく行われる。「指数時間」かかると言われるアルゴリズムは遅くて使い物にならないということだったけど、それをがんばって「多項式時間」という使い物になるはずのアルゴリズムに改良したら複雑になりすぎて、通常のデータ数なら「指数時間」のアルゴリズムよりも遅いということがよくある。 データの格納にしても、データベースは便利だけど、データ数が少ないときは単純なテキストファイルのほ

    「低要求での品質逆転の法則」というのを思いついた - きしだのHatena
    ono_matope
    ono_matope 2012/02/07
    PoEAAでもファウラー先生が「簡単なプログラムの場合は凝ったアーキテクチャパターンではなくベタに書いたほうがいい」というグラフを書いてたなー
  • 2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊

    ここにあげたじゃなくてもいいので、同じ分野でなにか読むとか、に書いてあるほど詳しくなくてもそれなりに知識をもっておくべき。 アルゴリズムクイックリファレンス 作者: George T. Heineman,Gary Pollice,Stanley Selkow,黒川利明,黒川洋出版社/メーカー: オライリージャパン発売日: 2010/04/26メディア: 単行(ソフトカバー)購入: 11人 クリック: 656回この商品を含むブログ (72件) を見る まずはアルゴリズム。クイックって書いてあるけどぜんぜんクイックじゃないw。各言語で書かれた入門書を読んでもいいと思う。 実際のプログラムにアルゴリズムの知識を活かすということを知りたいならプログラミングコンテストチャレンジブックがおすすめ。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一

    2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊
  • Twitterはなぜ成功したか - きしだのはてな

    (Twitterに書いたこと、まとめ) twitterが成功した理由を単に「シンプルだから」と言ってしまうのは、認識が浅いと思うようになった。シンプルなものならほかにもたくさんあったはずなのに、なぜTwitterが成功したのかという理由にならない twitterの成功の理由を「シンプルだから」というのは、googleの成功の理由を「UIがシンプルだったから」と言ってるような、なんか表面しか見てない話に思う。 twitterはインフラになろうとしていて、だからシンプルにする必要やAPIを公開して自由に使えるようにする必要があったと思うのですよ。 twitterの成功の理由は、この形態のインフラが必要だと気づいて、初期の実装をし、その重要性を説得力のある説明をして資金を集めることができからだと思う。 Twitterにハマれない人がいるというのは、Twitterはinternetの上に構築された

    Twitterはなぜ成功したか - きしだのはてな
    ono_matope
    ono_matope 2009/11/13
    とてもきれいにまとまってる
  • どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena

    どうでもいいことを、あたかもなんかすごいことのように語る方法を考えてみる。 まず、書きたい「どうでもいいこと」を決めよう。 とりあえずここでは、「明星のインスタント焼きそば作るときにかやくを入れ忘れたのだけど、それってフタの説明が悪いんじゃない?」ということを書くとしよう。ここで、読んでる人に「ようわからんけどなんかすごい」と思わせるために話の主題をずらすのが大切だ。今回は、結論を「UFOのターボ湯切りいいよね」ということにしよう。 文はこのようになる。 先日明星のインスタント焼きそばをべた。 ふたの説明を見ながら手順どおりに作ったのだけど、べる段になって、かやくはあらかじめ入れておかないといけないことに気づいた。これはふたの説明が悪いのではないか。ふたの説明はインスタント焼きそばの味を最終的に決めるものであるから、わかりやすく書くべきである。 UFOのようにかやくをあらかじめめんの

    どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena
    ono_matope
    ono_matope 2009/06/12
    いい名前が思うかばないですね…!!
  • 1