1. ホーム
  2. その他
  3. アマチュア無線
  4. Keysight DSOX1202G 100MHz 2GSa/s オシロスコープ
Keysight DSOX1202G 100MHz 2GSa/s オシロスコープ
商品の説明

動作確認済み、本体と電源ケーブルのみです。
ファンクションジェネレータ付のモデルです。
校正には出しておりません。






商品の情報

カテゴリー:
おもちゃ・ホビー・グッズ++>その他++>アマチュア無線
商品のサイズ:
ブランド:
商品の状態:
やや傷や汚れあり
配送料の負担:
送料込み(出品者負担)
配送の方法:
らくらくメルカリ便
匿名配送
発送元の地域:
埼玉県
発送までの日数:
1~2日で発送

Keysight DSOX1202G 100MHz 2GSa/s オシロスコープ

10月 03, 2022
技術部のyuckieee(ゆっきー)です。
今回は、PythonのFlaskフレームワークを使用し、Webシステム構築をした際にハマった事象について、解決策と合わせて、ご紹介しようと思います。

発生事象の説明をする前に、まずは今回開発を行ったWebシステムの概要について共有しておきます。超ザックリとした概要ではありますが、以下のような構成・仕様となっていました。

【システム構成】
・ALB(ロードバランサー)
・EC2(Web/APサーバ)
 - OS:RedHatLinux8.x(EC2)
 - Web/AP:Apache 2.4.xx(mod_wsgiでFlaskと連携)
 - 言語:Python 3.8
 - フレームワーク:Flask
・通信プロトコル
 - クライアント⇔ALB:HTTPS(TCP/443※)
  ※HTTPで接続された場合でもALB側でHTTPSに変換して、リクエスト自体は受け付ける
 - ALB⇔EC2:HTTP(TCP/80)

(構成イメージ)
【Webシステムの仕様】
 ・BASIC認証を使用して、ログイン認証を行う
 ・ログイン認証後、トップページでユーザ情報をセッションに格納して他ページで使用する
 ・他ページはユーザ情報必須のため、トップページ以外へのダイレクトアクセス※は非許可
  ※ブラウザにURLを直接入力したり、お気に入りからアクセスした場合など
 ・ダイレクトアクセス検知時は、トップページに強制遷移させ、必ずトップページ経由とさせる

(画面遷移イメージ)
オッペン メディアック 4点
    http://websystem.com/
    ※Webシステムのあるサーバに直接アクセスするために設定されたWebシステムのURL
      ↓
    【開発完了後】https://alb.websystem.com/
    ※AWSのALBを介してアクセスするために設定されたWebシステムのURL

    そして、動作確認をしようと【開発完了後】のURLにアクセスしたのですが、通常アクセス時のとおりトップページから他ページに遷移しようとしても、トップページへの強制遷移が発生し、他ページに遷移ができない状態に陥りました。
    明日からユーザ側で試験利用と言っているのに、軽くパニックです(笑)

    (画面遷移イメージ)
    Webシステムの仕様から考えると、ダイレクトアクセス検知によってトップページに強制転送されているのだろうと感じていました。 そして、その直感は当たっており、この仕様に絡んで以下2つの仕組みにより起こった問題であることが分かりました。
    Webシステムのページ遷移に使用するURLは、Flaskのurl_forというメソッドを使用しており、このメソッドで生成されるURLは相対URLがデフォルトとなっており、このWebシステムでもデフォルト指定にて使用していました。
    今回の場合、直前のアクセス元であるALBがhttps → httpに書き換えてリクエストを投げてきているため、受け取ったhttp://~から始まる絶対パスを元に、相対指定でURLが作成されて画面遷移されることになりました。
    突然何だ?!と思うかもしれませんが、このWebシステムではダイレクトアクセスの検知を、リクエストヘッダ内にあるリファラ(遷移元URL情報)の存在チェックで行っていました。
    想定では、ダイレクトアクセスの場合、リファラには遷移元URLが入っていないため、ここをチェックすることでダイレクトアクセスの判定が可能と考えていたためです。
    ですが、①の画面遷移を受け付けたブラウザは「HTTPSサイト(安全)」から「HTTPサイト(非安全)」への遷移が発生したと検知し、セキュリティリスク回避のためリファラの内容を削除してリクエストしていました。

    その結果、リクエストを受け取ったWebシステムは、リファラなし(=ダイレクトアクセス)と判断し、トップページに強制転送していた訳ですね。

    リファラという用語がピンとこない方は、公式ページを参照してみてください。
    ほぼ新品☆ミーバイイッセイミヤケ カットソー
    XL ALLY&DIA STAIND GLASS ALLOVER
    新品未開封switchスプラトゥーン3・マリオパーティスーパースターズセット

    ここまでの説明から、この事象を解決するには「X-Fowarded-xxx」ヘッダーにあるプロトコル情報を使えば良い。というのが、ふんわり頭に浮かんだのではないかと思います。
    それでは、このWebシステムでは、どのように「X-Forwarded-Proto」ヘッダーの値で書き換えればよいのでしょうか?
    自分でゴリゴリ実装することも可能ですが、今回使用したPythonのフレームワークであるFlaskでは、既に対応するミドルウェアが提供されていました。
    それが「X-Forwarded-For Proxy Fix」というミドルウェアです。

    【新品】ワミレス スキンリフレッシャーC液2本セット 業務用 最安値 スキンケア

    このミドルウェアを使用することで、経由(信頼)するプロキシ数に応じてリクエスト元情報の補正を行うことが可能です。 使用方法などの詳細は、上記公式ページを参照して、確認してみてください。
    具体的な実装例は以下となります。



    アマチュア無線Keysight DSOX1202G 100MHz 2GSa/s オシロスコープその他

    A Look at the Keysight DSOX1204G Oscilloscope Keysight DSOX1204G Oscilloscope Review How to Use an Oscilloscope - Mega Guide Keysight DSOX1204G Keysight DSOX1102G Oscilloscope Review - Part 1 - Unbox and overiew Ben Heck Unboxes a DSOX1102G Digital Storage Oscilloscope from Keysight Power Supply Control Loop Response Measurements using an Oscilloscope Everything you need to know when buying/using an Oscilloscope! EB#49 U1610A-U1620A Handheld Oscilloscope Demo Good Digital Oscilloscope for Beginners - Hantek DSO5102P Siglent SDS1202X-E Decoding - review by EEVblog's Dave Jones Automotive Oscilloscopes: What you need to know How to select an Oscilloscope DIY Oscilloscope Kit (20$) VS Regular DS Oscilloscope (400$) Top 4 Oscilloscopes under $500 Best MDO Oscilloscope - for the money Rigol DS1202Z-E 2 CH 200Mhz Review - Best Budget Oscilloscope ? EEVblog #1146 - New Rigol MSO5000 Oscilloscope Siglent Review SDS 1104X-E Review Tektronix vs Keysight vs Siglent Oscilloscope EEVblog #978 - Keysight 1000X Oscilloscope Hacked!


    同じ画像内でも、こんなに画質が変わってきます。


    Photoshopのベクタ形式のオブジェクトをご紹介します👇






    以上、3つのオブジェクトは全てベクタ形式のオブジェクトです。




    まとめると、
    シェイプレイヤー」「テキストレイヤー」「ベクトルスマートオブジェクトレイヤー」「元の画像のサイズが書き出したサイズより大きいスマートオブジェクト
    以上の4つのオブジェクトであれば、ラスタライズしない限りは画質が落ちる事なく等倍で書き出すことが可能です。


    Photoshopを使われる方は、覚えておいて損はないと思います🙌

9月 30, 2022

技術部のyuckieee(ゆっきー)です。
色々なプロジェクトで開発を行っていて、ちょいちょい発生する作業で面倒だなって思っていることがありました。それは納品物やリリース対象物の準備です。

何かというと、運用保守中に追加開発などが発生した場合に、プログラムの差分ファイルのみを納品物やリリース対象として準備する必要があります。
これ、中々に面倒くさいんですよね。間違えたら大変だし、毎回ドキドキしちゃいます(笑)

そこで、出来るだけ間違いが起こらないように自動化出来ないか探してみた結果、私がいつも使っているGit管理ツール「Sourcetree」のカスタムアクションを試してみたら良さげだったので、ご紹介しようと思います。

まずはイメージ共有のため、今回作成したカスタムアクションの概要を説明します。
ざっくりした動作仕様としては「Sourcetreeで現在選択されているリポジトリ-ブランチに存在するコミット間の差分ファイルを取得する。」です。 利用イメージ(方法)は以下のとおり。

[利用イメージ(方法)]
Sourcetreeの該当ブランチの履歴から差分ファイルをとりたいコミットを選択のうえ、カスタムアクションを実行します。 差分を取るためにコミットは2つ選択。ただし、1つだけ選択した場合でも、選択したコミットから最新コミットまでを対象と実行します。
実行時は、経過が分かるようにダイアログにログが表示されます。
実行後、ログ記載の出力先に差分ファイル(zip)、差分ファイル一覧、実行結果ログが格納されます。
以上です!

実装完了までの大まかな流れは以下のとおりです。

[実装の流れ]
① 呼び出しスクリプト作成
② カスタムアクション登録
③ 動作確認

それではサクッと詳細の説明に入ります。

最初にカスタムアクションで呼び出されるスクリプトを作成します。
今回はシェルスクリプト(sh)で作成し、実際に作成したコードは以下のとおりです。(スクリプトの引数は②で説明しますが、$1にリポジトリ名、$2$3にコミットIDが指定されています)