タグ

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

  • ゼロから学ぶC/C++言語:ITpro

    世の中にプログラミング言語は星の数ほどあるが,その中でもC言語とC++言語は依然としてとても大きな存在だ。プログラマを名乗る(あるいはこれからプログラマになることを志している)以上,やはり一度はC/C++言語をきちんと学んでおくべきだろう。 この連載では12回にわたって,C/C++言語の文法のポイントをわかりやすく説明していきたい。前半の6回ではC言語を取り上げる。データ型,式,関数,ポインタ,文字列操作などを説明していくことにする。後半の6回ではデータのカプセル化,クラスの継承,入出力処理,例外処理,テンプレートといったC++言語に関するトピックを取り上げる予定だ。みなさんも(たぶん)よくご存知のようにC++言語はC言語を拡張したものなので,まずはC言語を通じて基を学び,その後でC++言語で拡張された機能に関して学ぶ,という順序で進めていくことにしたい。 文法を説明するなどというと「お

    ゼロから学ぶC/C++言語:ITpro
  • 「お金儲けの話」は嫌いですか

    「日経ソフトウエアらしくない」。 やはり言われてしまいました。先日、発売された日経ソフトウエア2013年10月号で「プログラミングでお金を生み出す技52」という特集を私と安藤記者で担当しました。約6年ぶりに他部署から日経ソフトウエア編集部に帰ってきて、私が最初に企画した特集です。タイトルに「お金」と付くとどうしても下品な印象になってしまうのは仕方ないですね。 最初は、「お金を生み出すプログラミング」というのはタイトルだけで、実際には普通のスマホアプリやWebアプリの開発を解説する特集を考えていました。でも「それじゃダメ」と編集長からダメ出しをらってしまいました。「実際にプログラミングでお金を生み出す方法を片っ端から並べてほしい。できれば50個くらい」。かなりの無茶振りです。 最初はせいぜい10個、20個くらいしか出てこなくて苦労しました。でも考えているうちに、大きく三つのテーマがあること

    「お金儲けの話」は嫌いですか
  • 連載 よくわかるC言語----目次:ITpro

    この連載に目を止め,「読んでみようか」と思ってくれた皆さんは,これまで,どんなプログラム言語の経験があるでしょうか? 「JavaScriptなどのWeb系のスクリプト言語はよく使う」,「Visual BasicやJavaでアプリケーションを作っているのだけど,基を確認したくて…」,あるいは「連載1回目だし,これからプログラミングを学びたい」など,いろいろな方がいらっしゃると思います。 連載は,「C言語」というプログラミング言語の“定番”を通して,あらゆるプログラミングに共通する基礎となる部分を,じっくり解説していきます。初心者の方はもちろん,プログラミング経験のある方も自分の知識を再確認するのにきっと役立つと思います。 ・第1回 もう一度,C言語から始めよう ・第2回 変数の性質を理解しよう ・第3回 制御構文がわかればプログラムの「流れ」がわかる ・第4回 変数のスコープをアドレスを

    連載 よくわかるC言語----目次:ITpro
  • Windowsコマンド集:ITpro

    Windows Server 2003以外のKerberosサービスを同OSのActive Directoryのセキュリティ・プリンシパルとして構成

    Windowsコマンド集:ITpro
  • 第10回 ヘッダー・ファイルをのぞいてみよう

    Cのプログラム先頭付近に,“#”で始まる命令がいくつか固まって書かれていることがある。中でもよく見かける#includeは,拡張子“.h”の「ヘッダー・ファイル」をソースコードに取り込む命令だ。「取り込まれるヘッダー・ファイルの中には宣言や定義が記されている」などと,には書いてある。この宣言とか定義とは一体どのようなもので,どんな役割を果たしているのだろう? ヘッダー・ファイルと#で始まる命令について調査した。 Cのコンパイルは2段階に分かれている Cの,特にコマンドライン・インタフェースのプログラムには, #include <stdio.h> という1行が,半ば「おまじない」のように記述されている。もちろんこれはおまじないなどではないが,printfなどの関数やifなどの命令語とも違う。#includeや#defineのように,Cプログラムで使われる“#”の付いた予約語を「プリプロセサ

    第10回 ヘッダー・ファイルをのぞいてみよう
  • プログラミングの謎を解明する---目次

    C言語などを使ったプログラミングで登場する様々な概念と用語,例えば,「変数」「型」「演算子」「制御構造」「ポインタ」「配列」「構造体」...。これらは,なんとなくわかっているようで,実はあいまいな理解のまま使っていたりするものです。 連載では,調査と実験によって,これらのあいまいな部分を一つひとつ解明していきます。プログラミング言語を学び始めると次第に生じてくる“あいまいな謎”を,「すっきり&はっきり」させましょう。

    プログラミングの謎を解明する---目次
  • Google、大規模人工ニューロンネットワークを用いた研究成果を紹介

    Googleは現地時間2012年6月26日、同社研究チームの機械学習技術に関する研究成果を紹介した。脳をシミュレーションする大規模ネットワークを用いた新たな手法により、コンピュータがを認識する能力を自ら身につけることに成功したという。 現在、機械学習技術を新用途に適用させるにはたいへんな作業を必要とし、例えば車とバイクの写真を区別できるシステムを構築しようとする場合、標準的な手法ではまず「車」あるいは「バイク」のラベルを付けた多数の写真を集めなければならない。そしてこれらラベル付けしたデータを使ってシステムをトレーニングする。 しかしGoogleは、Web上や「YouTube」ビデオから無作為に画像を収集し、人間の脳などの神経回路網の学習プロセスをシミュレーションする人工ニューラルネットワークを構築してトレーニングした。 Googleによれば、機械学習に使われているほとんどの人工ニュー

    Google、大規模人工ニューロンネットワークを用いた研究成果を紹介
  • Part4 誰もがつまずくポインタを完璧理解

    C言語のポインタは難しいと言われます。しかし,ポインタについて覚えるべき文法は,それほど多くはありません。Cを勉強してきて,ポインタのところでつまずいたという場合でも「&や*などのポインタに関する文法はわかるのだけれど」という人は多いでしょう。むしろ,ポインタで難しいのは,その考え方にあります。 考え方さえわかってしまえば,ポインタはそれほど難しいものではありません。もしプログラムを読んでいて,ポインタの動作が理解できない場面があったら,そのポインタが「何の機能を実現するために使われているか」を考えてみることが理解につながります。この特集では,考え方に重点を置いてポインタを説明したいと思います。 Cではポインタは必須 読者の中には,JavaやC#,Perlなどのプログラミング言語を使っている人もいるでしょう。これらをはじめとする多くの言語では,ポインタというものは無いか,あったとしても,あ

    Part4 誰もがつまずくポインタを完璧理解
  • SEの達成感を伝えたくて「なれる!SE」を書いています、キャラには原型の人がいますよ

    IT業界にいたのは10年ほどです。最初は金融系のSIer(システムインテグレータ)に就職しました。ある金融機関のメインフレーム保守担当として、COBOLのプログラムを書いていました。 ただ、その顧客企業に特有の業務にばかり詳しくなってしまい、「技術者としてつぶしがきかなくなる」と感じたため、2~3年後に第2新卒でベンチャー企業に転職したんです。 その後は、外資系IT企業などいくつかの企業を転々としました。その間に、UNIXやLinuxなどのITインフラ、データベース、ネットワーク、アプリケーション開発など広範に体験させてもらいまいた。その後、いつのまにかラノベ作家になっていました。 いやいやいや、いつのまにかということはないでしょう。どのようなきっかけで作家に転向したんでしょうか。 実は、勤めていた外資系企業が、円高などの環境変化で受注が減り、社内で仕事がなくなってしまいまして……。時間が

    SEの達成感を伝えたくて「なれる!SE」を書いています、キャラには原型の人がいますよ
  • 第7回 ネットへのアクセス方法

    今回はJava からインターネットへアクセスする方法を見ていきます。ネットワーク・プログラミングの初歩を覚えれば, XMLファイル解析ツールやRSSリーダーなどを作成できるようになります。 皆さんこんにちは,kikainekoです。この連載では,日々の定型的な業務をJavaで自動化してラクする方法を紹介しています。 読者の皆さんが仕事でちょっと何か調べたくなったときには,インターネットにアクセスすることが多いと思います。筆者も,ネットなしでは仕事ができないと言えるくらいに,頻繁にインターネットにアクセスしています。実は多くの場合,ブログを読んでいるだけだったりするのですが…。 今までの連載では,すべて自分のマシンの内側で処理をこなしてきました。今回は,Javaを使って外の世界すなわちインターネットの世界に飛び出してみましょう! Javaを使ってWebサイトにアクセスしてみます。 ネットワー

    第7回 ネットへのアクセス方法
  • ITpro 総合トップ

    戸田覚のIT辛口研究所 ASUSの超高性能ノート「Zenbook S 16」、大画面で極薄ながらも残る課題

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

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

    プログラミングが楽しいと思えないのは悪いことなのか
  • 【5分で覚えるIT基礎の基礎】だれでも一度はアセンブラを学んでおこう! 第1回

    矢沢久雄 グレープシティ アドバイザリースタッフ プログラマであってもなくても,コンピュータに関わる人なら,だれでも一度はアセンブラを学んでいただきたいと思います。アセンブラは,コンピュータのハードウエア的な動作を生々しく記述するプログラミング言語です。アセンブラを学ぶことで,CPU(プロセサとも呼ぶ)の機能やOSの役割などが手に取るように見えてきます。すなわち,コンピュータに何ができるのかが分かるのです。 アセンブラとマシン語のことを「低水準言語」と呼びます。一方,COBOL,BASIC,Pascal,C言語,C++Java,C#などのプログラミング言語を「高水準言語」と呼びます。低水準とは,コンピュータの生の動作に近いという意味で,高水準とは,人間の感覚に近い(コンピュータの生の動作からは遠い)という意味です。高水準言語を使えば,コンピュータのハードウエアの知識がなくてもプログラムが

    【5分で覚えるIT基礎の基礎】だれでも一度はアセンブラを学んでおこう! 第1回
  • 衛星の位置を光で射す“ラピュタの飛行石”を作ろう(前編)

    「オープンソース」というとLinuxやApacheといったソフトウエアを思い浮かべることが多いですが、最近「オープンソースハードウエア」が注目を集めています。公開された仕様を基に安価なマイコンボードが発売されていて、電気系の専門知識がなくても簡単なプログラムを書き込むだけで、独自のネット対応デバイスを製作できます。接続したセンサーの入力に応じて、LEDの点灯やモーター制御、無線通信、インターネット連携などが実現可能です。 最も人気がある小型ボード「Arduino」は3000円前後と安価です(写真1)。CやJavaに似た簡易な言語でプログラムを作成できる開発環境が整備されており、世界中のユーザーが作成したライブラリも豊富です。わずかなコードで様々なハードウエアを制御できます(図1)。 筆者はこのArduinoを使って、宇宙空間を飛行している国際宇宙ステーション(ISS)の位置をレーザーで指し

    衛星の位置を光で射す“ラピュタの飛行石”を作ろう(前編)
    tyosuke2011
    tyosuke2011 2015/03/22
    ラピュタ?
  • 【 固定IPアドレスを設定する 】

    IPアドレスを設定する場合は,ifconfigコマンドを利用する。設定したいネットワーク・カード(例えばeth0),IPアドレスの順に指定する。なお,ifconfigコマンドによる変更はLinuxの再起動により初期化されるので,恒常的に変更したい場合は設定ファイル(Red Hat Linux系は下記を参照,Debian GNU/Linux系では/etc/network/interfaces)を編集する必要がある。 Red Hat Linux系のディストリビューションでeth0のネットワーク・カードに対して固定のIPアドレスを指定する場合は,/etc/sysconfig/network-scripts/ifcfg-eth0をテキスト・エディタで編集する。以下は設定例。 DEVICE=eth0 ← ネットワーク・インタフェース名 BOOTPROTO=static ← 固定IPアドレスの場合の指

    【 固定IPアドレスを設定する 】
  • お役立ちフリーソフト一覧

    今日では,実に様々なソフトウエアを無料で入手して利用できるようになっています。そこで,プログラミングに直接関係あるツールだけでなく,Windowsを快適に使うためのソフトや3次元グラフィックス作成ツールなど,広い意味での「ソフトウエアを作る環境を楽しくするフリーソフト」を集めてどーんと紹介します。 1日1のペースで,100以上のソフトウエアを紹介する予定です。 なお,日経ソフトウエア2008年6月号では,特集連動付録DVD-ROMとともに,総力特集「プログラムにすぐ役立つ! フリーソフト特選170」をお届けしています。プログラミングに便利な,あるいはパソコンにインストールしておくとかなり役立つソフトウエアを付録DVD-ROMに収録しています。 ●Windows環境整備 毎日使うWindows環境を快適に!! Fire File Copy 巨大なファイルを高速コピー 窓の手 Window

    お役立ちフリーソフト一覧
  • LinuxでWindowsアプリを動かすWineに新版、MS Office 2010が導入可能に

    Wineプロジェクトは2012年3月7日、オープンソースのWindows互換レイヤーソフト「Wine」のバージョン1.4を公開した。バージョン1.2以来、1年8カ月ぶりのバージョンアップとなる。 Wineは、LinuxやFreeBSD、SolarisなどのUNIX系OS上でWindowsアプリケーションを動かすためのソフトだ。OSにWindows互換機能を追加し、Windowsアプリケーションをそのまま動作させるもの。具体的には、アプリケーションからのWindows APIの呼び出しをWineが提供するライブラリの処理に置き換えている(図1)。仮想的なPC環境上でWindows(ゲストOS)を動かす仮想化ソフトとは異なる。エミュレーションではなく、Wineは“Wine Is Not an Emulator”の略でもある。 このため、すべてのアプリケーションが動作するわけではないが、動作する

    LinuxでWindowsアプリを動かすWineに新版、MS Office 2010が導入可能に
  • 刺激を求める技術者に捧げるScala講座---目次

    連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)

    刺激を求める技術者に捧げるScala講座---目次
  • 2012年版「いる資格、いらない資格」

    ITベンダーの技術者と営業担当者、ユーザー企業のシステム部員が、情報システムの分野で活躍するために必要な専門スキルは何か――。日経コンピュータは「2012年版 いる資格、いらない資格」調査を実施し、その答えを探った。 ユーザー企業189社のシステム部長、ITベンダー75社の人事担当者、そして1000人を超える技術者やシステム部員らの回答結果から、2012年にあなた自身が磨くべきスキルと、取得すべき資格を見つけ出そう。 目次

    2012年版「いる資格、いらない資格」
  • 新人SEのための楽しく学ぶアルゴリズム---目次

    Visual Basicに代表される開発ツールの普及により,あらかじめ用意されたソフト部品を組み合わせれば,それなりのプログラムは作れるようになってきた。でも,それだけで大丈夫だろうか? もしあなたがSEやプログラマを目指すなら,どんなにツールの使い方を極めても,きっと不安が残るはずだ。不安を取り除くために,プログラミングの中核となるアルゴリズムを楽しく学習していこう。 第1回 アルゴリズムとは?(1) 第1回 アルゴリズムとは?(2) 第1回 アルゴリズムとは?(3) 第1回 アルゴリズムとは?(4) 第1回 アルゴリズムとは?(5) 第2回 データ構造(1) 第2回 データ構造(2) 第2回 データ構造(3) 第2回 データ構造(4) 第2回 データ構造(5) 第3回 シミュレーションと再帰(1) 第3回 シミュレーションと再帰(2) 第3回 シミュレーションと再帰(3) 第3回 シミ

    新人SEのための楽しく学ぶアルゴリズム---目次