タグ

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

  • ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena

    ITはもう面白くなくなってますね。 技術が面白いときには、いろいろ新しいものが出て性能あがったりできることが増えたりします。調べたらどんどん新しいものが出てくるし、新しいものもたくさん作るし、面白い。ですが、IT技術は一通り出そろって、成熟期に入っています。そうすると新しい技術に出会うことも新しいものを作ることも減っていきます。その結果、いままでの変化のあった状況を知っていれば、つまらんってなりますね。 ※2024/8/24 追記 言いたいことをまとめると、IT素振りのネタ探しに苦労するようになったよねってことです。 結局のところITというのは新しいハードをどう動かして社会に実装していくかというものなので、新しいハードが出ないとどうしようもないのです。けれどもだいたい飽和してしまった。 雑にいえば、これまで1980年くらいにBASIC搭載8bitパソコンが普及するとBASICプログラミング

    ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena
    kenzy_n
    kenzy_n 2024/08/21
    いと面白きものを求めて。
  • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

    オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

    Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
    kenzy_n
    kenzy_n 2023/11/25
    想定しているもの
  • コミュニティノートがTwitterを壊している - きしだのHatena

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

    コミュニティノートがTwitterを壊している - きしだのHatena
    kenzy_n
    kenzy_n 2023/08/04
    勝利者がはっきりしそうなところ
  • 基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena

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

    基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena
  • PPAPで学ぶDaggerによるDI - きしだのHatena

    Daggerってありますよね。コンパイル時に依存性を解決するのでパフォーマンス的に有利なDIコンテナです。 https://google.github.io/dagger/ 依存関係の不備がコンパイル時にエラーになって発見できるのも、実行時にエラーが出たときの修正の難易度が高いAndroidアプリにはありがたいということで、Androidでよく使われてるようです。 基的なオブジェクトの定義 I have a pen. public class Pen { @Override public String toString() { return "ペン"; } } I have an apple. public class Apple { @Override public String toString() { return "アッポー"; } } Ohh!!! Apple Pen!!! p

    PPAPで学ぶDaggerによるDI - きしだのHatena
  • 囚人のジレンマ的には、うなぎはSNSにアップしないのが得 - きしだのHatena

    うなぎ、あまりSNSに画像アップしないほうがいいと思うんですよね。 「あの人、絶滅危惧種たべてる〜」とか思われるという話ではなくて。そういうのは普通に踏まえてると思うし。 うなぎ、レッドリストにも載って絶滅危惧種指定されているし、今年のワシントン条約は回避したけど次回はどうなるかわからないし、べれなくなるのも時間の問題ですね。 そして、うなぎをべるかどうかは、囚人のジレンマのような状態になっています。まとめるとこう。 自分 ほかの人 結果 べない べない 絶滅回避。いちばんいい。 べない べる 絶滅してべれない。損 べる べる 絶滅早まる。痛み分け べる べない 絶滅遅れる。得 そんなウナギをいまべる場合は、絶滅する前にべておこうという戦略、ほかの人がべれなくなっても自分だけはべる、という戦略だと思うので、SNSにアップしてほかの人がべたくなって絶滅や禁輸が

    囚人のジレンマ的には、うなぎはSNSにアップしないのが得 - きしだのHatena
    kenzy_n
    kenzy_n 2016/07/17
    しっぺ返し
  • Javaでのnullチェックのパフォーマンス - きしだのHatena

    Javaでのプログラムでは、Optionalが入ったとはいえ、nullとのつきあいは依然として重要です。 そんな中で、nullが入ってると困る処理を書くときには、nullチェックを行うほうが安全です。 そのとき、どのようにnullチェックを行うかというのが問題になります。 Java7からは、Objects.requiredNonNullというメソッドが導入されたので、このメソッドを使って、以降の処理でnullじゃないことを保証するということができます。 けど、このrequiredNonNullが遅いんじゃないかという話があるので、どう遅いのか調べてみました。 requireNonNullと同様に、値がnullだったらNullPointerExceptionを吐いて、null以外だったら素通りするという書き方のひとつに、getClassメソッドを呼び出すというものがあるので、これと比べてみま

    Javaでのnullチェックのパフォーマンス - きしだのHatena
    kenzy_n
    kenzy_n 2015/04/26
  • プログラムの難しさの階層 - きしだのHatena

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

    プログラムの難しさの階層 - きしだのHatena
  • 5分スケッチというのをやってみた - きしだのHatena

    江口寿史さんが、5分スケッチというのをやってたわけですね。 日お誕生日の江口寿史氏の5分間スケッチとその説明 - Togetterまとめ そんで、あー5分ならやってみるかーと思ってやってみたわけです。 ここまでのまとめ。 4/11 やってみた。20分くらいかかってだまされたと思ったw ペンはSIGNOの0.5mm あと、鼻・口を手でおおってるところが救われてて、描いてたらひどくなってただろうなぁ。 4/12 もっと線を少なくしないとダメなんだなと思って、それでも10分 4/13 5分で描くって意味がわかってきた。やっぱり10分。 ペンはWATERMANの万年筆。太字なので絵が描きやすいわけではないけど。 4/14 ここから横浜に移動。 ペンはLAMYの万年筆。細字で描きやすい。 ヤングマガジンの橋環奈ですな。 4/15 動きがある絵が描けるようになりたいと思って、スポーツしてるところ。

    5分スケッチというのをやってみた - きしだのHatena
    kenzy_n
    kenzy_n 2014/04/26
  • SEやPGではなく、プログラマでもなく - きしだのHatena

    SEとかPGという言葉を使ってるところに近づかないほうがいいと言われるようになってかなりたちましたが、だからといってプログラマというのも違うなと思っていた今日この頃。 そういえば、Twitter技術者系タイムラインを見ていると、どうもみんなエンジニアとか技術者って言ってるなということに気づいたのでメモ。 自分でも、こうやって「技術者」と書いてるし。

    SEやPGではなく、プログラマでもなく - きしだのHatena
    kenzy_n
    kenzy_n 2014/02/20
    何者なのかわからなくなる
  • Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena

    Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText

    Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena
  • Java SE 8でパターンマッチを実装する - きしだのHatena

    Java Advent Calendar 2013の12日目のエントリです。 昨日はtorutkさんでした。 Java Advent Calendar 2013 11日目 - Java SE 8の新クラス・メソッド一覧 - torutkの日記 明日はbitterfoxさんがマニアックな記事を書くんだと思います。 ところでパターンマッチ 実は去年のAdvent Calendarでもパターンマッチを考えていました。 Javaでのパターンマッチを考える - きしだのはてな このときは、Javaの言語機能としてパターンマッチに使えるものはないかと考えました。 今回はJava 8ラムダを利用して、どれだけ型安全に条件分岐しつつ構造を分解できるかということにチャレンジしてみます。b115で確認してます。 値の比較に関しては、型の扱いさえできれば、まあ実装すりゃ実装できるっていう感じなので、今回は省きま

    Java SE 8でパターンマッチを実装する - きしだのHatena
    kenzy_n
    kenzy_n 2013/12/12
  • 今どきの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
  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

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

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
    kenzy_n
    kenzy_n 2013/09/17
  • 1