Flexibility.jsはIE8対応の際にバージョンに注意

7月 10th, 2023 No comments

システムレンタルもおかげさまで十分な機能を搭載し安定してまいりました。(つまり手がすきました)

ならばこの時期こそ、骨格や組み立て方などfoundmentalな部分を充実させよう・・・との考えで、新たなユニットである「業務記録」を作りつつ、レスポンシブデザインのレイアウトのカユイところが気になってショウがありません。

そこで横並びのエレメントを親エレメントの大きさに応じて「伸びたり・縮んだり」はフロートで処理しておりましたが、これが端っこのカドに引っかかって上手く表示できない・・・とか、まともにスルにはとても頭を使ってました。

ちょこっと調べたらCSS3からFlexBoxなるオイシイのがあるようじゃないですか。テストしてみたら思ったようにグニョグニョ変形してくれます。「よし!」

但し、当方のシステム利用環境はイントラネットが多く、なのでクライアントは未だにIE8も想定しておかないとイケなかったりします。(動作確認用にエミュレートではなくXP・IE8環境の「SteadyState! 懐かしい」マシンを持っチョリます。)

で、もちろんflexはIE8では動作してくれませんが、そんなことではくじけません。IE8向けにいくつもの余計なスクリプトを読み込ませていますので、ホラ!あった「Flexibility.js」。

こんなに簡単に実現しますよ・・・とのことで、ってnativeIE8では上手く行かないぞ!!!

アレやってみて、コレためして、頭にきて、腹が立って、土日になって、頭冷やして月曜日、冷静になって同じように再調査してもダメ。今週も諦めかけたとき、気になるトピックスがありました。

はい、Flexibility.jsのバージョンを2.0.1から1.0.6に落したら、すんなり動作しました。っま世の中そんなもんか。

翌日の追記:

うひょひょ・・・と、喜ぶのもつかの間。もちろんFlexBoxはメデタク使えるようになりましたよ。だけどコチトラ職人気質が強いのでしつこくチェックすると、今度はメディアクエリで問題が・・・。デカイのを縮めると上手く行くのですが、チイサイのを広げると、FlexBoxの変更部分だけが元に戻りません。

Categories: Mighty構想 Tags:

サービス内容とかをチョコッと変えました

5月 17th, 2023 No comments

いえ、このサイトもともとロクすっぽメンテナンスできていませんが、現状と違っている部分を直しました。おかげさまでシステムを採用頂いたお得意様も増えました。これからも宜しくお願いいたします。

Categories: お知らせ Tags:

キーワード検索を「あいまい」化・・・その後のカタカナ濁音の対応

6月 20th, 2022 No comments

すごく久しぶりに当方のサイトの管理画面に入って見ました。最終の投稿は2021.6.16なので、サホドではなかったデスね。

さて、その投稿も予約語に関する再度の覚書でしたが、実は今回も2012.3.15のキーワード検索を「あいまい」化の再検討のオハナシです。

今まで作成してきたシステムはマスタデータの登録は、手入力の画面も用意してはありますが、基本的には別システムのデータをcsv形式でインポートさせちゃうので、カタカナに関しては全角なのか?半角なのか?は、統一されておりました。

ちなみに、当方では2004年から専門学校でコンピュータの講義をさせてもらってますが、この半角カタカナを採用せざるを得なかった当時のジジョウや、これは当時はもちろん現在でもガラパゴス的なモノなので、「極力使うな!」否「使ってはイケナイ!」・・・などと申しております。

今回、困ったのはこの全角カタカナと半角カタカナが混在するデータがありまして、検索の際にカタカナの濁音問題で、欲しいデータがヒットしないとの声を頂いたのです。

ウーム。これは困った。濁音カタカナは全角では1文字だが半角では2文字だぞ。検索キーをプログラムで、全角バージョンと半角バージョンに変換して、「or」で処理するか????
なんぞと、おバカな構想をしておりましたが、ググってみればよい知恵を出してくれているでは「あ~りませんか」。

そうです。ぜんかいと同様にD/Bに依存しちゃいますが、D/B側の関数で処理します。

以下に今回参考にさせてもらいながら作った関数を書きますね。

—————————–

CREATE OR REPLACE FUNCTION conv(param character varying)
RETURNS character varying AS
$BODY$
declare
c_half character varying :=param;
begin
–アルファベットの変換
c_half = translate(c_half,
‘abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’,
‘ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ’
);
–数値
c_half = translate(c_half,
‘1234567890’,
‘1234567890’
);
–カタカナ(濁音)
c_half := replace(replace(replace(replace(replace(replace(c_half,’ヴ’,’ヴ’ ) ,’ガ’,’ガ’ ),’ギ’,’ギ’ ),’グ’,’グ’ ),’ゲ’,’ゲ’ ),’ゴ’,’ゴ’ );
c_half := replace(replace(replace(replace(replace(c_half ,’ザ’,’ザ’ ),’ジ’,’ジ’ ),’ズ’,’ズ’ ),’ゼ’,’ゼ’ ),’ゾ’,’ゾ’ );
c_half := replace(replace(replace(replace(replace(c_half ,’ダ’,’ダ’ ),’ヂ’,’ヂ’ ),’ヅ’,’ヅ’ ),’デ’,’デ’ ),’ド’,’ド’ );
c_half := replace(replace(replace(replace(replace(c_half ,’バ’,’バ’ ),’ビ’,’ビ’ ),’ブ’,’ブ’ ),’ベ’,’ベ’ ),’ボ’,’ボ’ );
c_half := replace(replace(replace(replace(replace(c_half ,’パ’,’パ’ ),’ピ’,’ピ’ ),’プ’,’プ’ ),’ペ’,’ペ’ ),’ポ’,’ポ’ );
–カタカナ
c_half = translate(c_half,
‘アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォカケッャュョワ’,
‘アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォヵヶッャュョヮ’
);
–ひらがな
c_half = translate(c_half,
‘あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉっゃゅょゎ’,
‘アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォッャュョヮ’
);
/*
–記号
c_half = translate(c_half,
‘ !”#$%&()ー-=^~|@`「[{;+:*」]}、,<。.>・/?_’,
‘ !”#$%&()ー-=^~|@‘「[{;+:*」]}、,<。.>・/?_’
);
*/
c_half := replace(c_half,””,’’’ );
c_half := replace(c_half,chr(92),’¥’ );
return c_half;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

—————————–

上記で、コメントアウトしている記号の部分は活かすと上手く行かなかったのでハズしました。

# ちなみに専門学校の学生に紙に文字を書かせると「この講義の内容を仕事に生かして」と、「活かして」が書けない学生が非常に多いです。

今回の試行錯誤で、最初に参考にした関数を使うと、postgres9.hogehogeでは動作して「よし、対応出来たゾイ」と、幕を下ろすハズだったのですが、なんとpostgres8.hogehogeでは動作しなかったのです。

調べるとマズ、8ではplpgsqlがないとのことで、

createlang -d mighty plpgsql

posgre君のコマンドプロンプトから上記を実行。

でも、ダメっぽい。

さらに試行錯誤して、どうやら引数の受け取りが上手く出来ていない感があるので、上記のように型名だけでなく変数名も宣言して、declareで代入と動作しました。

# 引数の配列的な宣言$1が解釈できなかったのカナ?

以上、理屈はとも角、動けばヨイというショーモナイ対応でアリました。

追記:あとレスポンスにエライ時間かかるようになるから、半角カタカナが居ない環境ではヤメタ方がイイネ!