Memo plus Alpha

メモにプラスアルファを加えて価値ある情報に。

Google ColaboratoryのRを日本語に対応させる

はじめに

Google Colaboratoryはオンライン上でPythonやRを実行できる優れた環境です。しかしながら、日本語を扱う場合に、躓いてしまうことがあります。Pythonの日本語については以下の記事が参考になります。

qiita.com

 

しかし、Rに関する記述があまり見つからなかったので、四苦八苦しながらいろいろと検証しました。結論から言うと、特定のフォルダにフォントファイルを置くということで解決します。

なお、Google ColaboratoryでRを使うには以下の記事を参照してください。

 

www.marketechlabo.com

現象

何もしなければ以下のようになってしまいます。

f:id:semanticist:20191209204958p:plain

 

対応策

(1)フォントのファイルを用意する

フォントはなんでもOKですが、ここでは以下のサイトから「IPAexゴシック」をダウンロードします。

 

IPA Font ダウンロード | 一般社団法人 文字情報技術促進協議会

 

圧縮ファイルを解凍し、ipaexg.ttfというファイルを取り出します。

 

(2)ファイルを所定のフォルダにアップロードする

Rの設定をしたGoogle Colaboratoryの画面から次のパスをたどります。「..」→「usr」→「share」→「fonts」

f:id:semanticist:20191209204659p:plain

このfontsというところにドラッグアンドドロップで先程のフォントファイル(ipaexg.ttf)を入れます。サブフォルダに入ってしまわないよう注意。

(3)ランタイムを再起動する

「ランタイム」→「ランタイムを再起動」を実行します。読み込んでいたライブラリなどはリセットされるので注意してください。

f:id:semanticist:20191209204825p:plain

これでフォントが使えるようになりました。

(4)フォントを読み込む

あとは、プロットを実施する前にpar(family="IPAGothic")でフォントを指定すればOKです。

【コマンド例】

install.packages("ca", dep=T)

 

library(ca)

data=read.table("ca.txt", header=T)

par(family="IPAGothic")

plot(ca(data))

f:id:semanticist:20191209205323p:plain

 

※ランタイムに接続する度にフォントをアップロードする必要があるようです。

 

コアサーバー(coreserver)でCGIを動かす(Internal Server Errorへの対応)

現象

コアサーバーでCGIを動かそうとすると、Internal Server Errorがでました。プログラムは以下のような単純なもの。

 

#!/usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello";

 

これが何故か動きませんでした。パーミッションも705にしているし、引っかかるようなところはなさそうです。

解決策

解決策は、1行目末尾にハイフンを2つ入れるだけ!

#!/usr/bin/perl --
print "Content-type: text/html \n\n";
print "Hello";

これは改行コードの問題のようです。Windowsで編集していましたが、サーバーはLinuxですので、その齟齬だと思われます。

 

なお、Python CGIを動かすときは、改行コードをLFのみにする必要があるようです(LF+CRだとエラーになります)。これはPythonは改行が区切りとして重要な意味を持っているからだと思われます(perlは1行目以外に改行がなくても機能します)。

App Storeでファミリー共有の「購入済み」が表示されない問題(iPhone, iPad)

 

ファミリー共有とは?

iOS等で「ファミリー共有」の設定をすると、家族で有料のアプリなどを共有することができます。

support.apple.com

 

ただし、家族のアカウントから同じアプリを(ストアから)インストールすれば自動的に無料になる、というわけではありません

共有の仕方は、例えばiPhoneのアプリの場合:

App Storeプロフィール画像っぽいところをタッチ(図1)→「購入済み」(図2)と進みます。

 

f:id:semanticist:20190905111135j:plain

図1:プロフィール画像っぽいところ

 

f:id:semanticist:20190905112648j:plain

図2:購入済みの表示

 

ところが、この「プロフィール画像っぽいところ」(図1)が表示されない場合があります。

 

対処方法

この原因の一つはファミリー共有の権限にあります。そもそもアプリの共有を許可する必要があることは前提ですが(ファミリー共有を設定する - Apple サポート)、子供のアカウントなどで、「アカウントの変更」が許可されてない場合、購入済みが表示されません。

 

「設定」→「スクリーンタイム」→ファミリーの名前を選択→「コンテンツとプライバシーの制限」を選択(図3)→「アカウント変更」を許可に(図4)

f:id:semanticist:20190905111829j:plain

図3:コンテンツとプライバシーの制限

 

f:id:semanticist:20190905105252j:plain

図4:アカウントの変更

 

これで子供のアカウントなどでも「図1」が表示されるようになります。

 

 

Windows 10 (ver 1803) 電源切れない問題、三度…

はじめに

Windows 10を1803にアップデートしたら、また電源が切れない問題が起きました…(バージョンの確認はWindowsボタン+R、プロンプトにwinverと入力)。

今回は少し症状が違って、スリープはできるけど、ハードディスクが落ちず(電源が切れず)、間隔をおかずに再起動するというものです。

原因

で、いろいろと試みた過去がありますので、その中で試したものを順次適応していきます。まずは悪名高い「高速スタートアップ」から。オフにしているはずですが、念のため確認すると…。

オンになっている!!(アップデートで勝手に書き換わった模様です。質が悪い…。)

ということで、こいつが原因でした。

対策

「設定」→「電源とスリープ」→「電源の追加設定」→「電源ボタンの動作を選択する」(なぜこの中に…)→「現在利用可能ではない設定を変更します」をクリック→「高速スタートアップを有効にする(推奨)」のチェックを外す(「推奨」とは一体…)

(1)

f:id:semanticist:20180627171802p:plain

(2)

f:id:semanticist:20180627171846p:plain

(3)

f:id:semanticist:20180627172003p:plain

 

 

Windows 10電源切れない問題、再び

概要

以前、Windows 10でシャットダウンできない問題(下記)について書きましたが、その症状が再発しました。

semanticist.hatenablog.com

前回は増設のLANボードを無効にして、オンボードのLAN口に変えることで解決し、3,4ヶ月ほどこれで大丈夫だったのですが、再び電源が切れない自体に。

解決策

今回もいろいろと調べたのですが、もっと根本に問題があるような気がして、BIOSレベルで設定を見直しなました。これが正解。

シフトを押しながら「再起動」→「トラブルシューティング」→「詳細オプション」→「UEFI ファームウェアの設定」

参考サイト

f:id:semanticist:20180525181206p:plain

SETTINGS→Advanced→Event Setupと進み、すべてDisabledにして再起動。

これで電源が無事切れるようになりました。これまで「シャットダウン」を押して、PCをが切れるのを待ち、切れた瞬間に(再起動しないうちに)根本の電源を切る、という超原始的なことをやっていたのですが、この作業ともオサラバです!(もうこれ以上再発しませんように…)。