ページ

2012/01/31

[競技プログラミング][C言語][AOJ10001]X Cubic

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10001

X Cubic

1つの整数 x を読み込んで、x の3乗を計算し結果を出力するプログラムを作成して下さい。

Input

入力として1つの整数 x が与えられます。

Output

x の3乗の計算結果を1行に出力して下さい。最後の改行を忘れないようにしましょう。
回答:vol100/AOJ10001.cpp at master from wada811/AOJ - GitHub
語ることのないくらい基本中の基本。
逆に言えばプログラミング覚えたてでも腕試し的に楽しめる。
初心者にもオススメですよ!

2012/01/30

[競技プログラミング][C言語][AOJ10000]Hello World

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10000

Hello World

AIZU オンラインジャッジへようこそ。

Volume 100 の問題セットは、プログラミングを始めたばかりの方向けの初級問題のみを含みます。各問題にはヒントや解説が与えられています。この Volume の問題に対する提出の判定結果はランキング等に影響しないことに注意して下さい。この Volume である程度力を付けたら、他の Volume の問題にチャレンジしてみましょう。

まずは、慣例に従って Hello World を作成しましょう。

"Hello World" と出力するプログラムを作成して下さい。
以前の記事(DevAchieve: AIZU ONLINE JUDGE(AOJ)で競技プログラミング始めます)で言っていた通り、
AIZU ONLINE JUDGEのvol100から始めました。最初は"Hello World"を表示するという簡単なものです。

でも実は一回失敗しました。
"はろーわーるど"は、間にカンマを含む"Hello, World"が一般的だと刷り込まれていたので
無意識にカンマを入れてました。あと地味に最後に改行するのも…。
仕様はちゃんと読まなきゃいけませんね!><
AOJでは出力するときは必ず改行が必要みたいですが忘れやすいので注意です。

ソースは先日(Windows7 64bitでGit/GitHubを始める)で導入したGitHubに置きました。
回答:vol100/AOJ10000.cpp at master from wada811/AOJ - GitHub
拡張子はcppですが、Visual C++ 2010 Expressで書いてるのでcppなだけで、
実際はC言語だけでやっています。

それではまた明日。

2012/01/27

Windows7 64bitでGit/GitHubを始める

先に言ってしまうとWindows7 64bitだからといってほとんど違いはありません。
まずはWindowsでGitを使うためにMSysGitというものをインストールする必要があります。
以下のサイトでGit-*.*.*-preview********.exeをダウンロードしします。
Downloads - msysgit - Git for Windows - Google Project Hosting http://code.google.com/p/msysgit/downloads/list

このようなアイコンのやつを実行すると
セットアップウィザードが開きます。
ライセンスに同意します。
保存場所を指定します。
空白とか日本語が含まれるフォルダに
保存するのは何か問題が起きそうで
怖いのでCドライブ直下にでも。
64bitだとContext menu entriesの方が
選択されている。違いはこれだけかと。
今インストールしているやつに
Git GUIというのも入っているから
使うならGit GUI Here のチェックが
必要になるようだ。

それとは別にTortoiseGitという
GitのGUIツールがあり、
それを使うなら同じく要チェック。
TortoiseGitとGitHubの連携を
試みたけど上手くいかなかった。

頑張ってGitコマンド覚えよう!
スタートメニューに追加
普通は"Use Git Bash only"にしておいた方が良いとか。(参考:Windows版git & TortoiseGit のインストール - Linux & Development Diaries)
チェックアウト時の改行コードの設定。
「何もしない」の一番下が良いとか。
(参考:Windows版git & TortoiseGit のインストール - Linux & Development Diaries)
セットアップウィザードの終了。

次はいよいよGitHub


Plans & Pricing - GitHub
無料アカウントでも登録してみる。
適当に登録したら
Set Up Gitに飛ばされるけど
Git のインストールは済んでいるので
Help.GitHub - Set Up SSH Keysに飛ぶ。
SSHのキー作成が初めてだったり、
何のことだかわからなかったら、
3. Generate a new SSH key.から先を
Git Bashという黒い画面のやつで実行。

GitHubにリポジトリを作る

Your Dashboard - GitHubにアクセスしたら中段に大きく、Create A Repo とかあるので、
そこに沿ってリポジトリを作成する。英語は割と無視してコマンドとスクリーンショットを真似すれば良い。
作成したら README ファイルが作成されたはずなのでGitHubから自分のリポジトリのページを開く。
READMEをクリックしてEdit this fileとかのボタンを押して編集して保存なんてことをしてみる。
ここでいくら変更してもローカル(自分のPC)のREADMEファイルには変更が反映されない。
エディタなどでも開いても中身のないファイルのままのはず。

GitHubでの変更を反映するには

pull(プル)という動作をする必要がある。
Git Bash(黒い画面のアレ)で"git pull"してやるとGitHubでの変更がローカルのリポジトリに反映される。

GitHubに変更を反映するには

ローカルリポジトリに追加
git add ファイル名

コミット
git commit -m 'コメント'

GitHubに反映
git push -u origin master

練習だと思ってREADMEにこれらのコマンドを書いてGitHubに反映してみよう!
使い始めはコマンドを忘れやすいのでリポジトリのREADMEに書いておくと便利。入門git

とりあえず超初心者なユーザーはこれで十分かも。
もっと使いこなしたかったり詳しく知りたかったら右の書籍がオススメかも。

使い始めで理解が浅いから大した解説出来なかったけど、この記事が役に立つと良いな。
ということで、Git/GitHub始めました。wada811's Profile - GitHub
AIZU ONLINE JUDGEの回答載せてます。wada811/AOJ - GitHub
良かったらフォローしてください。

2012/01/25

AIZU ONLINE JUDGE(AOJ)で競技プログラミング始めます

AIZU ONLINE JUDGEとは

AOJ - オンライン プログラミング チャレンジ
オンラインジャッジとは
オンラインジャッジとは、ユーザから提出されたプログラムの正しさ・効率を
自動で判定するオンラインシステム(WEB アプリケーション)です。
24時間インターネットからサイトにアクセスし自由に自主学習する・遊ぶことができます。
サイトには、多くの問題が掲載されています。各問題に対するプログラムのソースを提出すると、
「問題の仕様から考えられる入力に対して正しい出力を行っているか」、
「指定された資源(CPU 時間、メモリ使用量)で処理を行っているか」を
厳格な審判データと検証器で自動判定を行います。サイトには多くのユーザが登録しています。
他の人と問題数や処理速度で競うこともできます。
AOJ チュートリアル (PDF注意) http://judge.u-aizu.ac.jp/onlinejudge/aoj_tutorial.pdf

日本語でできる競技プログラミングです。
競技プログラミングとは…明確な定義は知らないですが以下のように考えています。
与えられた問題に対してプログラムを書き、その正しさ・効率を競うこと。
何かを作りたいものがなくてもプログラミングしたいという人には
適切な問題を提示してくれるAOJはオススメだと思います。
日本語でわかりやすいし、ヒントもあり、初心者でもできる!
(初心者向けのVolume 100の最初の問題は"Hello World"を表示するというモノ!)

ひよっこプログラマーなのでVolume100から始めたいと思います(^o^)/
まずは少し使ったことのあるC言語でVolume100を終わらせ、
その後、ちゃんとやったことのないJavaでVolume100をやりたいと思います。
平日夜9時に一回ずつ解答を晒していく連載を始めます。

2012/01/20

Webの未来、Web Intentsのページを日本語訳してみた

Web Intentsとは

Google、複数のWebアプリでのコンテンツ編集を可能にするAPI「Web Intents」を立ち上げ - ITmedia ニュース
米Googleは8月4日(現地時間)、写真や文書などのオンラインコンテンツを多様なWebアプリで閲覧・編集・共有できるようにすることを目指すプロジェクト「Web Intents」を立ち上げたと発表し、APIを公開した。
同社のモバイルプラットフォームであるAndroidでは、既に「インテント」によってコンテンツを扱うアプリを呼び出せるようになっているが、Web Intentsは、この機能をWebアプリ向けに、より充実させたものになるという。
InfoQ: Web Intent: GoogleによるWebアプリ連携メカニズム
Google Chromeチームが Web Intentをリリースした。これはサードパーティサービスのカスタムAPIを使わずに、Webアプリケーションを連携可能にするAPIだ。Web IntentはAndroidのIntentのWeb版に相当するもので、実行時遅延バインディングを使ってアプリケーションとサービス間の疎な結合を可能にする。Web Intentはユーザフレンドリーな仕組みを提供することで、ユーザ自身によるサービス連携をコントロール可能にする。これにより、開発者の仕事も楽になる。
簡単にいえば、Web上でAndroidみたいにアプリ間の連携ができる凄い仕組みです。
Intentの仕組みを知り、Androidにハマった身としてはWeb Intentsはかなりアツい技術です。
公式ページはこちら:Web Intents : http://webintents.org/
今回はコチラのトップページと中段にあるDefault Intentsの各ページを日本語訳しました。

Web Intents http://webintents.org/

導入

ユーザーは、画像を共有する、ドキュメントを編集する、音楽を聞く、のような日々のタスクを処理するためにWeb上で多くのことなるサービスを使う。
ユーザーはそれらのアプリケーションがお互いにシームレスに接続され、動くことを期待する。

あらゆる新しいサービスを予測し、ユーザーが好むあらゆる存在する外部サービスと一体化することは開発者にとって不可能だ。
したがって、開発者にとって莫大な費用で数少ない選ばれたAPIと一体化することを選ばなければならない。

Web Intents はこれを解決する。
Web Intents はクライアント側のサービスの発見とアプリケーション間の通信のためのフレームワークである。
サービスはユーザーの利益になるようにアクションを処理できるインテンションを登録する。
アプリケーションは特定の動詞(共有、編集、閲覧、選択、など)のアクションをスタートする要求をし、
システムはユーザーの設定に基づいたユーザーが使うための適切なサービスをみつけるだろう。

Web Intents はユーザーをサービス統合のコントロールに置き、開発者の生活を簡単にする。

API

Web Intent API はシンプルに使うことが出来る。
サービス開発者は、サポートするつもりのインテントと、受け取ったデータでしたいことを定義する。
クライアントアプリケーションは単純に、与えられたパラメータで新しいアクションをプログラムを起動する。

インテントの登録

<intent
  action="http://webintents.org/share" 
  type="image/*" 
  href="share.html"
  disposition="window|inline"
 />

action

必須: 実行したいアクションを説明する動詞

type

オプション: タイプはフィルター

href

オプション: 指定されている場合、それはユーザーがサービスを選択した時に読み込まれているアクションを指すようになる。
未定義の場合、現在のページを使う。

disposition

オプション: 指定されている場合、それは"window"か"inline"のどちらかになる。
指定されていない場合、"window"がデフォルトになる。
"inline"が提供された時、サービスページはピッカーとして同じコンテクストで開かれる。
"window"の値は、新しいコンテクストでサービスを開く。

呼び出し

var intent = new Intent("http://webintents.org/share", 
  "text/uri-list", 
  "http://news.bbc.co.uk");
window.navigator.startActivity(intent);

デフォルトインテント

我々は、大多数のアプリケーションとサービスが使うことを望むデフォルトインテントの一式を照合する。
インテントを定義するために使われるスキーマURLは、自己文書化するようにデザインされている。

JavaScript Shim

これは根本的に新しいプラットフォームの機能で、どのブラウザでも実装されていない。
補正して、今日のリッチなアプリケーションを構築できるように、我々はAPIの互換性のあるJavaScriptシムを構築している。

始めることは簡単で、あなたのサイトに以下のコードを追加するだけだ。
現在、IE8, IE9, FF 3以上, Chrome 5以上, Safari を利用するユーザーが Web Intents の機能性を使うことができる。

<script src="http://webintents.org/webintents.min.js"></script>

コントリビュート

あなた自身がシムのホストしたい場合、the code repositoryに訪れてください。
議論に参加したい場合は、 Google Groupに参加して下さい。

拡張

インテントは、システムにハードコードされているどちらでもなく、アクションとデータタイプに基づいてマッチされている。
これは拡張やカスタマイズを簡単にする。
例えば、アクションの動詞がアクティビティストリーム"post"で、データタイプがアクティビティストリームオブジェクトのタイプの"audio"であってもよい。


以上がトップページの日本語訳です。
間違いや何か気になることがあったらコメントなどで指摘して下さい。

2012/01/18

Bloggerの記事フッターにGrow!ボタンを設置する方法

Grow!って何?って方は以下のページに少し説明を書いたので見てください。
DevAchieve: Web上でチップが貰えるぞ!噂のGrow!をBloggerに設置する方法

ここでは上の記事で出来なかった記事フッターへのGrow!ボタンを設置を行いたいと思います。
ブログのトップページなど一つのページにいくつもGrow!ボタンを表示する場合には
チュートリアル(Grow!ボタン設置者向け) | Grow! Blogを見れば良いのですが、
ここにあるコードは spanタグの itemscope に属性値がないため、XHTML的には正しくないので
Bloggerのテンプレート編集機能にエラーとしてハネられてしまいます。
(あと地味にダブルクォーテーションが全角になっているというトラップ付き)(昨日報告したから訂正されるはず!)

Blogger用Grow!ボタン設置用コード

Blogger設定画面→テンプレート→HTMLの編集→ウィジェットのテンプレートを展開にチェック
以下のScriptタグを</body>の直前に置く。(</head>直前でも動くだろうと思ったら大間違い…!)
<script src='http://growbutton.com/javascripts/button.js?apikey=xxx&amp;insert=false' type='text/javascript'/>
</body>
apikey は xxx になっているので、あなたの取得した API Key に書き換えて下さい。

記事フッター(post-fotter)の下辺りに以下のソースを追加する。
<div class='post-footer'>
...
<span itemscope='itemscope' itemref='rectangle' itemtype='http://growbutton.com/ns#button' style='display: none;'><span itemprop='url'><data:post.url/></span><span itemprop='title'><data:post.title/></span></span>
変更点
ダブルクォーテーションをシングルクォーテーションに変更
itemscope に属性値として itemscope を設定

ちなみにDevAchieve: Web上でチップが貰えるぞ!噂のGrow!をBloggerに設置する方法で設置した
右上のGrow!ボタンはコードを変更しなくても問題なく表示されるので、そのままで共存できるようです。

以上で各記事のフッターにGrow!ボタンを設置することが出来ました。
もし良かったらこの記事の方法で設置したGrow!ボタンでLet's Grow!(`・ω・´)↓↓↓↓

2012/01/17

Bloggerの人気の投稿にTweet&はてブカウンターを表示させる方法

右の画像のように人気の投稿にTweetカウンターと
はてブカウンターが表示されていたら、
どれくらい人気なのかわかりやすくていいですね。
見に来てくれた人も人気の具合がわかって便利ですし、
凄く人気ならその記事に興味を示してくれるかもしれません。

ということでBloggerの人気の投稿をカスタマイズしましょう。

Blogger設定画面

テンプレート

HTMLの編集

ウィジェットのテンプレートを展開にチェック

エディタなどで popular-posts を検索

人気の投稿で選択されている設定によって4パターンに分かれます。
  1. 抜粋/サムネイルなし
  2. 抜粋のみ
  3. サムネイルのみ
  4. 抜粋/サムネイル両方
しかし、やることは基本的には全て同じです。
自分の設定に当てはまるパターンを探して、このリンクタグを見つけます。
<a expr:href='data:post.href'><data:post.title/></a>
上のリンクタグの直後に以下のコードを追加します。
<div class='item-counter'>
<a expr:href='"http://tweetbuzz.jp/redirect?url=" + data:post.href'><img expr:src='"http://tools.tweetbuzz.jp/imgcount?url=" + data:post.href'/></a>
<a expr:href='"http://b.hatena.ne.jp/entry/" + data:post.href'> <img alt='はてブ' expr:src='"http://b.hatena.ne.jp/entry/image/" + data:post.href'/></a>
</div>
後はお好みで item-counter クラスのCSSを指定してください。

関連リンク
TweetBuzz - Tweetカウンター
はてなブックマーク > ヘルプ > 自分のブログに「○○users」を表示する

2012/01/16

Web上でチップが貰えるぞ!噂のGrow!をBloggerに設置する方法

Grow!って何?

お気に入りのコンテンツにボタンを通じてチップを贈り、コンテンツ製作者を支援すると同時に
それを友人と共有するSocial Tipping Platform ソーシャル チッピング プラットフォーム
らしいです。詳しくはこちら。
ここではGrow!でチップを貰うためにBloggerに設置する方法を説明します。
<script type='text/javascript' src='http://growbutton.com/javascripts/button.js?apikey=xxx&shape=rectangle'></script>
Blogger設定画面

レイアウト

ガジェットを追加

HTML/JavaScriptを選択

上のコードをコピー

apikeyxxx からあなたのAPI Keyに書き換える

ガジェットに貼り付けて保存

以下のように表示されたらOK!!


元のコードからの変更点は以下の通り。
タグ内のダブルクォーテーションをシングルクォーテーションへ書き換え
&を&amp;へ書き換え

本当は各記事に設置したかったんだけどGrow!から提供されたタグがXHTML的に invalid なタグで、
Bloggerのテンプレート編集機能が受け付けてくれなかったから諦めました。
FC2ブログも持っているので設置してみたけど何故か上手く行かなかったです。
ということで今のところは上記の方法でサイトに一つ設置するので我慢しましょう。
始まったばかりのサービスだからこれからに期待ということで。

追記:記事フッターにも設置できました!DevAchieve: Bloggerの記事フッターにGrow!ボタンを設置する方法

よろしければGrow!ボタンを押して下さいな(*´ω`*)

それではー

Bloggerの記事フッターに各種ソーシャルボタンを設置する方法

はてなブックマーク、Facebook、Twitter、Google +1のボタンを設置したいと思います。

Blogger設定画面→テンプレート→HTMLの編集→ウィジェットのテンプレートを展開にチェック
まずははてなブックマーク、Twitter、Google +1のScriptタグを</body>の直前に置きましょう。
コードの部分をダブルクリックすると全選択できるのでコピーして下さい。
<script async='async' charset='utf-8' src='http://b.st-hatena.com/js/bookmark_button.js' type='text/javascript'/>
<script src='http://platform.twitter.com/widgets.js' type='text/javascript'/>
<script src='https://apis.google.com/js/plusone.js' type='text/javascript'>{lang: 'ja'} </script>
...
</body>

次に記事フッター(post-fotter)の下辺りに以下のソースを追加しましょう。
<div class='post-footer'>
...
<a class='hatena-bookmark-button' data-hatena-bookmark-layout='standard' expr:data-hatena-bookmark-title='data:blog.title + ": " + data:post.title' expr:href='"http://b.hatena.ne.jp/entry/" + data:post.url' title='このエントリーをはてなブックマークに追加'><img alt='このエントリーをはてなブックマークに追加' height='20' src='http://b.st-hatena.com/images/entry-button/button-only.gif' width='20'/></a>
<iframe allowTransparency='true' expr:src='"http://www.facebook.com/plugins/like.php?href=" + data:post.url + "&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;height=21"' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:100px; height:21px;'/>
<a class='twitter-share-button' data-via='' data-count='horizontal' data-lang='ja' expr:data-text='data:blog.title + ": "+ data:post.title' expr:data-url='data:post.url' href='http://twitter.com/share'>Tweet</a>
<g:plusone expr:href='data:post.url' size='medium' />
一行目:はてなブックマーク(はてなブックマークボタンの作成・設置について)
二行目:Facebook(Like Button - Facebook開発者)
三行目:Twitter(data-viaをあなたのアカウントに設定する必要がある)(Twitter / Twitterボタン)
四行目:Google +1(+1 ボタン)

関連:DevAchieve: ツイートボタンをカスタマイズして「@~さんから」を非公式RT形式にする

2012/01/15

雨後の竹の子のように増え続ける読書管理Webサービス

最近また新しい読書管理サービスが出てきたようでTLに流れてきたから
Twitterで登録できるらしいので登録してみました。
ブクレコ「読んだ!?」でつながるソーシャルブックレビューってやつです。
「ブック」と「レコメンド(推薦)」「レコード」を掛け合わせた造語だそうです。
個人的にトップページがすっきりしていてわかりやすいのと
青色を基調とした配色が好みです。
すぐにブクログのパクリだな、と思いましたが、
調べてみると読書管理Webサービスってのは色々あるんですね。

雨後の竹の子のように増え続ける読書管理Webサービス

いろんな読書管理サービス - 宵の徒然によくまとまっています。
正直色々ありすぎて電子マネーみたいになっててちょっと勘弁して欲しいです。

今はブクログ - web本棚サービスをメインに使っててブログで紹介するときも
紹介用リンクコードが自動生成されるのでコピペしています。
以下の記事でブクログで何ができるかを簡潔にまとめられています。
読書管理サービスの比較(ブクログ/読書メーター/メディアマーカー) - YUKI14の日記
ブクログは自分用に登録して管理するのは凄く使く、レビューも充実しています。
ログインがTwitterやFacebook、mixiのIDで出来るので始めるのは簡単です。

が、それだけ。
タイムラインはあるんだけど他のユーザーが出てくるようなシーンが無いので
新たに誰かをフォローしようという流れにはならない。
結果、ソーシャル性は極めて低いと思われる。
そのあたりは以下の記事で詳しく述べられているのでそっちを見てね。
読書管理サービスを比較する-ブクログと読書メーターを、
主にソーシャル性の設計を軸に。 - ブログタイトルが決められない


個人的には読んだ技術書の管理とレビューの閲覧が最低限欲しくて、
ついでに他の人が読んだ技術書についても情報が入ってくるサービスが欲しいです。
ブクログはこの最後の部分でちょっと物足らないのでどうにかして欲しいです。

ブクレコはソーシャル性が高そうなのでその点に期待していますが…。
ユーザーページのURLが数値で管理されているとか致命的な気がします。
自分のIDとなる数値を簡単にしる方法がないっぽいですし、
マイページがhttp://www.bookreco.jp/my/users/accountとなっているので
これが私の本棚だよ!と外部にリンクを貼ることができません。
コレは重大な設計ミスなような気がしますがどうですかね。
気になるあの人がブクレコやってるかなってID決め打ちでアクセスできないですし。
少し微妙な気がします。後発なのにもったいないです。

今この記事を書いている間に気がついたんだけど
書籍詳細ページがISBNですらない謎の数値でのURLになっていて、
さらに、ログインしていないと閲覧すらできない仕様…。
なぜ後発なのにもっと上手くやれないんだ、と小一時間(ry
商品に一意に決まる値としてISBNがあるんだから上手く使えば
簡単なURL書き換えだけで使いやすくできたのに…。

別にブクレコをdisるつもりじゃなかったのにどうしてこうなった\(^o^)/
公平にちょっと感想でもって思った結果がコレだよ!
ということでこの辺で。
それでは。

[書評]ネットワークはなぜつながるのか 第2版
知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ネットワークはなぜつながるのか 第2版
知っておきたいTCP/IP、LAN、光ファイバの基礎知識

戸根 勤
日経BP社
発売日:2007-04-12
ブクログでレビューを見る»
ブラウザからURLを入力してウェブページを表示するまでの流れから
ネットワークがどのように繋がっているのかを説明した本です。
実際の流れで説明しているので体系的でわかりやすいと思います。
惜しむらくは図と説明文がページをまたいでいて
何度もページを行き来しなくてはならないことが多かったことです。
また、後の章で説明するという注釈が多いことも少しマイナスでした。
それぞれの項目に対しては知っているが全体を通してどのように関連しているのか
理解できていない人には丁度よい本だと思います。
基本情報技術者試験のテキストに載ってるレベルの理解度の俺には
いきなり細かいところまで説明されてもツラいものがあったです…。
最初と最後に全体の流れの簡単なまとめがあるから
とりあえずはそれだけ知っておけばいいかなとは思っています。
必要になったらまた読んで勉強しようと思います。

それでは。

[書評]プログラムはなぜ動くのか 第2版
知っておきたいプログラムの基礎知識

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
矢沢久雄
日経ソフトウエア
発売日:2007-04
ブクログでレビューを見る»
プログラムとハードウエアの関係性を説明した本です。
基本情報技術者試験を受けるなら基礎知識として知っておきたい内容です。
計算機科学的な内容と基本情報技術者試験に関係あるような内容の本です。
情報処理推進機構:情報処理技術者試験

情報処理技術者試験とは

情報処理技術者試験は、「情報処理の促進に関する法律」に基づき経済産業省が、情報処理技術者としての「知識・技能」の水準がある程度以上であることを認定している国家試験です。
情報システムを構築・運用する「技術者」から情報システムを利用する「エンドユーザ(利用者)」まで、ITに関係するすべての人に活用いただける試験として実施しています。特定の製品やソフトウェアに関する試験ではなく、情報技術の背景として知るべき原理や基礎となる技能について、幅広い知識を総合的に評価しています。
基本情報技術者試験 [ Fundamental Information Technology Engineer Examination ]
対象者像:高度IT人材となるために必要な基本的知識・技能をもち、
              実践的な活用能力を身に付けた者
ということでプログラマなら取っておかなければならない資格のような気がします。
対策本を読んで過去問を解けばできないことはなさそうですが、
しっかりとした理解なしに資格を取得しても価値がないと思うので
こういう本を読みながら基礎知識を蓄えているところです。

以下は役に立ちそうなリンクなど。
情報処理推進機構:情報処理技術者試験
 午前午後
試験時間9:30~12:00(150分)13:00~15:30(150分)
出題形式多肢選択式(四肢択一)多肢選択式
出題数
解答数
出題数:80問
解答数:80問
出題数:13問
解答数:7問
情報処理推進機構:情報処理技術者試験:試験要綱・シラバス・過去問題 など
[Web問題集] 基本情報技術者/応用情報技術者/ITパスポート - 気軽に資格学習 [無料]

[書評]コンピュータはなぜ動くのか
~知っておきたいハードウエア&ソフトウエアの基礎知識~

コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~
矢沢 久雄,日経ソフトウエア
日経BP社
発売日:2003-06-02
ブクログでレビューを見る»
プログラマになるなら知っておくべき基礎知識を広く浅く説明した本です。
プログラマになりたい大学生などにはオススメでしょう。
新人研修の内容が理解出来ない場合にちょうどいいレベルかも。
ITパスポートや基本情報技術者などの資格を取る前に読んでおけば
試験対策本を丸暗記、みたいにならなくて済むかと思います。
次の記事で紹介するプログラムはなぜ動くのかも読んでおくと良いでしょう。

それでは。

[書評]良いコードを書く技術 読みやすく保守しやすいプログラミング作法

良いコードを書く技術 -読みやすく保守しやすいプログラミング作法
縣 俊貴
技術評論社
発売日:2011-04-09
ブクログでレビューを見る»
良いコードを書くためのHow-to本です。
とっつきやすく読みやすいため2時間ほどあれば読み切れます。
本書P.15-16に書かれていることがこの本に対する全てです。
本書で基礎を理解したら原典と呼ばれる良書を読みましょう。
幸い、本書の付録には解説付きの参考文献が載っているので
次に読むべき本について戸惑うことはないでしょう。
色々なレビューにあるように「内容が薄い」と感じられるのは、
もう既にある程度良いコードを書けているから
期待に沿うような目新しい技術に出会わなかったからなのでしょう。

悪い本ではないのですが過度の期待を持たせすぎて
Amazonでは低い評価になっていますね。

「普通のプログラマになりたいひよっこプログラマのためのステップアップガイド」と
帯の文章を変えればちょうどいいかもしれません。
大学の情報科1年とかIT系専門学校の生徒が読めば得るものは多いでしょう。きっと。

参考文献がわかりやすく解説付きで載っているのでそちらを読むべきです。
どの本も原典と呼ばれるような良書なので深い理解が得られるでしょう。
一部抜粋して以下にリンクを貼っておきます。

それでは。

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)
Code Craft ~エクセレントなコードを書くための実践的技法~
Code Craft ~エクセレントなコードを書くための実践的技法~
Code Complete第2版〈上〉―完全なプログラミングを目指して
Code Complete第2版〈上〉―完全なプログラミングを目指して

[書評]WEB+DB PRESS 総集編 [Vol.1~60]

WEB+DB PRESS 総集編 [Vol.1~60]
森田 創,cho45,ミック,増井 俊之,山本 陽平,角谷 信太郎,
中島 拓,縣 俊貴,大塚 知洋,伊藤 直也,小飼 弾
技術評論社
発売日:2011-10-15
ブクログでレビューを見る»
各号の目次と書きおろしエッセイ「Topエンジニアが伝えたいこと」を読みました。
10年分のバックナンバーということでもはや古い内容もあるでしょうが、
この十年のWebを知るにはちょうどいいと思っています。
書きおろしエッセイも読む価値アリだと思います。

ちなみにバックナンバーは誤植訂正済みらしいです。
前に買ってから結構な積読期間があったんですが
こういうのを読んで感想を書ける場所(ココとかブクログとか)を手に入れて
調度良かったのでとりあえず冊子の方には目を通しました。

後はPDFに収録されている以前の総集編も読みました。
これからちょっとずつ毎号読んでいって感想を書こうかなと思っています。

それでは。

2012/01/14

[書評]Web標準の教科書―XHTMLとCSSでつくる“正しい”Webサイト

Web標準の教科書―XHTMLとCSSでつくる“正しい”WebサイトWeb標準の教科書―XHTMLとCSSでつくる“正しい”Webサイト
益子 貴寛
秀和システム
発売日:2005-07
ブクログでレビューを見る»
今から読むには少し内容が古くなっているのですが
趣味でHTML/CSS弄ったことがある程度の人は
一通り読んで理解を深めておいた方がいいかもしれません。
基礎があってこその応用ですから、この本を読んでから
HTML5/CSS3を勉強したほうがいいと思います。

HTML5/CSS3が少し落ち着いたらまた同様の本を出して欲しいですね。
一昨日、ブクログ - web本棚サービスに登録してみて、
ちょうど今日読み終わった本があったのでレビューなんかも書いてみました。
ブクログだと他の人のレビューが簡単に読めるので便利でいいですねー
ちなみにwada811の本棚(wada811)でwada811の登録した本を見ることができます。
IT系の技術書を登録して読んだらレビューしていくつもりです。
もし良かったらフォローして下さい。
ブクログはTwitterやFacebook、mixiのアカウントでログイン出来るのでお手軽ですよ。

と、本についてはレビューに書いちゃったのでブクログの宣伝になってしまいました。

それでは。

2012/01/08

開拓して実現させる技術系ブログ「DevAchieve」始まります。

Androidアプリ開発情報まとめブログでAndroidアプリ開発について書いていますが、
オールマイティーな技術系ブログが欲しかったので、Bloggerを始めました。

これからよろしくお願いします。