タグ

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

  • コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena

    以前、「勉強会に参加しないと不幸になる話」というのをアップしました。 勉強会に参加しないと不幸になる話 - きしだのはてな このときは、勉強会x勉強会という枠だったので、「勉強会」と表現していますが、実際にはコミュニティに参加しないと不幸になる話でした。 あと、ここでの幸せ・不幸せというのは、エンジニアとして、という話で、エンジニアリング能力があがるとか、エンジニアリングの活動がやりやすいとか、エンジニアリングの活動が評価されるとか、エンジニアリングの話題を共有できる仲間が増えるとか、そういう観点です。 エンジニアとしての幸せ以外にも、人生にはさまざまな観点の幸せがある、ということは最初に補足しておきます。 会社が教育機能をもっていない エンジニアとしての幸せに大切なのは、エンジニアリング能力を上げていくことです。 ただ、2013年の産業経済省IT人材白書の概要に IT企業に対して、201

    コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena
  • SEやPGではなく、プログラマでもなく - きしだのHatena

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

    SEやPGではなく、プログラマでもなく - きしだのHatena
  • 開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena

    福岡では、LINEが支社を作ることが話題になってます。 LINEは福岡で100人 技術者採用 競争激しく :日経済新聞 で、まあ言うても福岡に100人も転職可能な技術者いないし、あっちゃこっちゃから人をかき集める感じになると思います。 しばらくは福岡の技術者市場は焼け野原のようになる気がします。 環境や待遇面、やれる仕事といった面で、他の会社はなかなか太刀打ちできませんからね。 とは言っても、100人入った全員が5年も10年も働き続けませんよね。 3年もすればぼろぼろと人が辞めだすと思います。これはLINEが良い悪いの話じゃなく、そういうものだと思います。 特に、いまから100人組織を作るわけで、そこまでの規模で最初から頑強なチームを作るのは難しいはずで、3年後にできあがった組織の色が期待していたものと違う形になったという人も多くなってるはず。やっぱりサービス系よりも業務システムのほうが

    開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena
    hyaknihyak
    hyaknihyak 2014/02/19
    なるほど
  • Java8 Streamではクイックソートが書けない - きしだのHatena

    タイトルは釣りです。 もちろん、汎用ライブラリなので、Streamを使ってクイックソートが書けないわけではありません。 ただ、Streamで完結したままではクイックソートは書けません。Listとの相互変換が必要です。 で、Streamで完結したままクイックソートが書けない直接的要因はいくつかあって、それを解消するユーティリティメソッドが用意されてれば、この件に関してはStreamで完結することもできるのですが、だからといってさまざま出てくる「xxxが書けない」を解決するためのユーティリティメソッドを追加しまくれば幸せになれるかというと、そうでもないわけです。 そもそも、なんでそんなユーティリティメソッドが必要になるのかというのが題。 結局のところListなどCollectionと、新たに追加されたStreamが別扱いになっているところに原因があって、CollectionとStreamの変

    Java8 Streamではクイックソートが書けない - きしだのHatena
  • Struts1職人の朝は早い - きしだのHatena

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

    Struts1職人の朝は早い - きしだのHatena
  • 英単語帳を買ったら思いのほか面白かった - きしだのHatena

    プログラム作業中に困ったときに検索してひっかかった英語技術文書を読む程度だと、辞書をひくことなく英語が読めるのだけど、技術解説になるとちょっとつらいし、ブログにのってる意見になると知らない単語が増え、ニュースになると知らない単語の頻度があがって、そして問題は、技術とは関係ない普通の文章になると知らない単語だらけ、っていう感じの単語力なので、これはどうにかしないとなーと思ってたのでした。 で、この2月のエントリで 「読解にある程度困らない語彙数というのは、8000語程度」 「とにかく、8000語程度は何も考えずに覚えてしまったほうがいい」 とあったので、時間ができたらやろうと思ってたのだけど、やっと時間ができる可能性がでてきたので、紹介されてたアルクのSVLというのを基準にした単語のを探して買ってみた。 時間のない人のための、気の英語学習法 - アスペ日記 Amazonで探すと、頻出1

    英単語帳を買ったら思いのほか面白かった - きしだのHatena
  • Java大好き男に「どのIDEが好き?」と訊ねられたとき、女はどう答えたらいいの? - きしだのはてな

    あ、まず前提として、 貴女がJava大好き男を夢中にさせることが、 はたして貴女を幸福にするかどうか、それはまた別問題だけれど。 とはいえ、Java大好き男たちは玉石混交ながら、 大手SI系の給料高い男なども多く、 したがって、釣り師たる女たちにとっては、 なかなかあなどれない釣り場です。 では、Java大好き男に「どのIDEが好き?」と訊ねられたとき、 貴女は、どう答えれば理想的でしょう? まず最初に、その男がAndroidのようなタイプの携帯アプリと あとはJavaScript、そして(アプリ公開するほどではないけれど)iPhoneアプリが大好きな、 そんなタイプの場合は、 貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、 「わたしが、いいIDEを作ってあげる♪」 これこそまさに必殺の答えです。 そこでJava大好き男が、えへへ、とやにさがったならば、 貴女は、

    Java大好き男に「どのIDEが好き?」と訊ねられたとき、女はどう答えたらいいの? - きしだのはてな
  • ソフトウェア工学は失敗している - きしだのHatena

    特に学術的にソフトウェア工学に触れたことはないのですが、むしろそうではなく現場にいる身としては、ソフトウェア工学は失敗しているように見えます。 「成功していない」ように見えるのではなく「失敗している」ように見えるのです。 もちろん、いまソフトウェア開発で使う技法やツールなど、ソフトウェア工学の産物はたくさんあり、現在のソフトウェア開発がソフトウェア工学から生まれたもので支えられていることには間違いありません。 でも、そうやって築き上げてきたものが、1999年以降ガラガラと崩れて、そしてうまく再構築できていないように見えます。 1999年、なにがあったかというと、XPエクストリーム・プログラミング入門というが発行されたのです。リンク先は2版ですが、日語版でも初版は2000年12月になっています。 ここからソフトウェア工学がガラガラ崩れた気がしています。 では、ここまでソフトウェア工学がど

    ソフトウェア工学は失敗している - きしだのHatena
  • CPUはオワコン - きしだのHatena

    FPGACPUを組んでると、フェッチ部やデコーダ部で足し算や掛け算をしようとして、そんなことしたらCPUの意味ないなーと思ってしまうことがありました。 で、よく考えたら、FPGAでロジックを組むならCPUの意味はないんです。 だいたい、ひとつの処理実行するのに何クロックかかってんですか!と。 CPUでは、計算効率をよくするためにパイプラインという仕組みが使われています。 最近では、18段とかのパイプラインもあるようです。 ここで、18段のパイプラインのうち、実際に計算を行うのは2段か3段だったりします。残りの15段くらいは、命令や計算結果を読んだり書いたりしているだけです。 このパイプラインも、ほとんどはメモリの読み書き、それも命令の読み込みに多くが使われます。 であれば、CPUにしなければ、18段全部計算に使えるんじゃね?という話になりますね。 決まりきった計算を行うのに、いちいちメモ

    CPUはオワコン - きしだのHatena
  • ぼくのかんがえたさいきょうのCPU 〜 命令表 - きしだのHatena

    FPGAをさわってたら、なんかパイプラインとかキャッシュとか複合命令を考えなければCPUつくるのはそんなに難しくないなーと思い始めて、いろいろぽわわ〜んとなって仕事が手につかないので、とりあえず命令表をまとめてみた。 DE0のFPGA内蔵RAMを前提にするので、メモリ空間が32KBくらいしか取れないので、Z80/8080をベースにした。 PUSH/POPやCALL/RETなど、スタックを使う命令も、実質2命令になるので実装がめんどくさそうなのではずした。あと、「ADD A,(HL)」みたいな、読み込みつつ計算するものは、メモり読み込みのタイミングがずれて作りにくいので、はずした。 代わりに、VWレジスタという、メモリ値やスタックの値を退避するためのレジスタを用意して、それぞれの処理を分解した。ついでに、掛け算・割り算の命令を追加した。 ようするに、CISCだったのをRISCに分解した。 こ

    ぼくのかんがえたさいきょうのCPU 〜 命令表 - きしだのHatena
  • DE0でFPGAからSDカードにアクセスする - きしだのHatena

    なんとなく調べてたら、SDカードのアクセスにはめんどくさいモードとめんどくさくないモードがあって、めんどくさくないモードのSPIというのを使うと楽だよって書いてあったので試してみたら、SDカードの初期化まですんなり動いた。 初期化といっても、SDカードの内容を初期化するんじゃなくて、デバイスの初期化のほう。 SDカードの仕様は、DE0に付属のものをみてもサパーリわからんかったのだけど、このあたりを見るとわかりやすかった。 ELM - MMCの使いかた naru マルチメディアカード(MMC)の使い方 SDカードを使ってみよう 初期化手順は、74クロック待って、CMD0を送って0x01を待って、CMD1を送って0x01が返ってきたらCMD1を再送、0x00が返ってきたら初期化終了、という流れ。 で動かすと、無事にSDカード初期化終了をあらわすコード0x00が返ってきた。左2ケタがSDカードか

    DE0でFPGAからSDカードにアクセスする - きしだのHatena
  • SIerは日本にしかいないのか - きしだのHatena

    ちょっと気になったので。 まず、SIerってのは、システム受託開発専門のソフトウェア会社や部門ということでいいんですよね? で、アメリカにはそういったSIerはいないのか、と。 ちょっと古いのだけど、手元に「ソフトウェア開発の定量化手法 第2版」という1998年刊行のがあるので、調べてみました。 187ページに「分野ごとのソフトウェア要員の概数(1995年)」という表があって、ここに「アウトソーシング」という項目には175,950人という数字があります。全体が2,432,168人なので、割合としては少ないですが、それなりに多い人数です。 この「アウトソーシング」は、「受託開発/アウトソーシング」として説明されていて、日でいう受託開発のことを指すと思います。 ところで、このサイトの「図表2」を見ると、日の情報サービス産業の従業員数は、1995年には40万人程度だったことがわかります。

    SIerは日本にしかいないのか - きしだのHatena
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
  • ファーストサーバの手順の問題点 - きしだのHatena

    えらいことなってますが。 正規手順と今回の現象の説明などを含めた中間報告が出されています。 http://support.fsv.jp/info/nw20120625_01.html ここで、正規手順で、途中でオペレーションミスがあったときに復旧できない状態になってしまう可能性があることがわかります。 具体的には「原因3:メンテナンス仕様」のこの部分。 脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用する この時点でこの更新プログラムに不具合があった場合には、リストアできなくなることになるわけです。そして今回はそれがおきたようです。 より安全な手順であれば、バックアップ側にパッチをあてている間は正常系がバックアップのバックアップということになるはず*1ですが、どこにもバックアップがない状態になってしまったわけです。 手順1

    ファーストサーバの手順の問題点 - きしだのHatena
  • Twitterが面白すぎるその理由は、意外なほど簡単&シンプルだった - きしだのHatena

    先日Twitterは特にリニューアルしてもいないけど、Twitterについて思ってることをここにまとめておこうと思う。 僕はTwitterが楽しくて仕方がない。 何でこんなに楽しいのか?とふと考える。これまでも何度か考えてきたんどけど、気がついたその答えは意外なほど簡単で、シンプルなものだった。 自分の好きなことを自由に言えて、それに関心をもってくれるたくさんの友だちがいる そう、気軽にそして素直に語り合える仲間がいるからだと。 ローラがいるとか芸能人がいるとかは全く関係ない。その証拠に僕は彼女たちをほとんどフォローしてないし、たまに共有して流れてくるものがあっても、それは一時的な面白さでしかなかった。 考えてみたら当たり前の話だ。世の中、友だちと話すことより面白いことなどありはしない。 信じられないかもしれないが、ここでいう「友だち」は、Twitterの場合実際会ったことも、そして話した

    Twitterが面白すぎるその理由は、意外なほど簡単&シンプルだった - きしだのHatena
  • プログラマが解くのに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分で解ける話 - きしだのはてな
  • ソフトウェア開発の品質と、ソフトウェアの品質は、分けて考えたほうがいいんじゃないか - きしだのはてな

    ふと「ソフトウェア品質のxxx」みたいな文章を見つつ、基としてはソフトウェアがいかに仕様どおりになっているか確認する話だったので、これってソフトウェア品質じゃなくて、ソフトウェア開発品質だよなーと思った。 実際、ソフトウェア開発の品質と、ソフトウェアの品質には相関はあると思う。とくに1990年代まで、まだITという言葉があまり使われず、OA、つまりオフィスオートメーションがソフトウェアの主な開発対象だったときには、データがちゃんと入ってデータがちゃんと届けられるということが主な処理だったため、ソフトウェア開発の品質と、ソフトウェアの品質はほぼ一致していたと思う。 そういう中で、ソフトウェア品質として、ソフトウェア開発の品質が研究された。 実際、ソフトウェア開発プロセスの基コンセプトのひとつは、「よいプロセスがよいソフトウェアを作る」ということで、ソフトウェアプロセスのを見ると必ずとい

    ソフトウェア開発の品質と、ソフトウェアの品質は、分けて考えたほうがいいんじゃないか - きしだのはてな
  • Twitterでフォロー返しをしたらDM送って消えるスパム - きしだのHatena

    このところフォローされたアカウントの中に、どっかで拾ったかわいい女の子アイコンで、つまりスパム臭いアイコンで、発言0でフォロー数も200くらい、フォロー返し50くらいという感じのアカウントがいくつかあった。 とくに宣伝ツイートしてるわけでもないし、まあそういうツイートみたらフォローはずせばいいかと思ってたんだけど、なんの意図があるんだろうなと思ってた。 そしたら、これDM送るのが目的のスパムだったみたいだ。 だいたいメールの文面はこんな感じ。 xxxのつぶやきを見てフォローしたxxxです。でもxxxの都合で退会することにしました。せっかくなのでメールください。xxx@ yahoo.co.jp それぞれ文面違うけど、退会するからメールくれという内容。 Twitterでアカウント消すことをあまり「退会」って言わないと思うんで違和感あった。あと、メアドはyahooで、それぞれアドレスは別。 DM

    Twitterでフォロー返しをしたらDM送って消えるスパム - きしだのHatena
  • どのプログラム言語を選ぶべきか・・・ - きしだのHatena

    PHP-erはダメな言語でいかにまともなものを作るかっていうマイナスからのスタートだし、 JavaScript-erは何もないところで何か動いて楽しいっていう0からのスタートだし、 Ruby-erはRuby好きって言ってるだけだし、 Java-erはJavaの仕様にしか興味がないし。 Scala-erは生ぬるいこと言うと狩られるし、 Smalltalk-erは過去の栄光語ってるだけだし、 COBOL-erは苦労話しか出ないし、 FORTRAN-erはプログラムに興味ないし、 Perl-erは同窓会みたいだし、 Python-erは仲間探すの大変だし、 Erlang-erはどこにもいないし、 C-erは目先の仕事にしか興味ないし、 C++-erはC++の復興にしか興味ないし、 C#-erはWindowsにひきこもるし、 ActionScript-erはAdobe税はらうのに大変そうだし、 O

    どのプログラム言語を選ぶべきか・・・ - きしだのHatena
  • 作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな

    さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

    作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな