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

  • 目的を規定せずにモデリングを考えても意味がない - きしだのHatena

    オブジェクト指向のでは「自転車をモデリングしてみましょう」「鳥をモデリングしてみましょう」ということが、どういうシステムで使うか規定せずによく書かれています。 けれども、モデリングではどういうシステムで使うかということが大事で、それを決めずにモデリングを考えても意味がありません。モデリングすべきはモノではなくシステムのプロセスです。 よく、オブジェクト指向では現実をモデリングするのようなことが言われますね。 例えば鳥が鳴くとして、その一種であるニワトリをどうモデリングするか、ということを考えるとします。 そうすると、まず void 鳴く() { print("コケコッコー"); } のようなメソッドを考えるのですけど、コケコッコーとうまく鳴けるのは鳴き慣れたニワトリです。そのため、鳴くメソッドにカウンターを用意してどんどんうまくコケコッコーになるようにしたくなります。 いや、そもそも、コ

    目的を規定せずにモデリングを考えても意味がない - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2024/04/14
    まあいろんな意見あるけど自分で試そうとしないで外部の意見ばかり見て判断する奴が一番ダメな気がする
  • コミュニティノートがTwitterを壊している - きしだのHatena

    コミュニティノート、案の定暴走している。 どんな改悪、利用制限よりも大きくTwitter*1を壊してるんじゃなかろうか。 ※ 2024/3/12追記 コミュニティノートの、「追加の背景情報が必要ない理由を説明するノート」がうまくまわって、初期に見られた正義の暴走のようなノートは表示されないようになってきています。 コミュニティノートは、多数派に有利な仕組みです。 「コミュニティノートでは、さまざまな視点を持つユーザーにとって役に立つノートが特定されます」 となっていますが、多数派であればさまざまな視点を持つユーザーが確保しやすく、逆に少数派は視点が収束する傾向があるので不利になります。 そのため、なんらかの不満をもっているけどその不満を表明して言葉にするとだいたい間違っているという層には非常に居づらくなっています。 「間違ったツイートをしなければいい」のような発言をみかけるけど、裏を返せば

    コミュニティノートがTwitterを壊している - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/08/04
    そのコミュニティノートが作られた背景はTwitterのせいじゃなくてユーザーのせいなんだけどね。だからこの人(のように思ってる人)はかなりの少数派。
  • OpenAIのFunction Callingを使って自然言語でツールの操作をする - きしだのHatena

    先週、OpenAIから、APIでの返答に関数呼び出しのパラメータを返してくれるFunction Callingが発表されました。 試してみると結構たのしかったのでまとめてみます。 解説動画はこちら youtu.be とりあえず、こんな感じ。 OpenAIのFunction Callingでツール操作を試すやつ、GPT-4だとかなり文脈を理解してくれるし、位置関係も結構ただしく扱ってくれる。しかし遅い。 pic.twitter.com/nkijZpcnP6— きしだൠ(K1S) (@kis) 2023年6月19日 用意したのは3つの関数。 set_position(id, left, top) set_size(id, width, height) set_color(id, color) で、その割に、「中央に」だとか「隣に」だとか、コンテキストを踏まえて座標などを計算して関数を呼び出して

    OpenAIのFunction Callingを使って自然言語でツールの操作をする - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/06/19
    早く使いたい
  • 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
    mayumayu_nimolove
    mayumayu_nimolove 2023/06/12
    まだその呪文現役なのか。それはとても安定してる
  • エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena

    前のブログでも紹介したのだけど、ChatGPTプラグインのローリングアウトが始まって使えるようになっていて、結局みんな使うのはこの3つくらいかなーとなったので、まとめておきます。 前のブログはこれ。 Bardも世の中のサービスぜんぶGoogle製と思ってるらしい - きしだのHatena 同時に使えるのは3つまでのようだけど、他のプラグインはアメリカ不動産情報など日からは使いづらかったり、作ってみたレベルだったりなので、結局この3つに落ち着くかなーという気がします。 WebPilot これは手放せなくなります。Web記事を読み込んでくれるプラグイン。 ChatGPTには「この記事を要約して」しか入力しなくなりそう。 このエントリを要約してもらっています。 大規模言語モデルの「脳波」が反応してる部分を壊すとどうなるか試した - きしだのHatena ※ 追記 15:21 ぼくのところには

    エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/05/15
    やべえことになってんな
  • ChatGPT時代にはすべてのエンジニアがフルスタックになる - きしだのHatena

    ChatGPTのおかげで非エンジニアでもコードが書けるようになるということを多くの人が言ってますが、すでにエンジニアである人にあてはめると、ChatGPTのおかげで専門分野以外のコードでも書けるようになるということで、つまりすべてのエンジニアがフルスタックになるってことじゃないかと思います。 ChatGPTにコードを書いてもらうと毎回びっくりする いや、ちょっとJavaで袋文字の描画ってどうやるんだったかなーと思ってChatGPTに問い合わせたら、ほぼ完全なコードをリテイク1回で生成したんですね。 こいういうコードが出きました。createGlyphVectorとか知らんわ! // 文字の縁取り g2d.setColor(Color.BLACK); g2d.setStroke(new BasicStroke(5)); // 縁取りの太さを調整 g2d.draw(font.createGly

    ChatGPT時代にはすべてのエンジニアがフルスタックになる - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/04/09
    使ってて分かるけど、ある程度その分野を知らないと質問ができないから誰でもそうなれるわけじゃないよね。
  • 新しいプログラミング言語が出てこない(新しく出てた言語を追記) - きしだのHatena

    2010年代前半にKotlinが2011年、TypeScriptが2012年、Swiftが2014年、Rustが2015年と、新しいプログラミング言語が立て続けに発表されていましたが、そこを最後にみんなが話題にするような言語は出てきていません。 なんでだろうと、思いつく要因をあげてみます。 ※ 追記2023/5/11 わざとなのか「みんなが話題にするような」を無視してツッコミ入れてる人いるのだけど、言い換えれば「新しい言語が出てもみんな話題にしない」という話です。 プラットフォーム用の言語が出そろった KotlinTypeScriptSwiftRustが2010年代前半に出てきましたが、これはJVM(Android含む)、ブラウザ、Appleデバイス、ネイティブといった代表的プラットフォームでほどほどの言語が出そろったということではないかと思います。 結局のところプログラミング言語は

    新しいプログラミング言語が出てこない(新しく出てた言語を追記) - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/04/05
    がんばれ
  • ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena

    いろいろ仕組み的にChatGPTというのはGoogle検索の代替以上の働きをするなぁと思っていたのだけど、それとは別にChatGPTによって検索が使い物にならなく未来が考えられるなぁと思った。 ChatGPTが検索よりもいいのは、そのものズバリな文書がなくても、その周辺から学んだ単語の関係をもとに、答えを構築してくれることです。 たとえば検索の場合は、日語で書かれた文書が用意されていなければ、たとえ英語中国語の文書があったとしても日語での検索には引っかかりません。 けど、ChatGPTの場合は、英語中国語の文書から学んだ単語の関係や、ほかの文書から学んだ英語と日語の関係、日語での単語の関係などから、日語の回答を生成してくれます。 たとえばGluonという会社について日語で説明してる記事はおそらくないと思うのですが、ちゃんと日語で説明してくれます。社はベルギーですが。。。

    ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2023/01/25
    若い人がインスタやtiktokで検索してるって言うのと同じでしょ?
  • ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena

    ChatGPT、すごいですね。 Javaは素晴らしいという歌も作ってくれます。すばらしい。 Java素晴らしいという歌を作ってもらいました。https://t.co/Dx94koO2ti pic.twitter.com/E4tWK5FbeM— きしだൠ(K1S) (@kis) 2022年12月1日 プログラミング関係ではいろいろ助けになりますね。 基的なコードの生成や、その解説までやってくれます。 SimulaとかAIDAとか古い言語のサンプルコード作るのが便利でした。 ぐぐってもなかなかコード例が出てこない言語のサンプルコードを見るのに便利 pic.twitter.com/JbDACwO9zU— きしだൠ(K1S) (@kis) 2022年12月2日 正規表現はおそらく専用処理で解析してる気がします。 ただ、「123_45678world.md」はマッチしますね。 こんな感じで、Cha

    ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2022/12/06
    エンジニア界隈で流行ってるだけのイメージ。マストドンと同じ運命な気がするけど、なんとか一般層にも興味を持ってもらうには考えてる。ボケツッコミできればいいのだが。
  • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

    JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげたについてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基から簡単なDB操作、Spring Bootまで

    プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2022/11/27
    なんのために勉強してるの?って人生設計の勉強。大袈裟かてへぺろ死語
  • TwitterをSpaceXやTeslaと同じようにはエンジニアリングできないのでは - きしだのHatena

    Twitterを買収したイーロン・マスクが週80時間勤務に備えろといって、それができないなら退職という話をした結果、エンジニアを含め社員の多くが辞めたという話がでてます。 https://jp.reuters.com/article/twitter-departures-idJPKBN2S806D イーロン・マスクとしては、Teslaのようにハードに働く少数精鋭のチームを作りたいようです。 9.3/ 優秀な小規模チームを作るのが大事だと行っていて、TeslaのAutopilot AIチームにいる150人のエンジニアは競合の3,000人のエンジニアチームに勝っているとイーロンは語る— Tetsuro Miyatake (@tmiyatake1) 2022年11月11日 ただ、TeslaやSpaceXは製造業で、たとえばSpaceXならロケットを安く確実に作るというように、作るものは基的に決

    TwitterをSpaceXやTeslaと同じようにはエンジニアリングできないのでは - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2022/11/19
    ぶっちゃけイーロンやテスラのエンジニアがそんなこと理解してないはずないと思う
  • インスタンスとオブジェクトの違い - きしだのHatena

    インスタンスとオブジェクトは混同しがちで区別がようわからんになりがちです。 とりあえず某所で説明したものを再構成します。 ※2022/12/10追記: クラスに対するのはインスタンスになるべき(たとえばクラス変数とインスタンス変数)なので、ちょっと修正するべきですが、このエントリはそのまま残してます。 クラス・インスタンス・オブジェクト クラスをインスタンス化(実体化)したものがオブジェクト(物)です。 実際に在るものはクラスとオブジェクトで、インスタンスはそれらの関係です。colorsやsportsが並んでるツリーが「オブジェクト」で、右のパレットに並んでるTreeが「クラス」、Treeからみたときのツリーが「インスタンス」ということになります。 ここでツリーはオブジェクトでもインスタンスでもあります。 このように、同じものをオブジェクトともインスタンスともいうことができるので混同してし

    インスタンスとオブジェクトの違い - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2022/09/18
    インスタンスは耳慣れないのでオブジェクトと呼んでるのかと思った
  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2022/08/06
    変化に対応したくないだけだったりして
  • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

    某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提として、オブジェクト指向は1980-2000年くらいに流行って発達したものの、それ以降は時代にあわせた進歩はしていない20年以上前の技術ってのがあります。 そのころは今だとCPUのキャッシュにも満たないようなメモリをやりくりしてプログラムを書く必要があったので、オブジェクト指向はメモリ上のデータをコピーすることなくうまく使いまわせるようなプログラム技術になっています。 そしてオブジェクト指向にはそこから目だった更新はなく、タイトルに書いたように、カメラがやっとついたくらいのガラケーのような古い技術という感じがします。 オブジェクト指向について、アプリケー

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2021/01/21
    オブジェクト思考って車だの変な例え方をしない方が自分は理解できた
  • プログラムを教えて理解されない場合は教える技術の不足 - きしだのHatena

    プログラムが組めるとプログラムが教えれると思いがちだけど、教えることは別の技術です。 教えてもなかなか理解してくれないとき、プログラミングに向いてないとさえ言う人もいますが、教える側の教える技術の不足です。 教えることも技術のひとつだと気付けば、教えてもなかなか理解してくれないときに技術の不足であるということにも思い至れると思います。技術の不足であると気付けば、改善もしていけます。 そして教える技術というのは、インストラクショナルデザインという名前で系統だてて整理されています。 たとえばそのまま「インストラクショナルデザイン」など、タイトルにインストラクショナルデザインが含まれた書籍もたくさん出ています。 インストラクショナルデザイン―教師のためのルールブック 作者:島宗 理発売日: 2004/11/01メディア: 単行 他にも、タイトルにはインストラクショナルデザインとついてないけどイ

    プログラムを教えて理解されない場合は教える技術の不足 - きしだのHatena
    mayumayu_nimolove
    mayumayu_nimolove 2021/01/07
    とにかく書け。書いてわからなかったら質問しろ。これでいんじゃね?
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

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

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
    mayumayu_nimolove
    mayumayu_nimolove 2019/05/13
    お前は誰だ
  • 1