57日目TIL


開始します。


今日はコンピューター工学の基礎部分を学び、文字列、図形、オペレーティングシステムなどのコンピューターがどのように働くかを学びました.

コンピュータエンジニアリング


文字列


Unicode
Unicode(Unicode)は工業標準であり、Unicode Consortiumが制定した世界のすべての文字をコンピュータ上で統一的に表現し、処理することを目的としている.この規格は、ISO 10646文字セット、文字符号化、文字情報データベース、文字を処理するアルゴリズムなどを含む.
  • 符号化(符号化):符号化とは、ある文字または記号をコンピュータで使用可能な信号に変換することであり、その信号を入力して符号化および復号するためには、予め設定された基準に従って入力および復号する必要がある.このように、符号化および復号化の規格を文字列セットまたは文字セット(charset)と呼び、これらの文字セットの国際規格はUnicodeである.
  • ASCII
    英字の代表的な文字で符号化され、52文字の大文字と小文字、10文字、32文字の特殊文字、スペース文字を含むすべての英字を7ビットで表すことができます.
    UTF-8とUTF-16
    UTF-8とUTF-16は符号化方式の違いを表し、UTF-8はUniversal Coded Character Set+Transformation Format-8-bitの略であり、UTF-の後ろの数字はビットである.

  • UTF-8
    UTF-8は、Unicode文字を1バイト(=8ビット)から4バイトで表す.
    例えば、coという文字のUnicodeはU+CF 54(16進数、HEX)と表示され、その文字をバイナリ(binary number)と表示すると1100-1111-0101-0100となり、その文字をUTF-8と表示すると3 byteと表示される結果は、以下のようになる.
    1110xxxx 10xxxxxx 10xxxxxx # x 안에 순서대로 값을 채워넣는다.
    11101100 10111101 10010100
    ASCIIコードは7ビットで表され、UTF-8は1バイトの結果を以下のように生成することができる.次の例は、bという文字をUTF-8として符号化した結果である.
    0xxxxxxx
    01100010 
    このように、UTF-8は可変長(1バイトから4バイトまで)の符号化方式であり、ネットワークを介して伝送されるテキストは、主にUTF-8として符号化される.なぜなら、使用される文字に応じて、より小さな文字列を表すことができるからである.UTF-8はASCIIコードの1バイトで、大文字の英語の単文字は2 byte、3 byte、補助文字は4 byteですが、大文字は補助文字に相当するので、4 byteが必要です.また、UTF-16と比較してバイト順ではなく、順序が決定される.

  • UTF-16
    UTF-16は、Unicodeコードの大部分(U+0000からU+FFF;BMP)を16ビットとして表す.
    他のほとんどの文字に属さない文字は32ビット(4バイト)で表されるため、UTF-16は可変長であってもよいが、大部分は2バイトで表される.
    U+ABCDという16進数を2進数に変換すると1010-1011-1100-1101となり、このような2進数で表される文字は16ビット(2バイト)となり、バイト順(endian)によってUTF-16の種類も変化する.
    UTF-8では、ハングルが3バイト、UTF-16が2バイトです.
  • ビデオカード


    ビットマップ(ラスタ)ベクトルに基づく技術は、製品に適用される画像(例えばイラスト)を拡大するのに適していない様々な画像に非常に適した画素の数学的計算に基づく形状に基づく特徴的な写真である.より大きなサイズの画像が必要な場合は、必要以上のサイズの画像を作成またはスキャンでき、画像のサイズ(ファイルサイズ)は解像度の影響を受けません.大きなファイルサイズを持つ大きなベクトルパターンは、小さなファイルサイズを保つことができ、変換画像の複雑さに応じてベクトル変換を行うには長い時間がかかり、ラスタ画像に変換しやすく、代表的なファイルフォーマットjpg、gif、png、bmp、psdsvg、ai web上の使用可能性jpg、gif、多くの現代ブラウザではpngなど広く使われているsvgフォーマットがサポートされています

    オペレーティングシステム


    システムリソース管理
    オペレーティングシステムがないと、アプリケーションは実行できません.アプリケーションの目的は、コンピュータを使用してさまざまなタスクを完了することです.オペレーティングシステムは、アプリケーションがハードウェアで動作するのを支援します.オペレーティングシステムは,ハードウェアを構成するCPU,リソースを格納するRAM,ディスクなどのシステムリソースを管理する主体である.
  • プロセス管理(CPU)
  • メモリ管理
  • I/O管理(ディスク、ネットワークなど)

  • オペレーティングシステムの構成図
    アプリケーション管理
    すべてのアプリケーションがシステム内のリソースを自由に使用する場合、ハッカーの攻撃に無防備であるため、アプリケーションは権限を管理する必要があり、複数の人が1台のマシンを使用する場合、ユーザーを管理することも重要です.
  • アプリケーションを実行し、システムリソースを使用するために権限とユーザーを管理します.
  • システムコール
    アプリケーションがオペレーティングシステムを介してコンピュータを動作させる場合は、オペレーティングシステムからオペレーティングコンピュータに権限を付与する必要があります.ライセンスが付与された後、オペレーティングシステムが提供する機能を使用することができ、アプリケーションとオペレーティングシステムをコミュニケーションさせるために、オペレーティングシステムはアプリケーションにインタフェース(API)を提供する必要があります.アプリケーションがシステムリソースを使用できるように、オペレーティングシステムレベルでさまざまな関数を提供することをシステム呼び出しと呼びます.

    プロセス、スレッド、マルチスレッド


    プロセス
    オペレーティングシステムは、実行中のアプリケーションをプロセスと呼び、ユーザーがアプリケーションを実行すると、アプリケーションの実行に必要なメモリを割り当ててアプリケーションのコードを実行します.実行されるアプリケーションはプロセスと呼ばれ、1つのアプリケーションで複数のプロセス(複数のプロセス)を作成することもできます.
    ねじ山
    スレッドは線であり、辞書の意味では線であり、タスクを実行するために順次実行されるコードが線のように接続された名前です.1つのスレッドはコード実行のストリームであるため、1つのプロセスに2つのスレッドがある場合は、コードに2つの実行ストリームがあることを意味します.
    マルチスレッド
    マルチスレッドは、1つのプロセス内でマルチタスク処理を行うことができ、データを分割して並列処理することができ、UIを有するアプリケーションでネットワーク通信を行うことができ、ビッグデータの処理時間を短縮することができる.複数のクライアント要求を処理するサーバの開発にも使用できます.

    の最後の部分


    この間は符号化に関する章だけを学び、コンピューターの動作原理に関する概念的な部分を学び、新鮮な感じがしました.開発者(特にバックエンド位置)であれば,コンピュータエンジニアリング部分の理解も重要である.授業の内容のほか、好奇心のある部分を探して勉強を続けます.