Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
MU
Uploaded by
Masashi Umezawa
207 views
FileManで楽々ファイル操作
各種Smalltalkでファイル操作を簡単に行うためのライブラリFileManの紹介です
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 14
2
/ 14
Most read
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
Most read
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
Most read
More Related Content
PPTX
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
by
sakaik
PPTX
AWSのRedHatにMySQL最速インストール
by
sakaik
PDF
WordPress アジュール部 ハンズオン
by
Masaki Takeda
PDF
Monitoring Intelligence
by
netopscoding
ODP
Next-L Enju 開発ワークショップ #10
by
Kosuke Tanabe
PDF
ゆるふわMySQLフェイルオーバー
by
Kimitoshi Takahashi
PDF
MySQLの冗長化 2013-01-24
by
Yoshihiko Matsuzaki
PDF
20130222 osc13tk osc.cms
by
usptomo
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
by
sakaik
AWSのRedHatにMySQL最速インストール
by
sakaik
WordPress アジュール部 ハンズオン
by
Masaki Takeda
Monitoring Intelligence
by
netopscoding
Next-L Enju 開発ワークショップ #10
by
Kosuke Tanabe
ゆるふわMySQLフェイルオーバー
by
Kimitoshi Takahashi
MySQLの冗長化 2013-01-24
by
Yoshihiko Matsuzaki
20130222 osc13tk osc.cms
by
usptomo
What's hot
PDF
今さらだけどMySQLとライセンス
by
Hidenori Ishii
PDF
MySQL Clusterのトラブル事例
by
hiroi10
ODP
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
by
Yasutaka Hamada
PDF
WindowsでMySQL入門
by
Hidenori Ishii
PPTX
ownCloud のあれこれ July Tech Festa 2016
by
Tetsurou Yano
PPT
アメーバピグにおける自作サーバ運用
by
Akihiro Kuwano
PDF
CNAMEカメレオンパターン - Developers.IO Meetup 05
by
Makoto Miida
ODP
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
by
Mikiya Okuno
PDF
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
by
Takahiro Okumura
PDF
ApacheCloudstack4.1最新情報ver2
by
Midori Oge
PPT
Sfstudy#2チーム5
by
Yasuhiro Arai
PDF
情報セキュリティCAS 第二十三回放送用スライド
by
Kumasan, LLC.
PDF
MySQL5.7とMariaDB10.1の性能比較(簡易)
by
hiroi10
PDF
Open stack swift is too Enterprise? 2014/12/01 advent cal
by
Naoto Gohko
PPTX
Rancher meetup 20161007
by
Tetsurou Yano
PPTX
MySQL Clusterを運用して10ヶ月間
by
hiroi10
PDF
講座Linux入門・サーバOSとしてのLinux
by
Tokai University
PDF
Apache CloudStack 4.0 インストール(ver0.5)
by
Yasuhiro Arai
PDF
XenServer Overview
by
Kimihiko Kitase
PPTX
OS入門
by
Shuntaro Saiba
今さらだけどMySQLとライセンス
by
Hidenori Ishii
MySQL Clusterのトラブル事例
by
hiroi10
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
by
Yasutaka Hamada
WindowsでMySQL入門
by
Hidenori Ishii
ownCloud のあれこれ July Tech Festa 2016
by
Tetsurou Yano
アメーバピグにおける自作サーバ運用
by
Akihiro Kuwano
CNAMEカメレオンパターン - Developers.IO Meetup 05
by
Makoto Miida
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
by
Mikiya Okuno
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
by
Takahiro Okumura
ApacheCloudstack4.1最新情報ver2
by
Midori Oge
Sfstudy#2チーム5
by
Yasuhiro Arai
情報セキュリティCAS 第二十三回放送用スライド
by
Kumasan, LLC.
MySQL5.7とMariaDB10.1の性能比較(簡易)
by
hiroi10
Open stack swift is too Enterprise? 2014/12/01 advent cal
by
Naoto Gohko
Rancher meetup 20161007
by
Tetsurou Yano
MySQL Clusterを運用して10ヶ月間
by
hiroi10
講座Linux入門・サーバOSとしてのLinux
by
Tokai University
Apache CloudStack 4.0 インストール(ver0.5)
by
Yasuhiro Arai
XenServer Overview
by
Kimihiko Kitase
OS入門
by
Shuntaro Saiba
More from Masashi Umezawa
PDF
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
by
Masashi Umezawa
PDF
TruffleSqueakの紹介
by
Masashi Umezawa
PDF
SmalltalkBoltでUFFI入門
by
Masashi Umezawa
PDF
TaskItの紹介
by
Masashi Umezawa
PDF
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
by
Masashi Umezawa
PPTX
Revealing ALLSTOCKER
by
Masashi Umezawa
PDF
TarandocでJSONを永続化
by
Masashi Umezawa
PPTX
Dockerizing pharo
by
Masashi Umezawa
PDF
今からでも遅くないSmalltalk入門
by
Masashi Umezawa
PDF
Tarantubeでメッセージキューを使い倒す
by
Masashi Umezawa
PDF
VerStixの紹介
by
Masashi Umezawa
PDF
Oldtalk - あのころの処理系は今
by
Masashi Umezawa
PDF
Pyonkeeを鳴らす
by
Masashi Umezawa
PDF
Smalltalk勉強会 - 過去、現在、そして未来へ
by
Masashi Umezawa
PDF
Tarantalk
by
Masashi Umezawa
PDF
Smalltalkと型について
by
Masashi Umezawa
PDF
Introduction of Pharo 5.0
by
Masashi Umezawa
PDF
Why!? Smalltalk
by
Masashi Umezawa
PDF
Pillarの紹介
by
Masashi Umezawa
PPT
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
by
Masashi Umezawa
第142回Smalltalk勉強会 - PharoJSで作るWebアプリケーション
by
Masashi Umezawa
TruffleSqueakの紹介
by
Masashi Umezawa
SmalltalkBoltでUFFI入門
by
Masashi Umezawa
TaskItの紹介
by
Masashi Umezawa
Smalltalk勉強会 - 過去、現在、そして未来へ のその後
by
Masashi Umezawa
Revealing ALLSTOCKER
by
Masashi Umezawa
TarandocでJSONを永続化
by
Masashi Umezawa
Dockerizing pharo
by
Masashi Umezawa
今からでも遅くないSmalltalk入門
by
Masashi Umezawa
Tarantubeでメッセージキューを使い倒す
by
Masashi Umezawa
VerStixの紹介
by
Masashi Umezawa
Oldtalk - あのころの処理系は今
by
Masashi Umezawa
Pyonkeeを鳴らす
by
Masashi Umezawa
Smalltalk勉強会 - 過去、現在、そして未来へ
by
Masashi Umezawa
Tarantalk
by
Masashi Umezawa
Smalltalkと型について
by
Masashi Umezawa
Introduction of Pharo 5.0
by
Masashi Umezawa
Why!? Smalltalk
by
Masashi Umezawa
Pillarの紹介
by
Masashi Umezawa
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
by
Masashi Umezawa
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をつかうと とにかく簡単にファイルやディレクトリを操作できる
日常の業務にお使いください
Download