とりあえずメモだけ。
Get-ChildItem -Path . | Select-Object 'Name' | ForEach-Object -Process {$f = $(Get-Content -Path $_.Name) -replace "置換前","置換後"; $f > $_.Name}
上のやり方だと、ファイルの中身を全部メモリに持っちゃうので、数百MBとかGB単位のファイルがあると厳しいかも。
2014年12月9日火曜日
2014年10月9日木曜日
[Open Data] 日本政府によるオープンデータカタログサイトがオープン
2014年10月1日に、データカタログサイト「DATA.GO.JP」がオープンしたようです。
各省庁が保有しているデータに対してメタデータベースを作って、一元的に検索・参照できるようにしたシステムで、このメタデータはWebAPIとしてアクセス可能になっているようです(まだ試してはいませんが)。
海外のオープンデータサイトのように、たとえばCSVならテーブルを表示するとか、KMLなら地図を表示するとか、そういうビジュアライズの機能はありませんが、まず取り掛かりとしてこのようなサイトができた意義は大きいですね。
今後の発展に期待します。
各省庁が保有しているデータに対してメタデータベースを作って、一元的に検索・参照できるようにしたシステムで、このメタデータはWebAPIとしてアクセス可能になっているようです(まだ試してはいませんが)。
海外のオープンデータサイトのように、たとえばCSVならテーブルを表示するとか、KMLなら地図を表示するとか、そういうビジュアライズの機能はありませんが、まず取り掛かりとしてこのようなサイトができた意義は大きいですね。
今後の発展に期待します。
2014年9月25日木曜日
【世界のオープンデータ】 City Dashboard Amsterdam
City Dashboard Amsterdam
http://citydashboard.waag.org/
D3.jsを駆使して、市が持っているオープンデータを可視化して、見やすくわかりやすくしています。
かなり重いのが難点ですが、オープンデータの見せ方の良い例として非常に参考になるのではないかと思います。
http://citydashboard.waag.org/
D3.jsを駆使して、市が持っているオープンデータを可視化して、見やすくわかりやすくしています。
かなり重いのが難点ですが、オープンデータの見せ方の良い例として非常に参考になるのではないかと思います。
2014年8月27日水曜日
psqlODBCを使う上での注意点
Windowsのアプリを作るときに、PostgreSQLに接続するのにODBCを使うという例はもはやそんなに多くないのかもしれませんが、もしそういったことがあるならば、psqlODBCというドライバを使う際には注意が必要かもしれません。
psqlodbc-09_03_0100.zip をインストールした限りでは、デフォルトでコネクションプーリングが有効になっていません。このため、接続・切断を頻繁に繰り返すようなプログラムで、パフォーマンスが著しく低下する、という現象を経験しました。
(本日時点の最新版 psqlodbc-09_03_0300-1.zip でも同じでした)
コネクションプーリングを有効にする方法は次の通り(Windows 8.1)。
こんな設定をしなくてもそれほど問題にはならないわけですが…。
psqlodbc-09_03_0100.zip をインストールした限りでは、デフォルトでコネクションプーリングが有効になっていません。このため、接続・切断を頻繁に繰り返すようなプログラムで、パフォーマンスが著しく低下する、という現象を経験しました。
(本日時点の最新版 psqlodbc-09_03_0300-1.zip でも同じでした)
コネクションプーリングを有効にする方法は次の通り(Windows 8.1)。
- コントロールパネルから「管理ツール」⇒「ODBC データソース(32ビット)」または「ODBC データソース(64ビット)」を選択し、ODBCデータソースアドミニストレーターを起動
- 「接続プール」タブを開き、リストにある「PostgreSQL ANSI(x64)」または「PostgreSQL Unicode(x64)」をダブルクリック
- 「このドライバーに接続をプールする」を選択して「OK」をクリック
- 「OK」をクリックして画面を閉じる
こんな設定をしなくてもそれほど問題にはならないわけですが…。
2014年8月26日火曜日
スポーツIT勉強会に行ってきた
http://sports-it.connpass.com/event/7825/
スポーツ観戦大好きなITエンジニアとしては、これは行かないわけにはいきません。
「スポーツIT」と聞いて、当初はモーションキャプチャーとか映像分析とか、
そういったものによる体の動きの分析が中心なのかな、と勝手に思い込んでました。
しかし、実際に話を聴いてみると、そういう解析ももちろんありますが、
資料(試合映像とか)の分類とか、データの収集・分析とか、
競技スポーツでITが必要になる分野は想像以上に多岐にわたっていました。
しかも、既存の技術をそのまま使えることは少なく、新しい技術の開発が必要な場面が多いのだとか。
そういうところで少しでも貢献できればうれしいですね。
スポーツ観戦大好きなITエンジニアとしては、これは行かないわけにはいきません。
「スポーツIT」と聞いて、当初はモーションキャプチャーとか映像分析とか、
そういったものによる体の動きの分析が中心なのかな、と勝手に思い込んでました。
しかし、実際に話を聴いてみると、そういう解析ももちろんありますが、
資料(試合映像とか)の分類とか、データの収集・分析とか、
競技スポーツでITが必要になる分野は想像以上に多岐にわたっていました。
しかも、既存の技術をそのまま使えることは少なく、新しい技術の開発が必要な場面が多いのだとか。
そういうところで少しでも貢献できればうれしいですね。
2014年5月6日火曜日
C#でFtpWebRequestを使ったリネームがうまくいかない話
最近、C#でFTPを使ってサーバー上のファイルを移動しようとしてはまりました。
ソースはこちら(例外処理など、一部を省略してます)。
ソースはこちら(例外処理など、一部を省略してます)。
Uri uri = new Uri("ftp://...");
string destPath = "/path/to/move";
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create(uri); ftpReq.Credentials = new NetworkCredential(this.userName, this.password); ftpReq.Method = WebRequestMethods.Ftp.Rename; ftpReq.KeepAlive = false; ftpReq.RenameTo = destPath; FtpWebResponse ftpRes = (FtpWebResponse)ftpReq.GetResponse();
このとき、ftpReq.RenameToの値は正しい値が入っているのですが、FTPサーバーのログを見ると、RNTOに指定されているパスが壊れており、結果としてステータス550で処理に失敗します。
どうやらこちらを見ると、Visual Studio 2010と.NET Framework 4.0の組み合わせでそうなっているらしく、.NET Frameworkのバージョンを4.5にアップしたら問題は解消されていました。
2014年3月17日月曜日
[PostGIS] メートル指定の半径で円を作る方法
最近仕事でPostGISを使うようになって、いろいろと調べているので、忘れないようにメモしていきます。
円のポリゴンを作るには、ST_Bufferを使えばよさそうなのですが、ジオメトリ型(geometry)に対してST_Bufferを使うと、バッファのサイズはジオメトリのSRID単位でしか指定できません。
たとえば、WGS84(SRID=4326)の場合だと、度単位の指定になります。
そこで、こういったSRIDでメートル単位でバッファサイズを指定するには、ジオメトリ型を一度ジオグラフィ型(geography)に変換してから、ST_Bufferに与える必要がありそうです。
(例)北緯40度、東経140度から半径100kmの円を作る
select st_setsrid(geometry(st_buffer(geography(st_makepoint(140, 40)), 100000)), 4326)
円のポリゴンを作るには、ST_Bufferを使えばよさそうなのですが、ジオメトリ型(geometry)に対してST_Bufferを使うと、バッファのサイズはジオメトリのSRID単位でしか指定できません。
たとえば、WGS84(SRID=4326)の場合だと、度単位の指定になります。
そこで、こういったSRIDでメートル単位でバッファサイズを指定するには、ジオメトリ型を一度ジオグラフィ型(geography)に変換してから、ST_Bufferに与える必要がありそうです。
(例)北緯40度、東経140度から半径100kmの円を作る
select st_setsrid(geometry(st_buffer(geography(st_makepoint(140, 40)), 100000)), 4326)
登録:
投稿 (Atom)
