タグ

ブックマーク / kmizu.hatenablog.com (7)

  • ChatGPTをプログラミング言語開発に役立てる - kmizuの日記

    久し振りの更新です。巷では先日リリースされたばかりのGPT-4oの話題でもちきりですが、私も当日深夜2時のライブストリーミングを見てその後すぐにGPT-4oを試しています。性能に関する雑感としては 全般的にはGPT-4-Turboより頭が良い Claude 3 Opusと比較すると、お堅い & 無難な回答を返す傾向あり ただし、Opusよりハルシネーションは起きにくい印象 画像認識の性能が凄い 辺りでしょうか。特に最後の点は特筆すべきことで、GPT-4-Turboの画像認識よりだいぶ性能が向上したおかげで今までだとやりにくかったことも簡単にできるようになっています。その際たるものが先日バズった GPT-4oの画像認識力と理解力をもってすればいけるやろと思ってやってみたら実際いけた。 ペーパープロトタイピングから最初のHTML書き起こすのにかなり使えるのでは。 つーか指示そのものを画像の中に

    ChatGPTをプログラミング言語開発に役立てる - kmizuの日記
    sh19910711
    sh19910711 2024/05/22
    "Scratch: 抽象構文木を割と素直に視覚化したプログラミング言語 / 一方でScratchである程度「プログラム」が書けるようになっても、そこから先のテキストベース言語に移行する際に大きなギャップ"
  • 『C.J.Dateのデータベース実践講義 - エンジニアのためのリレーショナル理論』 雑感(途中) - kmizuの日記

    データベース実践講義 ―エンジニアのためのリレーショナル理論 (THEORY/IN/PRACTICE) 作者: C.J.Date,株式会社クイープ出版社/メーカー: オライリージャパン発売日: 2006/02/01メディア: 大型購入: 4人 クリック: 170回この商品を含むブログ (52件) を見る 実はまだ完読してないのだけど、結構刺激的で面白いなのでブログ再開ついでに紹介してみよう。 まず断っておく必要があるのは、このは、SQLや特定ベンダのRDBMSの取り扱い方のノウハウではないということ。その意味でこのを読むことで即座に実践に何かを活用できるかは不明である。彼は関係モデルの祖であるCoddと共同作業をしていた時期があったこともあってか、このではRDBの基礎であるべき(と彼が主張する)リレーショナルモデルをきっちり理解しなければならないという主張で一貫しており、こ

    『C.J.Dateのデータベース実践講義 - エンジニアのためのリレーショナル理論』 雑感(途中) - kmizuの日記
    sh19910711
    sh19910711 2023/02/14
    2013 / "書籍の中では説明のために必要に応じて(標準)SQLが使われているのだが、その事を断るときですら、いちいちSQLが単純な概念をわざわざ複雑化していることに文句を言いまくる"
  • Iterator.continually()を使おう - kmizuの日記

    Scalaの標準IOライブラリであるscala.io(.Source)は非常に腐ってます。読み込みしか対応してない上に、バイト列の読み込みもサポートしてないという代物。しかも、Scala 2.7まではscala.io.Sourceがそのままだとcloseできなかったりとか(今はcloseできます)。さっさと退場して欲しい代替ライブラリが標準になって欲しいところなんですが、現状の情勢をみるにしばらく先になりそうな感じです。 というわけで、Scalaを使うならJavaのIOライブラリとお付き合いしなければいけません。とりあえず、Commons IOとか使うのも良いかもしれませんが、ちょっとしたものを書くときにいちいちCommons IO使うのも面倒くさいです。 じゃあ、BufferedReaderとかをいちいちwhileループで回すのかといえばそれも面倒くさいです。そこで、その苦痛を緩和してく

    Iterator.continually()を使おう - kmizuの日記
  • Rubyっぽく楽にIO処理を書けるライブラリScaruby 0.3をリリースしました - kmizuの日記

    Scalaは標準IOライブラリが非常に貧弱な言語です。scala.ioはまともに使えるものではありませんし、JDKのライブラリのIOを使うのも面倒です。そこで、サードパーティのIOライブラリを使うことになります。そこで、いくつかサードパーティのIOライブラリを見てみたところ、いずれも自分のやりたいことをぱっとできるように思えなかったので、自分で作ってみることにしました。 なお、better-filesは、自分の要求に一番近かったですが、java.ioやjava.nioがインタフェース部に露出しているのがあまり好みではありませんでした。 そこで、 java.ioがインタフェースに露出しない Rubyのように簡単なIO処理が簡単に書ける リソースの後始末は可能な限り簡単に 多数のリソースをネストせずに扱える オーバーロードをしない(!) を目標として、新しいライブラリScarubyの開発を始め

    Rubyっぽく楽にIO処理を書けるライブラリScaruby 0.3をリリースしました - kmizuの日記
  • 新しい言語を覚えるために私がした事(Kotlinの場合) - kmizuの日記

    先日の、Scala勉強会第170回 in 郷 : サブテーマ「Scalaの言語仕様」 rpscala.doorkeeper.jp でScalaの言語仕様について解説していたときの反応をみて、どうも、自分のプログラミング言語の把握の仕方はあまり一般的ではないのではということを考えました。どう違うかというと一言では説明できないのですが、世間的には、プログラミング言語については、よりフィーリング的になんとなく理解している部分理解していない部分がぼやーっとしているのに対して、自分の場合、理解している部分とそうでない部分の境界がくっきりしているような感じです。 それはともかくとして、このエントリでは、自分が最近新しく触った言語であるKotlinについて、どのようにして理解を進めたかを書いてみたいと思います。 公式ドキュメントを読む 定番といえば定番ですが、公式ドキュメントが一番正確に言語について書

    新しい言語を覚えるために私がした事(Kotlinの場合) - kmizuの日記
  • 部分適用をカリー化と呼ばないで - kmizuの日記

    カリー化と部分適用の違いについては、過去のエントリ カリー化 != 部分適用 で既に述べており、決着もついているので改めて書きません。 カリー化 != 部分適用のエントリを書いたのは2009年12月です。もう3年以上前の話になります。ですが、JavaScript界隈などをみると、未だにカリー化と部分適用の違いについての誤解は残っているようです。一方で、静的型付き言語界隈でそのような誤解をほとんどみかけません。カリー化が関数の「型」を変換する操作(関数)であるために、動的型付き言語にのみ慣れ親しんでいると、両者の違いがわかりにくいのかもしれません。 ある技術用語が指すものを誤解する事自体は仕方ないことですし、責めるものではありません。また、用語が指すものは時代を経ると変わっていくものだという主張もあるでしょう。ただ、カリー化という用語の定義は明確に定義されており、数十年もの歴史があります。こ

    部分適用をカリー化と呼ばないで - kmizuの日記
  • カリー化 != 部分適用 - kmizuの日記

    最近、ネット上でカリー化に関する記事を読んでいると、特にGroovy界隈でカリー化に関して誤解がまかり通っているようなので(特に実用的なGroovy: カレー化クロージャーによるファンクショナル・プログラミングはひどい。そもそも、Groovyの標準ライブラリ自体がカリー化を行うための関数ではないものにcurryとか付けてるから仕方無いのかもしれんが)、一言言っておく。 カリー化というのは、Groovyで言うと、 def add = {x, y -> x + y} のように、xとyという複数の引数を取って値を返す関数を def add = {x -> {y -> x + y}} //間違ってパースできないコードになっていたので修正(12/17) のように、一つの引数xをとって、「yを引数にとって値を返す関数」を値として返すような関数に変換すること、あるいは最初からそのように表現することを言う

    カリー化 != 部分適用 - kmizuの日記
  • 1