maitake219

とあるSEの徒然なるweblog

文字列の省略

スタイルシートで文字列を省略するには下記スタイルを適用します。

.ellipsis{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

指定した幅を超える文字列が…で省略されます。

f:id:maitake219:20170912103845p:plain

td要素の文字列を省略したい場合はtableに下記スタイルを適用する必要があります。

table{
    table-layout: fixed;
}

TypeScriptコーディング規約

随時更新中。

命名

Variable

  • camelCaseを用いる。

bad

var Num = 10;

good

var num = 10;

Function

  • camelCaseを用いる。

bad

GetId(): number{ }

good

getId(): number { }

Class

  • Class名はPascalCaseを用いる。
  • memberはcamelCaseを用いる。
  • functionはcamelCaseを用いる。

bad

class user {
    Id: number;
    GetId(): number {
        return this.Id;
    }
}

good

class User {
    id: number;
    getId(): number {
        return this.Id;
    }
}

Interface

  • Interface名はPascalCaseを用いる。
  • Interface名のprefixにIを用いない。
  • functionはcamelCaseを用いる。

bad

interface IUser {
    GetId(): number;
}

good

interface User {
    getId(): number;
}

Namespace

  • Namespace名はPascalCaseを用いる。

bad

namespace app {
}

good

namespace App {
}

Array

  • []の代わりにArrayを用いる。

bad

private Users: User[];

good

private Users: Array<User>;

セスペ解答さらし

午後I

門1

設問1

a:エ、b:ア

設問2

(1)c:z1.z2.z3.z4、d:y1.y2.y3.y4

(2)①クライアント認証方式とし、管理端末に証明書を設定した

設問3

(1)アクセス元を管理端末に制限

(2)同一のホスト鍵を悪用したなりすまし

(3)イメージファイルの作成時

C社の秘密鍵でイメージファイルのハッシュ値を暗号化し、ディジタル署名を作成する

イメージファイルの更新時

ディジタル署名をC社の公開鍵で復号し、イメージファイルのハッシュ値と比較

(4)LTEルータをリバースエンジニアリングし、ソースから解析する

問3

設問1

a:エ

設問2

(1)b:ウ、c:カ

(2)プログラム名をプログラム起動禁止設定できないものに変更された場合

設問3

(1)ログに送信元IPアドレスが全てプロキシ1として出力されるから

(2)オ

設問4

(1)Webブラウザに設定されているプロキシ認証情報を取得し、プロキシ認証を通過する

(2)URLフィルタリング機能

業務に必要かつ安全であることを確認したURLをホワイトリストに設定した

カテゴリ単位フィルタリング機能

業務に不要と思われるカテゴリを再度”遮断”に設定した

午後II

問1

設問1

(1)a:ウ、b:オ、c:ス、k:エ、l:イ

(2)認証カードを他人に貸し、PINを教える行為

(3)d:ウ、e:カ、f:ク

(4)ア、ウ、カ、ク、ケ

(5)g:イ、h:オ、i:ア、j:セ

設問2

(1)事業用システムを利用する必要があるグループ従業員であること

発行した認証カードの郵送先

(2)ア、イ、エ

(3)申請の確認、失効情報の失効情報サーバでの登録・公開が一週間に一回である点:ウ

設問3

(1)WebブラウザがCA-3が発行したサーバ証明書を信頼出来ない

(2)D社ルートCAになりすまし、発行したサーバ証明書を信頼してしまう

設問4

(1)認証カードの発行を認可する際に、プロジェクトへの参加期間をカードの有効期限に設定するから

(2)貸与対象者ごとに1枚しか発行されないため、システム部のカード管理枚数が減るから

半年以内に次のプロジェクトへの参加が見込まれる場合は貸与を継続できるから

(3)従業員が各自の認証カードを携帯しないと現場事務所に入室できず、システムを使用できないから

H25春午後II問2

DKIM

送信側メールサーバがメールに送信側ドメインディジタル署名を付与し、受信側メールサーバ が送信者ドメインの公開鍵を利用してディジタル署名の検証を行います。

タイムスタンプ

タイムスタンプの付与により

  • タイムスタンプの時刻に存在していたこと
  • タイムスタンプの時刻以降に改ざんされていないこと

を証明できます。

情報セキュリティの観点から、タイムススタンプを付与するときは、タイムスタンプが 有効期限内に偽造されない強度があることを確認しましょう。

リファクタリング

リファクタリングで行うこと

リファクタリングでは、汚いコードを綺麗に整理する。
やることは非常に単純で

  • 変数やメソッドの名前を分かりやすいものに変更する
  • 処理が重複している箇所を1箇所にまとめる
  • 肥大化したメソッドの内部から新しくメソッドを切り出す
  • 必要のない変数を削除する
  • レイヤを間違えたメソッドを適切なレイヤに移動する

等を行うだけである。

なぜリファクタリングが必要なのか

誰が読んでも分かりやすくするために尽きる。
リファクタリングにより、コードは読みやすくなる。
また、どこでどの処理が行われているかもすぐ分かる。
これにより、コードの保守性が向上する。
また、機能の追加も簡単に行うことが出来る。

Referer

GETメソッドで画面からの入力値を送信するとクエリストリングに入力値が格納される。
つまり、URLに入力値が表示されてしまう。
もし、RefererにこのURLが設定されてしまったら入力値が漏洩してしまう。

LDAP

Lightweight Directory Access Protocolのことを指す。ユーザー認証によく用いられる。

情報モデル

LDAPで扱う情報の最小単位はエントリである。このエントリは複数の属性を持ち、IDやパスワード等がこれにあたる。LDAPのアカウント情報はinetOrgPersonといったオブジェクトクラスが用いられ、スキーマによってテキスト形式で表すと以下のようになる。

cn: maitake
uid:0001
userPassword:abcABC123@#/