コンピュータや音楽の事書いてます

web

MW_WP_Form にURL投稿禁止機能をつける

wp-content/plugins/mw-wp-form/classes/validation-rules/class.url.php というファイルがある。これはURLを入力してほしい時のルールである。 単純に考えて、これの条件を逆にすればURL禁止ができる。 class.url.phpをコピーして、class.nourl.php とする…

現在ブラウザでログイン中のwebサイトのスクレイピング

クッキーのみでセッションが特定出来る場合 例:Redmine EdgeやChromeの開発者ツールの「アプリケーション」タブからクッキーの名前と値をコピーして、 $url="https://xxxx.cloud.redmine.jp/issues/71643" #表示中のURL $session = New-Object Microsoft.Po…

無名関数をclassメンバに代入しても実行できないとき

このような無名関数を $getMailBody = function ($data){ return <<<EOF {$data["氏名"]} 様 この度は、 EOF; }; $db->customerMailBody = $getMailBody; //クラスメンバへ代入 このクラスのメンバに代入したとき、 class DB { public Closure $customerMailBody; これでは実行時エラーになってしまう。 //DB</eof>…

jQueryのpostでphpでDBにinsertしたら SyntaxError: Unexpected end of JSON input at parse ()

DB処理はちゃんと終わっているのに、ブラウザに帰ると、jQueryの.fail() に入ってきてしまう。原因はレスポンスを返していないせいだった。 insertだから何も返さなくて良いと勘違いしており、 echo json_encode($statement->fetchAll(PDO::FETCH_ASSOC)); …

Failed to read the 'cssRules' property 回避

読み込んでいる全スタイルシートから検索 var ss=document.styleSheets; ss.forEach(s=>{ var cr; try { cr = s.cssRules; } catch{return;} //クロスドメインのstyleSheetは失敗するので飛ばす cr && cr.forEach(r=>{ var text = r.cssText; var sel = r.se…

script無しでネオンサイン風点滅CSS

web

#frame1 { background-color: black; } .neonsign { font-size: 80px; color: #550000; padding: 20px; } .neonsign:hover { color: #882222; text-shadow: 0 0 45px #ff5555; text-decoration: blink; animation: blink 0.5s step-end infinite; -webkit-an…

FacebookのイベントをGoogleカレンダーにインポート

web

Facebookのイベントをいちいち手動でGoogleカレンダーに入力する手間がかなり低減出来るのでは??近日予定のイベントをまとめてコピー出来る。Facebookのイベントページをどれでも良いから開いて、 「近日予定のイベントを全て〜」を右クリックしてリンクを…

Facebookのメッセージを先頭まで辿る

https://www.facebook.com/messages 友達選んでから、chromeのDeveloper ToolsのConsoleに貼り付けてEnter。 var loop = 30; //丁度良い量に調整してね var sArea = document.getElementsByClassName("uiScrollableArea contentBefore _5f0v")[0]; sArea = s…

Facebookの「いいね!」地獄からの開放

友達が多くなってくると、沢山の記事の中から重要な記事を探すのが難しくなってくる。時間が無いときには、なるべく優先度の高い記事を読みたい。そういう意味では、誰か経由の間接的な「いいね!」記事はスキップして読む事が良くあるだろう。 そんなときは…

FacebookのMessageの小窓を長くする

web

長い会話履歴などを遡るとき、メッセージのページに行くより、小窓の方が他の作業をやりながら読めるので便利なので、これを長くする。 Chromeの「要素を検証」やFirefoxの「要素を調査」のコンソールに、以下を貼り付けてエンター。"700px"のところは、ディ…

Google Spreadsheetで「You do not have permission to call 〜」

これを使って CalendarApp.getCalendarById("ja.japanese#holiday@group.v.calendar.google.com"); holidays = calendar.getEvents(startDate, endDate); をonEditから起動し、日本の祝日を取得しようと思ったら、"You do not have permission to call getCa…

Google SpreadsheetでonEditの引数eventはコード補完されない件

web

コード内で型を推論出来ないので、IDEのコード補完機能が効かないのだと思われる。効かせる為には、型が何であるかを、IDEに分からせれば良い。 var sheet = SpreadsheetApp.getActiveSheet(); function onEdit(e){ var r = sheet.getRange(e.range.getRow()…

ちょっと気になったので実験 C と javascript

if文の中にカンマ区切りで複数命令を書いたら、どういう判定か? #include <iostream> using std::cout; int main(){ int a, b; if(a = 0, b = 1){ cout << a << b << endl; } } /* 結果 01 */ #include <iostream> using std::cout; int main(){ int a, b; if(a = 1, b = 0){ co</iostream></iostream>…

Redmineを手っ取り早くカスタマイズしたい

設定覚えるの面倒くさいし、小規模プロジェクトでオレ管理者だし、という時、 app/views/layouts/base.html.erb これを直接編集すればOK。

Facebookのタイムラインを検索したい

Chromeで検索したいタイムラインを表示させた状態で、画面右クリックし、「要素の調査」。Developer ToolsのConsoleに以下を貼り付け、theWordを検索したい文字列に変えて実行。 var theWord = "liveleak"; //検索ワード var times = 100; //何回チャレンジ…

メモ : linkタグで取り込んだcssにはinsertRule出来ない(Chromeのみ)

web

linkタグではなく、 <style> @import "http://www.ingress.com/css/common.css"; </style> なら大丈夫。

続:ingressのCOMMの会話ログ取得

web

これではサーバが重すぎて、大量のログは取得出来ない。 http://d.hatena.ne.jp/neuromancer_sho/20130429/1367211233なので、後から取得ではなく、自前サーバに現在のログをアップし続ける、という仕様にした。これならcomm側のサーバ負荷も少ない。 サーバ…

ingressのCOMMの会話ログ取得

http://www.ingress.com/intel のログを過去に遡ろうとすると結構大変なので。 AllかFaction、とりたい方を選択しておく マップの範囲も調節しておく Firefoxの場合、COMM内を右クリック「Firebugで要素を調査」 Chromeの場合、COMM内を右クリック「要素を検…

Google Spreadsheetで曜日によるセルの色替え

条件付き書式だと該当セルしか変えられないので。 2,1 に月の最初の日付を入れると起動。 var sheet; function onEdit(e){ var r = e.range; sheet = SpreadsheetApp.getActiveSheet(); if(sameAddress(sheet.getRange(2, 1), r)) if(changeBackGroundColor(…

bash cgi サーバ側ファイルがshift-jisのときに、ブラウザ側ではUTF-8で扱いたい

素人がアップする、など、どうしてもファイルの中身がshift-jisである場合、 AJAXのgetで、ファイルを要求、それをUTF-8に変換してブラウザで表示する、などという場合、ブラウザがIE以外であればoverrideMimeTypeを使えば良いが、IEの場合、responseBodyをA…

webDAVとsambaを同じディレクトリに適用する

windows, mac, android, iPhone 全てで、なるべくPC操作が苦手な人にも操作出来るアップローダの構築。windowsからはsamba。それ以外はwebDAVで行ける。ダウンロードだけなら通常のブラウザから。 webDAV(apache)設定 パスワード認証無し DavLockDB "/etc/ht…

たまにはフォントに拘ってみる

本ブログのソース表示はConsolasがインストールされているPCでは、Consolas。それ以外のPCではGoogle web fontからInconsolataが勝手にダウンロードされる。それが不可だった場合にはmonospaceが使われる。 が、Google web fontが推奨しているlinkタグを使う…

レンタルサーバの仕様cgi

レンタルサーバの仕様をperl cgiで調べた時のめも。 #!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print <<EOF; <style> pre { border:1px solid; line-height:1ex; } </style> EOF &command_print ("uname -a"); &command_print ("cat /etc/*release"); &command_p…

メモ:Firefox アドオン - Pentadactyl

web

Firefoxの操作をvim的にしてしまおう、という強引ing my wayなツール。自分設定めも "1.0rc1 loadplugins '\.(js|penta)$' group user map -count -modes=n,v <C-a> <count><count><count><count><count><count><Pass> map -count -modes=n,v <C-c> <count><count><count><count><count><count><count><Pass> map -count -modes=n,v <C-n> <count><count>…</count></count></c-n></pass></count></count></count></count></count></count></count></c-c></pass></count></count></count></count></count></count></c-a>

google docsのスクリプト環境

まさかと思って試してみたら、やっぱりついてたオートコンプリート。 このへん http://code.google.com/intl/ja/googleapps/appsscript/service_spreadsheet.html からオブジェクト取得部分だけコピーしてくれば、あとはjavascriptさえ分かればだいたい作成…

vbsでしゃべる

google翻訳を使ってたら、発音を喋る機能が気になったので。 googleさんのお力を借りて、文章をmp3に変換してしゃべっちゃうvbscriptです。拡張子を.vbsにして保存・実行。 set she = createobject("wscript.shell") set fso = createobject("scripting.file…

googleロゴ - pacmanの仕組みに感動

http://www.google.com/pacman/グーグルの「パックマン」ロゴができるまで http://japan.cnet.com/special/story/0,2000056049,20413964-2,00.htm オリジナルに忠実であることにこだわる姿勢は、パックマンのちょっとした癖にまで及んだとWichary氏は説明し…

Google ドキュメントのスプレッドシートにマクロがついた

こんなシートを作り、存在しない関数「くっつける」をセルに書く。 ツール→スクリプト→スクリプトエディタでこんなソースを書く。 function くっつける(values) { var str=""; for(var v in values[0]){ str = str + values[0][v]; } return str; }; くっつ…

Google Chrome 新機能

web

「要素を検証」機能 Developer Tools で、Stylesのところにカーソルを合わせると、歯車マークが表示され、色の表示形式の選択と新しいスタイルの追加機能が使える。 「New Style Rule」すると、本文ソースの方とプロパティウィンドウの両方に新しい id が自…

Google chrome のデバッガでお勉強 - json

jsonというやつを勉強してみる。chrome右クリック→「要素を検証」→「>≡」ボタンをクリックして、以下を貼り付け、エンター。 j = { name:"sho", age:32, sex:"man", jikoshokai:function(){ alert("I am " + this.name + ", " + this.age + " years old, a …