タグ

ブックマーク / d.hatena.ne.jp (73)

  • 今年35歳になるので、エンジニアの35歳定年説というやつについて書くぞ - developer’s delight

    エンジニア35歳定年説。IT業界で働く人なら一度は聞いたことがある言葉なのではないかとおもいます。誰が言い出したのか知りませんが、この言葉は非常にタチが悪く、言葉だけが一人歩きしていて多くの人が「35歳くらいになると能力・体力の低下により新しい技術についていけなくなり、引退を余儀なくされる」という解釈をしているようです。しまいには妙な拡大解釈でこのようなエントリまで書かれる状況です。僕の認識をどんぴしゃで書いてくれているエントリがないので、自分の経験を少し書いてみたいとおもいます。僕が「エンジニアは35歳が定年」という言葉を初めて聞いたのは、新卒で就職したソフトウェア開発会社でした。僕が就職したのは、法人顧客のための業務システムを開発している、いわゆるSIをやっている会社でした。ある日、会社の先輩に「この業界、エンジニアで飯をっていけるのは35歳までだから、よく将来のこと考えておいたほう

  • UbuntuサーバーでWWW::Mechanizeを使う - Elecnotes

    Ubuntu, RubyMacで利用していたRuby GemsのWWW::MechanizeスクリプトをUbuntuサーバーで動かします。今回必要になったものは以下の通り、mechanize以外はapt-getでインストールしました。libxml2(apt-get)libxml2-dev(apt-get)libxslt1-dev(apt-get)mechanize(gem)注意点することは、Rubyの開発に必要なパッケージは[ $ sudo apt-get install ruby ]だけでは入らないということです。正しく設定やインストールしても、このようなエラーが出る場合はパッケージが足りません。 /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load

  • Vim: エンコーディング関係の設定の仕方 - while (”im mirrored”);

    vimVimでのエンコーディング関係のオプションは次の通り:'encoding'グローバルなオプション。Vimが内部で用いるエンコーディングを指定する。バッファやレジスタやVimスクリプトでの文字列の中身はこのオプションで指定されたエンコーディングが用いられる。また、他のエンコーディング関係のオプションが未設定ならばデフォルトの値としても用いられる。基的にvimrc以外で変更すべきではない。また、このオプションを変更しても既存のバッファやレジスタやVimスクリプトでの文字列の中身のエンコーディングは変化しない。(なお、ヘルプでは明言されていないがsystem()の結果は常に'encoding'として扱われ、'fileencoding'への変換は行われない。変換を期待する場合は:read!を使う必要がある。このためにvcscommandは一部で不具合が出る。)'fileencoding'バ

  • Fedora 7 on coLinuxでvim-rubyを動かす方法 - 医者を志す妻を応援する夫の日記

    Fedora 7 on coLinux on Windows Vista環境を作りました(VistaでcoLinux(WEB+DB PRESS Vol.40のid:naoya記事をVistaで実行))。次はRubyの開発環境を作ります。私はEmacsではなくVimを使っているので、「vim-ruby」をインストールしました。それと、コンソールでRubyリファレンスマニュアルを読むための「ReFe」というツールを入れました。 vim-rubyを使うと、シンタックスハイライトが有効になるだけでなく、自動補完(omni completion)機能を使うことができるようになります。しかし、自動補完機能を使うには、VimRubyオプションが有効になっていなければなりません。有効か無効かは次のコマンドで確認できます。 $ vim --version | grep ruby この結果が「+ruby」な

  • vimのText-objectがわからない - ゆるやかにくちてゆくこの世界で あがく僕の唯一のかつろ

    Text objectが気になり始めた ググっても詳しいことはでてこず。 ヘルプ見るしかなくなりますよね。英語苦手… 自分に向けたメモ まずヘルプをみる。 :help text-objects とりあえず試して動作の確認 "dl" delete character (alias: "x") |dl| 一文字を削除 "diw" delete inner word *diw* 単語ごとに削除 // 下の例で "daw" delete a word *daw* 単語ごとに削除 // 補完 "diW" delete inner WORD (see |WORD|) *diW* 単語ごとに削除 // 下の例で "daW" delete a WORD (see |WORD|) *daW* 単語ごとに削除 // 補完 "dd" delete one line |dd| 行単位で削除 "dis" delet

  • SSIを使わずにPHPを使うのは止めたほうがよい? - 戯れ言日記

    SSIは負荷が高いのは毎回リクエストの度にHTMLをパースしたり内部でサブリクエストを発行してたりするみたいなんで、負荷が高いとか遅いとかってのは利便性のためには仕方がないんじゃないの? それに、負荷を気にするのならSSI以外のものを使えばいいじゃない? なんて個人的には思ってる。でも、「フレームの代わりにPHPを使う」についてはPHP万能説のようで前々から疑問に思っていたので気分転換&もやもやとした疑問を払拭するためにテストしてみた。結果はなんとなく予想はついてるんだけど、予想が大きく裏切られる事を期待! まず、テストに使ったのはσ(ーー)がメインで使ってるマシン、もう大分古いんだけど構成は以下の通り。 Hardware Overview: Machine Name: Power Mac G4 Machine Model: PowerMac3,5 CPU Type: PowerPC G4

  • "Javascript quiz " 解答と解説 - mooz deceives you

    前書き Javascript quiz ? Perfection Kills が Twitter で話題となっていたので, 挑戦してみました. 結果は 5 問のミス. 完敗でした. 色々分かっていないところがあるなと感じたので, 勉強がてらに解答と解説を書いてみました. 間違いやまずい表現などあれば指摘していただけると助かります. どれも良く考えられた問題で勉強になるので, まだやっていない方はぜひ挑戦してみてからこのエントリを読んでいただけたらと思います. 解説 1. (function(){ return typeof arguments; })(); arguments は配列. 一見配列のように見えるが, 実際は 0, 1, 2 といったプロパティと length を持ったオブジェクト. >js (function () { alert(arguments instanceof A

  • よそでは読めない?Ruby関連エントリーのまとめ。 - このブログは証明できない。

    元気ですかー!?私は昨日書いた渾身のネタがスベったのでテンションが下がってます。元気ですかー!?とか言われると、ウザイです。そっとしておいてください。 プログラマーが好きそうな邦楽77曲。 - このブログは証明できない。 今日は転校生を紹介する代わりに、このブログでこれまでに書いてきたRuby関連エントリーのまとめです。まとめてみたいと思い続けていました。ですが、小学生の頃、学級委員としてクラスをまとめられなかった苦い思い出があり、まとめることができませんでした。今日は頑張りました。まとめました。過去との決別です。 ハック 最初は、Ruby楽しい!ヘンタイ!と思えるようなハックネタを集めてみました。ハッとして、クッとくるハックをお楽しみください。四苦八苦してください。なんなら、千二十四苦くらいしてください。もしくは、二泊三日で。 JavaScriptのwithをRubyでも使いたい夢をあき

  • JavaScript + Canvas で動くカオスアトラクタ生成器作ってみた - mooz deceives you

    カオスアトラクタ by edvakf in hatena を見ていて Canvas でピクセル操作が出来るらしいことを知り、早速カオスアトラクタ生成器を作ってみた。 アクセスは C.H.A.O.T.I.C C.A.N.V.A.S から。 動作は Firefox 3.5 と Google Chrome で確認。処理速度は Chrome の方が 5 倍ほど速いので、一応 Chrome 推奨。 Safari や Opera では未確認。 で、操作説明。 Draw ボタンを押せばカオスアトラクタが描画される。 Settings 右のプルダウンメニューにいくつかプリセットの設定を用意しておいたので、はじめはそちらを試されるのが良いと思う。 Coefficients の値をちょびっとづつ変えていくと、生成される画像が綺麗に変化していってくれる。一期一会な感じが小憎い。画像は Firefox なら右クリ

    JavaScript + Canvas で動くカオスアトラクタ生成器作ってみた - mooz deceives you
  • パスワードリマインダーの実装を考える - Scrapcode@はてなダイアリー

    サイト運営者の視点で、パスワードリマインダーの実装について考えてみます。 (1) 登録メールアドレスに生パスワードを送信する アチコチでよく見かけますが、パスワードの扱いが軽すぎます。 メールを盗聴されるとパスワードが漏れます。パスワードの使い回しが少なくないと思われる現在、該当サイトだけでなく他のサイトもアカウントを乗っ取られる危険性があります。 また、該当サイトではデータベースに生パスワード、もしくは復号可能なパスワードを保存している事になります。万が一該当サイトのサーバーがクラックされた場合、データベースのデータと復号方法まで一緒に漏れる可能性があります。 (2) 登録メールアドレスにランダムな仮パスワードを送信する メールを盗聴されるとその仮パスワードを使ってログインされ、アカウントが乗っ取られます。パスワードを変更されてしまうとどうしようもなくなります。 盗聴者より先にログインし

  • if (!a) a = hoge と a = a || hoge の速度差 - mooz deceives you

    気になったこと 朝から自分の書いたコードを眺めていたら、次のようなコードを発見した。もちろん hoge とか huga なんて関数名を実際に使っているわけではない。 function hoge(collection, options) { options = options || {}; // 略 let flags = options.flags; // 略 } hoge([1, 2, 3]) のようにして options が指定されずに呼ばれたとき、 options が undefined になって options.flags で例外が発生してしまうので、それを防ぐために {} を代入している。 ここは特に引っかかることもないのでもう少しそのコードを眺めていたら、今度は次のようなコードに出くわした。 function huga(collection, options) { if (!o

  • Rubyのblock、Proc、lambdaを理解する - このブログは証明できない。

    新年おめでとうございます。2009年の最初のネタはプログラミングのネタにすることにしました。 Rubyについてのステキなエントリーがあったので、紹介します。 no title 私は翻訳能力がないばかりか、リーディング能力も貧相です。ぜひ、原文を読んでみてください。 はじめに Rubyblock、Proc、lambdaはパワフルですが、解りにくい。Rubyはクロージャを使う方法が4つあって、それぞれチョットずつ違います。ここでは、そのへんを解説したいと思います。 Block もっとも簡単で、かつRubyっぽいと言えば、Blockですね。 array = [1, 2, 3, 4] array.collect! do |n| n ** 2 end puts array.inspect # => [1, 4, 9, 16] 何が起こっているか? まず、block付きでArrayの"collect

  • 技術で食っていくという「幻想」 - もうそうめも

    まあ俺は「島耕作」のことを「オナニーできなくなったジジイどものファルスをグイグイ刺激するための『エロ』漫画」だと位置づけているんだけれど、今週はいつにもましてひどかったね。サムソン(劇中では違う名前だけどさ)に3年2億円の契約で引き抜いた技術者のことを悪人扱いして、挙げ句の果てに「これから電池と自動車が沈没したら日も間違いなく沈む!!」ってさ。バーーーーッカじゃねーの。そもそも技術っていくという「幻想」を生み出したのは誰だったんだろうと考えると、島耕作が出世した企業であるところのハツシバ=松下電器産業の松下幸之助ということになるのだろうけれど、たぶん、松下幸之助自身は、技術こそが第一という考えではなかったはずだ。そして間違いなく、一番に考えていたのは「買う人がどう思うか」ということだったはずだ。いつの間に「技術」が「売りつけるための道具」にすり替わったんだろう?いつの間に「技術」が「

  • Googleオリジナルグッズセット欲しい!とは はてなの人気・最新記事を集めました - はてな

    はてなブックマークをGoogle Chromeブラウザでもっと便利に使える拡張機能、「はてなブックマークGoogle Chrome拡張」が正式リリースされました。これを記念して、Googleオリジナルグッズセットが当たる「Googleオリジナルグッズセット欲しい!」キャンペーンを開催いたします。 応募方法は簡単。このキャンペーンページを下記のリンクからはてなブックマークに追加するだけで応募完了です。【締切りは2/28(日)】 ブックマークに追加してキャンペーンに応募する!

    Googleオリジナルグッズセット欲しい!とは はてなの人気・最新記事を集めました - はてな
  • 一週間で応用情報技術者試験に受かった方法 - 遥か彼方の彼方から

    雑記 タイトル通り、一週間ほどの勉強で応用情報に無事合格しました。 じっくり勉強して受験できればそれに越したことはないのですが、忙しくてぎりぎりまで時間がとれない人や、僕みたいに最後まで勉強を後回しにしてしまう人にはもしかして需要があるかもしれないので、そのときの勉強法を紹介します。まず、まとめ勉強するのは午前のみでOK過去問・予想問題を押さえる午後問はとにかく諦めるな 試験概要 ITパスポートの上の基情報の上だけど、高度試験というほどでもない、というレベル。学生でも勉強すれば十分に合格がねらえる試験です。身の回りでは基情報受験者が多かったので、それとの差別化も考えて応用情報という選択肢はかなりアリだと思います。 基情報との違いは、問題がやや難しくなることと、午後の試験が筆記になることの2点です。あと、合格発表が基情報と比べて遅いのも、わりと不安にしてくれます。この記事も、自己採点

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • はてなパーカー欲しい!とは はてなの人気・最新記事を集めました - はてな

    3年ぶりにデザインが新しくなったはてなオリジナルパーカーの製作を記念し、プレゼントキャンペーンを実施します。 期間中にブログ(はてなダイアリー)、はてなブックマーク、はてなハイク、うごメモのいずれかからご応募いただくと、抽選で5名様にサイト販売でしか手に入らないレアなはてなパーカーが当たります。

    はてなパーカー欲しい!とは はてなの人気・最新記事を集めました - はてな
    threeMonths
    threeMonths 2009/11/18
    ネイビー欲しい
  • ゲームプログラムの勉強におすすめの本とサイトまとめ - 遥か彼方の彼方から

    雑記普段はPHPをメインとしてWebプログラムを楽しんでいるのですが、今年の初めくらいからゲームプログラムにも挑戦しています。言語はC++で、DirectX9プログラムをしています。昔いじったことのあるHSP*1と比べて遥かに難しくてびっくりするのですが、Webプログラムとはまた別の方向で楽しいです。ただ、特につらいなと思うのが、情報の少なさです。一応SDKのヘルプは充実しているのですが、情報が豊富なPHPと比べると色々なところで厳しさを感じます。そこで、今参考にしているサイトや書籍についてメモ代わりにまとめることにしました。もし、他にもいいやサイトがあれば是非教えてください。 対象とするのはあくまでC++とDirectX9の組み合わせですが、ものによっては参考になると思います。反対に、C++向けじゃないけど参考になるものも載せています。C++の勉強ゲームプログラムをするためには、ある程