void*

おいらは汎用ポインタになれるのか?自分が普段やってることがいかに繁雑か理解するためのメモ

[GAS][onEvent] スプレッドシートで文字列の入力済みセルを空にした時の返り値

ちょいとややこしい話だが、スプレッドシートのトリガーの「編集時」を使ってユニークidを自動生成するスクリプトを仕込むことにした。

例えるならば、B列に「店名」を入力すると、A列へユニークidを自動的に挿入する仕組みだ。
A列は保護済み、C列以降に入力されてもA列へは挿入されないようにしている。

トリガーの「編集時」は結構便利で

function onEdit(event) {  
}

としておくと、それなりの情報が event に返ってくる。

詳しくは「 Event Objects」のページを参照してほしい
Event Objects  |  Apps Script  |  Google Developers

event.oldValue
event.value

なんていう素敵なプロパティも存在している。あ〜素敵すぎ。

だがしかし、ひとつ問題が出た。たぶん、スルーしても問題ないレベルではあるが。

すでにB列に店名が書かれているがA列は空、その時にB列を空にした。

期待したのは

value : null 

であったが、残念なことに

value: [oldValue]

が帰ってきた。はぁ????

実際のオブジェクトツリーはこんな感じだ。

 jsonPayload: {
  eventObject: {
   oldValue:  "裏口入学のぽんぽこ商事"    
   value: {
    oldValue:  "裏口入学のぽんぽこ商事"     
   }
  }
  message:  "onEdit() Event Object"   
 }

value は 単一セルのときにしか機能しないので、配列が返ってくることはないはずだ。

この仕様は、まじでやめてもらいたい。

仕方がないので、

event.range.getValue()

で対応することにした。今の所、うまく動いている。おそらく永遠に動いてくれるだろう。

google lighthouse の Audit error: libUrl.parse is not a function

何を血迷ったのか、お友達のブログを構築し始めた。

流行りの lighthouse に対応させようとすると、SEOの項目で

Page is blocked from indexing
Search engines are unable to include your pages in search results if they don't have permission to crawl them. Learn more.
Audit error: libUrl.parse is not a function

なーんて、エラーが出ちゃってる。 Learn more のリンク先は404エラーで困ってします。
正しいリンク先は発見した。

続きを読む

【Wordpress】wp_tag_cloudの引数 includeとexcludeの矛と盾

自分用のメモです。最近忘れん坊さんなもので。

wp_tag_cloud の引数に exclude (非表示) と include (表示) があります。

この2つに同じ番号を割り当てたらどうなるんだろうと疑問が浮かびました。

こういうときは Try&Error で終了ですが、何故かソースを読み出してしまった。

wp_tag_cloud()は内部で get_terms()を呼び出している。

その中で、WP_Term_Queryというクラスをインスタンス化して使用している。

WP_Term_Queryクラスを読むと、

if ( ! empty( $include ) ) {
            $exclude = '';

と書かれていた。ここで終了。

includeが優先されるというか、includeに記述があると、excludeを無効にしている。

グルタミン酸とイノシン酸でメチャウマなデニスの沖縄焼きそば

f:id:motobitsrk:20170212164440j:plain

みんさんは、沖縄そばの麺を使った焼きそばつくるときどんなソースを使いますか?

トマトケチャップ?
しょうゆ?
ウスターソース
とんかつソース?
オタフクソース
塩?

他にもあるかもしれませんね。

今日は、先月に旅立ってしまった友のデニスがめずらしくバクバク食べていた沖縄焼きそばの作り方をご紹介。
友は、少食で「ソイレント最高っす!」っていうスタンスだったので、こんなに食べるんだぁって驚いた一品です。
居候させてもらってお礼だったけど、喜んでもらえてよかったですし、今となってはいい思い出です。

このレシピを思いついたときから、老後はこの美味しい沖縄焼きそばの飲食店を営みながら暮らしていこうと思っていままで公開することを避けてきました。

いまは、このレシピが広がって多くのお店で食べれたらいいなぁという気持ちです。

そんなの知ってるわという人ごめんなさいね。

それでは、レシピの公開です。

続きを読む

WordpressからGmailを送るなら WP mail SMTP より Gmail SMTP がええよ

ここで紹介するGmai SMTPは、PHPMailerの脆弱性CVE-2016-10033に対して、2016/12/28に更新された Ver1.0.9で対策済みです。
しかし、脆弱性CVE-2016-10045には対応できていない可能性があります。次バージョンでは改善されるかと思います(希望的観測)。

blog.tokumaru.org


ハートロックちんすこうの認知度をどう上げれば良いのか?と考えた時、「そうだ!プレゼント企画だ!」と思いました。

なら「応募フォームを作らなければ!」

ということで、Wordpressで構築していたHPに応募フォームを作ろうと計画しました。

応募フォームに書かれた内容を、Gmailに飛ばすようにして、そのメール内容をGoogle Apps Scriptの定期実行で解析し、Googleスプレッドシートにリスティングすれば、管理もらくらく。

もちろん、Googleへのアクセスは、2段階認証にしているのでセキュリティー面も充実です。

で、このシステムを構築するにあたって、お問い合わせフォームで使っていたContactForm7を流用することにしました。

ContactForm7はとっても便利で、フォーム内容をメールで送ってくれるし、メールアドレスを入力してもらっていれば、「応募受け付けました」というメールも送信できます。

しかし、冷静に考えるとこれまで使っていたメールを送信するためのWP mail SMTPに、不安を感じるようになりました。

その理由や学んだことをまとめてみました。

安全性の低いログイン技術を使用しているアプリ

WP mail SMTPでメールを送信するには、SMTPとユーザー名とパスワードが必要ですが、Gmailを使うにはGoogleアカウント名とパスワードでログインをしなければいけません。

しかし、Googleのセキュリティーはしっかりしているので不用意なことを嫌います。

その1つが、何からGoogleアカウントにアクセスしようとしているか?です。

残念なことには WP mail SMTP はアカウントとパスワードのみでアクセスを試みる「安全性の低いログイン技術を使用しているアプリ」なので、Googleアカウントの安全性の低いアプリの設定でセキュリティレベルを落とさなければなりません。

2段階認証やOAuth2が利用できる方が安心感が高いですよね。

ログインブロックされる可能性の高さ

突如、WP mail SMTP に「SMTP Error: Could not authenticate.」という表示が。

なにかと思ったら、Googleから不明な端末からのアクセスとしてログインブロックしたとの連絡がありました。

心あたりがあることを通知すると、ブロックは解除されましたが、アプリだけではなく、端末としても不振がられると思うと、再びこのような自体が起きる可能性があるのではないかと不安になりました。

もちろん、ログインブロックされたときの応募内容は送信されてきません。気づくのが遅いと応募者は離脱しちゃうリスクが非常に高まります。

どこからでもアクセスできてしまうアカウントとパスワードだけのシステムは、管理レベルがかなり厳しいのではないかと思います。

情報流出の怖さ

Googleへのログインを2段階認証している場合、WP mail SMTP には「アプリ パスワード」という特別な16 桁のパスコードを入力することで、2段階認証を回避します。しかし、この「アプリ パスワード」は、「その他の端末」、「その他のアプリ」としてつくるため、どの端末のどのアプリからアクセスしても違和感がない。

仮にサーバーを乗っ取られたれた場合、「アプリ パスワード」が丸見えなのは恐怖でしかない。

Googleは「アプリ パスワード」は「Google アカウントへの完全なアクセス権が付与している」という。

G Suiteとして、様々な機能をGoogleアカウントで使っている身としてはゾクッとしってしまう。

もし今、15mm厚でもサクサクなちんすこうのレシピ表が漏れたら、弱り目に祟り目になってしまうだろう。

OAuth2で認証できるGmail SMTPが悩みを解決

WP mail SMTPでの悩みはSMTPへのログイン部分からのS Suite関連の情報流出ということをご理解いただけたと思います。
その悩みを解決してくるのがGmail APIを使うためのOAuth2認証という手です。

OAuth2認証であれば、独自のクライアントIDとクライアントシークレットでアクセスをするので、Googleアカウントのパスワードが漏れることがありません。

このOAuth2認証を備えたWordpress用メールクライアントプラグインが、Gmail SMTPです。

これさえあれば、G Suite全体が危険にさらされる心配は消えます。

エイリアスを使って送信元メールアドレスを変えれる

G Suiteの管理画面でメールエイリアスを作成します。

  1. 仮にGoogleアカウントがshigeaki@exsample.comだとして、G Suiteの管理画面でメールエイリアス pokefunat-noreply@exsample.comを作成します。
  2. shigeaki@exsample.comで Gmail にログインし設定「アカウント」「名前」「他のメール アドレスを追加」で fabrication-noreply@exsample.com を追加します。
  3. Gmail SMTP の設定画面で下記のように設定します。
  • OAuth Email Address に shigeaki@exsample.com を
  • From Email Address に pokefunat-noreply@exsample.com を

f:id:motobitsrk:20161225145019p:plain

そして、Wordpressからテストメールを送信すると、発信元はshigeaki@exsample.comではなく、pokefunat-noreply@exsample.comになります。

メールのソースを表示して確認しても、Googleアカウントである、shigeaki@exsample.com はどこにも確認できません。

これで、shigeaki@exsample.com がサイバー空間にさらされることもなく、noreply用のアカウントを有料で持つ必要もありません。得した。

ちなみに、Gmailで追加していないアドレスを、「From Email Address」に設定すると、送信元のアドレスが強制的にshigeaki@exsample.comに書き換えられます。ひえぇぇ〜〜

ということで、WordpressGmailするなら、Gmail SMTPがええよー

それでは皆さん、良いネットライフを。

昭和元禄落語心中シーズン1·小夏の正体

Amazonプライムビデオで、昭和元禄落語心中シーズン1を観た。

 

おいらは沖縄でちんすこう屋を営んでいるのだが、製造中のBGMは落語を聞いていることが多い。

 

落語を覚えるためではない。落語から言葉づかいを学ぶためだ。それでも、落語の世界には引き込まれていく。

 

残念ながら沖縄では落語は盛んではない。工房がある村にもメンソーレという、噺家がいるが、話すことに必死で演じてはいない。

 

それでも、ばかうけするのだから、本人も不思議でたまらないだろうなと思う次第である。

 

起きてから寝るまで、四六時中ちんすこうのことを考えていてはいけないと思い、寝る前に、amazonビデオで、映画一本観て寝るようにしている。

 

そんなこんな状況の中、落語心中が目に止まり、BLのようなサムネイルに、1話だけでも見てみるか、っと見たが最後、13話全部見ちまった。

 

噺家というお仕事がよくわかる内容と、ちょっとドロッとした人間関係相関図にはまってしまった。

 

わりと短時間で観れたのは、噺の部分をすっ飛ばしているから。しっかりと噺の部分も作り込まれているのには感心するけど、イメージを押し付けてくる画像が邪魔で仕方がなかった。

 

ストーリーとしては、小夏って女の存在が気になった。

 

ネタバレ含むかもしれないので、ごめんなすってよ。原作も読んどらんので、思ったことを書く。なぜ、それを書きたくなったのかは、自分でもわからない。

 

小夏。この女、菊比古とみよ吉の子供だろう。 

 

小夏、その名は夏に生まれたからと初太郎は言う。春なら小春、秋なら小秋という風になる予定であった。

 

みよ吉と初太郎の初めての絡みは、花見の季節、そこから十月十日なら小冬という名になったであろう。

 

みよ吉と初太郎が、秋に仕込んだ子供かといえばそうでもない。

 

その花見の季節に、初太郎との絡みあい、みよ吉は「お腹の子」というからだ。

 

また、この「お腹の子」という言葉は、「私達の子」でもなければ「あなたの子」出ないのがポイントだろう。

 

そこに感じるのは、初太郎への愛の無さの表現と受け取った。

 

終盤、みよ吉は菊比古のことをずっと待っていたと告白する。嫌がらせというよりはあてつけというやつだったのだろう。

 

わかるなぁ、その気持ち。ある意味、初太郎と利害が一致したのかもしれない。初太郎も菊比古への嫉妬をつらつらとのべている。

 

ということで、小夏という名前の由来を初太郎が菊比古に話したこと自体が、お前の子供だよと告げたことになっていて、菊比古も当然理解したと思われる。

 

ちなみに、初太郎の子供は、与太郎である。鼻のマークがその証。それ以外の根拠は今のところ見当たらない。初太郎の場合は情婦との子供が何人かいる可能性が高い。与太郎はその一人と考えられる。

 

お千代と初太郎の子供でないことを祈るばかり。

 

展開としては、小夏が菊比古の子供という方が幅が広がる。

 

現代の落語は、古典あり、新作ありである。古典を擬人化したのが菊比古で、新作を擬似化したのが初太郎なのであれば、その志のバランスが需要となる。

 

古典だけの落語では、生き抜けないと落語と心中をはかる菊比古は、与太郎に初太郎という新作の影をみいだし、落語の生き残りをかける。

 

与太郎は期待に応え、新作で巻き返しを図り評価を得ると共に、古典の良さが見直される。

 

その流れに、小夏のお腹の中にいる子供が古典を追いかけ、与太郎と小夏の子供が新作を追いかける。

 

三代に渡る、落語復活のお話なのではないかと思うです。

 

あと、小夏は演劇の方へ進むのではないだろうか。初太郎の影響を多大に受けているので、落語への想いは強いだろうけど、菊比古の才を受け継いでいるのなら、三味線だとか、劇や舞などのほうが、進みやすい。

 

小夏の落語への想いは与太郎がしっかりと受け取ったいるだろうし。

 

以上、勝手に昭和元禄落語心中シーズン1以降を考えてみました。

 

おわり

 

 

 

 

 

 

 

 

 

 

 

景気回復の実感ねぇなぁ

景気ってどうなの?

 

専門的なことわからないけど、アベノミクスで儲かった人は景気がいいの?

 

銀行とかめっちゃ儲けてそうだけど、違うのかな?

 

先日、景気が回復してる実感がなかったことがあったのでご報告。

 

定額貯金の年利0.01%、だったよ。

 

10年前に預けた定額貯金の満期がきてやっと思い出したけど、景気が悪かった当時でも、0.15%から0.30%もあった。


f:id:motobitsrk:20161027123748j:image

 

定額貯金の最高利回りは12%(日銀調べ)だって。

 

100万円を十年預けたら、220万円になって返ってくる。税金ひかれるけど。

 

なんだよ、利率が上げれば税収も上がるじゃん。

 

やっぱ、景気回復してないの?

 

鬱と向き合う

うつ病の話題が流行ってるようで。

うつ病って、精神疾患の1つで要因も様々です。

最近は、残業からという話が多いが、自分は、「残業するな」という会社からの要請を受けたところからその道に浸かりだした。

1回目は「うつ病」、2回目は「適用障害」を経験している。それぞれ病気になった要因は違います。

経緯は長くなるので省略して、症状はあとでちょこっと書こうと思います。

まずは、「うつ病」が直った後、沖縄に移住して経過観察ということで行っていた精神科の先生の話が面白かったので書き残そうと思います。

続きを読む