C#でファイルをBase64形式に変換するときにメモリ不足になった話
最近、SQL ServerにPDFファイルなどを保存する必要があって、Insert文を生成するためのツールを作成していました。その中で、C#プログラムがメモリ不足で落ちてしまうことがあり、いろいろ調べたのでまとめておきます。
tl;dr
SQL文でファイルをSQL Serverのvarbinay型カラムにInsertしたかった
SQL文を生成するツールをC#で作ったがメモリ不足で落ちた
原因:ファイルを一気に読み込んでいたため
解決策:BinaryReaderで少しずつ読み込む
問題がおきたコードやりたいこととしては、ファイルを読みこんでBase64形式の文字列に変換したい、ただそれだけでした。
1234567891011121314151617181920public void メモリ不足になるコード() { // 対象のフォルダ配下のファイル一覧 string[] files = System.IO.Directory.GetFiles(@"フォルダパス", "*", System.IO.SearchOption.Al ...
Hexoを使い始めた
最近dev.toの表示速度が速いというのがニュースになっていますよね。
これまでWordPressでブログを書いてきたんですが、速くするにはどうしたらいいかと考えた結果、「そもそもWordPressを使う意味あるのかな」と思い、静的ページジェネレータのHexoを使い始めました。
簡単な使い方をまとめてみます。
インストールNode.jsで動くプログラムなので、インストール済という前提で、
1npm install hexo-cli -g
設定Hexoではコマンドラインから、ローカルで生成したページをFTPを使ってサーバーに転送し、公開することができます。(GitHub.ioで公開することもできます)
_config.ymlに設定を書きます。
12345678deploy: type: ftpsync host: <ホスト名> user: <ユーザー名> pass: <パスワード> remote: <サーバー内でのアップロードディレクトリ> port: <ポート> connections: <同時接続数&g ...