Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / xtech.nikkei.com (44)

  • プログラミングが楽しいと思えないのは悪いことなのか

    ここ半年ほど、「プログラミングを職業とすることの意味」を考え続けています。私自身は職業プログラマではないので、プログラマ向けの各種サービスを取材して、何とか手がかりをつかもうとしています。これまでに、技術情報共有サービス「Qiita」、競技プログラミングサイト「topcoder」、技術者が企業を気軽に訪問できるきっかけを提供する「Wantedly」、技術者が得意なスキルをアピールできる「Forkwell」、プログラミングの実力を測定できる「CodeIQ」や「paiza」を取材しました。 そうした取材の成果は、折に触れてITproや日経ソフトウエアにまとめています。具体的には、ITproの「『プログラマの役に立つものを提供していきたい』、情報共有サービス『Qiita』の挑戦」や「『60万人の一流プログラマ』が『成功率93%のSI』を実現するtopcoder」といった記事です。このテーマの集大

    プログラミングが楽しいと思えないのは悪いことなのか
    miya2000
    miya2000 2014/08/26
    よくわからんけど世襲プログラマーとかいるのかな。無理矢理やらされるもんでもあるまいに。/「プログラミングが嫌い過ぎて新しい言語作った」とかあるかも。
  • ソースコードから見るグーグル気質、規律を持つ気さくな開発者集団

    グーグルはWebブラウザ「Google Chrome」など100種類を超えるオープンソースプロジェクトを社外に公開している。「Google Code」という開発者向けWebサイトでは、ソースコードだけでなく、グーグル社員同士のやり取りや仕事の進め方まで公開されている。そこから垣間見えるグーグル気質を分析する。(日経コンピュータ) グーグルのことを、「『世界中の情報を整理する』という大きな野心に向けて突き進むエリート集団」と思っている読者も多いだろう。そのような会社のプログラマであれば、書いたソースコードも厳しい規律に従う秩序だったものに違いない、と思うのが自然だ。 確かに、グーグルの開発スタイルの厳格さはよく知られている。例えば、グーグル法人の鵜飼文敏氏が行った講演を見ると、同社は、デザインドキュメント(コーディングの前に設計情報を文書化するプロセス)、コードレビュー(他のチームメンバ

    ソースコードから見るグーグル気質、規律を持つ気さくな開発者集団
    miya2000
    miya2000 2009/10/20
  • 第3回 power関数とfib関数で少し遊んでみる

    さて,前回の記事では,べき乗を計算するpower関数の例を紹介した。power関数は,フィボナッチ数列を計算するfib関数と並んで,関数型言語のプログラムとして,最もよく引き合いに出される例の一つである。ただ,あまりにも数学的な例ばかりなので,「関数型言語は実用的ではない」という印象の原因の一つになっているのではないか,という気もする。当は,再帰の考え方は現実の問題に対しても大いに役立つのだが,関数型言語をできるだけ簡潔に説明するという目的では,やはり数学の例題も便利だ。そこで,今回はpower関数とfib関数について,ちょっとマニアックに掘り下げてみたい。 power関数の改良 前回は,整数mのn乗を計算する関数powerを,以下のように定義した。

    第3回 power関数とfib関数で少し遊んでみる
  • x64で本格化する64ビットWindowsの時代(3)

    図15●WOW64によるレジストリのリダイレクト<br>あらかじめ「HKEY_LOCAL_MACHINE\SOFTWARE\サンプル64」と「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\サンプル32」の2つのキーを作っておいた。(a)64ビットのregeditでアクセスした場合。(b)32ビットのregeditでアクセスした場合。HKEY_LOCAL_MACHINE\SOFTWARE以下の内容が,64ビットのregeditでアクセスしたときのHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node以下の内容になっている。 マシン語の一部が32ビットと異なる 32ビットのx86と互換性を保ちつつ,64ビットに拡張されたのがx64の64ビット・モードだが,マシン語コードに一部非互換な部分がある。それは,64ビット・モードで利用する拡張さ

    x64で本格化する64ビットWindowsの時代(3)
  • Part5 Mac OS XのUNIXな使い方:ITpro

    最近,特にオープンソース関係の集まりなどに顔を出すと,Windowsマシンではなく,MacMacintosh)を持っている人の割合がかなり高くなっていることに気づきます。Macで動くOSといえば,Mac OS Xです。Mac OS Xはいろいろな顔を持ったOSです。まず,Mac独自のアプリケーション実行環境として「Carbon」と「Cocoa」を搭載しています(図1)。Microsoft OfficeやAdobe Photoshopといった市販のMac OS X用ソフトの多くはこの上で動作します。 Part1「今さら聞けないOSの疑問」,Part2「これがWindows Vistaだ!」,Part3 「Windows XP Tips 25 」,Part4「仮想マシンの仕組みを理解する」に続いて,Part5では,Mac OS X(2006年9月時点の「Mac OS X v10.4 (Tig

    Part5 Mac OS XのUNIXな使い方:ITpro
    miya2000
    miya2000 2008/06/27
  • Javaの知られざる欠陥(下)

    最後に,複数のクラスの実装を継承できない問題を取り上げる。この問題の原因は,Javaが多重継承を許していないことにある。 Javaでは多重継承ができない。これは,デメリットと言うよりもメリットとして語られることが多い。C++は多重継承を許しているが,その結果プログラムが複雑になり難解なバグを生んだ。 多重継承は実装を引き継げるが複雑 多重継承は,次のような点で混乱を招く。一つが名前の衝突である。同じ名前のメソッドを持つ別のクラスを継承した場合,どちらのメソッドが呼び出されるかわからない(図5[拡大表示])。これは,一つのクラスを継承した二つのクラスを,さらに一つのクラスが継承するときによく起こる。これをダイヤモンド継承という(図6[拡大表示])。一番上位のクラスのメソッドを別々にオーバライドしていて,それを最下層のクラスが呼び出すと問題が起こる。 図5●同じ名前のメソッド名を持つ二つのスー

    Javaの知られざる欠陥(下)
    miya2000
    miya2000 2008/06/03
    mix-in
  • 本当はすごい「Windowsの互換性維持」

    Microsoft Application Compatibility Toolkit 4.1」に含まれる「Compatibility Administrator」 マイクロソフトは4月26日,2週間前に出したばかりのセキュリティ更新プログラム(MS06-015,KB908531)をリリースし直した。当初のパッチを適用すると,日ヒューレット・パッカード(HP)やNVIDIAが提供するソフトウエアで不具合が発生した。マイクロソフトはこの問題に対処するために,パッチをリリースし直したのである。 MS06-015のパッチは主に,エクスプローラのセキュリティぜい弱性を修正するためのものである。ただし,パッチを適用すると,エクスプローラ上でユーザーによって起動されたプログラムを検証する「Verclsid.exe」というプログラムがOSに追加された。 このVerclsid.exeと,HPやNVID

    本当はすごい「Windowsの互換性維持」
    miya2000
    miya2000 2008/05/18
    「Windows XPにはもれなく,Windows 95版の「ときめきメモリアル」を正常に動作させるための設定が施されている---そう考えると,なんだか胸が高鳴ってしまうのは筆者だけ」
  • 第3回 HTAでコマンドライン・プログラムをビジュアルにする:ITpro

    ■WSH(Windows Script Host)が使える環境(Internet Explorer 5.0以降がインストールされていること) 最初に触ったパソコンがWindowsマシンという世代の人は,コマンドラインの操作に慣れていないようです。じゃあどうするか。簡単なことです。使いにくいなら使いやすくしちゃえばいいんです。コマンドライン・プログラムをウインドウ・プログラムにしちゃいましょう。 今回ご紹介するアイデアは,文字だけのコンソール・プログラムに“ガワ”を付けて「ウィンドウ・プログラムに見せてしまえ」というものです。 pingを使えば ネット上の端末を調べられる Windowsに標準でインストールされているコマンドラインのプログラムの中で今回はping.exe(以下ping)を素材に使います。pingはネットワーク上の指定された端末(ルーターなども含む)に対して,パケットというデー

    第3回 HTAでコマンドライン・プログラムをビジュアルにする:ITpro
  • 土井美和子のヒューマン・インタフェース論(3) 【日経バイト誌より】

    図●三つの基要素 計算機や機械を使わない場合の使い勝手を原点0とすると,違和感なく当たり前に使える(1)のインタフェースは原点0を維持するもの。(2)の安心できるインタフェースは,マイナスとなる不安要因を取り除くためのものだ。(3)のわくわく感は,原点0をプラスにするインタフェースである。 違和感なく当たり前に使える では,エンドユーザーに使いやすい,使いたいと思わせるヒューマン・インタフェースとはどのようなものなのでしょうか。総務省の調査研究会「ネットワークヒューマンインタフェース」の報告書にもまとめられていますが,ヒューマン・インタフェースの基要素は三つあります3)。(1)当たり前感,(2)安心感,(3)わくわく感です。 (1)の当たり前感は,自然に違和感なく使いこなせるかどうかです。かつて鉛筆と紙で当たり前にできていた文書作成作業が,計算機を使うようになったら当たり前にできなくな

    土井美和子のヒューマン・インタフェース論(3) 【日経バイト誌より】
    miya2000
    miya2000 2008/02/23
  • 【MacBook Air分解その5】「外は無駄なし,中身は無駄だらけ」

    MacBook Airの外観は無駄がなくてスマートですけど,中身は無駄ばかりってことですか?」。作業の後に宇野記者が発したこの一言が,分解を終えた技術者たちの感想を代弁していた。 日経エレクトロニクス分解班は,国内大手パソコン・メーカーの技術者複数名の協力を得て,再生が困難なところまでMacBook Airを解体してしてみた。その結果明らかになったのは,意外な内部構造だった。参加した技術者たちは,「事前の想像と全く違った」「ODMの製品も含めて,これまで見たどんなパソコンとも違う」と振り返る。 技術者一同を驚かせたのは,非常にコストのかかる作りになっていたことである。例えば,部品を固定するネジの数が極めて多い。キーボードを据え付けるものだけで,30ほどもある。「全体のネジの数は,うちの会社が作る場合と比べて数倍」(技術者の一人)。上下の筐体をつなぐヒンジや外装部品の内面を見た技術

    【MacBook Air分解その5】「外は無駄なし,中身は無駄だらけ」
    miya2000
    miya2000 2008/02/19
    「日本のパソコン・メーカーでは,おかしな設計をすると工場から文句が出たり,コストを下げるために工場が独自の工夫を加えたりする。」日本のハード屋はすごいな。見習おうぜ。
  • 第1回 気軽にPythonを始めよう:ITpro

    オブジェクト指向スクリプト言語であるPythonは,日常の作業に利用するちょっとしたスクリプトから,商用サイトや大規模Webシステムまで幅広く適用できる非常に便利なプログラミング言語です。日ではあまり認知度は高くありませんが,欧米を中心に幅広く利用されており,米Google(米YouTubeを含む)などの有名企業でも採用されています。 ここでは,プログラミング言語Pythonの魅力と使い方を説明します。特にこれからPythonをはじめようというビギナーの方に,とっかかりとなる言語の基礎と導入方法を説明します。 日Pythonの認知度があまり高くない理由 欧米で人気のPythonですが,国内ではまだまだ認知度が高くないようです。原因としては次のような点が考えられます。 ●日語コーデックに対する不安 Python 2.3の時代まで,シフトJISやEUC-JPを扱うためには,CJKコーデ

    第1回 気軽にPythonを始めよう:ITpro
  • Webアプリの落とし穴に改めて注意

    今年9月,Gmailにクロスサイト・リクエスト・フォージェリ(CSRF)のぜい弱性が見付かった。ユーザーはメールを盗み見される危険にさらされていた。また,10月にはバッファローの無線LAN製品「AirStation」に組み込まれている設定ツール(Webアプリケーション)に存在するCSRFのぜい弱性が発見された。第三者にAirStationの設定を勝手に書き換えられる可能性があった。 これらのぜい弱性は, ユーザーがWebアプリケーションにログインした状態で,攻撃者が用意した悪意のあるリンクを誤ってクリックすると,ユーザーが予期しない処理を実行されてしまうというもの。Gmailなら例えば勝手にフィルタ・プログラムを作成して任意のアドレスにメールを転送するなどの仕組みを実現できる。 グーグルは既にこのぜい弱性を修正済みだが,万が一,利用者のフィルタ・リストに攻撃者が作成したフィルタが存在してい

    Webアプリの落とし穴に改めて注意
    miya2000
    miya2000 2007/12/18
    CSRFは機能によって脅威が異なる。/「これ(セッションID)を奪い取られると第三者によるなりすましを許してしまう。これを狙って,(略)ブラウザを「乗っ取る」のが,CSRFのぜい弱性を突く攻撃である」誤解を生む表現
  • フリーソフトでFlashムービーを作ろう

    Web上の様々なコンテンツを,ときに華やかに,ときに便利に,そしてときにはちょっと迷惑に彩っているFlashムービー。読者の皆さんも一度はどこかで目にしたことがあるでしょう。自分の描いた絵や,自分で撮った写真を,音楽と一緒に好き放題に動かせるなんて,とても楽しそうではありませんか。 このFlashムービー,通常はマクロメディアが提供する「Flash」シリーズというソフトを使って作成します。しかし最新のFlashシリーズの低価格版である「Flash Basic 8」は定価で2万6250円(税込),通常版の「Flash Professional 8」は8万8200円(同)。もちろん,使う人が使えば,値段だけの価値がある素晴らしいソフトなのですが,我々のように趣味でアニメーションを作ったり,ペットや子供の写真を使ってちょっとしたムービーを作成してみたい,という,いわゆる「サンデー・クリエイタ」に

    フリーソフトでFlashムービーを作ろう
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • 5分で人を育てる技術 (28)"話が分からない"と言われたことのある人への10のアドバイス:芦屋広太一つ上のヒューマンマネジメント:ITpro

    前回は,藤井との人間関係に困っている坂へのアドバイスとして「言われて嬉しかった"褒め言葉"10事例」を説明しました。人は誰でも自分を認めてほしいと思っています。しかし,日人の多くは,その民族性からでしょうか,褒めるのが上手くないと言われています。これは,非常に残念なことだと思います。 適切に,上手いタイミングで心から染み出た"褒め言葉"には,人を感動させる力があります。このことを理解し,上司の立場にある人は,もっと「褒める」を考えるべきでしょう。 さて,今回のエピソードには,藤井が登場します。藤井の育成は坂にお願いしていましたが,当然,私はすべてを坂任せにするつもりはありませんでした。そこで,今回は,坂同席のもと,藤井に販社との提案活動の進捗報告をしてもらったときの話を紹介しましょう。 今回は“仕事に役立つ7つの科目”の「(3)説得的会話」に関するノウハウがテーマとなります。 P

    5分で人を育てる技術 (28)"話が分からない"と言われたことのある人への10のアドバイス:芦屋広太一つ上のヒューマンマネジメント:ITpro
    miya2000
    miya2000 2007/09/20
    「論理的に話を展開してほしいのに、いちいち噛み砕いた説明をつけられて、馬鹿にされたような気持ちになった。」ある。また、自分もやってしまってるかも。説明が長くなるだけで何も解決しない。
  • 【初級】新人SEのためのSQLの基礎 第5回 トランザクションとカーソルにまつわる注意点

    1つの処理が2つ以上のSQL文で表される場合にトランザクションを利用する。トランザクションは一連の処理をまとめて「確定」または「取り消し」を行うことができる機能で,これを利用すれば1つのSQL文が失敗した場合,同じ処理の別のSQL文をすべて取り消すことができる。データベース・アプリケーションでは欠かせない機能であるが,RDBMS製品による挙動の違いなどに注意しなければならない。 トランザクションの4つの注意点 トランザクションには開始と終了があり,トランザクション内にはINSERT文(挿入)やDELETE文(削除),UPDATE文(更新)などが含まれる。トランザクション内のデータベースに対する更新処理は,実行されるが確定は行われず,未確定の処理が行われる。一連の処理の確定や取り消しは,トランザクション終了時にまとめて行う(図1[拡大表示]上)。トランザクションの終了は「COMMIT(コミッ

    【初級】新人SEのためのSQLの基礎 第5回 トランザクションとカーソルにまつわる注意点
    miya2000
    miya2000 2007/09/12
    「一般的には暗黙カーソルより明示カーソルの方が良い。暗黙カーソルでは検索データが複数レコードになっているかどうかのチェックのためにフェッチを行うからである。」明示だとフェッチしない?
  • 第20回 “使いやすいURI(URL)”の設計を考える

    今回は「URIの使いやすさ」について考えてみたいと思います。URIの使いやすさ,というのは,ウェブサイトやウェブ・アプリケーションにおいて,どういうURIでそれぞれのページにアクセスできるようにすると,利用者は使いやすいのか,ということです。つまりは,どのようにURIを設計するのがいいんだろう,ということです。URIの設計については,これまでもいろいろなところで議論がなされていますので,それらの議論や動向などを見ながら,考えていきたいと思います。 URIを話題として取り上げようと思ったのは,4月の4,5日に行われたYAPC ASIA 2007(YAPCはYet Another Perl Conferenceの略)で,Six Apartの創業者でMovable Typeの生みの親であるBen Trott氏がSix Apartのサービス「Vox」について発表を行ったとき,「Voxの出力するRS

    第20回 “使いやすいURI(URL)”の設計を考える
  • 矢沢久雄の早わかりGoFデザインパターン 目次:ITpro

    Microsoft Teams上でLoopコンポーネントを作成、Copilotを使って効率よく 2024.10.23

    矢沢久雄の早わかりGoFデザインパターン 目次:ITpro
  • 「paypаl.com」と「paypal.com」,違いが分かりますか?---IDNによるURL偽装問題

    「paypаl.com」と「paypal.com」,違いが分かりますか?---IDNによるURL偽装問題 IDNによるURL偽装問題 ASCII文字以外の文字をURLなどに使えるようにする国際化ドメイン名(IDN:Internationalized Domain Name)。2月のはじめ,IDNでURLの偽装が可能になることをセキュリティ・ベンダーなどが示し,IDN対応ブラウザのセキュリティ上の問題(security issue)だと指摘した。これに対して,日レジストリサービス(JPRS)などは「この問題はブラウザの実装ではなく,レジストリの運用が原因」と反論。また,FirefoxやOperaといったブラウザは,それぞれ独自の方法でこの問題に対応した。 国際化ドメイン名の何が問題なのか,セキュリティ・ベンダーの指摘にレジストリなどはどのように反論したのか,FirefoxやOperaといっ

    「paypаl.com」と「paypal.com」,違いが分かりますか?---IDNによるURL偽装問題
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro