2018-11-01から1ヶ月間の記事一覧
リペアレンティング Linux/Unixでは親プロセスが死ぬと子プロセスは「孤児プロセス」として取り扱われる 孤児となってしまったプロセスは即座にinitプロセスの配下に紐付けられ生き続けることができる この動作をリペアレンティングと呼び、カーネルによって…
trapコマンド 実行中のプロセスに対して送出されたシグナルを補足し、予め指定していた処理を実行するコマンド 使い方としてはシェルスクリプト内部にtrap処理を記載し、実行中のシェルスクリプトに外部からシグナルを送信した際の動作を指定できる trap 'コ…
たまにしか使わないのでいつも迷います。。。 リダイレクト 標準入力・標準出力・標準エラー出力の向き先を変更する 1> で標準出力のリダイレクト、2>で標準エラー出力のリダイレクト 1>の1は省略可能 $ ls 存在しないファイル 2> test.txt $ cat test.txt l…
Reactを実行した。やはり手を動かさないとわかったという資格はない。 全てコマンドを打つだけで実行できるところに感激した。 「reacのアプリ」と「公開するwebページ」の差分がいまいち見えない。前者は後者の一部にすぎないのでは??? npmをインストー…
AWSのインスタンスの種類 オンデマンドインスタンス:従量課金・1時間単位で課金される リザーブドインスタンス:全て前払い・1年/3年単位・サーバ用途向け スポットインスタンス:入札形式・安いときはとにかく安い・安価になるけれど、利用するインスタン…
フロントエンドはそこまで深く踏み込む気はないが動作概要だけでも知っておくこと。 React.jsとは JavaScriptでの開発に用いられるUI用の汎用ライブラリ 比較対象として挙げられるBackbone.jsやAngular.jsとも併用できます。 SPA シングルページアプリケーシ…
フロントエンドにはそんなに踏み込む気はないが、簡単にでも手を動かす・動かさないで全然異なるため軽くでも触っておく。 まぁ確かに画面作るのにわざわざJava + Tomcatとかは面倒。。。 Node.jsの概要 JavaScriptで動作するサーバ環境(一般的にはWebサー…
Mavenプロジェクトを作成するとフォルダ構成やconfigファイルなどが自動で作成される。 Mavenとは 以下のように複数の機能を持つJavaのビルドツール。 プログラムのビルド:コンパイルからjar/warファイルの作成に関する全ての作業 -プログラムのテストと実…
コメントの書き方 ソースコードはロジックのみが記載されている。 「実装の内容」に関して記載するよりは(それは読めばわかる)、「なぜその処理を実装しているのか」という理由を書くこと 「実装の内容」を書く場合は個別のメソッドではなく、メソッド全体…
VPC概要 VPCはAWS上のユーザ毎のプライベートなネットワーク環境 VPCはリージョン単位で作成されるため、VPC作成時は最初にリージョンを選択する − VPCは同一リージョン内の複数AZをまたぐことが可能 VPCとインターネットの接続 VPCとインターネットを接続す…
リージョン→AZ(アベイラビリティゾーン) リージョン 2016年時点で全世界に13箇所のリージョンが存在 AZ 1つのリージョンには複数のAZが存在 同一リージョン内のAZをまたぐ場合はprivateIPアドレスを利用可能 AWSのサービス 各サービス毎に適用される範囲が…
ELB作成 ELB作成時にロードバランサインスタンスに対して固有のDNS名が割り当てられる(例:myLB-1234567890.us-east-1.elb.amazonaws.com) ロードバランサは一意のDNS名を1つもつ 独自のドメイン名でユーザにアクセスさせたい場合は、DNSにCNAMEを登録でき…
AWSのIPアドレスに関して。Route53は明日。 AWSのプライベートIPアドレス VPCのサブネット内に起動するEC2インスタンスは少なくとも1つのプライベートIPアドレスが割り当てられる EC2インスタンス内部からはプライベートIPアドレスしか確認できない AWSのグ…
DBの用語のシーケンス・インデックス・ビューに関して。こういうDB用語の理解が進むとだんだん自信がついてきて大変よろしい!! シーケンス シーケンスは連番となる一意な整数を生成するデータベースのオブジェクト 一般的にシーケンスは、ユーザIDや登録番…
プロセスの出力先 各プロセスの出力先はプロセス毎に個別に存在する 「/proc/PID/fd/数字」がファイルディスクリプタ 各プロセスの入出力は「/proc/PID/fd/数字」から確認ができる これを利用してバックグラウンドで実行しているプロセスの出力も確認可能 フ…
まだまだ経験不足。UMLだけで全てが完結するわけではない。他にどんなツールがあるのだろうか。。。 UML クラス全体の関係性が明瞭になるため、特定のクラスのみが肥大化するのを避けられる 一方個別のメソッドの内部処理が不明のため、特定のメソッドの内部…
論理削除と物理削除 論理削除はフラグを設定するだけで削除は行わない。削除後の復元可能。 物理削除は削除を行う。削除後の復元はできない。 2層コミット 複数DBの分散トランザクション処理を実現する方式 複数DB間のトランザクションを1つのトランザクショ…
プリミティブ型と参照型 プリミティブ型はObjectを継承していないが、参照型(オブジェクト型)はObjectを継承している プリミティブ型はすべて小文字で始まるが、参照型(オブジェクト型)はすべて大文字で始まる。 プリミティブ型は値しかもたないが、参照…
UMLで用いる用語の整理 最近ようやくクラス図の偉大さがわかってきた きちんと設計するって大切 関連・汎化・集約の大きく3パターンあることをまずは抑える 関連 線でつなぐ 矢印の場合は方向性あり(ヘッダファイルのインクルードなど一方方向) 汎化 よう…
長いので終わらなかった。続きはまた今度。 プロセステーブル(プロセス制御ブロック) Kernelがプロセスの状態を管理するデータ構造 プロセスの生成 あるプロセス上で別のプロセスを実行すると必ず親子関係が生じる CLIコマンドを実行すると端末(bash)が…
デザインパターンでは継承においてメソッドのIFが共通化されているのが大きい 逆にいうとメソッドのIFを共通化できない場合だと単に処理の共通化可能くらいしかメリットがない Compositeパターン フォルダ&ディレクトリのような再帰的構造に利用される 継承…
移譲 サブクラスが機能拡張する際に、サブクラス内でのオーバロードや新規メソッドの追加ではなく、引数として渡されたクラスを用いること。 早い話が丸投げ。 自分では手を動かさずに外からきた人にやってもらう。 メソッドとしては持っているが自分ではや…
ファイルシステムの役割 当然だが新しい物理的な記憶装置が出現するとそれに対応したファイルシステムを利用する必要がある。 端的にいうと物理的な記憶装置を抽象化したレイヤーを提供する ファイルへのインタフェースを提供(ファイルの命名・フォルダ/デ…
Stacktrace 例外のthrow箇所で文字列を引数に与えることで、スタックトレース時に例外の発生状況を確認できる。 if (Objects.isNull(nextState)) { throw new NextStateException("Current State is " + name + ". " + "Next Character is " + currentString…
すっごい基本だけどthrowとthrowsの違いがわからなかった。。。 Javaの例外 try/catch:自身の中で例外を処理する throw:例外を明示的に発生させる throws:発生した例外を呼び出し元に通知する サンプル 以下のようにcatch内で例外を発生させる場合もある…
例外処理は真剣に考えると凄く難しい(そして面白い)。 例外処理の目的 例外の回復 例外の通知 例外の回復 例えばDBのにアクセスできない場合にリトライするなど。 そもそも回復できるという保証はない。 その場合は呼び出し元に通知する。 例外の通知 呼び…