simotin13's message

simotin13といいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

2018-01-01から1年間の記事一覧

Ethernet2(DIX)のフレームについて

来年から仕事でお世話になるであろう方からネットワーク力についていろいろ質問されたけどネットワーク良く分かっていないので、勉強がてらCCNAの資格でも取ろうと思って真面目にネットワークについて勉強を始めることにしました。ネットワーク強い人に「ネ…

Cコンパイラ作成入門をarmで試してみる

久しぶりに記事を書きます。このところ数学とか電気回路の勉強ばかりで、仕事以外でコードを書いていないので気分転換にコードを書きたい欲が強くなっていたのですが、@rui314さんがCコンパイラ作成入門という面白そうな本を書かれているそうなので自分もC言…

Concolic Testってなんだ?

自分が常日頃考えている課題として「組込ソフトウェアのユニットテストを自動化できないか」という課題があるのですが、ここ数日テストの自動化に関する論文やオープンソースの情報を漁ったりして少しですがインプットがたまったので整理の為にアウトプット…

低レイヤプログラミングのためのRubyの拡張モジュール開発入門

この記事は、低レイヤのコードをRubyで書きたいという人のための拡張モジュール作成入門記事です。Rubyが好きでC言語がある程度分かる方には読んで頂けると参考になるかと思います。※ただし、私が真面目に拡張モジュールを書いていたのはもう5年以上前なので…

C言語でEthernetFrameをpcap形式でダンプしてみる。

ネットワークの勉強のためだいぶ前に買っていた「ルーター自作でわかるパケットの流れ」を読んでいます。ルーター自作でわかるパケットの流れ作者: 小俣 光之出版社/メーカー: 技術評論社発売日: 2011/07/09メディア: 単行本(ソフトカバー)購入: 4人 クリ…

マグネットペイントを使って木製ボードでタスク管理ができるようにしてみた

メモの付箋を貼ったりして使おうとだいぶ前に壁掛けの木製のボードを買っていたのですが、付箋紙が直ぐにはがれてしまい全然活用できていませんでした。最近嫁さんと話していると「マグネットペイント」なるものがあって、それを塗ると磁石がくっつくように…

ユダヤ式Why思考法を読んだ

ここ最近、ユダヤ人というものに興味があり時々ユダヤ人・ユダヤ教に関する本を読んでいるのですが、ユダヤ人に関する本の読書録を書けていなかったので書いておきたいと思います。 目次 目次 ユダヤ人のイメージ ユダヤ人に興味を持ったきっかけ 読んでみた…

数学素人が線形代数を学ぶときに読んでみてよかった書籍

今年から帝京大学の通信教育課程に入学して勉強しているのですが、線形代数の講義*1を受けるにあたって関連する本を何冊か読んでみました。せっかくなので、勉強していて躓いたときに助けになった本の紹介記事を書いておきたいと思います。*2 目次 目次 動機…

ARMの命令セットの条件指定について (2)

昨日の続き。mcommit.hatenadiary.comARMの命令では最上位4ビットで条件指定ができることがわかりましたがAL(無条件実行)以外の使い方がよく分かりませんでした。命令の実行条件を指定するというのはイメージ的には r0 = 1 if flag == true r0 += 2 のように…

ARMの命令セットの条件指定について

ARMの命令セット(v7)について調べていたので備忘録のためメモを残しておきます。■ARMv7のマニュアルhttps://www.macs.hw.ac.uk/~hwloidl/Courses/F28HS/Docu/DDI0406C_C_arm_architecture_reference_manual.pdfとりあえず命令セットのところを読んでみる。 …

スタックの状態を可視化するWebツールを書いてみた。

Webページ上でStackの状態を可視化するコードを書いてみました。stack viewerStackを可視化するツール自体に目新しい感じはしないのですが、Web上でこういうツールってありそうでなかったので作ってみました。 かなりざっくりしたものですが、よかったら使っ…

構文解析ハンズオン 関西出張版に参加させて頂きました

lang-impl.connpass.com参加させて頂きました。 目次 目次 良かった点 苦労した点 構文解析について思ったこと Rubyで式の構文解析をしてみた 書いてみて気づいたこと 再帰か状態遷移か 今後やってみたいこと パーサジェネレータを書く 関数型言語でパーサを…

Goでバイナリファイルを読み込んでHexダンプしてみた

Go

最近触り始めたGo言語で、勉強としてバイナリファイルを読み込んでHexダンプしてみました。 バイナリファイルといってもfile.Readを使った読み込みなのでバイナリかどうかはあまり関係ないかもしれない。 package main import ( "fmt" "os" ) func main() { …

レジスタの値を取得するx86のアセンブラ関数を書いてみた

前回書いたPINE64+の続きとして、とりあえずBROMの処理が終わった状態でCPUがどうなっているか知りたいのですが、難航しています。mcommit.hatenadiary.comBROMのコードのダンプを見た結果、コプロセッサの設定とかをしていることは分かりましたがどうも追い…

PINE64のBROMのコードをダンプして逆アセンブルしてみた。

Pine64の続き。 記事はさっきあげましたが、昨日(2/26)Lチカを試したのですが、書きかけになっていたので公開していませんでした。 スタックポインタの設定の件とかモヤモヤしたので今日はBROMのコードをダンプしてみました。 目次 目次 有力な手がかり ダン…

PINE64をベアメタルで遊んでみる。

随分前にPine64+ 2GBというボードを買っていたのですが積み基板になっていました。 ちょっとARMで遊びたくなったのでベアメタルからのLチカしてみました。 ソース とりあえずGithubで管理することにします。 github.com ツールチェインについて クロスコンパ…

小学1年生の娘にC言語を教えてみて気付いた、プログラミング教育を通して子供に伝えるべきたった1つの大切なこと

意識高そうなタイトルをつけてみましたが、単純に自分の子供にプログラミングを教えてみました。実際に教えてみると、子供にプログラミングを教えるという体験を通して逆に教えられたことがあったので書いておきたいと思います。 目次 目次 動機 教育方針 具…

gdbを使って386アセンブラの復習をする

結構前に買っていたセキュリティコンテストチャレンジブックという本を最近になって読んで、脆弱性のあるコードを動かしたりして遊んでいました。セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方-作者:碓井 利宣,竹迫 良範,廣…

TranscendのJDM820を買ってMacBookProのSSDを交換した

普段使っているMacBookPro(Late 2013)でS.M.A.R.Tエラーが出ていたため、タイトルの通り MacBookProで使えるSSDであるJDM820を買ってSSDを交換してみました。Transcend SSD Mac専用アップグレードキット PCle Gen 3.0 960GB 5年保証 JetDrive / TS960GJDM820…

LLVMのビルドについてまとめてみる

2018年早々、LLVMのビルドで消耗しておりました。 なんとなくlibToolingを使ってみようとしたらソースのビルドが必要そうな感じだったので始めたのですが、LLVMには複数のプロジェクトがあり、各プロジェクトの役割とかいまいちピンと来ておらず、ビルドにあ…