takahashi212月,20190著者:takahashi“ワンセグ対応”スマートフォンが減少中らしい...ふと気になる記事が目に留まりました。日本そういえば最近、確かにワンセグ対応を売りにした端末を見かけなくなった気がします。3aも日本仕様ですが、ワンセグは入っていないですしね。見れる機種であっても、別アンテナの接続が必要だったり、そもそも受信感度があまりよくなかったり...なんていう感じもあり、正直実用性は疑問に感じていました。昔はフルスペック重視の考え方で、必ず”ケータイにはワンセグが入っていてほしい”という考えでしたが、最近は”どこでもテレビが見れる”こと自体の需要をあまり感じなくなったのもあるかもしれません。災害時などを考えるのであれば、むしろテレビ受信に特化した専用機とかメディアプレーヤーとして出ていた方が欲しくなるかもしれませんね。(HDD接続で録画できる、とかあったらもっといいかもですね。NCCのIPアドレス在庫が枯渇。迫るIPアドレス不足対策のリミット。話題に上ってから久しい、IPv4アドレスの在庫枯渇問題ですが、ここ数年の間に実際に多くの管理団体で、未使用のIPアドレス在庫が枯渇する状況になっています。日本をはじめとするアジア地域でのIPv4アドレス在庫を管理していたAPNICでも、2011年4月5日にすでに新規のIPアドレス在庫が枯渇しています。NCCの所有IPv4アドレス在庫も枯渇したとのニュースが流されました。Japanこれで、新規IPv4アドレスの在庫がまだ残っているのが、アフリカを中心としたAFRINICの管理するIPアドレスのみとなりました。(※AFRINICはもともと在庫数が少なく、他のRIRへの移転が認められていないため、IPアドレス在庫があっても他国の事業者が使用することはできないようです。BLOGまだ中古ドメインの取り扱いは一部あるようですが、明らかに需要に対してアドレス数が足りていないため、いよいよもって根本的な対策が必要となってきました。移行先の第一候補であるIPv6はIPv4とほぼ互換性がなく、IPv4しかないネットワーク、およびその逆の場合は相互に通信を行うことができないのが最大の難点となっています。全世界で一斉に切り替えることは無理なので、影響を最小限に抑えつつもスムーズに移行する方法が必要になってきますが、既存の仕組みだけではなかなか難しいのが現状のようです。先日、次のような不具合の情報が、銀行や申込フォームなどがあるサイトなど、様々なサイトでアナウンスされました。mixi上記のサイト以外にも、楽天市場やmineoなど、多くのサイトで影響が出ていたとのこと。Chromeでこれらのサイトを閲覧すると、サイトの動作に不具合が発生し、セッションが切れてしまったり、不正な操作が行われてしまうといった少々まずい症状のようです。Chromeに搭載された”プリロード機能”によるもののようです。Qiitaこのプリロード機能は、サイト内のaタグ(クリックすると別のページを表示するいわゆるリンクのこと)をすべてスキャンし、aタグで指定されているリンク先URLのページまでも先読みしてしまうことで、表示速度を高速化しよう、という機能だったようです。ところが、サイト内のaタグに含まれるすべてのURLのページに無差別にアクセスする仕組みになっていたために、ユーザーがタップしていないにも関わらずログアウトボタンが動作してしまったり、ショッピングサイトなどのページ遷移が厳しく管理されているサイトなどでは不正なページ遷移が発生し操作ができなくなる、といった状況が多数発生したのが今回の問題の原因だったようです。Chromeの開発チームには報告されており、直ちに無効化の操作が行われ、現在は一度GoogleChromeを再起動することでこの問題の機能が無効化されるようになっているとのことです。設定項目は残っているようで、何かのはずみに再び有効になってしまうことも考えられます。一応設定からも無効にしておくと安心です。Chromeの”設定”からプライバシー->”ページをプリロードして、閲覧と検索をすばやく行えるようにします”のチェックボックスをオフにすることで、プリロード機能を無効化できます。明らかに既存のサイトでの動作に影響が出そうなこの機能が、どうして正式リリースまで出てしまったのか...非常に疑問ですね。–innodb-use-native-aio=0′′が必要な環境があるのかここ最近人気のコンテナ型仮想化技術であるDockerですが、Linuxを前提とした仕組みのため、他のOSではLinuxのカーネル何らかの方法で動作させ、そのうえでdockerを実装させる仕組みをとっています。実はこの仮想化の方法によってはDockerでMySQLを動作させる際にdocker-compose.ymlを編集しないとMySQLが動作しない場合があります。--innodb-use-native-aio=0を入れておかないとエラーになるというものです。dockerでmysqlが起動できない。I/O”という機能が有効になっているのですが、このDockerToolboxなどの環境ではこの機能が利用できないようで、起動時にエラーになってしまう状況のようです。Toolboxなどでも動作させることができるようになる、ということのようです。どの環境でも同じ開発環境が実現できるようにdockerを使用しているのに、OSによってオプションを変えないといけない、というのはちょっと辛いものがありますね。HTTPS、近いうちにWindowsに実装される!?先日、MicrosoftがDoHをWindowsに搭載することを発表しました。HTTPS)は、DNSへのIPアドレスの問い合わせリクエストをHTTPSプロトコルを経由(カプセル化)することでDNS通信を暗号化する方法です。DNSプロトコルそのものを暗号化するのではなく、既存のHTTPSの仕組みを使うため扱いやすいうえ、HTTPSポートをブロックしている環境はかなり限られてくるので、ファイアーウォールが置かれている環境でも設定の変更なく通信が通りやすいのが特徴です。OSの標準機能としてDoH対応を行う予定であることを明かした、というのが今回のニュースです。ブラウザレベルでの対応では、あくまでDoH対応ブラウザを使用した通信でしかDoHが利用されませんが、OSレベルで対応されれば、そのマシンで行われる(OS上で動作する全アプリの)全通信のDNSリクエストをDoH経由で行わせることが可能になります。DoHはユーザーのDNS要求を意図しない第三者に見せないようにすることでユーザーのプライバシーを保つ仕組みなので、OS全体で適用されるようになればより信頼性も向上することになります。インターネットの自由性と安全性の担保の一つとして、DoHは重要になってくると個人的には考えているので、Windowsでの標準サポートはありがたい話だと思います。他のOSも追従してくるのか、今後の動きにも注目したいですね。Card上記記事によると、2019年11月23日(土)6時ごろから、楽天カードや楽天ペイ、およびこれらサービスの利用明細確認などの機能が障害により停止し、なんとカード決済までも止まってしまう障害が発生していました。カード決済機能と楽天Payは当日中に復旧しましたが、明細確認機能などはこの記事作成時点においてもまだ復旧していません。原因は楽天カードの決済サーバーが置かれているQTnet社のデータセンターで、電源設備入れ替え時に電源障害が発生し電源が一瞬落ちたそうで、それが原因で同データセンターで稼働していたサービスが影響を受けてしまったようです。この関係で、楽天以外にも、同データセンターにサーバーを置いていた官公庁や電力会社のHPにも障害が発生していたようです。入れ替え中とはいえ、データセンターで電源を一瞬でも落としてしまうというのはあってはならない障害ですが、AWSですら電源ではないですが設備設定の入れ替えで障害を起こしたこともあるぐらいで、残念ながらデータセンターであっても障害が起きるときは起きてしまうものです。個人的に、今回一番に問題に感じたのは楽天側のシステム構成の問題。費用の問題もありますし、ダウンタイムが許容されるようなサービスであれば単一データセンターで動かしていたとしても理解はできます。楽天カードはクレジットカードという超重要な社会インフラですし、たとえそれなりのコストがかかったとしても、決済機能だけでも絶対に止めてはいけないシステムであったはずです。最近ではクレジットカードをメインに使用し、現金を持ち歩かない人も増えているようですが、もし食事やサービスを利用した際に現金をもっていない状況で(利用者側の落ち度なく)カードの利用ができなくなってしまっていたら、利用者がどのような状況に陥るのかは想像に難くありません。生活費をカードで決済している場合もあります。楽天カードはETCも発行しています。実際に起きていたかどうかはわかりませんが、決済ができないということはETCなどでの利用でも問題が発生した可能性もあると思います。出場時に問題が発生して出られなければ、利用者はパニックに陥りかねないとおもいます。停止すれば日常生活に実害をもたらしてしまう可能性のあるサービスが、単一のデータセンターが障害されただけで止まってしまうという状況は、楽天カード側の障害対策が甘すぎると感じました。今回は電源断でしたが、万が一そのデータセンターが災害などに巻き込まれて完全に破壊されてしまったら、どう復旧するつもりなのでしょうか。耐障害性のことを考えたシステム設計にすべきなのではないかと個人的には感じました。今後の対策に注目したいと思います。以前紹介した記事でMacでデュアルブートを行っている場合に、起動時にOS選択メニューを表示させる方法をご紹介しました。macの起動時にブートローダーメニューを追加する方法ここで使用したrEFIndというブートローダですが、実は見た目を変更することができるようになっています。デフォルトのデザイン今回は、その方法をご紹介したいと思います。※今回の操作には最悪macOSを含む全OSが起動しなくなる、リスクのある操作が含まれます。取り扱いには十分注意してください。万が一起動しなくなっても責任は負えませんのでご了承ください。(起動時にOSを読み込むプログラムが入っている領域を触るためです。誤って必要なファイルを変更したり、削除したりしないように注意してください。)まず、ネット上に公開されているテーマから、自分が使用したいテーマを見つけます。rEFInd参考元の記事によると、このあたりにまとめられているようです。好きなテーマを見つけたら、ダウンロードして解凍しておきます。次にrEFIndがインストールされているEFIパーティションをマウントします。ターミナルを開き、次の2つのコマンドを入力します。#efiパーティションをマウントマウントに成功したら、次のコマンドでrefindのディレクトリに移動します。/Volumes/efi/EFI/refind移動したら、次のコマンドを実行してFinderを開きます。.Finderが/Volumes/efi/EFI/refind内の内容を表示した状態で起動しますので、その中に先程入手したテーマをディレクトリごとコピーします。/Volumes/efi/EFI/refind直下にテーマをコピーしてもよいですが、僕はさらにthemesというディレクトリを作り、その中にテーマをコピーしました。/Volumes/efi/EFI/refind/refind.confの末尾に、次の行を追加します。テーマが入っているディレクトリ/theme.conf“テーマが入っているディレクトリ”の部分は/Volumes/efi/EFI/refindから見たtheme.confへの相対パスを記述します。プラグインによってはこれで使用できる状態になるのですが、プラグインによってはthemesフォルダ内に置かれることを想定していないものもあるため、その場合はテーマが含まれるディレクトリを移動するか、themes.confを確認・書き換えする必要があります。書き換えなければいけない項目としては下記のような項目です。/Volumes/efi/EFI/refind/から見た相対パスを記述する必要があります。僕が今回ダウンロードした”refined-next”は、ディレクトリ直下に置くことを想定していたため、このテーマに含まれるtheme.confは下記のような内容になっていました。about,reboot,shutdown上記のような設定の場合はthemesフォルダの中にいれる構成にするとパスが合わないため、パスが合うように設定を修正します。about,reboot,shutdownこれで無事テーマが適用されるようになります。about,reboot,shutdownですが、hideuiはOS選択画面で表示されるUIのパーツのうち、非表示にする要素を入れることで、説明文や詳細オプションなどを消すことができます。OS一覧の下に並ぶシャットダウンボタン・リブートボタンなどのメニューのうち、何を表示するかを指定できます。僕は上記の設定を下記のように変更したところ、次のようなUIになりました。apple_recovery,shell,about,reboot,shutdown...省略...ほかにも、画像の差し替えを行ったりなどすれば、オリジナルの起動画面を作ることも可能です。rEFIndのデフォルトのUIに飽きてきたら、是非試してみてはいかがでしょうか。Studio(SSMS)”が無料で用意されています。Workbench”というソフトウェアで、実はSSMS同様GUIでDBを操作できる機能があることを知りました。接続したMySQL内のスキーマやテーブルの一覧を表示したり、現在DBへ保存済みのデータ一覧をGUI上で確認したり、編集したりもできます。パフォーマンス解析などを行うことも可能です。引用CLI環境とSQL文だけでもMySQLは問題なく操作できますが、開発やデバック時はCLIだけではとても効率が悪い場合もあります。このツールは無料で利用できるので、MySQLを使ったある程度規模の大きいシステムを構築する際は、是非利用してみてはいかがでしょうか。容量表記の罠USBメモリやポータブルHDDなどを買う際に、そのストレージの容量を確認してから買っている方がほとんどだと思います。今回はこのUSBメモリの容量についてのネタです。USBストレージを刺すと、パッケージに書かれている容量と、PCに刺した時に表示される容量が異なって見えることがよくあります。USBストレージに不可視の容量が設定されていて少なく表示されている場合もありますが、例えば64GBのストレージを買ったのにPCにつないだら58GBぐらいの容量で表示され、”えっ、6GBも少ないじゃん...”となってしまう場合もあります。この違いの一番の原因は、実はストレージの総容量を出すときの計算方法の違いにあるようです。容量を表すByteという単位ですが、実はこの単位は特殊な部分があり、2つの計算方法が存在しています。1000バイト=1KB、1000KB=1MB...のように、1000単位で次の位に上がる”SI接頭辞”と、1024バイト=1KB、1024KB=1MB...のように、1024単位で位が上がっていく”二進数接頭辞”の2種類です。(B)の場合があるということです。(※11/27修正:計算式が間違っていました。́∀`)そして、USBストレージのパッケージに書かれている容量にはよくSI接頭辞が用いられていて、PC内での容量計算には二進数接頭辞が使われているので、実際は少なく表示されるようになっているわけです。́∀`))なので、例えば合計60GBのデータをバックアップしようとして、64GBのUSBメモリを購入したら、実際は58GBしかなかった...なんてことが起きたりもしますので、データの保存に必要な容量に合わせてストレージを購入する場合は、かなり余裕をもった容量のものを購入されることをお勧めします。【IT運用保守】サポーターズBlog1811月,20190著者:takahashiWindowsでファイルのハッシュ値を取得する方法フリーソフトやLinux系OSのインストーラのISOなど、インターネット上から自由に入手できるソフトウェアにはよく、”チェックサム”と呼ばれる値がついていることがあります。Ubuntu公式サイトでISOイメージのハッシュ値をチェックする方法を紹介している部分このチェックサムとは何かというと、ある関数を使って特定のデータを計算すると必ず同じ値が得られ、1ビットでもデータが異なった場合は異なった値が出力されるアルゴリズム=ハッシュ関数によって出された、ダウンロード対象ファイルのハッシュ値のことです。公開する側が正規のファイルのハッシュ値を計算したものをを公開しておくことで、そのファイルを入手した人が同じハッシュ関数を使って”本物のファイルが入手できたのか”を簡単に確かめられるようにしてある、ということです。何らかの方法でダウンロードするファイルが不正にすり替えられていたとしても、1ビットでも異なれば別のハッシュ値が出力されてしまうため、手元のファイルのハッシュ値と比較することで手元のファイルが改ざんされたものかどうかを簡単に調べることができます。そんなセキュリティ的にも重要なハッシュ関数ですが、WindowsではGUIのツールがデフォルトで用意されているわけではないため、ハッシュ関数の存在を知っていてもセットアップのめんどくささからあまり使わないユーザーも多いのではないかと思います。いうコマンドで簡単にファイルのハッシュ値を求めることができます。ハッシュ関数のように指定します。実行すると下記のようになります。コマンドは正常に完了しました。C:\Users\hoge>上記の例はLinuxMintのOSのインストーラーイメージをハッシュ関数にかけた時の結果です。56f2d0c2b...の一行がハッシュ値となります。このハッシュ値を公式サイトで公開されているハッシュ値と照らし合わせます。合致したので、改ざんがないことがわかりました。いったひと手間をかけるだけでも、ウイルスの被害などから身を守ることができますので、是非積極的に利用していきたいですね。NCCのIPアドレス在庫が枯渇。迫るIPアドレス不足対策のリミット。Playerに頻繁にクラッシュする不具合が発生。現在修正済みで公開待ち状態。