Alice の備忘録

大人の学習帳

【xampp】Tomcatサービスが起動しない

Windows 7 で xampp を使用していて、Tomcatサービスが起動しなかった時の対処方法についてのメモ。

事象

xampp Control Panel Application の画面にて、Tomcat の[Start]ボタンを押しても「running」が表示されず、ボタンが[Start]のままとなる。正常に起動した場合はボタン名が[Stop]に変わるはずである。また、画面下には「Tomcat service started」と表示されているが、実際には起動していない。

xamppの画面からではなく、Windows の 管理ツール > サービス の一覧から、Apatch Tomcat の開始を実行しても、エラーとなって起動できない。

なお、以下の方法でポート番号が既に使用されていないか確認したが、対象のポート番号は使用されていなかった。

※portcheck.bat や xampp-portcheck.exe を直接実行でも同様だと思われる。ポート番号が空いていればFREEと表示される。

原因

xampp/tomcat/conf 配下の logging.properties に設定されていたログの出力場所を確認したところ、ログがいくつか出力されており、jakarta_service.log (サービス起動停止のログ)に以下のエラーが出ていた。

[174 javajni.c][error]指定されたモジュールが見つかりません

これを元に調べたところ、Microsoft Cランタイムライブラリである msvcr71.dll が見つからないのが原因であった。

余談だが、ログは xampp > tomcat > logs 配下に出力されるとはじめに思い込んでいたので、ログが出ていない……と勘違いし、変に悩んでしまった。

対処方法

xampp のフォルダ配下を検索したところ msvcr71.dll が2つヒットしたので、その中の1つをコピーして以下のフォルダに置いた。

  • 32bitマシンの場合:C:\Windows\system32
  • 64bitマシンの場合:C:\Windows\SysWOW64

複数検索結果がでてきても中身は同じはずなので、コピーするのはどれでもよい。

これだけで起動できるようになった。

【作り方】オーガンジーリボンで作るトリプルリボンのヘアアクセ

f:id:alice000:20170715220819j:plain

ストックしてあった濃ピンクのオーガンジーリボンで、ヘアアクセを作ってみた。

材料

f:id:alice000:20170715220851j:plain

  • リボン 2.5cm幅×120cmぐらい
  • 真ん中につける飾り(なくてもよい)
    • 薔薇の透かしパーツ ゴールド 1つ
    • 7mmパール ホワイト 1つ
    • 丸カン ゴールド1つ
    • 9ピン ゴールド1つ
  • ヘアアクセ金具(クリップやバレッタ

作り方

1. リボンを切る

f:id:alice000:20170715220741j:plain

30cm×2本、24cm×2本とあまりの切れ端1本とする。 リボンの端は透明なマニキュアや接着剤でコーティングしておく。

リボンの長さはお好みでもよい。

2. リボンを輪にして中央で引き絞る

f:id:alice000:20170715220748j:plain

30cm×1本、24cm×2本をそれぞれ、リボンの端と端が中央で8mmぐらい重なるようにして持ち、中央をぐし縫いして引き絞る。 引き絞ったら糸を1~2周してから、中央の適当なところに針を指して形を整えてから玉止めする。

リボンを切った時の切れ端1本は、組み合わせたリボンの中央部のパーツとして使うので、ゆるい1つ結びをしておく。

3. パーツを組み合わせる

f:id:alice000:20170715220753j:plain

写真のように重ねてバランスを確認してから、中央部を針と糸を使って固定していく。 一気にまとめてではなく、1パーツずつ組み合わせて行った方が位置を調整しやすい。

4. 中央部のパーツをつける

f:id:alice000:20170715220758j:plain

ゆるい1つ結びをしておいたパーツを、糸が隠れるように中央部に重ね、裏側で固定する。

5. 仕上げ

f:id:alice000:20170715220811j:plain

お好みで飾りパーツをつける。 今回は透かしパーツとパールのビーズが揺れるように丸カンでつけた。

できあがったトリプルリボンの裏側に、ヘアアクセ用パーツ(クリップやバレッタ)を縫い付けるかホットボンドなどでつければ完成。

まとめ

手順をまとめたものがこちら。

f:id:alice000:20170715220816j:plain

素材やリボンの長さを変えてみれば、また雰囲気ががらっと変わると思う。
夏はオーガンジー素材が涼しげだし、冬はベロア素材が合う。真ん中にカメオとかをつけても良さそう。

リボンやレースはここでよく買っていた。安い。とりあえずここでないか探してから他のサイトを見たりしている。

別の店だけど、グラデーションカラーのオーガンジーリボンも可愛い。今回作ったものと同じ25mm幅。

25mm オーガンジー グラデーションリボン (全6色) 2m[P44400]

グログランリボンで作ったら、大分しっかりとした形になって存在感のあるヘアアクセが作れそう。

25mm【まとめてお買い得】グログランリボン (定番色) 6m

ストライプリボンなら、夏にピッタリなマリン風のヘアアクセも作れそう。マリンモチーフのチャームと組み合わせたくなる。錨とか貝殻とか。

【まとめてお買い得】25mm 両面ストライプリボン 6m (全17色)

《★》アンティーク調 チャーム★アソートH 5個

カン付き ゴールドチャーム パールと貝殻 1個

CMO カン付き ゴールドチャーム マーブル風カラー シェルチャーム 1個

平成29年度春期 DB試験 午前2で私が間違えた3問

データベーススペシャリスト試験受けました。
午後1が時間内に全然解き終えられなかったので落ちたと思います。
次は午前1免除の有効期限が切れるので、次は朝一からぶっ続けかと思うとつらいです。

午前問題は回答がすぐ公開される( 公式の解答例 )ので答え合わせしました。
午前2については某ドットコムをやりこんでいたので、ひょっとしてひょっとしたら全問正解かも……なんて考えたりしましたが、自信のなかった問題はやはり間違えていました。

そんな間違えた問題3問についてメモです。

※ 問題文は上記のリンクからも飛べるIPAの公開情報から引用しています。

1:H29春 午前2 問8

問題文

“社員"表から、部署コードごとの主任の人数と一般社員の人数を求める SQL文とするために、a に入る字句はどれか。ここで、実線の下線は主キーを表す。

社員(社員コード, 部署コード, 社員名, 役職)
※社員コードに下線

SQL 文〕
SELECT 部署コード,
COUNT(CASE WHEN 役職 = ‘主任’ [ a ] END) AS 主任の人数,
COUNT(CASE WHEN 役職 = ‘一般社員’ [ a ] END) AS 主任の人数
FROM 社員 GROUP BY 部署コード

〔結果の例〕
部署コード 主任の人数 一般社員の人数
—————————————————————–
AA01   2 5
AA02   1 3
BB01   0 1

ア THEN 1 ELSE -1
イ THEN 1 ELSE 0
ウ THEN 1 ELSE NULL
エ THEN NULL ELSE 1

答え

コメント

イを選んで間違えました。
もし役職が「主任」か「一般社員」に一致しなければ人数をカウント(加算)しなくてよいので ELSE 0 かと思ったのですが、COUNT 関数はその列の値が NULL 以外のレコード数をカウントするので、0が返ってきたとしても+1としてカウントされてしまうのでした……。
なので正解は ELSE NULL のウでした。

2:H29春 午前2 問9

問題文

SQLが提供する3値理論において,A に 5,B に 4,C に NULL を代入したとき,次の理論式の評価結果はどれか。

( A > C ) or ( B > A ) or ( C = A )

ア Φ(空)
イ false(偽)
ウ true(真)
エ unknown(不定)

答え

コメント

NULL が入った時にどうなるか覚えていなくて、イを選んで間違えました。
そもそも3値論理の3値が、true と false の2つの真理値のほかに unknown を追加したものなので、問題文の「3値論理」がちゃんと目に入っていれば推測できたかもです。
3値論理では以下のような優先順位があります。

  • ANDの場合:false > unknown > true
  • ORの場合 :true > unknown > false

例)

  • trun AND unknown → unknown
  • true OR unknown → unknown
  • false AND unknown → false
  • false OR unknown → unknown

これより問題文の論理式を考えると次の通り unknown となるのでした。
unknown or false or unknown → unknown

3:H29春 午前2 問22

問題文

メモリアクセスの信頼性を高めるための方式で,データ誤りの自動訂正が可能なものはどれか。

ア ECC
イ RSA
ウ チェックサム
エ パリティ

答え

コメント

「メモリアクセス」、「信頼性」、「データ誤り」というキーワードを見た瞬間、いままでに過去問でよくみたことがある「パリティ」をあまり考えずに選択してしまい間違えました。

ECC ( Error Correction Code ) は日本語だと誤り訂正符号。字の通り、データ誤りを検出して訂正することができます。
しかしパリティは誤りを検出することはできても、どこが誤ったかまではわからないため、訂正することができません。これはチェックサムも同様です。
なお、RSA公開鍵暗号の話なのでデータ誤りの自動訂正とは別の話です。

おまけ:勉強に使った本

DBについてはそんなに詳しくなく偶にSQLをちょこっと書くぐらいだったので、まるまる過去問本ではなく、解説+演習タイプの一から勉強できそうな本を探していました。
そこで、口コミとか全く見ずに書店に行っておすすめされていた 「 データベーススペシャリスト「専門知識+午後問題」の重点対策」( アイテック)を買ったのですが、これが自分には合わず失敗でした。
概念についての用語とかもさっぱりだったので、解説を読みこなすのにとても時間がかかってなかなか進まなかったので途中で断念しました。
ある程度理解している方なら問題なくスラスラ読みこなせるのかと思います……。

データベーススペシャリスト(2017) [ 山本森樹 ]

結局、自分でも読めそうな本をもう一度探して「 データベーススペシャリスト 合格教本」( 技術評論社)を買いました。
こちらは自分にもあっていたようでとても読みやすく、各用語の意味もしっかり理解していくことができました。
たまに解答説明の図の文字の間違い(コピペ修正漏れ?)なども少しありましたが、自分で気づけるかつ理解を妨げるレベルではなかったのでそんなに気にならなかったです。

データベーススペシャリスト合格教本(平成29年度) [ 金子則彦 ]

本によって記載のレベル感が結構違ったので、合わないなと思ったらもったいないと我慢せずに、すぐに切り替えることも重要だと思いました。