October 29, 2018

Background fetch

XcodeのCapabilitiesに Background fetch (下図の青枠部分) がありますが、これについて理解を深めたいと思います。 Background fetchとは Appleは App Programming Guide for iOS - Fetching Small Amounts of Content Opportunistically でBackground fetchを以下のように紹介しています。定期的にコンテンツを確認する必要があるようなアプリでは有効かもしれません。 Apps that need to check for new content periodically can ask the system to wake them up so that they can initiate a fetch operation for that content. 出典: App Programming Guide for iOS - Fetching Small Amounts of Content Opportunistically ただ、Background fetchはその「定期的」にというところについては保証はしておらず、システムがバランスを見てフェッチをすると説明が続いています。 Enabling this mode is not a guarantee that the system will give your app any time to perform background fetches. Read more

March 17, 2018

Rで統計学入門 記録3

はじめに 前回は以下の学習をしました。 相関係数 今回は統計学入門の 2.2 代表値で挙げられている以下の平均について学習します。 算術平均 幾何平均 調和平均 算術平均 算術平均は相加平均とも呼ばれます。 観測値が連続的なデータ (例: 試験の得点) の場合に使います。 下記の数式で\(\overline{x}\) (エックスバー) を求めます。 \[ \overline{x} = \frac{x_1 + x_2 + \cdots + x_n}{n} \] あるいは、このように表すと便利かもしれません。 \[ \overline{x} = \frac{1}{n} \sum_{i=1}^n x_i \] 算術平均は全てのデータを考慮できる反面、外れ値(異常に大きい値,小さい値)に弱いことが挙げられます。 例題1 国語テストの点数 六人の国語のテストの点数はそれぞれ 52,52,70,72,80,100 点であった。テストの点数の平均を求めよ。 平均値,中央値,最頻値の求め方といくつかの例 | 高校数学の美しい物語 https://mathtrain.jp/daihyochi これを先述の数式に当てはめると以下になります。 \[ \overline{x} = \frac{52 + 52 + 70 + 72 + 80 + 100}{6} = \frac{426}{6} = 71 \] Read more

March 13, 2018

Rで統計学入門 記録2

はじめに 前回は以下の学習をしました。 R Studioの環境構築 R Studioの基本操作 線形回帰 (浅め) 今回は相関係数について学習します。 相関係数 データサイエンティスト養成読本 (2016年の第2版) の「特集1 第1章 Rで統計解析をはじめよう」によると、 2つの変数の相関の度合いを表す相関係数があります。この値の意味するところは以下のようになっています。 |r| = 0.7 ~ 1 : 強い相関あり |r| = 0.4 ~ 0.7 : やや相関あり |r| = 0 ~ 0.2 : ほとんど相関なし 前回の「例題2 体重と身長」を使って相関係数を求めてみます。 # コード body_data <- read.csv("body_sample.csv", header = T, stringsAsFactors = F) men <- body_data[body_data$gender=="M",] female <- body_data[body_data$gender=="F",] cor(body_data$height, body_data$weight) cor(men$height, men$weight) cor(female$height, female$weight) # 結果 > cor(body_data$height, body_data$weight) [1] 0. Read more

March 11, 2018

Rで統計学入門 記録1

はじめに タイトルに統計学入門とありますが、何か新しいことを覚えようかなと思い、近くの本屋でぶらぶらしていたら、データサイエンティスト養成読本 (2016年の第2版) のこの辺りを読み始め、気がついたら購入していたので、記録をつけることにしました。 特集1 第1章 Rで統計解析をはじめよう 特集2 第1章 Rによるマーケティング分析 読み進めていくと、いくつか理解が追いつかない部分があったので、以下の資料で補うことにしました。 統計用言語Rの使い方 インストール MacにRとR Studioをインストールします。私のmacOS環境は以下の通りです。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G1212 $ echo $SHELL /usr/local/bin/zsh $ zsh --version zsh 5.3.1 (x86_64-apple-darwin16.6.0) RとR Studioのインストーラーを以下から入手します。 R (執筆当時、R-3.4.3.pkg を使用しました。MD5: d51d0869f3cbe0d782eede113897393a) R Studio (執筆当時、RStudio 1.1.423 - Mac OS X 10.6+ (64-bit) を使用しました。MD5: 3e3e3db076b44f3c5276eb008614b4cf) 必須ではありませんが、配布サイトがインストーラーのハッシュを掲載していますので、ダウンロードしたファイルのハッシュを以下のように取得すれば照らし合わすことができます。 $ openssl md5 ./RStudio-1.1.423.dmg $ openssl md5 ./R-3.4.3.pkg インストール自体は画面の指示に従って進めます。 Read more

March 3, 2018

HugoとOrg-modeでブログを書く

はじめに 振り返ると色々とブログ(サービス or ツール)を切り替えてきました。 ブログを切り替える際に、原則として記事を捨てるやり方を採用しています(笑) 手打ちHTML ブロッサムだかブルッサムだか Movable Type WordPress WordPress.com はてなダイヤリー はてなブログ 自作ブログエンジン (ASP.NET MVC) Hugo & Org-mode & Azure WebApps & Azure CDN & Onedrive Hugo & Org-mode & Netlify & GitHub 現在は上記10でやっています。 HugoとNetlifyの流れ Org-modeのフォーマットで記事を書く HugoでHTMLに変換する その内容をgit commit && git push netlifyが反応して、サーバーに記事が展開される セットアップ macOSでやっています。 HugoはHomebrew経由でインストールが可能です。 $ brew install hoge そのほかはこんな感じです。 Org-modeはEmacsに組み込まれているので、Emacsをインストールします。 netlifyは色々とやりましたが、画面の指示に従えばできました。 Google Analytics HugoはGoogle Analyticsのテンプレートを持っています。 {{ template "_internal/google_analytics_async.html" . }} もし、採用しているテーマに上記の記述があれば、設定ファイル (ここではconfig. Read more

July 6, 2016

macOSの日本語入力遅延を解消する

macOSは「ライブ変換」と「推測候補表示」という日本語入力を支援する機能を提供している。ただ、残念なことに、これらの機能がオンだと、日本語入力時のレスポンスが遅くなってしまう。そのため、私はこの機能をオフにしている。(いままでの日本語入力と比べると革新的なので、高スペックなMacを手に入れたら、常用したいとは思っている。) 「ライブ変換」 「ライブ変換」については、下記の記事が詳しい。 新Mac OSの日本語入力が「驚くほど使える」のを知っていますか? - 日経トレンディネット 「推測候補表示」 入力した内容から、センテンスを推測して、候補を表示する機能と理解している。 例えば、「コーヒー」と入力すると、変換候補に「コーヒーブレイク」や「コーヒーゼリー」を表示する。 「ライブ変換」と「推測候補表示」をオフにする方法 macOSの環境設定 > キーボード > 入力ソースで、ライブ変換と推測候補表示のチェックを外すだけで良い。

June 19, 2016

CyberduckでAWS S3にファイルをアップロード

Cyberduckを使えば、フォルダ構造を維持して、AWS S3にファイルをアップロードできる。 ファイルのアップロード自体はAWS S3のフロントエンドのウェブページで出来るが、フォルダ構造は自分で作る必要があり、やや手間がかかる。 実際のところ、今まではAWS S3をお試し程度の利用であったため、アップロード作業時に不便さを感じていなかったが、ウェブサイトをHugoで生成するようになってから、フォルダ構造を維持したまま、一括でアップロードしたくて、アップロードしたくて震えるようになった。 なお、本件に新鮮さはない。すでに別のブログで取り扱われている題材である。下記に参考資料としてまとめた。 Amazon S3 再入門 – AWS IAMでアクセスしてみよう!(Cyberduck 編) | cloudpack技術情報サイト Amazon S3 専用のアカウントを作ってみよう (フェンリル | デベロッパーズブログ) CyberduckとIAMユーザー 上図はCyberduckでAWS S3に接続する際の設定画面だ。この画面では以下を入力する。 アクセスキーID シークレットアクセスキー これらのキーを入力すれば、AWS S3に接続できるのだが、そのキーはIAMユーザー作成時に入手できる。IAMユーザーはAWS Identity and Access Managementで作成できる。IAMについては下記を参照されたい。 IAM とは - AWS Identity and Access Management IAMユーザーの作成 IAMユーザーにはユーザーとグループの概念があるので、まだ一度も作っていない場合は、下記の手順で進むことになる。 グループ作成 ユーザー作成 IAMユーザーのパスワードを設定する IAMユーザーでログインする グループ作成 まずはグループを作る。小規模ならユーザーごとにポリシーを適用するだけで済むが、概念化できないので、確認ミスが起きやすい。それを回避するためにグループの定義が要る。 グループの作成手順は以下の通り。 AWSコンソールからIdentity & Access Managementにアクセスする Identity & Access Managementのサイドメニューにある「グループ」をクリックする 「新しいグループの作成」をクリックする。「新しいグループの作成ウィザード」が表示される グループ名を入力する ポリシーをアタッチする (今回は「AmazonS3FullAccess」を選択した) 確認画面で入力内容を見直す 参考までに、以下に図を残す。 Read more

June 13, 2015

macOSで定刻にプログラムを実行させる

macOSで決まった時刻にプログラムを実行させたいので、UNIXやLinuxのcron、Windowsのタスクスケジューラに相当する機能がないか調べた。Mac Developer Libraryを覗くと、Scheduling Timed Jobsにジョブに関する記述があり、まとめると以下のようになる。 プログラムを定時実行させる場合は、launchdジョブとcronジョブが使える 好ましいのはlaunchdのジョブを使うことである。cronは非推奨だ launchdジョブの定義 launchdジョブはプロパティリストファイル(.plist)で定義する。記述方法はA launchd Tutorialをはじめとするリンクを参考資料にまとめたので、そちらをみてほしい。 launchdジョブの配置場所 launchdジョブは用途によって設置場所が異なる。 launchdジョブ定義ファイルの配置場所 配置場所 用途 ~/Library/LaunchAgents 各ユーザが管理するエージェントを設定 /Library/LaunchAgents 管理者が管理するエージェントを設定 /Library/LaunchDaemons 管理者が管理するデーモンを設定 /System/Library/LaunchAgents OSが管理するエージェントを設定 /System/Library/LaunchDaemons OSが管理するデーモンを設定 デーモンはシステムレベルで実行されるジョブのことを指す。従ってroot権限を必要とする。そして、LaunchDaemonsディレクトリはユーザディレクトリには存在しない。エージェントはログインしているユーザ毎に実行されるジョブを指す。 例えば、特定のユーザ用のジョブなら、下記のようにコマンドを実行する。 $ launchctl load ~/Library/LaunchAgents/com.hiroakit.hoge.plist # 登録 $ launchctl list com.hiroakit.hoge # 確認 $ launchctl unload ~/Library/LaunchAgents/com.hiroakit.hoge.plist # 登録解除 実行したlaunchdジョブのログ 実行結果は、原則として/var/log/system.logに出力される。 Read more