2012年7月27日金曜日

Developers [Social Enterprise] Summit 2012に参加してきました。

Developers [Social Enterprise] Summit 2012に参加してきました。
忘れない内に感想とかをメモしときます。

全体的なテーマはエンタープライズ向けのサービスを提供する身としてソーシャルとどう向き合うか的な感じ。
協賛にSalesforce、GREEなど多くの有名企業が名を連ねていました。
またJenkinsの開発者の方とかもいました。
普段のweb系のカンファレンスよりもエンタープライズ向けだからか年齢層は高めに感じました。
名刺見ると名だたる日系大企業の方々が多く来場されていました。

タイムテーブルはこちら

僕が参加したセッションは
【S-1】クラウドが破壊するもの、創造するもの
新野 淳一 氏 / 西脇 資哲 氏 / 藤井 彰人 氏 / 村上 明子 氏 / 関 孝則 氏

【B-1】Salesforce R&DとソーシャルとEngineer Happiness
 大沢 良樹 氏 

【B-2】エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
鈴木 雄介 氏

【B-3】社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~
原島 法子 氏 / 岩永 義弘 氏 
【A-4】[パネルディスカッション] エンタープライズ✕ソーシャルエンジニアのスキルセット
鈴木 雄介 氏 / 山本 裕介 氏 / 藤本 真樹 氏 / 大沢 良樹 氏 

以上です。 順番に軽く内容と感想。
【S-1】 新野さんの講演から。
クラウドが普及することでSIerの仕事が減り、単価も下がってるという破壊の側面。
実際、あるSIerの単価は二桁下がったそうです。なかなか衝撃的な下げ幅。
ハードウェアがいらなくなったこと、Paasなどでは運用もいらないことが要因だそうです。

一方クラウドが想像するものとして

  1. サービスモデル・・・誰でもどこでもサービスを開始できるようになったね
  2. マルチデバイス対応・・・モバイルでもどこでも使えるようになったね
  3. ビッグデータの活用・・・かなりのコストがかかってた大規模分散処理はクラウドで低コストできちゃうね
てなことが語られました。
すべての共通することとして「コミュニケーションの重要性」という話から、エンタープライズ向けソーシャルの話へ。

ソーシャルエンタープライズという言葉は二年ほど前にSalesforceが言い出してからかなりかなり熱い。
chatterとかそんときからがんばってる。

どんどんいろんなツール(エンタープライズ向け、コンシュマー向け含む)が出てきたけど、それを整備する共通基盤みたいなものが必要なのでは。
それらに向かう新技術としてOauth2.0とか出てきてるけど、まだまだだよね。
これからだよね!
てな感じでした。

続いてgoogle藤井さん
ユーザ側の変化。
コンシュマーとして受け入れたものをエンタープライズでも受け入れるようになってきた。
テクノロジーの変化。
クラウド、モバイル、ソーシャル。
こんなキーワードが出た上で、googleサービスの紹介。
Hangoutを使って六本木にいる社員の方と話してみたり、Google Big Quey、Google Map Engineなどの説明をされていました。
どれもgoogleは情報を与えているに過ぎない。
この上でなんかおもろいことできそうでしょ!?ってスタンスが印象的でした。
その通りだと思いますw
いろいろ妄想の膨らむお話できた。

続いてマイクロソフト西脇さん
マイクロソフトはソーシャルに向けたたくさんのラインナップ持ってますよってお話。
skype、yammer、office365、azure、windows8。
病院での事例などをもとにどう使われているか、いかにソーシャルであるべきか、が語られていました。
人だけでなく、ドキュメント、ファイルなどすべてをソーシャルに扱おうという姿勢が印象的でした。

IBM村上さん
ソーシャル活用したたくさんの分析のお話。
かなり詳細にソーシャルメディアでの行動、会話を分析してらっしゃいました。
分析ツールは作るから、どんな情報が欲しいのかもっと現場から情報ちょうだい。
て感じが印象的でした。

Salesforce関さん
chatterいいよ!!ってお話。
たしかによさそうでしたw
今までいろんなツールでいろんなとこで管理してた情報も一つにして、その中で探せるようにすることで、かなり効率があがったそうな。
chatterはほんまによさげでした。

■感想
ソーシャルエンタープライズのサービスが数多く紹介されていてその多さにびびりました。
まだまだ伸びる市場ではあると思いますが、すでに数多くのプレイヤーが世界中にいるtことも確かでした。
コンシュマーでの体験がエンタープライズにもどんどん入ってきてることを考えると、そこをとれるプレイヤーは数多くないはずなので、どこが取るか注目ですね。
また、コンシュマー向け、エンタープライズ向けを統一するような共通基盤が現れるのではないかという妄想もだいぶ楽しいですね。

【B-1】
Salesforceがどのように社内向けソーシャルを実現しているかのお話。
主に、chatterをどう使っているかのお話でした。
Salesforceの文化として「Dog fooding」使ってみなきゃわからんでしょ。
って話が印象的でした。
実際、Salesforceではかなり盛んにchatterが使われている様子。

chatterはすべての情報のハブとなり、いろんな情報をタイムラインで流してる様子。
リリース情報、コミット情報、tips、疑問、雑談などいろんな情報が流れることで、社内の部署を超えたコミュニケーションが活発に行われてる様子でした。

■感想
chatterはかなりよさそうでした。
効果がありそうなのが、目に見えた感じでした。

【B-2】
アジャイルとWFの話。
まぁ、何が最適かとか状況次第だし、最適解はないね!
ただ、エンタープライズ向けは「複雑かつ不定期で短納期でスコープに妥協がゆるされない」つまりアジャイルもWFも向いてないね!って結論が印象的でしたw
その通りだと思いましたw

その流れを組んでJIRAの説明。
プロジェクト管理としてかなりよさそうでした。
いろんなプラグインが出てて、好きにカスタマイズできそうな感覚。

■感想
JIRA使ってみますw


【B-3】
アジャイルやってみたこと報告するよってセッションでした。
会社の合併とかいろいろ合って、いろんな人と仕事するのが大変でしたよ〜
そこで、先が不透明なときはアジャイル!!
って感じで始めたけど、二人で開発するのはおすすめできません。。
って結論でした。
そのあとUXについて。
主にユーザビリティテスト大事だよね!
ってお話でした。
作ったもののつかわれなかったら意味ないよね。
ちゃんとユーザビリティテストして使われるものを作りましょう。
ってことでした。

■感想
恥ずかしながらユーザビリティテストまだやったことないので、今度やってみようと思います。。

【A-4】
パネルディスカッション形式。
テーマ1「ソーシャルとは何か」
・twitter 山本さん
今まではエンタープライズと対極。
これからはエンタープライズで応用するもの。

・GREE 藤本さん
対義語はスタンドアローン??
そんなことはありえないからそんな厳密に考えなくてもいいんじゃない?
そんなことより、エンタープライズでもコンシュマー向けでもどこまでオープンになるか。
その閾値を見極めることに興味がある。

・Salesforce 大沢さん
デベロッパーを成長させてくれるツール。
デベロッパーとして必須なスキル、ツール。

テーマ2「仕事の中でソーシャルプラットフォームをどう使っているか」
・GREE 藤本さん
人数が急増しているため、情報の管理、伝播がソーシャルな要素を取り入れないとできない。
例 github enterprizeでのソース共有
最新の情報を得るためにはtwitterが一番早い。わかった気になった問題は残るがセキュリティなど更新の早い分野ではスピードも大事。

・Salesforce 大沢さん
chatterの導入によって開発とオペレーションの差を埋めた。
最適な情報をどんどん取り入れることでエンジニアのポテンシャルも高まる。

テーマ3「オープンすぎてこまったこと」
・GREE 藤本さん
今のところない。
コードの共有も含めて議論し続けている。
ちょっとづつ公開してどこまでできるか探り探り。

・twitter 山本さん
オープンにすることは最終的に会社に返ってくる。
社内で使って誰でも使えそうであれば、どんどんオープンにする。
bootstrapはその例。
オープンにするかどうかは専門の部署がありそこが判断してる。
ソーシャルの一番の特徴はタイムライン。
古い情報はもう見なくていいよね!っていう暗黙の了解がある。
タイムラインを中心として情報を拾っていく。

ざっとこんな感じでした。

■感想
何がどこまでオープンになっていくかはかなり興味がある。
個人的にはほぼすべてくらいオープンにしてるが、たぶんそうはならない。
人によってソーシャルとの付き合い方は変わると思うが、オープンにすることのメリットがもっと普及すればいいのにと、個人的には思う。


2012年7月23日月曜日

【C言語】システムコール関数でファイル入出力(2)

前回に引き続き、システムコール関数でのファイル入出力のメモ。

【C言語】システムコール関数でファイル入出力(1)


write()関数とread()関数

writeの例.


#include<stdio.h>
#include<hogehoge.h>

int main(void){

int fd;
char filename = "test.txt";
char message = "ここにファイル出力したい文字列を書く";

//  ファイルオープン
fd = open(filename, O_WRONLY);

//  ファイル書き込み
write(fd, message, strlen(message)+1);

//  ファイルクローズ
close(fd);

return 0;

}


write関数

fd - 対象ファイルのファイルディスクリプタ
message - 書き込む文字列
strlen(message)+1 - 書き込み文字列の長さ




readの例.


#include<stdio.h>
#include<hogehoge.h>

#define BUF_LEN 1024

int main(void){

int fd;
char filename = "test.txt";
char buf[BUF_LEN];

//  ファイルオープン
fd = open(filename, O_RDONLY);

//  ファイル書き込み
while ( ( n =read(fd, buf, BUF_LEN) ) > 0 ){
     printf("%s", buf);

}

//  ファイルクローズ
close(fd);

return 0;

}




read関数
fd - ファイルディスクリプタ
buf - 読み込んだ文字列を格納する箱
BUF_LEN - 一回で読み込む文字列の長さ(バイト数)



readの返り値として、「読み込んだバイト数」が返ってきます。
つまりこのwhile文は、まだ読み込む文字がある場合はずっとループする、ということ。
BUF_LENで指定したサイズ(今回は1024)ずつ読み込み、表示します。





【C言語】プロセスIDを表示する

C言語と対話する日々のイトウです。
今回はプロセスIDの表示方法について。


UNIXコマンドだと
$ echo $$
や
$ ps u
で表示できるプロセスID。C言語では少し記述が必要です。



#include <stdio.h>

// (1) 必要なライブラリをインクルード
#include <sys/type.h> 
#include <unistd.h>

int main(void) {
    int pid;
// (2) プロセス番号を取得
    printf("my PID is %d¥n", getpid() );  
    return 0;
}



こんな感じで表示できます。
getpid()が自身のプロセス番号を表示する関数で、
それを使うために必要なライブラリをインクルードしてる感じです。

簡単ですね。


mac上でvirtualboxが起動きでなくなった時の対処

普段Macでvirtualboxを動かしfedoraを触ってるのですが、突然起動できなくなったので、対処法をメモ。
  今回でたエラーはこれ。

そこでいろいろ調べてみるとここにたどり着きました。 つまりvirtualboxを再インストールしてPCを再起動すれば治るとのこと。 ※アンイストールは必要ないです。 とりあえずやってみると、無事起動できました。 データも全部残っていました。 原因はよくわからないですが、ちょいちょいあるみたいです。。 そろそろ新しいVM試そうかな。。

2012年7月18日水曜日

ファイルアップロードのエラー

phpでのファイルアップロードで少しハマったのでメモ。

<input type=file>でファイルをアップするときのエラーの見方です。

http://d.hatena.ne.jp/pekeq/20100924/p1

ここに全部あります。

2012年7月10日火曜日

【C言語】システムコール関数でファイル入出力(1)

イトウです。

 今回も最近勉強中のC言語に関するエントリです。
※まだ勉強中のため記述に誤りがある可能性があります。 

・システムコールとは
OSのカーネルの機能を呼び出す機構のこと。
open()やclose()などがそれにあたる。

 ・高水準関数と低水準関数

【高水準関数】
・一般によく使われるファイル入出力関数など
・関数内にバッファ機能を保持している
・フォーマットを指定したり、高度な出力ができる
・printf, fopenなど

【低水準関数】
・低水準関数 ・バイト数単位で制御される
・入出力が即時に反映される
・ファイルディスクリプタという重要な概念がある
・open, read, write, closeなど

【参考URL】


低水準入出力関数
高水準関数と低水準関数の違いに詳しい


紫月庵-C言語-9.ファイル入出力
全体像、ファイルディスクリプタについてはこちら



高水準関数、低水準関数という呼び方も今回はじめて知りました。
実際のシステムコールの使い方については次回のエントリで書きたいと思います。



位置情報を使ったAndroidアプリを作る際の参考メモ

イトウです。

Google Mapを用いたAndroidアプリを作る際、参考にしたサイト&エラーについてメモしておきます。


色々サイトを見ましたが、簡単なものを作る場合は以下の2サイトでOK。

位置情報を取得するには/GPSを使用するには - 逆引きAndroid入門



位置情報サービスチュートリアル




マップの調整(ズームの縮尺など)は以下のサイトで。

MapViewクラス - Android入門




不明な点は公式リファレンスで。英語ですが。

Pgoogle.maps 公式リファレンス
マップの公式リファレンス


Package Index | Android Developers
Androidの公式リファレンス




おまけ

Android SDK をAptana Studioに導入する方法。

Android開発ツールの準備 - jsWaffle

Aptana Studio3にAndroid ADTプラグインをインストールするまでの手順

View more PowerPoint from kujirahand kujira



以上、最近Android開発を初めて右も左も分からないイトウの参考サイトまとめでした。