Enviar búsqueda
Cargar
FileManで楽々ファイル操作
•
0 recomendaciones
•
171 vistas
M
Masashi Umezawa
Seguir
各種Smalltalkでファイル操作を簡単に行うためのライブラリFileManの紹介です
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 14
Descargar ahora
Descargar para leer sin conexión
Recomendados
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
sakaik
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
sakaik
WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
Masaki Takeda
Monitoring Intelligence
Monitoring Intelligence
netopscoding
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
Kimitoshi Takahashi
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
Yoshihiko Matsuzaki
20130222 osc13tk osc.cms
20130222 osc13tk osc.cms
usptomo
Recomendados
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
sakaik
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
sakaik
WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
Masaki Takeda
Monitoring Intelligence
Monitoring Intelligence
netopscoding
Next-L Enju 開発ワークショップ #10
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
Kimitoshi Takahashi
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
Yoshihiko Matsuzaki
20130222 osc13tk osc.cms
20130222 osc13tk osc.cms
usptomo
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
Hidenori Ishii
MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例
hiroi10
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
Yasutaka Hamada
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
Tetsurou Yano
アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用
Akihiro Kuwano
CNAMEカメレオンパターン - Developers.IO Meetup 05
CNAMEカメレオンパターン - Developers.IO Meetup 05
Makoto Miida
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
Midori Oge
Sfstudy#2チーム5
Sfstudy#2チーム5
Yasuhiro Arai
情報セキュリティCAS 第二十三回放送用スライド
情報セキュリティCAS 第二十三回放送用スライド
Kumasan, LLC.
MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL5.7とMariaDB10.1の性能比較(簡易)
hiroi10
Open stack swift is too Enterprise? 2014/12/01 advent cal
Open stack swift is too Enterprise? 2014/12/01 advent cal
Naoto Gohko
Rancher meetup 20161007
Rancher meetup 20161007
Tetsurou Yano
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Tokai University
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
Yasuhiro Arai
XenServer Overview
XenServer Overview
Kimihiko Kitase
OS入門
OS入門
Shuntaro Saiba
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
Amandaを使ってバックアップ管理を一元化
Amandaを使ってバックアップ管理を一元化
賢 秋穂
Más contenido relacionado
La actualidad más candente
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
Hidenori Ishii
MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例
hiroi10
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
Yasutaka Hamada
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
Tetsurou Yano
アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用
Akihiro Kuwano
CNAMEカメレオンパターン - Developers.IO Meetup 05
CNAMEカメレオンパターン - Developers.IO Meetup 05
Makoto Miida
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
Midori Oge
Sfstudy#2チーム5
Sfstudy#2チーム5
Yasuhiro Arai
情報セキュリティCAS 第二十三回放送用スライド
情報セキュリティCAS 第二十三回放送用スライド
Kumasan, LLC.
MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL5.7とMariaDB10.1の性能比較(簡易)
hiroi10
Open stack swift is too Enterprise? 2014/12/01 advent cal
Open stack swift is too Enterprise? 2014/12/01 advent cal
Naoto Gohko
Rancher meetup 20161007
Rancher meetup 20161007
Tetsurou Yano
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
hiroi10
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Tokai University
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
Yasuhiro Arai
XenServer Overview
XenServer Overview
Kimihiko Kitase
OS入門
OS入門
Shuntaro Saiba
La actualidad más candente
(20)
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
WindowsでMySQL入門
WindowsでMySQL入門
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
アメーバピグにおける自作サーバ運用
アメーバピグにおける自作サーバ運用
CNAMEカメレオンパターン - Developers.IO Meetup 05
CNAMEカメレオンパターン - Developers.IO Meetup 05
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
Sfstudy#2チーム5
Sfstudy#2チーム5
情報セキュリティCAS 第二十三回放送用スライド
情報セキュリティCAS 第二十三回放送用スライド
MySQL5.7とMariaDB10.1の性能比較(簡易)
MySQL5.7とMariaDB10.1の性能比較(簡易)
Open stack swift is too Enterprise? 2014/12/01 advent cal
Open stack swift is too Enterprise? 2014/12/01 advent cal
Rancher meetup 20161007
Rancher meetup 20161007
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
XenServer Overview
XenServer Overview
OS入門
OS入門
Similar a FileManで楽々ファイル操作
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
Amandaを使ってバックアップ管理を一元化
Amandaを使ってバックアップ管理を一元化
賢 秋穂
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
Shinnosuke Akita
Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2
Hitoshi Yoshida
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
Insight Technology, Inc.
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
昌桓 李
AsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たい
Takashi Aoe
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Yasuyuki Sugai
osc_tokyo20100226
osc_tokyo20100226
Shoken Fujisaki
Leiningen超速入門
Leiningen超速入門
Kiyotaka Kunihira
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
SolarisJP
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
samemoon
Snowflake Elastic Data Warehouse as a Service
Snowflake Elastic Data Warehouse as a Service
Mineaki Motohashi
HBase on EC2
HBase on EC2
Eiichi Sato
VarnishCache入門Rev2.1
VarnishCache入門Rev2.1
Iwana Chan
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
Takashi Someda
VIOPS05: Eucalyptus概説&検証報告
VIOPS05: Eucalyptus概説&検証報告
VIOPS Virtualized Infrastructure Operators group ARCHIVES
Windows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデート
Masayuki Ozawa
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】
Yukihiko SAWANOBORI
Similar a FileManで楽々ファイル操作
(20)
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Amandaを使ってバックアップ管理を一元化
Amandaを使ってバックアップ管理を一元化
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
AsakusaのドキュメントをDashで見たい
AsakusaのドキュメントをDashで見たい
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
osc_tokyo20100226
osc_tokyo20100226
Leiningen超速入門
Leiningen超速入門
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
Snowflake Elastic Data Warehouse as a Service
Snowflake Elastic Data Warehouse as a Service
HBase on EC2
HBase on EC2
VarnishCache入門Rev2.1
VarnishCache入門Rev2.1
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
VIOPS05: Eucalyptus概説&検証報告
VIOPS05: Eucalyptus概説&検証報告
Windows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデート
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】
Más de Masashi Umezawa
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
Masashi Umezawa
TruffleSqueakの紹介
TruffleSqueakの紹介
Masashi Umezawa
SmalltalkBoltでUFFI入門
SmalltalkBoltでUFFI入門
Masashi Umezawa
TaskItの紹介
TaskItの紹介
Masashi Umezawa
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
Masashi Umezawa
Revealing ALLSTOCKER
Revealing ALLSTOCKER
Masashi Umezawa
TarandocでJSONを永続化
TarandocでJSONを永続化
Masashi Umezawa
Dockerizing pharo
Dockerizing pharo
Masashi Umezawa
今からでも遅くないSmalltalk入門
今からでも遅くないSmalltalk入門
Masashi Umezawa
Tarantubeでメッセージキューを使い倒す
Tarantubeでメッセージキューを使い倒す
Masashi Umezawa
VerStixの紹介
VerStixの紹介
Masashi Umezawa
Oldtalk - あのころの処理系は今
Oldtalk - あのころの処理系は今
Masashi Umezawa
Pyonkeeを鳴らす
Pyonkeeを鳴らす
Masashi Umezawa
Smalltalk勉強会 - 過去、現在、そして未来へ
Smalltalk勉強会 - 過去、現在、そして未来へ
Masashi Umezawa
Tarantalk
Tarantalk
Masashi Umezawa
Smalltalkと型について
Smalltalkと型について
Masashi Umezawa
Introduction of Pharo 5.0
Introduction of Pharo 5.0
Masashi Umezawa
Why!? Smalltalk
Why!? Smalltalk
Masashi Umezawa
Pillarの紹介
Pillarの紹介
Masashi Umezawa
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Masashi Umezawa
Más de Masashi Umezawa
(20)
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
TruffleSqueakの紹介
TruffleSqueakの紹介
SmalltalkBoltでUFFI入門
SmalltalkBoltでUFFI入門
TaskItの紹介
TaskItの紹介
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
Revealing ALLSTOCKER
Revealing ALLSTOCKER
TarandocでJSONを永続化
TarandocでJSONを永続化
Dockerizing pharo
Dockerizing pharo
今からでも遅くないSmalltalk入門
今からでも遅くないSmalltalk入門
Tarantubeでメッセージキューを使い倒す
Tarantubeでメッセージキューを使い倒す
VerStixの紹介
VerStixの紹介
Oldtalk - あのころの処理系は今
Oldtalk - あのころの処理系は今
Pyonkeeを鳴らす
Pyonkeeを鳴らす
Smalltalk勉強会 - 過去、現在、そして未来へ
Smalltalk勉強会 - 過去、現在、そして未来へ
Tarantalk
Tarantalk
Smalltalkと型について
Smalltalkと型について
Introduction of Pharo 5.0
Introduction of Pharo 5.0
Why!? Smalltalk
Why!? Smalltalk
Pillarの紹介
Pillarの紹介
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
FileManで楽々ファイル操作
1.
日韓共同Squeaker夜の集い 2008 Masashi Umezawa
2.
FileManとは? 日常良くある仕事-ファイル操作をSmalltalk で簡単に行わせるための拡張ライブラリ 小さい
簡単 ポータブル(Squeak, VisualWorks) 拡張も楽
3.
Squeakでのファイル操作 もともとファイルを操作するためのライブラリ 群はある FileStream、FileDirectory、FilePathなど
ではなぜFileManなのか? もともとのクラス群の作りがいまいち ○ ごちゃごちゃしている ○ 書き方も冗長になりがち ○ もっと簡単に使えるようにできるはず => FileManの開発がスタート
4.
入手方法 Squeak SqueakMap
(Stable) ○ http://map.squeak.org/package/f9917683-25da- 4a6c-a013-b36527a100c1 SqueakSourceJ (Current) ○ http://squeaksource.blueplane.jp/FileMan.html VisualWorks Cincom Public Store Repository
5.
サンプルコード カレントディレクトリ下に’subDir’というディレクトリを 作り、そこに’Hello!’と書かれた’ file1.txt’というテキ ストファイルを作る
通常は FileManでは subDir := FileDirectory default directoryNamed: 'subDir'. subDir assureExistence. [str := subDir newFileNamed: 'file1.txt'. str nextPutAll: 'Hello!'] ensure: [str close]. './subDir' asDirectoryEntry at: 'file1.txt' put: 'Hello!'
6.
FileManの利点 (1) 小さい
コアとなるクラスは3つのみ ○ FmFileEntry ファイルを表す ○ FmDirectoryEntry ディレクトリを表す ○ FmFileIOAccessor 低レベルのファイルIOへのアダプタ (移植時を除き普段は意識しない)
7.
FileManの利点 (2) 簡単
ファイルとディレクトリはオブジェクト ○ ファイルに、更新日は? サイズは? 内容は? ○ ディレクトリに、子供となっているファイルは? ディレクト リは? などと聞けばよい ディレクトリは辞書のように扱うことも出来る ○ キーがファイル名で、値がファイルの内容となる ○ #at:でファイル内容の取り出し、#at:put:で書き込み
8.
FileManの利点 (3) ポータブル
パスの記法はプラットフォームに依存しない ○ ‘.¥subDir¥subSubDir’ asDirectoryEntry と書いた場合 Win、Mac、Linuxともに動作する - セパレータの違いを吸収する ○ ‘/tmp’ asDirectoryEntry at: ‘myData’ put: data と書いても - やはり全てのプラットフォームで動作 - ドライブの有無も自動で判断
9.
FileManの利点 (4) 拡張可能
FmDirectoryEntryやFmFileEntryを継承すれば特殊 な振る舞いをディレクトリやファイルに追加できる 例: 自動圧縮・展開 ○ #at:put:すると’text.gz’ファイルが自動的に作られる ○ #at:で’text.gz’が展開される | dir | dir := './gzipped' asDirectoryEntry: FmGZipDirectoryEntry. dir at: ‘text’ put: ‘これは圧縮されます'. (dir at: 'text') inspect.
10.
利用例 (1) バックアップ
‘foo’ディレクトリ以下のファイル群を日ごとに ’bkUp’ディレクトリ以下にバックアップしたい './foo' asDirectoryEntry copyTo: './bkUp' / Date today yyyymmdd
11.
利用例 (2) エラーログ
‘error.log’ファイルに、エラーログ情報を追加で 書き込みたい ‘error.log’ asFileEntry appendContents: ‘エラー...’
12.
利用例 (3) 古いファイルの整理
‘foo’ディレクトリ以下のファイルで、拡張子が.txtで 100日ほど更新していないものを削除したい dir := './foo' asDirectoryEntry. current := TimeStamp current . dir allFilesDo: [:file | ((file extension = 'txt') & ((TimeStamp fromSeconds: file modificationTime) plusDays: 100)< current) ifTrue: [file delete] ].
13.
利用例 (4) テキストファイル変換
改行コードがCRで、UTF-8のテキストファイルを、CRLF を改行コードにして、さらにShift-JISに変換したい conv := [:in :out | out wantsLineEndConversion: true; lineEndConvention: #crlf; converter: ShiftJISTextConverter new. out nextPutAll: (in upToEnd) ]. dir := './foo' asDirectoryEntry. dir filesDo: [:file | file pipe: conv to: (dir / (file name copyReplaceAll: '.txt' with: '.sjis.txt')) ]
14.
まとめ FileManをつかうと とにかく簡単にファイルやディレクトリを操作できる
日常の業務にお使いください
Descargar ahora