JavaでExcelの読み書きをする時には、Apache POIを使うことが多いと思います。まあ、POIの上にテンプレートを組んで…みたいなものもあるようですが。 Apache POI - the Java API for Microsoft Documents http://poi.apache.org/ POI自体は、Excel以外も扱えますね。 で、最近ちょっと「大きなExcelをプログラムで出力したいんだけど」みたいなことを言われ、ちょっとPOIの事情を調べてみました。 POIはExcel出力可能ですが、かなりメモリを多く取るので大きなExcelを出力しようとするとちょっとつらいです。 ちなみに、ここで自分が言う「大きなExcel」というのは、数十万行のオーダーでしたね。そんなの、Excelで出力してどうするんだよ、とは思いますが。 調べてみたところ、POI 3.8 beta3以降
個人的Apacheチューニングのメモ。 間違いがあったら教えて下さい! prefork 前提 Apacheでは、リクエストはApacheの子サーバプロセスが処理する。 子サーバプロセスは動的にforkで生成されたり、殺されたりする。 が、forkはとても重い処理なので、forkが発生しないように設定するのがよい。 チューニング方針 負荷が高かろうが低かろうが常に一定数のプロセスが動いている状態にする。 preforkの動作 MaxClientsは絶対値。 子プロセス数はこの値を超えない。 (以下正確ではないですが簡単に) Apacheは負荷が高くなってきたら 子プロセスを生成していく アイドル状態の子プロセスはMinSpareServers以上になるよう維持 MaxClients以上の子プロセスは生成しない MinSpareServersよりMaxClientsが強い 負荷が低くなってきた
Randen Pederson 大規模なシステムであれば使っているであろうリバースプロキシ。 セキュリティや稼働率の観点からみて利用することは非常にメリットは高いです。 ただ、社内や周りであまり知見がなく、 「動くからいいや」という理由でApacheをそのままWebサービスの一次受けとして利用されている方も多いと思います。 動くという目的からすれば確かにその通りですが、ただ一枚リバースプロキシを入れるだけで ぐっと運用効率、稼働率も拡張性も上がります。 1. ルーティング処理の簡略化 例えばRESTfulな一般的なAPI構成を作りたいと思った時に以下のようなURL構成になると思います。 http://api.something.com/search/v1/item/list.json?cid=xxxx&gid=xxxxx もしアプリケーション側のルーティングしか知らなければframewor
1.概要 Open Office Calc 形式のドキュメントから、テーブル定義のDDL及び、テスト用データのSQLを自動生成します。main.xslは、ddl_gen.xsl、sql_gen.xsl、common.xsl及びfunction.xslをインクルードします。common.xsl.は、sql.xsl 及び ddl.xsl で使用されるテンプレートを定義しています。function.xsl には、使用する全ての関数が定義されています。DDLまたは、SQLを自動生成するかは、シート名により判断します。シート名に「ddl」が含まれていれば、DDLを生成し、「sql」が含まれていれば、sqlを自動生成します。DDL及び、SQLを自動生成するシートは、一つにまとめたり、複数に分散することも可能です。sql_gen.xslには、データの入力チェックがあります。入力チェックの種類は、使用する
TIS株式会社の小林です。今回はApache HTTP Server(Apache)の設定についてお話しします。 NetCommonsやSugarCRMなどスクリプト系言語で実装されたビジネスアプリケーションをApacheで動作させる場合、mod_perl、mod_phpなどApacheの追加モジュールで動作させることが良くありますが、この時のApacheの1プロセスの使用メモリは100MBを超える場合も少なくありません。 もしmod_perlやmod_phpなどを利用して、かつApacheをデフォルト設定で動かしているならば、アクセス数が多くなった時にメモリが足りなくなり、スワップが頻発して急激な性能劣化を引き起こしたり、最悪の場合OOM-Killerが動作して他のプロセスにまで影響を与える可能性があります。そのようなトラブルを未然に防ぐためにApacheの設定を見直しましょう。 ここで
Tomcat(4.1.24対応)のserver.xmlについての解説です。 このファイルを修正したら、Tomcatを再起動する必要があります。 Webアプリケーション単位の設定は、各WebアプリケーションのWEB-INFディレクトリにある web.xmlで行うことができます。 要素の親子関係 Server server.xmlのルートになる唯一の要素(Element)です。 className 使用するサーブレットコンテナクラスを指定します。 このクラスは org.apache.catalina.Server インターフェイスを実装している必要があります。 省略すると、org.apache.catalina.core.StandardServer がデフォルトで使用されます。 port このサーバがシャットダウンコマンドを受け取るために待機するポート番号を指定します。 shutdown こ
HTTP サーバーである Apacheのインストール DSO(Dynamic Shared Object) をサポートするように設定します。 # gzip -dc apache_1.3.26.tar.gz | tar xf - # cd apache_1.3.26 # ./configure --enable-module=so Configuring for Apache, Version 1.3.26 + using installation path layout: Apache (config.layout) ... # make # make install Apache の設定ファイルである httpd.conf をチェックします。Redhat で既に HTTP サーバーが起動している場合、それを停止するか、新しくインストールした Apache の Port を変更(たとえば
Tomcat5.5のserver.xmlについての解説です。 項目の中にはまだ実際に機能していないものも多数あります。 また、今後新たな項目が追加される可能性もあります。 要素の親子関係 Server server.xmlのルートになる唯一の要素(Element)です。 className 使用するサーブレットコンテナクラスを指定します。 このクラスは org.apache.catalina.Server インターフェイスを実装している必要があります。 省略すると、org.apache.catalina.core.StandardServer がデフォルトで使用されます。 port このサーバがシャットダウンコマンドを受け取るために待機するポート番号を指定します。 shutdown このサーバをシャットダウンさせる為に使用するコマンド文字列を指定します。 上で指定したポートは、この文字列を
Apache Ant Welcome License News Security Reports Documentation Manual Related Projects External Tools and Tasks Resources Frequently Asked Questions Wiki Having Problems? Download Binary Distributions Source Distributions Ant Manual Contributing Mailing Lists Git Repositories Subversion Repositories Nightly+Continuous Builds Bug Database Security Sponsorship Thanks Sponsorship Project Management C
Documentation Overview Migration How-to FAQ Download Javadoc Javadoc Archive Security Development Coding Specifications Mailing lists Issue Tracking Repository Project Documentation Project Information About Summary Team Source Code Management Issue Management Mailing Lists Dependency Information Dependency Management Dependencies Dependency Convergence CI Management Distribution Management Projec
import static org.apache.commons.codec.binary.Hex.encodeHexString; import static org.apache.commons.io.FileUtils.openInputStream; import static org.apache.commons.io.IOUtils.closeQuietly; import static org.apache.commons.io.IOUtils.toByteArray; public static String getFileHeader(File f) { if (f.length() == 0) { return null; } else { byte[] b = new byte[8]; InputStream in = null; try { in = openInp
認証が必要なプロキシ経由で、HTTP接続をする方法です。 Apache Jakarta Project Commons の HttpClient を使用します。 準備 HttpClient のダウンロード Apache Jakarta Project Commons の HttpClient サイトの Download から、アーカイブをダウンロードします。 依存モジュールのダウンロード HttpClientを使用するには、Apache Jakarta Project Commons の commons-codec と commons-logging が必要です。それぞれダウンロードします。 commons-codec commons-logging 配置 それそれのアーカイブから jar ファイルを展開します。 commons-httpclient-3.0.1.jar commons-c
apache でSSLを使ってみた(基本接続編)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く