技術日誌

DB,Java,セキュリティ,機械学習など。興味のあることを雑多に学ぶ

分散処理本第37回に参加

Distributed Computing: Principles, Algorithms, and Systems作者: Ajay D. Kshemkalyani,Mukesh Singhal出版社/メーカー: Cambridge University Press発売日: 2011/03/03メディア: ペーパーバックこの商品を含むブログを見る 本書の概要 CHAPTER 10 Deadlo…

Java読書会「現場で役立つシステム設計の原則」を読む会 第1回に参加

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログ (4件) を見る 本の概要 投票の結果こちらの本になりました。 ペース…

C言語で美咲フォントを扱う3

あまり進捗良くありませんが、とりあえずバイナリデータのどこにフォントがあるのか確認できるようになりました。 $ echo "犬" |nkf -s|hexdump 0000000 8c a2 0a まあこんな感じでSjisのコードを調べた後、そのデータの配列を作成し、 char test_letter[2] …

パタヘネのMIPS学習環境をMacOSのVagrant上に作成する2

目的のMIPSをクロスコンパイル、アセンブル、逆アセンブルする環境が整いました。 おまけに実行環境まで揃いました。 クロスコンパイル MIPSのソースを動かす gccでアセンブルせずにコンパイルだけする方法 アセンブル/逆アセンブル 手順は例の如く、この動…

パタヘネのMIPS学習環境をMacOSのVagrant上に作成する1

とりあえずこのビデオの通りに進めます www.youtube.com まずは64bitのdebianを入れる vagrant init debian/jessie64 sudo apt-getの入手先にMIPSのクロスコンパイルに対応したGCCがない /etc/apt/sources.listを書き換える必要がある 最終行に deb http://h…

vagrantを導入

RubyのDSL(VagrantFile)でVirtualBox,VMWareなどをお手軽にいじれちゃうツール的な印象です。 仮想マシンの設定 仮想マシンの状態管理 接続 共有ファイル Provision(自動初期設定) 自分でboxを作る方法 pluginのインストール プラグインのsaharaについて 気…

C言語で美咲フォントを扱う2

次回はコンソールに美咲フォントを出力して見たい お約束の品です? 00111100 01000010 00000010 00001100 00010000 00000000 00010000 00000000 0を抜くとなんの文字かわかりやすいかもしれません 1111 1 1 1 11 1 1 前回記事のヘッダの解説が若干不足してい…

デスクトップ周りのケーブルは全て巻き取り式 or 短いものに買い替えた

絡まった配線を解く作業は時間の無駄だけでなく、精神を蝕むストレスの原因になっているとおもう。 そんな作業はもうやりたくないのでテーブルの上の配線類は全て短いケーブルか巻き取り式のものに変えた。 USB type-C これめちゃくちゃ便利です。Type-Cの端…

C言語ポインタ勉強会に参加

オンラインで開催。 atnd.org 少人数制で東工大の先生(uchan_nos)がポインタについてわかりやすく教えてくれるという贅沢な1.5Hでした typedefでやると関数ポインタがわかりやすくなる メモリレイアウト 質問:char配列とcharポインタを文字列リテラルで初期…

C言語で美咲フォントを扱う1

とりあえずfontx2ファイルを読み込んでヘッダだけ表示してみた。 https://github.com/yuyabu/MisakiFont-sandbox >./font hdader size is 22 filesignature is FONTX fontname is MISAKI width is 8 hight is 8 char code flg is 1 blocks is 5c start_code …

平成最後の夏休みTODO

毎年例年ダラダラするだけなので、目標でも立ててみる 興味のある読書会に追いつく Effective SQL読書会に追いつく 何ページくらいまで読んでるのかな?とりあえず50Pくらいまで読めばいいか。 横浜GO読書会に追いつく(Goならわかるシステムプログラミングp2…

第13回osdev-jpもくもく会に参加してLTしました

非常に有意義な1日でした。 LT 解消された疑問 CRレジスタのPEフラグが立った状態でセグメントレジスタ(CS)が0を指している状態はどういう意味か? Haribote OSをCやnasmの情報付きでデバッグすることはできるか? もくもく会の感想 もくもく Web版のmipsお…

486のセグメントデスクリプタが直感的に読めないようになっている理由

OS

486のセグメントデスクリプタは... 63 55 47 39 31 23 15 7 0 +--------+----+----+--------+--------+--------+--------+--------+--------+ |base_hi |ar |l_hi| ar |base_mid| base_low | limit_low | +--------+----+----+--------+--------+--------+--…

objdumpによる逆アセンブルとgdbの命令形式表示の比較

02_day/helloos5で比較しています。 このOS(というかプログラム)はブートセクタの中でhello worldを画面に出力するだけのものになります。 元のソース(アセンブリ) ; hello-os ; TAB=4 ORG 0x7c00 ; このプログラムがどこに読み込まれるのか ; 以下は標準…

「Linuxの仕組み」を読んだ

推測するな計測せよ!な一冊。 [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識作者: 武内覚出版社/メーカー: 技術評論社発売日: 2018/02/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 技術評論社のepubを…

AS400やRPG言語等で利用されているEBCDICコード順ソートをJavaで実現する方法

某所でちょっと話題になったので、ASCIIのスーパーセットになっていない文字コードをソートする方法を紹介します ASCII - Wikipedia asciiでは文字は 数字->英語大文字、英語小文字 の順で並んでいますが、最近普通に使われている文字コードも大体はASCIIコ…

「はじめて学ぶCの仕組み2」を読んだ

大体1週間程度で読み終わりました。 プログラミング学習シリーズ C言語改訂版 2 はじめて学ぶCの仕組み作者: 倉薫出版社/メーカー: 翔泳社発売日: 2009/02/13メディア: 大型本購入: 2人 クリック: 6回この商品を含むブログ (3件) を見る この本を読み始めた…

GDBのコマンド出力をファイルに保存する方法

GDB

GDBで実行しているPGのファイルの出力は、リダイレクトなどを 使って簡単にファイルに保存することが可能です。 例えば"helloworld"をただ出力するだけのプログラム の出力結果,"helloworld"という文字列をファイルに保存するのは簡単です。 しかし、GDBのコ…

GDBのコマンド

GDBの動かし方について。 オンラインで試せるGDBがあったので遊び倒して見た。 GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++ よく使う(使った)コマンドなどをまとめた。 シンボルファイル関連は後日やりたい。 コマンド 省略…

QEMUにGDBを繋げてhariboteOSをデバッグする方法

QEMUにGDBを繋げてhariboteOSを調査したいと思います。 とりあえず初期設定っぽいことはできました。 主に観測したい事 ブレイクポイントを適当に設定して以下のものを観測したい IPLの動作でフロッピーの内容がメモリにロードされる様子 リアルモード・プロ…

C言語復習ラスト。ライブラリについて

ライブラリは今までよく知らなかったので、復習ではない気がする。 ライブラリとは プリプロセッサ.c -> .c コンパイラ.c -> .o リンカ.o -> exe このプロセスの中の .oファイルをまとめてライブラリを作ることができる $ ar -r mylib.a a.o b.o ar: creatin…

C言語復習その6。プリプロセッサ、リンカについて

本書ラストのライブラリまで行けると思ったが、時間がなくなった。 もっと有意義に3連休を過ごせなかったのだろうか。(反省) プログラミング学習シリーズ C言語改訂版 2 はじめて学ぶCの仕組み作者: 倉薫出版社/メーカー: 翔泳社発売日: 2009/02/13メディア…

C言語の復習その6メモリについて

メモリ管理について学びました。malloc,free,reallocなど コンパイルするときに、知識不足によるコンパイルエラーがかなり減りました。*1 またコンパイルエラー時に、何が間違っているかすぐわかるようになり、なぜ動いているのか・動かないのかわからないと…

C言語の復習その5。関数ポインタについて

関数ポインタは「宣言方法」と「引数、返値があっていない適当に実装されたコードを読む」のがややこしいが、綺麗に書けばそこまで難解ではない。という認識です。 関数ポインタについて 引数や戻り値は暗黙の型変換が絡んで来るとややこしい 関数ポインタの…

C言語の復習その4。enum,3項演算子,goto,関数

関数ポインタをちょっと読み込んだくらい進みましたが、 関数ポインタは難しそうなので、それで一つ記事を書きます。 というわけでキリが良いので投稿♪ enum コメントの指摘 3項演算子 GOTO 関数 enum enumのメンバは本来値を持たない。(持つべきではない) …

プログラマのためのSQL 読書会(22)に参加

26.7から27.1.3まで読みました。 p478の複雑なクエリの解説 基底テーブル --▼P.476 CREATE TABLE AnnualSales1 (salesman CHAR(15) NOT NULL PRIMARY KEY, jan DECIMAL(5,2), feb DECIMAL(5,2), mar DECIMAL(5,2), apr DECIMAL(5,2), may DECIMAL(5,2), jun …

C言語復習その3構造体、共用体について

構造体と共用体について学びました。 構造体のサイズについて コンパイラが勝手にサイズを偶数長になるように変更する ワードアライメント 構造体の正確なサイズはわからない。 sizeof演算子で大きさを求めるべき。 実際の現場でもsizeof演算子で大きさを求…

C言語の復習その2ポインタ

各型に対するポインタ変数の型がある どのかたのポインタも同じサイズ(私の環境では8バイト) 構造体のポインタ型もある ポインタ変数型のポインタもある char c = 'c'; char* pc = &c; char **ppc = &pc; printf("-------------------\n"); printf("c value …

C言語の復習を始めました。

こんにちは。大学の1年目のC言語の授業で予約語と非予約語の違いが判らずに 1週間くらい変数には何でもwight,hightを付けていた不届きものです。 最近C言語を再勉強することにしました。 一応大学ではC言語を一番書いていましたが、 C言語そのものの知識と…

30日OS自作本を読み終えた

OS

まぁほとんど著者のコードをなぞっているだけで、 施した改造も少なく、「OSを自作した」なんて口が裂けても言えませんが、 シンプルなコードが動いていく動作を本書や類書の解説とともに追いかけることで 自身の技術力、知見がかなり高まったように思えます…