エイバースの中の人

iPhoneアプリとCGMサービスを作っているABARSのBLOGです。

少人数でソーシャルゲームを作るツールチェイン

フェイスブックが買収したWhatsAppが社員数50人で4億5000万人に対してサービスを提供できたように、開発環境の進化とクラウド化によって、少人数でも大規模なアプリケーションが開発できるようになってきました。

今回は、エンジニア視点で、少人数で大規模なソーシャルゲームの開発を行うために最適なツールチェインを考えてみます。

Unity5


昔はゲームを作るときはゲームエンジンから作っていたものですが、Unityの登場によって、ゲームのコアだけを記述すればよくなりました。iOSとAndroidのマルチプラットフォーム化が必須な今、開発環境としてのWindowsとMacの対応も考えると、Unityを使わないという選択肢はない気がします。nGUIとIAPの対応で、外部プラグイン不要で完結するようになってきましたし、どうしても不足する機能は自分でプラグインを書けば良いという安心感もあります。また、最新のMAYAのfbxへの対応など、何もしなくてもゲームエンジンがメンテナンスされていくというのは、自社エンジンにはない魅力です。

Maya LT でローポリキャラクタモデリングに挑戦して Unity で動かしてみた

Unity Cloud Build


Unity Cloud Buildを使うと、リポジトリにpushするだけで、自動的にiOSとAndroidのアプリをビルドすることができます。これにより、物理的に離れた場所にいたとしても、チームメンバー全員がいつでも最新版で動作確認することができます。開発はPCだけで行えばよく、実機を有線で接続する必要もないので、単純な開発効率も上がります。iOSアプリをWindowsだけで開発できるというのは革命的です。

Unity Cloud Buildの使い方

Bitbucket


GitのPrivateリポジトリを無料で作ることができます。Unity Cloud Buildとの連携を考えると、リポジトリはクラウドに持った方が便利です。

Unity向け .gitignoreの設定について

Google Docs


仕様書やドキュメントなどは、複数人同時に編集できるGoogle Docsで管理すると便利です。日付付きのWordファイルやExcelファイルをメールで送る必要はありません。ゲームのリソースもGoogle Driveでやり取りするとスムーズです。

Google AppEngine


少人数で運営することを考えると、サーバ運営をしているリソースはありません。Google AppEngineはDataStoreなど、プログラム側にかなり強い制約がかかりますが、その制約によって、原理的にAppEngineで動けば必ずスケールすることが保証されます。また、マネージドサービスなため、脆弱性の発覚による依存ライブラリのバージョンアップなども不要です。すなわち、サーバの保守が不要になります。

唯一、国内での実績が乏しいのが採用のネックだったのですが、メルカリ アッテがAppEngineを採用したことで、その障壁もなくなりました。さらに、2016年9月には待望の東京リュージョンが開設され、遅延が減ります。証明書なしでSSLが使えるのも魅力です。ゲームサーバなら独自ドメインがいらないので手軽です。

ゲームサーバへのサーバレスアーキテクチャの適用は、今後のトレンドになるのではないでしょうか。

SSL の設定
サーバーレスアーキテクチャという技術分野についての簡単な調査

第27回IGポート株主総会レポート(2016/08/26)

場所は久々の三鷹産業プラザです。参加者は80人程度。株主総会で初めてパワーポイントが使われました。パワーポイントの表紙の写真は丸井のIGストア、まほよ、攻殻VRの三つでした。

IMG_1842

業績概要の説明。映像制作赤字、出版と版権が黒字です。出版はまほよが250万部、劇場版効果でARIA関連グッズが好調。電子書籍比率が30%増加で利益率向上。来期は、映像制作とともに、VRアプリや渋谷丸井のIGストアでのグッズ販売をやっていく。

以下、質疑応答です。

ニコニコでの配信は収益目的なのか、盛り上げ目的なのか。アベマTVはどうか。


ニコニコでの配信の目的は先行配信の場合は宣伝。ニコニコユーザはアニメと親和性が高い。有料課金は収益目的。アベマTVも視野に入れている。先行配信の場合はロイヤリティを高く積んで頂ける会社もあるので総合的に勘案。

映像制作、制作期間の長期化による悪影響は今期限り?株価への影響の大きいVRの方針は?


映像制作は、製作委員会から依頼を受けて制作するが、クオリティが要求される。ここ2年、赤字が続いている。今期も。海外からの依頼は予算が大きい。今後は交渉によって制作費を上げてもらうなど、映像制作で利益を上げられるよう目指す。

VRは制作完了している。攻殻はさまざまな反響を頂いており、タッチポイントを増やす。アプリとしてはPSVRでの配信を予定しているが、カメラワークの酔いの問題を修正中。他のプラットフォームも検討。スマホアプリは12GBになってしまった。どのようにエンコードすればよいか調整中。

クオリティを高く置いているので制作費で収めるのは難しくなっている。グループとして、マッグガーデンが9年目にして、利益を出す仕組みを作れた。利益の循環を生み出すエンジン。多少、利益を超えたとしても、株主の期待に応えられる。

どの部分に権利を持っているかわからないと投資しにくい。開示予定は?


機関投資家からも同様の依頼を頂く。制作委員会のシステムで守秘義務がある。開示してしまうと、他社にわかり、業績に悪影響を与える。業績改善でいろいろな契約上の手を打っているが、他社に手の内がわかってしまう。

海外における事業展開について。


Netflix向けはIGが100%版権を持ってやる。フリクリをカートゥーンネットワークでという話など、版権ビジネスのよいスタートラインに着いている。

ガルムウォーズの収益は?


海外は18カ国。75万ドル。国内は動員1万2000人。2千万円弱。カナダの税制優遇を使って制作、ワールドワイドのプリセールスをやったが、見込んだ収益はあげられなかった。国内はDVDで回収していく。営業マスターは償却済み。

特別に力を入れていることは?


和田、森下が答える。IGポートの原動力となるウィットスタジオとシグナルエムディーの社長。

ウィットスタジオは企画を作ることに集中。面白いものを作るには面白い人が必要。そのためには企画がいる。カバネリをリリース。IGポートのサポートを受けながら人を集める場所を作る。

シグナルエムディーは設立から1年弱。デジタル作画を中心として人を集めて人を育てている。ひるねひめは、デジタル作画中心。意図としては、少子化が進む中で、より省力化、効率化が必要。デジタル作画はひとつのきっかけ。正社員という形でアニメーターを雇用。将来の中核になってもらうべく進めている。ビジネススキームとしては、舞台やスマホアプリなども設立時にかかげている。しかし、まずはデジタル作画に資本を投下している。

VRアプリのキャンペーンは?リターンは?


攻殻VRはカメラがかなり動く。ご年配が酔われる。ソニーが認めるか次第。出口としては他のHMDでの配信は開始している。戦略は、全世界配信を目指すために、制作委員会から離れた仕組みを作る。音楽や脚本の権利を買いきりにしておくことで、世界配信をできるようにする。

出版の社員数が2名減少しているが?


先月、募集をかけた。作家性を備えた若い編集者で社内でも企画を立てていきたい。関西に事務所を作った。作家の発掘。作品数を昨年はしぼったが、秋から増やす。ネットマガジンで連載予定。

その他事業の赤字の原因は?


その他事業の赤字は販管費の増加と、NHK向けのアニメのグッズの売上がよくなく、在庫を処分した。

映像制作はどの会社も赤字なのか?プロセスやツールの問題か?


制作の利益は、大きくは業界の問題。作画崩れや、お客の目、工程の労力が増えている。本数増加でクリエーターの奪い合いも起こっており、制作期間を超過する原因となっている。

プリプロの期間が延びてきている。工程を分析して管理する必要がある。1つの場所に集まって、内製化の方向に向かう。プリプロは出版事業で作ったものをアニメ化する方向になっている。

ウィットスタジオは進撃、カバネリ、まほよと、クオリティに関しては信頼がある。社長の陣頭指揮で数カ所にあったスタジオを集約。来期は絶対に利益を出すという言葉をもらっている。

株主優待について


2007年にSACのクオカードを出したことがある。その際、一般投資家から批判もあった。業績が大事。イラストを描きおろして権利処理するコストを考えると2000万円ぐらいかかる。本業のクリエーターが書き下ろすので本業への影響もあった。

ARIA劇場版、BD BOXのみで単品販売しない。なぜこうなったのか。


制作委員会の調整によるもので、我々は詳細を把握できていない。まほよは原作と制作、100%、IGが出資。貴重な意見を反映させたい。

フリクリ2の国内展開の予定は。フリクリ1の再販はIGができるのか。


契約上の機密保持。海外はカートゥーンネットワークで配信。国内は製作委員会で行う。

「とつくにの少女」と「もののべ古書店」はどうか?


9月に2巻が出る。コミックは2巻で新規ユーザーが入ってくる。アニメ化できる可能性を感じる。


全体としては、ここ8年ぐらいの、IGポートで原作を作ってアニメ化まで一気通貫で行うという夢が、最近のマッグガーデンのコミックの好調と、ウィットスタジオのアニメの好調によって、魔法使いの嫁でついに実現しそうというのが大きいかと思います。ようやく手にした理想のビジネスモデル、あとはいかに原作を生み出し続けられるかが問われそうです。

IMG_1850

今年のお土産はクリアファイルでした。

バランスシート分析サービス BS Analyzerを公開しました

企業のバランスシートを分析してランキングを作成することができるBS Analyzerを公開しました。

bs_analyzer

BS Analyzerは、企業の四半期決算を分析して、任意の計算式でランキングを作成できるサービスです。計算式には時価総額を入力できるため、ネットネット倍率でもランキングすることができます。

これにより、時価総額よりも多くの現金を持っている銘柄を簡単に抽出することができます。

まだ2016年5月以降に公開されたXBRLしか対応していませんが、3ヶ月後には各企業のXBRLが出揃い、実用的になってくるのではないかと考えています。

XBRLからネットネット株を探す

ネットネット株とは、企業の換金性の高い資産から、負債を引いた値が、時価総額よりも大きい銘柄のことです。PBRには、在庫やのれんなど、換金性の低い資産が含まれるため、これらの影響を除外して、安全側に寄せて考えることで、真の割安株を抽出することができます。

ネットネット株かどうかを判定するには、企業が公開しているバランスシートを使って、手動で計算する必要があります。しかし、東証は適時開示でXBRLを公開しているので、これを解析することで、バランスシートの分析を自動化することができます。

XBRLはzipファイルとなっており、展開すると、複数のhtmlファイルが出てきます。この中にある、bsというIDを持つファイルがバランスシートです。

XBRLにはタクソノミという定義があり、勘定項目ごとに、タグに設定するnameが規定されています。例えば、現金及び預金はjppfs_cor:CashAndDepositsです。これを利用して、htmlから正規表現で勘定項目の値を取得することができます。

今回は、以下のような正規表現を用いました。

it = re.finditer("<ix:.*contextRef=\"Current[a-zA-Z_]*\".*name=\""+item+"\".*?>([ 0-9,]+)<", line, re.DOTALL)

また、千円単位か、百万円単位かというのは、scaleという要素に設定されています。

it2 = re.finditer("scale=\"([0-9]+)\"", m.group(0), re.DOTALL)

これを使って、東証のXBRLを解析した例は以下です。

オリバー - 平成28年10月期 第2四半期決算短信〔日本基準〕(連結)

TDnetSearchでは、XBRLを含む決算短信に、ANALYZEリンクを表示します。これをクリックするだけで、バランスシートを読まずに、ネットネット株かどうかを判別することができます。pbrクエリである程度絞り込んだ後に、ネットネット株かどうかの分析をして確度を上げるのがオススメです。

今後は、四半期決算を蓄積したタイミングで、割安度ランキングを作成してみたいと思います。

---
2016/6/5追記
ネットネット倍率のランキングを計算できるBS Analyzerを公開しました。

名証の割安銘柄

TOPIXなどのインデックスファンドが投資先を東証に限定しているため、名証の銘柄は割安に放置される傾向があります。そのため、名証から東証に市場変更すると水準訂正が起きる可能性が高く、好業績の名証銘柄を買っておくというのは、長期保有できるのであれば、よい戦略なのではないかと思います。

ということで、名証の割安銘柄です。どの銘柄も、財務良好で、割安です。

中部日本放送

TBS系の放送事業者。不動産賃貸も。
株価631円、PER8.16、PBR0.34、配当利回り3.49%、自己資本比率75.6%。

愛知電機

中部電力系の変圧器メーカ。モータ製造も。
株価330円、PER6.3、PBR0.36、配当利回り3.64%、自己資本比率50.9%。

中部鋼鈑

国内最大級の電炉保有の厚板専業メーカー。産業機械向けが主力。
株価504円、PER6.77、PBR0.28、配当利回り2.78%、自己資本比率88.1%。

ちなみに、リストにはエスラインもいたのですが、原油安に伴う好業績のため株価が高騰してしまいました。エスラインは、東証への市場変更の布石か、株主数を増やすため、株主優待の新設を発表しています。

東北新社の分析

東北新社はCM制作、衛星放送のスターチャンネルの運営、映画の制作・配給を行っている企業です。宇宙戦艦ヤマトとGAROの版権を持っていることで有名です。

株価は620円、PER10.62、PBR0.42、配当利回り2.74%です。

時価総額は289億円。現金341億円、売掛165億円、土地129億円、本社建物15億円、投資有価証券100億円に対して、負債321億円です。流動性の高い資産で429億円あるため、時価総額に対して割安です。さらに、無形資産の版権が上乗せされます。

土地については、港区の赤坂の本社が1094平米で34億円(建物は15億円)、港区のスタジオが1579平米で10億円です。本社については路線価とほぼ同等です。スタジオの方は、含み益があるかもしれません。ロサンゼルスにも4303平米で、3億円計上されています。その他の合計11787平米、69億円の詳細は不明で、ここが若干の不安要素になります。

BSにはのれんが22億円と、前期から急増していますが、スターチャンネルの持ち分を伊藤忠から60%まで買い増し、連結子会社としたためです。

ビジネスの中心はCMということで、売上が景気に左右されますが、売上が下がると外注費も下がるため、利益はわりと安定しています。

PBRがこれだけ下がると、MBOも期待できるので、ポートフォリオの5%程度は保有してもよいのではないかと思います。

TDnetSearchで東北新社の開示情報を検索

ハークスレイの分析

ニフティがTOBされたので、売却した資金の投資先として、ハークスレイを分析してみます。

ハークスレイは、弁当『ほっかほっか亭』を運営する、全国FC統括会社です。プレナスとの裁判で有名です。プレナスが勝つかと思っていたのですが、意外なことに、ハークスレイ側が勝ってしまいました。

株価は1049円、PER8.5、PBR0.54、配当利回り4.29%、自己資本比率51%。株主優待でクオカードがもらえます。プレナスとの訴訟に勝って、1株あたり100円分のキャッシュが入ってきました。コンビニとの競争はありますが、温かいご飯の付加価値は今後も継続するかなと思います。今後、高齢化が進んで、自炊率も下がってくると思いますし、長期的にも安定したビジネスができるのではないかと思います。

現金68億円、売掛18億円、建物63億円、土地111億円、投資有価証券17億円、敷金55億円の合計332億円に対して、負債182億円で、安全に見積もった資産150億円に対して時価総額115億円です。土地は兵庫県の工場で23億円、新宿区の本社ビルが1809平米で56億円です。賃貸不動産の含み益はありません。

普通の小売業に比べて、在庫リスクが少ないのも魅力です。商品及び製品は7億円しか持っていません。食材の供給と物流はグループのアサヒL&Cが行っています。参入障壁も低いわけではなく、894もの店舗網をこれから築くのは難しいでしょう。

バランスシート的には激安とまではいえないのですが、リスクが少なく、長期的に安定した配当を得られそうなので、REIT的なポジションで保有するのは悪くないのではないでしょうか。

TDnetSearchでハークスレイの開示情報を検索

Adobe AirでInvalid Bundleのエラーが出る

Adobe AirでiOSアプリを作成して申請すると、Application Loaderでは成功しますが、iTunes Connectの認証で以下のエラーが発生しました。

Invalid Bundle - The bundle at '/Payload/イラブペイント.app' does not contain a bundle executable.


ipaをunzipしてinfo.plistを確認しても、CFBundleExecutableは正しく記述されていますが、どうやら、日本語だと弾かれるようです。

xxx-app.xmlのfilenameを英語表記に変更し、nameにアプリ名を日本語で入力することで、回避できました。

TDnetViewのiOS版をリリースしました

東証の適時開示情報をアプリで確認できるTDnetViewのiOS版をリリースしました。プルダウンで新着情報を取得できる他、お気に入り企業の新着情報の通知や、開示情報の全文検索にも対応しています。ぜひ、ご利用下さい。

IMG_1687IMG_1691





Xcode7のStoryboardでUITableViewの横幅を100%にする

Xcode7でTabbedApplicationを作成し、FirstViewにUITableViewを配置しただけでは、横幅に600pxが固定値で代入されてしまいます。そのため、iPhone5Sなど、小さな端末ではコントロールがウィンドウサイズを超えてしまいます。

コントロールの横幅をウィンドウサイズに制約するには、Constraintを使います。まず、UITableViewを選択し、CTRLを押しながら上位のViewにドラッグします。


width

出てきたウインドウから、trailing space to container marginを設定すると右端がウィンドウに吸引します。また、loading space to container marginを設定すると、左端がウィンドウに吸引します。

ios 8 Storyboard Search Bar Too Wide

iPad Proの筆圧をJavaScriptで取得する

iPad ProとApple Pencilを使用すると、JavaScriptで筆圧を取得することができます。取得方法はとても簡単で、touchmoveイベントの中で、forceプロパティを参照するだけです。

if(e.touches[0].force){
pressure=e.touches[0].force;
}

pressureには0〜1.0の値が入ります。ただし、touchstartの最初の筆圧は、かなり強い値が来ることがあるので、いくつかの値は捨てた方がよいかもしれません。

筆圧を使用したお絵かきツールのサンプル

IMG_1649

AppEngineでPDFのバイナリからテキストを抽出する

Google AppEngineでPDFからテキストを抽出するには、pdfminerを使うと便利です。pdfminerは、ピュアPythonで書かれた、PDF解析ライブラリです。

ライブラリのインポートは、GitHubのpdfminerのリポジトリからpdfminerフォルダをAppEngineのプロジェクトフォルダにコピーするだけです。以降、以下のようなコードでテキスト抽出を行うことができます。get_pdf_textの引数のcontentはPDFのBlobです。

from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfpage import PDFPage

from io import BytesIO
from StringIO import StringIO

def process_pdf(rsrcmgr, device, fp, pagenos=None, maxpages=0, password='', caching=True, check_extractable=True):
	interpreter = PDFPageInterpreter(rsrcmgr, device)
	for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=check_extractable):
		interpreter.process_page(page)

def get_pdf_text(content):
	rsrcmgr = PDFResourceManager()
	retstr = StringIO()
	codec = 'utf-8'
	laparams = LAParams()
	device = TextConverter(rsrcmgr, retstr, codec=codec)

	input_io = BytesIO(content)
	try:
		process_pdf(rsrcmgr, device, input_io, None , 8)	#max 8 page
	except:
		return ""
	device.close()

	str = retstr.getvalue()
	retstr.close()

	self.text=db.Text(str, encoding="utf-8")

	return str

ただし、認識できなかった文字コードは(cid:xxx)のようなテキストが返ってくるので、見栄えが気になる場合は適当にgrepしてやる必要があります。また、process_pdfに大きなPDFを与えると、AppEngineのスモールインスタンスではメモリが不足するので、ページ数は適当に制約をかける必要があるかと思います。

他、ピュアPythonのPDF解析ライブラリとして、pypdf2もありますが、日本語のPDFがうまく解析できなかったので、pdfminerの方がオススメです。

2016年前半の買い物

Fostexのボリュームコントローラ。会社でRolandのOctaCaptureを使ってたのですが、音を聞くだけにしては仰々しいなと思い、買い換えました。小型でドライバレス、さらに手元でボリュームコントロールできて便利です。PC内蔵のヘッドフォン端子はかなりのノイズを拾うので、USBオーディオにするだけで音は改善します。金属の質感がいい感じです。



AukeyのUSB type CとUSB type Aの変換コネクタ。1個買って数ヶ月使って安定していたので、追加購入しました。Mac Book 12で開発をする際に、ライトニングケーブルに常備しておくと便利です。



ブラウンの時計。小型なので買い集められます。自宅用と会社用に購入しました。





Amazonクレジットカード。ヨドバシクレジットカードをメインで使っていたのですが、最近、ネットでの家具の注文が審査で弾かれることが多くなってきたのと、マネーフォワードで使えなくなったので、乗り換えました。AmazonのKindle本の購入での1.5%の還元率が魅力です。

AppEngineのSearchAPIで検索できない単語がある場合の対策

AppEngineのSearch APIでは、一般的な単語が含まれる場合は適切に検索できません。例えば、「三井倉庫」で検索しようとした場合、「倉庫」を含むだけで検索結果に出現してしまいます。

この問題の対策としては、三井倉庫ではなく、”三井倉庫”で検索する必要があります。しかし、一般のユーザに、意識的に””を入力してもらうのは難しいのが現状です。

そこで、AppEngineのSearch APIに投げる前に、クエリを加工するのがよいと考えています。

		query=query.replace(" "," ")
		query_list=query.split(" ")
		query_actual=""
		for one_query in query_list:
			if(one_query!="OR" and one_query!="AND" and one_query!="NOT"):
				if(not re.match(".*[ :><=\"].*",one_query)):
					one_query="\""+one_query+"\""
			if(query_actual!=""):
				query_actual+=" "
			query_actual+=one_query

		try:
			query=search.Query(
				query_string=query_actual,
				options=options,)
		except:
			return "query error"

上記コードでは、ORやANDやNOT、title:などの制御系クエリでない場合に、自動的に””を付加します。また、全角スペースを半角スペース(OR)に置換します。これで、普通のGoogle検索のように使うことができます。

2015年に買って良かったもの

2015年もあと僅かということで、今年買ってよかったものをまとめます。

Nexus6


発表されるまではiPhone6Sを買う気だったのですが、さすがに10万円超えはどうなんだろうということで、Nexus6にしてしまいました。何と、Expansysのセールで、4万3千円(関税込)です。iPhone5Sからの乗り換えですが、メモリを3GB搭載しているため、使いはじめると戻れない快適さです。最近は、ほとんどのアプリにiOS版とAndroid版があるので、OSを変えても困ることはなくなりましたね。



Mac Book 12 + Porter Tanker


Mac Book 12とPorterのTankerを使うようになってから、劇的に仕事道具が軽くなりました。最近は、出張が増えてきたこともあり、とにかく軽さを優先して、いろいろなものを選んでいたりします。





SIGG トラベラー


洗練されたデザインのアルミの水筒です。毎日、ペットボトルを捨てる生活というのもどうかなということで、水を持ち運ぶようになりました。飲み終わるととても軽くなるのが魅力です。



Anker 60W USB急速充電器 + プレミアムスピーカー


初Ankerでしたが、あまりに便利で、40W版や、旅行用の折りたためるタイプなど、Anker製品を買い集めてしまいました。プレミアムスピーカーもよく使っています。小さいは正義。





Google Play Music + U-NEXT


今年は定額制のコンテンツ配信サービスが一気にスタートしました。月額780円で聴き放題のGoogle Play Musicは毎日使っています。また、ビデオ配信は、この一年でHulu -> Netflix -> U-NEXTと乗り換えました。U-NEXTは月額1980円と高額ではありますが、1000円分のポイントが付くので、実質的には980円で、ビデオの見放題サービスと、雑誌の読み放題サービスが楽しめます。まだUIなど、発展途上ではありますが、今後に期待してU-NEXTの株も買ってしまいました。

Kindle本


今年も大量に購入しましたが、特によかった本は以下です。







来年もよい買い物をしていきたいです。

これからの投資アイディア

最近読んだ記事の中で、中長期的な投資アイディアになりそうな記事をまとめます。

車載機器向けFPGA事業を強化、ADASにプログラマブルソリューション提供

車載において、マイコンからFPGAへの移行が進んでいるという話です。車載では機能安全という考え方があります。かなり省略して説明すると、速度が100km出ているのにメーターが20kmしか表示していなかったら大変な事故が起きるため、むしろブラックアウトさせた方がよいということで、外的なノイズやバグが入ったとしても、適切に壊れるように設計するものです。このように、車載では、人の命に係るため、かなり厳しく品質検査が行われます。

従来のASSP(固定特定機能半導体)では、内部の機能がブラックボックスになっているため、中の論理まで検証することはできません。しかし、FPGAであれば、機能はHDLというハードウェア向けのプログラミング言語で記述されるため、ブラックボックスがなくなり、全ての機能を検査することができます。また、リコールがあった場合でも、プログラムの更新でバグを修正することができます。

それでは、最初から全てソフトウェアで書けばよいかというと、そうともいかず、特にモーターなどの制御ではスレッド単位でしか並列化できないCPUでは限界があります。何十個ものモーターを、リアルタイムに制御するには、ハードウェアの並列度が必要になります。

自動運転など、今後、複雑化が進むであろう車載機器においては、FPGAの重要度は上がっていくと考えられます。

南場氏「全力で反対したけど玉砕して」 DeNAの“何でもあり”戦略を支える3つの質問

いくら前もって完全なビジネスモデルを用意したとしても、ユーザに使われなくては意味がない。事業の価値は最終ユーザのエクスペリエンスが最も重要であり、そこが完成した後に、ビジネスモデルや市場調査を行うべきという考え方が示されています。

大企業ほど、事前の経営会議へのプレゼンや、そのための社内整備に時間をかけてしまい、その過程でどんどん製品が丸くなっていき、ユーザエクスペリエンスを損なうという問題に対して、先にプロダクトを作ってから経営会議にかけるべきというのは、プロトタイピングコストの下がった現代の理想的なモデルだと思います。

新規事業というのは、高いモチベーションと勢いが必要なので、企画よりも前に、直感で欲しいものを作って、製品で語るという形にしていける社内体制というのは素敵だなと思います。また、役員が自ら現場に戻ったり、流動性が高い組織構造も魅力的だなと思います。

新しいビジネス

倉庫会社がITを使って3PLのような新規ビジネスを作ることはできるが、IT会社が倉庫を持って3PLを始めるのは難しいという、企業アセットの片方向性の話です。同様の話は、ハードウェア、ソフトウェア、インターネットにも言えて、インターネット企業がハードウェアを作るのは難しいけれど、ハードウェア企業がインターネットを利用してハードウェアを拡張するのは現実的という話もできるかと思います。

一見、時代遅れに見える企業が、何かのきっかけでその壁を超えると強力な新規ビジネスを生むというのはよくある話で、この片方向性をうまく利用するとよいかと思います。ドワンゴなどは、経営的にリスクを取って、意図的にこの壁を越えようとしていますね。

可能性と蓋然性のお話、そーせいホルダーは時価総額1兆円の夢を見るか

大きな成功には、よい意味の勘違いが必要という話です。経験を重ねるごとに、成功の確立が低いことを見切ってしまって、結局、チャンスをつかめないというのは身につまされる話です。

新規ビジネスにおいても、実際に動いて初めて得られる情報というのものあるわけで、絶対に失敗すると思った事業が、若手の熱い熱意と適切なピボットによって、思わぬ形で成功したりするわけです。先が読める人ほど、早めに見切ってしまうので、意識的に後一歩待つのは重要かなと思います。

ということで、来年はこのあたりを考えながら、よりよい投資をしていければなと思います。

2015年11月末のポートフォリオ

2015年11月末の時点で、組み入れ比率の高い銘柄は以下の3つです。

中部日本放送

日本放送と言いながらTBS系です。PBR0.36で財務鉄壁。無借金で現金、不動産、有価証券を大量に保有しています。また、時価総額が176億円でありながら、賃貸不動産の含み益は67億円もあります。放送で稼いだお金を不動産に投資するという鉄壁のビジネスモデルが魅力。名証ということで、東証にあらずんば株にあらずという最近のトレンドに負け、過小評価されていると思います。朝日放送のように東証に鞍替えできれば、PBR1倍までは評価されるのではないでしょうか。名古屋が地盤ということで、リニアもあるので、人口減はゆるやかに推移することが期待できます。

旭化成

杭問題で叩き売られた国際優良銘柄。人工透析で国内トップシェアだったりします。結局、旭化成以外でもデータ流用が見つかり、旭化成の問題ではなく業界全体の問題のわりに、旭化成だけ売り込まれています。現預金は1100億円もあるので、横浜の賠償も特に問題なくこなせるはずです。

マルキョウ

福岡のスーパー。スーパーで自己資本比率81.5%というのは珍しいのではないでしょうか。こちらも無借金で現金、不動産、有価証券を大量に保有していながら、PBRは0.31です。福岡も数少ない人口増加エリアです。内需株で分散しようとすると、人口動向から、東京・横浜・名古屋・福岡に集約する必要がある中、貴重な福岡銘柄です。

その他の組み入れ銘柄

優良立地なのにNAVが0.8を割っていたグローバル・ワン、PBRが0.41と魅力的な愛知電機、都心型立地の再編期待でりそな銀行、ブルーボトルコーヒーによる清澄白河の活性化に期待して丸八倉庫を持っています。横浜銘柄ということで東部ネットワークも追加したいですね。

ウエイトを下げた銘柄

去年の段階では膨大な不動産の含み益から三井倉庫を推していたのですが、積極的すぎるM&Aがどっちに転ぶかわからないので、ウエイトを下げています。また、北陸ガスも国内のエネルギー基地である新潟地盤ということで持っているのですが、PBRが低いながらも供給設備がほとんどなので、新規参入が難しいながら、大きく上がることもないかなと考え、ウエイトを下げています。

優待銘柄

優待銘柄として、ユニバーサル、パルコ、BS11、朝日放送、京阪神ビルディングを保有中。株主総会用にIGポートを持っています。

分散か集中か

今年は、実験的に銘柄数を30程度まで増やしてみました。結果としては、わりと絞り込んで投資した銘柄の方が上昇率はよかったです。なので、集中投資してもよいと思えるぐらいの銘柄を5銘柄ぐらいに分散して持つのがよいのかなと考えています。ミドルリスク・ミドルリターンということで。

世界分散

今後の方向性としては、米国個別株を増やしていきたいです。米国四季報を見ていると、米国企業はグローバル展開前提で経営していて、成長性に魅力があります。米国株のインデックスは円安と合わせてかなり高いところまで行ってしまったので、インデックスを買う勇気はないのですが、個別株ならまだ可能性はあるかなと思います。

総論

今年は9月ぐらいが一番苦しかったですが、9月に買い増せたことで、11月には取り戻した感じです。投資効率を最大化しようとすると、現金を全部投入しがちなのですが、ある程度のバッファーは必要だなと実感した次第です。11月中旬に再度、現金化したので、来年も、ミドルリスク・ミドルリターンで、まったり投資していこうと思います。

iOS9とAppEngineでjsの読み込みに30秒かかる

iOS9に上げると、AppEngineのjsのGETリクエストのレイテンシが30秒になってしまいました。

ワークアラウンドとしては、以下のように、jsのドメインを別のドメインにする必要があります。独自ドメインを使用している場合は、規定で割り当てられる、appspot.comを流用できるかと思います。

変更前
script src="/javascript/categoryScript.js">

変更後
script src="yourid.appspot.com/javascript/categoryScript.js">


モバイルSafariの通信を、Safariでプロファイルすると、以下のようにレイテンシが30secになっています。

masonry_latency

同じ通信をAppEngineサイドから。最初のGETリクエストはAppEngineのログには残っておらず、30sec後の最後のリクエストだけが残っています。成功したリクエストはHTTP1.1ですね。

masonry2

最初は、iOS9から対応したHTTP2で、AppEngineとプロトコルの齟齬が発生しているんじゃないかなと推測していたのですが、AppEngineはhttpsでないとHTTP2で通信しないようです。HTTP2 and SPDY Indicatorでも、HTTP1.1となっていたので、HTTP2が問題ではなさそうです。

TDnetViewに全文検索機能を追加しました

東証の適時開示情報を閲覧できるAndroid向けアプリ、TDnetViewにPDFの内容を検索できる全文検索機能を追加しました。従来はタイトルと企業名での検索しかできませんでしたが、より詳細に開示情報を検索することができます。また、適時開示情報のプレビューを行えるため、PDFを開かなくても、ざっくりと内容を確認することができます。

Screenshot_2015-10-18-19-59-34

今回のアップデートに合わせて、サーバ側にPDFを保存するようになったため、東証の掲載期間である一ヶ月を過ぎた開示情報も閲覧できるようになりました。尚、検索と保存対象は、2015年9月17日以降の開示情報となります。

ダウンロードは以下からどうぞ。

Get it on Google Play

iPhoneやPCからは、Web版のTDnetSearchがご利用頂けます。

Xcode7におけるリンクエラーへの対策

Xcode7において、Xcode6で作成したStatic Link Libraryをリンクしようとすると、以下の二種類のエラーが発生します。

Enable Bitcodeに関するエラー


Xcode7では、-fembed-bitcodeがデフォルトで有効になりました。そのため、Xcode6でビルドしたStatic Link Libraryをリンクしようとすると、以下のようなリンクエラーが発生します。

ld: '*.a' does not contain bitcode. You must rebuild it with bitcode enabled
(Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor,
or disable bitcode for this target. for architecture arm64


この問題を解決するには、Static Link Libraryに-fembed-bitcodeオプションを付けてビルドする必要があります。サードパーティのライブラリを使用していてリビルドできない場合は、Build OptionsのEnable BitcodeをNOにすることで回避することができます。Unity5.1から生成されるXcodeプロジェクトも同様のリンクエラーが発生しますが、Enable BitcodeをNOに設定することで回避することができます。

ただし、watchOS向けにビルドする場合は、Enable Bitcodeは必須です。Enable Bitcodeを有効にすると、バイナリサイズは概ね3倍に膨らみます。

Enable Bitcodeを有効にすると、生成バイナリにLLVMのビットコードが含まれるようになります。将来的に、新しいCPUアーキテクチャが追加された場合に、App StoreがLLVMのビットコードから自動的にリビルドしてくれるようになります。

参照:Xcode7GMでビルドすると「does not contain bitcode.」とか言われる

Universal Binaryに関するエラー


Xcode7でUniversal Binaryを使用して、シミュレータ向けにビルドしようとすると、以下のようなリンクエラーが発生します。

ld: in *.a, building for iOS simulator,  
but linking in object file built for OSX, for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Xcode6のStatic Link Libraryでは、iOS simulator向けのビルドにおいて、-mmacosx-version-min=XX が設定されていますが、Xcode7では-miphoneos-version-min=XX が設定されるようになりました。そのため、Xcode6でビルドした場合は、ターゲットプラットフォームのミスマッチが発生します。

この問題を解決するには、Static Link Libraryに-miphoneos-version-min=XXオプションを付けてビルドする必要があります。サードパーティのライブラリを使用していて、リビルドできない場合の回避方法はありません。

この変更は、armバイナリとx86バイナリがOSX向けかiOS向けかを明確に区別する必要が出てきたためだと考えられます。

参照:Xcode 7's New Linker Rules
Recent Comments
月別アーカイブ
Search
Profile
Twitter
TopHatenar
HotEntry
Counter

アクセス解析付きカウンター。あなたのBLOGにもどうですか?登録はこちらから。

TOP/ BLOG/ LECTURE/ ONLINE/ RUINA/ ADDON/ THREAD/ METHUSELAYZE/ IPHONE/ MET_IPHONE/ ENGLISH/ RANKING