2012.04.20

PHP フォーム送信データが欠ける。

表入力フォームから多数のフィールドデータ(8列x数百行)を更新するWEB業務システム(phpで構築)で、データが途中で欠けるという問題が発生。
var_dump($_POST);で表示させて$_POST 内のフィールドが途中までしかないことを確認しました。
途切れる位置が入力データ量では変化しないので、POSTやGETで受け取れるフィールド数が制限されているのは明らか。

先月サーバーのアップデートを実行しているので、セキュリティ対策で制限が加わったものと推測し、phpinfo() 出力で「MAX_」 と名の付く項目を探すと、「max_input_vars」という如何にもそれっぽい項目に「値= 1000」というトラブル症状にドンピシャの設定がされているのを発見、設定値の変更によりトラブルは解消しました。

やっぱりリリース情報はしっかりチェックしないと命取りですね。
もっとも問題のリリース情報には、「Added max_input_vars directive to prevent attacks based on hash collisions.」としか書いてないので、読んでいたとしてもおそらく気にも止めなかったでしょうが・・・・・・

| | Comments (0) | TrackBack (0)

2012.03.29

Excelのレイアウトがずれる原因 その2

「1ページに収まるはずのエクセルシートが収まらない(Win7+Excel2010)」という苦情が。

今回の原因は、[ディスプレイのカスタマイズ]-[ディスプレイ]での「画面上の文字を読みやすくします」で「小 - 100%(規定値)」から「中(M) - 125%」に変えてあったこと。

せっかく高解像度ワイドモニタ搭載の最新ノートパソコンを導入しても、年寄り(というか中年以上)には文字が小さすぎて見えない。その為、文字を大きくする簡単な方法としてこの設定変更を勝手に行うユーザーは少なくない。

しかし、WEB画面のレイアウトが崩れることが分かっていたので、電算室としてはなるべく避けるようにと警告だけはしていたのだけど、エクセルに影響が出るとなると、この設定は変更禁止にしたほうが良さそうだ。

それじゃあ、年寄りはどうすりゃいいんだ、って問題が残りますが、個々のアプリケーションで表示を調整できないものは諦めてもらうしかない・・・・・・

| | Comments (0) | TrackBack (0)

2012.03.02

Sencha Touch 1.1.1 でコケる

HTML5対応の無料のJavascriptフレームワーク「Sencha Touch 1.1.1」を利用してiPhoneやAndroid用の業務用Webアプリの作成を始めました。

ある程度カタチになったところで、実機(iPhone3G, HTC Sensation)で動作テストをしてみると、Androidでスクロールができない問題が発生。
調べてみると、HTC社製のAndroidで発現するとのこと。CM7に換装したHTC Desireで試してみたら正常に機能したので、どうやら原因はHTC Sense のようです。

次期バージョン Sencha Touch 2.0 で解決するということなので、公開されている 2.0RC を落としてきたものの、初心者にとっては11.1のソースをちょこっと手直ししたら2.0で動くというレベルの仕様変更ではなく、結局一から勉強し直すハメになりました。

| | Comments (0) | TrackBack (0)

2012.02.10

文字化け? いえ、日本語→日本語翻訳!

Google Chrome の初期状態では、母国語以外のページと判断されるとページ上部に翻訳ツールが表示されます。
日本語のページでも、作り方によっては英語のページだと判断されて翻訳ツールが表示されますので、邪魔だと感じている方も多いと思います。
日本語のページなのにユーザーが間違えてこれをクリックすると・・・一部の単語が別の単語に置き換わったり、意味不明な文章になったりで、

「WEBページの表示がおかしい!!!」「ウイルスか!」 という問い合わせ(苦情)が電算室にもたらされることになります。

こんなことにならないようGoogle Chromeをご利用の方は、[オプション]-[高度な設定]-[母国語以外のページで翻訳ツールを表示する]のチェックを外しましょう。

| | Comments (0) | TrackBack (0)

2011.10.24

Ubuntu 11.10 ますます嫌な方向へ

かれこれ5年くらいUbuntuをdesktop とServerで使っていますが、最近Ubuntu desktopがバージョンアップする度に使い難くなったように感じます。

その極めつけが最新バージョン 11.10 で採用された、メニュー表示(ファイル、編集、表示、ツール、ヘルプなどといったもの)を画面最上段のバーにオーバーラップするというもの。
省スペースといば聞こえがいいですが、カーソルを合わせない限り、そこにメニューがあることに気付かないので慣れるまでは解りづらいことこの上なし。

ウインドウが最大表示になっている時はまぁ理屈に合っているとも言えますが、最大表示でない時は、ウインドウの上部にあるべきメニューがウインドウから遥か離れたトップバーにカーソルを移動させたら表示されるといいうのはあまりにも無理があります。

実際、この仕組みを理解していなかったため、最大表示の時にウインドウの閉じ方がわかなかったり、最大表示でない時は、ディレクトリ表示で、ファイル名だけの表示や詳細リスト表示(ファイルサイズや更新日付)といった表示形式の設定がウインドウ内に見当たらなかったのでパニックになりました。

Ubuntuが一般ユーザーに受け入れられるためにはWindowsユーザーが違和感無く使えることが重要ではないかと思っているのですが、Mac OSのようにウインドウの閉じる/最小/最大ボタンが左側にあったり(gconf-editorで変更可能だけど不完全)、スクロールバーが普段は隠れているなどUIの方向性が嫌な方に向かっているような気がします。

とりあえず、最新バージョンは安定性も悪いのでパス。

| | Comments (0) | TrackBack (0)

2011.08.10

Evernoteを止めてCatch.comに

Evernoteを1年ほど使ってきましたが、数ヶ月前からPCでの日本語入力の変換中にバックスペースキーを2回押すと、確定済みの文字が行単位で消えてしまう現象がクライアントソフトとブラウザの両方で発生するようになり、マトモに使えなくなりました。

代わりのクラウド版ノートサービスを探していて見つけたのが Catch.com。
PCのブラウザ上では、あまりパッとしないシステムで、タグで分類する機能くらいしかありませんが、Androidでリマインダーが利用できるので個人的にはEvernoteより便利です。

Catch.comにはリッチテキスト機能もありませんが、Evernoteではインデントが中途半端にしか機能しなくてイラつくことが多かったので、まぁ無くてもいいでしょう。

| | Comments (0) | TrackBack (0)

2011.07.29

Excel印刷で1ページに収まらない

1ページに収まるはずのエクセルシートが特定のPDFドライバを使用するとレイアウトが崩れて2ページに跨ってしまうという問題が持ち込まれました。
確かに、レーザープリンタやインクジェットプリンタでは収まるのに、一部のPDFドライバでは収まってくれません。


エクセルの印刷といえば、編集画面とプレビュー画面ですら合わないのが普通で、列幅に余裕を持たせるよう指導しているのですが、今回の問題はそれに加えて“印刷品質の低解像度”が原因でした。


エクセルは印刷設定をファイルに保存しており、今回問題となったエクセルシートを印刷しようと cubePDF を選択しプロパティを見ると、「グラフィックの印刷品質」が96DPI になっていました。これをデフォルト値の 600 DPI に変更すると問題は解消しました。


同様に、余白ギリギリで縮小拡大99%という微妙な設定のエクセルシートでは 1200DPI にまで上げないといけませんでした。


エクセルの[ファイル]-[ページ設定]-[ページ]-[印刷品質]は現在選択されているプリンタによって選択肢が変わります。ここの値が96DPI だったとしてもプリンタ(ドライバ)によっては無視されて 600DPI で処理されてしまうので問題が発覚し辛いのでしょう。


他人が作ったシートや別のプリンタを使用したシートを使う場合はこんなところまで確認しなければならないのは大変ですが、最初から誤差を考慮して余裕を持たせたレイアウトにしておけばそもそもこんな問題は起きないわけで・・・・・・

| | Comments (0) | TrackBack (0)

2011.06.21

やっかいなIE9プレインストールPC

現場用に3台目となる Dell Vostro 3750を購入しましたが、開けてビックリ、Internet Explorer 9 になっていました。先月まではIE8だったのに。企業向けパッケージでこのタイミングでIE9はないんじゃない?

このあいだ、IE9が公開された際に、幾つかのWebベースの業務システムを試したら、見事に問題が発生。エレメントの位置制御(.style.topなど)で値に単位(px)を付けなければならないという、気の利かない仕様にはまり、応急処置で何とか気づいたところだけ対応したものの、IE9はまだ早いと判断したばかりなのに・・・

本来ならIE8が導入できるか試すところですが、今後購入するDellPCにはIE9が入っているであろうことを考えると、ここは覚悟を決めて業務システムのIE9対応を進めることにしました。

しかし、IE9に対応できていないサイトが多すぎてPCの設定作業段階であっと言う間に挫折。結局、下記サイトの説明に従いアンインストールしIE8に戻しました。

http://pc.mogeringo.com/archives/5403

ポイントは、「Windowsの機能の有効化または無効化」でIE9を無効にしてはならない。「インストールされた更新プログラムの表示」でIE9をアンインストールすること。

| | Comments (0) | TrackBack (0)

2011.04.19

AutoCAD互換の無料ソフト「DraftSight」

工事部員全員にAutoCADを配布するのはコスト的に無理があるので、これまで関わらないようにしてきたのですが、久々に調べてみると、幾つか「AutoCAD互換」を謳ったソフトがヒットしました。

その中でもユーザーインターフェースがAutoCADに極めて近く、バージョン2010のdwgやペーパー空間まで対応した「DraftSight」に注目しました。


国際的な大手CADベンダーが開発し、WindowsだけでなくMac, Linuxにも対応していることからみて将来性がありそうで、しかも「商用可能な無料」。オープンビジネスモデルに基づきサポート料で稼ぐタイプ(現状では国内サポートなし)なので製品そのものが有料化されることはないということです。

まだ設計部員や工事部員に確認は取れていませんが、自分なりに操作の習得も兼ねて数日間触った感じは大変良好で、今後はDraftSightを社内CADソフトのメインにしたいという気持ちが強まっています。

| | Comments (0) | TrackBack (0)

2011.02.04

xajaxを試す。

phpプログラミングでxajaxを利用すると最小限のJavaScript記述でAjaxが実現できます。


気になるのはバージョンが 0.5 ということと、最低限の Tutorial と API DOCSしかないことで、業務システムに組み込むにはいささか心許ない。


それでも非常に魅力的なので試しにひとつふたつ書いてみたところ、prototypeでajaxを作るよりはシンプルでデバッグもしやすく、PHP側でinnerHTMLの出力するのは当然のこと、Style値の変更やJavascript関数の実行まで可能なのは大変便利です。

これまでprototype.jsを使用していてAjaxを書いていたときは、server側(php)での処理結果によってclient側(Javascript)で分岐させる必要が生じるとJavascript部分が長くなり、1画面に多数のajax機能を盛りこむと気持ち悪く感じたものですが、xajaxなら全てxajaxで処理させてみようという気にさせられます。

| | Comments (0) | TrackBack (0)

より以前の記事一覧