投稿

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

【開発メモ】CAKE PHP3のインストール

http://qiita.com/YoshikiNakamura/items/bcceaaa3d064a08233c1 macにプリインストール済みのphpそのままつかうと、エラーがでる。 MAMPのものをアサインすること(~/.bash_profileのPATH変数に書き込む)

【開発メモ】phantomJSは動きが怪しいので断念、firefoxをサーバーでヘッドレスで動かせるらしいので、サーバーにもfirefoxを置くことにした

https://github.com/ariya/phantomjs/issues/11526 5分おきに繰り返される画面cleanupで、操作がキャンセルされる。forumでも解決していない。 firefoxをサーバーにおくことにした。macでfirefoxでのスクレイピング動作確認はできている。 サーバーに実行したコマンド yum -y install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64 yum -y groupinstall "Japanese Support" yum -y install xorg-x11-server-Xvfb firefox bash.profile変更  Xvfb :1 -screen 0 1024x768x24 & firefox & firefox -display :1 -remote "openurl(http://www.phalanxware.com)" & dbus-uuidgen > /var/lib/dbus/machine-id yum -y install ImageMagick メイン参考:xvfbとfirefoxでseleniumをヘッドレスに起動する手順 http://www.bunkei-programmer.net/entry/2014/10/16/015439 画面をキャプチャしたい~importコマンド~ http://www.itmedia.co.jp/help/tips/linux/l0411.html 「dbus-uuidgen > /var/lib/dbus/machine-id」の件 http://qiita.com/PharaohKJ/items/88e9f6a19406ee41e155 あす、seleniumも設置し、動作確認する。

【開発メモ】php 例外処理でハマった件

*例外処理がnamespaceの中にない場合 try{    //処理 catch (Exception $e){    //例外処理 } *例外処理がnamespaceの内部にある場合 namespace somenamespace; try{    //処理 catch ( \ Exception $e){    //例外処理 } \をつけることで、グローバルスペース(ルート)を表すとのこと。 namespaceを定義したならば、とりあえず\をつけておけばよいと思う。 http://php.net/manual/ja/language.exceptions.php ページ下部「User Contributed Notes」 No.75 zmunoz at gmail dot com 氏の指摘 ----------- 今日は、selenium - firefox - phpの組み合わせで、スクレイピング結果をファイル出力することが出来た。 明日は、firefoxの代わりにphantomJSを使い実行してみて同じ結果になることが確認できたら、サーバーにデプロイしてみる。

macでファイルのフルパス取得、wordpressでシンタックスハイライトしてくれるプラグイン

http://matomerge.com/how-to-get-fullpath-mac/ wordpressに、シンタックスハイライトしてくれるpluginがあるらしい 「WordPress|プラグイン100選」 開発記録が書きやすくなる。WordPressでこの記録も書いたほうがいいかもしれない。

【開発メモ】PHP デバッグ法

PHPにブラウザ操作させることでJavaScriptで出来たボタンを押すなど、タイミングや、ページの状態遷移を都度捉えて処理を振り分けるようなプログラムを作る場合は、ステップ毎に止めて変数の中身を確認していくようなスタイルで開発を進めていきたい。 (ところが、「php デバッグ」でググると、トップに変数表示やprintなどの話しか出てこなくて不思議に思った。PHPは、あまり変数の刻々の値遷移が問題にならないようなプログラムが多い文化なんだろうか?) ----やり方---- local PCにapache、php等一通りインストールする 最初はXAMPPで行ったが、apacheが起動しなかった(could not attach shared memory)ため中止、 MAMP に切り替えたところうまくいった。 ※ 【PHP】MacbookでApacheを起動するのに最適なMAMP(マンプ) MAMPには、デバッグ用モジュール XDebugがバンドルされている。 EclipseとXDebugがポートを通じてやりとりする仕組み。 Eclipse設定 ※はまった点 php.iniに[xdebug]の設定をする必要があるが、 MAMPはphp.iniをどういうわけか2箇所に持っている。 /Applications/MAMP/bin/php/php5.5.26/conf/php.ini /Applications/MAMP/conf/php5.5.26/php.ini 更新するべきは上の方だった。下の方を更新しても意味がないようだ。 15/10/15追記 デバッグのON/OFF切り替えに php.iniの[xdebug]系のパラメータをいちいちコメントアウト/コメント解除で対応しているのだが、もうちょっとマシな方法があるはず・・・

【開発メモ】サーバーにてjavaScript含むWebサイトのスクレイピングのための技術については、とりあえずのめどが立った

phantomJSを直接使う方法は、あまり便利ではないことがわかった( デバッグが難しい・・・やり方:「PhantomJSのリモートデバッギング的なアレ」 、ソースの見た目もjavascriptのせいか、複雑に見える( 参考 ))ので、 結局、以下のような段取りとした 1. macで、FireFox Pluginのselenium builderを使用し、動作を動作を記録し、phpスクリプト化した上で、修正を加える。 selenium builder 使い方 2. selenium 2 + phpスクリプト&WebDriver(phantomJS用)  +  phantomJSという構成でサーバー上で動かす。 ※参考: seleniumの仕組み   phpスクリプトサンプル   php-WebDriverAPIリファレンス   ghostDriver ※参考2: php + selenium スクリプト記法、シンプルなサンプル ※ selenium wiki(reference) > 9.26 10:00 macで、 selenium server + phpでfirefoxを動かすことができるようになった。 selenium builder が生成するスクリプトは、そのままでは使えなかった。 >9.26 22:00 とりあえず、macで動くことは動いた。だが、phpのデバッグ法が分からないので、開発しにくい。 【やり方 】 1. seleniumをhubモードで起動 java -jar selenium-server-standalone-2..1.jar -role hub 2. phantomJSを動かす(hubモードのseleniumと繋げる) phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:4444 3. phantomJS向けwebDriverを呼び出すphpスクリプトを起動する。 php xxxx.php この xxxx.phpは、selenium builderが生成したfirefox用scriptに ・requireやuse na...

xcode コンパイル時、「swiftc failed with exit code 11」が出た時はbuildフォルダをclean upすること、xcode,visual studioその他

表題の件、xcodeのmenu option 押下しながら、Project -> clean build folder を選択。 再度コンパイル実施したら、成功した。 ※xcode7 を導入後、xcode 6.3を別アプリケーションとして、再度導入した際に起きた現象。 xcodeの過去バージョンは、 appleからダウンロードできる   apple Developer xcodeバージョン間差異 ・・・xcode7は、swiftが 2.0となり、1.2で作っていたソースを修正しなければいけなくなる。チーム開発の際は相談した上でバージョンアップしたほうがよい。(自分だけ先走ってVupしたために、今回のような対応をするはめになった) 2015年秋発売の新Apple TVはアプリ対応になるが、先行してアプリ開発したい場合は、β版の7.1を導入する必要がある。 xcode 7.0とiOS9の組み合わせで、Developers Programに入っていなくても、実機テストができるようになった件 Visual Studio 2015はiOS,Android,Windows10のクロスプラットフォーム開発ができるらしい

【開発TIPS】jQueryを表示中Webページに適用させるためのブックマークレット

jQueryをページに適用させるためのブックマークレット javascript:(function(){javascript:(function(){var%20src_url%20=%20'http://code.jquery.com/jquery-2.1.4.min.js';var%20notice_style%20='position:fixed;'+'z-index:10000;'+'top:0;'+'left:0;'+'background-color:red;'+'color:white;'+'padding:10px;'+'margin:10px;'+'font:bold%2016px%20sun-serif;';var%20s=document.createElement('script');s.setAttribute('src',src_url);document.getElementsByTagName('body')[0].appendChild(s);var%20id%20=%20window.setInterval(function(){if%20(window['jQuery']%20&&window['jQuery']['fn']%20&&window['jQuery']['fn']['offset']){window.clearInterval(id);$('%3Cdiv%20style=\''+notice_style+'\'%3E%3Cp%3EjQuery%20'+%20jQuery.fn.jquery+'%20Loaded!%3Cp%3E%3C/div%3E').appendTo('body').animate({opacity:1},2000).animate({opac...

【開発メモ】selnium2を使ってのサーバーでのスクレイピング調査は中止、PhantomJSを検討

selnium2 Webdriverをスクレイピングに使うことは断念。 理由:selnium2の動作には、ブラウザが必要なため。serversmanのcentosにGUIがあるのか不明だし、なくても動くのか、よくわからない。それを調べるより、ヘッドレスのブラウザとして動くphantomJSを使った方が早そう。 しかしあとあとselnium2 Webdriver、selnium2 Builderを使ってテストやWeb画面操作の自動化をすることがあると思うので、調査は無駄ではなかった。excel vbaによる自動化よりも、柔軟かつスマートに自動化できるのではと淡く期待している。 追記:selnium2 Webdriver + phantomJSという形にもできるらしい。これが一番いいかもしれないが、まずは単独でphantomJSを使ってみる。 ------------------------------------- # 以下、phantomJSを使うためのjavascript復習 http://itpro.nikkeibp.co.jp/article/COLUMN/20061023/251565/ 同じ名前のローカル変数は、グローバル変数を隠蔽する。(C言語。JavaScriptも同じ) ----------------------------- # Perfect Javascriptを読んでメモ。 javascriptのローカル変数は、関数内の途中からの宣言であっても、先頭からグローバル変数を隠蔽する。 ブロックスコープはない。ただし、 JavaScriptの独自拡張のletで宣言された変数は、ブロック内スコープとなる。 p.180 関数リテラルをその場で呼び出す、JavaScript特有のイディオム ------------------------------ FireBugにてあらゆるページにjQueryを適用したいので、簡単にjQueryをインクルードできないか探していたが、あまりスマートな方法はない。( 参考 ) FireQueryというのがあるらしいので使ってみる。 http://h2ham.seesaa.net/article/123196931.html  →conso...

【開発メモ】php.ini ,windowsでのphp環境作成、selnium2 etc

selnium2ブラウザモジュールを試すにあたり、 selnium2とphpの連携のテストをまずwindowsで行いたい こちら に書いてあることを実験する windowsにphpをインストールするにあたり、php.iniを設定する必要がある。( 参考 ) 以下、疑問と答え ・php.iniのextensionは、複数設定できるのか → できる ・・・・ こちら に記載のことをやるには、macでやった方が都合がよさそう、githubの手順には、composerが絡んでいるため。なので、macでやることにする。 composer ・・・ http://codezine.jp/article/detail/7827 composerは、rubyのbundlerなどに影響を受けたphp用のインストーラ。最近のものなのか、パーフェクトphp(2010)には載っていない。(2014年10月版には載ってるのか?) PHP関連本のリスト

【開発資料】スクレイピング・クローリング関係の気になる本

気になるけど、当面見れそうにない本。人気があって図書館で借りにくかったり、蔵書のある図書館が遠いなど。 そのものズバリな名前なので、気になる 実践Webスクレイピング&クローリング 追記:簡単に内容を書店で確認したが、かなり基本的な事柄に終始していた。読む人によってはいまさら感がある内容だと思う。ただ、スクレイピングの法的リスクについてまとめている箇所があって、ここは読んでおくとよいかも(結局あまりリスクはなさそうだけど)。それ以外は出版社のほうに 詳細な目次 があるので、書いてあるキーワードをググって調べれば十分かと。 Rubyによるクローラー開発技法 サーバーサイドJSは重要な気がしている JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック 古いけど マッシュアップかんたんAtoZ うさんくさいかな・・・ WordPressで出来る半自動動画収集・投稿アダルトサイトの作り方 総じて高いが、これは50ページ強で5000円。

【開発メモ】サーバーサイドでのJavascriptが絡んだスクレイピングを行うためのヒントその他

PHP中心で、サーバーサイドアプリケーションの開発中。 ウェブブラウザで見たときにjavascriptによってページ内容が変更された後の状態を、サーバーサイドでスクレイピングしたい。単純にHTMLをパースしたり正規表現で取ってきたりするのでは不可能。 以下2つ、突破口となりうると思われる。 phantomJS・・・サーバーサイドでJavaScriptを動かすということ・・・? selnium 2.0 PHP ・・・サーバーサイドでWebBrowserを動かしてしまう。 参考 :一番下の部分が重要 ※追記 phantomJS selnium 2.0 PHP # 単純なスクレイピングのライブラリ(不採用の予定) ------------------------------------------------------ PHP Simple HTML DOM Parser(http://simplehtmldom.sourceforge.net/) Goutte # PHPのシンタックスハイライト(sakura) ---------------------------- http://techfun.cc/php/php-sakuraeditor.html # CakePHPは把握するべき -------------------------------- http://qiita.com/kazukichi/items/2ef6f81e11709f1a75bd http://book.cakephp.org/3.0/ja/intro/conventions.html # MySQL ------------------------ ・select http://www.phpbook.jp/tutorial/mysql/index6.html ・日付型 http://www.dbonline.jp/mysql/type/index4.html ・権限 http://www.dbonline.jp/mysql/user/index5.html http://www.dbonline.jp/mysql/user/index6.html ・ユーザーとパスワード http://www.dbonl...