タグ: V

  • Visual Studio Codeとは

    Microsoft社の提供する無料の開発用エディタ、略称はVSCode

    1.特徴

     さまざまな特徴を持っている
       ・デバッグ機能を備える
       ・「拡張機能」によりさまざまな機能の追加の余地がある
       ・macOS、Windows、Linuxといったプラットフォームをサポートする
       ・Git連携機能を使える
       ・様々なプログラミング言語をサポートする
         シンタックスハイライトが使える
           予約語、マークアップ言語のタグ名や属性値等を着色表示する
         スニペット機能が利用できる
           短いコードの断片(切れ端)を登録し、呼び出して貼り付ける
         インテリセンス(補完機能)が使える
           キー入力を監視し、パラメーターの情報を提示する
         リファクタリングが使える
           重複したコードを削除、変数・関数の命名を分かりやすくする

    2.システム要件

     現在流通しているPCではまったく問題なく軽快に動作する
       古いOSを使っているという場合には注意が必要

     公式サイトからダウンロードしインストールする
       参照:VSコードのインストール
       

    3.Webブラウザ版

     見た目も一緒で、テキストエディタとしてWebブラウザで利用できる
       vscode.dev
         できるのは
           ローカルのファイルを扱える
         できないのは
           コンパイルやデバッグ、ターミナルでの操作 等

    4.画面構成

     ・画面左端の「アクティビティバー」①の部分
       アイコンが並ぶ、拡張機能の検索・ソースの検索・管理・実行・デバッグ等

     ・右隣の「サイドバー」②の部分
       現在開いているワークスペースやファイルの名前が表示される

     ・右側の上端の「編集エリア」③の部分
       コードを記述する場所

     ・右隣の下段の「パネルエリア」④の部分
       ターミナルやデバッグの情報、エラーの確認などができる

     ・最下段の「ステータスバー」⑤の部分
       開いているワークスペースの通知を表示したり、エンコードなどを表示する

    画面構成

    5.アクティビティバー

     アクティビティバーの上で右クリックする、以下の機能名が表示される
       エクスプローラーの表示
       検索の表示
       ソース管理の表示
       実行とデバッグの表示
       拡張機能の表示
       リモートエクスプローラーの表示
       Pythonの表示

  • virus、spyware、worm、Trojan horse、logic bomb、bot virusとは

    1.ウィルス(virus)

     実行されると他のプログラムやファイルに寄生し
       別のプログラムに移れるようにする独自のコードを書き込み、
       プログラムからプログラムへと感染を広げるプログラム

     ほとんどのウイルスは実行ファイルに添付されている
       ウイルスがコンピュータ上に入り込んだとしても、
       ユーザーが悪意のあるプログラムをクリックしたり実行したり開いたり
       しない限り、コンピュータに感染することはない

     感染したファイルを共有する、ウイルスを添付した E メールを送信する等
       無意識のうちにコンピュータウイルスを拡散し続けていく

    2.スパイウェア(spyware)

     ブラウザの閲覧履歴やキー入力などユーザーに関する情報を収集し、
       情報収集者である特定のコンピュータへ自動的に送信するプログラム

    3.ワーム(worm)

     寄生することなく独自に活動し他のコンピュータに感染する
       自己増殖型のプログラム

     自分自身の複製を作り、他のコンピュータに感染を広める
       単独で動作し、他のプログラムに寄生する必要がない

     ウイルスまたはトロイの木馬の下位分類にあたる
       コンピュータからコンピュータへと拡散するが、ウイルスとは異なり、
       ホストプログラムに寄生することなく移動し単体で動作する能力を持つ

     システム上のファイルや情報の転送機能を利用して単独で移動できる
       インターネットや LAN の接続を通じて感染する

     ワームの例
       E メールのアドレス帳に登録されている全員に自分自身のコピーを送信する
       受信者 1 人 1 人 のところでもワームは自己複製し、
       それぞれのアドレス帳に登録されている人全員に自分自身を送信し、
       その連鎖を広げていく

    4.トロイの木馬(Trojan horse)

          (参考:トロイの木馬)

     有用なソフトウェアを偽ってコンピュータへ侵入し、
       データ消去やファイルの外部流出などを行うプログラム

     一見正規のアプリケーションやソフトウェアのように見え
       意図をユーザーに誤解させるマルウェアの総称

     自己複製はしないが、破壊的な活動を行う
       コンピュータにバックドアを仕込み、悪意のある攻撃者にコマンドを与え
       悪意のあるユーザーやプログラムがシステムにアクセスできる様にする

    5.ロジックボム(logic bomb)

     サイバー攻撃などに用いられるマルウェアの一種
       標的システムの内部に潜伏し、あらかじめ設定された条件が満たされると
       自動的に起動してデータの破壊活動などを行う
         コンピュータに仕掛けられた論理的な時限爆弾

     対象のコンピュータに自身の複製を記録(感染)し、
       システム稼働時に常駐するか一定間隔で起動するよう
       OSの設定などを不正に書き換える

     感染時点では何もせずに潜伏しており、
       攻撃者が指定した条件が満たされると行動を開始し、
       あらかじめ設定された破壊活動などを行う

     例えば、
       ある日時になったらコンピュータの記憶装置の内容をすべて抹消する
       特定の利用者のログインが一定期間途絶えたらファイルの内容を消去する
       最後の自分自身やシステムに残る痕跡を削除し、後からの検証を妨害する

    6.ボットウイルス(bot virus)

     外部から端末を遠隔操作できるウイルス
       気づかれないよう端末に侵入して悪事を働く
       知らないところで端末が遠隔操作され、犯罪行為に加担することになる

     感染経路別に8種類
       ネットワーク感染型
         OSやソフトウェアなどの脆弱性を突き、
         ネットワークから端末へと侵入するボットウイルス

         インターネットに接続されていれば、
         ネットワークを通じてボットウイルスに感染するリスクがある

       メール添付型
         ウイルスを仕込んだファイルを添付したメールを送りつけ、
         ユーザーが添付ファイルを開くと端末が感染するボットウイルス

         明らかに不審なメールもあれば、
         仕事の関係者を装ったメールが送られてくる

       SMS添付型
         スマートフォンのSMS宛てに不正なリンクを送信し、
         添付ファイルやリンクをタップすることで感染するボットウイルス

         実在するサービス名や企業名をかたって送られてくる
         不審なアドレスから送られてきたSMSは開封せずに削除する

       Web閲覧型
         ウイルスが仕掛けられたWebサイトを閲覧したり、
         サイト上のリンクをクリックすると感染するボットウイルス

         正規のWebサイトでも、ボットウイルスが仕込まれている場合があり
         ボットウイルスに感染する可能性がある

       Web誘導型
         不正なWebサイトにを誘導し、感染させるボットウイルスです

         サイトにアクセスするだけで
           不正なプログラムをインストールさせる
         Webサイト上の改ざんされたリンクから、
           不正なWebサイトへと誘導する

       ラウドストレージ型
         クラウドストレージ上に不正なファイルを保存し、
         共有フォルダなどを通じて感染させるボットウイルス

         一見すると、通常のファイルと同じ形式・名称が用いられ
         ファイルを開くことで、端末にボットウイルスが侵入する

       外部記憶媒体感染型
         USBメモリなどの外部記憶媒体にウイルスを仕込んで
         端末を感染させるボットウイルス

         外部記憶媒体の接続を検知すると自動的にその内容を表示する
         そのため、ファイルを開かなくても、挿した時点で感染する

       アプリケーション型
         アプリケーションにウイルスを仕込み、
         アプリをインストールすることで感染するボットウイルス

         正規のアプリにボットウイルスが仕掛けられているケースもあれば
         正規のアプリを装った、偽のアプリが配布されることもある

    7.まとめ

    ウィルスプログラムやファイルに寄生する
    自己増殖が可能
    スパイウェア破壊するより、隠密に活動する
    情報を盗み出すことが目的
    ワーム単体で動作可能
    自己増殖も可能
    トロイの木馬単体で動作可能
    有益なプログラムへなりすます
    ロジックボム設定された条件になると発動する
    データの破壊やシステム障害を起こす
    ボットウィルス外部からの遠隔操作が可能
    ボットの集まりを形成、サイバー攻撃へ悪用される

  • VRIOとは

    Value, Rarity, Imitability, Organization の頭字語

    1.VRIOとは

     自社の競争優位性を把握するための視点
       Value(経済的価値)
         経営資源が、顧客、組織、社会全体に対して
         何らかの「経済的な価値」を提供しているかどうか客観的に評価する
         経済的な価値は、自社の売上アップやコストダウンなどのように
         定量化できるものや、顧客や社会のニーズを満たす付加価値のような
         定性的なものを含む
       Rarity(希少性)
         経営資源が市場でどれだけ珍しいかを示す度合い
         希少性が高いということは、同じ資源を競合他社は持っていない
       Inimitability(模倣困性)
         内部資源について、競合他社が簡単に模倣できてしまうかどうか
           歴史的条件
             資源が企業独自の歴史に基づいているかどうか
             過去の出来事の順序がその資源に影響していたり、
             資源を手に入れるまでに長い時間を要したなどの
             要因があると、歴史的条件があると言うこと
           因果関係不明性
             企業の競争優位性という「結果」と、
             経営資源という「原因」の関係がはっきりとわからない状態
             何かしらの経営資源が活きているのはわかるものの、
             社内外の誰もが「なぜ上手くいっているのか」を
             正確に把握できていないと、因果関係不明性は高い
           社会的複雑性
             経営資源の成り立ちが複雑過ぎて、管理できていない状態
             社会的に複雑でわかりにくく、
             競合がそれを模倣するのは困難である
       Organization(組織)
         報酬体系やマネジメントなど、企業内のさまざまな仕組みや制度の
         経営資源が積極的に活用される組織になっているかどうか

     VRIO分析は自社の経営資源であるヒトや資金、情報などを評価することで、
       自社の強みと弱みを分析し、市場における自社の競争優位性を可視化する

     把握するための視点は以下の4つ
       自社が保有する経営資源の経済的価値
       自社が保有する経営資源の希少性
       他社が同等の経営資源を獲得するためのコスト
       その経営資源を活用するための組織的な方針

    2.企業の内部資源とは

     財務資本:株式や借入金、自己資本など
     人的資本:社員個々の能力、経験、イノベーションへの意欲、ロイやリティー
     物的資本:生産設備や不動産の有形資産、ブランドネームや特許の無形資産
     組織資本:顧客対応力などの組織独自で培った能力

    3.分析手順

     必ず「V(価値)→R(希少性)→I(模倣困難性)→O(組織)」の順に行う

    分析手順

     最初の「その経営資源に価値があるか?」という問いが
       NOの場合は、競争優位性が見込めず、
               不利な立場にある「競争劣位」の状態だと言える
       YESの場合は、次の問いへと進む

     次の「その経営資源に希少性があるか?」という問いが
       NOの場合は、競合と同程度の強みを持つ「競争均衡」の状態
       YESの場合は、次の問いへと進む

     次の「その経営資源の模倣は困難か?」という問いが
       NOの場合は、強みは「一時的な競争優位」の状態
       YESの場合は、「持続的な競争優位」となる

     次の「組織は適切か?」という問いが
       NOの場合は、脅かされることのない「持続的競争優位」の状態
       YESの場合は、効果を引き出す「最大限の持続的競争優位」の状態

  • JAVA、Java Script、Java Applet、Java Servlet、VBScriptとは

    1.Java

     C言語をベースに開発されたプログラミング言語
       語源はコーヒーのJava(ジャワ)
       幅広いプラットフォームの環境の違いを吸収し、適切に実行される
       開発環境とは異なる実行環境でも実行できる特徴を持つ

     汎用性と安全性が高い
       多くのプラットフォームで採用されているプログラム言語
         デスクトップやWebアプリ
         家電やIoT機器
         カーナビ等の組み込みソフトウェア 等々

     メリットとデメリット
       メリット
         実行環境の自由度の高さ
           プラットフォームを問わずどんなコンピュータでも使える
         コンパイル言語
           処理速度が速く安定性がある、セキュリティ性が高い
         世界的に見てもJavaの需要は非常に高い

       デメリット
         他のプログラミング言語よりもルールや難しい記述が多い
           習得の難易度は高い
         オブジェクト指向
           考え方の理解に時間が掛かる、独学では挫折することが多い
         小規模なシステム開発には向いてない
           拡張性を活かしきれず、開発工数のみが増えてしまう

    2.Java スクリプト(Java Script)

     「ブラウザ上」で動作するプログラミング言語

     ウェブページに複雑な機能を実装することを可能にするスクリプト
       軽量なインタープリター型プログラミング言語でもある
         ウェブブラウザーはテキストの形で JavaScript コードを受け取り、
         テキストのままでスクリプトを実行する
           実際には実行時コンパイルという技術で
           バイナリーフォーマットにコンパイルされている

     ウェブ標準技術の階層構造
       HTML マークアップ言語、ウェブコンテンツに構造と意味を与える
       CSS  スタイリング規則の言語、HTMLコンテンツに適用する
       JavaScript スクリプト言語、動的なコンテンツ作成等

     補足(2025年)
       当初の定義から時間も経ち現在では
         Node.js環境が整備されて、サーバーでも動く言語となっている

    3.Java アプレット(Java Applet)

     Webブラウザ上(クライアント側)で動くJavaプログラム
       セキュリティ上の問題やHTML5などの新しいウェブテクノロジーの台頭で
       2018年に主要なブラウザがサポートを終了する

    4.Java サーブレット(Java Servlet)

     Webサーバ上(バックエンド側)で動くJavaプログラム
       プログラミング言語のJavaを使って作成される
       動的なWebページの配信システムを実現する
         主な例:アクセスした人の好みや行動の傾向に合わせてページを表示

     メリット
       ライフサイクル管理
         1回のセッションを管理し、1度リクエストが送られてきたら、
         メモリに常駐しデータを維持することで返答までのスピードを速める

       マルチスレッド対応
         同時に複数のタスクを処理する
           1秒間に数百回という速さで複数の処理を切り替える
           あたかも同時並行で動作する様に見える

       プラットフォームへの非依存
         Javaというプログラミング言語のためプラットフォームに依存しない
           どの端末からでも設定なしにプログラムを使える

       追加するだけで機能拡張
         モジュール化されており、部分の追記だけで機能拡張できる

    5.VBScript

     Microsoftが開発したスクリプト言語
       業務で求められる一通りのことは可能
         ファイル操作、テキスト編集、外部プログラム起動

       Microsoft Office の起動や Database 接続等も可能
       Excel、Access とのデータ送受信が可能

     補足(2025年)
       2027年にWindows上から廃止する
       JavaScriptやPowerShellなど汎用性の高いスクリプト言語が誕生し
       そちらの方が最新のWeb開発や自動化タスクに最適なため

  • Gap Analysis、Core Competence Analysis、Value Chain Analysis、Pareto Analysisとは

    1.Gap Analysis

     目指す「理想の姿(To-Be)」と「現状(As-Is)」の差異(ギャップ)を
       特定・数値化し、目標達成に必要な課題や戦略を明確にする

       現状と目標を客観的に比較することで、
         改善すべきポイントを特定し、リソースの優先順位付けに役立つ

     主な目的とメリット
       現状の把握と可視化
          理想と現実の差異を明確にする
       優先順位の決定
         解決すべき課題(ギャップ)の重要性を整理し、効率的に取り組む
       戦略的な意思決定
         データに基づいた具体的なアクションプランを作成できる
       目的・適用範囲
         マーケティング、人材開発、業務プロセスの効率化等々

     基本ステップ
       「現状(As-Is)」を把握する
       「理想(To-Be)」を定義する
       「ギャップ」を識別する
       「改善策」を策定する

    2.Core Competence Analysis

     企業が競合他社に真似できない中核的な強みを特定・評価する
       顧客への価値提供、市場展開力、模倣困難性を指標に、
       企業独自の差別化能力(技術、組織能力など)を発見し、
       持続的な競争優位性を構築するために活用する

     分析の重要性
       Sustainable Competitive Advantage (持続的な競争優位)
         他社が真似できない差別化要因を見つける
       Strategic Focus (戦略的集中)
         経営資源を強みに集中させ、効率的に市場へ展開する
       Value Creation (価値創出)
         顧客に提供する独自の価値を明確にする
     
     評価指標
       Customer Value (顧客価値)
         顧客に提供する利益が「真に」顧客に認められるか
       Competitor Differentiation (競合他社との差別化)
         模倣困難性が高いか 
       Extendability (市場展開力):
         複数の市場・商品へ応用可能か

     分析の手順
       Refine and Focus (コアコンピタンスの確定と投資) 
       Identify Potential Competences (潜在的な強みの洗い出し)
       Evaluate Against Criteria (3つの基準で評価)

    3.Value Chain Analysis

     製品の企画から製造、販売、アフターサービスに至る一連の事業活動を
       「価値のつながり」と捉え、各工程で生み出される
       付加価値とコストを可視化・分析する

       自社の強み・弱み、競争優位の源泉を特定し、
         業務効率化や戦略的なリソース配分、差別化に役立てる

     主要な要素
       主活動(Primary Activities)
         商品の提供に直接関わるプロセス
           インバウンド(物流)
           オペレーション(製造)
           アウトバウンド(出荷)
           マーケティング・販売
           サービス

       支援活動(Support Activities)
         主活動を支えるプロセス
           企業インフラ(財務・法務)
           人事・労務管理
           技術開発
           調達

     主要な目的
       強み・弱みの把握
         自社の競争優位性の源泉を明確にする
       コストの可視化
         どの活動にコストがかかっているかを把握し削減や効率化に繋げる
       差別化要因の特定
         競合他社と比較し、どこで高い価値を生み出しているか分析する

     分析の手順
       活動の洗い出し
         自社の事業を工程別(主活動・支援活動)に分類する
       コスト・価値の分析
         各工程にかかるコストと付加価値を測定する
       強み・弱みの特定
         競合他社と比較し、差別化の要因を見つける
       戦略への落とし込み
         利益を生む活動に資源(ヒト・モノ・カネ)を集中させる

    4.Pareto Analysis

     多くの問題や原因の中から「最も影響の大きい重要な少数の要因」を特定する
       売上の80%は上位20%の顧客が占めるという「80:20の法則」に基づき
       項目を降順に並べた棒グラフと累積比率の折れ線グラフ(パレート図)を
       用いて、重点的な改善対象(ABC分析)を決定する

     メリット
       優先順位の可視化
         上位20%の要素がどれほど重要か一目で分かる
       意思決定の効率化
         対策を講じるべき重要な要素が特定され、業務効率化につながる
       効果の検証
         改善の前後でグラフを見比べることで、対策の効果を測定しやすい

     分析の手順(パレート図の作成)
       分析したいデータを集める(商品別売上、クレーム内容など)
       データが大きい順に並べ替え、棒グラフにする
       各項目の累計を計算し、全体に対する累積比率(%)を折れ線グラフで描画
       「上位70-80%」の累積割合に達する項目を「重要」と特定する

     重要ポイント
       グラフの読み方と作成手順
         左側の縦軸に各項目の数値を示す
         右側の縦軸に累積比率(パーセント)を示す

         棒グラフで各項目の大きさを表現する
         折れ線グラフで累積比率を表現する

         累積比率が80%に達するまでの項目数を確認する
           「全体の何%の要因が、結果の80%を占めているか」を明確にする

       ABC分析との関係と使い分け
         重要度に応じて項目をA(最重要)、B(重要)、C(普通)の
         3つのグループに分類する

         詳細な分類が必要な場合はABC分析
         視覚的な理解と意思決定のスピードを重視する場合はパレート分析

       80対20の法則が生まれる理由
         なぜ多くの現象で80対20の比率が見られるのか?
           自然界や社会現象において「べき乗則」と呼ばれる法則

           べき乗則(パワーロー、Power Law)とは
             ある現象の規模や頻度が、別の変数のべき乗に比例する関係
             ごく少数の要素が大多数の全体に影響を与える
               「不均衡な分布」を指す
             自然災害の頻度、所得分布、SNSのフォロワー数等
             複雑な現象の解析に多用される