2021年3月29日月曜日

楽天モバイル 「Rakuten UN-LIMIT VI」SIMの状況

3/21にRakuten UN-LIMIT VI 1年無料のSIMを契約しました。


こちらは「Aterm MR04LN」でWifiスポットとして


使用しています。


色々壁はありましたが、何とかクリアできて、

現在、ちょうど一週間たったところです。


通信量は現在10GBに到達したあたりです。


品川辺りだからかわかりませんが、ストレスなく使えています。


1年間無料だから初め怪しかったのですが、


契約して良かったと思います。


そういうことで、今までお世話になっていたBroad Wimaxの方は解約しようと思います。

(5000円以上かかっていたし、

3年縛りがそろそろ終わることもありますので)


最近やたらと機種変更を進めてきます。


これやると、新たな3年縛りが発生するので、


頑なに拒み続けたいと思います。


3000円(楽天モバイル) vs 4500円(Broad)は残念ながら楽天の方が良きかな。


楽天モバイルはエリア外の時は1Mbpsでau回線として容量無制限なので全く問題ありません。


因みに、容量制限のあるdocomo,au,softbankなどキャリアは

超過すると殆どが128kbpsで使い物になりません。


YouTubeは最低148kbps必要で 128kbpsだと、断続的に止まります。


はい、脱大手キャリア

2021年3月24日水曜日

[Aterm MR04LN] [バッテリ] クレードルで電源アダプタによって充電されない

こんにちは、針山散策を今日もほのぼのと行います。

03月21日、楽天モバイルで

Rakuten UN-LIMIT VI 1年無料のSIMを契約しました。

Aterm MR04LN

を持っていたので、現在そちらで使用しています。

ただ、Aterm MR04LNの調子が悪いみたいで

クレードルにさして充電しても、バッテリがどんどん減っていく現象がありました。

色々調べてみました。

結論としては、電源アダプタを5V、1.2Aのものを使用したら解消しました。(電流が足りませんでした。)

以下調べた順です。

  • 1.Aterm MR04LNの設定でルータor ブリッジモードの設定は関係あるのか?
  •   →関係ありませんでした。
  • 2.Aterm MR04LNの電源をOFFにして、充電するとどうか?
  •   →充電されます。
  • 3.クレードルではなく、直接充電したらどろうか?
  •   →充電されます。
  • 4.電源- クレードルの電圧、電流はどうか?
  •   →5V、550mAでした
  • 5.クレードルの後面に記載の表記は5V、1.5Aと記載があります。それに近い値の
  •   電源アダプタを指してみるとどうか?
      →5V、1.2Aが手元にあったのでそれを試してみたところ正常に充電出来ました。

一瞬、バッテリ買わないといけないのか?

60%以上で制限がかかる、ECOモード?と思ってみたりしましたが

色々試してみると楽しいですね。

2021年3月17日水曜日

[Java] synchronizedのメモ書き

こんにちは、針山散策を今日もほのぼのと行います。


今日はスレッドについてメモしたいと思います。


スレッドは、本来の処理とは別のプログラムを動作させる小さなプログラムの事だと思います。


・スレッドは、Runnableインタフェースを実装したrunメソッドが実行されます。

・Runnableはインタフェースなので、クラスのつもりでRunnableをnewは出来ません。

・起動方法はstart()メソッドによってスレッド化され、runメソッドを呼び出します。

・runメソッドの実行が終わると、スレッドも自動的に終了する。タイマを使用する際は再設定をよくします。

・スレッド実行中にsleep()メソッドを行うと、待ち状態に遷移する。

→他の実行可能状態のスレッドが動き出す。

・ThreadクラスはRunnableインタフェースを実装しているものです。

・synchronizedは複数のスレッドがあった時、共有領域の排他制御に用います。

    https://www.techscore.com/tech/Java/JavaSE/Thread/3/

・synchronized キーワードは、メソッドおよびブロックに指定することが出来る。

・synchronizedはRTOSでいうセマフォの動作を行います。

・synchronizedの例

class ZZZClass{

    synchronized static public void method() {

   .............

 }   

class ZZZClass{

 static public void method() {

   synchronized(Class.forName("ZZZClass")) {

     .............

   }

 }

と同じです。


2021年3月12日金曜日

[Java] HashMapのメモ書き

こんにちは、針山散策を今日もほのぼのと行います。


HashMapがJavaプログラミング能力認定試験2級過去問のプログラミング問題に出ていましたので

調べてみました


1年前に本で読んでいたはずでしたが、すっかり忘れていました。


以下を参考にしました。

https://java-code.jp/232


Mapということもあり、keyとvalueを持った2次元マトリクス状をイメージすればよいでしょうか。

keyは重複できない

格納した順番に取り出せるわけではない。


keySet()はすべてのキーを取得。確かにset keyではないのでkeysetというモノを取得すると考えると理解できます。


get(),put()は想像通り

Collection<V> values()はすべての値を取得


hashMap is a Mapなのね。

使い方は拡張for文ですね。


hashMapクラスメンバをhmとすると

for(String key:hm.keyset)

{

   getvalue=hm.get(key);

}

でgetvalueにループの都度keyに対応した

値が取得できます。

getvalue,keyは、値と言っても整数、少数、文字列なんでもござれ。


hashSetの場合は以下が参考になります。

https://java-code.jp/228


2021年3月5日金曜日

[Javaプログラミング能力認定試験2級] 問6、7(長文)対策自問自答

こんにちは、針山散策を今日もほのぼのと行います。


Javaプログラミング能力認定試験の過去問をやってみました。


最後の6,7問目は長文読解の問題です。

意外と時間が足りないんじゃないかと思いますので、

効率的に解いていけるようにならないか?を考えてみたいと思います。


長文の構成は以下の通りです。


-----------------

1. ソースの解説文

2. ソース

3. 問題

-----------------


読んでいく順番は

"1. ソースの解説文" 

"3. 問題" 

"2. ソース"

で"3. 問題"にてポイントを絞ってからソースを見るようにします。


問題は全部解く必要はなく、考えるような問題は後回しで対応していけばいいんじゃ

ないかと思います。(合格が目的なので全て理解する必要なし。と自分に言い聞かせる)


以下、問題は、[必ず解く]、[解けそう]、[考えそう]の3つに分けられると思います。


[必ず解く]

・ソースと解説文の紐づけを理解していないでも解ける問題を見抜きます。

    例えば、ループ文が書いてあって、条件文がその中に書いてあったら、

        ブレークする処理を候補にするとか。

   

[解けそう]

・ソースと解説文の紐づけを理解する必要があるが、すぐに回答できそうな問題を解きます。


[考えそう]

・ソースと解説文の紐づけを理解する必要があり、すぐに回答できない問題は捨てます。

    適当に妥当そうな選択肢を選ぶようにして、時間が最後に余っていたら考えるようにします。


問6、7で100点中40点を占めるので、ここで20点~30点程度とれれば

良いんじゃないかと思います。


以上です。

2021年3月2日火曜日

[Java] 例外処理の意義

こんにちは、針山散策を今日もほのぼのと行います。

今日は、Javaの例外処理の意義について考えてみようと思います。


例外処理とは

正常系の処理とエラー系処理をそれぞれまとめて書くことが出来る仕組みです。


C言語だと、

    処理1

    if(エラー判定1)

    {

        エラー処理1

    }

    …

    処理n

    if(エラー判定n)

    {

        エラー処理n

    }


を記述していくと思います。


一方、Javaの場合、処理用ブロックとエラー処理用ブロックが分かれています。

    try

    {

        処理1

        …

        処理n

    }

    catch(IOException e)

    {// 入出力関連の例外処理

        エラー処理1

    }

    catch(ConnectException e)

    {// ネットワーク接続例外処理

        …

    }

    …

なので、読みやすい仕組みになっています。


ということで、この例外処理はおろそかにしてしまうと、


ザルアプリが誕生してしまいます。