[Book]Facebookでお客様をどんどん増やす本

要約

週間で1万人を集め、
100社と契約した方法とは?
コンサルタントとして企業のネットマーケティング支援を
行なう傍ら、自らもネット集客を実践し、
多数のファンを獲得した著者のノウハウを大公開!

フェイスブックを使ったファン作り
→売り上げアップの具体的手法が満載です。
amazonより引用

感想

今はやりのビジネスとfacebookを連携させ、プロモーションを図るために有益な情報が詰まった一冊です。ビジネスとはちょっと違うのですが、ブログサイトを自宅サーバで初めて早2か月経過し、Google Analyticsを利用しながらアクセス状況を確認しているのですがあまりアクセス数が伸びません。Googleなどの検索エンジンからレファーされるのも大事ですが、facebookやtwitterの拡散効果に期待しつつ対策を模索しています。そうすればいつか広告収入だけで生活できる日も夢ではないかも。。。

[Book]スティーブ・ジョブズのプレゼン技術を学ぶ本

要約

世界の産業界の雄・韓国で著名な広告&マーケティングの権威がスティーブ・ジョブズのiMac、iPod、iTunesのプレゼンから引き出してまとめた「プレゼン技術」を日本初公開。
iMacプレゼン(オープニングを掌握せよ;大きな絵を先に話す ほか)
iPodプレゼン(チャートは数字ではなく絵だ;第三者を通じて保証をもらおう ほか)
iTunesプレゼン(短所を長所に変える方法;最もいいものを最後に見せよう ほか)
使えるプレゼン(聴衆の目を見て話そう;パワーポイントを考え直す ほか)
未来屋書店より引用

感想

スティーブ・ジョブスのプレゼンテーションを解説しながらプレゼンテーションに必要なエッセンスを紹介してくれている。大学時代は自分の研究成果を発表するだけのプレゼンテーションだったのであまり意識したことはなかったが、照らし合わせてみると「字数が多い」、「結局伝えたいものが見えてこない」、「たんたんと読み進める」のような悪しき方法でプレゼンテーションを行っていることが。。。本を読んでいる中で意識しおきたいキーワードがあったので箇条書きにしておきます。

・3-3-3の構成
・プレゼン対象の詳細な仕様を説明するのではなく、それを使ってユーザが何をできるのかにfocusをあてる
→文字ばかりの説明スライドより実際のデモ
・プレゼンターたるものエンターテイナーであれ
・Save the best for last!
・For your eyes only

[Android]ライブラリープロジェクトを作成して、外部プロジェクトから参照する方法

ライブラリープロジェクトを作成するわけ

アプリケーションを複数作成すると、この処理って以前のプロジェクトでも書いたよな、ということがよくあります。アプリケーション開発では業務(アプリケーションの内容)にとらわれない共通の処理が存在するので、そこを切り出してライブラリープロジェクトとして管理・メンテナンスしていったほうが効率がよいのだと思います。

ライブラリープロジェクトを作成する

ライブラリープロジェクトの属性を持たせるためには特にプロジェクトの作成の方法を気をつける必要はありません。ただ、プロジェクトのプロパティーに以下を追加してください。
プロジェクト直下のproject.propertiesに以下の一行を追加

android.library=true

ライブラリープロジェクトを参照する

ライブラリープロジェクトをライブラリープロジェクトとは別のプロジェクトから参照する方法です。
①プロジェクトを右クリック>ビルドパス>プロジェクトタブを選択し、ビルド・パス上に必要なプロジェクトとして選択します
※ライブラリープロジェクトのコードだけを参照する場合は①のみの設定でOKなはず。リソースファイルも参照したい場合はさらに②の手順を行います。
②プロジェクト直下のproject.propertiesに以下の一行を追加
android.library.reference.1=${フレームワークへのパス}

[Mac]Eclipseの入力補完を使えるようにする

Eclipseのスーパーショートカット

Eclipseで開発を行っていて、「Ctrl + Space」のショートカットを知らない人はいないだろう。とりあえず、迷ったら。。。というのもどうかと思うが。Macだと、デフォルトではスポットライトが優先されてしまうので設定を変えなければ使用することはできない。その設定方法を以下に示す。

方法その①~スポットライトをつぶす

システム環境設定>キーボード>キーボードショートカット>Spotlight>Spotlight検索フィールドを表示
のチェックをはずすまたは割り当てられているショートカットを変更する。

ただ、Macの良さをつぶすのみあまり良くないと思うので、次の方法をお勧めする。

方法その②~Eclipseの設定でショートカットを割り当てる

Eclipse>環境設定>一般>キー>と選択していき、フィルターに「コンテンツ」と入力し、コンテンツ・アシストを選択。
コンテンツ・アシストのショートカットを新たに割り当てる。
※バインディングに新しく割り当てたいショートカットを入力すればよく。下の図では「Alt + Space」になっている。

[Android]Android Marketにディベロッパー登録してみる

ディベロッパーに登録すると何ができるのか

ディベロッパーに登録すると世界に自分の作成したアプリケーションが公開することができます。$25.00の一回をpayするだけで自由にアプリケーションを配布できるという敷居の低さも魅力となります。

登録の流れ

1.GMAILのアカウント取得
2.GMAILアカウントでAndroid Marketにログインして必要事項の入力
3.$25.00の払い込み

GMAILアカウントでAndroid Marketにログインして必要事項の入力

まずGMAILにアカウントを使ってAndroid Marketにログインします。

次にディベロッパープロフィールを入力します。

ディベロッパー名、メールアドレス、ウェブサイトのURL、電話番号等を入力して次へボタンを選択します。

$25.00の払い込み

次に、登録料の$25.00を決済します。

カード情報を入力して、決済を行います。決済を行うと次の画面に遷移します。

最後にAndroidマーケットディベッロッパー販売/配布契約書を読んで同意します。

同意すると登録が承認されましたという画面が表示されて、これでアプリケーションの配布が行えるようになります。

[None]Facebookページをつくってみる

Facebookページとは

企業や著名人が利用することで、広告を発信できたりファンを収集することができるページ。以前はファンページと呼ばれていた。

Facebookページをつくってみる

まずfacebookを作成するページへジャンプ。

複数種類のページが用意されているので、自分の作成したいものにマッチするものを選択。(今回は慈善活動またはコミュニティを選択してみました。)

ステップ1でFacebookページのアイコン画像を設定します。
選択できる画像はコンピュータからアップロードかウェブサイトからのインポートが可能です。

ファンを獲得するためにアナウンスができます。

基本データを設定できます。

以上でページは作成されてしまいます。

こんなに簡単なんですね。ただ、ここからどう広告をうって、ファンを獲得していくかがFacebookページの大事なポイントですので追加のカスタマイズが必要になります。

[Java]Hadoopのインストール

インストールする環境

HadoopはJava上で動作するので、インストールするマシンにはバージョン6以降のJavaがインストールされている必要があります。

パッケージをダウンロードする

Apache Hadoopのダウンロードページからダウンロードします。
※今回は以下のバージョンをダウンロードしました。

% hadoop version
Hadoop 0.20.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010

ダウンロードしたファイルの配置

今回は/usr/local下にインストールしたモジュール(hadoop-0.20.2)を配置し、そこにシンボリックリンク(hadoop)を作成することとします。
※シンボリックリンクを張ることを必須となりませんが、バージョンアップ時等変更が最小限に押さえられるので設定しておきます。

% mv ~/Downloads/hadoop-0.20.2 /usr/local
% ls -n /usr/local/hadoop-0.20.2 /usr/local/hadoop
% ls -ltr /usr/local
lrwxr-xr-x   1 root      wheel   24 Jan  9 16:16 hadoop -> /usr/local/hadoop-0.20.2
drwxr-xr-x@ 24 mac-user  staff  816 Jan  9 16:22 hadoop-0.20.2

これでモジュールの配置は完了となります。

パスを通す

.bash_profileにHadoopへのパスを通す記述を追加します。

export HADOOP_INSTALL=/usr/local/hadoop
export $HADOOP_INSTALL/bin

以下のコマンドでパスが通っていることを確認します。

% which hadoop
/usr/local/hadoop/bin/hadoop

設定ファイルの編集

スタンドアローンモードでの実行を想定している場合は設定不要となります。疑似分散モードは以下の3つのファイルを編集する必要があります。
/usr/local/hadoop/conf/core-site.xml
/usr/local/hadoop/conf/hdfs-site.xml
/usr/local/hadoop/conf/mapred-site.xml

まず、バックアップの取得を行います。

% cp -p /usr/local/hadoop/conf/core-site.xml /usr/local/hadoop/conf/core-site.xml.org
% cp -p /usr/local/hadoop/conf/hdfs-site.xml /usr/local/hadoop/conf/hdfs-site.xml.org
% cp -p /usr/local/hadoop/conf/mapred-site.xml /usr/local/hadoop/conf/mapred-site.xml.org

core-site.xmlをviで以下のように編集します。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
		<name>fs.default.name</name>
		<value>hdfs://localhost/</value>
	</property>
</configuration>

hdfs-site.xmlをviで以下のように編集します。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>

mapred-site.xmlをviで以下のように編集します。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
		<name>mapred.job.tracker</name>
		<value>localhost:8021</value>
	</property>
</configuration>

SSHのノンパス設定

以下のコマンドを実行したさいにパスワードが聞かれないよう設定しておく必要があります。

% ssh localhost

自分で作った鍵のうちの公開鍵をauthorized_keysに登録するだけです。ここでは詳細な説明を割愛します。

HDFSファイルシステムのフォーマット

以下のコマンドを実行してください。

% hadoop namenode -format

デーモンの起動と終了

以下のコマンドを入力してください。

% start-dfs.sh
% start-mapred.sh

正常に起動したかはブラウザ等で確認可能です。以下のURLにアクセスしてみてください。
http://localhost:50030/(jobtracker)

http://localhost:50070/(ネームノード)

[Book]Steve Jobs

要約

FROM THE AUTHOR OF THE BESTSELLING BIOGRAPHIES OF BENJAMIN FRANKLIN AND ALBERT EINSTEIN, THIS IS THE EXCLUSIVE BIOGRAPHY OF STEVE JOBS.
Based on more than forty interviews with Jobs conducted over two years—as well as interviews with more than a hundred family members, friends, adversaries, competitors, and colleagues—Walter Isaacson has written a riveting story of the roller-coaster life and searingly intense personality of a creative entrepreneur whose passion for perfection and ferocious drive revolutionized six industries: personal computers, animated movies, music, phones, tablet computing, and digital publishing.

At a time when America is seeking ways to sustain its innovative edge, and when societies around the world are trying to build digital-age economies, Jobs stands as the ultimate icon of inventiveness and applied imagination. He knew that the best way to create value in the twenty-first century was to connect creativity with technology. He built a company where leaps of the imagination were combined with remarkable feats of engineering.

Although Jobs cooperated with this book, he asked for no control over what was written nor even the right to read it before it was published. He put nothing off-limits. He encouraged the people he knew to speak honestly. And Jobs speaks candidly, sometimes brutally so, about the people he worked with and competed against. His friends, foes, and colleagues provide an unvarnished view of the passions, perfectionism, obsessions, artistry, devilry, and compulsion for control that shaped his approach to business and the innovative products that resulted.

Driven by demons, Jobs could drive those around him to fury and despair. But his personality and products were interrelated, just as Apple’s hardware and software tended to be, as if part of an integrated system. His tale is instructive and cautionary, filled with lessons about innovation, character, leadership, and values.
Amazonより引用

感想

天才・天才ともてはやされて、ジョブスのすごさは知っていたが伝記を読んで改めて彼の凄さと異質さを感じた。ものごとの全てをコントロールしたがり、すべてを完璧にしたがる彼のぶれない軸とカリスマ的な振る舞い(プレゼンテーションを含めて)に圧倒されました。彼のようなイノベーションを起こしたいけど、、、修行修行。

[Book]ビックデータビジネスの時代

要約

ビッグデータをめぐる動向の解説書。ビッグデータから経営に生かせる知見を導出しようとするユーザー企業と、その活動を技術やサービスで支援するITベンダーの動きを、10年間の歴史を振り返りながら解説する。国内外の事例紹介が豊富で、ビッグデータの活用アイデアの示唆に富む。ビッグデータの周辺技術や課題も整理され、分かりやすい。
ITproより引用

感想

ビジネスの視点から膨大なデータを集め、利用し、収益性のあるビジネスモデルを構築するための手助けとなる良書。膨大なデータを効率的に処理するためのテクニカルTipsもあり、非常に興味深かった。イノベーションとは市場が欲しているものをクリティカルに投入するだけではなく、潜在的に市場が欲しているものを知見し、新しく創造し、市場に投入できるかであり、もの言わぬデータがこの一助となるに違いないと実感した。
(ビジネス×ITとは少し話がそれるのでが「ビッグ・シスター」も非常に興味深い。)

[Java]SSL環境下でCookieにsecure属性を付与する

secure属性を指定するわけ

HTTPSの通信時にのみクッキーを送信するようにする設定できます。指定しないとHTTPの通信時にHTTPSのクッキーが送信されることになり、盗聴される危険が発生します。

今回想定する環境

Apache + Tomcatでは基本的に設定をしなくてもsecure属性が指定されているはずです。(プロトコルがAJPであれば、server.xmlのConnectorのAttributeでも指定可能です)しかし、今回はLB経由でTomcatにアクセスしている場合を考えます。この環境だと明示的にsecure属性を指定しないと盗聴される可能性があります。

どこで設定を入れるか

Tomcatのサーブレットフィルターを利用して設定を入れます。

フィルターの実装を追加する

まず、javax.servlet.Filterインターフェースを継承したクラスSecureCookieFilter.javaクラスを作成します。

package hoge.filter;

public class SecureCookieFilter implements Filter {
	
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		try {
			// secure属性を付与する
			setField(getField(request, "request"), "secure", true);
		} catch (Throwable e) {
			throws new ServletException();
		}
		chain.doFilter(request, response);
	}

	private Object getField(Object object, String name) throws NoSuchFieldException {
		if (object == null) {
			throw new IllegalArgumentException();
		}
		for (Class clazz = object.getClass(); clazz != null; clazz = clazz.getSuperclass()) {
			try {
				Field field = clazz.getDeclareField(name);
				field.setAccessible(true);
				return field.get(object);
			} catch (Exception e) {
				// ignore
			}
		}
		throw new NoSuchFieldException();
	}

	private void setField(Object object, String name, Object value) throws NoSuchFieldException {
		if (object == null) {
			throw new IllegalArgumentException();
		}
		for (Class clazz = object.getClass(); clazz != null; clazz = clazz.getSuperclass()) {
			try {
				Field field = clazz.getDeclareField(name);
				field.setAccessible(true);
				field.set(object, value);
				reutrn;
			} catch (Exception e) {
				// ignore
			}
		}
		throw new NoSuchFieldException();
	}

	public void init(FilterConfig config) throws ServletException {
		// nothing
	}

	public void destroy() {
		// nothing
	}
}

web.xmlにフィルターを通す設定を入れる

<?xml version="1.0" encoding="UTF-8"?>
<web-app .........>
	<filter>
		<filter-name>SecureCookie</filter-name>
		<filter-class>hoge.filter.SecureCookieFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>SecureCookie</filter-name>
		<url-pattern>{フィルターをかけるページにマッチするパターンを入力}</url-pattern>
	</filter-mapping>
</web-app>