「IT」カテゴリーアーカイブ

やっと壊れかけのスマホNexus5を買い替えることにし、Zenfone3Maxを購入した

 初めて買ったスマートフォンであるNexus5の電池の持ちが悪くなりだした。さらに電源ボタンを1回押すと2回押したとみなされる現象に悩まされていて、電源ボタンを押しても画面が一瞬見えるがすぐに消える、なんてことになることが度々あり、もう寿命かな、と思い始めていた。調べると使い始めてからもう3年と数ヶ月になる。この端末は一度数秒ほど水没させてしまったことがあり、壊れるのは時間の問題か、と思っていたが、それから1年近くはもった。

 そういうわけで買い替えることにした。購入するに辺り、まず、Nexus5の不満点を考えてみたが、正直なところ、ほとんどない。電池さえ持てば、このまま使いたかったぐらいだ。私の主な用途はSMSとかLineとかでのちょっとしたメッセージのやりとり、電話、GPSを使ったカーナビやマップの利用、ニュースチェック程度で、ゲームはまったくしないし、外で動画やテレビを見たいとは思わないので、ワンセグもいらん。CPUも最新の高性能なやつは私にはオーバースペック。

 できれば付いていて欲しい機能としてはテザリングで、この機能に助けられたことが何度かあった。あと、容量については、私のNexus5は32GBタイプで、買った当時は32GBもあれば十分すぎると思っていたが、それでも時々写真や動画をどっさり端末から消さないといけなくなることが何度かあって、やはり32GBは欲しいところ。

 カメラは撮れればいいやん、ぐらいに思ってるが、Nexus5で唯一残念感があったのが、カメラ機能。ピントがうまく合わないことが結構あり、なかなか思うように撮れないことがよくあったので、そういう基本性能部分でもう少しマシなやつがいいかな、と。

 ざっくりいうと、希望としては、Nexus5と同等以上がいい、ということで、それを第一条件にして調べてみた。

 最近のスマホ事情をよく知らなかったので、なんとなく第一候補は売れ筋のZenfoneシリーズだったのだが、調べ始めると安いもので新品でも1万円程度のものもあり、SIMフリー端末は選択肢が多すぎず少なすぎずいい感じにあって、なかなかに迷う。一応、IT技術者の端くれであり、まあまあ最新のOSにしたいところで、可能であれば、もうすぐ発売されるGoogleのPixel2にしたかったが、初代Pixelが日本で発売されなかったので今回も発売されないと判断し、また仮に発売されても10万近くするみたいなので諦めた。

 SIMフリーで容量32GB以上に限定すると、結構候補が限られてきて、そこから高価なのを除外すると、かなり絞られる。価格は重要な要素で、日本の大手メーカー製のは価格とスペックのバランスが海外勢と比べて落ちるので、除外。今回、初めて知ったブランドがいくつもあり、日本の会社のも一見よさそうなのがいくつもあったが、レビューなどを見ると目も当てられない感じになってるのもあって、たかがスマホごときにわざわざそういう冒険をするのもなー、というのもあって、日本の会社のも除外。

 残ったのは中国・台湾勢のみとなった。具体的にはHuawei、ASUS、Motorola、ZTEの4社。最近はHuaweiが人気で最後まで迷ったが、止めておいた。ウクライナ滞在時にHuaweiの通信端末を使っていて、特に不満もなかったが、会社が政府に近いという話があり、民間ラブの私としては、避けたいなぁ、ということで除外。残る3社のうち、ZTEは、今の私の希望に合うのがなくて除外。Motorolaはウクライナ滞在時に使ってた携帯端末がなかなかよかったので、好感を持っている会社でよい端末もあったが、今回私が購入したZenfoneシリーズの安めの端末よりスペックはよくても割高に感じたので、当初の予定通り、Zenfoneにした。

 Zenfone4が出たばかりで、最初はそちらも検討していたが、型落ちのZenfone3で私には十分であることが予想できたので、割安なZenfone3 MaxというCPU性能は落ちるがバッテリー容量がでかいのにした。今回、Nexus5買い替えの最大の要因はバッテリー容量であり、自分で交換も可能とはいえ、総合的に判断して買い替えることにしたのだった。

 まだ買ったばかりなので、使用しての感想はまた別の機会に、ということで。

Round関数について、四捨五入より誤差が少なくなる偶数丸め(五捨五入・銀行丸め)だが、使い方には注意が必要

 この前、四捨五入でちょっとはまったんで、メモとして書いておきます。

 Excelで四捨五入といえば、Round関数ってのがあって、これを使うと四捨五入になる。例えば、セルA1に”1.5″、セルB1に”=Round(A1,0)”と入力して、Enterキーをバシッとやると”2″となるし、セルA2に”2.5″、セルB2に”=Round(B1,0)”ってやってバシッとやっても”3″になり、普通に四捨五入になってることがわかる。

 ところが、これをエクセルのマクロ(VBA)でやると、違った結果になる。エクセルのワークシート関数のRoundは四捨五入だが、VBAのRoundは「偶数丸め」(「五捨五入」とか「銀行丸め」とも)というやつで、ちょうど0.5のとき偶数になるように切り捨てか切り上げかが選択される。

 例をあげるとわかりやすいんで、1.5を偶数丸めする場合、切り捨てだと1、切り上げだと2になるが、偶数になるように、ということなので1.5の場合は2となる。2.5を偶数丸めすると、切り捨ては2、切り上げは3となり、切り捨ての偶数の2が選択される、以下、3.5なら4、4.5なら4って感じになる。

四捨五入と偶数丸めの比較
四捨五入と偶数丸めの比較

 これの利点は、四捨五入だと、真ん中は全部切り上げられてしまうので、プラスの数字はより大きく、マイナスもより大きくなってしまうが、偶数丸めはそこのところを半々に切り分けているので、誤差が少なくなり、金額計算などより精度の高い計算結果が欲しい場合に有用となる。実際、銀行で使われてたので、英語でbankers’ roundingとも言うらしいし、日本語でも「銀行丸め」という場合もあるみたい。

 プログラミング言語によっては引数で丸め方を指定できる場合もあるが、そういうのがない言語もあるし、引数なしで使う場合のデフォルトの挙動も言語によってまちまちなようなので、いずれの丸め方を使うか、ちゃんと意識しておかないと、私みたいにはまることになります……。ロジックは同じなのに言語が違うと合わないってことが起こりえます。

 ちなみに、この丸め方の日本語での使われ方が気になったので、ググッてみたが、こんな結果になった。

"JIS丸め" 四捨五入    - 約 3,010 件(単独 約 3,370 件)
"銀行丸め" 四捨五入   - 約 2,440 件(単独 約 2,580 件)
"ISO丸め" 四捨五入    - 約 2,350 件(単独 約 2,360 件)
"偶数丸め" 四捨五入   - 約 1,140 件(単独 約 3,290 件)
"五捨五入" 四捨五入   - 約 1,000 件(単独 約 2,040 件)
"最近接丸め" 四捨五入 - 約   133 件(単独 約   193 件)
"偶捨奇入" 四捨五入   - 約   261 件(単独 約   598 件)

 Wikipedia英語版のRoundingの項によると、英語では、以下のような呼び名があるらしい。同じくググッて件数調べてみた。日本語で言う「最近接丸め」がよく使われてるようで。

"round-to-nearest" 約 186,000 件 
"banker's' rounding" 約 9,800 件
"bankers' rounding" 約 5,490 件
"unbiased rounding" 約 6,070 件
"convergent rounding" 約 4,770 件
"statistician's rounding" 約 1,270 件 
"Gaussian rounding" 約 649 件
"odd–even rounding" 約 435 件
"Dutch rounding" 約 424 件

 昔から四捨五入って五が切り上げ側にされてて、なんか不公平だなと思ってたが、この偶数丸めは公平性があって、知った時は、四捨五入やめて、全部これにしたらええやん、って思ったものだが、世の中、そんなに精度が高いのは常に必要ではないし、四捨五入は何よりもルールが簡潔でわかりやすいので、このままでええねん。

今季契約終了&ソフトウェア・テストについて

 本日、今やってる仕事の契約終了日。特に家族のことやこれからの拠点など、いろいろ考えたが、引き続き、今のところでもう少し継続することにした。期間は半年の契約で、その後はまだ決めていない。

 多分、今の今、IT関連会社では消費税対応、というか、軽減税率対応をどうするかで、政治の行方を見守っているところが少なくないだろう。しかし、消費税率アップの方はともかく軽減税率導入だけはホンマやめて欲しい。今の日本にはこんなくだらない政策に振り回されいる余裕はない。これをゴリ押ししてるらしい公明党さんに有利な別のなんかの政策導入許すからこっちは諦めてくれんやろかいなーW ・・・まあ、冗談ですが。

 最近、仕事が忙しく、普段はほとんどしない残業をしたりしていて、今日も残業。元々契約としてしなくてはいけないところは早々に終わっているので、契約的には問題ないのだが、その後、引き受けた案件がそんなに手がかからないと思っていたのが、意外にも着手してみるとなかなかに様々な配慮が必要なものであることがテスト段階で判明し、作り直したりしていて、時間がかかってしまった。こういうのは最初から怪しいところを見つけておかないといかんのだが、ちょっと甘く見てしまったのだった。

 先日発生した全日空のシステム障害は、こちらの「ANAシステム障害の原因判明、シスコ製スイッチの「世界初のバグ」でDBサーバーがダウン」という記事によるとシスコのスイッチの不具合とのことで、原因はいつものようにITゼネコンがらみのソフトウェアに違いないと勝手に推測していたが、そうではなく、ハードウェア由来だったようだ。スイッチはこちらのCatalyst 4948Eという機種だったそうだが、100万円はするような機器で私ら風情のプログラマの端くれが目にする機会のないようなやつ。シスコっつうとお高いけど信頼性抜群というイメージがあるが、今はそうでもなくなってきてるのかしら。

 記事内には「トラブル発生2日後の3月24日にシステム改修を終えた」とあり、へー、たった2日で対応出来てしまうんか、と感心したが、システム内部ではなく、ハードウェア障害への対応なので、そんなに手間ではなかったってことなのか。さすがにこのレベルのスイッチの不具合まで見越してシステム設計はしてなかったと思うが、「本番環境と同等の作りにしてあるテスト環境にスイッチを持ち込んでテストした」とあり、やはりこういう基本的なところを疎かにせず、きっちり準備してるあたり、ちゃんとしてるな、などと思った次第。

 こうしたテストやテスト環境の構築は、あまり生産的じゃないし、面倒だし、つい端折りたくなるところだが、こういう時に役に立つし、さらに不具合発見にも役に立つので、システム構築時にテストはやはり必須。それも闇雲なテストではなく、効率よく、かつ、網羅的である必要があり、誰でもできそうだが、テストはなかなか奥が深く、改めてその重要性を認識している。

(今回は久々に親指シフトで書いてみた。文体に特に違いは出てないと思うが、どうかな)

ブログセラピー

 平日昼間は仕事、朝晩と休日は子守という生活が続いている。最近は就床・起床のタイミングが子供と重なることが多く、私の希少な可処分時間がますます少なくなっている。ぶっちゃけブログなんか書いている時間があったら、山積しているToDoをこなさなあかんやろ、とも思うのだが、こうやって特定の誰かではない人に向けて文章を綴る時間というのは、生活に追われる毎日の中で悪くなく、精神安定作用があるように思う。

 時々チェックしてるブログで「ブログセラピー」なる言葉があることを知った。ブログを始めた理由はツイッターではまとまった文章を書くのに向かないので、こういう場を作っておけば、ちょっとした情報を出したい時に使えるだろう、ぐらいの気持ちからだったが、こういう感じになるのは想定外だった。

 この文章も子供にまとわりつかれながら書いていて、前段を書いてから5分経過した。かようにちょっとした文章を書くのも簡単ではないのだが、自分専用の日記とは違い、誰かに読まれることを想定して書くことで、よりよく頭の中を整理できるように思う。

 カウンセリングを受けるとモヤモヤがすっきりするのは、現在置かれている状況を他人に話すことで心の状態が整理されるからだろう。プログラミング中でも良い解決法が見つからないときに他の人に説明するだけで解決することがあり、これを積極的に利用する「ラバーダッキング」(ゴム製のアヒルのおもちゃに話しかける)というのがあるが、これも似たようなものだろう。

 別に非公開なプライベートな日記にでも書いておけばよいとも思うが、一時的にこういう形で継続的に文章を綴ってみるのも一興かな、程度の意識で1年半ほど続いている。もう少し余裕が出たら、もっと別な形になると思うが、当面はこれぐらいがせいぜいでぼちぼちと続けられたらそれで十分、ぐらいでやっていこうというところ。

Windows10で休止状態から勝手に復帰する不具合へのとりあえずの対応策

 「Windows 10のPCが夜中、勝手にスリープから復帰する」原因と対策 という記事が出てきた。私もこの現象に悩まされており、いろいろ調べたが、結局、このサイトにもあるように、

Homeユーザーが確実に夜中にPCが起動しないようにするためには、シャットダウンをしておくか、Windowsのフィードバックで要望を出して、改善されるのを待つしかないだろう

とのことで、作業状態は保持したいため、シャットダウンはしたくないので、さてどうしたものかと考えていたところ、とりあえずの対応策を思いついた。

“コンセントを抜いておく”

 要するに、夜中に起動しなければよいわけで、毎回、休止状態にしたらコンセントを抜き、起動時にコンセントを挿せばよい、というわけだ。

 コンセントの抜き差しはやや面倒なので、私の場合は、電源タップにスイッチがついてるやつを使うことにした。実は、ちょっと前までマメにスイッチオンオフしていたのだが、ここ最近は子どもの世話(主に遊んでくれ~の対応)が大変で、その余裕もなくなっていたのだったが、これは一度習慣付くと特に問題なく続けられることなので、再びやり始めようと思う。

 ノートPCの場合は悩ましいところだが、バッテリーを外してしまうのが一つのやり方だろう。毎回バッテリーを外すのが面倒であれば、普段からバッテリーを外した状態で使用するのもありだろうと思う。実際、私はノートPCをメインマシンにしていたとき、バッテリーの持ちをよくするために、そのように使用していた時期があり、特に問題は感じなかった。ただし、停電の時も電源ダウンしない、というノートPCのメリットがなくなってしまう問題点はあるので、各自が自分の状況に合わせた解を見つけるしかないだろう。

 Microsoftが対応すればすべて解決なんだが。。。