プロセスを確認して消す

Tera Termでリモートアクセスし、vimで文章編集中。
おっと、席をはずしてる間に手元のPCが落ちてる!
あっ 間違えてTeraTermのウインドウ消しちゃった!
 
などなど
 
その後もう一度、そのファイルを編集しようとすると、他のプロセスでオープン中だと怒られます。
さて、プロセスを消しましょう。
 
まずPID(プロセスID)を確認

ps -a -u

a:自分以外のユーザーのプロセスも表示する
u:ユーザー名と開始時刻を表示する
 
これでPIDを確認
 
そしたら

kill -9 -pid

pid:ここにPIDを入力
9 :SIGKILL Killシグナルによるプロセスの終了

起こしたエラー

incompatible types in assignment
  代入文で両辺の型があってない

↓今日一番悩まされたエラー

invalid parameter combination for AltiVec intrinsic

どうやら データの型が問題らしいがどーにも原因が分からず
嫌気さして、休憩したら見つかりました。

vc_tmp = vec_perm(ve_in[i], zero, vpat1);

これのvpatが 本来 vector unsigned char のところ vector signed char になってるのが原因でした。

文字コードとおもわれるコンパイルエラー

PS3にインストールしてあるYellow Dog LinuxSIMD演算のサンプルプログラムをコンパイルしようとしました

おおよそこんな感じのエラー

test.c:22: error: `B' undeclared (first use in this function)
test.c:22: error: (Each undeclared identifier is reported only once
test.c:22: error: for each function it appears in.)
test.c:25: error: stray '\33' in program

プログラム中の

printf("\n");

が原因らしい。
もっと言うと n" が B と認識されてるような・・・

その場しのぎで

printf("\n ");

で実行はできました

TomcatからAccessデータベースへアクセス

Tomcat上でJSPを動かしjavaからAccessデータベースに接続しようとしたところドライバエラーが起こりました。

 

Tomcatはウインドウズサービス版をインストールして使っていたのですが、
zip版をインストールしてそっちで起動したら動きました。

 

原因はPCにjavaSDKの類が複数入っていたためと考えられます
tomcat落とす時にjavaSDK確認したらバージョンが古かったから
消さずに新しいのを落としたんだよね)

ExcelやAccessのVBAでWebのHTMLを取得して処理をする


Web情報を得る段階

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Sleepの定義
Sub gethtml() 
    Dim objIE    As Object  'IEオブジェクト参照用

    'IEのオブジェクトを作る
    Set objIE = CreateObject("InternetExplorer.application") 
'    objIE.Visible = True 'エクスプローラで表示する
    objIE.Navigate URL

    Do Until objIE.Busy = False    '読み込みが終わるまで待つ
        Sleep 1000
    Loop

    Debug.Print objIE.Document.Body.InnerHtml 'イミディエトにHTMLを表示する

    'IEを閉じる
    objIE.Quit
    Set objIE = Nothing


htmlを解析し必要情報を取得する

    Dim objTAG   As Object  '1つ1つ タグのオブジェクトを入れる

    For Each objTAG In objIE.Document.all    'odjTAGにタグが順に代入される

        If objTAG.tagName = "IMG" Then
            If objTAG.src = "http://〜〜/point.gif" Then
                Title = objTAG.nextSibling.innertext
            End If
 
        ElseIf objTAG.tagName = "SPAN" And objTAG.className = "class21" Then
            tmp = objTAG.innertext

        End If
        
    Next

InternetExplorer.application.Documentのプロパティ
objTAG.tagName
 タグ名が大文字で入っている
objTAG.src
 srcメンバはtagNameがIMGの時のみ存在するのでIf文の内側で判断する
 絶対URLが入っている
objTAG.innertext
 そのタグの内側にある文字列
objTAG.nextSibling.innertext
 そのタグの次のタグの内側にある文字列
objTAG.className
 そのタグのクラス名
objTAG.ID
 そのタグのidの値



便利な関数

InStr(objTAG.innertext, "シアター")

シアター文字列の出現する位置を返す
存在しない場合には0を返す

文字コードの問題

Tomcatを用いてユーザからデータを取った場合
問題となるのが文字コードである
Tomcat上では文字コードはShift-JISだが java文字コードUnicodeだからである

そのためjavaで処理した文字をTomcat上で表示をすると大抵文字化けが起こる


まず javaの文字をTomcat上で表示できるようにする

JSPファイル上部

<%@ page contentType="text/html; charset=Windows-31J"%>

JSPファイル内

<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J" />

受けとった値をjava内で扱えるようにする

String WantMovie = new String(name.getBytes("iso-8859-1"), "Shift_JIS");

nameはString型の変数で ユーザーが入力した値が格納されている
これにより WantMovie にjavaで扱える文字列が格納される

JSP間 もしくはHTML→JSP への値の受け渡し

送信元のHTMLもしくはJSP

  <form method=POST action=result.jsp>
 映画名<input type=text name=MovieName>
  <input type=submit value="検索">
  </form>

method=
 POST
    ユーザに見えない状態でデータが渡される
    キャッシュを保存させない(ブラウザの「戻る」が使えない)
    「お気に入り」に保存できない
 get
    URLの後ろに「?MovieName=映画名」が付加されて送信される
    送信量に制限あり
    キャッシュが保存される(ブラウザの「戻る」が使える)
    「お気に入り」に保存できる


action = 値を渡すJSP

type = インプットボックスの種類

name = 変数名 これを使って値を受け取る


    

受け取り側のJSP

String Name = request.getParameter("MovieName");

これでNameに受け取った値が代入される