pro17-15_166のブックマーク (143)

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • ソースコードの質:気難しいプログラマ:エンジニアライフ

    近年、ハードウェアの性能向上などにより、IT業界をめぐるインフラは、ようやく市場の要求に耐えうるようになってきた。以前はプラットフォームの陳腐化によって5年と持たなかったソフトウェアの平均寿命は、ここへきて徐々に延びつつある。 このような状況の中でソフトウェアに求められるものは、繰り返し行われる機能追加に耐えうる「拡張性」と、長期に渡って品質を保てる「保守性」だ。これらの課題については、クラウドのような分散コンピューティング技術や、オブジェクト指向デザインのような設計思想といった大きな枠組みの中で数多く議論され、ソフトウェア技術の進歩を押し上げてきた。「実際の現場においてこれらの課題をインプリメントするのは、システム設計者やSEといった上流工程を任された人間の役目である」と一般に言われている。 彼らのアウトプットは、基的に文書(Document)だ。文書は日語や図から構成されており、読

    ソースコードの質:気難しいプログラマ:エンジニアライフ
  • 第15話 コーディング規約は必要か?:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ

    少しご無沙汰しています。 今回からまた新しいシリーズです。ソフトウェアに関係する事柄のあれこれについて書いてみたいと思います。3回程度の予定です。 今回はコーディング規約についてです。コーディング規約がどんなものかはプログラマやSEなどを経験していれば知らない人はまずいないと思います。会社としてきちんとドキュメントになっているところもあれば、部や課、プロジェクト単位で適用している所もあるようです。 ただ、わたしの経験では、なぜか、なかったところの方が多かった気がします(気がするというのは実際はあったが見たことがなかっただけかもしれないので。もっともそれじゃないのと同じですが)。 現在のわたしの状況に関しては、「なかった」ので、わたしが作ってメンバーに周知しています。わたしが作るコーディング規約に関しては基的にA4用紙に1枚程度の量で、そんなにきつく縛っていません(たぶん)昔ほどコーディン

    第15話 コーディング規約は必要か?:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ
  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
  • 高慢と偏見(1)隣は何をする人ぞ:Press Enter■:エンジニアライフ

    ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。 高学歴で長い経験に自信を持つエンジニアは他人の話を聞かなくなる、というのは広く世に知られた真理の1つである。 K自動車ICTシステム部の三浦技術担当マネージャは、そのようなエンジニアの生き見のような人だった。初めに言葉ありき。私が聞いた三浦マネージャーの最初の言葉はこうだ。 「オブジェクト指向など、実業務では使いものにならない!」 私の名前は川嶋ミナコ。横浜市内の某所にオフィスを構えるシステム開発会社――いわゆるベンチャー企業というやつ――に勤務しているエンジニアだ。社員数は20人前後。最近は受託開発の案件はほとんどなく、大手ベンダやエンドユーザーのシステム部門に常駐して開発を行うことが多い。 K自動車への常駐もその1つだった。部品調達システムの大規模なリニューアル中で、あちこ

    高慢と偏見(1)隣は何をする人ぞ:Press Enter■:エンジニアライフ
  • 連載:プロフェッショナルVB.NETプログラミング 第3回 構造体の宣言とその効能(3/3) - @IT

    構造体の効能 構造体はクラスとほぼ同じ機能を持つ。では、どうしてクラスで代用することはできず、構造体という独立した機能が存在するのだろうか? また、クラスと構造体は何が異なり、どう使い分けるべきなのだろうか? 構造体とクラスの決定的な違いを示すサンプル・ソースを以下に示す。これは、C#入門「第5回 C#のデータ型」に掲載した構造体とクラスの比較のサンプル・ソースをVB.NET用に書き換えたものである。まず、クラスを用いた例から。 1: Public Class Form1 2:   Inherits System.Windows.Forms.Form 3: 4: #Region " Windows フォーム デザイナで生成されたコード " 5: 6:   Public Class Test 7:     Public v As Integer 8:   End Class 9: 10:  

  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

  • アンケート結果の平均値の出し方! 中央値/最頻値との違いや最適な集計方法 | リサーチ/データのリテラシー入門——調査統計の基礎知識

    この場合に、たとえば「9999」と記入した回答があったらどうしましょう。回答者は1億円以上の年収があるので、こう表現したのだと思います(1億円を超える場合に、回答者を悩ませる点でもこの自由記入は、あまり良い例とは言えませんが、それは今回置いておきましょう)。 この場合は、この質問のこの回答だけを「外れ値」として集計から除く処理を行うという判断をすることがあります。世帯年収の単純平均を算出すると、この回答が平均値をかなり押し上げてしまうからです。 年収などの場合は、その回答の分布はなだらかな山の形を形成することが多いのですが、分布から極端に離れた値にごく少数の回答が存在することがあります。これを異常値として排除するのです。科学の実験などでもこういった処理を行うことがあります。 普通の調査では、中央値や最頻値を併用するとよい全体を代表する値という指標はいくつかあります。平均値は最も代表的な指標

    アンケート結果の平均値の出し方! 中央値/最頻値との違いや最適な集計方法 | リサーチ/データのリテラシー入門——調査統計の基礎知識
  • @IT:ソフトウェアの不具合を追跡するには

    不具合の追跡プロセスはソフトウェア開発の下流工程では非常に重要なもので、それはそのままソフトウェア開発の下流工程を規定するものといっても過言ではありません。不具合は、一般に開発者とQAの間で、不具合報告書(PR:Problem Report)をやり取りしながら管理することになります。今回は、不具合の状態と処理方法に注目し、不具合を追跡するプロセスについて説明します。 不具合とは ソフトウェアが意図もしくは期待したとおりに動作しないことを指して不具合といいます。面白いことに、ソフトウェアの「不具合」にはいろいろな別名があります。 不具合 障害 欠陥 故障 不備 バグ エラー 仕様 これらはすべて、同じソフトウェアの「不具合」を指す用語として使われることがあります。ただし、ドメインによっては、ソフトウェアの不具合の種類により、これらの別名を使い分けることもあります。仕様どおりに実装できていない

    @IT:ソフトウェアの不具合を追跡するには
  • 第3回 制御構文がわかればプログラムの「流れ」がわかる

    「よくわかるC言語」,今回は連載3回目です。1回目はBorland C++コンパイラ*1のオプションを指定して,C言語のコードの1行から複数のアセンブリ・コード,つまりマシン語が出力されることを確認しました。2回目は浮動小数点数の計算に誤差が出る理由などを説明し,変数の性質を学びました。さて今回は,プログラムの構造を説明し,「C言語のプログラムはどのように書けばよいのか」を大まかに理解してもらうことを目標にします。カメラのズームをいったんぐっーと引くように,ワイドな視界でC言語のプログラミングを眺めてみましょう。 基は構造化プログラミングにあり 皆さんは「構造化プログラミング」という言葉をご存知ですか? 1960年代後半,エドガー・ダイクストラ*2が中心となって提唱したプログラミングの考え方です。現在,主流となりつつあるオブジェクト指向プログラミングも,実は構造化プログラミングをベースと

    第3回 制御構文がわかればプログラムの「流れ」がわかる
  • Part1 プログラムの構造を学ぶ

    Part1では,プログラムをかたち作る要素について,「段取り」のメタファーを用いてプログラミング言語の種類にできるだけ左右されない基礎を説明します。 まず,私たちが作ろうとしているプログラムの全体像を,ざっくりとつかみましょう。今までコンピュータを使っているだけだった人が,コンピュータ上で動くプログラムを作ろうとすると,「プログラムって何?」「どの部分を作ればいいの?」と戸惑うと思います。 そこでちょっと視点を変え,プログラムとコンピュータを切り離して考えてみましょう。私たちは毎日,いろいろな物事をうまく進めようと,アタマの中で「段取り」を組み立てています。そうした段取りを,アタマの中からうまく取り出し,コンピュータに組み込める形に整えたもの。それがプログラムである,と考えてみるのです。 うまく段取りすれば物事が効率よく進みますが,段取りがマズいと無駄な労力がかかります。プログラムも同じこ

    Part1 プログラムの構造を学ぶ
  • 0.プログラミング言語

    0.1.プログラム プログラムとはコンピュータを動かす命令の集まりのことで、コンピュータはこれがなければまったく動作することができません。 プログラムはプログラミング言語で記述され、インタープリタやコンパイラで機械語に変換されます。ちなみにプログラムとソフトウェアは同義です。 0.2.プログラミング言語 プログラミング言語とは、プログラムを開発するために用意された言語のことです。機械語・アセンブラ言語・高級言語などがあり、後者ほど人間に理解しやすいものとなっています。プログラム言語には複数種類あり、目的のプログラムに応じて使い分けられています。 機械語 CPUが直接解釈できる言語・データ列。0と1の並び(または16進数表現)で表現されているので、そのままでは人間には理解できません。CPU毎に異なるため、移植性も低いです。ただしIntelのPentiumやMotrolaの68000系など同系

  • コン基礎の教え方の宝庫(7) 堅苦しいアルゴリズム研修を盛り上げる

    コン基礎の教え方の宝庫(7) 堅苦しいアルゴリズム研修を盛り上げる 私はこうやって教えています~難解な技術をわかりやすく教えるコツ~ 新人研修で「アルゴリズム」を取り上げるIT企業が多くあります。聞いただけで逃げ出したくなるような堅苦しいテーマです。講師は、何とかして講座を盛り上げなければなりません。講座の導入部、楽しく学べる実習、ゴールとする課題、提出物など、私の経験上うまくいった方法を紹介しましょう。 実習でアルゴリズムとは何かを伝える 新人研修では、実習を多くすると盛り上がります。アルゴリズム研修の導入部でアルゴリズムとは何かを伝えるときも、実習を行うことをお勧めします。フローチャートの基的な図記号を教えてから、身近なことをフローチャートを描かせます。たとえば、起床してから会社に来るまでの手順、カレーを作るときの手順などをフローチャートに描かせるのです。 単にフローチャートを描かせ

    コン基礎の教え方の宝庫(7) 堅苦しいアルゴリズム研修を盛り上げる
  • 【コラム】IT資本論 (16) 8つのパラドクス - 隠れた資産のパラドクス(2) 知識資本を価値化せよ | 経営 | マイコミジャーナル

  • 素朴なBigtable、できること できないこと

    素朴なBigtable、できること できないこと:分散Key-Valueストアの命「Bigtable」(2)(1/2 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 あまりにもRDBとは異質な「Bigtable」 前回の「もう1つの、DBのかたち、分散Key-Valueストアとは」では、連載第1回目として、クラウドコンピューティングにおける新しい潮流である「リレーショナルデータベース(RDB)から分散Key-Valueストア(分散KVS)への移行」が、どのようなパラダイムシフトをもたらすのかを解説しました。今回からは、グーグルが運用する代表的な分散KVS「Bigtable」の内部構造を紹介し、クラウドの質をより深く掘り下げます。 前

    素朴なBigtable、できること できないこと
  • NTTデータが1000億円で米ITベンダーを買収

    NTTデータは2010年10月29日、米国のITサービス企業「キーン」(写真)の買収について、キーンならびに同社の株主代表と合意したと発表した。買収額は非公表だが1000億円強とみられる。買収完了時期は2010年12月を予定している。 NTTデータによれば、キーンは「総合的かつグローバルに提供しているITサービス企業」である。アプリケーションの開発・保守に加え、独SAPや米OracleのERP(統合基幹業務システム)パッケージの導入サービス、インフラ管理サービス、BPOサービスなどを提供しているという。 キーンの顧客は、公共系や金融系、製造企業や製薬企業など幅広い。商圏の中心は北米だが、欧州やアジアに及ぶ顧客を持つ。2009年12月期の売上高は約654億100万円。従業員1万2500人のうち、半数の6900人はインドのオフショア開発センターなどアジア圏で勤務する。設立は1965年で、社は

    NTTデータが1000億円で米ITベンダーを買収
  • Codian - はじめに

    更新日: 2007/12/20 動作確認環境:Windows XP Professional SP2, Visual C++ 6.0 Professional SP6 この講座って何? 「MFCがなくてもWindowsアプリケーションは作れます」 この講座は「ええっそうだったのっっ!?」という皆さんのためのものです。 最初のWindowsは1985年に作られました。これはVisual C++やVisua Basicが存在するずっと前になります。 Visual C++がないころ、Windows用のアプリケーションはC言語で作製していました。C言語はプログラミング言語のひとつで、Visual C++が使用している「C++言語」の祖先にあたる言語です。 そのC言語のプログラムから、Windowsの機能を操作するための関数、API(Application Programing Interface)

  • .NETによるOracle Database開発とは?(1/3) - @IT

    業務システムの構築において、使用する開発言語とデータベースの選定は、特に重要な事項の1つだろう。ここで業務システムの特性と合わないものを選んでしまったり、組み合わせを間違えたりすると、開発期間の長期化や稼働が不安定なシステムになるなどの問題が発生する可能性がある。 そこで特集では、開発言語「Visual Basic 2005/2008」とデータベース「Oracle Database 11g Release 1」の組み合わせが、実際どのような業務システムに対して、どれくらい有効なのかについて考えてみたいと思う。 ■.NETで、なぜデータベースが必要なのか? すごく基的なことだが、そもそも業務システムの構築にはOracle DatabaseSQL Serverなどのデータベース(製品)がなぜ必要なのだろうか。まずは、データベースがなかったころまで時代をさかのぼってみよう。 ●データベース

    pro17-15_166
    pro17-15_166 2010/10/25
    Accessのネットワーク対応
  • [資格・検定] All About|資格や検定をキャリアに活かすコツ

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    オリジナル4ビットCPUを用いてバイナリコードを学ぶ連載。第13回では、オリジナル4ビットCPU「DL166」にタクトスイッチやフォトセンサーをつないで、そこから得られる値をDL166で読み込めるようにする。