日々ブログ

当サイトは、アフィリエイトプログラムにより商品をご紹介しています

【プログラミング】webpackが開発終了と聞いたので後釜探し

Node.jsがDenoに変わったりと最近、web界隈を支えてきたコア技術の入れ替わりが多い気がしますね。
一部界隈で、OSSの時代は終わったみたいな声がささやかれてますがその影響だったりするんだろうか。
もともと、OSSって自身のスキルを示すために開発している節があったので、そうした取り組みが破綻し始めてると考えると、web界隈の人気もしばらく低迷しそう。

webpackが開発終了

webpackが2023年初頭に開発終了しました。
理由は、「10年も前のニーズに合わせて作ったツールだからメンテナンスができないよ」とのこと。 詳しくは下のブログ記事を御覧ください。
英語ですが。
合わせて、後継のturbo packへの熱い想いも書かれているので見ると面白いです。

vercel.com

Internet Explorerへの対応する役割を完遂

半ば強引な形もありましたが、Internet Explorerへ対応しながら、モダンなwebに対応したwebアプリを開発する役割に一役買っていましたもんね。
その役割をInternet Explorerのライフサイクルが尽きるまで全うしたと考えると、めちゃくちゃすごい。
web業界に与えた影響は計り知れないと思います。
何だかんだ10年以上使われていますもんね。

webpackの開発者はturbopackへ

webpack の開発者はどうやらturbopack への開発に鞍替えしたようです。
turbopackはwebpackの後継にあたるようで、ソフトウェア寿命が尽きてしまったwebpackではできない主に性能面の課題を克服するために開発しているとのこと。
たしかに、webpackはソフトウェアが肥大化すると途端にバンドル速度が落ちてしまう。
とあるプロジェクトでは、一行コードを書き換えるだけで、トランスパイルするのに5秒くらいかかって、生産性がめちゃくちゃ落ちてた。
まあ、webpackはInternet Explorerにも対応するなど、かなり汎用性が高いものでしたから仕方無い気がしますが。
そんなwebpackの弱点を改善したいというのは個人的に期待のできる取り組み!

turbo.build

公式githubはまだまだ稼働していそう

自分は後釜を探しつつありますが、webpackの公式githubは現在もコミットが続いているのでしばらくはサポートがつづくんじゃないかと思ってます。
記事公開の時点で、7月13日に最新リリースが公開されていますからね。
開発終了と言いつつ、あまりにも広く使われているのでサポートを突然終了することはできないんでしょうね。
というか、終了したら色んなサイトの更新が止まりそう。

github.com

turbopack vs viteの争いへ

「webpack 開発終了」とかで検索すると、 turbopack とviteが検索にヒットします。 なので、基本的にはこの2つを比較検討しておけば問題ないかと思います。 OSSの流行は回転が早いので、あくまで2023年時点の話ですが、仕事に使うにしろ趣味で勉強するにしろ個人的にはviteの方が無難かなと。

速度重視ならturbopack

速度重視ならturbopackらしいです。
実際に試したわけでは無いので、公式サイトの受け売りです。
というか、速度を前面に押し出していて、 速度比較のページを設けてます。
更新速度は、圧倒的にturbopackですね。
10倍くらい差が出てます。

https://turbo.build/pack/docs/comparisons/viteturbo.build

とりあえず使いやすさの観点でviteが無難

viteの方が長年使われていたということもあって、現状はviteのほうが無難かな~。 使用している例も使いやすいし、トラブルが起きたときや設定をカスタマイズしたいときにも情報を収集しやすい。

turbopackはMPLライセンスであることに注意

turbopackの最大の難点はMPLライセンスなんですよね。
MPLライセンスは、複雑なんですけど、注意点が頒布するときにそのソフトウェアもMPLでライセンスしなければならないことなんですよね~。
turbopackは、バンドルツールなので、それを使って作成したwebアプリなどを公開するのはいいんでしょうけどね~。
turbopackを含んだ開発環境とかを公開するとなると、ソースコードを頒布可能にするなど少々手間がいります。
しかも、MPLライセンスを含んだソフトウェアはMPLでライセンスしなければならないという煩わしさ。
このあたりに配慮が必要な時点で少々煩わしいですね~。
比べて、viteは考えることも無いのでラクです。
というか、仕事として作成したソフトウェアをOSSとして公開しなければならないというリスクを管理しなければならないという時点で採用されることは少ないかと。

vite でreactの環境を作る方法

とりあえず、viteを自分の中では使って行こうと決めたのでreactプロジェクトの作り方を早速学んでみました。 といっても、めちゃくちゃ簡単でした。

npm create vite

上の処理が済んだあとは、

npm install

これだけでした。

reduxの場合

我らがredux-toolkitを使いたい場合は下記のコマンドです。 開発が進んだあとから、reduxを導入するのは骨が折れるので導入するなら早めがおすすめです。

npx degit reduxjs/redux-templates/packages/vite-template-redux my-app

以上です。

redux の方がコマンド一発で構築できて至れりつくせり感があって好き。

【暮らしのお話】ステルスマーケティング規制法が導入されたので、注意点を調べてみました

ブログについての情報収集をしてたら、ステルスマーケティング規制法というワードがやたらと出てきたので調べてみました。
とりあえず、個人で作成しているブログに関してはあまり気にしなくていいのかな~という印象でした。

ステルスマーケティング規制法とは

ステルスマーケティング規制法とは、その名の通り、ステルスマーケティングを規制するための法律ですね。
いわゆる「ステマ」ですね~。
商品とかのレビューをブログとか動画に一般的な消費者の意見に見せかけて、実は単なる広告であるみたいなやつです。
引っかかることはなかなか無いにしろ、しつこい広告なども多いのでシンプルに煩わしかったりします。
2023年10月1日からは、こうした広告が規制されるようです。

広告であることを明示すれば大丈夫

ステルスマーケティングは、広告なのか一般的な消費者による意見なのかがわからないことが問題なので、広告であることをわかりやすく表示すれば大丈夫です。
ステマに対する嫌悪感からかステマでTVも死亡!みたいな動画とかよく出てますけど、 そもそもTVCMはパッと見で「広告」と分かるんでほとんど関係ないんですよね。

規制されるのは事業者だけ

そもそも規制されるのは事業者だけです。
なので、個人的にやってるブログとかyoutubeチャンネルとかはほとんど関係ないですね。
このあたりは、消費者庁のホームページにもしっかりと明記されてます。

このサイトもはてなブログの運営費を回収のためにadsenseとか利用しているので、ビクビクしてましたが、 ひとまずは安心して良さそう!といった感じですかね~。
それにしても、ふるさと納税と言い、今回の規制と言い、庶民の生活が厳しい感じがする。
もう少し明るい政策をやってくれても良いのにな~。

https://www.caa.go.jp/policies/policy/representation/fair_labeling/stealth_marketing/

間接的には個人の活動も冷え込む

法律自体は個人の活動にはほとんど影響ないですが、少なからず影響はあるでしょうね~。
何と言っても広告費の大元の活動が鈍くなるんですから、個人の活動に対して出すお金の量も目減りしてしますからね~。
あと、広告の出し方とかに制限がされるので、案件の数自体も減るんじゃないかと。
荒稼ぎする人は荒稼ぎする業界だったのである種仕方ないのかな~。
実際、楽天アフィリエイトにおいても、下のように広告であることを明示するようページが作成されてたります。

【プログラミング】SSO(シングルサインオン)について改めて考えてみた

webサービスを開発していると一度は聞くことになる「シングルサインオン(SSO)」ですけど、もてはやされてる割には導入するメリット薄くないかな?と思ってます。
これを導入するためにわざわざ大金をかけるなんてどうなんだろうというのが正直なところなので今回はシングルサインオンについて書いてみたいと思います。

シングルサインオンとは

シングルサインオンは、一つのwebサービスにログインしたら他のサービスを利用する際に改めてログインしなくて済むような仕組みです。
内部的には、認証したという情報をブラウザに記憶させていて、それらを複数のサービスで使えるようにするといった感じです。
yahoo IDを持っていたら、メール・オークション・フリマとか色々使える!といった感じのことです。
シングルサインオンが無いと、メールとオークションそれぞれでIDを作ることになり、若干不便ですからね~。

シングルサインオンについて意思統一するのが難しい

シングルサインオンですが、上でも記述した通り「一つのサービスにログインしたら他のサービスでのログインが不要になる」だけなので、本来非常にシンプルな試みなのですが、開発する上でこんなことが起きます。

ja.wikipedia.org

  • シングルサインオンしたらGoogle にログインしたらうちのサービスも使えるんじゃないの?
  • 複数間のサービスのIDを一元管理できるんじゃないの?
  • セキュリティレベルが上がるんじゃないの?
  • 簡単に作れて安くできるんじゃないの?

大体こんな感じですかね。
シングルサインオン」について検索すると大体上記のような内容が出てきますが、 何かシングルサインオンから外れてる気がします。
「Id連携」、「Id管理サービス(IDaaS)」などと混同してるんじゃないかと。

シングルサインオンが恩恵を受けるのは巨大なwebサービスを持っているところだけ

yahooとか楽天といった複数のサービスを提供している巨大な企業ならわかるんですが、サービスが一つとか二つしか無い会社ってわざわざ導入を検討する必要があるんですかね。
対応しなくても、1回や2回ログイン試行が増えるだけです。
お客様にアカウント登録をしてもらうのが申し訳ないといった理由もあるのでしょうが、アカウント登録を渋る程度の便利さしか提供できていないわけで、そうなると登録をしてもらったところでいずれ使ってもらえなくなります。

プロジェクト間の意思疎通が難しくなり開発速度が落ちる

シングルサインオンを実現するに当たって、プログラミングという意味では、様々なOSSやらサービスが提供されているのでそれほど時間はかかりません。
一方で、どのサービスと連携するか?で揉めてしまってプロジェクトが停滞することが多いように思います。
全サービスに対応すればいいじゃない?というのが分かりやすいのですが、全サービスに対応できることを確認するテスト工数が肥大化します。
また、あの会社にはうちのお客様の情報を提供したくないからシングルサインオンの連携はだめ!といった要望が突然出てきて、最悪作り直す羽目に。

セキュリティが一定水準に保たれる

セキュリティが担保されるかは、シングルサインオンに関わらず、造り手によって決まるというのが正直なところですが、正直情報流出のリスクは上がるんじゃないかというのが個人的な考えですね~。 一見、すでに稼働しているサービスと連携していて、そのサービスが問題なく動いているので、すがりたくなりそうですが、アカウント情報が流出するのなんて一瞬ですからね。 しかも、アカウント情報を連携しているからこそ、見ず知らずのサービスがアカウント情報を漏洩したのに自社のサービスにまでしわ寄せが来る!といったことが容易に想像できます。 実際、パスワードを流出させてるのって、facebookとかtwitterとかが多いですからね~。 セキュリティを高めたいならこじんまりと自社サービスだけで完結するほうが、管理もしやすいというのが正直なところですね~。

haveibeenpwned.com

そもそもそれほど便利か

ユーザー目線で考えたときに、別にそこまで便利じゃなくね?って言うのが正直なところです。
そもそもスマホがパスワードを覚えてくれるので、数秒程度時間がかかるといったくらいです。
それに、ログインしっぱなしのサービスとかも多いですからね~。
むしろ、一つのサービスにログインしただけなのに、他のサービスにも情報が言ってるんじゃないか?って個人的にはちょっと不安になります。
実際、ネット銀行とかのサービスはシングルサインオンに対応していないところが現状は多いですし、それのおかげで他のアカウントの情報が盗まれても「お金」は守られてる!って感じがします。

仕様をまとめやすい社内システムならありかも

上のようなことを考えると社内システムをまとめあげるならいいかな~と。
乱立した社内システムごとにIDを覚えないといけないとかいう状況だったら、効果も歴然だし、 仕様もとりまとめやすいし、セキュリティの心配も社内ネットワークなら関係無いですしね~。
実際うちの会社も乱立しててIDとパスワードを複数覚えないといけないから大変。 半年に1回くらいしか使わないシステムのパスワードとか覚えていないなんてしばしば。

【暮らしのお話】ポケモンスリープがのんびりしてて好き

最近、ポケモンスリープにはまってます。 ハマっているというほどやり込む要素はないんだけど、 続けられてます。
まあ、寝るだけなんですけど。
ダイエットとかも並行して続けられていて、最近健康志向なのもあって今回ブログにしたいと思います。

ひたすら大きくなって行くカビゴンを眺める

このゲームはアプリを起動したまま寝れば寝るほどカビゴンが大きくなります。
カビゴンが大きくなると、より珍しいポケモンカビゴンの下に集まってきて、どういう原理かカビゴンのそばで寝始めます。
何ともスキの無い平和な設定!
自分の睡眠が深く長いほどカビゴンが大きくなるので、健康かつやりこめて一石二鳥なので好きです。
ドラクエウォークといい、健康×エンタメって何かお得な感じがしていいですよね~。

カビゴンが好き

よくよく考えるとカビゴンが好きなんですよね~。
子供の頃から。
食って寝るだけの生き物とかシンプルだけど地上の覇者感あるし。
何より、寝ているカビゴンを起こしたら、起こした奴が悪いみたいな印象ないですか?
安眠妨害を受けることが無いとか 、もはやカビゴンになりたい。


眠るだけなので続けやすい

他にもきっとやり込む要素はあるのだと思うんですけど、ひたすらカビゴンと一緒に寝てます。
起きてる時間は他のゲームやってたりすることが多いですからね~。

モニタリングの精度はよくわからない

精度はよくわかりません。
個人的には、深い睡眠判定が出やすい印象です。
スマートウォッチでも同時に計測してますけど、そちらは2時間程度なので。
寝ている間の出来ごとなのでどちらが正解かはわからないですけど、レム睡眠とか睡眠サイクルを考えるとスマートウォッチなのかな~。

下の図は、とある日の睡眠データで、ほとんどぐっすりゾーンにいるらしい。
逆に7時前には一体何があったんやろうか。

何とものんびりな時間

まあこんな感じで、束の間ののんびりな時間を楽しめるので、リリースから続けられてます。
さすがに寝るだけのゲームなので、イベントやらレイドバトルは無いだろうし、マイペースに楽しめそう。
長く楽しめるゲームとして、今後も続けていきたいと思います~。

ブログを書きながらさっそくグッズ化されてて驚いた。
今度買ってみよう~


【プログラミング】Node.jsでのプロセス管理はps-treeが便利

nodejsを使っていてプロセス管理が必要になったので、その際の備忘録を書いておきたいと思います。
残念ながら、ブラウザからプロセス管理はセキュリティの制約上できませんが、できると色々まずい気もしますし。

必要になった経緯

Electronを用いたデスクトップツールを作成時している際に必要になりました。
ボタンを押したらコマンドラインから別のプログラムを実行する必要があったんだけど、親プロセスが起動したあと、子プロセスが実際にはプログラムを実行しているらしく。問題は、親プロセスは子プロセスを起動したすぐに自然に消滅してしまって、素直にやると子プロセスが裏で生き残り続けてしまう状態になってました。
結果、子プロセスがメモリ食ったり、ハードウェア資源を占有し続けてしまい、上手く動かないじょうたいになってました。

インストール方法

npm からインストールできます。

npm install ps-tree

www.npmjs.com

使い方

Node.jsでのインポートなのでrequireを使います。

psTree = require('ps-tree')

昨今は、Node.jsでもimport を使うことが推奨されるので、その場合は必要なものだけimportしましょう

 import * as psTree from 'ps-tree'

とにかく使ってみる

使用すると、下記のような感じで結果が返ってきます。
PPIDは親プロセスでPIDが子プロセスですね。 コマンドは、プロセスを生成したコマンドで、nodeから実行したのでしっかりと「node」と返ってきています。
特定のコマンドから生成したプロセスのみとかでフィルタリングできるので便利ですね。

死滅管理まではしてくれないので自分でkillする

javascript でプロセスをキルするのは、Node.jsに組み込まれているProcess を使うのが便利です。

process.kill(`プロセスID`)

単純に組み合わせてみると以下のような感じでしょうか。
配列で得られるのですべてキルします。

const psTree= require('ps-tree');
const childProcess=require('child_process');


const sampleProcess = childProcess.exec("node -e 'while (true);'");


console.log(`${sampleProcess.pid} is parent process`);

psTree(sampleProcess.pid,(err,children)=>{
    console.log(children)
    
    children.forEach(child => {
        // process.kill の引数は数字のみ
        
        process.kill(Number(child.PID))
        console.log(`${child.PID} is killed`);
    });
})

【暮らしのお話】今年もふるさと納税完了しました

2023年も半分過ぎて、もはや年末が見えてきましたね。
去年の反省もあって今年は早めにふるさと納税を完了しました。
というのも制度改正があって10月からあって、 少しだけお得度が下がりそうな気配がしてるんですよね。
最近オトクな制度が削られたり相続税増税だったり、国民に少し厳しすぎないだろうか。
コロナ対策で使用したお金を回収したいんでしょうかね。。。

xinformation.hatenadiary.com

10月から返礼品の金額計算がより厳密になる

10月から返礼品の金額計算がより厳密になります。
前にも似たような改正があったと思うのですが、 前回抜けた穴を防ぎに来たんじゃないかなと思ってます。
しかも、ふるさと納税の申請が最も多い年末を目前にしての改正とか狙ってきてますよね。
現状、ふるさと納税を行うとポイントなどが返ってきたのですが、 こうしたポイントもしっかりと返礼品の原価にカウントします!くらいの改正だったかと。
厳密には制度を運用するための人件費などの経費だったかな。
これって結構厳しくて、サイトによっては5%とか10%くらい還元したのが、原価に含められることになります。
そうすると、寄付金をそのままにしようと思うと返礼品を今までより少なくするしか無いんですよね。
お米10kgもらえてたとして9kgとか8kgとかになるわけで。
お得なことには変わらないんだけど、今ならよりお得!ということで早めにしました。

www.jimin.jp

お得度の高い食料

去年に引き続き食料を頼みました。
お得度も高いですし、日本全国の味覚も楽しめるので個人的には食料を頼むがおすすめ。 電化製品などもいいんですけど、他の通販サイトとかで購入したほうがお得だったりしてあとから後悔した経験もあるので。 それ以来、ふるさと納税といえば食料!という感じで頼んでます。

やっぱりお米

たくさんあっても困らないですからね。
今年は定期便にしておきました。
20kgあれば来年まで持ちそう。


スーパーではなかなか見ない分厚い牛タン

お米のお供として牛タンも頼みました。
しかも分厚い。
スーパーや地元の焼肉屋では、薄切りの牛タンしか味わえないですからね。
こうした、味覚を楽しめるふるさと納税は素晴らしすぎる。


【暮らしのお話】ブログ始めて3年目に入りました

ました気づけばブログ始めて3年目になりました。
去年は甲斐甲斐しく、開設日の5月15日に合わせて投稿したりしたんですが、今年はそういったエネルギーもブログには向くことは平然と過ぎました。
2ヶ月も経ってしまいました。
4月から作成してるにも関わらず、だらたらと書いてしまっている。。。
ちょっとだけ寂しいですね。
去年はいろんなことに手をだそうとした結果、エネルギーが発散してしまってどれも中途半端な感じが出てしまったかな。
まあ何事も発散と収束の繰り返しだと思って、3年目も続けて行きたいとおもいます。

ブログ2年目にやったこと

ブログ2年目は、ひたすら量をこなしていた感じですね。
その甲斐あってか、ちょくちょく読まれる記事も出てきてます。
ありがたいことです!。
最近はすっかりサボりがちですが、これからもちょくちょく更新していきたいと思います。

副業やるとか言って頓挫

副業始めるのってエネルギーが要りますよね。
自分は何が得意なのか?本業との時間の配分は?そもそもどうやって始めようか?など、考えることがたくさんあります。
正直、就活のとき並みに仕事について考えました。
結局、副業はやりませんでしたけど、色々と学んだのはいい経験だったかな~。

adsenseを通す

秋頃でしたが、google adsenseに通りました。
ブログをやっている人にとっては一つの登竜門ですね。
adsenseでは、あまり収益は上がらないわけなのですが、由緒正しいブログを作成できているかどうかの指標にはなるんじゃないかなと思ってます。
別に通過しなくても問題無いわけですが、プライバシーポリシーの配置だったりサイトの構成とかに気をつけるようになったりと意識が変わるので良い勉強になりました。

楽天アフィリエイトが少しずつ機能する

少しずつですが、楽天アフィリエイトの方が機能し始めました。
会社でもらえる給料とはまた違う嬉しさがあります。
まあ額はほんの少しなのですが、 はてなブログの月額費用だったりブログ作成のための機材の購入とかに当てたりしてます。

ブログ3年目にやりたいこと

かれこれ3年目になったので、今までやってきたジャンルとは違う内容についても書いていきたいな~と思ってます。

何か新しい趣味

今までやってこなかった趣味にも時間を当てたいですね。
私のブログの話題って、プログラミングとか投資の話とかが多いので、若干書いてて広がりが無くて面白みが無いな~と。

天体観測とか楽しそう

長年うっすら思ってるのが天体観測ですね。
流星群もまともに見たこと無いんですよね。
あとは、たまにニュースとかでやってる今夜〇〇という現象が見られますとか、特定の地域だけで見られますとかそういう現象を追いかけるのってロマンがあっていい感じがする。
そもそも、そうした現象の何がすごいのかが分かっていない状況なわけですが、そういうのを語れるようになるのも人間としての深みが増す気がする。
調べてみると、ふるさと納税とかでも天体望遠鏡とかあるので、寄付してもいいかなと思いつつ今年の分はもう寄付してるので、始めるのは来年とかになりそう。


スマホで撮影できるのがいい感じ


コロナ明けたし外に出たい

長いコロナもようやく無き者になりつつあるのでそろそろ外に出たいな~と思いつつ、 未だにみんなが外に出ててどこも混雑してるので、しばらく家で大人しくしてたりします。
値上げの風潮もあって、今のうちに楽しもう~という勢いを感じますよね。
学校で習った教科書的な回答としては、インフレになると値段が高くなるので消費が小さくなるとは何だったのだろうか。
たまごとか値上げしてもめちゃくちゃ売れてるし。
常々思っているのが、玉子を原材料にしているはずの玉子どうふの値段が上がらないのは何故なんだろうか。
たまごが今まで安すぎただけで、適正価格に「なった」のではと思ったり。
しばらく、値段は戻らなさそうですね。
何はともあれ今は人が多くて尻込みしていますが、そのうちお出かけした様子などをブログにどんどん上げていきたいなと思ってます。