Monthly Archives: 10月 2016

DigiTallyについて調べてみた/overlay SIMが重要なのではなくSMAPsが重要っぽい


SIMにシールを貼るだけで電波の届かないところでも携帯で支払いできる技術」という記事があったけど、正直意味がわかんないので調べてみた。

公式ページ「DigiTally
概要紹介スライドpdf

・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
・どういう場合につかう想定なのか?
・どういう決済の仕組みになっているのか?


・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
digitally-1
しれっと出てきてる「EMV」は、Europay,MasterCard,VISAで決めたICチップ搭載のクレジットカードの規格のようです。
発展途上国でよく使われているGSM onlyのSIMはバージョンが古く、セキュリティに関する機構が搭載されていないので、SIMを交換しなくても、それを後から提供できるようにしたものが、今回のoverlay SIMではないかと思われます。
NFCのセキュアエレメントみたいなものの役割を果たしているようです。

で・・・よく読むと、overlay SIMが重要なのではなく、「SMAPs:Short Message Authentication Protocols」が重要なようです。

・どういう場合につかう想定なのか?
SMAPs(Short Message Authentication procotols)は、携帯電波が不安定でつながりにくく、また、データ通信量も増やせない環境で、如何にして信頼性を保ちつつ、決済を行うか、ということを考えて作られたプロトコルであるようです。

具体的には、SMS(ショートメッセージ)ベースでデータをやりとりすることで、ネットワークの不安定さを回避し、また、確実に相手に届ける、ということを実現するようです。
(GSMのみの途上国では、TCP/IPのデータ通信はパケット料が高額で、また不安定、ということ)

・どういう決済の仕組みになっているのか?
スライド記載の手順を元に日本語化してみました

(1) アリスはDigiTally口座(電子決済口座)に5ドルを入金する
(2) アリスと取引相手であるボブは、お互いの携帯電話を電話帳に登録する(?)
(3) アリスはボブから4ドルの品物を買いたいと伝えます
(4) ボブは自身の携帯の決済アプリに「4(ドル)」と入力し、「決済要求ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済要求のメッセージを送る)
(5) ボブは、携帯の決済アプリに表示されている8桁の決済コード1をアリスに伝えます
(6) アリスは自身の携帯の決済アプリに「4(ドル)」と「8桁の決済コード1」を入力し、「決済承認ボタン」を押します。
 (アリス携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済承認のメッセージを送る)
(7) アリスは、携帯の決済アプリに表示されている8桁の決済コード2をボブに伝えます
(8) ボブは自身の携帯の決済アプリに「8桁の決済コード2」を入力し、「決済完了ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済完了のメッセージを送る)
(9) アリスのDigiTally口座から4ドルが引かれ1ドルになり、ボブのDigiTally口座に4ドルが足されます
(10) 決済完了ログが、アリスとボブの携帯に届きます。
 (DigiTallyセンターから、アリスとボブの携帯にSMSで決済完了ログを送る)

とても手動な感じで行うようです。
なお、上記のSMS送信ポイントは、想像が入ってます。

いろいろ文献を読むと、(4)と(6)と(8)のSMS送信に関しては遅延しても良いような実装、
つまりSMSの送信については携帯に搭載された決済アプリで再送制御を行うようです。

(4),(6),(8)のSMSがDigiTallyセンターに全部届いた時点で、決済が完了し(10)が行われるようなのですが
決済完了を確認する前に物品引き渡して、その後、決済不成立、ってことが発生しそうなんだけど
それをどうやって回避できるのかが読み取れなかった・・・

さらばJIAYUのスマホ?


しばらく前まで、結構いい感じのAndroidスマホを作っていた「JIAYU(佳域手机)」。
JIAYU S3以降、新機種がでないなぁ・・・と思っていたら、「トップページ」が「Funsso(方烁科技)」に飛ばされるようになりました。
Funssoは、光ファイバー用のSFPモジュールを販売しているメーカのようです。

スマホに関するページはFunssoにはありません。
唯一、JIAYU時代からある公式掲示板へのリンクがトップページに残されているだけです。

FussoとJIAYUの関係について、特にニュースや会社案内などでも説明されておらず、謎です。

ただ、1年以上新製品の話が出てないところもあわせて考えるとJIAYUのスマホ事業は終了した、と考えていいのではないかと思います

aliexpressで良く見かける中国通販の在庫事情(印象論)


aliexpressとかで「In stock」的な表示になってるけど、「在庫数 9999」ってほんとかな?というものが結構あります。
製造メーカの直売セラーならほんとなのでしょうけど、いろんな商品を取り扱っているセラーでも、そんな表示を見かけることがあります。

いろんなセラーから買ってみて感じた印象としては・・・

Lv1 本当に手元に在庫を持っている
Lv2 別倉庫ではあるけれど、自社の倉庫に在庫を持っている
Lv3 在庫を持っている中卸業者と提携し、そこの在庫数を引っ張ってきている
Lv4 在庫を持っている中卸業者を知っている(ほんとに在庫があるか確認しているわけではない)
Lv5 発注があってから、発注があった価格で仕入れることができる場所を探す

という段階があるように思えます。
Lv5は、ちょっと相場より安すぎやしない?という値段の場合に遭遇するような気がします。
そして、調達できないと逃げます(aliexpressなら返金されます)

発送までにかかる日数

Lv1 手元に在庫がある場合は、早いと翌日には発送連絡がきます。遅くとも4営業日ぐらいには出てる漢字です。
Lv2~Lv3 は、4営業日ぐらいから発送連絡がきます。遅くても8営業日ぐらいです。
Lv4以降はまぁ運ですね。遅いとaliexpressの最終発送期限の14日目に送ってきたりします。

発送連絡があり荷物の追跡ができるようになるまでの日数

ここら辺は、使用する運送会社によって変わります

DHLなら、当日中にトラッキングできます。
夕方までに発送されていると、夜の間に上海/香港から飛び立ち日本にやってきてしまいます。

UPS取り扱いだと、3日ぐらいかかる場合があります。
ただ、ちょっと使った回数が少ないのでなんとも・・・

安く発送する場合で、バッテリーが含まれていない場合は、中国郵政扱いの国際書留(China Post Registered Mail)が使われます。
トラッキング番号だけを先に登録することもできるようで、発送連絡と同時に中国郵政の追跡調査ができるようになることが多いです。
しかし、実際に荷物が動き出すまでには5日~8日ぐらいかかります。

バッテリーが含まれる場合は、ここ1年の傾向ではオランダ郵政扱いの国際書留(NL Post Registered Mail)になる可能性が高いです。
中国のNL Postの集積拠点に対して送られたあと、まとめてオランダのアムステルダムにある郵便局に輸送され
アムステルダムから個別の荷物として改めて配送される形式のものです。
つまり、アムステルダムに到着するまでは、追跡調査ができません。
アムステルダム到着まではだいたい3週間といったところです。
そこから1週間~2週間で、日本に到着します。

中国通販で気をつけなればならないのは、10月1日の建国記念日と、2月の旧正月です。
ここの前後は輸送が混乱し、配送が特に遅れたり、紛失しやすくなったりします。
可能であれば、前後2週間は避けたほうが無難でしょう.

PowerShellスクリプト(ps1)を実行しやすくする


PowerShellスクリプト(ps1)に対して、ファイルをドラッグ&ドロップしてもファイルを認識して実行してくれない。

また、そもそもPowerShellスクリプトを実行しようとしても、下記のエラーで実行ができない。

PS C:\Users\osakanataro\Documents\powershell> .\powershelltest.ps1
スクリプトの実行がシステムで無効になっているため、ファイル C:\Users\osakanataro\Documents\powershell\powershelltest.ps1 を読み込めません。詳細については、「get-help about_signing」と入力してヘルプを参照してください。
発生場所 行:1 文字:25
+ .\powershelltest.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) &#91;&#93;、PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

PS C:\Users\osakanataro\Documents\powershell> 

回避方法は下記の2つを行う、ということ
・バッチファイル経由でPowerShellを起動する
・うまく行かない場合は、管理者権限でバッチファイルを起動する

今回使用したバッチファイルは下記の内容とした

@echo off
rem PowerShellスクリプトの実行が禁止されている場合に
rem このバッチファイルを管理者権限で動作させると
rem PowerShellスクリプトが実行できます。

powershell -sta -ExecutionPolicy Unrestricted -File %0\..\powershelltest.ps1 %*

powershell起動時に「-sta」オプションをつけているのは、powershellからフォームダイアログを開こうとすると、下記のエラーがでてしまうことを回避するため。
powershell-sta

なお、詳細を開くと下記の情報が出力されている

Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.InvalidOperationException: DragDrop 登録は成功しませんでした。 ---> System.Threading.ThreadStateException: OLE が呼び出される前に、現在のスレッドが Single Thread Apartment (STA) モードに設定されていなければなりません。Main 関数に STAThreadAttribute が設定されていることを確認してください。
   場所 System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
   --- 内部例外スタック トレースの終わり ---
   場所 System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
   場所 System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
   場所 System.Windows.Forms.ListBox.OnHandleCreated(EventArgs e)
   場所 System.Windows.Forms.Control.WmCreate(Message& m)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ListBox.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 読み込まれたアセンブリ **************
mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.dll
----------------------------------------
System
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.8686 (QFE.050727-8600)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Management.Automation
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation/1.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
----------------------------------------
Microsoft.PowerShell.Commands.Diagnostics
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Diagnostics/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Diagnostics.dll
----------------------------------------
System.Core
    アセンブリ バージョン: 3.5.0.0
    Win32 バージョン: 3.5.30729.5420 built by: Win7SP1
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration.Install
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration.Install/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
----------------------------------------
Microsoft.WSMan.Management
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.WSMan.Management/1.0.0.0__31bf3856ad364e35/Microsoft.WSMan.Management.dll
----------------------------------------
System.Transactions
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Microsoft.PowerShell.Commands.Utility
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.dll
----------------------------------------
Microsoft.PowerShell.Commands.Management
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Management/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Management.dll
----------------------------------------
Microsoft.PowerShell.Security
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Security/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Security.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.resources.dll
----------------------------------------
System.Xml
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5494 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Management
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.DirectoryServices
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.DirectoryServices/2.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
----------------------------------------
System.Management.Automation.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation.resources/1.0.0.0_ja_31bf3856ad364e35/System.Management.Automation.resources.dll
----------------------------------------
Microsoft.WSMan.Management.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.WSMan.Management.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.WSMan.Management.resources.dll
----------------------------------------
mscorlib.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.Security.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Security.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.PowerShell.Security.resources.dll
----------------------------------------
System.Data
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.8692 (QFE.050727-8600)
    コードベース: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5491 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5495 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Windows.Forms.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5420 (Win7SP1.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging 
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

例:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。

DELL Latitude E6320のメモリを16GB(8GB*2)にしてみた


最近、Windows7で稼働してるDELL Latitude E6320(CPU Core i5-2520M)の起動が遅い。
メモリが4GB(2G*2)しか積まれてないのが問題なのかな?と

4桁番台のCore i5なら、8GB SO-DIMMがささるはず、と、先日、Amazonで買ったTeam ノートPC用メモリ SO-DIMM-DDR3 永久保証 ECOパッケージ (1333Mhz PC3-10600 1.5V 8GBx2)を取り付けてみた。


(ちなみに、元々ささっていたのはSamsung 2G 1Rx8 PC3-10600S-09-11-B2、というメモリでした)

裏面の10箇所のネジを外して交換。

特に問題無く起動。
起動も若干速くなった。

ちなみに、手持ちで4GB SO-DIMMが1枚あったので、2G+4G=6GB構成で起動してみると、初期状態とそれほど変わらない感じだった。

Windowsエクスペリエンスインデックスのメモリの値
2GB+4GB : 7.2
8GB: 7.1
8GB+8GB : 7.5