カテゴリーアーカイブ 未分類

著者:ym

スピードの速いサイトに使われている技術

遠州灘を一望

遠州灘を一望

以前まで Google Chrome で非常に遅かった「日経新聞」のサイト。リニューアルしてスピードアップしました。その技術にどんなものが使われているのか。

  • Fastly
  • ServiceWorker
  • HTTP/2
  • Resource Hint API
  • webp 画像

だそうです。CDN以外はGoogle関連ですが、日経のサイトではふんだんに使われているのですね。ただResouce Hint API、nginx と Fastly 関連を中心にいじれるのですがプログラム関連を除いたとしてもとても手が付けられない状態。1秒でも1ミリ秒でも早くするためには、プログラムもインフラもどちらも同調したシステムを作らなければならない。参考に。

とにかく日経新聞サイトが早くなってよかった。1秒や1ミリ秒が売り上げに影響するという話もあるしね。でも、こういう景色はゆっくり見たいもの。

  • この記事いいね! (0)
著者:ym

技術者のソフトウェア

佐鳴湖の紅葉

佐鳴湖の紅葉

久しぶりにメールソフトの利用状況を確認してみました。

Thunerbird や Outlook Apple Mail などの定番メールソフトは興味無いので、数少ないメールソフトをピックアップしてみます。

  • Airmail
  • Opera Mail
  • Denshin 8 Go
  • Mozilla/5.0 (X11; Linux x86_64
  • Mew version 6.7 on Emacs
  • Wanderlust/2.15.9 (Almost Unreal) Emacs/25.3 Mule/6.0 (HANACHIRUSATO)

Airmail を調べてみると Apple な OS 上で動くアプリの様です。デザインもかっこよくて、便利そう。G Suite や Gmail Inbox 的な間隔なのだろうか。他には Linux 上で業務をしているスタッフもいるようですね。Mozilla X11 なので Thunderbird を Linux の X-Window 上で使用していることになる。Denshin 8 Go も強者ですなw。

ちなみに Mew と Wanderlust は私。たまに遠隔メンテで  FreeBSD ホストへ SSH ログインし TeraTerm 端末上でメールを書く際に使っています。ホントは Wanderlust がよいのですが、スピード勝負と文字化け対策で Mew も使ってます。

こういった情報を集めて見ていると、アプリが便利になったのかな。それとも技術者も減ったのだろうか心配になったりします。今度はエディタ系なども見てみたい。

  • この記事いいね! (0)
takahashi 著者:takahashi

【使わないと3か月でデータが消える!?】SSDの意外な弱点

高橋です。


引用元:Gigazine

最近安価になりつつあることで普及し始めたSSDですが、以前からHDDと比較して様々な弱点があるといわれていました。
その中でも、一時期特に話題になっていたのが書き換え可能回数の問題。
フラッシュメモリが出てきたときにもよく言われていましたが、NAND型メモリには一定の回数書き換えを行ってしまうと、データが記憶できなくなるという特性があります。
メーカーやものによって耐久度は違ってきますが、同じNAND型メモリを使うSSDもまた、例に漏れずこの制限が存在しています。
ただ最近は、この寿命を伸ばす技術が発達してきていて実用上で心配をしなくても大丈夫になってきたようです。

SSDにデータを書込みまくり再起不能に追い込む耐久試験で分かった信頼性に関する真実とは? – Gigazine
> 余力を十分残しつつもエラー発生の可能性を検知すると、ストップをかけて最も早く脱落したIntel 335でさえ、毎日10GBのデータ書き換えを行っても7万日つまり約190年もつという計算になるため、SSDの書き換え寿命を心配する必要はほとんどないことは確実です。

これでSSDの弱点は目立つところは”HDDと比べて高い”という部分だけになったと考えていたのですが、先日ある事実を知りました。

先にも書いたように、SSDにはNAND型メモリがよく使われているのですが、この前ふと気になってNAND型メモリについてWikipediaで調べていたら、気になる記述を発見しました。

NAND型フラッシュメモリ – Wikipedia
>浮遊ゲート内の電子は、浮遊ゲートを覆う絶縁体により保持されるため、電源を供給することなくデータを数年間程度保持することができる。

お分かりいただけただろうか…

それってつまり、逆に言ってしまうと、”非通電状態では数年間しかデータを保持できない可能性がある。”
ということではないのか…?

気になったのでさらにいろいろ調べてみました。
すると、下記のような説明をしているサイトを発見。

SSDの基礎知識でパソコン購入をガイド – パソ兄さん
> トンネル酸化膜の絶縁によって電子の放出を防いでいますが、長期間書き換え作業が行われないと自然放電が起き、データ化けの原因になります。

と説明されていました。
SSDは電子を放出させないようにすることでデータを保持していますが、長期間通電を行わないとこの電子が放出されてしまい、データが消失してしまうようです。

どれぐらいの期間放置するとデータが消失してしまうのかは議論が分かれるところですが、最小(最も保管条件が悪かった場合など)で”3か月”しかデータが保持できない可能性もあるという話があります。
『中古SSD 無通電時間が長いとデータが消えますか?』 – 価格.com

僕はSSDにこのような特性があったことを恥ずかしながら今回初めて知ったのですが、僕以外にも”SSDは使っていなければ半永久的にデータが保存できる”と、それとなく思っていた方は少なくないのではないかな、と思います。

OSをインストールして使うような使い方であれば、3か月も電源を入れないということは少ないとは思うのですが、データ保存用となるとあり得ない話ではないな…と思いました。
ただ、データ保管用に…と使わないときはSSDを外して保管している方も、中にはいらっしゃるかもしれません。

それ故に、
「大事なデータをバックアップしておいたはずが…なんてこった…」
なんてことになる可能性もゼロではないかもしれませんね。

SSDはあくまで”一時保管用”という意識を頭の片隅に置いておいて、大事なデータは光学ディスクなどのより長持ちするメディアに退避しておくのが一番のようです。
どのメディアにも適材適所があり、用途に合わせて使い分けないといけないんだな、と改めて感じました。

今後SSDを購入予定の方はお気を付けください。

 

※この記事は、以前私が書いたものを一部修正したものです。
  • この記事いいね! (0)
著者:ym

NUROが静岡県へ

佐鳴湖の紅葉

佐鳴湖の紅葉

とうとう、あの NURO光 が静岡県やってくるとのこと。

フレッツ光ネクスト隼回線は 1 Gbps のベストエフォートサービスですが、この NURO光 は 2Gpbs 。1Gbps 回線で 200Mbps 程度は出るので、おそらく 400 Mbps 程度は出るでしょう。実際に検索をしてみると 400 Mbps ~ 800 Mbps 程度までの計測値が出ている様です。ひかり電話宅な私には、いまのところ縁はないですが。高解像度の動画4K、8Kの映像が見られる様になる。ということは、遠くにあるデータを手元に、あっと言う間に運べる。逆もしかり。どれもこれも所有から利用へ、ますますお金のかかる時代です。

  • この記事いいね! (0)
著者:ym

ISPの速度改善と光コラボ

Google スピードテスト

Google スピードテスト

Amazon Echo いつだろ?最近、自宅でAmazonTV(でhulu)、iPhoneでYoutubeとiPadでAbemaTVとか、余裕で同時に見たりすることもある我が家。Amazon Echo が増えたら、まあ増えなくてもインターネットトラヒックがものすごいことになってます。

その影響もあって、最近ISPの混雑ぶりがものすごいですね。会社でも自宅でも。そんな中、各ISP事業者は対策を出し始めてきています。

ニュース 2017年7月25日-「OCN」における通信品質向上のための取り組みについて – NTT Com 企業情報 – NTTコミュニケーションズ 企業情報

といっても3年くらい前から使えたのですが、目的がIPv6だったりするので、利用しているのは少数。でも、ここ最近は混雑の品質改善でIPoE方式のIPv6化を進めてきています。

OCNはまずは、光コラボFVNOな、「OCN光」と「OCN for ドコモ光」に対してサービス提供していますが、「フレッツ光ネクスト」回線への展開はまだのようです。弊社の展開する「光ドライブ」ISPはコラボモデルではないですが足回りはOCNサービスになるので、今後の展開が気になります。

  • この記事いいね! (0)
takahashi 著者:takahashi

Internet Explorer でGETが予期しない動作をする

高橋です。

現在開発中のシステムで、サーバー側のプログラム(PHP)へGETで値を渡す処理を書いていたのですが、InternetExplorerで実行すると何故か正常に値が渡せないという現象が発生していました。
他のブラウザでは問題なく動作するので、プログラム側の不具合ではないようなのですが、IEでアクセスする方も少なくないので、解決策を調べてみました。

1.URLが約2083文字を超えるとIEで扱えない

IE11で使用可能なURL文字数が2083文字しかない件 – 文系プログラマによるTIPSブログ
によると、InternetExplorerでは、URLの最長文字列長は2083文字までらしく、それ以上は認識できないとのこと。
GETでパラメーターを複数入れると、URLがどんどん長くなっていってしまうため、あまり渡す値が多い場合は注意が必要かもしれません。

2.Eで2番目以降のGETパラメータが実体参照になり値が取得できない

少し古い記事ですが
IEで2番目以降のGETパラメータが実体参照になり値が取得できないバグ – DevAchieve

によると、GETで渡すパラメーターの1個目と2個目の間にいれる&記号によって、2個目以降の値が実体参照として処理されてしまうことがあるとのこと。

他にもGETで渡したパラメーターの値が文字化けしてしまうケースなど、IEでは予期しない動作をしてしまうことがあるようです。

いろいろ考えた結果、デバッグの際はIE以外のブラウザでURL直打ちで値を渡せるGETを使い、うまく動くことを確認したらPOSTに切り替える方法で運用することにしました。

大抵のフレームワークではメソッドの判定を簡単に行うことができるように関数が用意されています。
例えばfuelでは

if( Input::method() == 'POST' ) {
   //POSTされた場合の処理
}
if( Input::method() == 'GET' ){
  //GETされた場合の処理
}

のように、メソッドに応じて処理を書き分けることもできます。
中の処理を同じものにしておけば、クライアント側の使用するメソッドを切り替えるだけで済むので便利です。

今後はIEを考慮しないWebアプリも増えていきそうですが、現時点ではIEがまだ現役で使われているところも多いかと思います。
他のブラウザとIEの互換性を確保するためには、いろいろ工夫していく必要がありそうです。

  • この記事いいね! (0)
著者:ym

総務省からパスワード無しのWi-Fiアクセスポイントを規制との指針

総務省から 2020 年のオリンピックに向けて Wi-Fi の暗号化パスワード不要なアクセスポイントを”原則として”規制する方針が出てきました。

公衆無線LANのあるお店

公衆無線LANのあるお店

総務省は15日、情報漏洩(ろうえい)やサイバー攻撃に利用される危険性のある、パスワード不要の公衆無線LANアクセスポイントを原則として規制する方針を固めた。今年度中に有識者会議で課題をまとめ、来年度に公衆無線LAN事業者向けのガイドライン(指針)を改定する。訪日客が増加する2020年東京五輪・パラリンピックに向けて公衆無線LANのセキュリティーを強化することでサイバー攻撃の増加を防ぐ考えだ。

公衆無線LAN、規制強化へ パスワード不要のアクセスポイント原則禁止 – SankeiBiz(サンケイビズ)

確かにWi-Fiは電波なので、有線LANの傍受よりは明らかに簡単。インターネット上のサービスを使うということは、洩れる可能性は十分にあるわけです。多要素認証も、あくまでも想定している対策であって、想定外のバグや脆弱性は潜んでいます。でも、インターネットは常に情報が洩れる場所、常日頃思っていれば、自然と対策ができるはずです。 VPN を張ったりhttps通信が行われているかを確認したり、オンプレミス(手元)とクラウド(ネット上)を、情報に応じて使い分けたりと。

  • この記事いいね! (0)
takahashi 著者:takahashi

位置情報配信プロトコルのNTRIPをNginxでリバースプロキシする方法

高橋です。

ご存知の方もいらっしゃるかもしれませんが、静岡大学浜松キャンパスに設置された高精度のGNSSアンテナを用いた測位情報を配信するシステム(hamamtsu-gnss.org)が整い、ついに浜松市内でRTK(リアルタイムキネマティック)ができる環境が整いました。

詳しくは
https://hamamatsu-gnss.org/
をご覧いただけましたら幸いです。

ざっくり説明するとRTKを行う際、実際に自分の位置を計測する”移動局(ローバー)”と、厳密な位置情報が既にわかっている場所に置かれた”固定局(ベース)”の2つが必要となってきます。したがって移動局は何らかの方法で固定局の情報を受信し続ける必要があるのですが、その方法として、”インターネット”経由で受信を行う方法があります。
今回開設されたhamamatsu-gnss.org局もインターネット経由で位置情報を配信するタイプの固定局で、配信プロトコルとして”NTRIP”と呼ばれるものを利用しています。

さて、そのhamamatsu-gnss.orgを開設する際に、”大学などでも受信できるように80番ポートで通信できるようにしてほしい。”という話がありました。
大学などの教育機関では、ネットワークに制限を設けているところが多く、80(http)、443(https)あたりの必要最低限のポートしか開けていないところも多くあります。
しかし、hamamatsu-gnss.orgのホームページも同様に80番ポートを使用するので、このままでは両立ができません。

最近はNode.jsやRuby on Railsなどが出回ってきて、同ホストに複数のWebサーバが立つことも少なくはなくなってきているので、今回のように一つのポートを取り合ってしまうような事態も往々にしてあります。こういう場合は”リバースプロキシ”という仕組みを用いることで一つのポートを複数のサーバープログラムで共有することができます。

今回も、まず思いついたのはこの方法だったのですが、今回共有させたいのはNTRIPという得体のしれないプロトコル。
いろいろ調べてみてもNTRIPとHTTPを同時にプロキシできるソフトやプログラムは見つけられませんでした。

どうしよかと困っていたところ、あることが判明。

http://gpspp.sakura.ne.jp/diary200703.htm
こちらのサイトで解説されているようにNTRIPはなんとHTTPベースのプロトコルでした…!(プロジェクトを共同で進めている木谷先生に教えていただきました。)

一応実験としてブラウザからNtip配信のポートに直繋ぎしてみたら、ちゃんとレスポンスが返ってきました。

telnetでも確認しましたが、ちゃんと応答が返ってきます。

しかし、NTRIPがHTTPのデータとして扱うことができるというのであれば話は早い。
上にあげたのと同様にリバースプロキシしてやれば共存させられます。

ということで早速設定。
リバースプロキシには非常に柔軟な設定ができる有能なNginxを使います。
(NginxはWebサーバーでありながらHTTP以外にもimapやpop、さらにはtcp(ドメインベースは不可)のプロキシができたりする、いい意味でかなり変態なソフトです。)

早速設定していきます。
一部省略してますが、以下のような設定にしました。

バーチャルホスト(https)

server {

  listen 443 default_server; #443番にアクセスされた時のデフォルトのバーチャルホストに設定

  ssl on;
  ssl_certificate /path/to/ssl.pem; #SSL証明書のパス
  ssl_certificate_key /path/to/sslkey.pem; #SSL証明書の秘密鍵のパス

  client_max_body_size 1g;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # クライアントの IP アドレス
  proxy_set_header X-Forwarded-Host $host; # オリジナルのホスト名クライアントが Host リクエストヘッダで渡す。
  proxy_set_header X-Forwarded-Server $host; # プロキシサーバのホスト名
  proxy_set_header X-Real-IP $remote_addr;
  location / {
    proxy_pass https://localhost:8081; #プロキシの向き先の設定(https)
  }
}

バーチャルホスト(NTRIP)

server {
    listen 80 default_server; #80番にアクセスされた時のデフォルトのバーチャルホストに設定
    server_name .ntrip.hamamatsu-gnss.org;

        client_max_body_size 1g;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Connection "";

     #伝送を効率化するチューニング
        keepalive_timeout 0; #キープアライブ無効化
        tcp_nodelay on; #パケットを極力まとめて送付するNagleアルゴリズムを無効化
        tcp_nopush off; #関係なさそうだが一応設定
        proxy_buffering off; #バッファリング無効化(重要)
        #効率化設定ここまで
        location / {
                proxy_pass http://localhost:2101; #プロキシの向け先をNTRIPサーバーに設定
        }
}

当環境では今後を考えてhamamatsu-gnss.org:80へのアクセスはhamamatsu-gnss.org:443へリダイレクトさせてますが、80番でWebページを待ち受けることも可能です。

回線の輻輳を防ぐためにある程度データをまとめて送付しようとする機能がNginxにありますが、ストリーミングの場合は遅延につながってしまいます。
チューニングはこの設定の無効化が主となっています。

HTTPに準拠している以上はhostヘッダーにアクセス時のホスト名を含めるルールになっているのですが、一部のNTRIPクライアントでアクセスしたときは何故か判定がうまく行かずにデフォルトのバーチャルホストへつながってしまうことがありました。
Webページの方は最近のブラウザであればデフォルトでなくても問題なくつながるので、80番ポートのデフォルトをNTRIP側に設定してあります。

これで無事NTRIPが一般配信できるようになりました。

今後、RTK-GNSS向けの位置情報の配信サービスを構築予定…という方は是非参考にしていただけましたら幸いです。

hamamatsu-gnss.orgはGPS以外にも複数の測位衛星から受信したデータを配信していて、RTK-GPSよりも高い精度で測位ができます。
全国には他には殆どない設備ですので、是非ご活用いただけましたら嬉しいです。

———————————————————-

位置情報の精度、センチ単位に 静大准教授ら研究 – @S
http://www.at-s.com/news/article/education/college/367429.html

※この記事は、以前私が書いた記事の本文を一部修正したものです
  • この記事いいね! (0)
著者:ym

インターネットでの通話

佐鳴湖のふれあい橋

佐鳴湖のふれあい橋

中国でスカイプの配信が停止をくらったようです。まだ、既存利用者には影響は無い様だけど、スカイプ自体が停止する日も近い!?

今の時代、スマホ、iPhone、PC、どれを使っても簡単に利用できる部分が優先されているけど、品質はどれもいまいち。音声コーデック、ビデオコーデック、どれも公開された同じ仕組みを使用しているわけですから、誤差はあるにしても、どのソフトウェアを使っても品質は同じです。そうなると、そのデータ(パケット)を橋渡しをしている根本はインターネット回線なので、パケットを小さくするか、回線の安定性と増強するか。

たとえば IETF で標準化された Opus は Skype が開発して無償化した SILK コーデックと、CELT コーデックを組み合わせたコーデックとなっていて、今の時代の WebRTC を実現するには必要不可欠な存在になってたりします。

根本は Skype 、やはりMicrosoftが買収するだけのことはある。が、しかし切断されるとなると。

  • この記事いいね! (0)
著者:ym

経済産業省のサイバーセキュリティ経営ガイドラインが改訂

佐鳴湖の桟橋

佐鳴湖の桟橋

経済産業省から「サイバーセキュリティ経営ガイドライン」の改訂版が出てきました。

企業にとってITは必要不可欠というより酸素や水と同じなので、同時にサイバーセキュリティ対策も必須。もちろん個人レベルでもサイバーセキュリティ対策は必要。

セキュリティ対策はIT投資ととらえることが重要。セキュリティ対策をコストととらえるか、IT投資ととらえるかで違いがでます。IT投資よりも、保守やセキュリティ対策に重要視をしたほうが良いですよ!

サイバーセキュリティ経営ガイドラインを改訂しました(METI-経済産業省)

昨今サイバー攻撃は更に巧妙化しており、防御が難しく、サイバー攻撃を受けていること自体に企業が自ら気づかないケースも増えるなど、事前対策だけでは対処が困難となってきています。特に、日本を含むアジア諸国は世界の平均よりもサイバー攻撃の発見に時間を要する傾向にあります。一方、米欧では、こうした状況を踏まえて対処方針の見直しが進められ、事後対策を国内企業に求めるなど、検知・対応・復旧といった事後対策の取組にも重点が置かれるようになっています。

こうした状況を踏まえ、経済産業省は、IPAと協力し「サイバーセキュリティ経営ガイドライン改訂に関する研究会」を開催しました。そこでの検討を踏まえ、今般、事後対策の追加などを含めた、サイバーセキュリティ経営ガイドラインの改訂を行いました。

III.サイバーセキュリティ経営の重要10項目
経営者は、サイバーセキュリティ対策を実施する上での責任者となる担当幹部(CISO 等)に対して以下の重要10項目を指示すべきである。
指示1 : サイバーセキュリティリスクの認識、組織全体での対応方針の策定
指示2 : サイバーセキュリティリスク管理体制の構築
指示3 : サイバーセキュリティ対策のための資源(予算、人材等)確保
指示4 : サイバーセキュリティリスクの把握とリスク対応に関する計画の策定
指示5 : サイバーセキュリティリスクに対応するための仕組みの構築
指示6 : サイバーセキュリティ対策における PDCA サイクルの実施
指示7 : インシデント発生時の緊急対応体制の整備
指示8 : インシデントによる被害に備えた復旧体制の整備
指示9 : ビジネスパートナーや委託先等を含めたサプライチェーン全体の対策及び状況把握
指示10: 情報共有活動への参加を通じた攻撃情報の入手とその有効活用及び提供

  • この記事いいね! (0)