# 16. IT Supplements ________________________________________ ## 1. Markdown ________________________________________ Original https://daringfireball.net/projects/markdown/basics jneen/rouge https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers jneen/rouge(Gitlab12 & Qiita)の主な対応状況 ```text apache, nginx http c, cpp, cs, php, rb html, css, scss, js, ts groovy json, xml, yaml text sql ini bash, powershell ``` ________________________________________ ## 2. Character Code ________________________________________ 文字集合 ```text 1969 JIS C 6220 : JIS X 0201のリネーム前の呼称 1978 JIS C 6226 : JIS X 0208のリネーム前の呼称。ver1978、ver1983、ver1990は差異がある 1978 JIS X 0201 : Ascii(\、~) + 半角文字 1990 JIS X 0208 : ~第二水準 1990 JIS X 0212 : 補助漢字。MS ゴシック2.3(win98)からunicodeとして入力可能 XXXX NEC特殊文字 : 環境依存文字(①、Ⅶ、㍉、㎜、㍻、㈱、⊿etc.) XXXX IBM拡張文字 : 環境依存文字(ⅰ、髙etc.) 1998 Unicode2.1 : JIS X0212まで対応済みのバージョン。すべてBMP範囲 2000 JIS X 0213 : ~第四水準 2002 Unicode3.2 : JIS X0213まで対応済みのバージョン。第三/第四水準の一部の文字は拡張B 2004 JIS X 213:2004 : 改訂版。MS ゴシック2.5(vista)からunicodeとして入力可能 2005 Unicode4.0 : 主に古代文字など 2008 Unicode5.1 : 日本語の異字体セレクタ(IVD/IVS)に対応 2010 Unicode6.0 : 絵文字 ``` 文字コードとUnicode ```text 第○水準    :JIS上の区分 CJK統合漢字拡張X:国際上の区分。拡張AまではBMPに存在し、JIS第二水準までの文字を含む BMP :000000~00FFFF領域。面00。16bit時代。CJK統合漢字1993、拡張Aを含む 代用符号    :00D800~00DFFF領域。UTF16においてサロゲートペアとして使用される 非BMP :010000~1FFFFF領域。面01~1F。UTF16で4Byte、UTF8で4Byte。SIP(拡張B、拡張C)を含む UTF16のルール BMP面は2Byteで表現(サロゲートペアは4Byte表現の際に使用される) UTF8のルール 000000~00007F(07桁) → 1Byte 0xxxxxxx 000080~0007FF(11桁) → 2Byte 110xxxxx,10xxxxxx 000800~00FFFF(16桁) → 3Byte 1110xxxx,10xxxxxx,10xxxxxx 010000~10FFFF(21桁) → 4Byte 11110xxx,10xxxxxx,10xxxxxx,10xxxxxx ``` SJISの文字集合 ```text Shift_JIS : JIS X 0201 + JIS X 0208 IBM CP932 : Shift_JIS + IBM拡張文字 Windows-31J : Shift_JIS + NEC特殊文字 + IBM拡張文字。全角波ダッシュなど7字のunicode変換がShift_JISと異なる CP932(Java): IBM CP932の別名 MS932 : Windows-31Jの別名 ANSI : Windows-31Jの別名(MS製品内でのみ呼称される) CP932 : Windows-31Jの別名(Java以外で呼称される) ``` 各アプリケーションのサロゲートペア対応状況 ```text Windows9x : 非対応 Oracle 10g R1 AL32UTF8 : 特殊な対応(3*2の6byteとして内部的に保持) Oracle 11g AL32UTF8 : 対応 Mysql5.5.3 utf8mb4 : 対応 Windows10 cmd.exe chcp 65001 : 非対応 Windows10 powershell : 非対応 .NET Framework : string.Lengthは2文字扱い。StringInfo.LengthInTextElementsは対応 * Oracleに関しては、そもそも論として全角が入る列はnvarchar2にしてAL16UTF16とするべき ``` UTF-8で4byte文字一覧 ```text 𠀋 𡈽 𡌛 𡑮 𡢽 𠮟 𡚴 𡸴 𣇄 𣗄 𣜿 𣝣 𣳾 𤟱 𥒎 𥔎 𥝱 𥧄 𥶡 𦫿 𦹀 𧃴 𧚄 𨉷 𨏍 𪆐 𠂉 𠂢 𠂤 𠆢 𠈓 𠌫 𠎁 𠍱 𠏹 𠑊 𠔉 𠗖 𠘨 𠝏 𠠇 𠠺 𠢹 𠥼 𠦝 𠫓 𠬝 𠵅 𠷡 𠺕 𠹭 𠹤 𠽟 𡈁 𡉕 𡉻 𡉴 𡋤 𡋗 𡋽 𡌶 𡍄 𡏄 𡑭 𡗗 𦰩 𡙇 𡜆 𡝂 𡧃 𡱖 𡴭 𡵅 𡵸 𡵢 𡶡 𡶜 𡶒 𡶷 𡷠 𡸳 𡼞 𡽶 𡿺 𢅻 𢌞 𢎭 𢛳 𢡛 𢢫 𢦏 𢪸 𢭏 𢭐 𢭆 𢰝 𢮦 𢰤 𢷡 𣇃 𣇵 𣆶 𣍲 𣏓 𣏒 𣏐 𣏤 𣏕 𣏚 𣏟 𣑊 𣑑 𣑋 𣑥 𣓤 𣕚 𣖔 𣘹 𣙇 𣘸 𣘺 𣜜 𣜌 𣝤 𣟿 𣟧 𣠤 𣠽 𣪘 𣱿 𣴀 𣵀 𣷺 𣷹 𣷓 𣽾 𤂖 𤄃 𤇆 𤇾 𤎼 𤘩 𤚥 𤢖 𤩍 𤭖 𤭯 𤰖 𤴔 𤸎 𤸷 𤹪 𤺋 𥁊 𥁕 𥄢 𥆩 𥇥 𥇍 𥈞 𥉌 𥐮 𥓙 𥖧 𥞩 𥞴 𥧔 𥫤 𥫣 𥫱 𥮲 𥱋 𥱤 𥸮 𥹖 𥹥 𥹢 𥻘 𥻂 𥻨 𥼣 𥽜 𥿠 𥿔 𦀌 𥿻 𦀗 𦁠 𦃭 𦉰 𦊆 𦍌 𣴎 𦐂 𦙾 𦚰 𦜝 𦣝 𦣪 𦥑 𦥯 𦧝 𦨞 𦩘 𦪌 𦪷 𦱳 𦳝 𦹥 𦾔 𦿸 𦿶 𦿷 𧄍 𧄹 𧏛 𧏚 𧏾 𧐐 𧑉 𧘕 𧘔 𧘱 𧚓 𧜎 𧜣 𧝒 𧦅 𧪄 𧮳 𧮾 𧯇 𧲸 𧶠 𧸐 𧾷 𨂊 𨂻 𨊂 𨋳 𨐌 𨑕 𨕫 𨗈 𨗉 𨛗 𨛺 𨥉 𨥆 𨥫 𨦇 𨦈 𨦺 𨦻 𨨞 𨨩 𨩱 𨩃 𨪙 𨫍 𨫤 𨫝 𨯁 𨯯 𨴐 𨵱 𨷻 𨸟 𨸶 𨺉 𨻫 𨼲 𨿸 𩊠 𩊱 𩒐 𩗏 𩙿 𩛰 𩜙 𩝐 𩣆 𩩲 𩷛 𩸽 𩸕 𩺊 𩹉 𩻄 𩻩 𩻛 𩿎 𪀯 𪀚 𪃹 𪂂 𢈘 𪎌 𪐷 𪗱 𪘂 𪘚 𪚲 ``` Unicodeのハイフン ```text \u002D:-(ハイフンマイナス) \uFF70:ー(半角カナ長音) \u2010:‐(ハイフンマイナス(全角幅)) \uFF0D:-(全角ハイフンマイナス) \u30FC:ー(長音) \u2015:―(ダッシュ) ``` ________________________________________ ## 3. Data Format Terms ________________________________________ Data Format Terms ```text Json Xml Yaml ``` ________________________________________ ## 4. Infrastructure Terms ________________________________________ Hardware Roles ```text 1-2nd:Repeater, Bridge, L2 switch(multi bus bridge) 3rd:Home Router, L3 switch ``` Protocols ```text 1-2nd:twist pair, ethernet(=LAN cable) 4-5th:SSL/TLS, SRTP/SCTP/DTLS, legacy RTP/RTCP, network socket 6-7th:http, ssh, ftp, smtp, pop3, imap, dns, dhcp * RTP is sorted UDP, DTLS is TLS for UDP ``` NIC & unix socket & windows's handle terms ```text General NIC : Physical network interface. Stream(Programing) : Abstract concept for File discriptor + byte stream. Windows Handle : = Unix file descriptor. File handle(MS-DOS) : = Handle. File handle(POSIX) : Handle for file. Process handle : Handle for process/interprocess communication. Windows socket : Handle for network. Unix File descriptor : Index/end-point of opend "file/network/process/interprocess-communication/device". (Bsd) socket : Generic name for sockets Unix domain socket : File descriptor of interprocess communication. Network socket : File descriptor of network. ``` IP Terms ```text IP Address : Identifier of network node. IP Network : Gatewayless communication group. IP Networks : Multiple network. IP Gateway : Mediator for each ip network. IP Node : Node for ip network. WAN : World level network. LAN : local level network. Class A : 10.x.x.x/8- Class B : 172.x.x.x/16- Class C : 192.168.x.x/24- self : 127.0.0.1 network : xxx.xxx.xxx.0 broadcast : xxx.xxx.xxx.255 localhost : Often worked as unix(interprocess communication) socket NAT : - Port : - NAPT : - IP masquerade : =NAPT Port Forwarding : =static NAPT ```