iPhoneアプリの申請で「No identities were available 」と出た時の

iPhoneアプリの申請はProvisioningの複雑さから躓くことがとても多いと思うのですが、その中でもめっちゃめんどくさいであろう「No identities were available 」エラーの修正方法メモ。


適当に環境:

 Xcode5 
 Mac OSX marvericks
 Cocos2d-x 3.0


プロビジョニングの作成方法は
よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法

全体的なリリース手順は
よく分かる!iOS アプリのリリース手順のまとめ

がとてもわかりやすいのでこちらを参照するとして、今回は「No identities were available」に特化して書く。


[問題の事象]
Archive後、Xcode5のWindow>Organizerを選択し、ArchiveしたアプリをValidateしようとするとこの「No identities were available」エラーが起きる。ただこのエラー、どこが間違ってるかとかわからないのでとても厄介。以下を見直す。



[解決方法]

1. Xcode5のpreference -> account -> view detailのリフレッシュボタンを押す。


[それでも通らなかったら]
2. xcode5のプロジェクトとターゲットを見直す。

具体的には
Code Signing Identity -> Release : KeyChainに登録したCertification
Provisioning Profile -> Release : 設定したProvisioning


[それでも通らなかったら]
3. /Users/hazumu/Library/MobileDevice/Provisioning Profiles の中身を消してもう一度Archiveする。


[それでも通らなかったら]
4. KeychainのCertificationを全て消す。その後もう一度ios developerから新しいcertificates, Provisioning file を作成する。1へ。

PandasでMergeする時の基礎的な振る舞い

merge関数(結合)
df1

df1 = pd.DataFrame({'key':['b','b','a','c','a','a','b'], 'data1':range(7)})
In [18]: df1
Out[18]: 
   data1 key
0      0   b
1      1   b
2      2   a
3      3   c
4      4   a
5      5   a
6      6   b

df2

df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'data2' : range(3)})
In [17]: df2
Out[17]: 
   data2 key
0      0   a
1      1   b
2      2   d

#merge関数:普通にやるとInner joinで(デカルト積)

In [31]: pd.merge(df1, df3)
Out[31]: 
   data1 key  data2
0      0   b      1
1      1   b      1
2      6   b      1
3      2   a      0
4      2   a      2
5      4   a      0
6      4   a      2
7      5   a      0
8      5   a      2

Left / right / outerに結合する。(デカルト積)

In [34]: pd.merge(df1, df3, how='outer')
Out[34]: 
    data1 key  data2
0       0   b      1
1       1   b      1
2       6   b      1
3       2   a      0
4       2   a      2
5       4   a      0
6       4   a      2
7       5   a      0
8       5   a      2
9       3   c    NaN  # Rightにするとここが表示されない
10    NaN   d      3 # Leftにするとここが表示されない

結合するKeyを指定する。

pd.merge(df1,df3, left_on='key', right_on='key')

Indexで結合する

In [36]: pd.merge(df1, df3, right_index=True, left_index=True, how='outer')
Out[36]: 
   data1 key_x  data2 key_y
0      0     b      0     a
1      1     b      1     b
2      2     a      2     a
3      3     c      3     d
4      4     a    NaN   NaN
5      5     a    NaN   NaN
6      6     b    NaN   NaN

Concat関数(連結)

Seriesの作成

s1 = pd.Series([0,1], index = ['a','b']
s2 = pd.Series([2,3,4], index = ['c','d','e'])
s3 = pd.Series([5,6], index = ['f', 'g'])

DataFrameとして結合(axis=0でSeriesのまま結合)

 pd.concat([s3,s1,s2], axis=1)
    0   1   2
a NaN   0 NaN
b NaN   1 NaN
c NaN NaN   2
d NaN NaN   3
e NaN NaN   4
f   5 NaN NaN
g   6 NaN NaN

 pd.concat([s3,s1,s2], axis=1, join='inner') #inner join (defaultはouterjoin)
 pd.concat([s3,s1,s2], axis=1, join_axes=[['a','c']]) #連結する軸を指定 

PandasのDataFrame周りまとめ

多分これをやるのが一番勉強になるけど。

必要なライブラリをImport

import datetime
import numpy as np
import pandas as pd
import pandas.io.data as web

SampleData取得

start = datetime.datetime(2013,10,8)
end = datetime.datetime(2013,11,8)
finance_data = web.get_data_google(['GOOG', 'MSN', 'IBM'], start,end)

PanelからDataFrameに変更 (階層型インデックスを用いたDataFrame)

finance_data.to_frame()

インデックスを参照してデータを取得

data_frame.ix['2013-10-08']
data_frame[1:2] #スライス
data_frame.ix['2013-10-08', 'GOOG'] #二階層目も参照条件に加える

列を指定してSeriesとして扱う

finance_data['Open']
finance_data.Open

データフレームの配置変換

finance_data.T

ndarray (Numpy)形式での取得

finance_data.values

値があるかないかをBooleanで

5579833 in data_frame.Volume

X以上のデータを表示する

data_frame[data_frame.Volume > 4424359]


#列Openが5以上で3の列のみ

 data_frame.ix[data_frame.Open > 50, 3]
data_frame.ix[hoge] #hogeの行を読む
data_frame.ix[:, hoge] #hogeの列を読む
data_frame.ix[hoge, hoge] #hogeの行列を読む

#ソートする

data_frame.sort_index(axis=0) #Indexソート(行)
data_frame.sort_index(axis=1, ascending=False) #列で降順にソート
data_frame.sort_index(by='Open') #Open列でソート

羽田発のANA国際便まとめ

4年ぶりに更新しておいてこんな面白くない記事を書くのもあれなんですけども。
出張が定期的に入るので国際線を頻繁に使うのですが、

「マイルのためにANA
「家から近い羽田発着」

の2つの条件で便を選んでいます。で、いつも不便だったのが羽田発のANA国際便ってPDFでしかまとめられてないんですよね。。。ということで以下、毎日発着している羽田発の国際便の2014年1月19日現在まとめです。(ほぼ自分用)



国名 行き先 便名 出発時間
アメリカ ロサンゼルス NH1006 0:05
アメリカ ホノルル NH1062 0:30
ドイツ フランクフルト NH203 1:10
タイ バンコク NH173 0:30
タイ バンコク NH5965 0:20
シンガポール シンガポール NH151 23:30
シンガポール シンガポール NH6257 0:30
シンガポール シンガポール NH6259 6:35
台湾 台北 NH1185 9:20
台湾 台北 NH1187 12:40
台湾 台北 NH5823 10:45
台湾 台北 NH5825 12:15
韓国 ソウル NH1161 8:55
韓国 ソウル NH1163 11:30
韓国 ソウル NH1165 16:20
韓国 ソウル NH6983 10:00
韓国 ソウル NH6967 12:20
韓国 ソウル NH6969 20:15
中国 北京 NH1255 9:25
中国 北京 NH5731 8:30
中国 北京 NH5729 13:50
中国 上海 NH5715 19:30



韓国大杉。。。そしてアメリカ本土がたった一本orz
まあシンガポールが3件出てるのは非常に便利でよく使わせてもらってるし、4月から10便くらい増えるらしいのですごい期待しています。がんがれANA!

アメリカでパスポートを紛失したときの対処法

アメリカに渡りはや1ヶ月半。月日が経つのは早いもので、そろそろ余裕も出てきたので万が一のためにも、アメリカでパスポートを紛失したときの対処法を書いておこうと思います。


決して僕が、慣れないクラブに行って糞酔った挙げ句に記憶をなくし、朝起きたらよくわからないアメリカ人が横で寝ててその代わりにパスポートが忽然と姿を消していた訳ではないのであしからず。


パスポートをなくすと同時にVISA出入国管理カード(I-94)をなくします。それぞれすべて日本人がアメリカで生きていく上で命の次に大切なものですが、紛失した際の再発行はとても時間とお金がかかります。それぞれ再発行手続きの流れを書いておきます。


1.パスポートの再発行
警察の紛失証明書、戸籍謄本、住所が確認できるもの(郵便物)、証明写真を持って、最寄りの日本領事館に行きます。申請後1週間でパスポートが再発行され、135$の再発給料がかかります。僕がいるサンディエゴには日本虜時間はなかったので、わざわざロサンゼルスまで行かなければなりません。


2.出入国管理カードの再発行(I-94)
これがないとアメリカから出国できないので必ず再発行の必要があります。
料金は破格の$320です。パスポートを再発行した後に、Immigration Service から用紙をダウンロードし、必要事項を記入の上で最寄りのイミグレまで行かなければなりません。学生の場合、大学が代わりにやってくれることも多いので相談するとよいと思います。
僕の通っているUCSDは学校が代理でやってくれるそうです。


3.VISAの再発行
奇跡的なことにVISAの再発行はアメリカでは出来ません。再発行には一度自国に戻り、アメリカ大使館でVISAを再度発行してもらう必要があります。
しかしながらご安心を。VISAがなくて困ることと言えばアメリカから出た際に再入国できないだけで、アメリカにいる限りにおいては何の問題もありません。


ということで、アメリカでパスポートを紛失したら、約500$と1ヶ月の時間が必要なのでした。気をつけましょう!!

マイネットジャパンでのインターンを終えて

2年3ヶ月:僕がマイネットジャパンインターンをしていた期間。

マーケティング部でkatyの顧客サポート及びマーケティング活動に従事していました。
大学生活において多くの時間を費やし、とても大きなものを得られた素晴らしい活動でした。

今回はそんな活動を通して、他の会社では到底得られないような「マイネットジャパンのインターンで得た3つの特別なこと」を書きとどめます。



1.インターネットの素晴らしさを知った
2006年4月に大学入学したときにGoogleすら知らなかった僕が、「インターネットの進歩に貢献できる仕事がしたい」という大学後の進路を選ぶ上での指針を見つけられたのは、間違いなくマイネットジャパンのおかげでした。
コレがなければお金や自尊心以外での「働く大義」みたいなものをもてなかったように思えます。


2.こうなりたい大人がたくさんいた
自分がなる近い将来(5,10年くらい)で、こうなりたいと思える人がたくさんいたということは、とても価値のあることだと感じています。楽しくなくなることを恐れている僕としては、「今が楽しい」と言い切る年上の人が居ることは、生きていく上での大きな支えになりました。


3.誠実であること
マイネットジャパンの企業理念であるどこでもドアの実現の指針にある「誠実」という言葉を、自分で咀嚼して心に留められました。
僕にとっての誠実で在るということは「自らを誤魔化さない」ということです。
易きに流れない。こう在りたい自分の為に意地を通して生きることが、自分らしく生きていくことだと感じています。
他人に嘘をついても自分に嘘を付いて生きていくことが無いように。



そんなカンジで多くの学生にありがちなインターン生活は、僕なりの答えを持って終わりましたとさ。いやー、よかったなー。MJ最高です。マイケル・ジャクソンじゃないです。

内定者懇親会に行ってきました。

civilclothes2010-06-25

他の会社と比べてずいぶん遅い感じは否めないのですが、最初で最後のの同期と顔を合わせるために内定者懇親会に行ってきました。

いかにも外資系!みたいな人は皆無で、楽しいこと好きで成熟した心を持ってるなーというような印象を受けました。(偉そうだったらすいません><)
本当になんとなくですが、内定先っぽい人が多かったです。
でもその「っぽい」てのが案外に大事で、合否を分ける結果になったのかなーと勝手に推測。

これほど働くのが楽しみな会社もないなーとか勝手に自画自賛な感じな懇親会でした。

豪華な食事がビュッフェ形式で用意され、シャンパンで乾杯。
特製のケーキも出てきて何だか幸せな気分に。