温活のススメ

こんにちわ。
リエです。

今年はずっと気温が高いなぁと思っていましたが、最近ぐっと気温が下がって寒くなってきましたよね。今は冬用のコートを着ないと外に出るのがつらい感じです。

この時期は乾燥も気になるのですが、特に頭を悩ませるのが冷え!
わたしはすんごい冷え性なので年中手足が冷たいのですが、冬はさらに氷のような冷たさになります。←内々で手足が冷たいことを「手足がエ◯サやん」と言うのが流行ったというどうでもいい情報をお伝えします。
過去にしもやけになった経験あり。
詳しくは→しもやけ対策2019

ということで今年も温活をはじめました。


温活のススメとして、仕事中の寒い( TДT)をちょっとでも防ぐため、カイロやペチパン、ひざ掛けなどを駆使して身体を温めています。
飲み物もカフェインは身体を冷やす作用があるので、ノンカフェインのお茶を飲んでいます。(今はルイボスティー。とうもろこし茶もデスクに置いてるよ)
お水も白湯にして温かいものを✌
でもカフェインを飲むと頭がすっきりするから、1日1杯は飲んでいいことにしています。(ゆるく甘くがマイルールです)

お家ではお布団の中にゆたんぽを入れているのですが、これがめっちゃいい。
よく足先が冷たくて寝れない〜!となっていたのですが、ゆたんぽのおかげでよく眠れるようになりました。ちなみにレンジでゆたぽんという商品を使っております。気になる方はググってみてください☺

ちなみにシルク素材の靴下をお風呂上がりから寝るまで履いているのですが、いい感じなので(シルクは保温効果が高いことで有名です)寝る時用のグローブも買おうかなと思っております。

余談ですが、うちの愛犬も飼い主に似たのかすんごい寒がりです🐾
シングルコートのワンちゃんというのもあるかと思いますが、毛布大好き、冬はヒーターから離れません。
ヒーターから近すぎるので、いつもおヒゲが焦げるでと注意しています。

これからの時期は風邪を引きやすかったりインフルエンザが本格的に流行りだしたりと体調を崩しやすくなるので、どうぞ皆さまご自愛くださいね。

SolrのReadOnlyモード

Solr 8.1から追加された機能にRead-Onlyモードがあります。SolrCloudでの運用時に利用できるモードです。リファレンスマニュアルの該当部分を翻訳してみました。

readOnly属性をtrueにセットするとコレクションはRead-Onlyモードに移行します。このモードではインデックスの更新リクエストは拒否されます。他のコレクションレベルのアクション(コレクションの追加/削除、レプリカの移動)はこのモードにおいても有効です。


(デフォルトの)read-writeモードからread-onlyモードへは以下の手順で移行されます。
・コレクション内のreadOnlyフラグが変更される
・すべての更新リクエストが403 FORBIDDENエラーで拒否される(継続中の長期実行リクエストは中止される)
・実行中の更新が強制的にコミットされる
(注意)大きなセグメントがバックグラウンドでマージされている最中であれば、この強制コミットは長時間に及ぶかもしれません。
・コレクションのRELOADアクションが実行される
readOnly属性が削除されるかfalseに設定されるかすると、更新リクエストが有効になりコレクションがリロードされます。

https://lucene.apache.org/solr/guide/8_2/collection-management.html#readonlymode

簡単な動作確認をしてみました。

$ curl 'http://localhost:8983/solr/admin/collections?action=CREATE&name=test_readonly&collection.configName=_default&numShards=1&wt=xml'

$ curl 'http://localhost:8983/solr/admin/collections?action=MODIFYCOLLECTION&collection=test_readonly&readOnly=true'
{
  "responseHeader":{
    "status":0,
    "QTime":476},
  "success":{
    "127.0.1.1:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":350}}}}
$ bin/post -c test_readonly data.json 
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/test_readonly/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file data.json (application/json) to [base]/json/docs
SimplePostTool: WARNING: Solr returned an error #403 (Forbidden) for url: http://localhost:8983/solr/test_readonly/update/json/docs
SimplePostTool: WARNING: Response: {
  "responseHeader":{
    "status":403,
    "QTime":207},
  "error":{
    "metadata":[
      "error-class","org.apache.solr.common.SolrException",
      "root-error-class","org.apache.solr.common.SolrException"],
    "msg":"Collection test_readonly is read-only.",
    "code":403}}
SimplePostTool: FATAL: Looks like Solr is secured and would not let us in. Try with another user in '-u' parameter

テスト用のコレクション(test_readonly)を作成し、MODIFYCOLLECTIONアクションでreadOnlyをtrueに設定してからドキュメントをポストするとリファレンスの説明通り403エラーになりました。

$ curl 'http://localhost:8983/solr/test_readonly/select?q=*%3A*&rows=1&start=0'
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":1,
    "params":{
      "q":"*:*",
      "start":"0",
      "rows":"1"}},
  "response":{"numFound":0,"start":0,"docs":[]
  }}

当然インデックスは空っぽのままです。

$ curl 'http://localhost:8983/solr/admin/collections?action=MODIFYCOLLECTION&collection=test_readonly&readOnly=false'
{
  "responseHeader":{
    "status":0,
    "QTime":466},
  "success":{
    "127.0.1.1:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":344}}}}
	
$ bin/post -c test_readonly data.json 
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/test_readonly/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file data.json (application/json) to [base]/json/docs
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/test_readonly/update...
Time spent: 0:00:01.420

次にMODIFYCOLLECTIONアクションでreadOnlyをfalseに戻してからドキュメントをポストしたところ、今度はエラー無しでアップデートできました。

$ curl 'http://localhost:8983/solr/test_readonly/select?q=*%3A*&rows=1&start=0'
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":0,
    "params":{
      "q":"*:*",
      "start":"0",
      "rows":"1"}},
  "response":{"numFound":9236,"start":0,"docs":[
      {
        "id":"158",
        "type":["官公庁"],
        "area":["住之江区"],
        "name":["軽自動車検査協会大阪主管事務所"],
        "address":["住之江区南港東3-4-62"],
        "_version_":1648645250184380416}]
  }}

クエリの結果からも、正しく更新できたことを確認できます。

ReadOnlyモードを使えば内容固定のインデックスを運用中に誤って更新してしまうことを防ぐことができて便利ですが、このモードはSolrCloudでのみ利用可能なので、その点は注意が必要です。

PHP LaravelとVue.jsでWebSocketしてみる

秋になると「紅葉見に行こうよ」と言いたくなるけど言う相手がいない。
マエダです。

気づいたら紅葉シーズン終わっていた。。

 

Laravelを触ってみてVue.jsってどんなもんだろうと調査してみる機会がありました。
他のメンバーがずっと以前の社内勉強会で発表してくれていた通りものすごく便利なことに気付かされました。。。
ただ長くjQueryに甘えていたのでこの場合はどうするの?がたくさん。

今回はWebSocketしてみました。

参考サイト

https://readouble.com/laravel/5.7/ja/broadcasting.html
https://qiita.com/zaburo/items/34289d4573f39113b25a

いきなり参考サイトですがこの手順通りに対応すれば動作確認できちゃいます。
ありがとうございました。

実行コマンド抜粋

npm install –save laravel-echo socket.io-client
composer require predis/predis
composer dump-autoload
npm install -g laravel-echo-server
laravel-echo-server init
laravel-echo-server start

URLをディレクトリ指定に

Nginx設定する。
sudo vi /etc/nginx/conf.d/app.conf

location /ws/{
    proxy_pass http://127.0.0.1:6001/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $remote_addr;
}

jsのpathにディレクトリを指定する。
vi resources/js/bootstrap.js

import Echo from 'laravel-echo'
window.io = require('socket.io-client');
window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: window.location.hostname,
    path: '/ws/socket.io',
});

window.Echo.channel('hoges')
    .listen('Hoge', (e) => {
        console.log(e);
    });

感想

ほんとに全然JavaScriptコードを書かずともLaravelでWebSocketを利用できることにシンプルに感動でした。
個人的にはメンバーに負けないようにVue.jsを理解を深めます!
「千里の道も一歩から」
https://jp.vuejs.org/

音楽がある生活

こんにちわ。
リエです。

この前の休日、予定があったので準備をしてお家を出ました。
歩きながら音楽を聴こうっとBluetoothのイヤフォン🎧をつけたのですが、接続音が鳴らなくてあれ?と思ってバックの中を見たらスマホ📱が入っていませんでした。

い・え・に・わ・す・れ・て・き・た

今日1日くらいスマホがなくてもいいか〜とも思いましたが、スマホがないと時間も分からないし音楽だって聴けないやんとなり取りに帰りました。(戻る時間はあったのです)
今はほとんどの物事がスマホ1台で完結するので、ないと生活に困ってしまいますね💧

昔は音楽を聴くのはiPodなどの音楽プレーヤーを使っていましたが、今のスマホは音質がいいので別に音楽プレーヤーを持つ必要がなく本当に便利です。
SONYのMDプレーヤーとか持ってるのステータスだったなぁ。(遠い目)

わたしは移動中やお家にいる時は音楽を聴くことが多いのですが、皆さんはどんな時に音楽を聴きますか?どんな音楽が好きですか??

気分を上げたいとき、集中したいとき、悲しいとき、音楽はつねに寄り添ってくれています。スマホがない生活が考えられないのと同じように音楽がない生活も考えられません。
Apple Musicを活用しているのですが、最新曲から昔懐かしい曲までたくさん入っているので(なんと2019年11月時点で配信楽曲数は6000万曲以上らしいですよ)好きにプレイリストを作って気分に合わせて聴いております。
※Apple Musicの回し者ではありません。

ずっとRADWIMPSが好きで聴いていたのですが、最近はおすすめされたアーティストの曲や共有してもらったプレイリストの曲も聴いています。共有してもらったプレイリストだと自分の知らない曲が入っているので音楽の幅も広がっておもしろいです。

新しい音楽に出会いたい方や音楽の幅を広げたい方は、ぜひ他の方のプレイリストを共有してもらうことをおすすめします🎶
プレイリストの共有はアプリでかんたんにできるのでお手軽ですし( ̄ー ̄)♥

最近はKing Gnuがお気に入りでよく聴いています☺
King Gnuは教えていただいてから聴くようになったのですが、知れてよかったアーティストさんです。

他にこのアーティストさんの曲がいいよとかありましたら、ぜひぜひ教えてください✨


Microsoft Edge preview builds を触ってみる

Microsoft Edge(以下Edge)が Chromium を採用すると発表してから11ヵ月、もうすぐ1年になろうとしています。

そろそろベータ版も落ち着いたのではないかと思い、インストールから一通り触ってみた感想を書いてみます。

以下から Edge preview build のダウンロードができます。

Microsoft Edge Insider Channels
https://www.microsoftedgeinsider.com/ja-jp/download

お試しできるベータ版は3種類あり、今回は Dev ビルドをインストール。
この記事を書いている時点のバージョン情報は、「79.0.308.1 (公式ビルド) dev (64 ビット)」 となっています。

起動せよと呼ぶ声あり

起動時の画面がこちら。

Microsoft Edge preview build を開いた最初の画面

メニューはこんな感じです。

Microsoft Edge preview build のメニュー

現行版 Edge に比べてかなり Chrome に近い印象。

弊社サイトの Recruit ページを preview build と現行の Edge で表示させて並べてみました。

左が preview build, 右が現行版 Edge

CSS の解釈が違うのかベータ版だからなのか、ヘッダー(青い色の部分)の box-shadow が効いていません。

いくつかWebページを見て回りましたが、閲覧程度なら現行ブラウザとも遜色なく動作しているように見えます。
Edge Insider の「既知の問題」を見るとまだいくつかの問題は残っているようですが、随時修正されていくでしょう。

私は Chrome であり、Safari であり、Edge ではない

ユーザーエージェントは以下のようになっています。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3943.0 Safari/537.36 Edg/79.0.308.1

Mozilla、AppleWebKit、Chrome と並んでいますが、Edge ではなく Edg となっています。
preview build であるため Edge にはまだ至っていないということなのか、このまま本採用されるのか。
開発者視点だと気になる点ではあります。

見よ、Chrome アドオンは共にある

新しい特徴として、Chrome アドオンが利用できるようになるとのことなので試してみました。

試してみるアドオンは Picture-in-Picture Extension (by Google)
https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg

Chrome ウェブストアを Edge で開くと画面上部にメッセージが。

「他のストアからの拡張機能を許可する」というボタンをクリックすると、拡張機能のページに「Chrome に追加」のボタンが現れます。
押してみると何事もなく拡張機能に追加されました。

実際に試してみると、

PIPを有効にしたときの表示

Edge の外に PIP の小さなプレイヤーが表示され動画が再生されています。
ただ、試した限りでは残念ながら一時停止ボタンが機能しませんでした。

やがて Chrome になる?

ここまでをまとめると「Chrome によく似た何か」であり、それ以外の感想は特に出てきませんでした。
あまりに Chrome 然とし過ぎていて、どちらを使っているのか分からなくなります。

まずは基本機能の安定動作。
そこからの独自機能の実装という方針なのだと思います。

今後、実装予定の新機能が色々発表されていますし、edge://flags/ を開くと WebVR や WebXR Device API 等、気になる名称の機能が試験段階として無効化されていることが分かります。

試験段階の機能 Collections

そして、試験段階にある Internet Explorer モードが IE ユーザーに受け入れられるのかどうか。

正直にいえば、新しい Edge に一番期待しているポイントです。

IE がなくても Edge で問題ないということになれば、多くのWeb開発者の救済への大きな一歩となるかもしれません。

しかし、Chrome に似た何かで終わる可能性もあり…。

Microsoft 様におかれましてはどうかうまくやってくださいと強く祈るばかりです。