SlideShare a Scribd company logo
Mac  OSにおけるShellコマンドの活⽤用
2014  Xojo  東京勉強会  (1/25)
野⽥田  純⽣生(  junnama@alfasado.jp  )

14年1月26日日曜日
About  @junnama
• 野⽥田  純⽣生  (  a.k.a.  junnama  )
• アルファサード株式会社  代表(Web系)
• Movable  Type  エバンジェリスト
• Perl,  PHP,  JavaScript...
14年1月26日日曜日
XojoとYシャツと私

14年1月26日日曜日
14年1月26日日曜日
Xojo(個⼈人の感想です)
• 情報がない、⽇日本語マニュアルどこ?
• 出る出る詐欺
• バギー、落落ち着くまで気⻑⾧長に
• ⽇日本語まわりとか
14年1月26日日曜日
Xojo(個⼈人の感想です)
• 7割くらいまではすぐ作れる、でも
• ちょっと凝ったことするには
• Declare  使いまくり
• Plugin  買いまくり
14年1月26日日曜日
本⽇日のお題

Mac  OSにおけるShellコマンドの活⽤用

14年1月26日日曜日
Mac  OS  =  Unix

14年1月26日日曜日
Dim Sh As New Shell
Sh.Execute( "ls" )
MsgBox( Sh.ReadAll )

14年1月26日日曜日
http://junnama.alfasado.net/online/2013/12/mac_os_x.html

14年1月26日日曜日
screencapture

14年1月26日日曜日
screencapture
screencapture foo.png
screencapture -R 117,226,100,100
screencapture -t pdf foo.pdf

14年1月26日日曜日
14年1月26日日曜日
screencapture  +  Xojo
• 現在の座標の周辺のキャプチャを取得
• Canvas  に表⽰示
• 中央の⾊色(Color)を取得
• ⾊色名に変換して表⽰示する
14年1月26日日曜日
say

14年1月26日日曜日
14年1月26日日曜日
say
say Hello World

14年1月26日日曜日
14年1月26日日曜日
mdfind

14年1月26日日曜日
mdfind
mdfind -onlyin /Applications/
'kMDItemContentTypeTree=="com.appl
e.application"

14年1月26日日曜日
mdfind  +  Xojo
• リストボックスからドラッグされた時
• ⼀一意の名前のファイルをテンポラリに
• ファイルを不不可視にしてドラッグ
• タイマーを⾛走らせる
• mdfindでドロップされた場所を得る
14年1月26日日曜日
14年1月26日日曜日
mdfind
Dim d As Date = New Date
Dim hex As String
Dim bytes As String
bytes = MD5( Str( round( rnd * 3000 ) + 1 ) )
Dim hex As String = EncodeHex( bytes )
F = F.Child( "dragitem-" + hex +"-"
F = F + Format( d.TotalSeconds, "#") + ".abcd" )
FS = BinaryStream.Create( F, true )
FS.close
F.visible = False
Dim di As DragItem
DraggingItem = F.Name

14年1月26日日曜日
mdfind
di = New DragItem
(self,System.MouseX,System.MouseY-Main.Top,64, 64)
di.FolderItem = F
di.Drag
WatchFile.Mode = Timer.ModeMultiple
Return False
Dim Command As String = "mdfind -name " +
DraggingItem
Dim Sh As New Shell
Sh.Execute( Command )
Dim Res As String = Sh.ReadAll
if Res <> "" Then
F = GetFolderItem( Res )
...
14年1月26日日曜日
qlmanage

14年1月26日日曜日
qlmanage

qlmanage -p foo.png

14年1月26日日曜日
qlmanage  +  Xojo
• リストボックスで項⽬目を選択
• スペースキー押下でテンポラリフォル
ダにファイルをダウンロード

• クイックルックを表⽰示
14年1月26日日曜日
14年1月26日日曜日
さて、Perl

14年1月26日日曜日
Mac  OS  =  Unix

14年1月26日日曜日
Perl,  PHP,  Ruby,  Python...

14年1月26日日曜日
14年1月26日日曜日
my $StorageClient = Net::Azure::StorageClient->new(
type => 'Blob',
account_name => $you_account_name,
primary_access_key => $your_primary_access_key,
protocol => 'https',
api_version => '2012-02-12' );
my $res = $StorageClient->get( $url );
print $res->content;

14年1月26日日曜日
use strict;
use lib qw( lib );
use Getopt::Long qw/:config posix_default
no_ignore_case bundling auto_help/;
...

14年1月26日日曜日
GetOptions(my %options, qw/
account=s
accesskey=s
path=s
action=s
acl=s
file=s
get_all=i
thread=i
metadata=s
pass=s
proc=s
/);

14年1月26日日曜日
cd path/to/app; perl app.pl --action=get --path https://foo

14年1月26日日曜日
Application  =  Folder

14年1月26日日曜日
14年1月26日日曜日
14年1月26日日曜日
Dim AppName As String = CurrentBuildAppName
AppName = ReplaceAll( AppName, " ", " " )
Dim AppPath As String
AppPath = CurrentBuildLocation + "/"
+ AppName + ".app"
Dim Command As String
command = "cp /path/to/src.zip "
+ AppPath + "/Contents/MacOS/src.zip"
Call DoShellCommand( Command )
command = "cd " + AppPath
+ "/Contents/MacOS; unzip src.zip"
Call DoShellCommand( Command )
command = "cd " + AppPath + "/Contents/MacOS; rm src.zip"
Call DoShellCommand( Command )

14年1月26日日曜日
cd path/to/app;

14年1月26日日曜日
Dim App as new application
Dim MyApp As FolderItem
MyApp = App.ExecutableFile
Dim Name As String = MyApp.Name + ".app"
MyApp = GetFolderItem( MyApp.NativePath,3 ).Parent
Dim CMD As String = “cd ” + MyApp.ShellPath + “;”
CMD = CMD + “perl src/app.pl --account ”
CMD = CMD + EscapeShell ( Account )
CMD = CMD + “ --token ” + EscapeShell( Token )
CMS = CMD + “ --action put --path ” + EscapeShell( Path )
CMS = CMD + “ --file ” + EscapeShell( File.ShellPath )

14年1月26日日曜日
cd path/to/MyApp/Contents/MacOS;
perl ./app.pl --action=get --path https://foo.blob....

14年1月26日日曜日

More Related Content

Similar to Mac OSにおけるShellコマンドの活⽤用 (Xojo 勉強会)

#31 愛しのst2
#31 愛しのst2#31 愛しのst2
#31 愛しのst2
森下 智裕
 
徹底攻略!PHP5.4
徹底攻略!PHP5.4徹底攻略!PHP5.4
徹底攻略!PHP5.4
Takuya Sato
 
Laravel4 Happy Hacking
Laravel4 Happy HackingLaravel4 Happy Hacking
Laravel4 Happy Hacking
Takashi Ohida
 
魔法少女 Laravel
魔法少女 Laravel魔法少女 Laravel
魔法少女 Laravel
Kenichi Mukai
 
日常業務にperlを使おう
 日常業務にperlを使おう 日常業務にperlを使おう
日常業務にperlを使おう
turugina
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
 
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkMovable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkYuji Takayama
 
capistrano-colorized-stream
capistrano-colorized-streamcapistrano-colorized-stream
capistrano-colorized-streamNaotoshi Seo
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)hiboma
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar
 
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
 

Similar to Mac OSにおけるShellコマンドの活⽤用 (Xojo 勉強会) (12)

#31 愛しのst2
#31 愛しのst2#31 愛しのst2
#31 愛しのst2
 
徹底攻略!PHP5.4
徹底攻略!PHP5.4徹底攻略!PHP5.4
徹底攻略!PHP5.4
 
Laravel4 Happy Hacking
Laravel4 Happy HackingLaravel4 Happy Hacking
Laravel4 Happy Hacking
 
魔法少女 Laravel
魔法少女 Laravel魔法少女 Laravel
魔法少女 Laravel
 
日常業務にperlを使おう
 日常業務にperlを使おう 日常業務にperlを使おう
日常業務にperlを使おう
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
 
Yohes kitchen
Yohes kitchenYohes kitchen
Yohes kitchen
 
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech TalkMovable Type 6 Overview - New York Perl Mongers Tech Talk
Movable Type 6 Overview - New York Perl Mongers Tech Talk
 
capistrano-colorized-stream
capistrano-colorized-streamcapistrano-colorized-stream
capistrano-colorized-stream
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
 
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
 

More from 純生 野田

アクセシビリティで企業価値を高める、小さな会社の戦い方
アクセシビリティで企業価値を高める、小さな会社の戦い方アクセシビリティで企業価値を高める、小さな会社の戦い方
アクセシビリティで企業価値を高める、小さな会社の戦い方
純生 野田
 
PowerCMS X
PowerCMS XPowerCMS X
PowerCMS X
純生 野田
 
次世代版 PowerCMS 開発プロジェクトのご紹介
次世代版 PowerCMS 開発プロジェクトのご紹介次世代版 PowerCMS 開発プロジェクトのご紹介
次世代版 PowerCMS 開発プロジェクトのご紹介
純生 野田
 
PowerCMS Conference
PowerCMS ConferencePowerCMS Conference
PowerCMS Conference
純生 野田
 
PowerCMS X
PowerCMS XPowerCMS X
PowerCMS X
純生 野田
 
アルファサード株式会社はなぜ アクセシビリティに取り組むのか
アルファサード株式会社はなぜ アクセシビリティに取り組むのかアルファサード株式会社はなぜ アクセシビリティに取り組むのか
アルファサード株式会社はなぜ アクセシビリティに取り組むのか
純生 野田
 
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
純生 野田
 
About PowerCMS4.3
About PowerCMS4.3About PowerCMS4.3
About PowerCMS4.3
純生 野田
 
Color Testerはどうやって文字の色を拾っているのか?
Color Testerはどうやって文字の色を拾っているのか?Color Testerはどうやって文字の色を拾っているのか?
Color Testerはどうやって文字の色を拾っているのか?
純生 野田
 
The Next PowerCMS
The Next PowerCMSThe Next PowerCMS
The Next PowerCMS
純生 野田
 
The Next PowerCMS
The Next PowerCMSThe Next PowerCMS
The Next PowerCMS
純生 野田
 
やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!
純生 野田
 
ウェブアクセシビリティチェックツール開発者の頭ん中
ウェブアクセシビリティチェックツール開発者の頭ん中ウェブアクセシビリティチェックツール開発者の頭ん中
ウェブアクセシビリティチェックツール開発者の頭ん中
純生 野田
 
PowerCMS 8341 のご紹介
PowerCMS 8341 のご紹介PowerCMS 8341 のご紹介
PowerCMS 8341 のご紹介純生 野田
 
Something Different for the Best Web Solution!
Something Different for the Best Web Solution!Something Different for the Best Web Solution!
Something Different for the Best Web Solution!
純生 野田
 
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化SEOの本質から考える PowerCMSを活用した 検索エンジン最適化
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化純生 野田
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング純生 野田
 
MTで学ぶセキュアプログラミング@MT Tokyo
MTで学ぶセキュアプログラミング@MT TokyoMTで学ぶセキュアプログラミング@MT Tokyo
MTで学ぶセキュアプログラミング@MT Tokyo
純生 野田
 
Mt seminar hiroshima_public
Mt seminar hiroshima_publicMt seminar hiroshima_public
Mt seminar hiroshima_public純生 野田
 

More from 純生 野田 (20)

アクセシビリティで企業価値を高める、小さな会社の戦い方
アクセシビリティで企業価値を高める、小さな会社の戦い方アクセシビリティで企業価値を高める、小さな会社の戦い方
アクセシビリティで企業価値を高める、小さな会社の戦い方
 
PowerCMS X
PowerCMS XPowerCMS X
PowerCMS X
 
次世代版 PowerCMS 開発プロジェクトのご紹介
次世代版 PowerCMS 開発プロジェクトのご紹介次世代版 PowerCMS 開発プロジェクトのご紹介
次世代版 PowerCMS 開発プロジェクトのご紹介
 
PowerCMS Conference
PowerCMS ConferencePowerCMS Conference
PowerCMS Conference
 
PowerCMS X
PowerCMS XPowerCMS X
PowerCMS X
 
アルファサード株式会社はなぜ アクセシビリティに取り組むのか
アルファサード株式会社はなぜ アクセシビリティに取り組むのかアルファサード株式会社はなぜ アクセシビリティに取り組むのか
アルファサード株式会社はなぜ アクセシビリティに取り組むのか
 
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
 
About PowerCMS4.3
About PowerCMS4.3About PowerCMS4.3
About PowerCMS4.3
 
Color Testerはどうやって文字の色を拾っているのか?
Color Testerはどうやって文字の色を拾っているのか?Color Testerはどうやって文字の色を拾っているのか?
Color Testerはどうやって文字の色を拾っているのか?
 
The Next PowerCMS
The Next PowerCMSThe Next PowerCMS
The Next PowerCMS
 
The Next PowerCMS
The Next PowerCMSThe Next PowerCMS
The Next PowerCMS
 
やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!
 
ウェブアクセシビリティチェックツール開発者の頭ん中
ウェブアクセシビリティチェックツール開発者の頭ん中ウェブアクセシビリティチェックツール開発者の頭ん中
ウェブアクセシビリティチェックツール開発者の頭ん中
 
PowerCMS 8341 のご紹介
PowerCMS 8341 のご紹介PowerCMS 8341 のご紹介
PowerCMS 8341 のご紹介
 
Something Different for the Best Web Solution!
Something Different for the Best Web Solution!Something Different for the Best Web Solution!
Something Different for the Best Web Solution!
 
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化SEOの本質から考える PowerCMSを活用した 検索エンジン最適化
SEOの本質から考える PowerCMSを活用した 検索エンジン最適化
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
 
MTで学ぶセキュアプログラミング@MT Tokyo
MTで学ぶセキュアプログラミング@MT TokyoMTで学ぶセキュアプログラミング@MT Tokyo
MTで学ぶセキュアプログラミング@MT Tokyo
 
Mt seminar hiroshima_public
Mt seminar hiroshima_publicMt seminar hiroshima_public
Mt seminar hiroshima_public
 
MT meets PHP
MT meets PHPMT meets PHP
MT meets PHP
 

Mac OSにおけるShellコマンドの活⽤用 (Xojo 勉強会)