スマートフォンサイト

Posted by muchag | Eclipse | 2016-02-21 (日) 13:56:59

レスポンシブ Web サイトのデバッグを行っていて、
いざスマートフォンサイトのデバッグを行おうとして、UA 偽装の方法がわからなかった。

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
解決方法

単に、UA 偽装した外部ブラウザを設定すればよいだけ。

デバッグを開始すると、指定した外部ブラウザが自動的に起動する。
更新も、外部ブラウザ自体の更新(F5)で、Eclipse がちゃんと反応する。

外部ブラウザの設定方法
  1. [ウインドウ]-[設定]
  2. [一般]-[Web ブラウザー]
  3. Web ブラウザー
    1. [外部 Web ブラウザーを使用] を選択
    2. 外部 Web ブラウザー
      1. 適宜選択
      2. ない場合
        1. [新規]
        2. 外部 Web ブラウザーの追加
          1. 名前:任意
          2. ロケーション:当該ブラウザーの .exe ファイルへのパスを記述。[参照] から選べばよい
          3. パラメーター:ここに UA 偽装のパラメーターを指定

※パラメーターの欄が狭いので、下記のような長いパラメーターを入れると先頭まで見えない。
でも、入力欄の右にスピンボタンがあるので、そちらで確認することができる。

パラメーター
Chrome の場合

の一例。

  1. --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20" --user-data-dir="c:\temp"
Eclipse | 2016-02-21 (日) 13:56:59 |

ファイルの関連付け

Posted by muchag | Eclipse | 2016-02-16 (火) 16:53:49

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
手順

[ウィンドウ]-[設定]
[一般]-[エディター]-[ファイルの関連付け]
ファイルの関連付け
ファイル・タイプを選択。なければ追加
エディターの選択。なければ追加

Eclipse | 2016-02-16 (火) 16:53:49 |

デバッグ -> ブレークポイントで止めると、再開時エラーになる

Posted by muchag | Eclipse | 2016-01-07 (木) 19:02:09

【環境】
Eclipse:Mars.1 (4.5.1) PHP
症状

あるとき、突然デバッグ中に例外が発生するようになった。

ブレークポイントで止めて、再開させるとすぐ例外になる。
ブレークポイントの位置を変更しても変わらず。

エラー内容

「未定義のメソッドを使ってるよ~」だそうです。

PHP Fatal error: Uncaught exception ‘sfException’ with message ‘Call to undefined method opPcFrontWebController::getOption.’ in …

Call to undefined method searchActions::getOption.

原因

Eclipse [デバッグ] パースペクティブの [式] ビューに
$this->getOption(); を登録してあったこと。

解決

上記ウォッチ式を削除する。

試行錯誤

最初は真剣にエラー文言の通り、メソッドが足りないのかと
エラー文言で Google 先生へお伺いを立てた。

でも、な~んもなし。

それで、ふと思いつき、エラートレースの中の xdebug://debug-eval で検索したら
stack overflow:Call to a member function getAction() on a non-object
を見つけた。

中を読むと、ウォッチリストを全部削除したら直った、と書いてあったので
ウォッチリストを見てみると、$this->getOption(); なんていう式が・・・。

なるほど、これの getOption か。。。
チャンチャン。

Eclipse | 2016-01-07 (木) 19:02:09 |

YEdit

Posted by muchag | Eclipse,Library & PlugIn & AddIn | 2016-01-06 (水) 17:38:42

テーマを「ダーク」にしているせいか
YAML ファイル内容がグレー一色で暗いので、
こちらを試してみた。
GitHub:YEdit

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
インストール
  1. [ヘルプ]-[Eclipse マーケットプレース]
  2. Eclipse マーケットプレース
    1. 検索窓で「YEdit」
    2. [インストール]
  3. 選択されたフィーチャーの確認
    1. [確認]
  4. ライセンスのレビュー
    1. [使用条件の条項に同意します] を選択
    2. [完了]
関連付け
  1. [ウインドウ]-[設定]
  2. 左ペイン:[一般]-[エディター]-[ファイルの関連付け]
    1. ファイルの関連付け
      1. ファイルタイプ
        1. 選択。なければ [追加]
      2. 関連付けられたエディター
        1. 選択。なければ [追加]
    2. [OK]
書式設定
  1. [ウインドウ]-[設定]
  2. 左ペイン:[YEdit Preferences]-[「色」設定]
メモ
  • コメント:RGB(98, 98, 98)
  • キー:RGB(167, 236, 33)
  • Scalars:RGB(232, 198, 163)
  • 定数:RGB(167, 236, 33)、太字
  • アンカー:未設定
  • エイリアス:未設定
  • タグ:未設定
  • 文書:未設定
  • デフォルト:未設定
Eclipse,Library & PlugIn & AddIn | 2016-01-06 (水) 17:38:42 |

eclipse.ini

Posted by muchag | Eclipse | 2015-12-31 (木) 14:52:08

【環境】
Eclipse:Mars.1 (4.5.1) PHP
OS:Windows7 SP1 64bit
ファイル内容
  1. -product
  2. --launcher.defaultAction
  3. openFile
  4. --launcher.XXMaxPermSize
  5. 512M
  6. --launcher.defaultAction
  7. openFile
  8. --launcher.appendVmargs
  9. -vmargs
  10. -Dosgi.requiredJavaVersion=1.7
  11. -Xms256m
  12. -Xmx1g
  13. -Xverify:none
  14. -javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
メモリ
  1. -Xms256m → 1g
  2. -Xmx1g → 2g

としてみた。

Eclipse | 2015-12-31 (木) 14:52:08 |

“ワークスペースをビルド中” 中に内部エラーが発生しました。

Posted by muchag | Eclipse | 2015-12-20 (日) 13:13:54

コードのインデントにはタブを利用しないように、という話がある。
でも、コーディング中はタブキーは便利♪
そこで、タブをスペースに変換してくれる Eclipse の機能を利用。

【環境】
Eclipse:Mars.1 (4.5.1)
症状

発生したタイミング不明。

“ワークスペースをビルド中” 中に内部エラーが発生しました。
org.eclipse.objectteams.otdt.internal.migration.OTJProjectMigration cannot be cast to org.eclipse.objectteams.otdt.internal.compiler.adaptor.ProblemCleaner
原因

不明。

エラー文言が抽象的すぎて、検索不能。

解決
eclipse.exe

と同じ階層にある

eclipse.exe -clean.cmd

をダブルクリックして、クリーン起動することで
エラーが出なくなった。

Eclipse | 2015-12-20 (日) 13:13:54 |

同期化(差分を見る)

Posted by muchag | Eclipse,Git | 2015-12-18 (金) 16:13:33

【環境】
Eclipse: Mars.1 (4.5.1) PHP
手法
同期化パースペクティブを開くまで

いきなり [チーム同期化] パースペクティブを開くと、
[データ読み込み] か [同期化] か選べ!
と言われて、困ったw

Git
  1. [Git リポジトリー] ビュー
  2. 当該プロジェクトを開く
  3. [ブランチ] を開く
  4. [ローカル] または [リモート・トラッキング] を開く
  5. 当該ブランチのコンテキストメニューから [ワークスペースと同期化] をクリック
  6. 「[チーム同期化] パースペクティブを開くよ」というダイアログが出るので [はい]
  7. [チーム同期化] パースペクティブが開く
同期化パースペクティブ
ローカルブランチから開いた場合

この場合は、ローカルリポジトリと編集中ファイルの差分を見ることになる。

差分のあるファイルがプロジェクトツリーとして表示されているので
目的のファイルをダブルクリックすれば、差分用の左右に並んだビューが開く。

リモート・トラッキングブランチから開いた場合

この場合は、リモートリポジトリ、ローカルリポジトリ、編集中ファイルの三者の差分を同時に見ることになる。
未試行。

三者同時なので、場合分けをされてツリー表示されるみたい。
この先は試していないので、参考サイト参照。

参考サイト

kakiro-web:EclipseでGitをクライアント用途として使用(EGit)(その2)

Eclipse,Git | 2015-12-18 (金) 16:13:33 |

ビュー -> タスク(Tasks)

Posted by muchag | Eclipse | 2015-12-18 (金) 13:22:06

【環境】
Eclipse: Mars.1 (4.5.1) PHP
新規ビュー

問題ビューと同様なので、そちらを参照。
問題(Problems)

内容の構成

問題ビューと同様なので、そちらを参照。
問題(Problems)

Eclipse | 2015-12-18 (金) 13:22:06 |

ビュー -> 問題(Problems)

Posted by muchag | Eclipse | 2015-12-18 (金) 12:18:43

フレームワークは大変ありがたい存在なんだけど
フレームワークを利用すると、せっかくの Eclipse の便利機能を活かせない
と、ずっと困っていた。

なんと、今日はその解決方法を見つけた。

【環境】
Eclipse: Mars.1 (4.5.1) PHP
経緯

フレームワークを利用すると、
フレームワークのソースに Eclipse が反応しちゃって
問題ビューがえらいことになる。。。

これで、せっかくの便利な機能を使えずにいたんだけど
この問題ビューを利用できる日が来た!

新規ビュー

デフォルトの設定を変更すると、
後々、何がなんだかわからなくなることがある。

設定メニューに [デフォルトに戻す] というのもある。
でも、そうすると、今度は独自設定がわからなくなる。

そこで、新規に問題ビューを作成してしまえば
いつでも、どちらの設定でも確認できる。

手法

右上のビュー専用ツールバーの ▼ をクリック
[新規問題ビュー]
名前を入力して [OK]

再表示
デフォルト

こうしておけば、デフォルトの問題ビューは残っているので
もし、一旦消しても、[ウィンドウ]-[ビューの表示] から、いつでも再表示可能。

独自

独自に設定した問題ビューについては
一旦閉じてしまうと、再表示の仕方がわからない。

ただし、再度新規作成をして、同一名称にしてみたら
設定を受け継いでくれた。
きっとどこかに保存しているはず。

内容の構成
  1. 右上のビュー専用ツールバーの ▼ をクリック
  2. [内容の構成]
    1. [全ての項目を表示] のチェックを外す
    2. [以下で選択されたいずれかの構成に一致する項目を表示] を選択
    3. 構成
      1. [新規]
      2. 左ペインに新たに追加された項目を選択した状態で [名前変更]
        1. 名前を任意に入力-[OK]
      3. 右ペイン
        1. スコープ
          1. 下記いずれかを選択
          2. [すべての要素]
          3. [同一プロジェクト内の任意の要素]
          4. [選択された要素のみ] *1
          5. [選択された要素およびその子] *1
          6. [次のワーキング・セット: ◯◯・ワーキング・セット]-[選択]
        2. その他、任意に設定
    4. [OK]

*1:プロジェクトツリーで、予め指定箇所を選択しておくこと
(クリックして、色が反転している状態にしておく)

Eclipse | 2015-12-18 (金) 12:18:43 |

SSH

Posted by muchag | Eclipse | 2015-12-10 (木) 20:09:30

【環境】
Eclipse:Mars.1 (4.5.1) PHP
EGit:4.1.1.201511131810-r
OS:Windows7 SP1 64bit
公開鍵の設定
  1. [ウィンドウ]-[設定]
  2. [一般]-[ネットワーク接続]-[SSH2]
  3. [鍵管理] タブを選択
  4. [RSA 鍵の生成]
  5. [秘密鍵の保管]
    1. [パスフレーズ保護なしでこの秘密鍵を保管しますか?]-[OK]
    2. [保存ファイル名] 任意
  6. [OK]
複数鍵の併用

リモートリポジトリが複数ある場合、公開鍵を複数併用する必要が出てくる。
(あ、実は使いまわしてもいいのかしらね。。。試してない)

そんなときの対応法。

設定

公開鍵の保存ディレクトリ %HOME%/.ssh にある config ファイルを用いて設定。

ディレクトリ

デフォルトは、下記の通り。

C:\Users\(ユーザー名)\.ssh
ファイル

そして、私の場合は、同ディレクトリ内に config ファイルがなかったので
テキストファイルを配置してリネーム。

C:\Users\(ユーザー名)\.ssh\config
拡張子

拡張子は、なし。
当然、Windows から警告が出るけど、OK。

書式
  1. Host bitbucket-account1 # 名称自体は任意だけど、後で Eclipse へ入力するので、それを踏まえて命名
  2.   User git
  3.   HostName bitbucket.org
  4.   IdentityFile ~/.ssh/account1_key_file_name
  5.   IdentitiesOnly yes
  6.  
  7. Host bitbucket-account2
  8.   User git
  9.   HostName bitbucket.org
  10.   IdentityFile ~/.ssh/account2_key_file_name
  11.   IdentitiesOnly yes
Eclisep

Git リモートリポジトリからプロジェクトをインポート
[ソース Git リポジトリー]-[ロケーション]-[URI] に
git@bitbucket.org:username/ripositoryname.git
と入力していたところを
bitbucket-account1:username/ripositoryname.git
と入力する。

エラー

頑張って設定したのに、下記エラーが出た。 😥

トランスポート・エラー: リモート・リポジトリー参照を取得できません。
ssh://git@bitbucket-Jyukucho/guinnessvillage/common-php.git: conq: repository access denied.

英語のエラーメッセージは Cannot get remote repository refs となるみたい

Google 先生に質問をしてみると、認証エラーということで、
SSH 公開鍵のセッテに問題があるのかと、何度もやり直しをしてみたけど
さっぱり直らない。

解決

最終的には、PC の再起動で正常に動作した。。。虚しい。。。
開発 PC なので、メモリを食い過ぎているのかしらね~。

おまけ

上記エラーについて、あれこれ調べている間に、
色々な参考情報を入手したので、メモ。

きのふよりけふ、けふよりあした:【git】egitをつかってみて
→ローカルとリモート(GitHub)でリポジトリ名が異なるとプッシュできなかったみたい
→私は試しに異なるリポジトリ名にしてみたけど、問題なくプッシュできた(Bitbucket)

mziの日記:Eclipse で github : Pushできない- Windows
→.ssh/known_hosts が更新されなくて、プッシュできなかったとのこと

パーミッション問題

.ssh/ 関連には、パーミッションの既定があるそうで

  • .ssh/ ディレクトリは Users の所有にしなければならない
  • .ssh/config のパーミッションは 0600 でなければならない
  • Windows では、パーミッションは関係ない。そもそも [属性] の設定しかできない

というような記述を見かけた。
調べてもいないし、勉強もしていないので、本当かどうかもわからないから
ひとまずメモ。

Windows 8でcygwinのSSH秘密鍵を使うとPermissions 0660 too openと怒られる
Windows7 Home SP1 64bit のコマンドプロンプトで

  1. $ chgrp -R Users ~/.ssh

としたら、そんなコマンド知らないよ~と言われた。
DOSEI日記:SSH の config のパーミッションエラーを解決する

HOME 問題

Windows の場合、HOME とは、前述の通り、デフォルトで下記のように設定されているらしい。

C:\Users\(ユーザー名)

つまり、秘密鍵の保存場所を独自にしたければ、この辺の設定をしなければならない。
また、HOME の場所を変更したければ、環境変数の登録が必要とのこと。

設定ファイル

.ssh/config は、端末個別の設定ファイル。
ssh_config は、サーバー全体の設定ファイル。
.ssh/config の内容が優先される。
ワイルドカード(*)を利用できる。
それマグで!:.ssh/config でSSH設定を活用する方法。

URL(URI)書式

Eclipse へ URI を設定する場合、下記どちらでも OK だった。
git@bitbucket-account1:username/ripositoryname.git
bitbucket-account1:username/ripositoryname.git

踏み台サーバーを介する場合

詩的私的雑記帳:ssh/configの書き方と踏み台サーバを利用した多段sshログイン,多段scp

リファレンス

入門OpenSSH
付録
4.7. 個人用の設定ファイルでさらに快適に

Eclipse | 2015-12-10 (木) 20:09:30 |
次ページへ »