タグ

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

  • 大規模言語モデルはこれ以上賢くならず庶民的になっていく - きしだのHatena

    ChatGPTはめちゃくちゃ賢いんだけど、変な間違いをするし話が通じないこともあります。 ここで「もっと賢くなったら数年後には・・・」のように思ってしまいがちなのだけど、GPT4より目に見えて賢くするのは難しい気がします。 むしろ、人間くさくなったり使いやすくなったりするんじゃないだろうか。 ChatGPTなどの言語AIの中核になる大規模言語モデルは、多くのテキストを学習することで言葉や論理について学習しています。 ただ、そのための教師データになるテキストが枯渇するのではないかという話があります。 MIT Tech Review: 大規模言語AIにアキレス腱、訓練用データが2026年にも枯渇か いまChatGPTの賢さで問題になるのは、論理の誤りや情報の間違いです。 論理構造が難しくなり思考手順の分解が必要になると間違いやすくなるように思います。 ニューラルネットの論理推論は、雑にいうと計

    大規模言語モデルはこれ以上賢くならず庶民的になっていく - きしだのHatena
    nilab
    nilab 2023/04/19
    “高度に発達した人工知能はアメちゃんを配りだす”
  • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

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

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena
    nilab
    nilab 2021/01/22
    「Webアプリケーションのサーバサイドを書きながら「なぜオブジェクト指向がわからないのか」と思っているなら、「あなたの書いてるコードにはオブジェクト指向が不要だからです」が答えになります」
  • 光療法ライトで睡眠が改善して昼間のヤル気もでてきた - きしだのHatena

    睡眠リズムを整えるために光療法ライトを買って3ヵ月試してみたら、昼間活動しやすくなっただけではなくて、冬の時期によくあるヤル気のなさもなくなって、いろいろ活動できるようになりました。このブログエントリもそう。 在宅勤務で出勤がなくなったり出かけることがなくなって、気分がおちこんだり夜ねむれなくなったという人は、光療法ライトを試してみるといいかもしれません。 注意 睡眠や気分の問題を感じているなら、できれば睡眠外来やメンタルクリニックにいって相談するほうがいいと思います。 非24時間眠覚醒症候群 ぼくは非24時間眠覚醒症候群というやつで、厚生労働省のサイトには「通常の社会生活が困難となります」などと書かれており、たしかに通常の社会生活は困難だなーと思っていたところ。 非24時間睡眠覚醒症候群 | e-ヘルスネット(厚生労働省) で、いろいろ試していたのだけど、まあ出社もしなくていいし、寝れる

    光療法ライトで睡眠が改善して昼間のヤル気もでてきた - きしだのHatena
    nilab
    nilab 2020/12/26
    「睡眠リズムを整えるために光療法ライト」「冬の時期によくあるヤル気のなさもなくなって」「出かけることがなくなって、気分がおちこんだり夜ねむれなくなったという人は、光療法ライトを試してみるといいかも」
  • 都道府県別の新型コロナ感染状況を一覧できるサイトをつくった - きしだのHatena

    都道府県別に傾向を一覧で見たいとおもって、JSならほかの人にも見やすいだろうなと作ってみた。 新型コロナウィルス都道府県別感染者数の傾向 都道府県ごとの数値を見るだけであればNHKがまとめていたのだけど、時系列グラフがほしかった。 特設サイト 新型コロナウイルス 都道府県別の感染者数・感染者マップ|NHK いまはNHKも都道府県を選択すれば個別のグラフが見えるようになっている。 一覧で見れることの他には、感染拡大度合いで地図の色付けをしているのと、感染拡大率のグラフを見れるようにした。 地図の色付けは、NHKや東洋経済など他のサイトでは感染者数で色付けをしているのだけど、一旦最高値の色になると変化がなく、また人口が少ない県では感染がひろまっても色付け基準にならないなど、ほとんど情報量がなくなってしまっている。 ここでは、感染拡大率によって色を変えているので、感染が拡大しているところは色がか

    都道府県別の新型コロナ感染状況を一覧できるサイトをつくった - きしだのHatena
    nilab
    nilab 2020/04/21
    わかる(;´∀`)「HTMLは厚生労働省のページに載っていたりのっていなかったり」「PDFが気まぐれにフォーマットが変わるので、一応毎日チェックしながらやっている」
  • 作って理解するDIコンテナ - きしだのHatena

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

    作って理解するDIコンテナ - きしだのHatena
    nilab
    nilab 2016/04/06
    作って理解するDIコンテナ - きしだのはてな
  • Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena

    Java Day Tokyo 2015で、NECJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ

    Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena
    nilab
    nilab 2015/06/06
    JDT2015:Java SEバージョンアップでのトラブルの話が面白かった - きしだのはてな
  • プログラムの生産性をあげるためには - きしだのHatena

    前回のエントリで、プログラマの業界が労働集約的なものと知識集約的なものにわかれてきているという話を書きました。 プログラマ業界の二分化 - きしだのはてな 前のエントリでは労働集約的なものと知識集約的なものに完全にわかれているように書きましたが、もちろん完全に労働集約的であったり完全に知識集約的であったりすることは少なく、どのような組織でもある程度は両方の性質をもっています。知識集約的な性質の強いSI会社というのもあります。 ただ、SIに労働集約的な、サービスに知識集約的な性質が強くなる傾向はあると思います。 また、知識集約的であればよくて労働集約的であればダメということもありません。労働集約的なSIでありながら良い会社というのもあります。 という断りをいれておかないと、SIで労働集約だからといって全部ひとからげにするなという、労働集約的なSIでありながら良い会社方面から鋭利なマサカリが飛

    プログラムの生産性をあげるためには - きしだのHatena
    nilab
    nilab 2014/04/02
    プログラムの生産性をあげるためには - きしだのはてな
  • 文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena

    Java SE 7から、switch構文で文字列が使えるようになりました。 public void hoge(String s){ switch(s){ case "a": System.out.println("AA"); break; case "b": System.out.println("BB"); break; default: System.out.println("Other"); } } ところが、残念なことに、sがnullの場合はdefaultには飛ばず、ぬるぽが発生します。 そこで、null判定は事前にif文で行うことになるので、次のようなif-else switchイデオムを使うと便利です。 if(s == null){ System.out.println("Null!"); }else switch(s){ case "a": System.out.printl

    文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena
    nilab
    nilab 2014/01/14
    文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのはてな : 「Java SE 7から、switch構文で文字列が使えるようになりました」「残念なことに、sがnullの場合はdefaultには飛ばず、ぬるぽが発生します」
  • 今どきのJava Webフレームワークってどうなってるの? - きしだのHatena

    昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

    今どきのJava Webフレームワークってどうなってるの? - きしだのHatena
    nilab
    nilab 2013/11/10
    今どきのJava Webフレームワークってどうなってるの? - きしだのはてな
  • 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
    nilab
    nilab 2013/11/10
    Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのはてな
  • Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena

    Java8でのラムダの使い方などを説明してきたのですが、構文拡張自体には触れていなかったので、改めてここで簡単に説明しておこうと思います。 まずは、Java8で実際に最もインパクトがある言語拡張、インタフェースのデフォルトメソッドです。 デフォルトメソッドとデフォルト実装 いままでインタフェースには実装をもつことができませんでしたが、Java 8からはインタフェースが実装をもてるようになります。 実装をもつメソッドを定義するときには、キーワードdefaultをメソッドの前につけます。 interface Foo{ void print(String s); default void twice(String s){ print(s); print(s); } } twiceメソッドが実装をもっています。この実装をデフォルト実装といいます。 デフォルトメソッドを実装するクラスで、デフォルトメ

    Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena
    nilab
    nilab 2013/09/26
    Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのはてな
  • Java8 Lambdaの文法拡張まとめ - きしだのHatena

    デフォルトメソッドは前に解説しました。 Java8で最もインパクトのある構文拡張、デフォルトメソッド ここでは、それ以外の構文拡張についてまとめておきます。 ラムダ式 実装すべきメソッドがひとつだけのインタフェースを関数型インタフェースといいます。 UnaryOperatorインタフェースは実装すべきメソッドがapplyメソッドひとつだけなので、関数型インタフェースになります。 たとえば、UnaryOperatorインタフェースを実装したクラスを定義すると次のようになります。 class MyOp implements UnaryOperator<String>{ @Override public String apply(String t) { return "** " + t + " **"; } } このUnaryOperatorインタフェースを使う、List#replaceAllを

    Java8 Lambdaの文法拡張まとめ - きしだのHatena
    nilab
    nilab 2013/09/26
    Java8 Lambdaの文法拡張まとめ - きしだのはてな
  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

    いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
    nilab
    nilab 2013/09/26
    Java8日付時刻APIの使いづらさと凄さ - きしだのはてな
  • 社会人が勉強するときに知っておくべき3つのこと - きしだのHatena

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

    社会人が勉強するときに知っておくべき3つのこと - きしだのHatena
    nilab
    nilab 2013/09/26
    社会人が勉強するときに知っておくべき3つのこと - きしだのはてな
  • 「プログラマ」とは別に「バインダー」という職種名を思いついたのだけど 2011-12-15 - きしだのはてな

    よくアルゴリズムの話とかすると「アルゴリズムとか業務で使わないから。ライブラリあるから」みたいな話が出ますね。今日もTwitterでkumagiさんが「競技プログラミングが業務で役に立たないって言ってる人は・・・」って話してたわけです。 でもまあ、アルゴリズムの勉強ってのは、実装したい問題をいかに効率のいいプログラムに落とすかっていう話なんで、プログラムを組むっていう業務をしていたら必要ないとは思わないはずなんで、「アルゴリズムいらない」っていう人がやってる業務はプログラミングじゃないんじゃないのかと思ったりするわけです。 で、noritunaさんが「コーダー」を挙げてて、こういう文脈でよく出るんだけど、これはちょっと違和感あって、「コーダー」は誰かが書いたプログラムをコンピュータに入力するだけくらいの語感で、別に「プログラマ」という職種が必要になるサポート的業種で、でも実際は「プログラマ

    「プログラマ」とは別に「バインダー」という職種名を思いついたのだけど 2011-12-15 - きしだのはてな
    nilab
    nilab 2013/01/01
    2011-12-15 - きしだのはてな : 「プログラマ」とは別に「バインダー」という職種名を思いついたのだけど
  • きしだのはてな: あなたがfollowしている人はこんな人をfollowしています

    つくってみたはいいけど、amachangさんとかHamachiya2さんとかdankogaiさんとか、上位にきそうな人が上位に来たので面白くなかった。 Rubyならこんなに短くかけるよ!とか、やればいいと思う。 import java.io.*; import java.net.*; import java.util.*; import javax.xml.bind.*; import javax.xml.bind.annotation.*; public class Recommender { /** キャッシュ置き場 */ static String path = "C:\\User\\kishida\\twitterfriends\\"; /** ユーザーデータを読み込み */ static Users getUsers(String name){ try { String file

    きしだのはてな: あなたがfollowしている人はこんな人をfollowしています
    nilab
    nilab 2007/08/12
    きしだのはてな: あなたがfollowしている人はこんな人をfollowしています
  • TwitterAPIのメッセージ抜け対策メモ

    friends_timeline APIはsinceをつけないとキャッシュされる friends_timeline APIは、twitter.com/homeと同じメッセージ抜けがある。 ログインしてないときのtwitter.com/with_friendsも同じメッセージ抜けがある。 現状、ログインしたときのtwitter.com/with_friendsが一番信頼できる。 Basic認証でtwitter.com/with_friendsをとってもいい。 Basic認証+twitter.com/with_friendsは、70アクセス/60分制限にひっかからない twitter.com/with_friendsのHTML解釈はめんどうなので、status_[0-9]+を拾ってIDだけ取得 文はAPIで取得するのが楽 protectedのない人なら認証なしのshow APIでメッセージ

    TwitterAPIのメッセージ抜け対策メモ
    nilab
    nilab 2007/07/17
    きしだのはてな TwitterAPIのメッセージ抜け対策メモ
  • きしだのはてな - [Java]JAXBでTwitterのタイムラインを取得

    void showPublicTimeline(){ try { JAXBContext con = JAXBContext.newInstance(Statuses.class); URL u = new URL("http://twitter.com/statuses/public_timeline.xml"); Statuses sts = (Statuses) con.createUnmarshaller().unmarshal(url); for(Status s : sts.statusList){ System.out.println(s.user.screenName + ":" + s.text); } } catch (MalformedURLException ex) { ex.printStackTrace(); } catch (JAXBException ex)

    きしだのはてな - [Java]JAXBでTwitterのタイムラインを取得
    nilab
    nilab 2007/07/13
    きしだのはてな - [Java]JAXBでTwitterのタイムラインを取得
  • [Java]正しい無限ループの書き方 - きしだのはてな

    boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
    nilab
    nilab 2007/07/12
    きしだのはてな : ■[Java]正しい無限ループの書き方
  • 日付時刻の扱いにJavaの難しさが凝集されている - きしだのHatena

    日付がわかっててDateクラスのオブジェクトが得たいとき、一番便利なのはDateクラスのコンストラクタに日付を渡して「new Date("2007/6/28")」とすることなんですけど、このコンストラクタは非推奨になってます。 でも、日付からDateオブジェクトを得る方法として、一番わかりやすいのはコンストラクタに指定する方法です。 設計ポリシーのために一番わかりやすい利用法が使えないというのが、Javaのそこかしこをちょっとずつ難しくして、全体を難しくしています。 まあ、ちゃんとわかってる人がテストとか一時的なコードで仮の日付が欲しいときには適当に使っちゃってかまわないのですが、初心者向けの文章には使うことができません。 で、代替案として、CalendarかDateFormatを使う必要があります。数値で日付が指定されているときはCalendar、文字列で日付が指定されているときはDat

    日付時刻の扱いにJavaの難しさが凝集されている - きしだのHatena
    nilab
    nilab 2007/06/29
    きしだのはてな-日付時刻の扱いにJavaの難しさが凝集されている : Date d = DateFormat.getDateInstance().parse("2007/6/28"); : もっとお手軽なクラスも欲しい…
  • 1