タグ

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

  • ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena

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

    ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena
  • Javaのインストール2023年版 - きしだのHatena

    ちょっとJavaのインストールについて調べてみました2023年版。 Javaにはディストリビューションがたくさんあるので、目につくインストーラーをWindowsで全部ためしてみました。 初心者が勉強するためにJavaをインストールするというときにどれを使うのが手軽か確認するというのが主な目的です。 Oracle JDK Temurin by Adoptium Amazon Corretto Azul Zulu Liberica JDK Microsoft Build of OpenJDK SapMachine OpenJDK SDKMAN! winget OpenJ9 / Semeru Runtime Red Hat Build of OpenJDK GraalVM Scoop いろいろあるので、結論を先に書いておくと次のようになります。 いまPATHの設定が必要なJDKインストーラはない

    Javaのインストール2023年版 - きしだのHatena
  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

    ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
  • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

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

    プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
  • ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」 カンペ - きしだのHatena

    昨日2022/10/27に行われた『ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」』のカンペです。 これを見ながら話してました。 前振り 今日はほんとに怖い話をするので、資料なしでやりますね。 昔話 ちょっと昔話をしましょう ぼくの最初の仕事PHPでした。PHP3とPostgreSQL英語学習サイトをつくるというものです。 当時webでプログラムを動かすというのは出たばかりで、請け負う業者がいなかった みんなVBやってましたからね なので大学追い出されたてで何の実績もないぼくに仕事がまわってきた。 もうちょっとして、東京の会社に声をかけられました。 で、iPhoneアプリをつくってほしいと。 これも、iphone出たばっかりで技術者がいなかった。 なので福岡のぼくに話がまわってきたわけですね。 共通するのは、新しい技術技術者がいないので実績ないけど仕事がまわってきたことで

    ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」 カンペ - きしだのHatena
  • enumの使い方のおさらいと高機能enumとしてのSealedクラス - きしだのHatena

    Javaでは複数の定数をまとめて扱う型としてenum(列挙型)が用意されています。 これはこれで便利なのですが物足りないところもあって、それがSealedクラスなどを使うことで解決できるようになるので、解説します。 enum型 enumは状態やデータ区分を表すのによく使われます。 構文は次のようになります。 enum 型名 { 列挙1, 列挙2, ... } 例えば次のような状態を表すとします。 この状態を表すenumは次のようになります。それぞれの値は大文字で書くようにします。 enum State { READY, RUNNING, SUSPENDED, TERMINATED } enumではそれぞれの値ごとに処理を行うということがよくあります。そこでswitchと相性がいいです。 State s = State.READY; switch (s) { case READY -> Sy

    enumの使い方のおさらいと高機能enumとしてのSealedクラス - きしだのHatena
    kenjiro_n
    kenjiro_n 2022/10/04
    JavaはあまりやれていないのでこのSealedクラスというのは知らなかったが、途中に出てきた「 READY(1, "準備完了"), 」という初期子を見て謎の悪寒が走ったことを白状しておく。
  • M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena

    M1 MacBook Airが届いていろいろやってたら年も明けてだいぶたったけども、ビルド速度とかJavaとかDockerとかTensorFlowとか、技術者が気になるベンチマークを試してたので、まとめました。 MacBook Airを買ってしまった なんかM1 Mac解説動画をとるためにいろいろ調べていたら、悪質サイトのリンクを踏んだみたいで、MacBook Airを買ってしまっていた。 その悪質サイトは最初は7万円台ですよーっていっておいて、結局12万円くらいになっていた。 みんなもapple.comってサイトには注意しましょうね。 www.youtube.com とどいた! 12/12到着予定といいつつ11日になっても羽田から動いてなかったので大丈夫かーと思ったら11日深夜というか12日未明というかそのあたりには福岡に届いてて、朝発想されて夜にとどいた。 でこれだ! ベンチマーク G

    M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena
  • プログラマが勉強すること - きしだのHatena

    今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作

    プログラマが勉強すること - きしだのHatena
  • Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena

    JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String

    Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena
  • Javaの新元号対応を試す。そして実用には問題がある。 - きしだのHatena

    新元号対応はNewEraという仮の元号で対応が進んでいるので、試してみました。 おそらく、実用では使えない場面がある仕様になっています。 なので、元号対応が必要そうな人は、早めに試して声をあげる必要があると思います。 ビルドする ※ 2018/6/16追記 ea18が出ているのでそのまま試せます Masterブランチに取り込まれているので、明日あたりにでてくるea18で使えるようになると思いますが、いまは自分でビルドする必要があります。 ビルドについては、こちらを参考にしてください。ここに書いてるのとは違って、リポジトリはhttp://hg.openjdk.java.net/jdk/jdkです。 http://d.hatena.ne.jp/nowokay/20171104#1509753358 使ってみる JShellで使ってみます。 jdk $build/macosx-x86_64-no

    Javaの新元号対応を試す。そして実用には問題がある。 - きしだのHatena
  • 福岡でおいしいビールが飲める店 - きしだのHatena

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

    kenjiro_n
    kenjiro_n 2018/06/15
    青島麥酒はこのエントリでは出てこなかった。呑めるお店がないかとずっとぼんやりと考えていたんだけど、やっぱりちゃんと自分が探さないとダメか。
  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
  • マニアへの説明、普通の人への説明、買う人への説明 - きしだのHatena

    アウディR8の新型が出たという朝日新聞の記事がなんかかわいかった。 車好き向けの専門サイトだと「V型10気筒エンジンをミッドシップに搭載。ギアボックスは新開発の7速Sトロニックが採用された」「軽量ボディ構造、アウディスペースフレームにより実現できた」「このフレームはアルミとCFRP(炭素繊維複合材料)により、重量はわずか200kg」と、なんかよくわからん用語と数字の羅列で説明されてます。 【アウディ R8 新型】先代比15%の軽量化、フレームはわずか200kg | レスポンス(Response.jp) それが朝日新聞だと、こう。 「車体を頑丈にしたり軽くしたりする改良で、加速性能を向上」 なんかかわいい。 アウディ、R8を全面改良 3.2秒で時速100キロに:朝日新聞デジタル 面白いのは、その結果どうなるかという、0→100km/h 3.2秒っていうのが、マニア向けの記事には載ってなくて、

    マニアへの説明、普通の人への説明、買う人への説明 - きしだのHatena
  • 品質におけるコメントの役割。あるいは、レビューとコメント - きしだのHatena

    昨日のエントリでも書いたきょんくんとの会話なんだけど、なんとなく、コメントとテストは同じように扱えるんではないかという認識のもとで話がすすんでた。もちろん、コメント書けばテスト書かなくていいとかそういうのではなくて。 テストは、書きやすい対象と書きにくい対象がある。関数的に計算を行うコードの場合はテストが書きやすい。一方で、関数的ではなく副作用のあるコードはテストが書きにくい。データベースを扱ったり通信したりUIがあったり。 そして、そのようなテストを書きにくいときに、コメントはテストのように品質のために使えるんではないか。 で、問題は、どのように品質のために使うかということなんだけど、コードレビューのときの指針として使えばいいんじゃないかなと思った。 コードレビューのとき、コードだけを見ていると、名前付けとかコードの順番とか条件文の使い方とか、体裁的なものだけのレビューになりがち。そこで

    品質におけるコメントの役割。あるいは、レビューとコメント - きしだのHatena
  • ソニーデジタルペーパーを買った。これはいいものだー - きしだのHatena

    発表されたときから興味があって、その値段のせいで買うのを躊躇していたソニーデジタルペーパー、なんかレビューみてたら一瞬気を失っていて、その間に注文してしまっていたようです。 ひとこと。これはいいものだー。 ソニー デジタルペーパー DPT-S1 出版社/メーカー: ソニー発売日: 2013/12/03メディア: エレクトロニクスこの商品を含むブログ (1件) を見る 表示 大きいことはいいことだ。 パタヘネやWEB+DB PRESSが実物以上の大きさで表示できるのは、とてもいいです。これで、アルゴリズムデザインみたいなでかいを裁断する気になります。 ブラウザ機能もあって、文字の多いサイトを読むのにもいい感じ。 通常の大きさのだと見開きで表示できるサイズなのですが、見開き表示のモードがないのが当に残念。 4枚表示でも読めるのですけど、横向きで2枚表示が欲しい。 ただ、電子書籍を読んだり

    ソニーデジタルペーパーを買った。これはいいものだー - きしだのHatena
  • プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena

    2005年くらいから、コンピュータの性能には余裕があるので、プログラムの効率が多少わるくなってもプログラムが組みやすく人間の能力が発揮できるほうがいいという傾向が強くなりました。 プログラムはサーバーで動かすものであり、サーバーの制約はネットワークとストレージでCPUやメモリには余裕があったためです。 また、世の中は、ITのない世界からITのある世界への変化の中にあって、サーバーでの情報処理やネットワークをサービスとして提供することで、世の中が変わっていきました。 そういった状況であれば、プログラムが組みやすく、思ったとおりのサービスを思った時期に提供できるということが大切になっていました。どんなに未完成でも、新しいアイデアをいち早く見て触ってもらうということが大切だったからです。 しかし、もうすでに世の中は、ITがある世界に変わりました。 もちろん、より便利な情報処理サービスも今後でてく

    プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena
  • StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena

    ※ 4/9 11:25 いろいろ計測しなおしてます。こちらも参照 Javaで文字列連結する場合には+演算子よりもStringBuilderを使うべき、という話があるのですが、よく sb.append("[" + data + "]"); みたいなコードをみかけて、あんまり意味ないなーと思ったりします。 あと、 sb.append("title:"); sb.append("[" + data + "]"); みたいに、+演算子を使った一行の式にして sb = "title:" + "[" + data + "]"; としておけば「title:」と「[」はコンパイル時点で最適化されたのに、ってコードもあります。 ということでTwitterJavaでの文字列連結は+を使うべき、ってやったほうが、StringBuilder使ったsb.append("[" + data + "]")みたいなク

    StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena
  • プログラムの生産性を高めるためになにを勉強するか - きしだのHatena

    用語は形式的なものではなく感覚的なものであることをお断りしておきます。 言語・フレームワーク・プラットフォーム まず最初に触れるものでとっつきやすい。何か使えないことには話になりません。多くの人が、勉強というとまずここ。 何かすでにつかえる人が新しく勉強することは、生産性をあげない。そのプラットフォームを初めて採用するときの準備が減らせる。どちらかというと仕事の選択肢を増やす感じですね。 深く知ることは、最適なコードを書きトラブルを減らしトラブルが起こったときの対策も早くなるので、生産性があがります。ただ、ある程度の深さ以降は生産性への寄与度がさがるので、その点では深くまで勉強する必要はありません。 プロダクトの使い方なので、プロダクトの寿命が勉強成果の寿命です。実際に使わないものの勉強は無駄になるし、使われなくなったら無駄になる。寿命もそう長くないです。 「プログラマは勉強してもすぐ使わ

    プログラムの生産性を高めるためになにを勉強するか - きしだのHatena
  • 福岡の水曜飲み会コミュニティ「水どう」の代表になりました - きしだのHatena

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

    福岡の水曜飲み会コミュニティ「水どう」の代表になりました - きしだのHatena
    kenjiro_n
    kenjiro_n 2014/01/23
    とはいえ飲み会の雰囲気が苦手でこういう交流会の類は積極的に逃げて回ってる俺ではあるのだが。
  • 勉強会に参加しないと不幸になる話 - きしだのHatena

    昨日のOSC福岡2013の「勉強会x勉強会」セッションで飛び込みLTしたときのプレゼンに加筆して公開しました。 追記:福岡の人はFacebookの福岡IT関連勉強会に参加しておくと、勉強会情報が得やすいと思います。

    勉強会に参加しないと不幸になる話 - きしだのHatena