シリコンバレーのマーケター日記

東京、シンガポールを経てシリコンバレーで働く、マーケター。英語、プログラミング、データ分析は次世代マーケターの必須スキルだと信じて進む。

タージマハールとAjaxとjQuery

今週日曜日にムンバイに入り、月曜日夜からデリーの隣町、グルガオンにいます。月曜からずっと下痢です。出張中の時間を見つけて200キロ離れたタージマハールまで行ってきたのですが、圧巻でした。

イスラム王朝の王様が、死んでしまった3番目の妻のために20年弱かけて作られたお墓なのだそうですが、人間の執着とコミットメントは凄いです。すべての模様は、世界中から集められた色の異なる石を削って組み合わせて描かれています。

ここで、ヒンズー教が多くを占めるインドにあるタージマハールですが、イスラム教の建物なんですね。最終的に、イスラム教はパキスタンに、ヒンズー教はインドに分かれましたが、年々インドでイスラム教が数を増しているようです。なぜなら、イスラム教は4人まで嫁をとることが許されており、子供をたくさん産むからだそうです。

それにしても、果たして、自分はここまで人生をかけてのめり込めるのか、そして世になにかを残せるのか。世界で一番綺麗な建築物は?と聞かれたらタージマハールと答えます。それくらい本当に病的に緻密でidentical(左右対称)な建築でした。

f:id:yuyutata:20150904024024p:plain

さて、今週からがっつりAjaxとjQueryの学習を開始しました。

  • Ajax: ページの一部だけを更新する記述。グーグル検索で、検索ワードを入れてくとどんどん、検索結果が出てくるやつ。
  • jQuery: JavaScriptを使いやすくするためのライブラリー。自分で一から書くと大変なので、先人が定石パターンをあらかじめ用意してくれているものです。ソースコードをみるとJavaScriptで書いてあります。

この技術を使うと、ホームページ上で、条件検索をかけると、サーバーから答えをとってきて表示させる。ということができるようになります。

  • フロントエンド:HTML, JavaScript(jQuery), Ajax
  • サーバーサイド:PHP, MySQL

以下、はまったこと。オギヤス先生、まじでありがとう。インドで泣きました。

1)ローカルサーバーでAjaxを動かすときは、Google Chromeではエラーが出るので、firefoxでやるべし。

2)ローカルサーバーにすべてのファイルを置くべし。静的なhtmlファイルであれば、どこに保存してもブラウザを使って動かせますが、PHPファイルは、ローカルサーバーに保存し、"//localhost/"とホスト名でブラウザからアクセスします。

3)jQueryは、ダウンロードしてローカルに保存したほうが良い。jQuery

 

というわけで、引き続き進めて、週末くらいに簡単なページをお見せできればです。明日の朝、バンガロールに飛び、土曜日の朝にシンガポールへ帰国します。

ナマステ!

 

JavaScript雑感。

習慣化してたプログラミング学習が、2週間の日本帰国のあとから崩れてしまっているので、ちょっとペースを戻したい。

会社では、嬉しいことに昇進しました。もともと仕事に関係なく始めたプログラミング学習ですが、マーケティングに身を置く者として、顧客データベースの構築、デジタル広告の効果測定の仕組みと限界、ホームページ作成でデザイナーへの指示など、めちゃめちゃ役に立っている。Jobs的には、"Connect dots"ってやつですね。

さて、JavaScript、さわりはじめて2週間。思ったことをまとめる。

 

1) JavaScriptはブラウザ向けのスクリプト言語

コンパイラ言語のSwiftに比べて、入りやすいです。同じスクリプト言語であるPHPとHTMLを知っていると、尚入りやすい。

スクリプト言語とは|軽量言語|LL - 意味/解説/説明/定義 : IT用語辞典

”スクリプト言語とは、プログラミング言語の一種で、OSやアプリケーションソフトの動作や機能などをプログラムの形で記述できるもの。また、転じて、実行可能形式への変換作業などを省略・自動化したり、少ない記述量でも実行できるなど、仕様や開発手順が簡略化されたプログラミング言語のこと。”

”コンパイラ言語はコンピュータの使うマシン語や、マシン語と1対1に対応するアセンブリ言語に比べ抽象度が高く、人間の普段使う自然言語に近い感覚で記述することができる高水準言語(高級言語)である。人間の記述したプログラム(ソースコード)はそのままではコンピュータが解釈できないものであるため、コンパイラによってマシン語に翻訳され、実行可能なプログラム(オブジェクトコード)に変換され、実行される。”

 

2) HTMLと組み合わせてホームページをつくる

HTMLによって骨(全体の構造)をつくり、JavaScriptによって筋肉(動き)をつくる。って感じでしょうか。二つの言語を組み合わせて使うので、ファイルの拡張子は、.htmlですが、以下のように、JavaScriptでの記述を挟むようにコードを書きます。

 

<script type="text/javascript">

//ここにJapaScript言語で記述

</script>)

 

3) ホームページで見たことあるあの挙動、なるほどーっていう感覚。

例えば、マウス乗せたらポップアップでてくる、会員登録ページで、入力項目にエラーがあるとポップアップで知らせてくるやつ、送信する前に再度確認用のポップアップが立ち上がるやつ、などなど、JavaScriptだったんだー。ってなりました。

 

4) Cookieの取り扱いなど、アドテク必須言語。

JavaScriptは、ブラウザにCookieをセットしたり、ブラウザにセットされたCookieを参照したりするために必要な言語。ブラウザからアプリへ、iOSの新OSは Safariに広告ブロック機能搭載など、Cookieはだんだん力を失っていくのかなとか言われてはいますが、勉強になります。

 

5) Ajaxとか、jQueryとかとか世界が広がっていく感覚。

学生時代、プログラミング得意な友達が、Ajax(アジャックス)って連発してて、なんのことかわからなかったんですが、JavaScriptの先にある言語でそういうことね、とかjQueryってAjaxのライブラリーかぁみたいな、腑に落ちていく感覚。

 

今後

- サーバーサイド言語のPHPと絡めるところを勉強する

- 簡単なホームページをつくってみる

 

明日から、ムンバイ、デリー、バンガロールへ出張です。一週間行ってきます。

いくぜ、Java Script。

昨晩、半月の日本滞在からシンガポールへ帰って参りました。

幸運なことに人生初のアップグレードでANAのプレミアムエコノミーに乗りました。red eye (深夜便) のときは、これ良いなーと思ったのですが、成田ーシンガポール間しかないようです。移動を考えたらやっぱり、羽田を使いたい。。参考までに以下貼っておきます。

f:id:yuyutata:20150818003127p:plain

さて、Swiftは一段落したので、ブラウザベースのユーザーインターフェースをつくるべく、今日からJava Scriptの学習を開始します。

名前はよく聞くのですが、なんとこっちゃ。2010年発売とちょっと古いですが、こちらの本を日本で購入したので、ひとまず一週間すすめてみます。

では、Have a nice week!

一時帰国。

今朝、羽田に到着しました。これから2週間東京に滞在します。

しかし、羽田空港さえもアジアの他の空港に比べるとアクセスが悪いですね。。羽田から六本木のオフィスまで今朝のラッシュの中、京急線、JR、南北線を乗り換え、死にました。

では、今年出張で訪れた国の空港アクセスランキング。

 

No.1: 香港

香港国際空港から香港駅(東京駅てきな立ち位置)までエアポートエクスプレスという快速電車で15分くらいで到着します。価格は1000円くらい。

 

No.2: シンガポール

チャンギ空港からオフィスエリアのラッフルズプレイスまで、タクシーで空いていれば約20分、1500円くらい。電車だと約40分。

 

No.3:シドニー

シドニー空港からビジネス地区のあるダーリンハーバーまで、タクシーで約20分、価格は3000円くらいだったはず。

 

No.4:韓国

金浦(ぎんぽー)国際空港(日本でいう羽田空港)と仁川国際空港(日本でいう成田空港)の2つがあります。

  • 仁川は都心のガンナム地区までタクシーで約60分、6000円くらい。
  • 金浦から都心のガンナム地区までタクシーで約30分、3000円くらいでした。

 

No.5:東京

成田は論外でしょう。私は実家が千葉のため、たまに使いますが、そうじゃない場合、外国人が、京成上野駅からスカイラインに乗るのは、なかなか難しいのではないか。

羽田もバスの頻度も少なく、モノレールで浜松町、電車で、品川まで出てから地下鉄に乗り換えて。。。と。

理想は、羽田空港から六本木駅・東京駅まで簡単に出れる快速電車てきなものができると嬉しいです。

  • 羽田から六本木まで、タクシーで30分、9000円くらい。
  • 成田から六本木まで、成田エクスプレスを使って90分くらい。スカイライン使って80分くらい。タクシーは未体験。

JR東日本の羽田空港アクセス線、難しい五輪前開業 冨田社長「多くの課題ある」 - 産経ニュース

ひとまずアプリログ計測ツール完成

ログ計測ツールが完成しましたー!Swiftの勉強を始めてから約3ヶ月。達成感と同時に、今後の方向性を定めなくてはです。

ひとまず、基本機能からブラッシュアップさせます。

さて、今日は一人で飲み行くぞ!

 

できること

  • Webview経由で閲覧したサイトのURL
  • 各サイトの滞在時間
  • ネット環境がない時にログをローカルに保存
  • ネットがつながったら、送れなかったログデータをまとめて送信
  • 送信に成功したデータはローカルから削除

今後

  • 様々な条件で繰り返しテスト
  • 計測しやすくするためにアプリタイプ別に計測したいシンタックスを増やす
  • サーバーをローカルから、クラウドに移行して誰かに使ってもらう

 

SQLiteを使って外部サーバー格納まで

さてプログラミング。結婚式準備と出張の合間を縫ってなるべくコードに触るようにしていましたが、ちょと離れちゃってました。この2週間考えてたこと。

 

やりたいこと

1)ログデータを一旦ローカル(アプリに割り振られた携帯のメモリ)に格納する

ログ計測をする上で、常にネットに繋がっている環境でアプリを開いているとは限りません。例えば、飛行機でゲームしているなどです。その場合は、一旦ローカルに計測ログを格納しなくてはいけません。

流れ:ログ計測 -> SQLiteに格納

2)ローカルに格納したログデータをまとめてサーバーに送る

ネットが繋がったときに、格納していたログデータをサーバーにまとめて送る必要があります。

流れ:SQLiteのデータをJSONに変換 -> PHPに送りSQLでサーバーに格納

 

前提

ここでは、webviewをつかった、ブラウザアプリを想定します。

 

実装

1)ログ計測 -> SQLiteに格納

前回使ったSQLラッパーのSwiftDataを使って、SQLite(アプリ内に作れるデータベース)にログデータを格納します。

Printlnで、コンソールに常にステータスが出るようにしています。うまくデータベースを見つけて、以下のように表示されます。

f:id:yuyutata:20150723005310p:plain

2)SQLiteのデータをJSONに変換 -> PHPに送りSQLでサーバーに格納

 

結果

データベースに格納されたことが確認できました。

f:id:yuyutata:20150723005824p:plain

 

改善点 

現状では、サーバーに送られたデータもローカルに残ってしまうので、

  1. 同じデータが何度も送られてしまう
  2. ローカルで使うメモリ量が大きくなってしまう

問題点があります。よって、改善点として、以下のように、もう一つ条件を追加する必要があります。

f:id:yuyutata:20150723011320p:plain

 

雑感

どんどんプログラミングが長くなってくると、以下2点が重要だなと感じています。

  1. 変数名をどう定義するか
  2. 全体の設計図をまず考える

なんだかプログラマーぽいです。ブログをあまり更新できてなかったので今日は大奮発、3つ投稿しました。

金曜日から旅行でタイへ行ってきます。バンコクで起業している日本人の友人ともキャッチアップできたらです。では、おやすみなさい。

外資系の韓国オフィス

アニョハセヨ。先週は、韓国出張へ行っていました。感動したこと3つを挙げるとすると、

  1. サウナがある:シンガポールには暑い国なのでサウナ文化がない!毎日ホテルのサウナ行ってました。
  2. 飯が美味い:シンガポールにも韓国料理はたくさんありますが、レベルが全然違います。特に冷麺はびっくりしました。油麺っぽい濃厚冷麺。海外の日本食がイケてないのと同じことです。
  3. 街がきれい:シンガポールも綺麗ではありますが、やはりどこでも屋台があったり東南アジア色をぬぐいきれません。韓国のガンナム地区に宿泊したのですが、もはや東京。自分がどこにいるのかわからない現象が起こっていました。

仕事という意味で感じたことを3つ挙げるとすると、

  1. コミュニケーションが複雑そう:韓国も儒教に基づいて地位に関係なく年上を敬う文化があります。やたらとお辞儀をしてしまう癖の抜けない私には、日本にいるような感覚で非常にフィットしました。そして年上の方々も、歳下の私に気遣ってくれていました。基本的に、韓国には兵役があるため、同僚はほぼ年上です。同時に、私に聞かれたくない場合に韓国語で会話している場面が多々あり、これは日本に似ているなと思いました。英語では、最高じゃん!といいつつ、私と同じ部門の韓国人には韓国語でフィードバックするという具合です。
  2. 圧倒的な結束力:外資系オフィスの場合、部門ごとに固まり、オフィス全体がまとまっていない場合があります。(必ずしも全員がローカルオフィスの代表にレポートしているわけではないため。)日本オフィスも然りです。しかし、韓国オフィスは、部門別の意識よりもTeam Koreaとしての意識が非常に強く、部門ごとの協力、交流が非常に強いです。プロジェクトのローンチに行ったのですが、他部門の人も皆、協力、そして全力のフィードバックを与えてくれ、私も何かあったら力になりたい、という気持ちが芽生えました。やはり仕事終わりの飲みニケーションは日本と同様濃いようです。
  3. 平均的英語力が高い:韓国人のみのミーティングは韓国語で行われますが、日本人の私が全体ミーティングに入ると、すっと英語に切り替わります。日本オフィスでは、外人が入っても無視して日本語で進行するケースが多いです。大部分の社員が韓国の大学を卒業しているようですが、TOEIC満点もちらほら。(TOEICは日本と同じく就活に必須の資格。)大学時代に徹底的に英語を叩き込んだと言っていました。日本オフィス<<韓国オフィス=<香港オフィス<シンガポールオフィス=<シドニーオフィス といった感じでしょうか。

日本人の自分としては他のアジア諸国に比べて親近感の感じる大好きな国の一つです。

f:id:yuyutata:20150723000613p:plain