読者です 読者をやめる 読者になる 読者になる

何かの 5s を買った話

iPhoneにとても良く似たスマートフォンの5sを買いました。 とてもコスパが良くて気に入っています。(謎のVendor ROMが焼かれていたのが不安でOfficial ROMにはしました)

元々zenfone3を買おうと思っていたけど、フライングで発表された値段を見てやめたのですが、 いい買い物が出来たかなと思っています。

で、この5sは miui という独自のUIを持っているのですが、 iPhoneのようにアプリアイコンだらけになってしまうのでLauncherは Google Nowランチャーに変更して使っていました。

Wallpaper Carousel

このスマートフォンのロック画面はWallpaper Carouselというもので、 デフォルト設定では15分間隔で画像が変わっていきます。

この画像がどれも綺麗で大変気に入っていました。

MIUI 8.0.18.0

ところが、昨日OTAが降ってきたためにアップデートしたところ画像が変わらなくなりました。

8.0.10.0 -> 8.0.18.0 (こんな感じでバージョンが変わりました)

設定のWallpaperから変更しようとしても、何を選んでも "can't load image" と表示されるだけで変更も出来ません。

色々と調べたところ、下記のことが分かりました。

Google Now ランチャーとの相性

どうやら、Google Now ランチャーを使っていると、Wallpaper Carousel が使えなくなるようです。

そのため、System Launcherに戻して見たところ動くようになりました。

ただ、今度はGoogle Nowランチャーが設定できなくなりました。 いや、設定は出来るのですがホームボタンを押すと "wait a second" (こんなだった気がする)と一瞬表示されて、 System Launcher に戻ってしまいます。

Google Now ランチャーの設定

新しいバージョンで別のLauncherを使うには、下記の設定が必要らしいです。

1.Developer設定の有効化。

 設定 -> About phone -> MIUI version を10回タップ

2.MIUI最適化をOFF

 Additional settings -> Developer options -> Turn off MIUI optimization

これでGoogle Now ランチャーを使えるようになるのですが、 今度はWallpaper Carouselがまた動かなくなります。

結局どうしたの

Flashtoolで元のバージョンに戻してしまいました。不具合で困ることも無かったし。

今では綺麗な Wallpaper Carousel と Google Now ランチャーを同時に使えて満足です。

日本語化とかプラスエリア化とかは日本語のブログでもよく書かれているのですが、 この件についてはあまり見当たりませんでした。 みんなWallpaper Carousel使ってないんですかね?

もし困っている人がいたら、試してみてください。

Go言語勉強会(お独り様) #1

Go in Actionを一人で読んで書いていきます。

Chapter1

Go言語の特徴

  • 並列処理が得意(Goroutines)。マルチコアを有効利用できる。
  • 高い再利用性。
  • C/C++の実行速度とRubyPythonの生産性を両立
  • 速いBuild(頭の良いコンパイラとシンプルな依存関係解決アルゴリズム
  • Goroutine ≠ Thread

Goroutine

  • 他の言語で並行処理をしたい場合に使用する。
  • Goroutineは1つのThreadで幾つも実行される。
  • Threadに比べて省メモリで実行でき、自動的に実行がスケジューリングされる。

Goroutineとして実行するには下記のように "go" で呼べばいい。

func log(){
}

go log()

Channel

Goroutine間で安全にデータを受け渡すことが出来るデータ構造。

多くのプログラミング言語に存在する、マルチスレッドで1つのデータに アクセスすることで発生する問題を解決することができる。

(多くのプログラミング言語ではこの問題は、 セマフォ、mutexなどで非同期的に共通のデータを触らないようにしている。)

Composition

Go言語は、再利用しやすいように型にCompositionパターンが適用されている。

型というよりも動作を定義するようなインターフェース実装が可能。

感想

とりあえず、1時間ちょっとでChapter 1はお終い。

個人的には、継承のあたりの説明がいまいち分かりにくかった。 Figure 1.4 とかもう少し良い説明がないものか。

あとは英語としては比較的簡単に書いてくれていて、英語力が低い私でも結構平気で読めました。

Xperia Z (SO-02E) をWCDMAのみに変更した

Xperia Z をKitKatにアップデートした後でLTEにしたら、バッテリーの減りが早くなったので3Gに戻したいけど戻せないと書いた。

Xperia Z (SO-02E) を KitKat 4.4 にアップデートした - tohosokawaの日記

 

ちょっと面倒なことをすると変えられるのは知っていたけど、やり方を覚えていられなくて実用的じゃないからアプリを探してみた。

 

そしたらすぐに見つかりました。

Network - Google Play の Android アプリ

このアプリを使うと、[*#*#4636#*#*#]をダイヤルしたときと同じ画面が表示され、「優先ネットワークを設定」から "WCDMA only" を指定することで、LTEをOFFにすることができます。

 

通常時の通信速度よりもバッテリーを重視したい人はどうぞ。

 

Xperia Z (SO-02E) を KitKat 4.4 にアップデートした

9月12日に遂に Xperia Z のKitkatが降ってきたので、迷わずバックアップもとらずにアップデートしてみました。

 アップデートしたところ、気のせいか前よりモバイルデータがOnの状態での電池の減り方が改善された気がしました。

(本当に気のせいでした。)

 

で、アップデートで気になった点があるので2つ書いておきます。

1. クイック設定ツール

Notification の所から端末の設定を変更するためものなのですが、Notification と設定をタブで切り替えるようになってしまったため、以前より一手間増えています。

クイック設定ツールといいながら、手間が増えている時点でちょっと納得いきません。

f:id:tohosokawa:20140913173820p:plain

2. LTEにならない

アップデートしてからなぜか3G(HのHigh Speed アイコン)のみで、LTEでつながらなくなりました。

モバイルネットワーク設定を確認したところ、ネットワークモードが "3G/GSM" のみとなっていました。

  設定→その他の設定→モバイルネットワーク→ネットワークモード

 

f:id:tohosokawa:20140913185038p:plain

これを "LTE/3G" にすることで LTE 接続が可能になったのですが、モバイルデータ通信がOnの時のバッテリーの減り方が以前と同じようになってしまいました。残念。

(これがバッテリーのもちが改善された理由と思われます。)

 

そして、普段は LTE で通信するよりも電池持ちがいい方が嬉しいので元に戻したいのですが、ネットワークモードの選択肢には "3G/GSM" が存在しないため戻せません。

残念ですが、このままLTEで繋いでおくことにしました。

(きっと何とか出来るんでしょうが。)

 

app.get() が unresolved function になることへの対処

WebStorm とか IntelliJ IDEA で Node.js のプロジェクトを作ると、

app.js で app.get() とかが unresolved function となってしまう。

 

これを解消するために、下記の対処を行った。

1. Preferences -> JavaScript(Project Settings内)-> Libraries

f:id:tohosokawa:20140223170457p:plain

2. "Download" button -> TypeScript community stubs

f:id:tohosokawa:20140223170509p:plain

3. select "node" and "Download and Install" button

 

 

いつも忘れて plugin からやろうとしてできなくなるので、メモを残していく。