投稿

2015の投稿を表示しています

eclipse 改行後のインデントを無効にする

eclipseのインデント
eclipseはオープンソースなのに本格的な開発もできるので重宝してます。

特にフォーマッターなどは急いでコードを書いているときなどは、とてもいい感じです。

インデントを無くす
で、あまりに便利すぎるフォーマッターも場合によっては余計なお世話なんだな。
今回は、ちょっと長めの文字列の入力がりましたが、左詰めで書きたいのにばっちりインデント。
これはうざいので、フォーマッターをオフに。

//@formatter:off  ←これね。

で、、、

利かねーし。
ふつうにインデントされるし。
イライラ溜まるし。

とりあえず時間無いから、余計なインデントを手動で消してくことに。(泣)

eclipseのインデントの設定
インデントなどの設定項目は複数あるけど、改行後の自動フォーマットに関しては以下の通り。
[ウィンドウ] > [設定] > [Java(PHPやjavascript)] > [コードスタイル] > [フォーマッター] でプロファイルを編集。 ※ビルトインのプロファイルは編集できないので、新規でコピーを作成してそれを編集。
編集する項目はタブ[折り返し] > [折り返された行のデフォルト・インデント]を「0」に設定。
これでOK。

Thunderbird quicktext のデータが消える!治す方法!!

イメージ
データが消えるのを治す!!!
と、息巻いてるが、根本的な治療はプラグイン開発者さんが着手している?模様?らしい。

とりあえず、応急処置で!
原因としては、(私はよくわかっていないのだが)どうも保存時の文字コード関連で不具合が発生する模様。
つまり、文字コードを治してインポートしても新たに保存をするとまた消えます。
(あ、少なくとも私の環境では消えちゃいます(泣))

フォーラムも拝見したが、案の定、素人にはわかりづらい。
(ホントこの手のプログラムなどに詳しい御仁はどうして素人にわかりやすく丁寧な説明をしてくれないのだろうか?

PCに長けていない人(一般の人)はどうすれば治るのかを聞いているのに、専門的なことをごっちゃらごっチャラとこねくり回してPCの環境を説明しろとか(それがわからない人に言ってもしゃーないだろ)、揚句にPC基本を知ってから質問し直せ的な居丈高。

その道に詳しいなら素人にもわかるように説明しろよ、といつも思う今日この頃)

なもんで、ここでは

quicktextのデータが消えて困ったバックアップ?なにそれおいしいの?データをどうやって元に戻すかわからんPCはあまり詳しくないんだよねー素人にもわかるように説明してくれや
な人向けにご案内しまーす。

超素人用の応急処置、それではまいります。
①文字コードを変えるための準備。 下のリンクからそのためのアプリnotepad++(もち無料)というものをダウンロードできるのでダウンロードしてください。 https://notepad-plus-plus.org/repository/6.x/6.7.9.2/npp.6.7.9.2.bin.zip(2015.7時点の最新版)
②ダウンロードが終わったらダウンロードフォルダに「npp.6.7.9.2.bin.zip」というファイルがあるので適当に展開してください。 (zipファイルという圧縮ファイルなのでwindowsのエクスプローラで展開できます。)
③とりあえず、notepad++を起動しといてください。
④消えちゃった人用の説明
エクスプローラーで以下を辿っていってください。(win7以上が対象の説明)
win7の人

左下のスタートボタンクリック一番下の虫眼鏡の入力フォームに 「%APPDATA%」 と打ち込む(半角だからね!)上に「Roaming」てフォルダが出てくるので…

BootStrap3 tooltipが表示されない

BootStrap3 tooltip表示
$(function () {
    $('[data-toggle="tooltip"]').tooltip()
});

まあ、これが必要。

これでもまともに動かない場合がある。

jquery ui-tooltip と bootstrap tooltip の競合
これ、tooltipについて書いてる日本語サイトは多いのに、意外だったのが競合のついて書いてる日本語サイトがない。

jquery-uiを使っている場合、tooltipがconflictしてまともに動かない。

なわけで、↓こんな風に回避するみたい。これで動く。

<scripttype="application/javascript"src="/js/jquery-ui.js"></script><script>/*** Handle jQuery plugin naming conflict between jQuery UI and Bootstrap ***/ $.widget.bridge('uibutton', $.ui.button); $.widget.bridge('uitooltip', $.ui.tooltip);</script><scripttype="application/javascript"src="/js/bootstrap.js"></script>詳しくは → stackoverflow

cakephp + UNION + paginator + sort

訳あって cakephp で UNION を使うことになったんだが。。。cakephp customな pagenateで $orderが emptyになってしまう件
どうもcakephpにはUNIONはないようで、->query()をおこなうことに。

(SELECT --- FROM --- WHERE ---)
UNION
(SELECT --- FROM --- WHERE ---)

な感じで。
UNIONを使う場合、どうやらpublic $useTable = false;にするらしいので、わかりやすく別モデルを用意。

まあ、これで済むものならいいんだけど、paginateしたい。
となると、自分でごりっと実装するか、paginatorのコンポーネントを利用するかになるんだけど、できれば標準のpaginatorでなんとかしたい。

paginatorの準備 まあ、このpaginatorについては使える記事がたくさん出てくるから、労はなかった。
良い記事書いてる人tks。

英語
http://blog.andolasoft.com/2014/08/how-to-do-custom-pagination-in-cakephp.html
日本語
http://d.hatena.ne.jp/sutara_lumpur/20120825/1345885278
日本語
http://u2k772.blog95.fc2.com/blog-entry-332.html


ORDER そして SORT nで、詰まったのが、ORDERまわりだった。。。

単純に
$query = array (
  'order' =>  'hoga DESC' ,
  'limit' => 50,
  'extra' => array (
    'type' => (ここにクエリ突っ込むやり方が単純にわかりやすかった。)
  )
);
$this->Paginator->settings = $query;

これなら、とりあえずorderは効くんだけど、viewで$this->Paginator->sort ()しても上手いこといかないんだな。


単純にORDERするだけなら、par…

BoostCake Form input でdiv が消えない場合

BoostCake の $this->Form->inputでdiv が消えない場合について BoostCakeのFormHelperの処理箇所protected function _divOptions($options) {
$this->_inputType = $options['type'];

$divOptions = array(
'type' => $options['type'],
'div' => $this->_inputOptions['wrapInput']
);
$this->_divOptions = parent::_divOptions($divOptions);

$default = array('div' => array('class' => null));
$options = Hash::merge($default, $options);
$divOptions = parent::_divOptions($options);
if ($this->tagIsInvalid() !== false) {
$divOptions = $this->addClass($divOptions, $this->_inputOptions['errorClass']);
}
return $divOptions;
}

何故かdivが消えないという問題が起きたので、ちょっと見てみた。

inputのoptionで array( 'div' => false )としても、inputOptions['wrapInput']が
array('tag' => 'div' ) となってしまうようで、'div'=>falseにはならない。

なぜこのようなことになってしまうかは不明。
調べるのはめんどい。

どうしても消えない場合の回避策 $this->Form->input ( 'hoge', array ( 'div' => fa…

xampp cakephp validate mimetype エラー

Can not determine the mimetype. Error: An Internal Error Has Occurred.
1時間くらいハマった。

php.iniの、

extension=php_fileinfo.dll

をオンにした後はサーバ再起動が必要。

渡しみたいな素人にはありがち。

eclipse php setter/getter を自動生成したい

PDT setter/getter generate
やり方は二通り。


1.テンプレートを作る 

   or
2.eclipseにソフトウェアを追加する

1.の場合は半分手作業が入るので、javaのようなsetter/getter生成をイメージしていると非常に残念な気持ちになる。
言っている意味が解らなければ、自分で試してみるのが早いです。

javaのときのような感覚で使いたいなら、2.の方法のがいいです。

1.の方法[メニュー]ウィンドウ>設定>PHP>エディタ>テンプレート>新規
【新規テンプレート】が開くので次のような記入する。


名前
setter/getter

説明
setter/getter自動生成

パターンの欄
public function get${PropertyName}()
{
return $$this->${PropertyName};
}

public function set${PropertyName}($$${PropertyName})
{
$$this->${PropertyName} = $$${PropertyName};
}
${cursor}

※名前、説明は適当でいいです。一応わかりやすく説明するためにつけただけ。

参考:http://www.cyberarchitect.net/blog/archives/2004


記入したら、OK>OKで設定完了。

あとはエディタの適当なところでctl+spaceをおすと、setter/getterと出てくるのでそれを選択→あとは手作業でどうぞ。


2.の方法日本語のサイトはどこも1.の方法一辺倒なんだよね。
コピペサイ●かな?

2.の場合は、Eclipseに [ PDT Extension ] を入れます。

なので、まずはworkspaceのバックアップを取っといてくださいね。
インストールして設定が変わっちゃった場合は、workspaceを戻せば大抵大丈夫かな?

[メニュー]ヘルプ>新規ソフトウェアのインストール>追加
【リポジトリ―の追加】が開くのでロケーションに以下のURLを入力(名前は適当、未入力でもOK)。
http://p2-dev.pdt-extensions.org/

しばらくすると下の欄にチェックボックスがたくさん出てくるので、「PDT Extension」をチェック…

 【CakePHP】 xampp で bake

bakeを行おうとすると新しいプロジェクト?になってしまう?
cakephpを勉強中
pathはばっちりok。コマンドプロンプトは美味しいの?なレベルです。

[ xampp cakephp ]で検索するとたくさん出てきます。
そのサイトに倣って起動すると、こうなります。


C:\xampp\cake\app\Console>cake bake

Welcome to CakePHP v2.6.1 Console
---------------------------------------------------------------
App : Console
Path: C:\xampp\cake\app\Console\
---------------------------------------------------------------
What is the path to the project you want to bake?
[C:\pleiades\xampp\cake\app\Console\myapp] > 

いや、なんかいろいろMVCとか作ってるからそれにつなげたいんだが・・・
データベースの設定ファイルとか設定していないとなるらしいんだが、全部設定してあるんだよね。
よくわからんw おんなじこと書いてるゴミぺサイトが多いね よくわからんが、こうするとつながった。
php cake.php bake

C:\xampp\cake\app\Console>php cake.php bake
Welcome to CakePHP v2.6.1 Console --------------------------------------------------------------- App : app Path: C:\xampp\cake\app\ --------------------------------------------------------------- Interactive Bake Shell --------------------------------------------------------------- [D]atabase Configuration [M]odel [V]iew [C]ontroller [P]ro…

Eclipse for PHP Developers でハッキング?されてる?

イメージ
Chromeで警告が出たよ ちょっとCAKEPHPで開発を行いたくて、XAMPPとEclipseのPHPを入れて環境を作ろうと思ったら、Chromeがセキュリティーの警告を出してきたからメモ。
(Eclipse自体はjavaで使ってるんだが、PHPはPHPだけで使うEclipseを用意したかった…)

とあるサイトから飛ぶと警告が出る!
そのリンクをたどって、『Eclipse for PHP Developers』をダウンロードしようとすると、こんな感じの警告が出ますw

この先のサイトには有害なプログラムがありますftp.jaist.ac.jp の攻撃者が、閲覧環境を損なうプログラムをインストールさせようとしている可能性があります(ホームページを改ざんする、アクセス先のサイトに追加の広告を表示するなど)。


ちなみに、Google先生でeclipseを検索 OR 直でeclipseのサイトに飛んだ場合だと問題なかった。



[Japan] Japan Advanced Institute of Science and Technology (http)からのダウンロードはアウト?

と、まあ言ったものの、特にjaist.ac.jpに問題はないです。
IEからは普通にダウンロードできます。警告も出ません。

あと、リンク元のサイトに問題があるんじゃなくて、クロームの判断で[Japan] Japan Advanced Institute of Science and Technology (http)からのダウンロードはダメという。
まあ[Japan] Yamagata University (http)を選択すればいいだろで終わる話です。

単純にftp.jaist.ac.jpがクロームから嫌われてるみたいな。
詳しくはこれでも読んでください。
http://ftp-admin.blogspot.jp/2015/03/blog-post.html


ただ、なんで他のサイト経由のリンクからだと[Japan] Japan Advanced Institute of Science and Technology (http)がメインに選ばれているのかは?です。