タグ

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

  • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

    この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

    時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
    udzura
    udzura 2024/02/08
    定期的に盛り上がってる
  • 分厚く難しそうな技術書を素敵だと思ったら今必要なそうでも買っておくべき - きしだのHatena

    鈍器が届いたんですよ。 カード履歴みてたら昨日13,200円の見覚えのないAmazonからの請求があって、「でもなさそうだしAmazon見ても履歴ないし謎い」とか思ったら宅急便がきて。。。 まあ、注文してた「コンパクトデータ構造」が来てたわけだけど。 asin406512476X:detail 予約したのが6/16で直近の履歴を見てもなくて、そして今日が発売日なので昨日決済されて発送された、ってことらしい。 紙が固めでめくりやすい。というか、めくるのが楽しい。変なデータ構造がいっぱい載ってるのもよい。図も多いので、絵みたい。内容的には読むの大変そうだけど、落ち着いてゆっくり読めば大丈夫そう。 内容としては、圧縮した状態でいろいろ操作ができるデータ構造を考えようぜ、という感じ。 Wikipediaだと「簡潔データ構造」の項目を見ると載ってる。 と思ったら、こういうがあった。 簡潔データ

    分厚く難しそうな技術書を素敵だと思ったら今必要なそうでも買っておくべき - きしだのHatena
    udzura
    udzura 2023/07/29
    CTMCP、昔職場を退職するときもらったけどいまだに読めていない…
  • シンギュラリティは来ない - きしだのHatena

    ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという話ですが、レイ・カーツワイルが「シンギュラリティは近い」の1章の終わりで「さあ、これが特異点だ」といっている特異点、そのシンギュラリティです。 シンギュラリティは近い―人類が生命を超越するとき 作者:レイ・カーツワイルNHK出版Amazon この特異点は単にAIが人間より賢くなるというだけではありません。人間より賢くなるだけだと、便利な道具が増えるだけなので、大騒ぎするほどの変化は起きません。人の仕事を奪うといっても、蒸気機関ほどでもないですね。印刷機などと並んで、人の生活を変える転換点にすぎず、ただひとつの点をあらわすシンギュラリティには なりま

    シンギュラリティは来ない - きしだのHatena
    udzura
    udzura 2023/04/20
  • 基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena

    基礎と低レイヤーは混同しがちという現象をみかけたのでメモ よくあるのが、「IDEを使うと基礎が勉強できない、メモ帳でコードを書いてコマンドラインでjavac / javaするところから始めるべき」みたいな話。 ツールを使わずツールが隠してる部分を自分でやって勉強せよ、フレームワークを使わずフレームワークが隠してる部分を自分でやって勉強せよ、という話は、これ自体は間違いではないのだけど、これを「基礎」と言ってしまうと違った方向に行ってしまう。 これは基礎ではなくて低レイヤーではなかろうか。 そして、低レイヤーは「ツールを使わずにやれ」と言ってる人の想定する「ツールを使わず」というのもすでにツールを使っていたりする。ほんとに低レイヤー知りたいなら、javac使わずハンドコンパイルでしょう。Javaバイトコード知っておくべきでしょう。 と、だんだんマニアックなこと知ってる自慢になっていく。 こう

    基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena
    udzura
    udzura 2021/10/14
  • プログラムの難しさの階層 - きしだのHatena

    プログラムを理解するのは、まあ難しいです。 でも、その難しさには階層があります。 よく、変数は箱だとか箱じゃないとか議論になりますが、何人か初心者に教えた感じでは、変数自体でつまづくことはあまりないので、実際はそんな例えをしなくても「変数は変数だ」で充分だったりします。 デバッガでステップ実行しながら変数の内容を見ればいい。 で、条件分岐くらいは結構つまづくことはなくて、単純な演算と条件分岐だけが必要なプログラムであればまあそれなりに書けるようです。 ぼくも、一番最初に自分の意図で作ったプログラムは input "ワカレミチガアル。ドウスル? 1:ミギ 2:ヒダリ"; a if a = 1 then print "ガケニオチテシニマシタ" else print "ライオンニカマレテシニマシタ" みたいなものでした。こういった条件分岐をたくさん並べてアドベンチャーゲームっぽいものを作った人は

    プログラムの難しさの階層 - きしだのHatena
    udzura
    udzura 2021/07/01
  • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

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

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena
    udzura
    udzura 2021/01/21
  • 光療法ライトで睡眠が改善して昼間のヤル気もでてきた - きしだのHatena

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

    光療法ライトで睡眠が改善して昼間のヤル気もでてきた - きしだのHatena
    udzura
    udzura 2020/12/27
    “このブログエントリもそう”
  • 福岡でおいしいビールが飲める店 - きしだのHatena

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

    udzura
    udzura 2018/06/14
    #rubykaigi タグつけてはてブするぞ!!!!!!
  • プログラムの動かし方の本 - きしだのはてな

    Seasarカンファレンスで、基礎としてプログラムの動かし方であげた。と、それに加えて挙げれなかった。 ちなみにSeasarカンファレンスでの内容はid:tanamonがまとめてくれてる。というか、手書きスライドの書き起こしをしてもらってます。 「手書きで書く→ソーシャルに清書してもらう」という、新しいプレゼン手法が生まれました! 差のつく勉強法200のメモ - tanamonの日記 プレゼンや以前のエントリでは、プログラムというのは計算論と意味論に分かれると書いたけど、プログラム意味論という分野と混同してへんな議論になっちゃうので、「プログラムをどう動かすか」と「プログラムをどう書くか」に分かれるとします。命令的な側面と宣言的な側面だと言ってもいいかもしれない。今回は命令的な側面について。 まずは、基礎となる数学、離散数学について。 やさしく学べる離散数学 作者: 石村園子出版社/メ

    プログラムの動かし方の本 - きしだのはてな
  • 「きしだのはてなのあれってどうなの勉強会」やってきました - きしだのHatena

    24日の土曜日に、「きしだのはてなのあれってどうなの勉強会」やってきました。 【東京】きしだのはてな勉強会 〜「きしだのはてな」のあれってどうなの〜 - 日Javaユーザーグループ | Doorkeeper んで、あいかわらずその場にいないと意味がわからない資料ができあがりました。 きしだのはてなのあれってどうなの勉強会 運営のmegascusさんは 思ったよりもきしださんの人気が薄かったのか人が集まりませんでした。 【東京】きしだのはてな勉強会 〜「きしだのはてな」のあれってどうなの〜をやってきた - 水まんじゅう とは書いてますが、内容もなにか具体的にわからない、参加費3000円、そしてPlay勉強会とかぶる(時間的にはかぶってなかったようだけど)という中で21人集まってもらえたのは、なかなかありがたいことだなーと思いました。 運営のmegascusさんと岡澤さん、おつかれさまでした

    「きしだのはてなのあれってどうなの勉強会」やってきました - きしだのHatena
    udzura
    udzura 2014/05/28
    “艦これエラー娘の書き順”
  • ひどい記事のリンクを貼らないほうがいい3つの理由 - きしだのHatena

    よくありますよね。 「93%の人が間違える計算問題」みたいなタイトルで、開いてみたら この計算問題解けますか? 27+83=? 簡単に見えるこの問題、なんと93%の人が間違えるのです! みたいな。 ここで「バカにすんな!」みたいなコメントと一緒にTwitterに投稿しそうになりますが、ここでぐっとこらえるほうが良いという理由を3つあげてみます。 ひどい記事のリンクをガマンすればインターネッツから消えてくれる ひどい記事、この世から、インターネッツから消えてほしかったりしますよね。 もう見たくない。 でも、「こんな記事載せるなや! http://example.com/easy_problem」みたいにリンク貼っちゃうと、その記事の生存どころか増殖に加担してしまいます。 コンテンツにとって、インターネッツ上に存在するというのは、リンクがどこかから貼られていることと等価です。そして、リンクが多

    ひどい記事のリンクを貼らないほうがいい3つの理由 - きしだのHatena
    udzura
    udzura 2014/03/19
    :+1:
  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

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

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
    udzura
    udzura 2013/09/18
    .........
  • 書評:Androidプログラミング入門改訂2版 - きしだのHatena

    Androidプログラミング入門改訂2版を献いただきました!わーい。 Google Androidプログラミング入門 改訂2版 作者: 江川崇,神原健一,山田暁通,佐野徹郎,郷田まり子出版社/メーカー: アスキー・メディアワークス発売日: 2012/08/30メディア: 大型購入: 2人 クリック: 20回この商品を含むブログ (6件) を見る というか、酒のみに行ったら、著者のひとりの山田さんが偶然隣にすわってて、みせてもらった原稿に「ここちょっとわかりにくいですよー」って一箇所指摘しただけなのに、まえがきに名前まで載せていただいて、恐縮です >< ところで、書は648ページもあった分厚い「Google Androidプログラミング入門」の改訂版ということなのだけど、448ページと大幅にページが減っていることからもわかるように、内容はかなり変わっています。 前版は、ひととおり全部の

    書評:Androidプログラミング入門改訂2版 - きしだのHatena
    udzura
    udzura 2013/06/25
    「入門」ではないのね……
  • Struts1職人の朝は早い - きしだのHatena

    Struts1職人の朝は早い。 「毎日毎日DBとアプリサーバーが違う。機械ではできない」 「このstruts-config.xmlはダメだ。ほら、すぐ裂けてしまう」 ここ数年はLLとScalaに押されているという。 下町Struts1の灯火は弱い。だが、まだ輝いている。 「やっぱりアレですね、たいていの若い人はすぐやめちゃうんですよ」 「それを乗り越える奴もたまにいますよ。そういう奴が、これからのStruts1界を引っ張っていくと思うんですね」 今日も彼は、日が昇るよりも早くstruts-config.xmlの整形を始めた。明日も、明後日もその姿は変わらないだろう。 そう、Struts1職人の朝は早い。 夜も遅い。

    Struts1職人の朝は早い - きしだのHatena
    udzura
    udzura 2013/06/25
    ジャバ……
  • 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
  • おねえさんを組み合わせ爆発から救う:ZDDがおねえさんを救う - きしだのHatena

    おねえさんを組み合わせ爆発から救うために、経路をBDDとして表しました。 http://d.hatena.ne.jp/nowokay/20121017#1350435805 ところで、「F」に至る経路で、ある辺を通るとした場合に即「F」となっているものが半分あります。 その節点を使うとしたときに、結果が偽になるのであれば、それは節点ごと不要だと言えます。そこで、そのような節点は省略してしまいます。 このような図を、ゼロ抑制BDD(Zero suppressed BDD)、略してZDDと呼びます。 「F」をすべて省略することもできます。ただし、BDDとは違って、どちらでも同じ結果になる場合も、それぞれの接続を表示する必要があります。 そうすると、2x2マスの経路でも、次のように表すことができます。かなり節点の数が減っていることがわかります。 「T」に至るパスの数が、経路の数です。 さまざまな

    おねえさんを組み合わせ爆発から救う:ZDDがおねえさんを救う - きしだのHatena
  • MVCは死んだ。MOVEするときがきた - きしだのHatena

    Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか

    MVCは死んだ。MOVEするときがきた - きしだのHatena
  • Scalaでパーサーを作ってみる 〜目次〜 - きしだのHatena

    Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 一段落ついたらまとめを作ろうと思ってたのですけど、先も長そうなので、ここいらで目次をつくっておきます。 Scalaでパーサーを作る基 Scalaでパーサーを作ってみる〜1:構文定義 - きしだのはてな Scalaでパーサーを作ってみる〜2:構文木の作成 - きしだのはてな Scalaでパーサーを作ってみる〜3:式の評価 - きしだのはてな 言語要素を組み込んでいく Scalaでパーサーを作ってみる〜4:ブール値とif式 - きしだのはてな Scalaでパーサーを作ってみる〜5:文字列とprintln - きしだのはてな Scalaでパーサーを作ってみる〜6:コードブロック - きしだのはてな プログラム言語に Scalaでパーサーを作ってみる〜7:変数 - きしだのはてな Scalaでパーサーを作ってみる〜8:変

    Scalaでパーサーを作ってみる 〜目次〜 - きしだのHatena
    udzura
    udzura 2012/04/26
    おお面白そう
  • 4月にプログラム始めた人がゴールデンウィークに積んでおく本 - きしだのHatena

    大きく挙げたのは7冊なので、7日の休みで1日1冊ですね! 連休の間に読んでおいて、友達に差をつけよう! うっかり、先輩にも差をつけちゃえばいいと思います。 プログラムを組むとはどういうことか を挙げる前に、まずプログラムを組むとはどういうことかということを考えておきます。 ざっくりとした説明なので、だいたいこういう感じ、だと考えてください。 その上で、どのようなが必要かを考えて、を選んでいきます。 以前描いたものですが、プログラムを作るということと各分野の関係はこのようにあらわせます。 まず、プログラムは最終的にユーザーに使ってもらうためのものです。 ただ、ユーザーはプログラムを直接使うことはできません。プログラムはハードウェアで動かす必要があります。そして、ユーザーインタフェースを介してユーザーが使います。 (ハードウェアからプログラムへの矢印は逆のほうがいいですね) このような、

    4月にプログラム始めた人がゴールデンウィークに積んでおく本 - きしだのHatena
    udzura
    udzura 2012/04/26
    誰デザぐらい読んだ方が良いんだろうな……<おれ
  • プログラマが解くのに1時間かかるという問題が普通にプログラマな方法で5分で解ける話 - きしだのはてな

    こういう問題が流れてきた。 まつひろのガレージライフ: 幼児が数分で解けるのに大人が解けない算数(?)の問題 「幼稚園児が5〜10分で解けるのに、プログラマなどの頭脳労働職の高学歴の方が解くのに1時間もかかる」とあるけど、これ1時間かかるの、プログラマとしてあまりよくないんじゃないのかなーと思った。 ので、プログラマ的に解いてみる。 改めて書き出すとこう。 8809=6 3333=0 7111=0 5555=0 2172=0 8193=3 6666=4 8096=5 1111=0 1012=1 3213=0 7777=0 7662=2 9999=4 9313=1 7756=1 0000=4 6855=3 2222=0 9881=5 3333=0 5531=0 5555=0 2581=??? 問題は英語だし語呂合わせじゃない。幼稚園児にわかるということでそこまで複雑なルールでもない。なんらか

    プログラマが解くのに1時間かかるという問題が普通にプログラマな方法で5分で解ける話 - きしだのはてな
    udzura
    udzura 2012/04/12
    ほほう、これが炎上エントリか〜