【フリー素材】 ネタバレ注意画像


netabare

他の方の役に立つのかさっぱりわかりませんが、ネタバレへの注意を促すワンポイント画像を作ったのでついでに公開しておきます。
念のため:商用利用以外はどのように使って頂いても構いません(再配布・改変も可)。

楽天totoの利用登録のエラー


長らくBIGの購入をしていないことを思い出し、久々にトライしようとしたものの、どうやらジャパンネット銀行経由より楽天toto経由の方が当選数が多い「らしい」と聞き、ジャパンネット銀行に残高もほとんどないので楽天totoに乗り換えを決意。

楽天は日頃利用していて、ユーザー登録ももう終わっているので、あとは楽天totoの利用登録をすればOK・・・
だったのだが、この利用登録でちょっと手間取った。
楽天銀行も楽天カードもないのでJCBでの支払いを選択したけど、「入力内容に誤りがあります。
ご登録にご利用ができない文字があります。エラーメッセージに従い対象箇所をご変更の上、登録を完了させてください。
」というエラーが出てしまって先に進めない。

rakutenerror

この「利用できない文字」というのは登録してある住所の欄の中に■の記号で置き換えて表示されているんだけど、これがスマホで見ると途中で切れてしまっているので(なんでやねん)、全部のエラー箇所を確認するにはPCで見ないといけない。めんどくせ・・・

PCから見たところ、「~■丁目■■■■ (マンション名)■■■」と表示されていた。
楽天に登録した時は何のエラーも出ず今まで何も問題なく使ってきたが、この住所の登録の際に数字の部分を半角で登録していたのが今になってひっかかったようだ。
なんというアホな仕様・・・全角でも半角でもええやん!!
そもそもインターネットがこんなに普及する前には全角英数字はむちゃくちゃ嫌われていたというのに(自分も全角英数字に憎悪に近い感情を抱いている)、今は逆にこういう登録の時全角英数字が推奨されている気がする。意味わからん。どっちでもええやん(二回目)。

とりあえずMy Rakutenから住所の半角部分を全角に直し、また一から楽天totoの利用登録をやり直したところ(「戻る」ボタンも何もなく、途中からやり直すことができなかった。できるようにしとけよバカ!!)、無事に登録完了までこぎつけることができた。

イライラしたけど、とりあえずこれからボチボチ利用します。

[WordPress] TwentySixteenの導入:子テーマをカスタマイズ


前回子テーマの作成に成功したので、今度は子テーマをカスタマイズしていこうかと。

と言いつつ、子テーマのカスタマイズって実際にはどのように手をつけたらいいのか・・・さっぱりわからない・・・。
「子テーマのstyle.cssを優先して、足りない部分を親テーマのstyle.cssで補完する」というようなイメージでぼんやりとらえていたけど、本当にそれで合っているのか??

「子テーマ」「カスタマイズ」等で検索しても、子テーマ作成の方法だけの記事がぶわーーーっと出てきて、「作成した後どうするか」を解説してある記事がなかなか見つからず、やっとこさ発見しました。

バイラルクラブ – wordpress子テーマの作り方!style.css・各テンプレートファイル・function.php の設定手順

一般的には、親テーマの内容を全コピーして、カスタマイズしたい部分だけ、変更・追記していく形が良いでしょう。

アフィリエイトで稼ぐ方法を全部話そうと思う – WordPressでフォントや文字大きさ、行間をカスタマイズ
style.cssに関しては、「全コピーして必要な箇所だけを変更・追加」ではなく、「最初に作った状態に追記」という形でいいようです。

とりあえず試しに、上記サイトで例として書かれているフォントの変更にチャレンジ。
・・・してみたものの、記事本文が明朝体のまんま!!

原因究明のため、続く・・・

[WordPress] TwentySixteenの導入:子テーマ編


WordPressもバージョン4になり、新しい公式テーマも追加されたので、思い切ってTwentySixteenのカスタマイズに着手することにしました。
今まではものぐさなことに親テーマをそのまま書き換えてテーマをカスタマイズしていましたが、「子テーマを作ってカスタマイズするのが推奨されている」と聞き、慌ててまずは子テーマ作りに着手。

そもそも子テーマとは何なのか・・・
カスタマイズしたいテーマ(今回はTwentySixteen)を親として作成し、親テーマを直接カスタマイズするのではなく、子テーマ側をカスタマイズすることによって、TwentySixteenがアップデートされた時でもカスタマイズした箇所が変更されてしまわないようにするもの。らしいです。

「子テーマ作成」で検索すると山ほど解説してくださっている記事が見つかると思いますが、個人的には一つの記事だけではなくいくつかの記事をマルチに参考にすることをお勧めしたいです。なぜかと言うと、ハマったから。
必要なコードが抜けていたり、コードが全角で表示されてしまっていて丸ごとコピペしたら失敗した、という記事もあったのでね!

子テーマの作り方

コマンドラインの使えないレンタルサーバなので、FTPでやりました。

(1):まずはFTPソフトでWordpressがインストールされているディレクトリに移動、wp-contentディレクトリ内のthemesディレクトリの中に子テーマのディレクトリを作成する。
子テーマの名前を決めてそのテーマ名のディレクトリを作成します。「twentysixteen」の子テーマだから「twentysixteen-child」にするとわかりやすいよ!という記事が多いですが、別に好きな名前をつけてOK。今回は「twentysixteen-child」にしてみた。

(2):「style.css」という空のテキストファイルを作成。中に書く内容はこちらを参考にしました(xserver用の解説だけどコードの部分はこれを使わせて頂きました)。
  ここで文字コードと改行コードに注意せなあかんようです。文字コードはデータベースサーバをUTF-8にしたのですが、Wordpressの場合は「BOMなし」というのが標準らしく、Terapadの「文字/改行コード指定保存」で「UTF-8N」と「LF」を選択して保存しました。詳しくはこちら

(3):「functions.php」という空のテキストファイルを作成。中に書く内容はstyle.cssと同じくこちらを参考にしました。

(4):(1)で作成したディレクトリ(今回はtwentysixteen-child)に、(2)と(3)で作成したstyle.cssとfunctions.phpをアップロードする。
(5):Wordpressのダッシュボードにアクセスし、外観>テーマを選択。(2)で設定したテーマ名の項目ができているはずなので、「有効化」をクリックするとサイトに反映される。

以上で作成は完了!

自分の場合は先ほど書いた「コードを丸ごとコピペしたら全角が入っていておかしくなった」「改行コードと文字コードがおかしかった」の2点で最初は失敗しましたが、最終的には作成できました。

続く。

Photoshop Elementsのトラブル


Windows10にアップグレードされてしまったらPhotoshopの設定もまっさらになっていました。
地味に焦ったことをメモ。(Photoshop Elements 9)

イメージ>サイズ変更>画像解像度 でピクセル数の変更ができなくなっていた
 (画像のサイズが変更できなくなっていた)
 photoshop01
 画面下部の「画像の再サンプル」にチェックを入れれば、「ピクセル数」の欄の幅と高さを変更するフォームが出てくるので、OK。
 印刷用に使う画像の場合など再サンプルがダメなケースもあるかもしれないけど、私はWEBに掲載する画像しか扱わないので、OKということにする。
フォントサイズが一定以上のサイズに変更できなくなった
テキストレイヤーでテキストを入力した後にフォントサイズを大きくしようとしたら、14px以上をドロップダウンリストから選択しても編集中の画像上でフォントサイズが変わらなかった。
 直接数値を打ち込むと「0.00 pixel から 14.92pixel の値を入力してください。最も近い値を挿入します。」というダイアログが出てしまった。
これはWindows10とは全然関係なく、元画像を作成した側の設定によるものでした。
 イメージ>サイズ変更>画像解像度 を見てみると、画像の解像度が「1 pixel/inch」になっていました。これを(かなり面倒だけど)通常の72pixelに変更すればOK。
 photoshop02

いまだに解像度のことをぼんやりとしか把握せずに作業してます。これではいかん・・・勉強しなくては・・・

Windows10にアップグレードしたらESETが一瞬おかしくなった件


意図せず会社のPCがWindows10にアップグレードされてしまっていた。
当事者曰く「勝手にアップグレードが始まった」らしいけど、そんなことあるのだろうか・・・絶対何かしらクリックしたはずだと思うけど。まぁ仕方ない。

弱小会社なのでセキュリティソフトはESET SMART SECURITYを使っているんだけど、これがWindows10アップグレード後におかしくなってしまった。
Windows7の頃はPCを起動すると必ずESETの起動開始の画面が一瞬出てたんだけど、それが出なくなっていた。
確認してみるとタスクトレイにESET関連のアイコンがなく、常駐していない模様。
スタートメニューの「すべてのアプリ」にもESETは表示されていない。

ググってみた結果「もしかしたらアップグレードしないといけないのかも」と思い、ここからバージョンアッププログラムを入手してインストールすると、インストールは成功したものの「アクティベーションされていません」「パーソナルファイアウォールの初期化に失敗しました」というエラーが・・・
おまけにその瞬間からなぜかインターネットに接続できなくなってしまった・・・。

ネットワーク設定を見てみても何の接続も表示されず、トラブルシューティングを試しても「ドライバがおかしいのかもね」的なことが表示されただけ。
さっきまで繋がってたのにそんなんおかしいやろ!と思い、とりあえずインストール完了の画面に「Windowsを再起動して下さい」と書いてあったのを思い出して再起動したら、何故かアクティベーションも(ユーザー名もパスワードもわからないから何も入力してないのに)OKになり、パーソナルファイアウォールのエラーもなくなって、インターネットにも普通に接続できるようになっていました。「コンピューターの検査」も普通にできたし。

一体なんだったんだ・・・という、それだけの記録です(笑)

[Mediawiki] phpMyAdminでバックアップを取る


大量のスパムアカウントの削除についてあれこれ悩んでいる際に、ふと「これバックアップさえ取ってあれば、スパム登録されまくる前の状態に復元すればよかっただけじゃないのか・・・?」と思い、絶望的な気分に。

設置した時から全くバックアップを取っていなかったのが今になって悔やまれる・・・。

今からでもいい、バックアップを取ろう!そしてあわよくばスパムに狙われる前のデータに戻してしまおう!と思ったので、バックアップ方法を探ってみた。

SSHが使えればMYSQLに付属しているというmysqldumpというツールを使うこともできるようなんだけど、残念ながら安いサーバーを使っているのでSSH接続ができず、サーバの管理画面に用意されているphpMyAdminを使うことに。

こちらのサイトで詳しく手順を書いて下さっていたので、参考にしたらすぐできました。
WikiCookRecipe日記 – バックアップのテスト

ただし、記事数は150程度しかないのに、ダウンロードした.sqlのファイルサイズはなんと圧巻の1.9GB。恐ろしい・・・テキストデータしかないのに何故こんなデカいサイズに?!

また、「記事を一部だけ選んで復元」はかなり難しいだろうなぁという考えから、csvやxml形式でもphpMyAdminでバックアップを取ってみました。
(150ぐらいの記事なら手動で再登録という苦行もやり遂げられるだろうという安易な考え)

・・・結果、どちらもやはり1GBを超えた。

あまりのデカさにExcelには「一部しか開けませんでしたー」と言われ、文字化けしまくりで全く読めないデータを見せつけられてしまった。
全幅の信頼を置くTeraPadに至っては、「開く」を実行してしばらくはなんとか開こうとしている気配があったものの、最終的には何事もなかったように何一つ開かないという事態に・・・。拒否られた・・・。

貧相なVista機で挑戦したのがダメだったのかもしれないので、もう一度違うWindows7機(Core i5だったはず)で開けるかどうかチャレンジしてみようと思う。
開けなかったら加工も参照もできないもんなぁ・・・

[Mediawiki] スパムによる大量更新 (3) 思案中


前回の続き。

MediawikiでUserMergeという拡張機能を使えば、非常に時間はかかりますが2つのスパム利用者アカウントを1つに統合し、最終的にはスパムアカウントを1つにできる、ということがわかりました。

ただし3万件近く登録されてしまったスパム利用者をいちいちUserMergeで1アカウントずつ統合していくような余裕は到底ない・・・。
そこでググりまくったところ、海外サイトで解決策になるかもしれない方法が紹介されているらしい、との情報を得ました。

とりあえずその記事を翻訳してみたところ、PythonとFirefoxアドオンを使ってネックである「1アカウントずつ統合」というめんどくさい作業を自動化する方法のようです。

が。

Pythonがわからないのでどうしようもない。
これを機にPythonを勉強すればいいじゃないか!とも思ったのですが、いかんせんそんな時間の余裕はなく。
今でも1日に10件程度はスパムによる更新が行われてる状態なのでね・・・
とりあえずPythonをインストールして書いてあるコードを実行するまではわからないなりにやってみたけど、エラー出たので泣く泣く諦めました(メンタル弱い)。

しかしよくよくこの一連の方法を見てみると、Pythonでやることは「スパム利用者のアカウントをAnonymousという名前のユーザーに統合して、Anonymousでない方のアカウントを消す」という作業をさせるリンクURLをだーっと並べたHTMLを自動生成する部分なんですよね。

print "<a href=\""+"http://www.xxx.xx/index.php?title=Special:UserMerge&olduser="+line+"&newuser=Anonymous&deleteuser=1"+"&token=123456789123456789""+">User URL Link</a>"

↑Pythonスクリプトの中にこういう部分があるので、ここの「+line+」の部分にアカウント名を入れて、トークンを該当箇所に入れればそれでUserMergeが動くURLができるんじゃないの?と思ったわけですが・・・

上手く行かなかった。「トークンが不正です」って出ちゃった。

もし+line+とトークンの部分を変えるだけでいいんなら、わざわざPython使わなくてもテキストエディタの置換機能とか使えばサクサクっとHTMLは作成できるんじゃないか?と思ったんですがね・・・甘かったですね・・・

でもここに何かヒントがあると思うので、もうちょっと試行錯誤してみようと思います。

[Mediawiki] Mediawikiでスパム利用者の大量のリストを消す方法・和訳


http://simplecloudworks.com/2013/04/how-to-delete-a-long-list-of-spam-users-in-mediawiki/の翻訳。

「Mediawikiでスパム利用者の大量のリストを消す方法」

運営するMediawikiサイトが大量の自動アカウント作成によってスパム攻撃を受けている場合(キャプチャがスパマーへの抑止力にならないことは以前から既に知られています)、一つの予防策としては拡張機能「ConfirmAccount」を使用することが挙げられます。この拡張機能を使えばアカウント作成に管理者の許可が必要となる為、直接アカウントを作成することはできなくなります。

しかし、既に作られている大量のスパム利用者のアカウントはどうやって消せばよいのでしょうか?

「User Merge And Delete」という拡張機能が手助けとなってくれます。一度インストールすればスパムアカウントを他のアカウントに統合でき、データベースから削除することができるのです。ただし、ひとつひとつ。

大量のスパム利用者のアカウントを削除するには、拡張機能User Mergeを自動的化するViswaprabha氏の(未完成ではありますが)独創的な手法を参考にできます。

(1)
・拡張機能UserMergeをインストール
・ブラウザのFirefoxにWeb Developerアドオンをインストールする
・Pythonインタープリタ
・FirefoxにDownThemAll!アドオンをインストールする

Firefoxの拡張機能Web DeveloperでUserMergeのフォームから情報を取り出すことができるのがミソです。
この情報をスパムアカウントのリストと連結し、シンプルなウェブページを作ることができます。
作成されたhtmlページでFirefoxアドオンのDownThemAll!を使うことでUserMergeにスパムユーザーを削除するよう指示ができるのです。

(2)
・Mediawikiの特別ページにある「利用者一覧」からスパム利用者のアカウント名を取得しリストを作成します。表計算ソフトなどにコピー&ペーストやフィルタリングをすることでリストを作成することができます。この時スパムでないアカウントをリストに入れてしまわないようご注意を!

(3)
Firefoxを起動して自分のMediawikiに管理者としてログインし、特別ページ内の利用者の統合と削除ページへ移動します。このページを開いたらWeb Developerツールバーのフォームボタンをクリックし
「form要素のmethod属性値を変更する」>「GETをPOSTに変換」
を選択します。そうするとブラウジングセッションに必要な固有のトークン(例:2c05d520d9b202235c03e8fe8ll8khBなど)が表示されます。

(4)
ここでPythonスクリプトを使って、(2)で作成したリスト(以降「userslist.txt」と表記)を(3)で取得したトークンと紐付けし、htmlファイルを出力します。下記にサンプルスクリプトを記述します。使用の際にはスクリプト内の該当箇所を自分のWikiサイトのドメインとトークンに置き換えて下さい。

#!/usr/bin/python
# Concatenate a list of users to produce URLs which delete them using UserMerge Extension for MediaWiki
# Usage:  python concatenate_UserMerge_MediaWiki.py userslist.txt > userURLlist.html  

import sys

input = open(sys.argv[1])
count = input.readlines()
g = len(count)
input.close()

print ""

input = open(sys.argv[1])

for k in range(g):
        line = input.readline()
        print "User URL Link"

input.close()

print ""

このスクリプトを、例えば「concatenate_UserMerge_MediaWiki.py」と名前をつけた場合のUsageは

python concatenate_UserMerge_MediaWiki.py userslist.txt > userURLlist.html

です。

(5)
最後のステップとして、(4)で作成したhtmlページ(例えばuserURLlist.html)を使います。
このuserURLlist.htmlをFirefoxで開くとリンクで埋め尽くされたページが現れると思いますが、この1つ1つが拡張機能UserMergeへ自分のWikiサイトの中で1つのアカウントを消すという指示の実例ということになります。効率よくこのリンク全てを踏んでUserMergeを実行するために、userURLlist.htmlを開いた状態でFirefoxのアドオン「DownThemAll!」を使用します。この際、(3)でトークンを取得した時から同じセッションでログインしていることが重要です。

userURLlist.htmlのダウンロードが進むにつれ、スパムアカウントがUserMergeによって消されていきます。

[Mediawiki] スパムによる大量更新 (2) UserMerge


前回の続き。

手順(3)のUserMergeというextensionについて。

インストールすると特別ページに「利用者の統合と削除」という項目が追加され、利用者アカウントを別のアカウントに統合することのできる拡張機能です。
例えば利用者アカウントAをBに統合する際に、統合された側のAを削除することができる、というのがポイントな模様。
AをBに統合→CをBに統合→DをBに統合・・・と繰り返していけば、いつかはBの利用者アカウントのみが残る、ということですね。
現在まだ「利用者を削除する」という目的だけの機能はないようで、利用者を消したい時はこのUserMergeを使うのが唯一の策なのかも。

これはまだMediawikiには標準実装されていないようで、Mediawikiサイトからダウンロードが必要です。
Mediawiki – Extension:UserMerge
mws2
↑ここからダウンロード。

ダウンロードしたtar.gzをSSHでサーバ上の「extension」ディレクトリに解凍するか、ローカルで解凍して「extension」ディレクトリにアップロードします。

その後LocalSettings.phpに、先ほどのMediawiki – Extension:UserMergeページに書いてあるコードをコピペし、
mws3
上書きアップロードすれば管理者としてログインした際、特別ページに「利用者の統合と削除」が表示されるようになります。
mws4

「利用者の統合と削除」のページはこんな感じ。
mws5
利用者Aを利用者Bに統合した上でAを削除する場合の記入例です。
「利用者の統合」ボタンをクリックすると、Aのユーザーアカウントが削除され、BにAの投稿履歴が統合されます。

ただ、これで1件1件消していくには3万件近く利用者が登録されてしまっているので、あまりにも遠い道のり・・・
いい策を探しているところです。