.NET国内産の帳票作成ツール

帳票ツールと言えば、VisualStudio2003の時から他のコンポーネントの関係もあってComponentOne Studio 6にあるレポートツールを使っていた。

全く更新しなかったので VisualStudio2005までは対応出来たけど、その後のVS2008,VS2010 開発OSの64bit化などでは、レジストリを弄ったり手動でライブラリを登録したりと、色々手を加えないと使えなくて参っていた(更新しろよ)
また、レポートツールも海外製品の日本語化なので、テンプレート等は特に日本語との相性がよくなかった。

今回、わけあって帳票ツール探しをしていたところ 以下のツールを見つける

パオ・アット・オフィス、.NETの帳票作成ツール「Reports.net Ver 6.1」発売
caption

特徴としては
・ページを完全掌握出来るコード設計
・動作が軽い
・異なる帳票を混在させることが出来る
・帳票のXMLフォーマットは公開されている
・一連のバーコードライブラリが使える
・国産(作った人が日本人)

この中でも異なる帳票を混在させる機能に目をつけ、検証した訳だけど確かにシンプル、ある意味コードで制御しなきゃいけない部分、若干増えるコードもあるが(ページング処理、今までのツールはこのあたりは自動的にページングしてくれてた)わかればかえって痒い所に手が届く

また、覚える内容もそれほど多くないので、ツールの学習に時間があまり必要無い。私は取り組んでから1日もかからずに業務で使っている帳票のシステムを「異種帳票」が混在する新しい仕組みに置き換えることが出来た。

異なる帳票のテンプレートを切り替える部分で多少遅くなってしまうのが現状ではあるが、開発元に問い合わせた所原因もすぐに解明し(新しく帳票作成中に属性などを動的変更できるz_Objectなる機能により複雑な帳票は読み込みが若干遅くなる) 今後の対応も検討してくださるそうな。

このあたりは国産ならでは、、同じ言語で会話ができる(笑)

と言うことで、実際のツールも開発元の対応も安心出来たので、これからはこのツールで攻めのシステム改良を行おうと思います。

EC-CUBEのテンプレート編集でつまずいた事

メモっておきます。
EC-CUBEにペイジェントモジュールをいれた状態で「現在のカゴの中」
のテンプレートを変更しようと思ったけど、、うまくいかない。

色々なサイトを見たけど、普通ならば以下のディレクトリをいじればすむ

だけど、ペイジェントモジュールを組み込んだあとは
こっちのテンプレートが使用されている模様、、

なーんどやってもうまくいかないからソース見るはめになった。
 

 

Webサーバーで特定の接続元以外からはBasic 認証をさせる方法

社内サーバーを立てて、情報共有を始めると当然社外からも利用したいと思うようになりますよね。

でも誰でもみられるのはセキュリティ的にも問題がある。

そこで、次に考えるのは何らかのパスワードを掛けて認証した人のみがみれるように設定しようという考え。

でも社内からの接続でいちいちパスワードなんて入れてられないのも事実。

そんなときは「特定の場所」以外からの接続時のみパスワードを聞くようにBasic認証を設定するのも一つの手です。

やり方は簡単!途中までは普通のBasic認証の設置方法と変わりません

まず普通に.htpasswdファイルを作成します

 htpasswd -cb [パスワードファイル] [ユーザー名] [パスワード]

例)
htpasswd -cb /vhosts/hogehogeSite/.htpasswd testUser testPassword
※ドキュメントルートよりも上のディレクトリをおすすめします

そして、制御をかけたいディレクトリに .htaccessを作成

 

これだけです! 簡単にいうと許可した接続元じゃなければパスワードを教えてね、合ってたら見せてあげるよ〜 って書いています。

 

Macのメモリとの付き合い方

Windowsと比べるとどうもMac(Lion)はメモリをよく使う様な気がする

気がついたら空きメモリ100MBを切っていたなんてことはしばしば

前回の投稿で画像に出ていたが現在のMBPは16GB搭載している
それにもかかわらず、メモリが足りない、、

HDDはSSDを使っているのでスワップは切っているのだが、、

このあたりネットで調べてみると問題点が見えてきた

「現在非使用中」のメモリ、、使ってないのに確保されちゃってます

Macはメモリ管理が賢いと聞いていましたが、、、どうなってるの?

仕方ないので、どうにか返してもらえる方法を調べたところ、
色々な方がこの件調べているようで、効果があった方法を一つ
ここに上げておきます。

ターミナル上での操作になるので、わからない人はスミマセン。

適当なディレクトリを作って (~/bin とか)

適当なファイル名で ( memfree.sh とか)

そのファイルの中に以下のスクリプトを書きます

 

上記ファイルを保存したら chmod +x で実行権限をつけ
crontab -e    コマンドを定期実行するファイルとして登録

 

これだと 20分毎に先程のスクリプトが実行されて少しずつ
「現在非使用中」のメモリが開放されます。

お試しあれ!

MicrosoftSQLサーバー 復旧モデルに関して

SQLServerの復旧モデルに関しては運用と開発環境で分けるべき

開発環境では「単純」を選ぶ事でリソースの使用量を抑えることができる。
運用段階では「完全」を選ぶことで耐障害性を上げることが出来る。
いまどき数百MB程度のDBならどちらでもあまり関係ないが
数十GBレベルのデータベースになると、トランザクションログの肥大化が半端ない