Engineering Note

プログラミングなどの技術的なメモ

Java入門 条件分岐

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaの条件分岐について学んでいきます。

Java入門 型変換

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaの型変換について学んでいきます。

Java入門 式と演算子

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaの式と演算子について学んでいきます。

Java入門 変数と型

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaの変数と型について学んでいきます。

Java入門 プログラムの書き方

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaプログラムの基本的な書き方について学…

Java入門 環境構築(JDKのインストール)

本記事は、Javaを一から学んでいく際の学習メモとして書かれています。 主にインプレスから出版されている「スッキリわかるJava入門 第2版 (スッキリシリーズ)」の内容に沿ったかたちで学習していきます。 今回は、Javaの学習環境を構築するため、コンパイラ…

Python x86エミュレータの作成(bios)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではIOポートの読み書きに使用されるin/out命令について学びました。 今回はBIOSの機能を使った文字出力について学んでいきます。

Python x86エミュレータの作成(in/out命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回 では条件分岐命令で使用されるeflagsの使い方について学びました。 今回はIOポートの読み書きに使用されるin/out命令について学んでいきます。

Python x86エミュレータの作成(eflags)

本記事はPythonで簡単なx86エミュレータを作成します。 前回 ではサブルーチンを呼び出す命令であるcall/retについて学びました。 今回は条件分岐命令で使用されるeflagsの使い方について学んでいきます。

Python x86エミュレータの作成(call/ret命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではModR/Mを実装し、オペランドを柔軟に指定する方法について学びました。 今回はサブルーチンを呼び出す命令であるcall/retについて学んできます。

Python x86エミュレータの作成(ModR/M)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではorg疑似命令によるプログラムの配置場所を指定するプログラムを作成しました。 今回はModR/Mを実装し、オペランドを柔軟に指定する方法について学んでいきます。

Python x86エミュレータの作成(org疑似命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回では簡単なオペコード(mov命令とjmp命令のみ)を読み込み、実行するプログラムを作成しました。 今回はorg疑似命令を実装し、プログラムの配置場所を調整する方法について学びます。

Python x86エミュレータの作成

本記事はPythonで簡単なx86エミュレータを作成します。 主にCPUが動作する仕組みを学ぶことを目的とし、オペコードはmov命令とjmp命令のみで、難しいところはすっ飛ばしてとりあえず動くものにしました。

Python シグナルによるプロセスの再起動

サーバシステムなどでは、設定ファイルの変更に伴う再起動にあたり、ハングアップシグナル(SIGHUP)を送り、execコマンドで上書きするというやり方がよく使われています。 今回はこの方法について学んでいきます。

Python プロセスのデーモン化

プロセスの中でも、バックグラウンドで動作し続けるものをデーモンと言います。 今回はデーモンプロセスの作成について学んでいきます。

Python シグナルAPIの操作

Pythonでは、signalモジュールによりUnixやLinuxで扱われるシグナルに纏わるAPIを利用することができます。 今回はsignalの基本的な使い方について学んでいきます。

Python プロセスAPIの操作(fork, exec, wait)

Pythonでは、osモジュールによりUnixやLinuxで扱われるプロセスに纏わるAPIを利用することができます。 今回はfork、exec、waitの基本的な使い方について学んでいきます。

クライアントプログラムの作成(Pythonによるネットワークプログラミング)

本記事は、Pythonによるネットワークプログラミングについての学習メモとなります。 参考書籍としてLinuxネットワークプログラミングバイブルを用い、同書の内容に沿ったかたちで、Pythonに書き直しをしていきます。 今回は、シンプルなクライアントプログラ…

サーバプログラムの作成(Pythonによるネットワークプログラミング)

本記事は、Pythonによるネットワークプログラミングについての学習メモとなります。 参考書籍としてLinuxネットワークプログラミングバイブルを用い、同書の内容に沿ったかたちで、Pythonに書き直しをしていきます。 今回は、シンプルなサーバプログラムの作…

Python ビット演算によるローテートシフト

Pythonでは、C言語のように2進数に対してビット演算をするためのビット演算子が用意されています。 今回はこのビット演算によるローテートシフトについて学んでいき、これを用いて簡単なハッシュ関数を作成していきます。

vsftpd 2.3.4 の脆弱性

本記事では、リモートからコマンドを実行することが可能となるvsftpd 2.3.4の脆弱性について学んでいきます。

ProcessMonitorによる簡易ハニーポットの構築

本記事では、Microsoft社のSysinternalsのツールであるProcessMonitorを使った、簡易ハニーポットを構築します。

Nmapによるネットワークスキャン

本記事では、有名なネットワークスキャンツールであるNmap(Network Mapper)によるWindows PCのスキャンを行います。 また、Windows標準のファイアウォール機能を有効にした場合と無効にした場合の違いについても確認してみます。

一目均衡表 (Pythonによるファイナンス)

本記事は、PythonのPandasを用いてファイナンスの基本的な理論などについて学んでいきます。 今回は、日本人によって発明されたテクニカル指標の一つである一目均衡表(Ichimoku Kinkō Hyō)について学んでいきます。

ローソク足チャート (Pythonによるファイナンス)

本記事は、PythonのPandasを用いてファイナンスの基本的な理論などについて学んでいきます。 今回は、江戸時代に日本で発明されたローソク足チャート(Candle Stick Chart)について学んでいきます。

ボリンジャーバンド (Pythonによるファイナンス)

本記事は、PythonのPandasを用いてファイナンスの基本的な理論などについて学んでいきます。 今回は、標準偏差や正規分布という統計学的な観点からトレンドを把握するボリンジャーバンド(Bollinger Bands)について学んでいきます。

ゴールデンクロスとデッドクロス (Pythonによるファイナンス)

本記事は、PythonのPandasを用いてファイナンスの基本的な理論などについて学んでいきます。 今回は、前回学んだ移動平均を利用したトレンドの見方としてゴールデンクロス(Golden Cross)とデッドクロス(Dead Cross)について学んでいきます。

移動平均 (Pythonによるファイナンス)

本記事は、PythonのPandasを用いてファイナンスの基本的な理論などについて学んでいきます。 今回は、テクニカル分析の分野で昔から広く利用されている移動平均(Moving Average)について学んでいきます。

ダイクストラ法 (Pythonによるアルゴリズムとデータ構造)

本記事は、ソフトバンクパブリッシングから発行されている「定本 Cプログラマのためのアルゴリズムとデータ構造 (SOFTBANK BOOKS)」を参考にPythonでアルゴリズムとデータ構造について学習していきます。 今回は、書籍には紹介されていませんが、ダイクスト…

minidlnaでプレイリストを作成する

本記事では、前回DenonのネットワークオーディオプレイヤーであるCeol N9で構築したDLNA環境を用いて、プレイリストを作成します。