2016年09月24日

Nprton WiFi Privacy

iPhone7が発表されて、各キャリアからも20GBとかのプランが出だしたから、
WiFiを利用しないという手も取れるけれども、それでもYoutubeやニコ動を1時間も見れば
パケットは1GBぐらいいくわけなので、やっぱり公衆WiFi使いたいよねぇ。
とはいってもセキュリティ的にアカンやつとかもあるので、自衛したい。
自分の情報を狙われるというより、踏み台にされることが怖い気がするね。

そこで、安心安全信頼のノートン先生のVPN
https://itunes.apple.com/jp/app/id1095519285
アンドロイド版もあるみたいよ。

ちょっと検証してみたけど、テザリングしているとVPNにならない。
(WiFi接続、USBやBlueToothは未検証だし、仕様なのかどうかも未確認)

(1)iPhone  (VPN-ON)
(2)iPad(WiFi版)をiPhoneへテザリング

この状態で確認くんしてみると(1)はちゃんと西海岸なりドイツなりになるが
(2)はSoftBank(筆者はSoftBankキャリア)になる。
中国に出張をよくする友達に聞かれて確認してみた。
行ったことないけど、中国のネットはやっぱ怪しいらしい。
研究職だからかすごい気にしていたね。
posted by koteitan at 20:40| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする

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 | このブログの読者になる | 更新情報をチェックする