Enviar pesquisa
Carregar
SWIGでRubyバインディング
•
6 gostaram
•
2,983 visualizações
Yukimitsu Izawa
Seguir
Kanazawa.rb #4 LT資料
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 19
Recomendados
20120824 PHP+MySQL勉強会LT
20120824 PHP+MySQL勉強会LT
Koichiro Nishijima
My sqlで2億件のシリアルデータと格闘した話
My sqlで2億件のシリアルデータと格闘した話
saiken3110
はじめてのRuby拡張ライブラリ
はじめてのRuby拡張ライブラリ
Masahiro Tomita
Washington, D.C. and Social and Behavioral Science: The Picture for 2016
Washington, D.C. and Social and Behavioral Science: The Picture for 2016
SAGE Publishing
Mrb asst surgeon_speciality_detailed_notification 2015
Mrb asst surgeon_speciality_detailed_notification 2015
Raja Kashyap
Het Fenomeen Dalrymple
Het Fenomeen Dalrymple
Bramme
Sopa --de--letras
Sopa --de--letras
verooniikaa
GRAPHIC SHELTER FROM 5 TO 8 ARCH HOTEL 2017
GRAPHIC SHELTER FROM 5 TO 8 ARCH HOTEL 2017
Fabrice CLAMAGIRAND
Recomendados
20120824 PHP+MySQL勉強会LT
20120824 PHP+MySQL勉強会LT
Koichiro Nishijima
My sqlで2億件のシリアルデータと格闘した話
My sqlで2億件のシリアルデータと格闘した話
saiken3110
はじめてのRuby拡張ライブラリ
はじめてのRuby拡張ライブラリ
Masahiro Tomita
Washington, D.C. and Social and Behavioral Science: The Picture for 2016
Washington, D.C. and Social and Behavioral Science: The Picture for 2016
SAGE Publishing
Mrb asst surgeon_speciality_detailed_notification 2015
Mrb asst surgeon_speciality_detailed_notification 2015
Raja Kashyap
Het Fenomeen Dalrymple
Het Fenomeen Dalrymple
Bramme
Sopa --de--letras
Sopa --de--letras
verooniikaa
GRAPHIC SHELTER FROM 5 TO 8 ARCH HOTEL 2017
GRAPHIC SHELTER FROM 5 TO 8 ARCH HOTEL 2017
Fabrice CLAMAGIRAND
MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出
JAVA DM
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
Avansa Mid- en Zuidwest
Dr. Douglas Marthaler - Rotavirus Epidemiology
Dr. Douglas Marthaler - Rotavirus Epidemiology
John Blue
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
asakahara
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Dr. John V. Padua
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Fernando Palma
Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介
khisano
Impulse and momentum(physics)
Impulse and momentum(physics)
Nikol Cervas
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
rvm でbundlerと仲良くする
rvm でbundlerと仲良くする
Yukimitsu Izawa
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei Noda
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
ConoHa, GMO INTERNET
JUC2012
JUC2012
Kiyotaka Oku
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
Shin Takeuchi
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
IIJ
Seminar report (Building a Linux server and AWS SDK for Ruby)
Seminar report (Building a Linux server and AWS SDK for Ruby)
Tamotsu Furuya
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
Javascript で暗号化
Javascript で暗号化
suno88
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Tatsuhiko Kubo
Mais conteúdo relacionado
Destaque
MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出
JAVA DM
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
Avansa Mid- en Zuidwest
Dr. Douglas Marthaler - Rotavirus Epidemiology
Dr. Douglas Marthaler - Rotavirus Epidemiology
John Blue
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
asakahara
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Dr. John V. Padua
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Fernando Palma
Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介
khisano
Impulse and momentum(physics)
Impulse and momentum(physics)
Nikol Cervas
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
Destaque
(10)
MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
DigiPinguïns: van startknop naar desktop - UEFI, GRUB & systemd (Koen Wybo)
Dr. Douglas Marthaler - Rotavirus Epidemiology
Dr. Douglas Marthaler - Rotavirus Epidemiology
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Chapter 3 Financial Instruments Financial Markets and Financial Institutions
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介
Impulse and momentum(physics)
Impulse and momentum(physics)
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
Semelhante a SWIGでRubyバインディング
rvm でbundlerと仲良くする
rvm でbundlerと仲良くする
Yukimitsu Izawa
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei Noda
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
ConoHa, GMO INTERNET
JUC2012
JUC2012
Kiyotaka Oku
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
Shin Takeuchi
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
IIJ
Seminar report (Building a Linux server and AWS SDK for Ruby)
Seminar report (Building a Linux server and AWS SDK for Ruby)
Tamotsu Furuya
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
Javascript で暗号化
Javascript で暗号化
suno88
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Tatsuhiko Kubo
Hyper → Highspeed → Development
Hyper → Highspeed → Development
aktsk
Sugarcubeをはじめよう
Sugarcubeをはじめよう
Eihiro Saishu
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
Masahito Zembutsu
Code Anything
Code Anything
Yoshitaka Kawashima
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
Corona Handson #0
Corona Handson #0
Tetsuo Ono
2分でパッケージを作ってインストールする
2分でパッケージを作ってインストールする
TokorosawaYoshio
Semelhante a SWIGでRubyバインディング
(20)
rvm でbundlerと仲良くする
rvm でbundlerと仲良くする
らくちん Go言語
らくちん Go言語
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
JUC2012
JUC2012
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
Aiming study#6pdf
Aiming study#6pdf
ioMemoryとAtomic Writeによるデータベース高速化
ioMemoryとAtomic Writeによるデータベース高速化
Seminar report (Building a Linux server and AWS SDK for Ruby)
Seminar report (Building a Linux server and AWS SDK for Ruby)
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Javascript で暗号化
Javascript で暗号化
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Hyper → Highspeed → Development
Hyper → Highspeed → Development
Sugarcubeをはじめよう
Sugarcubeをはじめよう
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
Code Anything
Code Anything
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Corona Handson #0
Corona Handson #0
2分でパッケージを作ってインストールする
2分でパッケージを作ってインストールする
Mais de Yukimitsu Izawa
IoTタグで遊んでみよう
IoTタグで遊んでみよう
Yukimitsu Izawa
docxをmdで書こう
docxをmdで書こう
Yukimitsu Izawa
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
Yukimitsu Izawa
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をする
Yukimitsu Izawa
Rubyでオートマトン
Rubyでオートマトン
Yukimitsu Izawa
Ghissuesのご紹介
Ghissuesのご紹介
Yukimitsu Izawa
Log-modeのご紹介
Log-modeのご紹介
Yukimitsu Izawa
Octopress簡単スタートガイド
Octopress簡単スタートガイド
Yukimitsu Izawa
RubyからFFIを使ってみた
RubyからFFIを使ってみた
Yukimitsu Izawa
NTPを使ったDDoSについて
NTPを使ったDDoSについて
Yukimitsu Izawa
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Yukimitsu Izawa
テストとは
テストとは
Yukimitsu Izawa
RubyでDSL
RubyでDSL
Yukimitsu Izawa
Pow
Pow
Yukimitsu Izawa
RVM with Server Environment
RVM with Server Environment
Yukimitsu Izawa
Try
Try
Yukimitsu Izawa
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
Yukimitsu Izawa
Mais de Yukimitsu Izawa
(17)
IoTタグで遊んでみよう
IoTタグで遊んでみよう
docxをmdで書こう
docxをmdで書こう
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をする
Rubyでオートマトン
Rubyでオートマトン
Ghissuesのご紹介
Ghissuesのご紹介
Log-modeのご紹介
Log-modeのご紹介
Octopress簡単スタートガイド
Octopress簡単スタートガイド
RubyからFFIを使ってみた
RubyからFFIを使ってみた
NTPを使ったDDoSについて
NTPを使ったDDoSについて
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
テストとは
テストとは
RubyでDSL
RubyでDSL
Pow
Pow
RVM with Server Environment
RVM with Server Environment
Try
Try
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
Último
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Último
(8)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
SWIGでRubyバインディング
1.
SWIG で rubyバインディング
Kanazawa.rb #4 LT 資料 井澤 ゆきみつ 「安心・安全・安定・信頼」できるインターネットサービスを 12年12月2日日曜日
2.
rubyバインディング
• 特定のライブラリをrubyから使えるよう にすること。 • OpenCVもQtもなんでもかんでもrubyか ら使えるよね。 • 気になるライブラリがあるのに、rubyの gemが無いみたい…。 「安心・安全・安定・信頼」できるインターネットサービスを 2 12年12月2日日曜日
3.
rubyバインディング
• 特定のライブラリをrubyから使えるよう にすること。 • OpenCVもQtもなんでもかんでもrubyか ら使えるよね。 • 気になるライブラリがあるのに、rubyの gemが無いみたい…。 そんな時は、SWIG で作っちゃおう!! 「安心・安全・安定・信頼」できるインターネットサービスを 2 12年12月2日日曜日
4.
SWIGってなに?
• Simplified Wrapper and Interface Generator • http://www.swig.org/ • 最新版は、2.0.8 • 対応⾔言語: C#,Java,Perl,PHP,Python,Ruby,Tclなど • brew install swig でインスコできます。 「安心・安全・安定・信頼」できるインターネットサービスを 3 12年12月2日日曜日
5.
試しに使ってみましょう。
• libpuzzleをruby から使えるようにしてみ ます。 「安心・安全・安定・信頼」できるインターネットサービスを 4 12年12月2日日曜日
6.
libpuzzleとは?
• 画像の類似度度を計算するライブラリ • http://www.pureftpd.org/project/ libpuzzle 「安心・安全・安定・信頼」できるインターネットサービスを 5 12年12月2日日曜日
7.
libpuzzleとは? (2)
• ライブラリの最新版は、0.11 • brew install libpuzzleでインスコできま す。 • /usr/local/include/puzzle.h • /usr/local/lib/libpuzzle.{a,so,dyld} 「安心・安全・安定・信頼」できるインターネットサービスを 6 12年12月2日日曜日
8.
puzzle.i ファイルを作成する
• ライブラリの関数をメソッドに変換するた めの情報を記述する。 %module puzzle %{ #include "/usr/local/include/puzzle.h" %} %include /usr/local/include/puzzle.h 「安心・安全・安定・信頼」できるインターネットサービスを 7 12年12月2日日曜日
9.
SWIGを実行する
• swigコマンドを実⾏行行して、ライブラリ・ ラッパー⽤用のソースを⽣生成する。 % swig -‐‑‒ruby puzzle.i →puzzle_̲wrap.c が⽣生成される。 「安心・安全・安定・信頼」できるインターネットサービスを 8 12年12月2日日曜日
10.
extconf.rb ファイルを作成する
• そのマシンのruby ⽤用のMakefileを作るた め。 require "mkmf" $CFLAGS += " -‐‑‒Wall " $LOCAL_̲LIBS += " -‐‑‒lpuzzle " create_̲makefile("puzzle") 「安心・安全・安定・信頼」できるインターネットサービスを 9 12年12月2日日曜日
11.
Makefileを生成する
• ruby で extconf.rb を実⾏行行して Makefile を⽣生成する。 % ruby extconf.rb →Makefile が⽣生成される。 「安心・安全・安定・信頼」できるインターネットサービスを 10 12年12月2日日曜日
12.
ラッパー・ライブラリを生成する
• make を実⾏行行してコンパイルする。 % make →puzzle.bundleが⽣生成される。 % make install →puzzle.bundleがruby のsite_̲rubyの下に インスコされる。 「安心・安全・安定・信頼」できるインターネットサービスを 11 12年12月2日日曜日
13.
実験:二つの画像の類似度を測ってみる
• lena画像を⼆二つ⽤用意する lena-256x256.jpg lena-inpaint.jpg 「安心・安全・安定・信頼」できるインターネットサービスを 12 12年12月2日日曜日
14.
まずはC言語でライブラリを使ってみる #include <puzzle.h>
int main(int argc, char *argv[]) { PuzzleContext context; PuzzleCvec cvec1, cvec2; double d; puzzle_̲init_̲context(&context); puzzle_̲init_̲cvec(&context, &cvec1); puzzle_̲init_̲cvec(&context, &cvec2); puzzle_̲fill_̲cvec_̲from_̲file(&context, &cvec1, "lena-‐‑‒256x256.jpg"); puzzle_̲fill_̲cvec_̲from_̲file(&context, &cvec2, "lena-‐‑‒inpaint.jpg"); d = puzzle_̲vector_̲normalized_̲distance(&context, &cvec1, &cvec2, 1); printf("%fn", d); return 0; 「安心・安全・安定・信頼」できるインターネットサービスを 13 } 12年12月2日日曜日
15.
まずはC言語でライブラリを使ってみる (2)
• コンパイルして実⾏行行する。 % gcc -‐‑‒I/usr/local/include -‐‑‒L/usr/local/lib test.c -‐‑‒o puzzle -‐‑‒lpuzzle % ./puzzle 0.379903 「安心・安全・安定・信頼」できるインターネットサービスを 14 12年12月2日日曜日
16.
同じコードをRubyで書いてみる require
'puzzle' context = Puzzle::PuzzleContext.new cvec1 = Puzzle::PuzzleCvec.new cvec2 = Puzzle::PuzzleCvec.new Puzzle::puzzle_̲init_̲context(context) Puzzle::puzzle_̲init_̲cvec(context, cvec1) Puzzle::puzzle_̲init_̲cvec(context, cvec2) Puzzle::puzzle_̲fill_̲cvec_̲from_̲file(context, cvec1, "lena-‐‑‒256x256.jpg") Puzzle::puzzle_̲fill_̲cvec_̲from_̲file(context, cvec2, "lena-‐‑‒inpaint.jpg") d = Puzzle::puzzle_̲vector_̲normalized_̲distance(context, cvec1, cvec2, 1) puts d.to_̲s 「安心・安全・安定・信頼」できるインターネットサービスを 15 12年12月2日日曜日
17.
同じコードをRubyで書いてみる (2)
• 実⾏行行する。 % ruby test.rb 0.3799032317485305 「安心・安全・安定・信頼」できるインターネットサービスを 16 12年12月2日日曜日
18.
同じコードをRubyで書いてみる (2)
• 実⾏行行する。 % ruby test.rb 0.3799032317485305 Ruby から libpuzzle を使えるようになった!! 「安心・安全・安定・信頼」できるインターネットサービスを 16 12年12月2日日曜日
19.
•
Thank You! • If you have any comments, • please send to: • Mail: izawa@izawa.org / izawa@clwit.co.jp • Twitter: @Yukimitsu_̲Izawa 「安心・安全・安定・信頼」できるインターネットサービスを 17 12年12月2日日曜日