マックブックな日々(Macbook Geek) Retina Macbook Proで行った設定、アプリのインストール、トラブル対策等の覚書 2019-02-09T19:55:11+09:00 yasuda0404 Hatena::Blog hatenablog://blog/12704591929888232981 iOSアプリ開発の理解 hatenablog://entry/98012380862860402 2019-02-09T19:55:11+09:00 2019-02-09T19:55:11+09:00 ## Apple Developer(リモート)### Certificate### Devices### AppID### Provisioning Profile ## Mac(ローカル)### Provisioning ProfileApple Developerからダウンロードする。拡張子は、'***.mobileprovision'。 ### P12Keychainに登録したCertificate。書き出すと、拡張子'.p12'のファイルになる 参考 dev.classmethod.jpmacdays.hatenablog.com <p>## <a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a> Developer(リモート)</p><p>### Certificate</p><p>### Devices</p><p>### AppID</p><p>### Provisioning Profile</p><br /> <br /> <p>## <a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>(ローカル)</p><p>### Provisioning Profile</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a> Developerからダウンロードする。拡張子は、'***.mobileprovision'。</p><br /> <p>### P12</p><p>Keychainに登録したCertificate。書き出すと、拡張子'.p12'のファイルになる</p><br /> <br /> <br /> <p>参考<br /> <iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdev.classmethod.jp%2Fsmartphone%2Fiphone%2Fapple-certificates-summary-and-etc%2F" title="Appleの証明書とかまとめ! | DevelopersIO" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="https://dev.classmethod.jp/smartphone/iphone/apple-certificates-summary-and-etc/">dev.classmethod.jp</a></cite></p><p><iframe src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fmacdays.hatenablog.com%2Fentry%2F2013%2F10%2F11%2F172532" title="iOS App開発:.p12ファイルとProvisioning Profileの作成 - マックブックな日々(Macbook Geek)" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="http://macdays.hatenablog.com/entry/2013/10/11/172532">macdays.hatenablog.com</a></cite></p> yasuda0404 NASへのアクセスが遅い問題 hatenablog://entry/8599973812290589800 2017-08-21T08:53:07+09:00 2018-12-19T10:08:03+09:00 ### 2018/12/19 追記macOS Mojaveにしてから、LinkStationの共有フォルダへアクセスするとハングアップするようになってしまった!!移動ーサーバーへ接続で、再度、smb://で接続設定したところ、以前より速くなった。サーバー接続はAFPではなく、SMBで接続すること! ### オリジナル本文LANでNASにアクセスしているが、Finderからリストを取得したり、読み込み・保存するのがやけに遅い。同じLANに接続しているWindowsマシンでは問題ないので、Mac固有の問題らしい。「Mac NAS アクセス遅い」と検索すると、いくつかの対策が出てくる。 ymkn.h… <p>### 2018/12/19 追記</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/macOS">macOS</a> Mojaveにしてから、LinkStationの共有フォルダへアクセスするとハングアップするようになってしまった!!</p><p>移動ーサーバーへ接続で、再度、smb://で接続設定したところ、以前より速くなった。</p><p>サーバー接続はAFPではなく、SMBで接続すること!</p><br /> <br /> <p>### オリジナル本文</p><p>LANで<a class="keyword" href="http://d.hatena.ne.jp/keyword/NAS">NAS</a>にアクセスしているが、Finderからリストを取得したり、読み込み・保存するのがやけに遅い。同じLANに接続している<a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>マシンでは問題ないので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>固有の問題らしい。</p><p>「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/NAS">NAS</a> アクセス遅い」と検索すると、いくつかの対策が出てくる。</p><br /> <br /> <br /> <p><iframe src="https://hatenablog-parts.com/embed?url=http%3A%2F%2Fymkn.hatenablog.com%2Fentry%2F2012%2F09%2F24%2F002517" title="MacからNASとかWindowsの共有フォルダへのアクセスが妙に遅いのを解決する - ymknの日記" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="http://ymkn.hatenablog.com/entry/2012/09/24/002517">ymkn.hatenablog.com</a></cite></p><p>```<br /> sudo sysctl -w net.inet.<a class="keyword" href="http://d.hatena.ne.jp/keyword/tcp">tcp</a>.delayed_ack=0<br /> ```</p><br /> <br /> <p><a href="https://wp.bmemo.pw/48">https://wp.bmemo.pw/48</a><cite class="hatena-citation"><a href="https://wp.bmemo.pw/48">wp.bmemo.pw</a></cite></p><br /> <p><a href="https://discussionsjapan.apple.com/thread/10159088?start=0&tstart=0">&#x5171;&#x6709;&#x30D5;&#x30A9;&#x30EB;&#x30C0;&#x306E;&#x30D5;&#x30A1;&#x30A4;&#x30EB;&#x306E;&#x4E00;&#x89A7;&#x8868;&#x793A;&#x304C;&#x9045;&#x3044; - Apple &#x30B3;&#x30DF;&#x30E5;&#x30CB;&#x30C6;&#x30A3;</a></p> yasuda0404 iOSデバイスへの、複数のGmailアカウントの設定 hatenablog://entry/10328749687181784859 2016-09-01T08:42:04+09:00 2016-09-01T08:42:04+09:00 Gmailは、ひとつのGmailアカウントに、既存のEメールアドレス(アカウント)を登録できる。これを使うと、ひとつのGmailアカウントにログインするだけで、登録したさまざまなEメールアドレスから送受信できるので、とても便利。さらに、iPhoneのメールにGmailアカウントを登録しておけば、iPhoneからも送受信できるようになる。が、この方法は忘れがちなので、備忘録。要は、このサイトをみればいい!cogloglab.com <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Gmail">Gmail</a>は、ひとつの<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gmail">Gmail</a>アカウントに、既存のEメールアドレス(アカウント)を登録できる。これを使うと、ひとつの<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gmail">Gmail</a>アカウントにログインするだけで、登録したさまざまなEメールアドレスから送受信できるので、とても便利。</p><p>さらに、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>のメールに<a class="keyword" href="http://d.hatena.ne.jp/keyword/Gmail">Gmail</a>アカウントを登録しておけば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>からも送受信できるようになる。</p><p>が、この方法は忘れがちなので、備忘録。</p><p>要は、このサイトをみればいい!</p><p><iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Fcogloglab.com%2Ftips%2Fiphone-%25E3%2581%25AB%25E3%2581%258A%25E3%2581%2591%25E3%2582%258B-gmail-%25E3%2581%25AB%25E8%25A8%25AD%25E5%25AE%259A%25E3%2581%2597%25E3%2581%259F%25E8%25A4%2587%25E6%2595%25B0%25E3%2582%25A2%25E3%2582%25AB%25E3%2582%25A6%25E3%2583%25B3%25E3%2583%2588%25E3%2581%25AE%25E5%2588%25A9%25E7%2594%25A8%25E6%2596%25B9%2F" title="iPhone における Gmail に設定した複数アカウントの利用方法について考えてみた ; Tips of Gmail for iPhone" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="http://cogloglab.com/tips/iphone-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B-gmail-%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E8%A4%87%E6%95%B0%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AE%E5%88%A9%E7%94%A8%E6%96%B9/">cogloglab.com</a></cite></p> yasuda0404 iOS App開発:.p12ファイルとProvisioning Profileの作成(改訂版) hatenablog://entry/10328749687180902750 2016-08-26T16:57:43+09:00 2016-08-26T16:57:43+09:00 参考:Adobe iPhoneアプリの開発方法 for Flash 前バージョン: macdays.hatenablog.com iOSアプリ開発には、Provisioningプロファイルと、.p12ファイルの2つが必要。 ####1. .p12ファイル Mac上のキーチェーンアクセスで作成したCSRファイルをDev Centerにアップロードし、Certificateファイルをダウンロード、キーチェーンに登録して、.p12ファイルを作成する。 ####2. Provisioning プロファイルCertificate, App ID, DevicesをまとめたProvisioningプロファ… <p>参考:<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe">Adobe</a> <a href="http://www.adobe.com/jp/devnet/flash/articles/iphone_flash_1.html">iPhone&#x30A2;&#x30D7;&#x30EA;&#x306E;&#x958B;&#x767A;&#x65B9;&#x6CD5; for Flash</a><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011162257.jpg" alt="f:id:yasuda0404:20131011162257j:plain" title="f:id:yasuda0404:20131011162257j:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>前バージョン:<br /> <iframe src="http://macdays.hatenablog.com/embed/2013/10/11/172532" title="iOS App開発:.p12ファイルとProvisioning Profileの作成 - マックブックな日々(Macbook Geek)" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="http://macdays.hatenablog.com/entry/2013/10/11/172532">macdays.hatenablog.com</a></cite></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>アプリ開発には、Provisioningプロファイルと、.p12ファイルの2つが必要。</p><br /> <p>####1. .p12ファイル<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>上のキーチェーンアクセスで作成した<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルをDev Centerにアップロードし、Certificateファイルをダウンロード、キーチェーンに登録して、.p12ファイルを作成する。</p><br /> <p>####2. Provisioning プロファイル</p><p>Certificate, App ID, DevicesをまとめたProvisioningプロファイルを作る。<br /> Certificateは開発者登録、App IDはアプリの識別番号、Devicesは開発に使用するデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4">バイ</a>ス。</p><br /> <br /> <br /> <br /> <p>###1. .p12ファイルの作成</p><p><a href="https://developer.apple.com/membercenter/index.action">Apple Developer Center</a>へログイン。<br /> 'Certificates, Identifiers & Profiles'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826154247.png" alt="f:id:yasuda0404:20160826154247p:plain" title="f:id:yasuda0404:20160826154247p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>####Certificates</p><p>左メニューで "<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>, tvOS, watchOS"を選択する(デフォルト状態)。</p><p>Certificates - All を選択、右上の「+」から、新しいCertificateを追加する。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826154555.png" alt="f:id:yasuda0404:20160826154555p:plain" title="f:id:yasuda0404:20160826154555p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>種類を選択して、ページ再下欄の'Continue'。 (通常のアプリの場合は、開発時:Development-<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> App Development、リリース時:Production-<a class="keyword" href="http://d.hatena.ne.jp/keyword/App%20Store">App Store</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Ad%20Hoc">Ad Hoc</a>、で良いと思われる。その他の選択肢は別途調査必要。)</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826154850.png" alt="f:id:yasuda0404:20160826154850p:plain" title="f:id:yasuda0404:20160826154850p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>(Certificate Signing Request)ファイルを作りなさい、というメッセージが表示される。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826155021.png" alt="f:id:yasuda0404:20160826155021p:plain" title="f:id:yasuda0404:20160826155021p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルの作り方は次の通り。</p><p>1) アプリケーション>ユーティリティから、キーチェーンアクセスを起動。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164352.png" alt="f:id:yasuda0404:20131011164352p:plain" title="f:id:yasuda0404:20131011164352p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>2) キーチェーンアクセス>証明書アシスタント><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C7%A7%BE%DA%B6%C9">認証局</a>に証明書を要求...<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164710.png" alt="f:id:yasuda0404:20131011164710p:plain" title="f:id:yasuda0404:20131011164710p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>ユーザのメールアドレスにEメールアドレスを、通称に名前を入力。<br /> CAのメールアドレスはブランクのままにして、要求の処理は「ディスクに保存」を選択。「続ける」</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルの保存場所を選択し、保存する。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011165349.png" alt="f:id:yasuda0404:20131011165349p:plain" title="f:id:yasuda0404:20131011165349p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>'CertificateSigningRequest.certSigningRequest’というファイルが保存される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011165508.png" alt="f:id:yasuda0404:20131011165508p:plain" title="f:id:yasuda0404:20131011165508p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>再びDeveloperサイトに戻る。<br /> Upload <a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a> Fileの'Choose File...'をクリックし、さきほどの'CertificateSigningRequest.certSigningRequest’ファイルを指定。再下欄の'Continue'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826160551.png" alt="f:id:yasuda0404:20160826160551p:plain" title="f:id:yasuda0404:20160826160551p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>しばらく後、'Your certificate is ready.'の画面が表示される。Certificateを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>上にダウンロードする。(ファイル名は、'<a class="keyword" href="http://d.hatena.ne.jp/keyword/ios">ios</a>_development.cer'などとなっている)<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826160457.png" alt="f:id:yasuda0404:20160826160457p:plain" title="f:id:yasuda0404:20160826160457p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p>(今後は、Certificatesメニューから、Certificateをダウンロードできる。’Done'で終了すると、作成したCertificatesがリストに表示される。これをクリックして、ダウンロードする。また、'Revoke'でCertificateを破棄できる。)</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826161523.png" alt="f:id:yasuda0404:20160826161523p:plain" title="f:id:yasuda0404:20160826161523p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p>ダウンロードしたCertificateをダブルクリック。Certificateがキーチェーンアクセスに登録される。**Certificateの有効期限は 1年になっている**<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826161710.png" alt="f:id:yasuda0404:20160826161710p:plain" title="f:id:yasuda0404:20160826161710p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>キーチェーンアクセスの画面で、該当証明書を選択し、「ファイル」>「書き出す」で、.p12ファイルが作られる。書き出す際にパスワードが要求されるので、入力する。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826163721.png" alt="f:id:yasuda0404:20160826163721p:plain" title="f:id:yasuda0404:20160826163721p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826163610.png" alt="f:id:yasuda0404:20160826163610p:plain" title="f:id:yasuda0404:20160826163610p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p>###2.Provisioning Profileの作成</p><p>再びDev Centerへ戻る。</p><p>####Identifiers</p><p>左メニュー'Identifiers'の設定を順次行う。</p><p>’App IDs'で、右上の'+’をクリックしてAppIDを追加する。<br /> Explicit App IDは、厳密にIDを指定する場合。<br /> Wildcard App IDは、最右の文字を'*'にすることで、'*'部分を変えて複数のAppに使える。</p><p>App IDは、逆<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C9%A5%E1%A5%A4%A5%F3">ドメイン</a>(jp.co.xxxxなど)が推奨。Wildcardの場合、最後を'.*'(例えば、jp.co.xxxx.*)とする。</p><p>Nameは後で変更可能だが、IDは変えられないので注意。</p><p>なお、完全なApp IDは、<br /> Prefix + '.' + ID<br /> となる。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826164244.png" alt="f:id:yasuda0404:20160826164244p:plain" title="f:id:yasuda0404:20160826164244p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p>####Devices</p><p>Devicesで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器を追加する。</p><p>UUIDは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器を<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>につないで確認する。「概要」メニューで、デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4">バイ</a>スのシリアル番号をクリックするとUUIDが表示され、右クリックするとコピーできる。<br /> <a href="http://mushikago.com/i/?p=1833">&#x53C2;&#x8003;</a>。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155801.png" alt="f:id:yasuda0404:20131011155801p:plain" title="f:id:yasuda0404:20131011155801p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>####Provisioning Profiles</p><p>Provisioning Profileとは、</p> <ul> <li>App ID(一つのみ)</li> <li>Certificate(複数可)</li> <li>Device ID(複数可)</li> </ul><p>からなるファイル。右上の'+'ボタンをクリック。<br /> Provisioning Profileの種類を選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165119.png" alt="f:id:yasuda0404:20160826165119p:plain" title="f:id:yasuda0404:20160826165119p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>App IDを選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165108.png" alt="f:id:yasuda0404:20160826165108p:plain" title="f:id:yasuda0404:20160826165108p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>Certificateを選択。Provisioning Profileの種類(Development/Production)と合致した種類のCertificateが必要。(未作成ならここから作成もできる。)<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165230.png" alt="f:id:yasuda0404:20160826165230p:plain" title="f:id:yasuda0404:20160826165230p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>適用するDeviceを選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165339.png" alt="f:id:yasuda0404:20160826165339p:plain" title="f:id:yasuda0404:20160826165339p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>プロファイルの名前を入力。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165540.png" alt="f:id:yasuda0404:20160826165540p:plain" title="f:id:yasuda0404:20160826165540p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>Provisioning Profileが作成される。ダウンロードする。[入力名].mobileprovision というファイル名になる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160826/20160826165707.png" alt="f:id:yasuda0404:20160826165707p:plain" title="f:id:yasuda0404:20160826165707p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 外付けSSDがマウントできなくなった!…でハマる。 hatenablog://entry/6653812171394844593 2016-05-07T19:08:05+09:00 2016-05-07T19:09:12+09:00 外付けSSDがマウントできなくなった。トランセンドのStoreJet25M3(256GB)だ。これをORICOの外付けケースにいれて使っていたものだ。Macbookの本体SSDでは容量が足らないので、iTunesや写真のライブラリはすべて外付けSSDにしていたのだ。 USBを指しても、アイコンが現れない…。 顔面が蒼白になった。 最初、ケースかケーブルがだめになったのかと思い、トランセンドのケース(1700円ほどした!)に変えてみたが、状況変わらず。SSD本体の問題らしい。 ディスクユーティリティでみると、中身がグレーアウトしたアンマウント状態。上部の「マウント」ボタンを押すと、FirstAi… <p>外付け<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>がマウントできなくなった。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%BB%A5%F3%A5%C9">トランセンド</a>のStoreJet25M3(256GB)だ。これをORICOの外付けケースにいれて使っていたものだ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Macbook">Macbook</a>の本体<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>では容量が足らないので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>や写真のライブラリはすべて外付け<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>にしていたのだ。</p><br /> <p>USBを指しても、アイコンが現れない…。</p><br /> <p>顔面が蒼白になった。</p><br /> <p>最初、ケースかケーブルがだめになったのかと思い、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%BB%A5%F3%A5%C9">トランセンド</a>のケース(1700円ほどした!)に変えてみたが、状況変わらず。<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>本体の問題らしい。</p><br /> <p>ディスクユーティリティでみると、中身がグレーアウトしたアンマウント状態。上部の「マウント」ボタンを押すと、FirstAidをやれ、とでてくる。</p><p>で、FirstAidで「検証」「修復」しても、なんの問題もない、というメッセージ。なんてこった!</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160507/20160507190859.png" alt="f:id:yasuda0404:20160507190859p:plain" title="f:id:yasuda0404:20160507190859p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%BB%A5%F3%A5%C9">トランセンド</a>のサポートに電話して状況をつげると、S/Nを聞かれた。S/Nとともに「マウントできない」と訴えると、割りとあっさりと「交換しますので送ってください」という回答。ハズレロットだったのか。。。?</p><p>交換してくれるのいいとして、「交換するということは中身のファイルは消えるということですか?」と聞いたら、「そうです」という回答。いや、それでは困るのだ。僕の思い出の写真が消えては困る!</p><br /> <p>そこで、なんとかリカバリーしようと頑張った。</p><br /> <br /> <p>有料のディスクのリカバリー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C4%A1%BC%A5%EB">ツール</a>を試してみたが、ばらばらとファイルが出てくるだけでこれでは使えそうにない。</p><p>あとは、ディスクイメージをつくって救い出すしかない。。。。背に腹は変えられず、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%BB%A5%F3%A5%C9">トランセンド</a>の外付けHDD(1TB)を購入した。こうなったら、全部<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%E9%A5%F3%A5%BB%A5%F3%A5%C9">トランセンド</a>でやってやる!</p><br /> <p>最初、ディスクイメージを別な外付けHDDに作ってみた。ディスクユーティリティ上でグレーになったボリュームを選択し、トップメニューから「新規イメージ」を選択し、<a class="keyword" href="http://d.hatena.ne.jp/keyword/dmg">dmg</a>ファイルを作る。これは無事できた。</p><p>が、「復元」タブでこのイメージファイルから復元しようとすると、「リソースは使用中です」みたいなメッセージがでて復元できない!</p><p>こうなったらイメージファイルを経由せずに、直接復元だ!ディスクユーティリティの「復元」タブで、「ソース」にグレーアウトしたボリュームを選択し、復元先に、購入した外付けHDDをアサインする。で、「復元」。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20160507/20160507190453.png" alt="f:id:yasuda0404:20160507190453p:plain" title="f:id:yasuda0404:20160507190453p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>コピーに数十分かかり、完了後、HDDを見てみると。。。。おお、<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>のファイルが戻っている!</p><br /> <p>いや、これは大変だった。もうこんな思いはしたくないので、今後は、購入したHDDを使うことにする。</p><p>もちろん、<a class="keyword" href="http://d.hatena.ne.jp/keyword/SSD">SSD</a>は交換してもらいますよ!</p> yasuda0404 KeynoteのファイルをiPhone (iPad)へもっていく hatenablog://entry/6653586347155314031 2016-01-31T09:45:49+09:00 2016-01-31T09:45:49+09:00 某イベントで簡単なプレゼンを行うことになったのだが、わざわざMacbookをもっていくのもおっくうだ。iPhoneでできないかと思って方法を探したら、このあたりが参考になった。support.apple.comもっともiCloudを使えばもっと簡単に同期できるのだが、ローカルにもっておくほうが安心。 <p>某イベントで簡単なプレゼンを行うことになったのだが、わざわざ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Macbook">Macbook</a>をもっていくのもおっくうだ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>でできないかと思って方法を探したら、このあたりが参考になった。</p><p><iframe src="//hatenablog-parts.com/embed?url=https%3A%2F%2Fsupport.apple.com%2Fkb%2FPH18379%3Flocale%3Dja_JP%26viewlocale%3Dja_JP" title="Keynote for iOS (iPad): 「iTunes」を使用してファイルを転送する" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"></iframe><cite class="hatena-citation"><a href="https://support.apple.com/kb/PH18379?locale=ja_JP&viewlocale=ja_JP">support.apple.com</a></cite></p><p>もっとも<a class="keyword" href="http://d.hatena.ne.jp/keyword/iCloud">iCloud</a>を使えばもっと簡単に同期できるのだが、ローカルにもっておくほうが安心。</p> yasuda0404 Desktopの壁紙がデフォルトに戻ってしまう hatenablog://entry/6653458415126528480 2015-11-01T08:12:53+09:00 2015-11-01T08:12:53+09:00 デスクトップの壁紙は、システム環境設定ーデスクトップとスクリーンセーバで変更できる。 しかし、これで設定しても再起動するとデフォルトの壁紙に戻ってしまう。調べると次の対策で解決(たぶん)。環境設定 | Apple サポートコミュニティ <p>デスクトップの壁紙は、</p><p>システム環境設定ーデスクトップとスクリーンセーバ</p><p>で変更できる。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20151101/20151101081138.png" alt="f:id:yasuda0404:20151101081138p:plain" title="f:id:yasuda0404:20151101081138p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>しかし、これで設定しても再起動するとデフォルトの壁紙に戻ってしまう。</p><p>調べると次の対策で解決(たぶん)。</p><p><a href="https://discussionsjapan.apple.com/thread/10102453?start=0&tstart=0">&#x74B0;&#x5883;&#x8A2D;&#x5B9A; | Apple &#x30B5;&#x30DD;&#x30FC;&#x30C8;&#x30B3;&#x30DF;&#x30E5;&#x30CB;&#x30C6;&#x30A3;</a></p> yasuda0404 iPhoneで録音したボイスメモのデータを取り出す hatenablog://entry/6653458415121349147 2015-09-14T15:55:00+09:00 2015-09-14T15:55:00+09:00 最近、インタビューなんかでiPhoneのボイスメモを使うことが多い。専用のレコーダーを持って行かなくてもいいのが最大の利点で、結構ちゃんと録音できる。ボイスメモで録音したデータはiTunesでMac(Windows)に取り込める。このためには、設定>ミュージックで、「ボイスメモを含める」にチェックを入れる。 録音はiTunesの再生機能を使って聴いていもいいが、より細かな操作をするためには別のプレーヤーを使いたい。そんな時は、iTunesライブラリから録音データをコピーすればいい。ボイスメモの保存場所は、通常、Music/iTunes/iTunes Media/Voice Memos にある。… <p>最近、インタビューなんかで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>のボイスメモを使うことが多い。専用のレコーダーを持って行かなくてもいいのが最大の利点で、結構ちゃんと録音できる。</p><p>ボイスメモで録音したデータは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>)に取り込める。このためには、設定>ミュージックで、「ボイスメモを含める」にチェックを入れる。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20150914/20150914155200.png" alt="f:id:yasuda0404:20150914155200p:plain" title="f:id:yasuda0404:20150914155200p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>録音は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>の再生機能を使って聴いていもいいが、より細かな操作をするためには別のプレーヤーを使いたい。そんな時は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>ライブラリから録音データをコピーすればいい。</p><p>ボイスメモの保存場所は、通常、Music/<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a> Media/Voice Memos にある。<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>フォルダの場所をカスタマイズしていれば、その場所をさがせばいい。</p> yasuda0404 ストレージの掃除で役だったTips hatenablog://entry/6653458415119612927 2015-08-31T09:11:31+09:00 2015-09-02T13:09:43+09:00 一般ハードディスクの空き容量が極端に少なくなる場合の対処方法 | Apple サポートコミュニティ xcode関連Xcode関連の不要ファイルを削除してディスクスペースを節約 - Qiitaqiita.com[Mac]Xcodeのキャッシュその他を削除したら空き容量が約100GB増えた話 | つくりんぐ 作業効率化Macでロックされてゴミ箱から削除できないファイルを消去する方法 / Inforatiinforati.jpMacで複数のウィンドウをまとめて「閉じる」「隠す」「しまう」方法 / Inforatiinforati.jp しかし、iOS/MacOS関連の開発をそんなにやっているわけでも… <p>一般</p><p><a href="https://discussionsjapan.apple.com/docs/DOC-1081">&#x30CF;&#x30FC;&#x30C9;&#x30C7;&#x30A3;&#x30B9;&#x30AF;&#x306E;&#x7A7A;&#x304D;&#x5BB9;&#x91CF;&#x304C;&#x6975;&#x7AEF;&#x306B;&#x5C11;&#x306A;&#x304F;&#x306A;&#x308B;&#x5834;&#x5408;&#x306E;&#x5BFE;&#x51E6;&#x65B9;&#x6CD5; | Apple &#x30B5;&#x30DD;&#x30FC;&#x30C8;&#x30B3;&#x30DF;&#x30E5;&#x30CB;&#x30C6;&#x30A3;</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/xcode">xcode</a>関連</p><p><iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Fqiita.com%2FhirayaCM%2Fitems%2F14dc021d4b27bdbfbb3d" title="Xcode関連の不要ファイルを削除してディスクスペースを節約 - Qiita" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"><a href="http://qiita.com/hirayaCM/items/14dc021d4b27bdbfbb3d">Xcode関連の不要ファイルを削除してディスクスペースを節約 - Qiita</a></iframe><cite class="hatena-citation"><a href="http://qiita.com/hirayaCM/items/14dc021d4b27bdbfbb3d">qiita.com</a></cite></p><p><a href="http://blog.valeur3.com/?p=1515">[Mac]Xcode&#x306E;&#x30AD;&#x30E3;&#x30C3;&#x30B7;&#x30E5;&#x305D;&#x306E;&#x4ED6;&#x3092;&#x524A;&#x9664;&#x3057;&#x305F;&#x3089;&#x7A7A;&#x304D;&#x5BB9;&#x91CF;&#x304C;&#x7D04;100GB&#x5897;&#x3048;&#x305F;&#x8A71; | &#x3064;&#x304F;&#x308A;&#x3093;&#x3050;</a></p><br /> <p>作業効率化</p><p><iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Finforati.jp%2Fapple%2Fmac-tips-techniques%2Fsystem-hints%2Fhow-to-delete-a-locked-file-from-trash-in-macos.html" title="Macでロックされてゴミ箱から削除できないファイルを消去する方法 / Inforati" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"><a href="http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-delete-a-locked-file-from-trash-in-macos.html">Macでロックされてゴミ箱から削除できないファイルを消去する方法 / Inforati</a></iframe><cite class="hatena-citation"><a href="http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-delete-a-locked-file-from-trash-in-macos.html">inforati.jp</a></cite></p><p><iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Finforati.jp%2Fapple%2Fmac-tips-techniques%2Fsystem-hints%2Fhow-to-close-multiple-windows-at-once-in-macos.html" title="Macで複数のウィンドウをまとめて「閉じる」「隠す」「しまう」方法 / Inforati" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"><a href="http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-close-multiple-windows-at-once-in-macos.html">Macで複数のウィンドウをまとめて「閉じる」「隠す」「しまう」方法 / Inforati</a></iframe><cite class="hatena-citation"><a href="http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-close-multiple-windows-at-once-in-macos.html">inforati.jp</a></cite></p><br /> <p>しかし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/MacOS">MacOS</a>関連の開発をそんなにやっているわけでもないのに、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>関連のファイルがこんなに溜まっていたとは驚き!<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>だけで、20GB以上削減に成功。</p> yasuda0404 Excelの動作を軽くする hatenablog://entry/8454420450099019204 2015-06-26T14:12:00+09:00 2015-06-26T14:12:00+09:00 MS Office for Macを使っているが、Excelがやたら重くなることがある。セルに入力するときもカーソルがまったく現れず、入力して↩をおしても、レインボーのカーソルが出たまましばらく戻ってこない。なんとかExcelの動作を正常に戻す方法ないかと探したら、これが参考になった。『MacのEXCEL(エクセル)の動作が遅いのを早くする解決方法』ameblo.jp 僕の場合は、フォントの重複はなく、plistを削除しただけで、動作は軽快になった。※なお上のリンクのplistの位置は若干変わっていて、 MacintoshHD(または自分の付けたコンピュータ名)> ユーザ > Preferen… <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/MS%20Office">MS Office</a> for <a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>を使っているが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>がやたら重くなることがある。セルに入力するときもカーソルがまったく現れず、入力して↩をおしても、レインボーのカーソルが出たまましばらく戻ってこない。</p><p>なんとか<a class="keyword" href="http://d.hatena.ne.jp/keyword/Excel">Excel</a>の動作を正常に戻す方法ないかと探したら、これが参考になった。</p><p><iframe src="//hatenablog-parts.com/embed?url=http%3A%2F%2Fameblo.jp%2Felcaworld%2Fentry-11514594602.html" title="『MacのEXCEL(エクセル)の動作が遅いのを早くする解決方法』" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;"><a href="http://ameblo.jp/elcaworld/entry-11514594602.html">『MacのEXCEL(エクセル)の動作が遅いのを早くする解決方法』</a></iframe><cite class="hatena-citation"><a href="http://ameblo.jp/elcaworld/entry-11514594602.html">ameblo.jp</a></cite></p><br /> <p>僕の場合は、フォントの重複はなく、plistを削除しただけで、動作は軽快になった。</p><p>※なお上のリンクのplistの位置は若干変わっていて、</p><br /> <p>MacintoshHD(または自分の付けたコンピュータ名)> ユーザ > Preferences > com.<a class="keyword" href="http://d.hatena.ne.jp/keyword/microsoft">microsoft</a>.office.plist</p><p>を削除する。</p> yasuda0404 ’Karabiner'でKEYを変更する hatenablog://entry/8454420450095127421 2015-05-21T22:16:11+09:00 2015-05-21T22:16:11+09:00 一部のキーがおしづらい、と感じることはだれでもあると思う。特によく使うキーが押しづらい位置にあることほどストレスが溜まることはない。 親指シフトのキーボードや、キックスタータに出ているエルゴノミクスキーボードにも手が出そうになったが、あまり特殊な環境に慣れてしまうと、他の場所に行った時に困ってしまう。標準のキーボードを踏襲しつつ、自分の使いやすいように一部をカスタマイズする、というのが現実的な解ではないだろうか。そんな要望を実現するのが、Karabiner - OS X用のソフトウェアだ。以前は'KeyRemap4MacBook'と呼ばれていたが、いつの間にか名前が変わったらしい。 Karab… <p>一部のキーがおしづらい、と感じることはだれでもあると思う。特によく使うキーが押しづらい位置にあることほどストレスが溜まることはない。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%C6%BB%D8%A5%B7%A5%D5%A5%C8">親指シフト</a>のキーボードや、キックスタータに出ているエルゴノミクスキーボードにも手が出そうになったが、あまり特殊な環境に慣れてしまうと、他の場所に行った時に困ってしまう。標準のキーボードを踏襲しつつ、自分の使いやすいように一部をカスタマイズする、というのが現実的な解ではないだろうか。</p><p>そんな要望を実現するのが、<a href="https://pqrs.org/osx/karabiner/index.html.ja">Karabiner - OS X&#x7528;&#x306E;&#x30BD;&#x30D5;&#x30C8;&#x30A6;&#x30A7;&#x30A2;</a>だ。以前は'<a class="keyword" href="http://d.hatena.ne.jp/keyword/KeyRemap4MacBook">KeyRemap4MacBook</a>'と呼ばれていたが、いつの間にか名前が変わったらしい。</p><br /> <p>Karabinerの操作は簡単で、アプリをたちあげ、'Change Key'のタブにキーリストが出てくるので、それぞれを変更する。</p><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20150521/20150521213815.png" alt="f:id:yasuda0404:20150521213815p:plain" title="f:id:yasuda0404:20150521213815p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>おこなった設定は次の通り。ちなみに僕はUSキーボードを使っている。</p><br /> <p>・スペースキーをシフトキーに。スペースキーのみ挿下時はスペースキー。<br />  Space to Shift_L (When you type Space only, send Space)</p><p>・FJ同時押しをリターンキーに。<br />  Simulatanious Key Presses - [F+J] to Return</p><p>・()の自動挿入<br />  Shift to Shift(+When you press Shift only, send the appropriate paranthesis)</p><br /> <p>なお、Karabinerはトップメニューに表示しておくと便利。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20150521/20150521214317.png" alt="f:id:yasuda0404:20150521214317p:plain" title="f:id:yasuda0404:20150521214317p:plain" class="hatena-fotolife" itemprop="image"></span><br /> 正方形の枠のようなアイコンが表示される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20150521/20150521214346.png" alt="f:id:yasuda0404:20150521214346p:plain" title="f:id:yasuda0404:20150521214346p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 OSXをアップグレードしてApacheが動かなくなった時 hatenablog://entry/8454420450078737873 2015-01-02T18:23:16+09:00 2015-01-02T18:23:16+09:00 遅ればせながらYosemite(OSX 10.10)にアップグレードしたらApacheが動かなくなった。ブラウザからローカルホストにアクセスすると403エラーが出てしまうのだ。 この原因は、OSアップグレードでApacheの設定が初期化されてしまったことのようだ。OSX10.9はApache 2.2、10.10はApache2.4とApacheのバージョンも変わっている。この対策としてもっとも参考になったのが、このサイト。Apache, MySQL, PHP and phpMyAdmin on OSX 10.10 Yosemite for Local Development このサイトに書かれ… <p>遅ればせながら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Yosemite">Yosemite</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/OSX">OSX</a> 10.10)にアップグレードしたら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a>が動かなくなった。ブラウザからローカルホストにアクセスすると403エラーが出てしまうのだ。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20150102/20150102085941.png" alt="f:id:yasuda0404:20150102085941p:plain" title="f:id:yasuda0404:20150102085941p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>この原因は、OSアップグレードで<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a>の設定が初期化されてしまったことのようだ。OSX10.9は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a> 2.2、10.10はApache2.4と<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a>のバージョンも変わっている。</p><p>この対策としてもっとも参考になったのが、このサイト。<a href="http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/">Apache, MySQL, PHP and phpMyAdmin on OSX 10.10 Yosemite for Local Development</a></p><br /> <p>このサイトに書かれていることをここにも再掲しておく。</p><br /> <p>1) ユーザconfigファイルを修正</p><p>/etc/apache2/users/へ移動</p> <blockquote> <p>$ cd /etc/apache2/users</p> </blockquote> <p>ここに「ユーザー名.conf」のファイルがあるかどうかをチェック。(ユーザー名は、'$ whoami'で確認できる)なければ新たに作成する。<br /> ユーザー名.confのファイルをrootで編集</p> <blockquote> <p>$ sudo <a class="keyword" href="http://d.hatena.ne.jp/keyword/emacs">emacs</a> username.conf</p> </blockquote> <p>次のように書く。一行目の"/Users/username/Sites/"は自分の環境に合わせる。</p> <blockquote> <p><Directory "/Users/username/Sites/"><br /> AllowOverride All<br /> Options Indexes MultiViews FollowSymLinks<br /> Require all granted</Directory></p> </blockquote> <p>confファイルの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D1%A1%BC%A5%DF%A5%C3%A5%B7%A5%E7%A5%F3">パーミッション</a>は次の通り設定する</p> <blockquote> <ul> <li>rw-r--r-- 1 root wheel 157 1 2 08:56 username.conf</li> </ul> </blockquote> <p><br /> 2) <a class="keyword" href="http://d.hatena.ne.jp/keyword/httpd">httpd</a>.confを編集</p> <blockquote> <p>$ sudo nano /etc/apache2/<a class="keyword" href="http://d.hatena.ne.jp/keyword/httpd">httpd</a>.conf</p> </blockquote> <p>次の4行のコメントを外す。</p> <blockquote> <p>LoadModule authz_core_module libexec/apache2/mod_authz_core.so<br /> LoadModule authz_host_module libexec/apache2/mod_authz_host.so<br /> LoadModule userdir_module libexec/apache2/mod_userdir.so</p><p>Include /private/etc/apache2/extra/<a class="keyword" href="http://d.hatena.ne.jp/keyword/httpd">httpd</a>-userdir.conf</p> </blockquote> <p><br /> 3) ユーザディレクトリのconfigファイルを編集</p> <blockquote> <p>$ sudo nano /etc/apache2/extra/<a class="keyword" href="http://d.hatena.ne.jp/keyword/httpd">httpd</a>-userdir.conf</p> </blockquote> <p>次の行のコメントを外す</p> <blockquote> <p>Include /private/etc/apache2/users/*.conf</p> </blockquote> <p><br /> 4) <a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a>を再起動</p> <blockquote> <p>$ sudo apachectl restart</p> </blockquote> yasuda0404 iOS App開発:Xcodeの設定 hatenablog://entry/11696248318758653388 2013-10-11T22:26:24+09:00 2013-10-11T22:28:15+09:00 UnityでiOSに書きだすと、Xcodeのプロジェクトファイル(xxxx.xcodeproj)ができる。 iOSデバイスをMacに接続し、Xcodeプロジェクトをクリック、Xcodeを起動する。 Generalタブ。'No Provisioning File'というエラーが出ている。'Fix Issue'をクリック。 Apple IDとパスワードを入力。 ’View Detail'をクリックすると、詳細情報を見ることができる。 設定したProvisioningファイルを選んで、'choose'をクリック。 左上のPlay(三角形)ボタンをクリック、iPhoneにアプリが転送される。 キーチェ… <p>Unityで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>に書きだすと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>のプロジェクトファイル(xxxx.xcodeproj)ができる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011221306.png" alt="f:id:yasuda0404:20131011221306p:plain" title="f:id:yasuda0404:20131011221306p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>デバイスをMacに接続し、ロックを解除。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>プロジェクトをクリック、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>を起動する。<br /> Generalタブ。'No Provisioning File'というエラーが出ている。'Fix Issue'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011221540.png" alt="f:id:yasuda0404:20131011221540p:plain" title="f:id:yasuda0404:20131011221540p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a> IDとパスワードを入力。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011221644.png" alt="f:id:yasuda0404:20131011221644p:plain" title="f:id:yasuda0404:20131011221644p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>’View Detail'をクリックすると、詳細情報を見ることができる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011221748.png" alt="f:id:yasuda0404:20131011221748p:plain" title="f:id:yasuda0404:20131011221748p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>設定したProvisioningファイルを選んで、'choose'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011221839.png" alt="f:id:yasuda0404:20131011221839p:plain" title="f:id:yasuda0404:20131011221839p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>左上のPlay(三角形)ボタンをクリック、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>にアプリが転送される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011222507.png" alt="f:id:yasuda0404:20131011222507p:plain" title="f:id:yasuda0404:20131011222507p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>キーチェーンアクセスへの許可の確認ウィンドウが表示される。「許可」をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011222546.png" alt="f:id:yasuda0404:20131011222546p:plain" title="f:id:yasuda0404:20131011222546p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器へのアプリ転送が完了すると、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器上でアプリが起動する。</p> yasuda0404 iOS App開発:.p12ファイルとProvisioning Profileの作成 hatenablog://entry/11696248318758647743 2013-10-11T17:25:32+09:00 2013-10-11T18:31:54+09:00 参考:Adobe iPhoneアプリの開発方法 for FlashiOSアプリ開発は色々なファイルが必要になる。Certificateは開発者登録、App IDはアプリの識別番号、Devicesは開発に使用するデバイス。以上をまとめたProvisioningプロファイルを作るまでが、ひとつのプロセス。一方で、Mac上のキーチェーンアクセスで作成したCSRファイルをDev Centerにアップロードし、Certificateファイルをダウンロード、キーチェーンに登録する。で、ProvisioningプロファイルとCSRファイルの2つがあって、iOSアプリの作成ができる。なんと、面倒なプロセス! … <p>参考:<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe">Adobe</a> <a href="http://www.adobe.com/jp/devnet/flash/articles/iphone_flash_1.html">iPhone&#x30A2;&#x30D7;&#x30EA;&#x306E;&#x958B;&#x767A;&#x65B9;&#x6CD5; for Flash</a><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011162257.jpg" alt="f:id:yasuda0404:20131011162257j:plain" title="f:id:yasuda0404:20131011162257j:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>アプリ開発は色々なファイルが必要になる。</p><p>Certificateは開発者登録、App IDはアプリの識別番号、Devicesは開発に使用するデバイス。以上をまとめたProvisioningプロファイルを作るまでが、ひとつのプロセス。</p><p>一方で、Mac上のキーチェーンアクセスで作成した<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルをDev Centerにアップロードし、Certificateファイルをダウンロード、キーチェーンに登録する。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>アプリ開発には、.p12ファイルとProvisioningプロファイルの2つが必要。</p><p>なんと、面倒なプロセス!</p><br /> <p><b>1..p12ファイルの作成</b></p><p><a href="https://developer.apple.com/membercenter/index.action">Apple Developer Center</a>へログイン。<br /> 'Certificates, Identifiers & Profiles'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155223.png" alt="f:id:yasuda0404:20131011155223p:plain" title="f:id:yasuda0404:20131011155223p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><b>Certificates</b><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> AppsのCertificatesをクリック<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155407.png" alt="f:id:yasuda0404:20131011155407p:plain" title="f:id:yasuda0404:20131011155407p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>’+’ボタンを押して、Certificateを追加。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155455.png" alt="f:id:yasuda0404:20131011155455p:plain" title="f:id:yasuda0404:20131011155455p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>種類を選択して、'Continue'<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155732.png" alt="f:id:yasuda0404:20131011155732p:plain" title="f:id:yasuda0404:20131011155732p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <br /> <p>ローカルのMac上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルを作る。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164518.png" alt="f:id:yasuda0404:20131011164518p:plain" title="f:id:yasuda0404:20131011164518p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>アプリケーション>ユーティリティから、キーチェーンアクセスを起動。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164352.png" alt="f:id:yasuda0404:20131011164352p:plain" title="f:id:yasuda0404:20131011164352p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>キーチェーンアクセス>証明書アシスタント><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C7%A7%BE%DA%B6%C9">認証局</a>に証明書を要求...<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164710.png" alt="f:id:yasuda0404:20131011164710p:plain" title="f:id:yasuda0404:20131011164710p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>ユーザのメールアドレスにEメールアドレスを、通称に名前を入力。<br /> CAのメールアドレスはブランクのままにして、要求の処理は「ディスクに保存」を選択。「続ける」<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011164950.png" alt="f:id:yasuda0404:20131011164950p:plain" title="f:id:yasuda0404:20131011164950p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルの保存場所を選択し、保存する。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011165349.png" alt="f:id:yasuda0404:20131011165349p:plain" title="f:id:yasuda0404:20131011165349p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>'CertificateSigningRequest.certSigningRequest’というファイルが保存される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011165508.png" alt="f:id:yasuda0404:20131011165508p:plain" title="f:id:yasuda0404:20131011165508p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>再びDeveloperサイトに戻る。<br /> Upload <a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a> Fileの'Choose File...'をクリックし、さきほどの'CertificateSigningRequest.certSigningRequest’ファイルを指定。’Generate'をクリック。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011165954.png" alt="f:id:yasuda0404:20131011165954p:plain" title="f:id:yasuda0404:20131011165954p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>しばらく後、'Your certificate is ready.'の画面が表示される。CertificateをMac上にダウンロードする。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011170002.png" alt="f:id:yasuda0404:20131011170002p:plain" title="f:id:yasuda0404:20131011170002p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>今後は、Certificatesメニューから、Certificateをダウンロードできる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011170555.png" alt="f:id:yasuda0404:20131011170555p:plain" title="f:id:yasuda0404:20131011170555p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>ダウンロードしたCertificateをダブルクリック。Certificateがキーチェーンアクセスに登録される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011172552.png" alt="f:id:yasuda0404:20131011172552p:plain" title="f:id:yasuda0404:20131011172552p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>証明書を選択し、ファイル>書き出す。これで、.p12ファイルが作られる。</p><br /> <br /> <p><b>2.Provisioning Profileの作成</b><br /> 再びDev Centerへ戻る。</p><p><b>Identifiers</b><br /> ’App IDs'で、右上の'+’をクリックしてAppIDを追加する。<br /> Explicit App IDは、厳密にIDを指定する場合。<br /> Wildcard App IDは、最後の文字を'*'にすることで、複数のAppに使える。</p><p>App IDは、逆ドメイン(jp.co.xxxxなど)が推奨。Wildcardの場合、最後を'.*'(例えば、jp.co.xxxx.*)とする。</p><p>Nameは後で変更可能だが、IDは変えられない。</p><p>完全なApp IDは、<br /> Prefix + '.' + ID<br /> となる。</p><br /> <p><b>Devices</b><br /> Devicesで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器を追加する。UUIDは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>機器を<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>につないで確認する<a href="http://mushikago.com/i/?p=1833">&#x53C2;&#x8003;</a>。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011155801.png" alt="f:id:yasuda0404:20131011155801p:plain" title="f:id:yasuda0404:20131011155801p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p><b>Provisioning Profiles</b><br /> Provisioning Profileとは、</p> <ul> <li>App ID(一つのみ)</li> <li>Certificate(複数可)</li> <li>Device ID(複数可)</li> </ul><p>からなるファイル。右上の'+'ボタンをクリック。<br /> Provisioning Profileの種類を選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011163603.png" alt="f:id:yasuda0404:20131011163603p:plain" title="f:id:yasuda0404:20131011163603p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>App IDを選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011163553.png" alt="f:id:yasuda0404:20131011163553p:plain" title="f:id:yasuda0404:20131011163553p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>Certificateを選択。Provisioning Profileの種類(Development/Production)と合致した種類のCertificateが必要。(未作成ならここから作成もできる。)<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011163545.png" alt="f:id:yasuda0404:20131011163545p:plain" title="f:id:yasuda0404:20131011163545p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>該当するDeviceを選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011163537.png" alt="f:id:yasuda0404:20131011163537p:plain" title="f:id:yasuda0404:20131011163537p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>Provisioning Profileをダウンロードする。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20131011/20131011171552.png" alt="f:id:yasuda0404:20131011171552p:plain" title="f:id:yasuda0404:20131011171552p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 mbpの起動音を消す(mountain lion) hatenablog://entry/11696248318754433630 2013-06-08T08:17:13+09:00 2013-06-08T08:17:13+09:00 セミナーなどでMBPでメモを取りたいことがある。あるいは、「内職」したいことがある。 そんな時、静かな会場でMBPの起動音はかなり目立つ。音を消したい…と思ってもシステム環境設定にはそんな設定は見当たらない。起動音を消すアプリもあるようだが、できればアプリはミニマムにした いし、mountain lionではうまく動かないという投稿もある。こういう時はコマンドラインの設定…というのが、最も自然な対策だろう、と思って調べると、こういう記事があった。感謝。 <p>セミナーなどでMBPでメモを取りたいことがある。あるいは、「内職」したいことがある。<br /> そんな時、静かな会場でMBPの起動音はかなり目立つ。音を消したい…と思ってもシステム環境設定にはそんな設定は見当たらない。起動音を消すアプリもあるようだが、できればアプリはミニマムにした いし、mountain lionではうまく動かないという投稿もある。</p><p>こういう時はコマンドラインの設定…というのが、最も自然な対策だろう、と思って調べると、<a href="http://kimagure-photo.blogspot.jp/2012/08/mountain-lion.html">&#x3053;&#x3046;&#x3044;&#x3046;&#x8A18;&#x4E8B;</a>があった。感謝。</p> yasuda0404 Google日本語変換を使う hatenablog://entry/11696248318754367233 2013-06-06T09:20:59+09:00 2013-06-06T09:21:56+09:00 Google日本語変換を使っている。 そこそこ満足しているが、便利になるほどもっと効率的に入力したいと言う欲求が強くなる。人間とはわがままなものだ。 体力と運動神経に任せてひたすらブラインドタッチの速度を上げる練習をしてもいいのだが、歳も歳なので、泥臭いことはやめてアタマを使ってみた。 1)変換プリセット まず「環境設定」のページをカスタマイズする。 僕は以前のしがらみ?で、キー設定はATOKにしている。句読点、記号は自分のスタイルに合わせておく。 2)よく使う文字のショートカット 自分の文章のスタイルによって、よく使う文字というのがある。これらを出すショートカットを覚えておくと、人生はかなり… <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>日本語変換を使っている。<br /> そこそこ満足しているが、便利になるほどもっと効率的に入力したいと言う欲求が強くなる。人間とはわがままなものだ。<br /> 体力と運動神経に任せてひたすらブラインドタッチの速度を上げる練習をしてもいいのだが、歳も歳なので、泥臭いことはやめてアタマを使ってみた。</p><br /> <p>1)変換プリセット<br /> まず「環境設定」のページをカスタマイズする。<br /> 僕は以前のしがらみ?で、キー設定は<a class="keyword" href="http://d.hatena.ne.jp/keyword/ATOK">ATOK</a>にしている。句読点、記号は自分のスタイルに合わせておく。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130606/20130606090421.png" alt="f:id:yasuda0404:20130606090421p:plain" title="f:id:yasuda0404:20130606090421p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>2)よく使う文字のショートカット<br /> 自分の文章のスタイルによって、よく使う文字というのがある。これらを出すショートカットを覚えておくと、人生はかなり楽になる。<br /> 僕の場合は次だ。<br /> 「環境設定」パネルの、キー設定ーローマ字テーブル、「編集...」をクリックすると、文字(出力)とキー(入力)のテーブルが現れる。変更も可能だ。</p><p>僕がよく使う(…というか、もっと使って効率を上げたい)のは次。(【】はオリジナル設定、残りはデフォルト設定だ。)</p> <table> <tr> <th>文字</th> <th>キー</th> </tr> <tr> <td>【</td> <td>x[</td> </tr> <tr> <td>】</td> <td>x]</td> </tr> <tr> <td>『</td> <td>z[</td> </tr> <tr> <td>』</td> <td>z]</td> </tr> <tr> <td>…</td> <td>z.</td> </tr> <tr> <td>←</td> <td>zh</td> </tr> <tr> <td>↓</td> <td>zj</td> </tr> <tr> <td>↑</td> <td>zk</td> </tr> <tr> <td>→</td> <td>zl</td> </tr> </table><p><span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130606/20130606091906.png" alt="f:id:yasuda0404:20130606091906p:plain" title="f:id:yasuda0404:20130606091906p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 iOS App開発:証明書、プロビジョニングファイルの作成覚書 hatenablog://entry/11696248318753629106 2013-05-19T18:11:44+09:00 2013-05-19T18:11:44+09:00 iOSアプリ開発者証明書、App ID、プロビジョニングファイルについて、すぐ忘れてしますので、メモ。iOS Dev Center - Apple Developerから、"Sign in"をクリック Apple ID/パスワードを入力 右メニューiOS Developer Program-”Certificates, Identifiers & Profiles" "Certificates, Identifiers & Profiles"画面 Certificateは、開発者証明書。新たに証明書を作成する場合、"+"ボタンを押す。 同じ種類のiOSアプリには共通して使えるが、開発用(Dev… <p>iOSアプリ開発者証明書、App ID、プロビジョニングファイルについて、すぐ忘れてしますので、メモ。</p><p><a href="https://developer.apple.com/devcenter/ios/index.action">iOS Dev Center - Apple Developer</a>から、"Sign in"をクリック<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130519/20130519175202.png" alt="f:id:yasuda0404:20130519175202p:plain" title="f:id:yasuda0404:20130519175202p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a> ID/パスワードを入力<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130519/20130519175329.png" alt="f:id:yasuda0404:20130519175329p:plain" title="f:id:yasuda0404:20130519175329p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>右メニューiOS Developer Program-”Certificates, Identifiers & Profiles"<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130519/20130519175709.png" alt="f:id:yasuda0404:20130519175709p:plain" title="f:id:yasuda0404:20130519175709p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>"Certificates, Identifiers & Profiles"画面<br /> Certificateは、開発者証明書。新たに証明書を作成する場合、"+"ボタンを押す。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130519/20130519175756.png" alt="f:id:yasuda0404:20130519175756p:plain" title="f:id:yasuda0404:20130519175756p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>同じ種類のiOSアプリには共通して使えるが、開発用(Development)と配布用(Distribution)は別々に作る必要がある。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130519/20130519180440.png" alt="f:id:yasuda0404:20130519180440p:plain" title="f:id:yasuda0404:20130519180440p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>"Identifiers"はアプリのID。アプリごとに固定IDを作成してもよいし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A5%A4%A5%EB%A5%C9%A5%AB%A1%BC%A5%C9">ワイルドカード</a>("*")を使って、ひとつのIdentifierで複数のアプリIDに対応させることもできる。<br /> Identifierの構成は、<br /> Prefix (Dev Centerで指定される)+ID(ユーザが任意に指定できる)<br /> で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EF%A5%A4%A5%EB%A5%C9%A5%AB%A1%BC%A5%C9">ワイルドカード</a>を使う場合は、IDに、"jp.xxxx.*"等と指定する。</p><p>"Devices"は、開発に用いるiOSデバイス。必要なiOS機器を登録しておく。</p><p>"Provisioning Profiles"は、開発者証明書、開発用iOS機器、Identifierをまとめたファイル。</p> yasuda0404 Illustratorのスクリプトで外部ライブラリを参照する hatenablog://entry/6435988827676391377 2013-03-25T11:51:07+09:00 2013-03-25T11:51:35+09:00 Adobe IllustratorでJavascript(jsx)で、よく使う関数をまとめた共通ライブラリを作って、外部ファイルとして読み込む方法は次の通り.読み込む側のスクリプト(メインJSX)の冒頭に、 #include "インクルードするJSXファイル名"; と記述する。注意点として、相対パスの基準はメインスクリプトの置かれた位置であり、スクリプトを適用するAIファイルの位置ではない、と言うこと。メインJSXがAIファイルと同じ位置に置かれていれば問題ないが、異なる階層の場合、注意が必要。 <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe%20Illustrator">Adobe Illustrator</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/Javascript">Javascript</a>(jsx)で、よく使う関数をまとめた共通ライブラリを作って、外部ファイルとして読み込む方法は次の通り.</p><p>読み込む側のスクリプト(メインJSX)の冒頭に、</p> <pre class="code" data-unlink>#include &#34;インクルードするJSXファイル名&#34;; </pre><p>と記述する。</p><p>注意点として、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C1%EA%C2%D0%A5%D1%A5%B9">相対パス</a>の基準はメインスクリプトの置かれた位置であり、スクリプトを適用するAIファイルの位置ではない、と言うこと。メインJSXがAIファイルと同じ位置に置かれていれば問題ないが、異なる階層の場合、注意が必要。</p> yasuda0404 Flash/AirでiOSアプリを開発する hatenablog://entry/13425511277527259696 2013-03-11T20:35:02+09:00 2013-05-21T15:05:05+09:00 iOSアプリ開発のワークフロー Flash Professional CS6編 | ADC - Adobe Developer Connectionを参考に、Flash/AirでiOSアプリを開発してみる。 環境は、Flash CS6/Xcode4.6。 1.証明書(CSR)の取得キーチェーンアクセスー環境設定... OCSP, CRLを共に「切」にする 証明書アシスタント...ー認証局に証明書を要求... Apple Developerに登録したメールアドレスとパスワードを入力。「ディスクに保存」を選択。 指定した場所にCSRファイルが書き出される。 CSRをダブルクリックし、キーチェーンア… <p><a href="http://www.adobe.com/jp/devnet/flash/articles/flashpro_ios_app.html">iOS&#x30A2;&#x30D7;&#x30EA;&#x958B;&#x767A;&#x306E;&#x30EF;&#x30FC;&#x30AF;&#x30D5;&#x30ED;&#x30FC; Flash Professional CS6&#x7DE8; | ADC - Adobe Developer Connection</a>を参考に、Flash/AirでiOSアプリを開発してみる。<br /> 環境は、Flash CS6/Xcode4.6。</p><br /> <p>1.証明書(<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>)の取得</p><p>キーチェーンアクセスー環境設定...<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311191147.png" alt="f:id:yasuda0404:20130311191147p:plain" title="f:id:yasuda0404:20130311191147p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/OCSP">OCSP</a>, CRLを共に「切」にする<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311191155.png" alt="f:id:yasuda0404:20130311191155p:plain" title="f:id:yasuda0404:20130311191155p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>証明書アシスタント...ー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C7%A7%BE%DA%B6%C9">認証局</a>に証明書を要求...<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311192152.png" alt="f:id:yasuda0404:20130311192152p:plain" title="f:id:yasuda0404:20130311192152p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a> Developerに登録したメールアドレスとパスワードを入力。「ディスクに保存」を選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311192201.png" alt="f:id:yasuda0404:20130311192201p:plain" title="f:id:yasuda0404:20130311192201p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>指定した場所に<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>ファイルが書き出される。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311192211.png" alt="f:id:yasuda0404:20130311192211p:plain" title="f:id:yasuda0404:20130311192211p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSR">CSR</a>をダブルクリックし、キーチェーンアクセスに登録。キーチェーンアクセスの「証明書」メニューで、'<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a> Developer...'を選択し、ファイルー書きだす…<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311202247.png" alt="f:id:yasuda0404:20130311202247p:plain" title="f:id:yasuda0404:20130311202247p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>ファイル名を入力し、保存。P12ファイルのパスワード(任意)を入力、その後、キーチェーンのパスワード(Macのパスワード)を入力する。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311202301.png" alt="f:id:yasuda0404:20130311202301p:plain" title="f:id:yasuda0404:20130311202301p:plain" class="hatena-fotolife" itemprop="image"></span><br /> これで、p12ファイルができる。</p><br /> <p> 2.プロビジョニングファイルの取得<br /> <a href="https://developer.apple.com/membercenter/index.action">Developer/Member Center</a>にログイン。メニューからiOS Provisioning Portalを選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311191139.png" alt="f:id:yasuda0404:20130311191139p:plain" title="f:id:yasuda0404:20130311191139p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>左メニューの'Devices'でiOSデバイスを登録(手順詳細省略)</p><p>同ー'App IDs'を選択<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311193846.png" alt="f:id:yasuda0404:20130311193846p:plain" title="f:id:yasuda0404:20130311193846p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>Descriptionに任意のアプリ名、Bundle Seed ID (App ID Prefix)はアプリの識別番号。初回登録の場合、'Generate New'で作成するのが良い。<br /> Bundle Identifier (App ID Suffix)はアプリ名だが、'*'を入れればアプリ名を指定しない証明書を作成できる<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311193838.png" alt="f:id:yasuda0404:20130311193838p:plain" title="f:id:yasuda0404:20130311193838p:plain" class="hatena-fotolife" itemprop="image"></span><br /> 以上を設定し、'Submit'をクリック</p><p>’Provisionong'メニューで、’New Profile’ボタンをクリック<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311194259.png" alt="f:id:yasuda0404:20130311194259p:plain" title="f:id:yasuda0404:20130311194259p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>Profile Menuにプロファイル名を入力、App IDは先ほど登録したApp IDを選択。Devicesは登録したデバイスから、アプリを動かしたいデバイスを選択。<br /> Certificateで、'Please create a Development Certificate'をクリック<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311194408.png" alt="f:id:yasuda0404:20130311194408p:plain" title="f:id:yasuda0404:20130311194408p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>’Certificate’メニュー。承認待ちの証明書の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C1%A5%A7%A5%C3%A5%AF%A5%DC%A5%C3%A5%AF%A5%B9">チェックボックス</a>をチェックし、承認する(Approve Selected)する。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311195048.png" alt="f:id:yasuda0404:20130311195048p:plain" title="f:id:yasuda0404:20130311195048p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>プロビジョニングファイルがダウンロード出来る状態になるので、ダウンロード・保存する。'アプリ名.mobileprovision'と言うファイル名になる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311195056.png" alt="f:id:yasuda0404:20130311195056p:plain" title="f:id:yasuda0404:20130311195056p:plain" class="hatena-fotolife" itemprop="image"></span></p><br /> <p>3.Flashの設定<br /> Flashを起動。'Air for iOS' を選択。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311191127.png" alt="f:id:yasuda0404:20130311191127p:plain" title="f:id:yasuda0404:20130311191127p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>パブリッシューターゲットのスパナアイコンをクリック<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311192835.png" alt="f:id:yasuda0404:20130311192835p:plain" title="f:id:yasuda0404:20130311192835p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>「Air for iOS設定」の「一般」タブで、iOSシミュレータのパスは、<br /> /Applications/<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.<a class="keyword" href="http://d.hatena.ne.jp/keyword/sdk">sdk</a><br /> と入力。(シミュレータのバージョンは2013.3.11現在)。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311192847.png" alt="f:id:yasuda0404:20130311192847p:plain" title="f:id:yasuda0404:20130311192847p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>同「デプロイ」タブで、証明書に上で設定したp12ファイルとパスワードを指定。、プロビジョニングファイルに上で作成・保存したプロビジョニングファイル('アプリ名.mobileprovision')を指定。iOSデプロイタイプはまずは「クイックパブリッシューデバイスでのテスト用」とする。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130311/20130311203340.png" alt="f:id:yasuda0404:20130311203340p:plain" title="f:id:yasuda0404:20130311203340p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 MacのWORDの表の一部が表示されない問題 hatenablog://entry/6435922169449305938 2013-02-22T15:42:48+09:00 2013-02-22T15:42:48+09:00 MacのWORDで表の一部が表示されないことがある。変な文字コードが入ったのかと思っていたが、どうも既知のバグらしい。 対処方法は次の通り。1)表を選択し、罫線ー表のプロパティ...。 2)「文字列の折り返し」で「しない」を選択。「OKで表のプロパティ」ウィンドウを閉じる。 <p>MacのWORDで表の一部が表示されないことがある。変な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9">文字コード</a>が入ったのかと思っていたが、どうも既知のバグらしい。<br /> 対処方法は次の通り。</p><p>1)表を選択し、罫線ー表のプロパティ...。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130222/20130222154219.png" alt="f:id:yasuda0404:20130222154219p:plain" title="f:id:yasuda0404:20130222154219p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>2)「文字列の折り返し」で「しない」を選択。「OKで表のプロパティ」ウィンドウを閉じる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20130222/20130222154228.png" alt="f:id:yasuda0404:20130222154228p:plain" title="f:id:yasuda0404:20130222154228p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 Illustratorのjavascriptでクラスもどきを作る hatenablog://entry/12704830469096982432 2012-12-28T16:13:59+09:00 2012-12-28T16:44:14+09:00 Adobe Illustratorでの制作を自動化するためScriptを使ってみた。VB, AppleScript, javascriptの3つが使えるが、WinでもMacでも使える点でjavascriptが一般的なようだ。作業の効率化の点で不便なのは、javascriptでクラスを使う術がないことだ。 そこで、http://www.phpied.com/3-ways-to-define-a-javascript-class/を参考にして、「クラスもどき」を扱う方法を確かめてみた。1.関数を使う var apple = new Apple("macintosh1"); apple.color … <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe%20Illustrator">Adobe Illustrator</a>での制作を自動化するためScriptを使ってみた。<a class="keyword" href="http://d.hatena.ne.jp/keyword/VB">VB</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/AppleScript">AppleScript</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/javascript">javascript</a>の3つが使えるが、WinでもMacでも使える点で<a class="keyword" href="http://d.hatena.ne.jp/keyword/javascript">javascript</a>が一般的なようだ。</p><p>作業の効率化の点で不便なのは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/javascript">javascript</a>でクラスを使う術がないことだ。<br /> そこで、<a href="http://www.phpied.com/3-ways-to-define-a-javascript-class/">http://www.phpied.com/3-ways-to-define-a-javascript-class/</a>を参考にして、「クラスもどき」を扱う方法を確かめてみた。</p><p>1.関数を使う</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synStatement">new</span> Apple(<span class="synConstant">&quot;macintosh1&quot;</span>); apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo()); <span class="synIdentifier">function</span> Apple (type) <span class="synIdentifier">{</span> <span class="synIdentifier">this</span>.type = type; <span class="synIdentifier">this</span>.color = <span class="synConstant">&quot;red&quot;</span>; <span class="synIdentifier">this</span>.getInfo = getAppleInfo; <span class="synIdentifier">}</span> <span class="synComment">// anti-pattern! keep reading...</span> <span class="synIdentifier">function</span> getAppleInfo() <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span> </pre><p>これでクラス的な扱いが可能。しかし、この方法は関数をグローバルとして定義するため、関数名のコンフリクトがおきる可能性がある。<br /> そこで、次の1.1、1.2のオプションがある。</p><p>1.1 内部関数</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synStatement">new</span> Apple(<span class="synConstant">&quot;macintosh11&quot;</span>); apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo()); <span class="synIdentifier">function</span> Apple (type) <span class="synIdentifier">{</span> <span class="synIdentifier">this</span>.type = type; <span class="synIdentifier">this</span>.color = <span class="synConstant">&quot;red&quot;</span>; <span class="synIdentifier">this</span>.getInfo = <span class="synIdentifier">function</span>() <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span>; <span class="synIdentifier">}</span> </pre><p><br /> 1.2 関数をユーザ側で定義</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synStatement">new</span> Apple(<span class="synConstant">&quot;macintosh12&quot;</span>); Apple.prototype.getInfo = <span class="synIdentifier">function</span>() <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span>; apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo()); <span class="synIdentifier">function</span> Apple (type) <span class="synIdentifier">{</span> <span class="synIdentifier">this</span>.type = type; <span class="synIdentifier">this</span>.color = <span class="synConstant">&quot;red&quot;</span>; <span class="synIdentifier">}</span> </pre><p><br /> 2.オブジェクト・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EA%A5%C6%A5%E9%A5%EB">リテラル</a>を使う</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synIdentifier">{</span> type: <span class="synConstant">&quot;macintosh2&quot;</span>, color: <span class="synConstant">&quot;red&quot;</span>, getInfo: <span class="synIdentifier">function</span> () <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span> <span class="synIdentifier">}</span> apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo()); </pre><p>この場合、「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a>クラス」を定義する必要はない。ただし、var <a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>={...}を、<a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>の呼び出しより先に定義しておかねばならない。このため、クラスや関数のような自由度がない。</p><br /> <p>3.シングルトンを使う</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synStatement">new</span> <span class="synIdentifier">function</span>() <span class="synIdentifier">{</span> <span class="synIdentifier">this</span>.type = <span class="synConstant">&quot;macintosh3&quot;</span>; <span class="synIdentifier">this</span>.color = <span class="synConstant">&quot;red&quot;</span>; <span class="synIdentifier">this</span>.getInfo = <span class="synIdentifier">function</span> () <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span>; <span class="synIdentifier">}</span> apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo()); </pre><p>この方法は、1.1と似ているが、「クラス」の扱いは2と同じく、オブジェクト・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%EA%A5%C6%A5%E9%A5%EB">リテラル</a>になる。</p> <ul> <li> <ul> <li> <ul> <li> <ul> <li> <ul> <li>-</li> </ul></li> </ul></li> </ul></li> </ul></li> </ul><p>個人的には1.1がもっとも混乱がないと思う。1.2は「クラス」定義後にユーザが任意の関数を加えたい場合のオプションと考えれば良いだろう。</p><p>補足:<br /> 「クラス」メソッドに引数を渡す場合は、次のように記述する。(1.1の変形)</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synIdentifier">var</span> apple = <span class="synStatement">new</span> Apple(<span class="synConstant">&quot;macintosh&quot;</span>); apple.color = <span class="synConstant">&quot;reddish&quot;</span>; <span class="synStatement">alert</span>(apple.getInfo(<span class="synConstant">&quot;11&quot;</span>)); <span class="synIdentifier">function</span> Apple (type) <span class="synIdentifier">{</span> <span class="synIdentifier">this</span>.type = type; <span class="synIdentifier">this</span>.color = <span class="synConstant">&quot;red&quot;</span>; <span class="synIdentifier">this</span>.getInfo = <span class="synIdentifier">function</span>(no) <span class="synIdentifier">{</span> <span class="synStatement">return</span> <span class="synIdentifier">this</span>.color + <span class="synConstant">' '</span> + <span class="synIdentifier">this</span>.type + no + <span class="synConstant">' apple'</span>; <span class="synIdentifier">}</span>; <span class="synIdentifier">}</span> </pre> yasuda0404 NumbersのテーブルをIllustatorにもっていく hatenablog://entry/12704830469096816650 2012-12-24T22:57:01+09:00 2012-12-24T23:07:01+09:00 Numbersで作ったテーブルを、ベクターデータとしてIllustratorへ持っていくには、PDFを使う。 Illustrator側の読みは、ファイルー開く... か、 ファイルー配置...で行う。 どちらの方法でもNumbersファイルの該当シートを選択し、シート単位で読み込むことになる。 開く...で読み込んだ場合は、テーブルの要素単位で編集できる。一方全体の取り扱いは不便なので、グループ化すると良い。 配置の場合はリンクとするかどうかを読み込み時のチェックマークで選択する。 <p>Numbersで作ったテーブルを、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%AF%A5%BF%A1%BC">ベクター</a>データとして<a class="keyword" href="http://d.hatena.ne.jp/keyword/Illustrator">Illustrator</a>へ持っていくには、PDFを使う。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225555.png" alt="f:id:yasuda0404:20121224225555p:plain" title="f:id:yasuda0404:20121224225555p:plain" class="hatena-fotolife" itemprop="image"></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225612.png" alt="f:id:yasuda0404:20121224225612p:plain" title="f:id:yasuda0404:20121224225612p:plain" class="hatena-fotolife" itemprop="image"></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Illustrator">Illustrator</a>側の読みは、ファイルー開く... か、<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225246.png" alt="f:id:yasuda0404:20121224225246p:plain" title="f:id:yasuda0404:20121224225246p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>ファイルー配置...で行う。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224224911.png" alt="f:id:yasuda0404:20121224224911p:plain" title="f:id:yasuda0404:20121224224911p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>どちらの方法でもNumbersファイルの該当シートを選択し、シート単位で読み込むことになる。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225109.png" alt="f:id:yasuda0404:20121224225109p:plain" title="f:id:yasuda0404:20121224225109p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>開く...で読み込んだ場合は、テーブルの要素単位で編集できる。一方全体の取り扱いは不便なので、グループ化すると良い。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225438.png" alt="f:id:yasuda0404:20121224225438p:plain" title="f:id:yasuda0404:20121224225438p:plain" class="hatena-fotolife" itemprop="image"></span></p><p>配置の場合はリンクとするかどうかを読み込み時のチェックマークで選択する。<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121224/20121224225148.png" alt="f:id:yasuda0404:20121224225148p:plain" title="f:id:yasuda0404:20121224225148p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 Excel for mac 2011でグラフを図として保存する hatenablog://entry/12704830469096759514 2012-12-23T22:26:34+09:00 2012-12-23T22:36:35+09:00 Excel for mac 2011でグラフを作って、画像として保存する方法がわからなかった。ファイルー名前をつけて保存は、あくまでもEXCELのブックやシートの保存のみ。JPEGやPNGなど画像形式は選択できない。やっと見つけたのは、「グラフエリアで右クリック、図として保存...」と言う方法。マウスカーソルをグラフエリアに置くのがポイントで、プロットエリアだと違うメニューになってしまう。 しかしこれはヘルプを見ても出てこないし、ググっても出てこない。「隠れコマンド」なのだろうか? <p>Excel for mac 2011でグラフを作って、画像として保存する方法がわからなかった。ファイルー名前をつけて保存は、あくまでもEXCELのブックやシートの保存のみ。JPEGやPNGなど画像形式は選択できない。</p><p>やっと見つけたのは、「グラフエリアで右クリック、図として保存...」と言う方法。マウスカーソルをグラフエリアに置くのがポイントで、プロットエリアだと違うメニューになってしまう。<br /> しかしこれはヘルプを見ても出てこないし、ググっても出てこない。「隠れコマンド」なのだろうか?<br /> <span itemscope itemtype="http://schema.org/Photograph"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121223/20121223222311.png" alt="f:id:yasuda0404:20121223222311p:plain" title="f:id:yasuda0404:20121223222311p:plain" class="hatena-fotolife" itemprop="image"></span></p> yasuda0404 AirPlayがつながらなくなったら hatenablog://entry/12704830469095925849 2012-11-26T16:07:32+09:00 2012-11-26T16:17:33+09:00 iPhoneからAppleTVへのAIrPlayが、最近つながらなくなっていた。原因不明で困っていたが、対象法を見つけた。 iPhoneやiPadから急にAirPlayできなくなったときの対処法 | AppiOSなんと、機内モードをOn/Offするだけ。つながらなくなったのは、今いるWiFiネットワークの情報が違っているらしく、これをリセットすればよいだけだった。 <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>からAppleTVへのAIrPlayが、最近つながらなくなっていた。原因不明で困っていたが、対象法を見つけた。<br /> <a href="http://appios.net/ios/iphone-ipad-airplay/">iPhone&#x3084;iPad&#x304B;&#x3089;&#x6025;&#x306B;AirPlay&#x3067;&#x304D;&#x306A;&#x304F;&#x306A;&#x3063;&#x305F;&#x3068;&#x304D;&#x306E;&#x5BFE;&#x51E6;&#x6CD5; | AppiOS</a></p><p>なんと、機内モードをOn/Offするだけ。つながらなくなったのは、今いる<a class="keyword" href="http://d.hatena.ne.jp/keyword/WiFi">WiFi</a>ネットワークの情報が違っているらしく、これをリセットすればよいだけだった。</p> yasuda0404 Shinyのスライダーを使う hatenablog://entry/12704830469095889201 2012-11-24T18:19:14+09:00 2012-11-24T20:52:28+09:00 参考:Tutorial: Building 'Shiny' Applications with R Shinyのスライダーは、チュートリアルのexample05に使い方がまとめられている。1)sliderInput("変数名","表示名",min=最小値, max=最大値, value=初期値) sliderInput("integer", "Integer:", min=0, max=1000, value=500),2)sliderInput("変数名","表示名",min=最小値, max=最大値, value=初期値, step=刻み幅) # Decimal interval with… <p>参考:<a href="http://rstudio.github.com/shiny/tutorial/#sliders">Tutorial: Building &#39;Shiny&#39; Applications with R</a><br /> Shinyのスライダーは、チュートリアルのexample05に使い方がまとめられている。</p><p>1)sliderInput("変数名","表示名",min=最小値, max=最大値, value=初期値)</p> <pre class="code" data-unlink>sliderInput(&#34;integer&#34;, &#34;Integer:&#34;, min=0, max=1000, value=500),</pre><p>2)sliderInput("変数名","表示名",min=最小値, max=最大値, value=初期値, step=刻み幅)</p> <pre class="code" data-unlink> # Decimal interval with step value sliderInput(&#34;decimal&#34;, &#34;Decimal:&#34;, min = 0, max = 1, value = 0.5, step= 0.1),</pre><p>3)sliderInput("変数名","表示名",min=最小値, max=最大値, value=c(領域下端、領域上端))</p> <pre class="code" data-unlink> # Specification of range within an interval sliderInput(&#34;range&#34;, &#34;Range:&#34;, min = 1, max = 1000, value = c(200,500)),</pre><p>4)sliderInput("変数名","表示名",min=最小値, max=最大値, value=初期値, step=刻み幅,<br /> format=書式, locale=, animate=TRUE/FALSE)</p> <pre class="code" data-unlink> # Provide a custom currency format for value display, with basic animation sliderInput(&#34;format&#34;, &#34;Custom Format:&#34;, min = 0, max = 10000, value = 0, step = 2500, format=&#34;$#,##0&#34;, locale=&#34;us&#34;, animate=TRUE),</pre><p>5)sliderInput("変数名","表示名",最小値, 最大値, 初期値, step=刻み幅,<br /> animate=animationOptions(interval=インターバル, loop=T/F))</p> <pre class="code" data-unlink> # Animation with custom interval (in ms) to control speed, plus looping sliderInput(&#34;animation&#34;, &#34;Looping Animation:&#34;, 1, 2000, 1, step = 10, animate=animationOptions(interval=300, loop=T))</pre> yasuda0404 ShinyがReactivityを実現する方法 hatenablog://entry/12704830469095866724 2012-11-23T20:35:03+09:00 2012-11-24T17:33:12+09:00 参考:Tutorial: Building 'Shiny' Applications with R Shinyの最大の特長が"Reactivity Programming"だ。Shinyのインタラクティビティは、 ユーザ入力>R言語>ウェブ出力 を自動的に実行することで実現されている。入力値や関数の変更を評価し、必要に応じてRコードを再実行するしくみがReactivityで、ShinyはReactivityライブラリを提供している。Reactivity Programmingでは、変更を陽にモニターする必要はない。次のExampleコードを見てみる。 ui.R library(shiny) #… <p>参考:<a href="http://rstudio.github.com/shiny/tutorial/#reactivity">Tutorial: Building &#39;Shiny&#39; Applications with R</a><br /> Shinyの最大の特長が"Reactivity Programming"だ。Shinyのインタラクティビティは、<br /> ユーザ入力><a class="keyword" href="http://d.hatena.ne.jp/keyword/R%B8%C0%B8%EC">R言語</a>>ウェブ出力<br /> を自動的に実行することで実現されている。入力値や関数の変更を評価し、必要に応じてRコードを再実行するしくみがReactivityで、ShinyはReactivityライブラリを提供している。Reactivity Programmingでは、変更を陽にモニターする必要はない。</p><p>次のExampleコードを見てみる。<br /> ui.R</p> <pre class="code" data-unlink>library(shiny) # Define UI for dataset viewer application shinyUI(pageWithSidebar( # Application title headerPanel(&#34;Reactivity&#34;), # Sidebar with controls to provide a caption, select a dataset, and # specify the number of observations to view. Note that changes made # to the caption in the textInput control are updated in the output # area immediately as you type sidebarPanel( textInput(&#34;caption&#34;, &#34;Caption:&#34;, &#34;Data Summary&#34;), selectInput(&#34;dataset&#34;, &#34;Choose a dataset:&#34;, choices = c(&#34;rock&#34;, &#34;pressure&#34;, &#34;cars&#34;)), numericInput(&#34;obs&#34;, &#34;Number of observations to view:&#34;, 10) ), # Show the caption, a summary of the dataset and an HTML table with # the requested number of observations mainPanel( h3(textOutput(&#34;caption&#34;)), verbatimTextOutput(&#34;summary&#34;), tableOutput(&#34;view&#34;) ) ))</pre><p>server.R</p> <pre class="code" data-unlink>library(shiny) library(datasets) # Define server logic required to summarize and view the selected dataset shinyServer(function(input, output) { # By declaring datasetInput as a reactive function we ensure that: # # 1) It is only called when the inputs it depends on changes # 2) The computation and result are shared by all the callers (it # only executes a single time) # 3) When the inputs change and the function is re-executed, the # new result is compared to the previous result; if the two are # identical, then the callers are not notified # datasetInput &lt;- reactive(function() { switch(input$dataset, &#34;rock&#34; = rock, &#34;pressure&#34; = pressure, &#34;cars&#34; = cars) }) # The output$caption is computed based on a reactive function that # returns input$caption. When the user changes the &#34;caption&#34; field: # # 1) This function is automatically called to recompute the output # 2) The new caption is pushed back to the browser for re-display # # Note that because the data-oriented reactive functions below don&#39;t # depend on input$caption, those functions are NOT called when # input$caption changes. output$caption &lt;- reactiveText(function() { input$caption }) # The output$summary depends on the datasetInput reactive function, # so will be re-executed whenever datasetInput is re-executed # (i.e. whenever the input$dataset changes) output$summary &lt;- reactivePrint(function() { dataset &lt;- datasetInput() summary(dataset) }) # The output$view depends on both the databaseInput reactive function # and input$obs, so will be re-executed whenever input$dataset or # input$obs is changed. output$view &lt;- reactiveTable(function() { head(datasetInput(), n = input$obs) }) })</pre><p>ui.Rでは、</p> <ul> <li>"caption"という名前の textInput</li> <li>"dataset"という名前のselectInput</li> <li>"obs”という名前のnumericInput</li> </ul><p>を定義している。</p><br /> <p>server.Rの先頭が、</p> <pre class="code" data-unlink>shinyServer(function(input, output) {</pre><p>となっている。関数に渡されるinput, output各オブジェクトがuiとのやり取りを媒介している。</p><p>inputオブジェクトはウェブページ上の入力をリスト形式で取得する。Reactivityは通常の関数を"reactive"関数に渡すことで実現する。下の例では、datasetInputをreactive関数として宣言している。</p> <pre class="code" data-unlink>datasetInput &lt;- reactive(function() { switch(input$dataset, &#34;rock&#34; = rock, &#34;pressure&#34; = pressure, &#34;cars&#34; = cars) })</pre><p>一方、出力はoutputオブジェクトを使う。下では、textinput "caption"への入力を、そのまま"caption"へ文字出力(reactiveText)している。</p> <pre class="code" data-unlink> output$caption &lt;- reactiveText(function() { input$caption })</pre><p>次では、datasetinputの再実行(つまり、input$datasetの変更)を見て、summary関数の出力を、outputオブジェクトの"summary"として表示(reactivePrint)している。</p> <pre class="code" data-unlink>output$summary &lt;- reactivePrint(function() { dataset &lt;- datasetInput() summary(dataset) })</pre><p>こちらは、datasetInputの再実行(つまり、input$datasetの変更)または、numericInput"obs"の変更が生じた場合に、outputオブジェクトの"view"が変更される(reactiveTable)。</p> <pre class="code" data-unlink>output$view &lt;- reactiveTable(function() { head(datasetInput(), n = input$obs) })</pre> yasuda0404 ShinyのUI プルダウン・セレクターを使う hatenablog://entry/12704830469095857876 2012-11-23T15:10:48+09:00 2012-11-23T19:47:56+09:00 参考: Tutorial: Building 'Shiny' Applications with R ui.R library(shiny) # Define UI for dataset viewer application shinyUI(pageWithSidebar( # Application title headerPanel("Shiny Text"), # Sidebar with controls to select a dataset and specify the number # of observations to view sidebarPanel( selectI… <p>参考: <a href="http://rstudio.github.com/shiny/tutorial/#shiny-text">Tutorial: Building &#39;Shiny&#39; Applications with R</a><br /> ui.R</p> <pre class="code" data-unlink>library(shiny) # Define UI for dataset viewer application shinyUI(pageWithSidebar( # Application title headerPanel(&#34;Shiny Text&#34;), # Sidebar with controls to select a dataset and specify the number # of observations to view sidebarPanel( selectInput(&#34;dataset&#34;, &#34;Choose a dataset:&#34;, choices = c(&#34;rock&#34;, &#34;pressure&#34;, &#34;cars&#34;)), numericInput(&#34;obs&#34;, &#34;Number of observations to view:&#34;, 10) ), # Show a summary of the dataset and an HTML table with the requested # number of observations mainPanel( verbatimTextOutput(&#34;summary&#34;), tableOutput(&#34;view&#34;) ) )) </pre><p>ui.Rの構造は、</p> <pre class="code" data-unlink>shinyUI pageWithSidebar headerPnael sliderPanel selectInput numericInput mainPanel verbatimTextOutput tableOutput</pre><p>となっている。ブロック単位が明確でわかりやすい。また「位置」の情報は必要なく、ブラウザ画面のサイズにあわせて自動的にレイアウトしてくれる。</p><p>server.R</p> <pre class="code" data-unlink>library(shiny) library(datasets) # Define server logic required to summarize and view the selected dataset shinyServer(function(input, output) { # Return the requested dataset datasetInput &lt;- reactive(function() { switch(input$dataset, &#34;rock&#34; = rock, &#34;pressure&#34; = pressure, &#34;cars&#34; = cars) }) # Generate a summary of the dataset output$summary &lt;- reactivePrint(function() { dataset &lt;- datasetInput() summary(dataset) }) # Show the first &#34;n&#34; observations output$view &lt;- reactiveTable(function() { head(datasetInput(), n = input$obs) }) })</pre><p>"shinyServer(function(input, output) {"に続けて、処置を書く。<br /> input$UI名<br /> で入力を取り出す。例えば、スライダーdatasetの値を受け取るには、<br /> input$dataset<br /> とする。</p><p>datasetInput <- reactive(function() {.....} は、reactive関数の部分。この表現は重要。</p><br /> <br /> <p>> runApp("フォルダ名")で実行すると、ブラウザで次の画面が表示される。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121123/20121123151033.png" alt="f:id:yasuda0404:20121123151033p:plain:W480" title="f:id:yasuda0404:20121123151033p:plain:W480" class="hatena-fotolife" style="width:480px"></p><p>プルダウン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%EC%A5%AF%A5%BF">セレクタ</a>ーと数値カウンターの入力は、即座にプロットに反映される。</p> yasuda0404 Shinyを使ってみる hatenablog://entry/12704830469095856054 2012-11-23T14:41:28+09:00 2012-11-23T20:36:42+09:00 参考:Tutorial: Building 'Shiny' Applications with R Shinyのアプリは アプリ名を表すフォルダの下に、 ユーザインタフェースを定義する、ui.R サーバーサイドの処理を定義する、server.R の2つのファイルが存在しなければならない。 これら以外のスクリプトやデータがあってもよい。例えば、"ex01"と言うフォルダを作り、その下に次の2つのRファイルをを作る。ui.R library(shiny) # Define UI for application that plots random distributions shinyUI(page… <p>参考:<a href="http://rstudio.github.com/shiny/tutorial/#hello-shiny">Tutorial: Building &#39;Shiny&#39; Applications with R</a><br /> Shinyのアプリは<br /> アプリ名を表すフォルダの下に、</p> <ul> <li>ユーザインタフェースを定義する、ui.R</li> <li>サーバーサイドの処理を定義する、server.R</li> </ul><p>の2つのファイルが存在しなければならない。<br /> これら以外のスクリプトやデータがあってもよい。</p><p>例えば、"ex01"と言うフォルダを作り、その下に次の2つのRファイルをを作る。</p><p>ui.R</p> <pre class="code" data-unlink>library(shiny) # Define UI for application that plots random distributions shinyUI(pageWithSidebar( # Application title headerPanel(&#34;Hello Shiny!&#34;), # Sidebar with a slider input for number of observations sidebarPanel( sliderInput(&#34;obs&#34;, &#34;Number of observations:&#34;, min = 0, max = 1000, value = 500) ), # Show a plot of the generated distribution mainPanel( plotOutput(&#34;distPlot&#34;) ) ))</pre><p>server.R</p> <pre class="code" data-unlink>library(shiny) # Define server logic required to generate and plot a random distribution shinyServer(function(input, output) { # Function that generates a plot of the distribution. The function # is wrapped in a call to reactivePlot to indicate that: # # 1) It is &#34;reactive&#34; and therefore should be automatically # re-executed when inputs change # 2) Its output type is a plot # output$distPlot &lt;- reactivePlot(function() { # generate an rnorm distribution and plot it dist &lt;- rnorm(input$obs) hist(dist) }) })</pre><p>実行は、</p> <pre class="code" data-unlink>&gt; runApp(&#34;アプリ名(フォルダ名)&#34;)</pre><p>とする。<br /> 上の例の場合、アプリフォルダを含むフォルダに作業ディレクトリを変更し(トップメニューの「その他」-「作業ディレクトリの変更...」)、コンソールに次を入力する。</p> <pre class="code" data-unlink>&gt; runApp(&#34;ex01&#34;)</pre> yasuda0404 Shinyをインストールする hatenablog://entry/12704830469095855981 2012-11-23T14:26:53+09:00 2012-11-23T14:53:06+09:00 Rでウェブアプリが作ることができるShinyがリリースされた。1.Shinyの特長 数行のコードだけでウェブアプリを作ることができる。Javascriptは必要なし スプレッドシートと同じように、ユーザが入力データを変更すると即座に反映される。ブラウザのリロードは必要ない。 ShinyのUIはすべてRで構築できる。あるいは、HTML, CSS, Javascriptで直接作ればより柔軟な対応ができる。 どのR環境(Console R、Rgui for Windows/Mac, StatET, RStudio)で使用可能 Twitter Bootstrapに基づいた魅力的なデフォルトUI アニメ… <p>Rでウェブアプリが作ることができるShinyがリリースされた。</p><p>1.Shinyの特長</p> <ul> <li>数行のコードだけでウェブアプリを作ることができる。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Javascript">Javascript</a>は必要なし</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%D7%A5%EC%A5%C3%A5%C9%A5%B7%A1%BC%A5%C8">スプレッドシート</a>と同じように、ユーザが入力データを変更すると即座に反映される。ブラウザのリロードは必要ない。</li> <li>ShinyのUIはすべてRで構築できる。あるいは、HTML, <a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/Javascript">Javascript</a>で直接作ればより柔軟な対応ができる。</li> <li>どのR環境(Console R、Rgui for Windows/Mac, StatET, RStudio)で使用可能</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a> Bootstrapに基づいた魅力的なデフォルトUI</li> <li>アニメーション支援が組み込まれた、高度にカスタマイズ可能なスライダー<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%A3%A5%B8%A5%A7%A5%C3%A5%C8">ウィジェット</a></li> <li>図表の表示、印刷の組み込み済み出力<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%A3%A5%B8%A5%A7%A5%C3%A5%C8">ウィジェット</a></li> <li>ウェブソケットパッケージによるウェブブラウザとR間の高速双方向通信</li> <li>面倒なイベントハンドリング不要のリアクティブ・プログラミング・モデル。本質的なコーディングに集中できる</li> <li>開発したShiny<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%A3%A5%B8%A5%A7%A5%C3%A5%C8">ウィジェット</a>は再配布でき、他の開発者が簡単にドロップできる(近日公開)</li> </ul><p><br /> 2.インストール手順<br /> 参考:<a href="http://d.hatena.ne.jp/dichika/20121109/1352430717">shiny&#x3067;&#x30B7;&#x30E3;&#x30A4;&#x30CB;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4;&#x30A4; - BOD</a></p><p>1) R(今回は64bitバージョン64.app)を起動<br /> 2) コンソール上で次のように入力(コピペでOK)</p> <pre class="code" data-unlink>options(repos=c(RStudio=&#39;http://rstudio.org/_packages&#39;, getOption(&#39;repos&#39;))) install.packages(&#39;shiny&#39;)</pre><p>3)CRANの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A1%BC%A5%B5%A5%A4%A5%C8">ミラーサイト</a>の選択ウィンドウが現れる。近くの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A1%BC%A5%B5%A5%A4%A5%C8">ミラーサイト</a>を選択(今回は、Japan, Hyogoを選んだ)<br /> 4)一連のインストールが始まる</p> <pre class="code" data-unlink>利用可能なパッケージのバイナリがありました (インストールされます) .....</pre><p>5)次のような表示が出れば、インストールは終了。</p> <pre class="code" data-unlink> ダウンロードされたパッケージは、以下にあります /var/folders/1d/g6jglkjx3lbbxhjltf9g_b600000gn/T//RtmpOXPBCC/downloaded_packages </pre><p><br /> 3.サンプル・コード<br /> コンソールに次のように入力</p> <pre class="code" data-unlink>&gt; library(shiny) &gt; runExample(&#34;01_hello&#34;)</pre><p>ウェブブラウザが起動し、次のグラフが表示される。スライダを操作するとグラフが変化する。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121123/20121123142642.png" alt="f:id:yasuda0404:20121123142642p:plain" title="f:id:yasuda0404:20121123142642p:plain" class="hatena-fotolife"></p> yasuda0404 Rをインストールする hatenablog://entry/12704830469095647788 2012-11-14T21:49:06+09:00 2012-11-14T21:49:06+09:00 もともと研究者に人気があったオープンソースのデータ可視化環境R(アール)をインストールする。1)ダウンロード 日本のミラーサイトは、筑波大学と兵庫教育大学。どちらも同じデザインのダウンロード画面につながる。 Download R for Mac OSXをクリックする。 最新のRのPKGをダウンロードする。今回はR-2.15.2.PKG2)PKGをダブルクリックして起動。ガイドにしたがってインストールする。 アプリケーションにR.appとR64.appが追加されている。 <p>もともと研究者に人気があった<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9">オープンソース</a>のデータ可視化環境R(アール)をインストールする。</p><p>1)ダウンロード<br /> 日本の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A1%BC%A5%B5%A5%A4%A5%C8">ミラーサイト</a>は、<a href="http://cran.md.tsukuba.ac.jp/">&#x7B51;&#x6CE2;&#x5927;&#x5B66;</a>と<a href="http://essrc.hyogo-u.ac.jp/cran/">&#x5175;&#x5EAB;&#x6559;&#x80B2;&#x5927;&#x5B66;</a>。どちらも同じデザインのダウンロード画面につながる。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114212930.png" alt="f:id:yasuda0404:20121114212930p:plain" title="f:id:yasuda0404:20121114212930p:plain" class="hatena-fotolife"><br /> Download R for Mac OSXをクリックする。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114213053.png" alt="f:id:yasuda0404:20121114213053p:plain" title="f:id:yasuda0404:20121114213053p:plain" class="hatena-fotolife"><br /> 最新のRのPKGをダウンロードする。今回はR-2.15.2.PKG</p><p>2)PKGをダブルクリックして起動。ガイドにしたがってインストールする。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214138.png" alt="f:id:yasuda0404:20121114214138p:plain" title="f:id:yasuda0404:20121114214138p:plain" class="hatena-fotolife"><br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214157.png" alt="f:id:yasuda0404:20121114214157p:plain" title="f:id:yasuda0404:20121114214157p:plain" class="hatena-fotolife"><br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214221.png" alt="f:id:yasuda0404:20121114214221p:plain" title="f:id:yasuda0404:20121114214221p:plain" class="hatena-fotolife"><br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214234.png" alt="f:id:yasuda0404:20121114214234p:plain" title="f:id:yasuda0404:20121114214234p:plain" class="hatena-fotolife"><br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214246.png" alt="f:id:yasuda0404:20121114214246p:plain" title="f:id:yasuda0404:20121114214246p:plain" class="hatena-fotolife"><br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214301.png" alt="f:id:yasuda0404:20121114214301p:plain" title="f:id:yasuda0404:20121114214301p:plain" class="hatena-fotolife"></p><p>アプリケーションにR.appとR64.appが追加されている。<br /> <img src="http://cdn-ak.f.st-hatena.com/images/fotolife/y/yasuda0404/20121114/20121114214313.png" alt="f:id:yasuda0404:20121114214313p:plain" title="f:id:yasuda0404:20121114214313p:plain" class="hatena-fotolife"></p> yasuda0404