2016年09月10日

pyQt メモ(イベントの接続)

evernoteにメモしてたんだけど、やっぱ公開しないとな。
こっちもたくさんの公開blogとか参考にさせてもらってるんだしね。
慣れた人には当たり前なのだろうけど、ね。

#ImageBoxのイベントを上書きして設定
self.ImageBox.mouseDoubleClickEvent=self.mouseDoubleClickEvent

Dialog->Panel->QGraphicsViewってのっけたUI作る時って、
Dialogを継承して、メンバにpanelやらくっつけるってやるでしょ。
そしたらイベント定義できるのがDialogになるけど、そこでのdoubleclickedを
ハンドリングしてもコンポーネントの隙間のところのダブルクリックしか反応しない。
全体とか、広い部分で反応してくれよ、ってのを調べてたらこんな簡単だったでござる。

後から見直してみると、これImageBox側が必要としている
mouseDoubleClickEvent()の処理(superを含む)が呼ばれなくないかなぁ・・。
何も実装されていない場合はいいかもしれんけど、
めんどくさがらずにちゃんとサブクラス作ったほうがいいのだろうか。
【関連する記事】
posted by koteitan at 12:07| Comment(0) | TrackBack(0) | python | このブログの読者になる | 更新情報をチェックする

tarファイルのパーミッションについて

一般ユーザーは考えなくてよい問題で
スーパーユーザーの場合は、デフォルトでpオプションが付く。
これによりUID、GIDが保存され、展開したときに元のUID,GIDを回復できるという
わけだが、例えば同じユーザー名だがUIDが異なる場合などの動きは
いろいろある模様。

GUNtarにはこういった場合にユーザー名に追随するのか、UIDを使うのかを
制御するオプションがあるようだが、AIXのマニュアルには見当たらないな。

動きを見てみる限りでは、追随する(-n無し)ようだが。
tar.png

(cf)
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=tar%A4%CE%A5%AA%A1%BC%A5%CA%A1%BC%A1%A2%A5%D1%A1%BC%A5%DF%A5%C3%A5%B7%A5%E7%A5%F3%A4%CE%B0%DD%BB%FD%A4%CB%A4%C4%A4%A4%A4%C6
http://blog.xe.bz/archives/51645042.html
http://www.gnu.org/software/tar/manual/html_node/Attributes.html

posted by koteitan at 11:59| Comment(0) | TrackBack(0) | aix | このブログの読者になる | 更新情報をチェックする

2016年09月04日

つめつめ〜♪

つめつめ〜♪ が耳から離れない…

パズドラのパズルを一手詰めに置き換えたとパクリアプリ

http://tumetumelord.com/
posted by koteitan at 18:59| Comment(0) | TrackBack(0) | 将棋 | このブログの読者になる | 更新情報をチェックする

WebSphere V9

GA版が発表されたWAS9。
個人的にうれしいのはjythonが2.7に更新されたということだなー。
これで「そんな関数はありませんムキー!いちからか、いちからつくらないとだめか!」
から開放されるぞ、やったね。

最近jythonまったく触ってないけどね!
posted by koteitan at 18:55| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

procfiles

AIXでプロセスがオープンしているファイルについて調べたい場合は
procfilesというコマンドで行う。

procfiles -n [PID]

別に/procのfdの数を数えてもいいしsystemdumpからもわかるから
発生している問題の状況を見極めて適切なものを選ぼう。

まぁ、それが難しいんだけどねぇ。

cf
http://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.cmds4/procfiles.htm
posted by koteitan at 18:52| Comment(0) | TrackBack(0) | aix | このブログの読者になる | 更新情報をチェックする

2016年08月24日

ServerIOTimeOut の弊害

更新何年ぶりだろな

相変わらず、WebSphereとかjavaとかしてますが、あまり目新しいことや
Tips的なの無いんですよね。(有っても書けないことのほうが多いからのう

今回はWASV6からだったか追加されてるServerIOTimeOutの挙動についての豆知識。
マニュアルなどからは読み取れない細かい話だけれども。

http://www-01.ibm.com/support/docview.wss?uid=jpn1J1000347
http://www-01.ibm.com/support/docview.wss?uid=jpn1J1012104

ここいらに書いてあるServerIOTimeOutのパラメータについて、
クラスタ構成で、正の値が指定されている場合、マークダウンせずに次のサーバーへ
リルートが行われる。

多重処理を防ぐために、PostBufferSizeをゼロにした時、
説明にはこうある。

"
PostBufferSizeが0であるためリクエストのコンテンツをバッファーせず、
更にServerIOTimeoutが正の値ですので、該当サーバーをマークダウンせず、
クライアントに500エラーを返します。
"


HTTP応答コードは最初の応答を返す前に付与される情報であるので、
例えばいくつかの応答を吐きだした後に、Webアプリケーションが張り付いた場合
クライアントには既にHTTP200といくらかの応答が返っているので、HTTP500を返すことはできない。
よって、応答コードだけをServerIOTimeOutが発生したかの判断に使うのは危険だと思う。

この少しだけ応答した場合のServerIOTimeOut有無はAccessLogの応答サイズや、
応答時間ぐらいしか判断材料がない。
http_plugin.logで確認するにはLogLevelをDEBUGまで上げる必要がある


http_plugin.log
[24/Aug/2016:16:01:28.65581] 00001df0 be1fc700 - DEBUG: mod_was_ap22_http: cb_write_body: In the write body callback writing 289
[24/Aug/2016:16:01:28.65601] 00001df0 be1fc700 - DEBUG: lib_htresponse: htresponseGetChunk: Getting the next chunk
[24/Aug/2016:16:01:28.65604] 00001df0 be1fc700 - TRACE: lib_rio: Blocking for read, waiting 45
[24/Aug/2016:16:01:29.22684] 00001e11 c8ed2700 - DEBUG: mod_was_ap22_http: as_child_init pid= 00001E11
[24/Aug/2016:16:02:13.66877] 00001df0 be1fc700 - DEBUG: lib_rio: wait_on_socket: ServerIOTimeout fired.
[24/Aug/2016:16:02:13.66883] 00001df0 be1fc700 - DEBUG: lib_rio.c line 894 : Read failed, rc=11

access.log
192.168.1.10 - - [24/Aug/2016:16:00:00 +0900] "GET /MyTestWeb/post.html HTTP/1.1" 200 409
192.168.1.10 - - [24/Aug/2016:16:01:28 +0900] "POST /MyTestWeb/IOTimeOutTest.jsp HTTP/1.1" 200 289

※ServerIOTimeOutを45秒に設定、アプリケーションで少し出力したあとに60秒sleepさせてみた結果


htresponseGetChunkのエラーで検知できるかもだが、ちょっと微妙過ぎる気がするぜ。
どうでもいいが、TimeOut発動時のログ、fired! ってのがちょっとかっこいいな
posted by koteitan at 22:34| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2014年06月11日

[AIX]coreファイルの出力先変更について

オッサンはsyscorepathをinittabに入れる
→ syscorepathは恒久変更じゃないから
 確認方法 はsyscorepath -g

最近の人はchcoreを使う。
確認は chcore -l

infocenterのリンクは貼っても古くなるのでコマンドでgoogleしてくだされ。
posted by koteitan at 18:23| Comment(0) | TrackBack(0) | aix | このブログの読者になる | 更新情報をチェックする

2013年06月05日

[WebSphere]スレッド数を見たい時点でもう設計として(以下略 −2−

しかし、本当に要るのだろうかね。
詳細は前回のリンクの英文にあるので、それを見てもらえば概ね大丈夫だとおもうです。

(1)PMIの名前をゲットしてきて

#PMI Name
perfN = AdminControl.completeObjectName('type=Perf,process='+AS名とか+',*')

(2)PMIオブジェクトを作成して
   ((1)の名前がとれなかった場合は、PMIが無効になっている)

#PMI Object Name
perfObj = AdminControl.makeObjectName(perfN)

(3)見たいパフォーマンスデータのオブジェクト名を取得してきて

thpool_w = AdminControl.completeObjectName('type=ThreadPool,process='+AS名やって+',name=WebContainer,*')

(4)javax.management型に変換して

import javax.management as mgmt
param = [ mgmt.ObjectName(thpool_w), java.lang.Boolean('false')]

(5)jmxのメソッドを呼ぶ

sigs = ['javax.management.ObjectName', 'java.lang.Boolean']
th_stat = AdminControl.invoke_jmx( perfObj, 'getStatsObject', param, sigs)

(6)あとは煮るなり焼くなり好きにしてくれ
 (これは数だけ表示させる例)

for i in th_stat.getStatisticNames():
stat = th_stat.getStatistic(i)
stat_val = None
className=str(stat.getClass())
if (className.find("Count") > -1):
stat_val = stat.getCount()
else:
stat_val = stat.getCurrent()

print "%s,%s,%s" % (stat.getName(),stat.getDescription()[:-1],stat_val)


原文抜粋
To show how you can do this, we'll start with the techniques described in an earlier article, Writing PMI applications using the JMX interface. The examples in that article were created for Java developers. Here, we'll use wsadmin Jython scripts to demonstrate how easy it can be using this method to read and understand performance metrics.

なんて簡単なんでしょう!そう、IBMerならね!(ドヤァ

ホンマか!?(;´Д`)
ホンマにこれ簡単なんか!?

参考リンク
http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fpublic_html%2Fapi%2Fcom%2Fibm%2Fwebsphere%2Fpmi%2Fstat%2FStatsImpl.html

https://www.ibm.com/developerworks/websphere/techjournal/1112_guillemenot/1112_guillemenot.html?ca=drs-

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/rxml_admincontrol.html
posted by koteitan at 14:13| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2013年05月30日

[WebSphere]スレッド数を見たい時点でもう設計として(以下略

PMI()にアクセスできればWASの内部状態を知ることができる。
例えば活動中のスレッドプール数、コネクション接続数などなど。
設定値上はMin/Maxしかないものの現在の値がチェックできるので、見積もり時や
トラブル時などに役に立つだろう。
決して本番稼働中システムの設定値が妥当かどうかを見るために使うものではないと思う。
(理由は(1)の※2)
ただし、PMIのデータを見るには以下のいくつかのステップが必要だ。

(1)WASのPMI機能を有効にする
  ※1 適切なレベル設定になっていないと見たいものが見えない
  ※2 しかし上位になればなるほどパフォーマンス影響がでる。(プロファイラみたいなもんだし)

(2)ローカルマシン上のTPVクライアントから(1)のサーバーへ接続して目的のJVMを確認する
   もしくは管理コンソールから確認する(負荷かかるのでローカルの方がよい)

まぁ、ほとんどは(1)のステップが設定変更を伴うためウヘァとなるだろうか。
TPVによる図示はSVG変換などでいくらか余計なコストがかかるので、
wsadminから強引に取りだすこともできる。スクリプトなのでロギングしたり、定期的にチェックしたりも余裕でできる。
(やっと本題)
だが、長いので次回に。

ここ見て予習しておいてくだせぇ('ω')ノ
http://www.ibm.com/developerworks/jp/websphere/library/was/was8_jvm_update/

しっかし、これ役に立つんだろうか・・。備忘録とはいえ忘れていいんじゃないかとすら思う(;´Д`)。
posted by koteitan at 09:31| Comment(0) | TrackBack(0) | WebSphere | このブログの読者になる | 更新情報をチェックする

2013年05月29日

[セキュリティ]これはひどい(;´Д`)

robots.txt の設定がクソまじめすぎて噴いた。
ピュアハートなのだろう。

それは robots.txt の問題じゃなくて...
http://hyper-text.org/archives/2013/05/robotstxt_is_not_bad.shtml

Drupalについては詳しく知らないけど、オープンソースなCMSなんでしょう。
WebサイトやHTMLの構造に詳しくなくてもポータルサイトを運営したりと利用者からすれば
便利なものではあるんだが、構築ぐらいはプロに頼まないとなぁ・・。
オープンソース=タダ=安い が先行してると感じたよ。

CVVの保存とかシステム設計自体もイケてないっぽいしなー。
インシデント発生から発表までの遅さとかから運営会社自体イケてないのはわかるが
構築した業者も相当だと思ったなぁ。
まぁ、セキュリティの会社に頼むと高いからな。安く済ませたいのはわかるけど
高いのには高い理由があるし、その逆で安いのは安い理由があるんだよなぁ。
流出したIDの持ち主さんや、不正利用されたショップ様がかわいそうだぜ。

それにしても、この会社の杜撰さを叩くのは私もわかるけど、
一番悪いのはIDを盗んだ連中と不正利用している連中だよな。
鍵がかかっていなかったら盗んでよい、なんてことはないわけで。
詐欺とかもそうで、だまされるやつが悪いんじゃなくて、だます方が悪いんだしね。


posted by koteitan at 17:50| Comment(0) | TrackBack(0) | 情報処理 | このブログの読者になる | 更新情報をチェックする