2019年7月29日月曜日

iOS 12.4 で iPhoneのデータ移行 が超簡単になっていました


こんにちは、ふじかーです。

iPhone8Plus を使っていたウチの親父が、少し前に
「おい、iPhoneのデータ移してくれ」
と依頼してきました。

次の機種の iPhoneX を手に入れたので引っ越ししたいとの事。
仕方ないので、それぞれのiOSをバージョンアップしてデータ移行しようとすると
「iOSのバージョンが合っていないため、移行できません」
というエラーメッセージが。

おや、どちらも最新なのに・・?と調べてみると、最新iOSバージョンが
 iPhoneX       iOS 12.3.1 (2019-05-24リリース)
 iPhone8Plus   iOS 12.3.2 (2019-06-10リリース)
と、8Plusの方が進んでいました。

iPhoneは「バージョンが一致してないと引っ越しできない仕様」なので、
残念ながら親父さんのiPhoneは引っ越しできません。

「まぁそのうち上がるから待っとき」とお茶を濁してたんですが、
つい先日、ようやく
 iPhone 5s 以降対象 iOS 12.4  (2019-07-22リリース)
が公開されました。

リリースされたばかりのiOSにすぐ飛びつくのはバグが怖いので避けたい所ですが
まぁ自分が使うやつじゃないし
親父さんの期待に応えてあげるべく、一杯やりながら移行作業に取り掛かると・・・

これが以前に比べてメチャメチャ楽になってました!


iOS 12.4


リリースの内容 を見てみると
iPhoneの移行
 設定中に古いiPhoneから新しいiPhoneに
 ワイヤレスでデータを直接転送し移行する機能を導入
だそうです。


実際にやってみました。

■1.両端末のiOSを12.4にしておき、並べて置く

■2.新端末側を起動(Helloの画面)すると、旧端末側に「クイックスタート」の画面が表示される

  → 続ける を選択

■3.指示に従って進めていくと「データを転送」という画面に

  → こんな画面は今までなかったですね。「iPhoneから転送」を選択

■4.しばらく待つと「転送が完了しました」という画面
  → 新端末には、旧端末と同じホーム画面が配置されています。
    データ転送後、各アプリのダウンロード作業が始まるのは従来通り。



これだけ!?とビックリする簡単さです。
AppleIDや無線LAN、メールなどのアカウントも同じように設定されているので、
すぐ使えます。


あとLINEのような「アカウントの引継ぎ」が必要なアプリや、
Suicaやクレジットカードのような「1台のiPhoneでしか登録できないもの」については
アプリごとに個別で引継ぎ作業が必要ですが

もう今までのように

・「iTunes」か「iCloud」に暗号化してバックアップを取って復元して・・・・・・・・
・「iCloud」は容量制限があるから・・容量拡張で有料登録するのもちょっと・・・・・
・「iTunes」も何か分かりにくい・・「暗号化パスワード」忘れたら一巻の終わり・・・・・・

といったストレスや手間も不要、それどころかPCやLAN環境すら不要になっています。


今までiPhoneを何代か使い続けて
「多分次もiPhone使うと思うけど、データの移行が面倒なんだよなー」
という方、次は凄く楽です。期待していてください。

2019年7月19日金曜日

「流した汗は嘘をつかない」1ヶ月10000kcal消費チャレンジ!


こんにちは。よっしーです。


去年から「食生活改善」や「適度な運動」を心掛けて、

体重が減り続けていたのですが、

体がこの生活に慣れてしまったのか、

この3ヶ月間ほど停滞しております。


健康的に痩せるため、食事制限はあまりしたくないので、

7月から「適度な運動」から「しっかり運動」に切り替えることとしました。


いろいろと調べてみたのですが、

1kg減量する場合、約7200kcal分の運動が必要。

ということがわかったので、

キリのいいところで「1ヶ月10000kcalを消費する」を目標にチャレンジしています。


で、肝心の運動ですが、実行することはただ1つ、

「晴れてる日は、出来るだけ自転車通勤する。」

というものです。


自宅から仕事先までは片道約15kmあるので、

毎日となるとけっこうな運動量になります。


日頃の結果をデータとして見たいので、

私はスマホに「Runtastic Road Bike」というアプリを入れています。


このアプリで走行経路、走行距離、走行速度、消費カロリーなどなどを記録することが出来ます。


毎回の記録を履歴として見たり、区間ごとのデータが見れたり、


月ごとの統計も簡単に見ることが出来ます。


今のところ、7月は 5691kcal 分の運動をしていることが分かります。

梅雨ということもあって、なかなか自転車通勤ができていないため、

1ヶ月10000kcalと考えると、少しスローペースになっています。

頑張って巻き返したいと思います。。。


こうやって数値として見えると、どれぐらいなら出来そう。

とかも予測できるようになりますし、

そこから目標を立てたり、

日々の記録(消費カロリー)から、キッチリと結果(減量)が出ていれば

モチベーションアップにも繋がると思うので、

便利なアプリだと思います。


ランニング用のRuntasticアプリもあるので、

皆さんも興味あれば試してみてはどうでしょうか。


ではまた~。

2019年7月12日金曜日

IBM Cloud上のアプリが開始できない!

IBM Cloud上で動作させているアプリが、昨日、404エラーでアクセスできなくなってしまいました。
今までこんなことはなかったのに、と思いながら、ダッシュボードからアプリを開始したものの、何度試しても開始されません。

よくよく見ると、ランタイムのビルドパックに「noruntime」の文字が・・・


デプロイし直したところ、エラーが発生しました。


> cf push
(略)
-----> Python Buildpack version 1.6.23
-----> Supplying Python
          **ERROR** Could not install python: no match found for 3.6.4 in [2.7.14 2.7.15 3.4.8 3.4.9 3.5.5 3.5.6 3.6.6 3.6.7 3.7.0 3.7.1]
Failed to compile droplet: Failed to run all supply scripts: exit status 14


runtime.txtに記述していた3.6.4はサポートされなくなったようです。
3.7.1に変更したところ、アプリは正常に開始され、ビルドパックにも「Python」が表示されました。





















何の予告もなく、こうしたことが起こり得るのか、
それとも、英文のメールを私が見逃していたのか、、、真相は藪の中です。

またいつか、どこかで。


2019年7月8日月曜日

JavaのStreamAPIメモ [1]

どうも、もりもりです。

Java8でStreamAPIやラムダ式が使えるようになってからだいぶ経ちましたが
C#やVB.NETばかりでやらしてもらってますので
Streamは知ってても使ったことがないんですね~。
なのでメモ。

C#erならLINQを使えて当たり前。
なのでJavaerはStreamを使えて当たり前なのでしょう。

では下記C#のようなコードをJavaで書いたらどうなるのか?

using System;
using System.Collections.Generic;
using System.Linq;

namespace LINQSample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 偶数を取得
            var list1 = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            var list2 = list1.Where(x => x % 2 == 0);
            list2.ToList().ForEach(x => Console.WriteLine(x));
        }
    }
}

下記がJavaですね。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.*;

class StreamSample {
    public static void main(String args[]) {
        // 偶数を取得
        List<integer> list1 = new ArrayList<integer>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
        Stream<integer> list2 = list1.stream().filter(x -> x % 2 == 0);
        list2.forEach(x -> System.out.println(x));
    }
}


出力結果
2 4 6 8 10

ふむふむ。
stream()をカマさないとダメなわけですね。
少し面倒かも。。。

他にもいろいろと試したかったのですが
VS Codeのバージョンアップで1.36.0となり
(長い間更新してなかった。。。)
設定がガラっと変わってしまったり
一部の機能が使えなくなってしまったりと
そちらに時間を取られてしまいました。。。

なので次回以降でC#のLINQとの書き方の違いなどをもう少し掘り下げて
メモっていきます。

ちなみに、Javaの使い手をJavaerなんて書きましたが
他の言語の呼び名なんか見てみるとおもしろいですね。

 PHP:PHPer(ペチパー)・・・ペチパーて
 Python:Pythonista(パイソニスタ)、Pythonian(パイソニアン)・・・呼ばれたい
 JavaScript:JSer(ジェイサー)・・・なんかかっこいい
 Go:eGoist(エゴイスト)・・・ヤバw
 AWK:awker(オーカー)・・・The Walking Dead観たい気分になるね
 Scala:Scalalian(スカラリアン)、Scalman(スカルマン)・・・ホラーマンみたいな感じ?
 Visual Basic:VBer(ヴィーバー)・・・歯が出てそう


他にもいろいろあるようですが、こんな感じらしいですわ。