タグ

binaryに関するtyruのブックマーク (5)

  • Storing Images in DB - Yea or Nay?

    2024 Developer survey is here and we would like to hear from you! Take the 2024 Developer Survey

    Storing Images in DB - Yea or Nay?
  • バイナリファイルの差分を作るzdeltaが便利 - kanblr

    去年のネタになってしまうんですが、ある程度でかく、かつ都度更新され続けるファイルの転送量を削減したいなーということになって、ちょっとずつ更新されてるなら実は差分は小さいんじゃね?ということで、バイナリのdiffをとって転送先でpatchをあてる、みたいなことが出来ないかなーと調べてました。 バイナリ差分生成系で一番ポピュラーなのはxdeltaのようで実際yumやaptで簡単に入れられるし、プロジェクトとしても更新が続いててドキュメントも揃っててなかなか良さげ。一方で bsdiffとxdeltaを比較してみた という記事で紹介されている bsdiff というのもあって、Google Chromeのアップデートとかでも使われたりしている模様(chromeの差分アップデートでは更に逆アセンブルした結果を差分アップデートしたりとか変態的なことやってるようですが)。 比較してみると、確かに bsdi

    バイナリファイルの差分を作るzdeltaが便利 - kanblr
  • Vimでバイナリ編集が出来るプラグインvinarise - Ideals and Reality

    Vimでバイナリ編集をする際にはxxdコマンドを使ってバイナリ表示をさせることになると思いますが、それは単体ではとても使いにくいもので、決して常用出来るものではないと思います。 しかし、現在のVimには直接バイナリが編集出来るプラグイン、vinariseがあります。 github : vinarise vinariseは現在最低限のバイナリ編集機能しかありませんが、xxdコマンドを使うよりも非常に使い勝手が良いです。 今回最先端のVim上で使用出来るバイナリエディタとしてvinariseを紹介したいと思います。 使用時の最低要件 vinariseを使用するには、vinariseのプラグイン自体は当然必要ですが、Pythonインタフェースが必要になります。 Pythonインタフェースについては以下を参考にしてください。 Hack #132: Pythonインタフェースを使う(1) あとはvi

    Vimでバイナリ編集が出来るプラグインvinarise - Ideals and Reality
  • 古のテクニックを見せようと思ったら最近の技術の前にあっさり敗北した話

    オブジェクトについて抽象から具象まで取り混ぜて説明していた時、最も具象なレベルで見れば、オブジェクトはメモリ上に確保した領域にすぎないと説明しました。 そんな説明をしていた時、メソッドの実体ってどこにどうあるのですかと質問を受けました。人の心はどこにどうあるのですかという質問に比べると緩い質問ですが、良い質問だと思いました。こういう疑問を持つのは大事だと思うからです。自分もかつてプログラムとは結局のところどう実行されるのかが気になりました。プログラマなら誰もが通る道だと思います。 そんなわけでJavaのような箱入り娘から離れて、デレのないツンデレ娘ことC言語で古のテクニックを見せることにしました。 とりあえず次の簡単なコードから始めます。C言語は知らなくても構いません。関数fnがあって、引数に2を加算して返すことだけを読み取ってください。 #include <stdio.h>

    tyru
    tyru 2011/11/15
    NX bit
  • Javaのhello worldの読み方 | mwSoft

    前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e

  • 1