tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

【C#】WP REST API

WordPressから記事やらなんやらを取れて便利だよってAPI

"http://blog/wp-json/posts?filter[category_name]=未分類"

こいつをリクエストすると未分類カテゴリの記事情報が返ってくる。

ココのに書いてあるFILTERらへんでだいたい取得したい情報が取れる。
てかWordPress自体ほぼ触ったことないからどういうもんだかわからん。
しかも

"http://blog/wp-json/posts?filter[category_name]=お知らせ"

で絞ると上手く取れない。URLエンコードしても取れない。イミフ。
だからcatのid指定でカテゴリ別に取得する感じで解決。
WordPressはカテゴリとタグはidで同様に管理されてる<ココのwp_term_taxonomyこれ教えてもらったんだけどよくこんなとこ見てるよなーって。マニア杉

一応、C#での取得方法をGithub

var wordpress = JsonConvert.DeserializeObject<IList<Class1>>(json);

ここ結構詰まった。Property1クラスでいけそうなんだけど無理やった。できたからいいや的な感じで調べてない。
てかなんでWebClientにしたんだっけ?なんかゴリ押しな感じがするJsonの取り方だけとなんでHttpRequestしないんだっけ?多分取れずに諦めたんかな?暇あったら調べる
JSONやXMLをクラスに形成するやつ最強。
でもタグとか色々設定しなきゃ完全なJSONは取れんからそこは考えなきゃね。そんないっぱい情報いらねーけど。

これ使えばブログを自コンテンツとして取り込めるからSEO的に良いんだと。
昔は被リンク→多けりゃいい、コンテンツ量→どうでもいいが
今は被リンク→クソみたいなもんじゃなければ多い方が良い、コンテンツ量→クソみたいなもんじゃなければ多い方が良い
だから結構熱い感じ。ま、WordPressIISに取り込むことが出来るっぽいんだけどね。WordPress脆弱性が見つかったら
本コンテンツが詰むけど

次はSelenium書くかー

追記 : 2015/08/12
はじめの/wp-json/postsのとこで未分類意外取れないってやつ、slugを指定すれば多分取れる。試してない。

追記 : 2015/08/14
postsは50件程度しか取れない。
yearで指定してチマチマ取ってくるしかないね。っかサーバ側の問題か?

Selenium Web Driver

仕事で使ったんでメモ

className 指定したクラス名(class属性)を検索条件とする
cssSelector 指定したCSSセレクタを検索条件とする
id 指定したid属性を検索条件とする
linkText 指定したリンク名(完全一致)を検索条件とする
name 指定したname属性を検索条件とする
partialLinkText 指定したリンク名(部分一致)を検索条件とする
tagName 指定したタグ名を検索条件とする
xpath 指定したXPathを検索条件とする

マウス系はこんな感じで使う

Actions builder = new Actions(driver);

感想
classとか結局複数のキーで見つけなきゃ厳しい。結構作り込まなきゃいけない。
うちの会社はブラウザ上で結構ガチャガチャやるんで基本的なところ以外は難しい(俺には厳しいってかそこまでやらなくてもね。。)なーって感じ。
ただ、お決まりの回帰テスト系を作ったらだいぶ楽になりそう。キャプチャ取れるし。

mvcがマジでわからん

わからん。

http://at-grandpa.hatenablog.jp/entry/2013/11/01/072636

すげー丁寧にわかりやすく書いてあるが、わからん。

modelはviewが求めてるデータを加工してコントローラーがその仲介しろってこと?

それが出来たらマジで理想的なんだけど、ちょこっと追加要件が発生したらさすがにデータ(SQLでしょ?って勘違いかな)加工を変更するのには大変じゃん?
リスキーだし。

それならデータをループしてる時にちょちょいと分岐入れるだけで追加要件をこなせるなら影響が段違いに違うよなー楽だし。でもコントローラーが肥大化する。

うーん

【linux】メモ

vim

色付ける
syntax on

vim cheat sheet

行末尾

$

行先頭

^

undo(アンドゥ)一動作分、前の状態に戻す。

u

redo(リドゥ)。アンドゥで戻した操作を、元に戻す。

Ctrl + r
検索
history | grep 検索文字列
アンマウント、フォーマット
umount /dev/sdb1
mkfs.ext4 /dev/sdb1 -L Backup1

【Ubuntu】apt-getでインストールしたパッケージを削除する方法

groupsessionを入れてリバースプロキシを設定したけどどこ直したか忘れた。なので綺麗サッパリapacheを入れなおす。

で綺麗サッパリ削除は以下。

・設定ファイルを残す

apt-get remove xxx

・設定ファイルを残さない

apt-get purge xxx

・依存関係も含め削除する。

apt-get autoremove xxx

・Apache2関連のパッケージの一覧

dpkg --get-selections | grep apache

表示されたパッケージをremoveの--purgeオプションで全部消す。ってかこの作業だけでオッケイ。

・/var/www/index.htmlから任意の場所に変える
/etc/apache2/sites-available/default

DocumentRoot #ココ


こういう記事でsudo入れるといちいち気になる人が居るみたいだけど、マジでどうでもよくね?って思っちゃうって。

【Linux】lftpでftpsを使う ※Mac追記

ホームページのデプロイをxdomainのファイルマネージャ経由でやってた。面倒くさすぎ。

ftp→危ない。
lftp→ftps使用出来る。安全

xdomainでは無料サーバーでもftps接続出来るみたい。

・下準備
/etc/lftp.confに以下を記載

set ftp:ssl-auth TLS
lftp -u ユーザー名 ftp://サーバー名
パスワード: xdomainのFTPアカウントメニューで設定したパスワード(超嘘こいた)


ログ確認すると(-eオプションでdebugコマンドを指定した場合のみ)21番(xdomainでftp21番使ってねだって)で接続して返ってきたメッセージに「AUTH TLS successful」って書いてあるからFTP over SSL/TLSが接続出来たことが確認出来る。
さくらサーバーだと下準備がもっと必要みたい。Explicit?よくわかんないけど

macだとmacports経由でlftpを入れる必要あり。試したら追記する

追記:
MacLinuxも基本一緒。MacPortsだけ。
MacPortsを入れる。
.bash_profileに以下を追記

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

あとはlftpを通常通り使う。下準備いらないっぽい(デフォルト設定なんか?AUTH TLS successfulって表示された)
mgetですでにファイルがあると「lftp : ファイルはすでに存在し、また xfer:clobber がセットされていません」って出るから上書きOKにする。

set xfer:clobber on

カレントディレクトリ以下のファイル、フォルダすべてダウンロード。-Rオプションでアップロード

mirror

【ITunEsTooL】レビュー ①

レビュー数 : 1

前と比べて使い勝手が悪くなってます
レビューを強要したり同期されなくなってがっかりしました


>前と比べて使い勝手が悪くなってます。レビューを強要したり

申し訳ありません。レビューは使って頂いているユーザーのご意見を聞きたく設置しました。「次回から表示しない」にチェックをして頂くと、再インストールしない限りずっと表示されなくなります。

>同期されなくなってがっかりしました

同期に関しては、ココに記載が書かれている通りの処理、例外が発生する曲以外はすべて取り込むようになっています。iTunes側に問題がある可能性がありますのでご確認していただけるとありがたく思います。

ご意見ありがとうございました。