タグ

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

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

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

    ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena
    twainy
    twainy 2024/08/21
    AIに対する失望が早すぎるような。ハルシネーション対策がある程度わかってきてこれからというタイミングにも見える
  • 多重下請けでは構造的にいいソフトウェアが作れない - きしだのHatena

    多重下請けではエンジニアが育たないという話を前回のブログで引用していたのですが、そもそも多重下請けではまともなソフトウェアは開発できないんではないかという気持ちになりました。 多重下請けでは、上位受け会社の「SE」が「設計」を行い、下位受け会社の「PG」が実装を行うという役割分担があります。というか、今回の話はそういう役割分担がある多重下請けを前提とします。 そうすると、設計というのは会社間をまたがった契約文書であり、発注のための作業指示書であるということになります。ソフトウェア開発で質的に必要な文書というよりは、ビジネス構造によって必要になったビジネス文書です。ちなみに派遣ではなく業務委託のはずなので詳細な作業指示になってはいけないのもポイントです。 ※余談ですが「設計は必要である」という人の話をきいてみると、必要なのは実装のための設計ではなく保守のためのドキュメントということがほとん

    多重下請けでは構造的にいいソフトウェアが作れない - きしだのHatena
    twainy
    twainy 2024/07/16
    中小SIにいた時、納品のためにソースコードを元に設計書起こしてたけど、ソースコードの方が読みやすかった。設計書は説明のために一断面を切り取るなら有用だけど全部を設計書で説明するならコード読んだほうがマシ
  • 日本のSIerの技術力の低さの要因から考えるアメリカソフトウェアの強さ - きしだのHatena

    この連休はなんだかSIerについて考えることが多かったのですが、そういうことを考えると、なぜアメリカのソフトウェアが強いのかがわかってきた気がします。 まず、もちろんSIer技術力が低いといっても技術力が高いSIerもいるわけで、とくにこのブログを見てる人だと技術力の高い側にいる人が多いと思います。 けれども、DX白書2023によればSIerIT人材というのは75万人いて、技術力の高い人はその一部で、多くは技術力の低い側にいるんじゃないでしょうか。 https://www.ipa.go.jp/publish/wp-dx/gmcbt8000000botk-att/000108046.pdf 2014年、ちょうど10年前に、プログラマはSIerと自社サービスで2分化するんではないかというブログを書いていますが、そのまま現実になった形です。 プログラマ業界の二分化 - きしだのHatena

    日本のSIerの技術力の低さの要因から考えるアメリカソフトウェアの強さ - きしだのHatena
    twainy
    twainy 2024/07/16
    母数(CSを専門として学んだ人数)が全然違うんじゃないの?社会の需要が大きい一方で他の学科と似たような定員になる時点でおかしい
  • MapReduceのパターン、アルゴリズム、そしてユースケース - きしだのHatena

    Ilya Katsov氏による「MapReduce Patterns, Algorithms, and Use Cases」の翻訳 http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ (下書きに入れて推敲するつもりが、なんか公開されてしまっていたので、あとでいろいろ修正すると思います) February 1, 2012 この記事では、Webや科学論文で見られる異なるテクニックの体系的な視点を与えるために、数々のMapReduceパターンとアルゴリズムをまとめた。 いくつかの実用的なケーススタディも提供している。 すべての説明とコードスニペットでは、Mapper、Reducer、Combiner、Partitionaer、ソーティングにおいてHadoopの標準的なMapReduceモデルを利用します。このフレー

    MapReduceのパターン、アルゴリズム、そしてユースケース - きしだのHatena
    twainy
    twainy 2012/02/24
    [後で読む」
  • 「日本語入力を支える技術」は「日本のトップレベルを支える技術」として読むべき - きしだのはてな

    日本語入力を支える技術」というが非常に評判がよかったので買ってみて読んでみたら、想像以上にすごかった。 もちろん、データ構造とか、機械学習とかまとめて読めるのがすごいというのあるし、著者のブログにあるように、構造化SVMとかほかのに載ってないトピックものっててすごい。 日本語入力を支える技術というを書きました - 射撃しつつ前転 けど、この当にすごいのは、それぞれの話題に添えられてるちょっとした一言が、いちいち一歩先をいってること。 たとえば確率の解説で、それぞれの確率は0以上かつすべての排反事象に対する確率の合計は1という説明に、「この制約によってとじた形で解を求めることができ、計算を高速化できることもあり」という補足が付くのは、このくらいじゃないだろうか。 知ってるトピックだとしても読み飛ばさず、一字一句ちゃんと読むのがいいと思います。 しかも文章が読みやすい。 これだ

    「日本語入力を支える技術」は「日本のトップレベルを支える技術」として読むべき - きしだのはてな
    twainy
    twainy 2012/02/16
  • Java SE 7のjava.nio.file.Filesがとても便利な件 - きしだのHatena

    とても便利。 たとえば、あるサイトからHTMLをダウンロードしてファイルに保存する場合。 try(InputStream is = new URL("http://www.google.com/").openStream()){ Files.copy(is, Paths.get("C:\\Users\\kishida\\Downloads\\google.html")); } ファイルの内容を一行ずつ読み込んで処理をする場合。 for(String s : Files.readAllLines(Paths.get("C:\\Install.log"), Charset.defaultCharset())){ System.out.println(s); } まあ、直接文字列でファイルパスを渡せなかったり、デフォルトCharset使う場合でも引数が省略できなくて、まだるっこいコードになってし

    Java SE 7のjava.nio.file.Filesがとても便利な件 - きしだのHatena
    twainy
    twainy 2011/07/08
  • プログラマならいつかは読んでおきたい(と言っておけばかっこいい)本10冊 - 2010-11-26 - きしだのはてな

    昨日の技術力をあげたいプログラマが読んでおかないと話にならない10冊は自体にはあまり意味がなくでその技術分野が大事で、あとエントリーレベルのものが多かったので、今日は読み甲斐のあるを。 棚に飾っておくとかっこいいです。あと、屋でまとめて買って持って帰れるなら、値段的にも重さ的にも、尊敬します。 ぼくが持ってないや持っててもほとんど読んでないがかなり含まれてます。「この人こんなも読んでるんだー」などと無用に尊敬したらダメですよ。むしろ、そのように誤解させて尊敬させるためのです。 アルゴリズムデザイン 作者:Jon Kleinberg,Eva Tardos共立出版Amazon読んで面白いし、アルゴリズムカタログじゃなくて設計方法の解説が多いので、とてもいいです。途中までは読んでるので続きを読まねば。 あとアルゴリズムのとしてはアルゴリズムイントロダクションが定番ですが、

    プログラマならいつかは読んでおきたい(と言っておけばかっこいい)本10冊 - 2010-11-26 - きしだのはてな
    twainy
    twainy 2010/11/27
    ゲーデルエッシャーバッハくらいは読みたいと思うけどいかんせん積読が
  • プログラムを動かす環境の本 2009-03-25 - きしだのはてな

    プログラムをどう動かすというか、どうやって命令を発行するかというを挙げて、プログラムをどう書くかというもあげた。 これで、Seasarカンファレンスでの話でのの紹介は終わりなのだけど、ブログのエントリとしては、どうやって実際にプログラムが動くかを理解できるようながないと完結しない。 ということで、プログラムを動かす環境のを挙げることにする。 まだ読んでないがほとんどなので、こういった分野の勉強も必要だという程度の意味でしかないけど。長いことプログラマやってれば、なんとなく知ってる分野ばっかりになってるはずだけど、系統的に勉強しなおすのもいいと思う。 このあたりの分野は「タネンバウム読んどけ」でだいたい大丈夫みたいなんだけど、いきなり読むのはつらいので、そこにたどりつくまでのを。 コンピュータの仕組み まず、プログラムを動かす中心となるCPUとか周辺ハードウェアの。パイプライ

    プログラムを動かす環境の本 2009-03-25 - きしだのはてな
    twainy
    twainy 2009/03/26
    「コンパイラ―原理・技法・ツール〈2〉」が買えなくなってる。。。1があと50Pくらいで読み終わるのに…
  • プログラムの書き方の本 - きしだのHatena

    今回は、プログラムの書き方の。プログラムの宣言的な側面を扱うためのとでも言うか。id:t_yanoおまたせ。 ただ、こっち側はほんとに勉強を始めたばっかりなので、ちょっと目を通しただけで読んでないもばかりだし、自分でもちゃんとわかってない部分も多い。そういうのを割り引いて見てもらえれば。 で、まずは、論理。プログラム書かなくても読んでほしい。 論理学 作者: 野矢茂樹出版社/メーカー: 東京大学出版会発売日: 1994/02/18メディア: 単行購入: 24人 クリック: 175回この商品を含むブログ (80件) を見る これは全部読んだ。 この読むと、かしこさが15くらいあがる。日語がうまくなる。考えるとき、間違った結論をださなくなる。議論するとき、議論の骨子をみつけて、議論からそれる部分を省くことができるようになる。 1章「命題論理」2章「述語論理」を読めば、あとはヤル気が

    プログラムの書き方の本 - きしだのHatena
    twainy
    twainy 2009/03/20
  • クラスとjava.lang.Classとクラス型と - 2009-03-06 - きしだのはてな

    id:SiroKuroさんところで、クラスに関する用語についていろいろ議論があって、なんとなくこういうイメージをもった。 クラスをあらわすいろんな用語があるのだけど、それぞれは「クラス」という抽象概念があって、たとえば「Javaオブジェクト」として光をあてれば「java.lang.Class」という影ができ、「言語仕様」として光をあてれば「クラス型」という影ができる。 ここで、それぞれの用語や対応関係は便宜上のもので、実際はもっと適切な用語や対応関係があるとおもう。とりあえずここでは、抽象概念があって、そこに光をあてて影ができるというイメージをあらわしたかった。 抽象概念を直接みることはできないので、ぼくたちはなんらかの視点という「光」をあてて、そこでできた「影」をみることしかできない。

    クラスとjava.lang.Classとクラス型と - 2009-03-06 - きしだのはてな
    twainy
    twainy 2009/03/07
  • 1台のマシンで並列実行するためのMapReduceフレームワークを作ってみた - きしだのHatena

    ブックマークのコメントに 1台でもGbyte単位のデータを処理可能なプログラムを簡単に書けるのは十分なメリットだと思う。 とあったので、ついカッとなって作ってみた。 サンプルは前と同じく、クラスがJavaソース中でimportされている回数を数えるもの。 mapreduceメソッドを適当に呼び出せばおっけーです。 こんな感じの結果ファイルが生成されました。 java.io.FileOutputStream 1 java.io.FileReader 1 java.awt.Graphics 1 java.io.Reader 1 java.awt.event.* 3 java.io.BufferedReader 3 書いてみたら動いたというレベルなので、実際に使うにはちゃんと例外処理とかをやってください。 ソースはこんな感じ import java.io.*; import java.lang.

    1台のマシンで並列実行するためのMapReduceフレームワークを作ってみた - きしだのHatena
  • 計算量を具体的に見てみる 2009-01-06 - きしだのはてな

    アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムのにも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();

    計算量を具体的に見てみる 2009-01-06 - きしだのはてな
    twainy
    twainy 2009/01/07
    とってもわかりやすい
  • [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]正しい無限ループの書き方 - きしだのはてな
    twainy
    twainy 2007/07/12
    これいいな、今度いれとこ
  • 2年後にはEclipseを使う人はいなくなる - きしだのHatena

    Eclipseは「リファクタリングと補完にしか取り柄のないIDE」ですが、NetBeansは逆に「リファクタリングと補完に欠陥のあるIDE」ですね。 そこでJackpotですよ、と。 http://jackpot.netbeans.org/ Jackpotは、Javaのコードをオブジェクトとして扱ったり、そこからなにか抽出したり、変更したりするためのフレームワークです。 このルール言語のリファレンスをみると、どんなことができるか想像がつくと思います。 http://jackpot.netbeans.org/docs/rule-language.html これを見ると、リファクタリングや静的検査、コード補完なんかの仕組みが書きやすくなることが想像でします。 そうすると、NetBeansでのコード補完やリファクタリングというのは、ありえない速さで進化します。 NetBeans6が出た時点では、

    2年後にはEclipseを使う人はいなくなる - きしだのHatena
    twainy
    twainy 2006/05/19
    ここまで絶賛されると気になる。使ってみようか……
  • 1