タグ

2017年2月9日のブックマーク (3件)

  • (釣り)むちゃくちゃな理由でJASRACを勝たせた判例ベスト10(前半)

    最近何かと話題のJASRACですが、ここで、JASRACを勝たせるために裁判所がむちゃくちゃな理由を述べている判例ベスト10を見てみましょう。 第10位 「ダンススクールに通ってる受講生は『公衆』にあたる」(名古屋地裁) 名古屋地方裁判所平成15年2月7日判決(「判例時報」1840号126頁) http://www.courts.go.jp/app/hanrei_jp/detail4?id=11324 最近よく知られるようになったダンス教室の判例。著作権法上、「公衆」に対する演奏でなければ権利行使ができない(22条)ことから、入会金を払い契約しているダンス教室の受講生が「公衆」と言えるのかが争点となった。 裁判所曰く、 「著作物の公衆に対する使用行為に当たるか否かは,著作物の種類・性質や利用態様を前提として,著作権者の権利を及ぼすことが社会通念上適切か否かという観点をも勘案して判断するのが

    zetamatta
    zetamatta 2017/02/09
  • x86 Linux上で sysenter 命令を使ってシステムコールを呼び出す方法

    x86(32bit)環境で、どのようにシステムコールが呼ばれているのかを調べてみました。 int 80h 昔からあるシステムコールの呼び方で、eax レジスタにシステムコールの番号をセットした後、ソフトウェア割り込みの int 80h をコールするとシステムコールが呼ばれます。これはどのバージョンの Linux でも使えます。ただし、ソフトウェア割り込みは遅いのが欠点です。 sysenter 最近のIntelのプロセッサはすべて sysenter というシステムコール専用の命令が用意されています。この命令は int 80h に比べるとかなりシンプルで、予め設定されたシステムコールハンドラのアドレスをCS:EIPとSS:ESPにセットして、特権モードに切り替えて実行を再開するのみです。詳しくは「64ビットCPU(AMD64+EM64T)でアセンブラ int 2E/sysenter/sysca

    zetamatta
    zetamatta 2017/02/09
    昨今の OS ではシステムコールにソフトウェア割り込みは使わない
  • ファイルシステムと、その上のGo言語の関数たち(2)

    Base()とDir()はSplit()を目的別に特化させたものです。 複数のパスからなる文字列を分解する filepath.SplitList()という名前の関数もあります。名前だけ見るとパスの分割に使えそうですが、これは別の用途の関数で、 環境変数の値などにある「複数のパスを1つのテキストにまとめたもの」を分解するのに使います。 たとえば、次のコードは、Unix系OSにあるwhichコマンドをGoで実装してみたものです。 PATH環境変数のパス一覧を取得してきて、それをfilepath.SplitList()で個々のパスに分割します。 その後、各パスの下に最初の引数で指定された実行ファイルがあるかどうかをチェックしています。 package main import ( "fmt" "os" "path/filepath" ) func main() { if len(os.Args)

    ファイルシステムと、その上のGo言語の関数たち(2)
    zetamatta
    zetamatta 2017/02/09