ひとりごと 2年前

積み重ね

11/20『犬も喰わない話』行ってきました。水卜アナと若林さんのトークライブ。  2人のことをますます好きになりました。内容は全て犬に喰われたので覚えていませんが。  ああいう、嘘をつけない、とも違う、嘘をついていることに自覚的で、その罪を背負って戦っている人は格好いいし、そういう人たちが頂点に立ってテレビをちゃんと変えてくれる未来が観たい。無理だと思いますが。  で、そこからのオードリーANN!若林結婚!! 珍しく早寝してしまったことをめちゃくちゃ後悔しました……。  春日が気づくまでの流れの組み立て方が相変わらず鮮やかすぎるし、完璧な発表の仕方。  2人とも既婚者になったことへの一抹の淋しさはありますが、オードリーは結婚することでパワーダウンするようなコンビでは全くないと思うので、これからの展開が楽しみで仕方ありません。  でもこれはほんとに誰も想像してなかっただろうなー。  確かにそう言われると、別に結婚願望が強いわけでもないはずの若林さんが「嫁が見えるようになってきた」という岡村さんの二番煎じみたいなネタを急に毎週やり出すの違和感はあったんですよね。違和感というか、面白くないなーみたいな。匂わせだったんですねw  今週はまた不毛な議論も聴かなくては。あと岡村ANNも。  それにしても、今年に入ってからの芸能界の結婚ラッシュ見てると、意外とこんなことで結婚率上がるんじゃないかな、って思ったりします。  というか、それ自体もモデルケースでしかなく、結婚というものの価値が見直される段階というか、  個人主義の時代になってある程度経って、その綻びが見え出したことの揺り戻しが来るんじゃないかなと。  SNSとかが普及して広く浅くの関係は無限に広がったけど、人間それだけでは生きていけないし、  やっぱりもっと深いところで理解し合える相手が欲しいという欲求が逆に強化された部分もあり、  そういう全てを共有できる関係を築くための手段として結婚を選ぶ人は増えるんじゃないかなとも。  別に絶対離婚しちゃダメという風潮もなくなってきて、家事分担も当たり前になって、妻が自分の時間を持つみたいなことにうるさく言う人も絶滅してきたし、カジュアルにメリットだけを享受できるのであれば結婚のハードルも下がっていくように思います。  それだと出生率はたぶん上がらないですが、まあ、それは仕方ないでしょう。デメリットが多すぎるので。  それはそれとして『日向坂で会いましょう』1時間SPが面白すぎて凄かったです。  連想ゲームでは上村ひなのの大喜利力に震え、イス取りでは富田鈴花が最高のフリオチを決め、カスのから騒ぎは防戦一方の若林を見ることができ、妄想シチュエーションではおすしの発想のダサさに笑いながら引き込まれ、  全コーナー一つも外さず面白いという紛れもない神回でした。今回は贔屓なしにバラエティとしてオススメできる強度がありました、ぜひ。  ささくの飲み会での暴露トークなんてあの部分だけリピートできるほど面白い。来週も楽しみ。 --------------------  『フラグタイム』という映画を観てきました。

 別に観たかった深い理由はないのですが、伊藤美来さんが出ていたのと、たまたま近くでやってたのと、あと暇だったので。……暇なら先にアナ雪2観ろよとは自分でも思いますが。  最初の数分の導入が結構唐突で、うーん、とはなりましたが、そこを飲み込むと観ているうちにどんどん引き込まれたし、思ったより共感できて楽しめました。  ざっくり言うと「コミュ障とクラスの人気者が秘密を共有して仲良くなる」というシチュエーションで、百合アニメと言ったらそうなのですが、別に友情と愛情ってどっちでもいいよね、みたいな意味で普遍的なテーマ。  まあ、そういうのあるよな、って思いました。  自分が割と一貫して友達とは狭く深く付き合うタイプで、本当は一人の友達と週7で会うのが好きなんですよ。同じ話しなくて済むし。  ただ、片方がぼっちで片方が交友関係広かったり他のことで忙しかったりすると、感情の絶対量としては1:1でも、その割合として100%:10%みたいなことがあって、それはどっちが悪いとかでもないんだよなー、という。別に友人関係じゃなくて、片方が仕事とか学校めちゃくちゃ忙しいみたいなシチュエーションでも。  で、別に常に片方が整理つけたと思ったらもう片方が急に忙しくなったり、みたいなところで逆転したりする。追う側が追われる側になったり。それは、人間は他人との関係で生きているのでコントロールできない。学校なんて特に。  そういう噛み合わない辛さとか、そこから来る嫉妬、自己嫌悪、隣の芝は青い、みたいな映画です。いや、人によっては全然違う感想かもしれませんが…とにかく面白かったー。 --------------------  自分がニコニコに動画を投稿し始めて丸10年経ったそうです。  いやーただただ怖いですね。自分の中では(9)時代にハマったニコニコ新参という認識なのですが、そんなわけないし、今となってはエルシャダイもBad Appleもマトリョシカも古典。すっかり年老いてしまった……。  10年前、中2になってすぐに部活を辞めて、それ以降部活だったりサークルだったりにはほとんど関わらないまま生きてきましたが、  あの頃……特に高校の頃がそうですね、部活仲間とわいわいやってるいわゆる1軍の人たちへの憎悪とかコンプレックスみたいなものがずっとあって。  その当時、「今はボール遊びがカースト最上位だろうけど、卒業したら何も残らないことに毎日何時間も使う馬鹿と違って、こっちがやってるブログもDTMも形に残る意味のある活動だからな」っていう、それが心の支えみたいになっていて、そういうことを考えてたという記憶が凄く残ってるんですよね。  でも、それから10年経って、あの頃に始めたウェブ制作がちゃんと仕事に繋がっていて、しかも毎日楽しい、というのは本当に幸運だなと改めて思います。だって中学の時に趣味で始めたもので飯が食えてる人がどれだけいるのかっていう話ですよ。  高校の頃にwowakaさんのサイトを見ながらHP作った経験とか、そういうのも全部活きてるし、そういう意味で自分は間違ってなかったなと思います。別にそれがなかったらなかったで違う人生があるだけだとは思いますけど。    ……DTMそのものは特に未来には繋がりませんでしたが、動画制作とかWeb技術とかは全部活きているし、ああいう動画を作ったことで得た、構成力とか表現みたいな部分で全くの無駄にはなっていない……と信じたいです。  ニコニコメドレーというニッチで何の役にも立たない技術に使った時間のことを考えて虚しくなることも多少ありますが、まあそれなりに楽しかったし、楽しいから10年も続いたんだろうし、これはこれで別にいいか、と思います。全ての活動をお金に繋げなければいけないわけでもないですし。  メドレーは……さすがにニコニコメドレー的なものを作る気はないのですが、ちょっとしたお遊びみたいなものなら作っても良いなーとは考えてます。10周年記念で、もうひたすら自分の好きな曲だけをぶち込んだようなものを。とりあえず今はWeb開発の方に集中してるので、ひと段落して気が向いたら。たぶん作らない気もしてます。 ...

comment  0
favorite  2
技術・Web 2年前

Firestoreのデータからブログのサイドバーを表示する

WordPressブログをNuxt+Firebaseに移行するシリーズ。  前回の記事で、記事一覧および記事本文を表示できるようになりましたが、  サイドバー、関連記事、コメントフォームなどの共通パーツがまだです。

サイドバー

 このブログの場合、サイドバーに必要な機能は以下の通り。
    最新記事 最新コメント カテゴリー一覧 タグ一覧 アーカイブ カレンダー 人気の記事 広告
 意外と多くてしんどいのですが、そもそもこのあたりの必要データ構造は↓の記事で整えたので、  この記事ではあんまり書くことがなさそうです。
WordPressのカテゴリー・タグなどのデータをFirestoreに同期する | Our Story's Diary  サイドバーを共通パーツ化することで、ページ遷移時に再読み込みしなくて良くなります。  これをいい感じに差分更新してくれるのがNuxt化の最大のメリットであり、WordPressだとajaxとかで無理やり遷移させることになりますが、どこを書き換えてどこを残すかを人間の頭で管理するのは不可能です

サイドバー

最新記事

 これはトップページのメインループと同じ関数なので割愛。limitを5にするくらい。

最新コメント

 これもWordPressからWP REST API経由で取るので割愛。

カテゴリー一覧

 カテゴリー一覧の取得クエリは async categories() { const query = db.collection('categories').orderBy('name') // タグはtags const data = await query.get().then(querySnapshot => { return querySnapshot.docs.map(doc => doc.data()) }) return data }  実際に出力する際は <ul class="menu-list"> <li v-for="category in categories" :key="category.id"> <n-link :to="`/category/${category.slug}`"> {{ category.name }} </n-link> </li> </ul>  で前回作ったカテゴリーページにリンクできます。  ちなみにこのブログでは、サイドバーにはアスタリスクから始まるカテゴリーのみを表示するようにしています。(最近使っていないカテゴリーが無駄に多いので) const data = await db .collection('categories') .orderBy('name') .startAt('*') .endAt('*' + '\uf8ff') .get() .then(querySnapshot => { return querySnapshot.docs.map(doc => doc.data()) })  Cloud FirestoreでLike検索する方法|shogo yamada|note の記事を

タグ一覧

 タグは上位20件をcountで並べます。 const query = db .collection('tags') .orderBy('count', 'desc') .limit(20) const ...

comment  0
favorite  1
ひとりごと 2年前

現在地

「技術系ブログ記事を連続で上げない」という自分ルールは守っていますが、  Surface Pro 7のレビューが挟まったので実質1週間ぶりという感覚。  まあそんなに書くこともないからですが……。 --------------------  そんなわけでSurface Pro 7を買っていました。以前の記事で地味に情報解禁していたことに気づいた方もいるでしょうか?  まあレビュー記事ではいろいろ理由を並べましたが、今回買った最大の理由は手元にお金があったからです。9月から本業の給与アップ×前職手伝いが修羅場で、10月末に入ったお金が、まあ、凄かった。  でもめちゃくちゃ気に入ってるので買って良かったな~って感じです。やっぱりこのサイズとスタイルが自分にはしっくりくるし、タイプカバーの打ち心地も正直好き。Laptop 2、記事でも書きましたが両面とも金属なので傷つけそうで怖かった。  i7・RAM 16GBになったことで何もかもがサクサク。今の会社で「前職ではRAM 8GBでー」っていうとかなり憐れまれるので、今までの環境はやはり劣悪だったんだなと再確認……。  iceLakeでアーキテクチャ変わったことでPro3以来の爆熱地雷機種だったらどうしようと思っていたのですが、今のところ問題ないです。  あとやっぱりType-C充電が便利すぎる。最高。Surface Proに戻ってきたのでグッズ記事とか書き直さないとなー。 --------------------  『日向坂であいましょう』クレーム企画、期待通りの面白さ。正直キン肉マンとか野球とかさすがに何週も付き合わされるの可哀想さもあったので、このあたりで新展開に持ち込むのは良い感じ。まあ野球に関しては宮崎ロケが急に入ったせいで6週連続という事故が生まれたのでしょうけど……。  後半戦ではクミさんまで登場したり、本当にスタッフも肩を回して作ってる感じが伝わってきます。  そして来週は1時間SP! それでもテーマは相変わらずただのオードリー推し。これを楽しみに1週間生きていける。  『オードリーANN』も相変わらず最高。ギャラクシー賞ノミネートもめでたい。ラジオ的には今年のベストはフライデー回だと思いますけどw もしくは、むつみ荘引越し直後の「クミさんと3人で住みたい」「GPSを共有したい」とか毎週質の高いアドリブ漫才を連発してた時期が凄かった。  最近ラジオはオードリー、ハライチ、ヨブンのことしか聴いてないですね。Creepy Nutsと佐久間さんのはたまに聴くけど、アルピーと霜降りは全然聴かなくなってしまった……。  そうそう、Creepy Nutsが紅白落選というニュースが。観測範囲だとそこそこガッカリしてる人たちがいましたが、個人的には妥当というか、  Creepy Nutsってユニットとしては明らかに人気を拡大し続けてるけど、代表曲としては未だに『助演男優賞』『合法的』『たりないふたり』の印象が強いので、音楽的にヒットしてる感じはあんまりないような。  何らかのCMタイアップでブームになったりしないと……ってそれこそ『助演男優賞』のMVの世界線ですがw --------------------  『リングフィットアドベンチャー』若干サボり気味になってきたけど一応続けてます。ようやくワールド5。  このペースだとクリアに半年かかる気がしてきましたが、ソフトの意味を考えると長続きする方が正しいはず。アドベンチャークリア後も運動続けたくなっているのかは半年後の自分が判断します。  ちなみに『ポケモン剣盾』は買ってません。  やっぱりポケモンリストラが普通にモチベを下げた。それ以降の情報はそもそもあまり追ってないのですが。  自分はやっぱりマイナーポケから上手くメタを見つけるのが好きで、前作ならミミッキュをてんねんヌオーで完封したりとか、前々作ならファイアローにメガデンリュウ投げたりとか、そういうのが楽しかったんですよね。そもそもそういう戦術はZわざで崩壊してたのですが。  そういうメタになりそうなポケモンを思い付いた時に「あ、でもこのポケモンは剣盾出ないのか」ってなった時のことを想像しただけで萎えました。  で、元々買う気はなかったところに、あのCMがすごく……不快。過去作ポケモンの一部を出さないなら出さないで、「全く新しいポケモンの世界!」みたいな売り方すれば良いのに、中身アレで宣伝だけ「全てのポケモン世代へ」みたいなこと言うの普通に悪質じゃないかな……って思いました。  そういう一つの引っ掛かりを許せなくてコンテンツ自体を楽しめなくなってしまうの、損な感性だよなーと自覚しつつも変えられないので仕方ないですね。 --------------------  この土日は中学時代の友人に一気に会いました。ほぼ4年ぶりみたいな人とも会えて楽しかったです。  先週、「大学以降友人が増えていない」みたいな悩みを書きましたが、実のところ友人と呼べる存在、自分にとっての、つまり悩みとか考えとか、要するに私が今ブログに書いているようなことを打ち明けられる相手というのは、社会に出てからはあんまり増えないのが自然なのかなとも思っていて。  結局利害関係と上下関係抜きに、というか、自分から出会おうと思わずに出会うことができないし、そうやってできた関係にはどうしても気遣いが生まれてしまうので、  だからまあ、これまでできた友人を大切にしていくしかないのかなあ、という気持ちもあります。  最近あんまりこういうわかりやすい自分語りしてなかったのでたまには書き残しますけど、  3年半前に、友人2人と同時に絶縁するという個人的に割とトラウマに近い経験があって、正直そのタイミングでは生きても死んでも別に……くらいの思い詰め方もしたし、結局それ以降で友人が増えてもいないのですが、  そこからの3年間で、紆余曲折はありつつも、リリスクとか深夜ラジオとかテラスハウスとか、他にもいろいろ面白いものに出会って、そういうことに生かされてる、救われてるなあと凄く思うんですよね。もちろんそれ以前から好きだったヒトリエとかSplatoonもですけど。  それと同時にWeb開発というものにのめり込んでいって、特に去年Vue.jsと出会ったのが転機と言えるかもしれないけど、  あんなに学生時代バイト頑張ってなかったら新卒2年目で中途採用で今の会社に入ったりはできなかっただろうし、今やってる開発もできなかった、  それらをまるっと全部含めてこう……おそらく、自分が普通に充実した大学生活を送っていたらこうはなっていないだろうなっていうところに今立っていると思っていて、それは割と、24歳の自分が立つことのできる中での最高に近いとは思うんですよね。きっと。  少なくとも今は、自分の今までの人生のいろんな失敗とかが、結果的に全てポジティブなものに昇華されていると思える時期というか。そういういろんな失敗があった上で多少は大人しくなったなとも思うし、良くも悪くも。  もちろんそれは現在地点がどこにあるかという話でしかなくて、  例えば就活ダメだった大学4年とかなら「何のための20年だったんだろう」って思ってたし、ここから来年とか再来年に躓いたら今のこの時期も含めて全て後悔に変わっているかもしれないけれど。  なんかそんなことを考えることが最近多いです。今すごく楽しいので、こんなに楽しく生きてていいのかなっていうくらい、いろんなことが上手く回っていて、ほんと、前も書いたと思うけど、wowakaさんのことさえなければ今年は基本的に良いことしか起きてない。すごい死亡フラグみたいですが。  でも、うん、こういう幸せな時期が長く続くとも思ってないし、全然予想外のところから急に絶望があったりすると思うので、だから今のうちにいろいろやっておこうとも思っています。そういう感じですね。 ...

comment  0
favorite  3
技術・Web 2年前

Firestoreのデータからブログを表示する

WordPressブログをNuxt+Firebaseに移行するシリーズ。  WordPressに存在する記事データの必要な情報は全てFirestoreに同期させたので、次はいよいよ表示。  現在のブログ表示で行っていることを、Firestoreからデータを取得するクエリに置き換えていきます。  前回も書きましたが、そもそもブログごとに必要・不必要な部分がたくさんあるので難しいんですよね。  ルーティング自体は書きますが、JSONデータをどう扱うかは完全に個々のブログのデザインの話になるので。

初期設定

 Firebaseの初期設定やNuxtとの連携の話はもういろいろなところにあると思うのでざっくり。
    yarn add firebase する ダッシュボードから「アプリを追加」でWEBアプリを追加 表示されるJS情報をplugin/firebase.ts ファイルに入れてnuxtで読み込む
import firebase from 'firebase/app'import 'firebase/firestore'if (!firebase.apps.length) { const config = { apiKey: process.env.firebaseApiKey, authDomain: process.env.firebaseAuthDomain, databaseURL: process.env.firebaseDatabaseURL, projectId: process.env.firebaseProjectId, storageBucket: process.env.firebaseStorageBucket, messagingSenderId: process.env.firebaseMessagingSenderId } firebase.initializeApp(config)}export default firebase  ここでは@nuxt/dotenvを使って環境変数化していますが、面倒な方は表示されるIDなどを直接書いてもそんなに問題はないと思います。(そもそもCDNでも使える設計なので公開情報のはず)  加えて、今後GitHubからFirebase Hostingへの自動デプロイを行うためには.env をGitHubに上げる必要も出てくるので、あまり意味がなくなる可能性もあります。気休めみたいなものです。  ストアから情報を呼び出す際は、このプラグインで初期化されたfirebaseを呼び出すので、 import firebase from '~/plugins/firebase'const db = firebase.firestore()  みたいになります。  このDBに対しての具体的な操作は、Firebaseのドキュメントを見ればわかります。
Cloud Firestore を使ってみる | Firebase  これ以降はdbの定義などは省いて書いていきます。

コンテンツ

 「WordPressサイトからURLを変えることなく移行」するためには、各アーカイブページを表示する必要があります。

ルーティング

 WordPressに存在する主要なページは以下の通り。
ページ名URL
トップページ(記事一覧)/
記事/archives/{post_id}
カテゴリーアーカイブ/category/{category_slug}
タグアーカイブ/tag/{tag_slug}
年別・月別・日別アーカイブ/archives/date/{year}/{month}/{day}
固定ページ/{page_slug}
 実はページの種類としてはこのくらいしかありません。  NuxtのPagesのルーティングを使うとこうなります。 image-20191110001933705  年別/月別/日別だけ面倒ですが、WordPressのルーティングを再現するのは意外と簡単なのです。  というわけで作るページはこんな感じです。意外と少ないですね。

トップページ

 まずメインの記事部分はこんな感じで取得してきます。 import firebase from '~/plugins/firebase'const db = firebase.firestore()export const state = () => ({ posts: []})export const mutations = { SET_POSTS: (state, ...

comment  0
favorite  1
おすすめレビュー 2年前

Surface Pro 7レビュー:全てを満たす2 in 1の決定版!

Surface Pro 7を発売日に買いました。  Surfaceシリーズを使い続けてとうとう5台目。Pro 2→Pro 4→Pro (2017)→Laptop 2と来て、またProに戻ってきました。  変更点はそこまで多くない新モデル、しかもSurface Laptop 2を買ってからまだ半年程度しか経っていないにも関わらず、なぜ購入したのかを含めて書いていきます。  主に今Pro 4 / 5 / 6 や Laptop 1 / 2 などを持っていて、買い換え検討している方の参考になれば幸いです。 [amazon_link asins='B07Y2VWWG6' template='Original' store='galeglad-22' marketplace='JP']  ちなみに購入したのはこのモデル。RAM 16GB / Core i7 / ストレージ 256GB / プラチナです。

Surface Pro シリーズの特徴

 Surfaceを使い始めてもう4年くらい経っているので、Surfaceの良さなんていうのは自分の中ではもはや説明不要になっているのですが、  Laptop 2で一時的に伝統的なラップトップを触ってみて改めて気づいたこともあるので、  ここで一度初心に返ってSurface Proの良さを挙げていきます。 img

持ち運びやすいサイズ・重さ・カバー

 Surface Laptopを買った時に、「同価格なら画面サイズは大きい方が良いに決まっている」と思っていたのですが、実際使ってみると、「大きいとそれだけバッグから取り出しにくいしテーブルにも置きにくい」という落とし穴がありました。  200gという重量差はそんなに気にならないのですが、12.3インチのタブレットと13.5インチのPCではサッと取り出せる頻度が違いました。  もちろんiPad Proに比べるとやや重いですが、そこはスペックが全く違います。タイプカバーなしで持ち歩くことはないでしょうが、タブレット単体790gに最大で16GBのメモリを積めるのは感動的です。  あと、取り回しで言うと「両面とも硬いノートPC」って結構使ってて怖いなと思いました。それが普通なのですが、傷とかつきそうで。Surface Proを多少雑にバッグに突っ込んでも、タブレット側がバッグの布と接していれば少なくとも傷つくことはないという安心感があります。

革新的で美しいデザイン

 Surface Proシリーズの外観は、キックスタンドが多段階化したSurface Pro 4以降、ほとんど変化していません。  それほど完成されたモデルと言えるでしょうし、今でも古い印象は全く受けません。  総合的に見たデザインでMacBookにも対抗でき、スタバで使うことが許される唯一のWindowsマシンです。  強いて言えばベゼルの太さですが、このサイズのタブレットであればベゼルの幅は「掴む時に指を置いても問題ない位置」にもなるので、一概にデメリットとも言い切れません。  ……まあ
Surface Pro XDell XPS 13を見た後に写真を眺めると若干野暮ったい感はありますが、どうせ下端のベゼルはキーボードの折り返しで隠れますし、使っている分には別に気になりません。

キックスタンドによる携帯性と機能性の両立

 Surfaceの最大の特徴であり、新しいカテゴリーを作った発明でもあるキックスタンド。  よく、「SurfaceはノートPCと違って膝の上で安定しない」「フットプリントが大きいので新幹線で使えない」などと書いているレビューを見ますが、それは記者という職業特有の現象であって、実際ほとんどのユーザーは膝に置いて使うことも新幹線に乗ることも滅多にないはずです。  むしろカフェやファミレスで作業することが多い身からすると、「キーボードを外しても画面のみで自立する」「タッチしても画面が揺れない」という点で、ノートPCより便利かつ安定する場面が多いなとさえ思いました。  例えば、スタンドを立てたままカバーを閉じることで、狭いテーブルであってもPCをいちいち片付けることなく、PCを使わない作業をしたり、ケーキを頼んで食べたりできます。 20191115_015106  これはラップトップにもiPad Proにもできないテクニックです。  伝統的なラップトップに慣れていると「ノートPCをタッチしたいなんて思ったことがない」という方もいるでしょうが、ウェブブラウジングをしている時にタッチでスクロールした方が快適な場面って意外とあります。 image-20191115013245427  こんな風に、人差し指と中指でキックスタンドを挟み込むように手を差し込んでガシっと掴んでスクロールさせるのが地味に安定します。これもSurfaceにしかできないスタイル。

Windows Hello、Micro SDカードスロット、タイプカバー

 Windows HelloはSurfaceに限ったことではないけど、ひたすら便利。  Micro SDカードがキックスタンド裏にあることで実質的な追加ストレージとして扱えることの便利さは、Nintendo Switchを持っている方なら想像がつくでしょう。Switchのおかげもあって大容量Micro SDがどんどん価格下がっているのも追い風。  タイプカバーも、過小評価されがちですが、この薄さでありながらしっかりとした打鍵感があります。  何なら若干の傾斜がついているおかげでLaptopやBookよりも打ちやすいと個人的には思っています。ここは好みだと思いますが。

前世代(Pro 6)からの進化

念願の USB-Cポート 搭載

 Pro 5ではキックスタンドの最大角度向上、Pro 6ではブラックモデルの追加などがあったものの、Pro 4以降ハード面では基本的にマイナーチェンジに留まっているProシリーズ。  Pro 7も外観の変化はほとんどありませんが、一点だけ、  ついにUSB Type-Cが搭載されました!   ...

comment  0
favorite  2
技術・Web 2年前

WordPressのカテゴリー・タグなどのデータをFirestoreに同期する

WordPressのカテゴリー・タグなどのデータをFirestoreに同期する  WordPressブログをNuxt+Firebaseに移行するシリーズ。  前回、記事を全て同期させたので、次は表示……と思っていろいろ作っていたのですが、  作業の中でカテゴリー・タグ・コメントのコレクションが必要となり、  その手順を行った後にFirebaseの表示する方が流れとしてわかりやすいと思ったので、記事の順番を入れ替えることにしました。  なので現在、第3回「記事表示・ルーティング編」と第4回「サイドバー編」がほとんど書きあがっています。

記事の同期

 基本的には前回書いた通りですが、いろいろと必要なパラメータが増えたので完成版を丸ごと載せます。 function save_post_to_firestore($post) { function get_first_image($post) { if (has_post_thumbnail()) { return get_the_post_thumbnail_url($post->ID, 'card-thumb'); } else if (preg_match('/<img.*?src=(["\'])(.+?)\1.*?>/i', $post->post_content, $imgurl)) { return $imgurl[2]; } else { return '/shared/images/noimage.png'; } }; $url = "https://**********.cloudfunctions.net/addPost"; $categories = get_the_category($post->ID); $tags = get_the_tags($post->ID); $previous_post = get_previous_post(); $next_post = get_next_post(); $data = [ // base 'id' => $post->ID, 'author' => $post->post_author, 'slug' => $post->post_name, 'title' => $post->post_title, 'content' => array( 'text' => strip_tags($post->post_content), 'rendered' => $post->post_content, ), 'date' => $post->post_date, 'modified' => $post->post_modified, // taxonomy 'categories' => $categories, 'category_slugs' => array_map('convert_tax_to_slug', $categories), 'tags' => $tags, 'tag_slugs' => array_map('convert_tax_to_slug', $tags), // meta 'post_type' => $post->post_type, 'post_status' => $post->post_status, 'ping_status' => ...

comment  0
favorite  2
ひとりごと 2年前

サイクル

スタバ、12月中旬までに50回飲むとモレスキンのノートを貰えるキャンペーン中なので最近もほぼ毎日行ってるのですが、  夏季限定のバレンシアシロップが終了してからというもの、なかなか安定の選択肢を見つけられずにいて、  ただのアイスコーヒーに他のシロップ入れてもしっくり来ないし、ソイラテやカフェモカも別に大好きではないし、アフォガードフラペチーノも仕事中に飲むには微妙……という感じで、  消去法でソイラテを買ったりしていたのですが、  冬限定のジンジャーブレッドラテがまさに自分好みの味で完全解答に決まりました。今週5回飲んでます20191103_151339  割と猫舌気味なのでアイスドリンクの方が好きで、なおかつ甘すぎても苦すぎても良くないというところに、このジンジャーシロップの独特の味が刺さりました。  あと気持ちちょっとだけ健康にも良さそう。  しかも「ショット追加・豆乳変更・ホイップ抜き・チャイシロップ」とカスタマイズの幅もそれなりに広いので飽きにくい。  もう少し寒くなってきたらホットコーヒーとかも選ぶと思いますが、今月中はもう毎日これでいいかなーと思ってます。 --------------------  リングフィットアドベンチャー、ちゃんと続けてます。ヒトリエライブの日はさすがに寝ましたが……。  1日休んだ次の日に起動したら、プレイ後の豆知識で「毎日やることではなく続けることが大事、1日空いたからってモチベーション下がってそのままやらなくなるのが一番良くない」みたいなことを言ってくれて救われました。  正直健康になっているのかどうかもよくわからない、というかそもそも私は別に不健康な生活を送ってはいるけれどそんなに不健康ではなくて、風邪もあんまりひかないし痩せてるので目的があるわけではないのですが、  とりあえずここで中途半端に辞めるのもアレなのでしばらくは続けていこうと思います。 --------------------  ヒトリエのライブ映像盤、もちろんBlu-rayを買ってXbox Oneで観たのですが、  家でしか観れないのが不便に感じてきたので、  BDだけでなくDVDをAmazonで買ってごにょごにょしてスマホで観れるようにしました。 [amazon_link asins='B07YX1JNQ1' template='Original' store='galeglad-22' marketplace='JP']  で、スマホで観れるようになると一気にハードルが下がるので、毎日1周してます。本当に買って良かった。  IKIとLoveless合わせたら4時間くらいになるので、仕事中の作業用BGMにしてます。  映像観なくても良いし別にストーリーがあるわけでもないから集中が削がれない、というのもあるのですが、これを観てるとモチベーションが高まるんですよね。なんというか、限られた人生の中で時間を無駄にしていることの罪を意識させてくれる。生き急がなくてはならないと改めて感じる。 --------------------  何となくのルールとして技術系の記事を2連続で上げたら終わりのような気がするのでこんな感じで軽く。  Firebase移行プロジェクト、極めて順調です。明日も1つ記事上げますし、年内どころか今月中に最後まで終わらせたいところです。  しかも仕事も楽しいのでずっと開発してます。自分はプログラミング向いてる人間なんだなと改めて思うし、もちろん自意識過剰になってはいけないと思うけれど。ようやく自分のできることが見えてきたので、どんどん進んでいきたい。  ただこういうことしてるとブログの更新の方が疎かになりがちなのがネックですが……そちらも何とか時間取って更新していきたいと思ってます。レビュー記事も溜まってますし。  あと単純にFirebase移行できるとかなり高速化できると思うので、そちらもお楽しみに。 --------------------  朝スタバでジンジャーブレッドラテ買って、日中は仕事がバチクソ楽しくて1時間くらい残業して、帰りはフェアプロ観て、夜に1~2時間くらい趣味の開発して、家でリングフィットやって寝る、  毎日がとても楽しくて、こんなに毎日充実感を得られていいのかなと不安になるくらいです。やることを探すのが一番しんどくて、やることがある時が一番楽しい。  今年、特に後半は、今まで生きてきた中でも一番充実している期間だなあと思う一方、wowakaさんのことさえなければ2019年何から何まで最高なことしかなかったのになあ、と思って、溜め息をつく日々です。 ...

comment  0
favorite  3
技術・Web 2年前

WordPressの記事データをFirestoreに同期する

WordPressブログをNuxt+Firebaseに移行するシリーズ。概要は↓  今回は最初のステップとして、まずはWordPressの記事をFirestoreに同期します。  流れとしては ①Firebaseのプロジェクトを作ったりいろいろする ②Cloud FunctionsにaddPost関数を作成 ③WordPressの投稿時/更新時にaddPostにリクエストを送る ④現時点で存在する記事を全て同期する  簡単ですね! たぶん思っているよりも簡単です。  以下にやり方を載せます。

Firebase側のセットアップ・コンソールログイン・その他いろいろ

 いろいろなところで説明されてると思うので割愛。公式ドキュメント見てください。
Firebase を JavaScript プロジェクトに追加する | Firebase  ちなみに、この記事の段階では使うのはfunctionsをデプロイするだけなので、ステップ3のFirebase SDK追加も不要ですし、Firebase側で何かすることはありません。  ただ、Firebaseの使い方としてはそれなりにトリッキーなので、一度Firebaseで真っ当にチャットとかWebアプリ作ってからの方が良い気もします。

Cloud Functions

addPost関数の作成

とりあえずfirebase initしてFirestore functionsを含めてセットアップします。 === Functions SetupA functions directory will be created in your project with a Node.jspackage pre-configured. Functions can be deployed with firebase deploy.? What language would you like to use to write Cloud Functions? TypeScript? Do you want to use TSLint to catch probable bugs and enforce style? Yes  TypeScriptを使うかだけ聞かれます。とりあえずTypeScriptを使うことにします。 Cloud Functions に TypeScript を使用する | Firebase スタートガイド: 最初の関数を作成してデプロイする | Firebase  この2ページを見ればだいたいの手順はわかると思うのですが、  注意点としては公式チュートリアルはRealtime Databaseのままになっているということです。  今からFirebaseのデータベースを使うならFirestoreを使いましょう。 import * as functions from 'firebase-functions';const admin = require('firebase-admin');admin.initializeApp();const db = admin.firestore();// ...

comment  0
favorite  2
ひとりごと 2年前

たりない

『さよならたりないふたり』観てきました。  いや……最高でした……。結構そこから数日余韻にあてられるくらい。本当に行ってよかった。  全時間面白いのはもちろん、ひたすらに若林さんの天才さを思い知らされました。もちろん山里さんのツッコミの上手さも天才的なんですけど、即興で2時間の漫才を組み立ててしまう若林さんの構成能力……。あの2本目の伏線回収は感動すら覚えました。ひたすらに尊敬。  しかも内容も、改めて若林さんが次の時代を担う令和のスターであることを証明するような、感情の吐露と内面の変化。ずっとふざけているのに決して嘘がない。漫才かどうかという定義もどうでもよくなるほどに面白かったです。  それにしてもあのアドリブでひたすらにトークを組み立てていくという圧倒的な話術を毎週2時間聴けるオードリーANNという場が無料で提供されてることには感謝してもしきれないなあと今更ながら。アルピーはもう諦めました。 --------------------  その前日のオードリーANNも沁みました。  「自分だけが置いていかれることが多い、小学生の時のままボール遊びしたい」という話、冗談めかして話してはいましたがすごく共感します。  小学校や中学校からの友人と、たまに会ってファミレスで3DSやSwitchで遊ぶというのが大学生の頃からずっと続いていて、それはもちろん楽しいんですが、いつまで続くんだろうなと。30歳とか40歳になってもそれは続けられるものなんだろうかと思う一方、それこそオードリーが学生ノリのまま20年間続いている関係性でもあるわけで、意外と続いている人たちもいそうですよね。  やっぱり自分自身に関して言えば、実家を出て一人暮らしする、結婚する、のどちらかがないと今の学生時代の延長みたいな感覚はなかなか抜けないだろうなと。学生時代のバイトからぬるっと社会人になったのであんまり切り替えできてないということもありますが。  自分が結婚しなくても周りが結婚したり引っ越したりでそういう関係性を続けられなくなった時に、新しくそういう友人を作ることもできないだろうな、というのがここ数か月の悩みです。具体的に言うと、大学2年の留学を最後にタメ口で会話する知り合いが一人も増えていない。そして今後も増えるとは思えない。孤独になるために生きているような。 --------------------  『さよならたりないふたり』を観て思ったことがもう1つあって、  今は全部言っちゃうことで観客との共犯関係を結ぶのがモードというか、  今回で言えば打ち合わせをせずにいきなりアドリブで入ったり、「今から伏線を張ります」「何も思いつかない」みたいなことを言っちゃったり、そういうところが支持される理由なのだろうなと。  「『ご指導・ご鞭撻』を言うくらいなら指を折られた方がマシ」というのももうわかりすぎて頷きまくってました。  作品性だったり作家性を突き詰める人、匿名で作品だけを見てほしい人にとっては厳しい時代だし、そういう在り方もいていいとは思うのだけど、大衆に支持されるにはある種の弱いところも見せた上でそれを上回る魅力によって引っ張っていくしかないのだろうし、  それはある意味で嘘をつかなくていい世界が訪れるようにも思います。いや、嘘をつかなくていいというか、今までだったら嘘をつき通して逃げ切れた人たちが逃げ切れなくなったというか。  もちろんその上で善悪より好悪が上位にくる世界が良いかと言われたらそうとも言えないのですが。 --------------------  そういうライブを観た直後に書いたから、結果的に言わなくていいことしか言わない記事になったのが前回の記事でした。  もう誕生日おめでとうございますとかそういうことすら言いたくなかったので書いていません。  いろんなことの噛み合わせが悪かったんだろうなというのは凄く思っていて、今……またはもう何年か後、それこそ今のwowakaさんの年齢に近づいたら、もう少しヒトリエの音楽に対して真摯に向き合えただろうと思うし、  もっと単純に、今くらい給料がガンガン上がるタイミングだったら、IKIもLOVELESSもCOYOTE HOWLINGも、多少熱が足りなくてもライブ行ってたと思うんですよね。  だからこう……もう少し待ってほしかったなあというのが正直なところです。DEEPERやHOWLSを否定した身で言えることではないけれど。 --------------------  昨日は『HITORI-ESCAPE』でした。とりあえず前回買えなかったTシャツとバッグとキーホルダーを買えたので満足。  前回は衝撃で気づかなかったけど、セトリ頭に入れた上で改めて聴くと1曲目のセンスレスワンダーから既にギターが足りないなあと思いました。  当然ながら曲は全部好きだしノレるし、でも聴きながらずっと別の考え事をしている時間の方が長かった気はします。  やっぱり思い出すのはあの4月の土日、ライブが中止になってからの2日間、この結末以外だったら何でもいいと思っていて、もし本当にそれ以外の結末だったとしたら……もうこれで伝わったと思うのでこれ以上は差し控えます。  ここからは、もう自分はヒトリエのファンじゃないというポジションに立たないと言えないことを書きますけれど、  このツアーが終わったら、来年は新メンバーを入れてほしいな……と思いました。ギターまたはギターボーカルを。  wowakaさんと一緒に活動していないメンバーが入ったバンドをヒトリエと呼べるのか、という感情は、ファンの中には当然あると思うんですけど、それを言うならwowakaさんがいない3人のヒトリエも私はヒトリエと呼びたくないし、  別にその3人で今後作る楽曲が、4人目を入れないことによってwowaka色が濃くなったりはしないと思うので、  だったらもうギター2本体制にして、wowakaさんが遺した既存の楽曲だけでも不足を感じさせずに演奏してほしいなという。  3人体制で続けることによって既存のファンはもちろんついていくと思いますけど、絶対それ以上増えることはないだろうし、今まで以上の人気になることもない、そういう活動の形が望まれているのかというと違うんじゃないかなと。  まあでもそれは、今のヒトリエの3人と、そのヒトリエのファンの方々が望む方向に進めば良いものなのですが。今まであんなにヒトリエの変化を拒んできた人間が急にどうでもよくなって適当なこと言っているだけなので。  私は永遠にヒトリエの昔のライブ映像を観続けます。 --------------------  もう何というかこれを糧にしてとかそういう気力もないくらいで、なんだろう、  最近はムカついてます。wowakaさんのことに対して。結構本気で、怒りの感情が一番強い。  日本中の全バンドのメンバー一人ずつ死なないかなとか思ってます。そうならないと納得がいかない。  日々の積み重ねでなった喪失……例えば、それこそ昔別れた彼女とか、数年前に絶交した友人とか、そのあたりは、「もし今でも関係が続いていたら」っていうことは全く想像がつかない、たまたまその時に何らかのラインを越えなくて関係が続いたとしても、1週間後、1ヶ月後、のどこかで破綻していただろうとも思うし。  でも、「あの日wowakaさんが亡くなってなかったら」みたいなことって、全然容易に想像できるし、別にそれから7ヶ月生き続けたとしても何の違和感もないじゃないですか。  別に必然性があるわけではないものだからこそ全然まだまだ受け入れられないですね。昨日のライブを観ていてもやっぱり足りないなあと思ったし。  まあでもそれだけ悲しいのにたりないふたりで爆笑してるからそんなに悲しいわけでもないのかもしれませんが。 ...

comment  0
favorite  2
音楽・イベント 2年前

『UNKNOWN-TOUR 2018 “Loveless”』特別先行大音響シアター上映会

10/31に、ユナイテッド・シネマ豊洲で開催された「ヒトリエ LIVE DVD & Blu-ray リリース記念 『UNKNOWN-TOUR 2018 "Loveless"』特別先行大音響シアター上映会」に行きました。  行くかどうか迷っていたのですが、行って良かったなと心から思っています。 --------------------  自分は『IKI』『Loveless』という2つのツアーのどちらも行きませんでした。  ここ数年、ヒトリエに対する熱が一時期と比べて冷めた後でも、  行きたいと思ったライブ(HITORI-ESCAPE)には全て行ったし、  行かなかったライブにはその時に行かないという決定をするだけの理由があったから行かなかったのであって、  そのことについて後悔はない、と、この半年間、書き続けてきました。それは実際そうだと思っています。  が、『Loveless』というライブについては、行くべきだったのかもしれない。  行った方が良かった、とかではなくて、  もしあのライブに行っていたら自分は今こんな風になっていなかったのではないかということを、上映会からの数日間考えていました。  それは、演奏以上に、曲の合間のMCで、wowakaさんがすごく熱く語っていた、そんな姿を初めて見たからです。もちろん他のワンマンでも喋るし、ああいうことはよく言っていたと思うけれど、それでも『Loveless』というツアーは、そのアルバムのテーマがテーマだけに、かなり特異な空気ができていたように感じられました。  あんなにも熱を帯びて、感情を込めて、音楽のこと、愛のこと、人間のことを語るwowakaさんの姿をもし生で見ていたら自分は、wowakaさんを、ヒトリエを、信じ続けることができたのだろうか。  おそらく、そうではないだろうなとは思います。  こういうことが起きるまでずっと、いや、こういうことがあってもまだ、ヒトリエに対しての印象はずっと上下し続けていて、  最高のバンドで一瞬でも貶そうと思うなんて狂っていると思う瞬間と、絶賛しか認めない信者に唾を吐きかけたくなる瞬間が交互に訪れていて、  今年の3月から4月はちょうどそういう負の時期でした。1月、2月のHITORI-ESCAPEで心動かされたはずなのに、それでもなお、そういう風になっていたのだから、きっと意味なんてなかったのだと思います。  それでも、Lovelessというライブを観ていたら、ひょっとしたら……と思わずにはいられない、それほどまでに鬼気迫る映像がありました。  まだBlu-rayを買っていない方、特にツアーに行かなかった方は、絶対に買った方がいいです。どの口が、という話ですが。 [amazon_link asins='B07X8G82NF' template='Original' store='galeglad-22' marketplace='JP'] --------------------  このDEEPERの記事は、このブログの記事が、小さいながらもバズるという初めての経験であって、その後のこのブログの在り方にも大きく影響しました。  そして、自分にとって――もしかしたら自分以外にあの記事を読んだ人の中にもそういう方がいるかもしれませんが――、あの記事で書いたことはずっと一種の呪いになっていたのだと思います。  最近のwowakaさんの歌詞を好きになれない、という言葉を発信してしまったことで、それ以降のwowakaさんの書いた歌詞を、言葉を、真正面から受け止めることなく、上っ面だけを見て拒絶してしまったのは自分なのではないか。  ボカロ時代であれば使わなかったような語尾、言葉使い、漢字、それらだけを見て、自分には合わない、と思ってしまったのではないか、  というのを考えたのは、今回、『Loveless』の上映会の中で、一番印象が変わった曲が、『アンノウン・マザーグース』でも『日常と地球の額縁』でもなく、  『ソシアルクロック』だったからです。  100%音と映像だけに集中できる空間で聴いたソシアルクロックが、その歌詞があんなに真っ直ぐに今の社会をストレートに否定する表現になっていることに、馬鹿みたいな話ですが、今まで気づいていなかった。気づこうともしなかった。 --------------------  最近、「ずっと真夜中でいいのに。」とか「三月のパンタシア」とか「Eve」とか、  あのあたりの人気のボカロPの曲を聴くと歌詞の軽薄さに激しい嫌悪感を覚えるのですが、  きっと今の自分が新曲として『裏表ラバーズ』を聴いたら同じように好きになれないのだろうと思います。  結局その時々の人生のステージであったり置かれている環境であったりで、その人に刺さる言葉、刺さらない言葉、というものがあって、それは同じ人でも変わったりする、  それと同時に、それは聴く側だけでなく作る側に同じことが言えて、つまりwowakaさんが架空の少女を主人公に据えた箱庭的な歌詞を作らなくなったのは、そういう歌詞に本人が魅力を感じられなくなったからだろうと思うし、  すごく雑にまとめるなら、wowakaさんの方が大人になるのが早かったんだなあと思います。  ボカロを始めた頃のwowakaさんはまだ学生で、ヒトリエを始めてからは当然そうではなくなったわけですけど、  自分自身も、大学を卒業して社会人になったこの2年でも相当に意識の変化があったし、だからこそずとまよやEveさんの中身のない歌詞に全然魅力を感じられないのですが、あれが刺さる層もたくさんあってそっちがマスマーケットであるから正しいのでしょう、  一方で、wowakaさんはそうしてマスに迎合する歌詞を作るのを拒んで、  成長し、変化する自分を等身大で見せ続けることを選んでいたのだろうなと思います。  自分は何でそのメッセージを受け取ることができなかったんだろうと、それは考えます。 --------------------  考えても悩んでも意味なんかない。  別に自分が何かこの問いに答えを出してもヒトリエのライブが観られるわけではないしwowakaさんの新曲が聴けるわけでもない。  そして、そういう答えが出てもそれをどこにも返すことができないんですよ。  wowakaさんがどれだけヒトリエのライブを大事にしていたか、熱を持っていたか、それに二度と行けなくなることが自分にとってどれだけ暗い影を落とすか、それを知った後でも、  それはwowakaさんという唯一無二の人だから起きたショックでしかなくて、  だから米津さんの次のライブにも応募しなかったし、ヒトリエのwowakaさん以外の3人のライブにも今後は行かないし、メンバー3人のフォローも数年前に外して以来そのままです。    上映会は確かに素晴らしい空間だったけれど、それを素晴らしいとはとても言えません。ライブが終わった後、席を立ちながら友人同士で感想を熱っぽく語り合う人たちのことはとても信用できません。  あのライブを見た後に残るのは果てしない喪失感と虚無感、それだけでした。  あれだけ素晴らしいライブの、そのすべてが二度と取り戻せない過去の記録で、未来永劫更新されずにどんどん古びていく。前に進むことができない。  そういう絶望だけがあります。 --------------------  wowakaさんの訃報から半年が経って、直接的なショックとしては和らいできていたのかな……と思っていたのですが、  ここ何週間か……特にこの上映会の前後で、ああ、やっぱりだめかもしれない、と思います、  ヒトリエ以外の曲を聴いているだけで罪悪感を覚える。  それだけ聴いていると飽きてしまうからもちろん他の曲も聴くのだけど、申し訳ないなと思ってしまう。何かに。  そして、Eveとか日向坂とかの曲を聴いていると、こんなにも軽薄で、血が通っていない、人間を見せていない、楽曲を聴くこと、好きになることが冒涜だなと思う。それを音楽だと認めてはいけないような。  ヒトリエ以外のアーティストが売れたニュースを見ると嫌悪感を覚えるし、何を楽しそうにしてるんだろうと思う、  自分自身も、何でゲームなんかやってるんだろう、何でスタバの新商品なんか楽しんでるんだろう、自分よりも何倍も価値がある人の命が失われたことに対して何もできていないのに、何で価値のない人間が生を満喫しているんだろう。  それは結構一生変わらないんじゃないかなと思います。  別にwowakaさんが亡くなったことから目を背けて生きていくのは簡単で、現に今ままさに自分がそうやって7ヶ月もぬけぬけと生きているわけですから、そんなのはとても簡単なことです。考えなければいいので。考えずに仕事に没頭して、普通の人間のフリをして他人とコミュニケーションを取れば済む話なので。  きっとそしてこれからもそんなことは増えていくのでしょう。自分の母親がたぶん自分より先に死んで、それでいていま自分が死んでほしいと思っている父親はたぶんなかなか死なないんだろうなとか。根拠はないけれどそう思います。  ただ、そうやって生きていくことのゴールが最終的にどこにあるんだろうとは思います。wowakaさんが最終的に死ぬという結末に向かってこの10年wowakaさんを応援してきたのと同じように、同じように米津さんもそうなるし、自分の周りの大切な人についてもそうで、  そうやって自分の大切なものが全て奪われていくことを眺めるだけの人生にどれだけの価値があるんだろうか。  当然ですけど明日からは全然こんなこと考えていないかのように振る舞いますよ。それは簡単なので。  wowakaさんの誕生日の翌日であってもSurface Pro 7のレビュー記事を上げてアフィリエイト収入でお金を稼ごうとする浅ましい人間になることはとても簡単で、そして、それ以外の選択肢なんてないんです。自殺するなら別ですけど。  書けば書くほど陰鬱な気持ちになります。そして陰鬱な気持ちになるべき人間であるからそれは正しいことなのだと思います。  これ以上続けていても意味がないので切り上げますね。すみません。きっと明日起きてこの記事を読んだら後悔すると思いますが、それでもこれが本心です。 ...

comment  0
favorite  3