雑多なブログ

音楽や語学、プログラム関連の話題について書いています

画像をルーペで拡大する

imgタグの画像を拡大するのは大体どのプラグインでも問題なし。 ただ、canvasタグを拡大表示するのは若干めんどさかった。 canvasで画像拡大を実装することもできるが、 自分が試した印象ではパフォーマンス的に厳しいという印象。 なので、canvasの場合は t…

情報漏洩のしょうもない原因を防ごう

テクノロジーが発達した現代でも、本当にくだらないミスで情報漏洩しています。ということで、自分が他人の案件でサポート入った時に、遭遇したパターンについてまとめてみます。 1. 公開領域に、拡張子を変える形でバックアップファイルを置いている 残念な…

ChatGPTに数行の英文を添削してもらった。

その時のChatGPTとのやりとりを掲載しました。 応答も自然で、かなり使えるような気がする。 とりあえず、英語で言葉を発するのに慣れるのには良いと思う。対人のコミュニケーションよりも心理的な安心感もリスクも低いだろうし。 私 So would you help me a…

プリンターの給紙が故障・・・

プリンターの給紙が故障してうまく印刷ができなくなってしまった。まだギリギリ使えるけど複数部の印刷は難しい。10年前くらいに10,000円位で購入したプリンターなので、十分頑張ってくれたと思う。 個人的には楽譜やテキスト、公的書類の印刷にしか使ってい…

電子圧力鍋LPC-T1201で炊飯した

コイズミの電子圧力鍋LPC-T1201で炊飯した。 詳しい操作方法は説明書があるので省略するけど、加圧時間4分で、加熱から加圧・減圧までトータル約15分。 若干硬めの炊き上がりに仕上がった。 水に長時間浸さずに炊飯したので、仕上がりの硬さに影響しているよ…

mac - ファイルのmd5ハッシュ値を確認する

macでファイルのmd5ハッシュ値を確認する場合は、 md5 コマンドが標準で使える。 コマンド md5 sample_file.txt 実行結果 MD5 (sample_file.txt) = d41d8cd98f00b204e9800998ecf8427e -q オプションを付けると、ハッシュ値だけ出力する。 コマンド md5 -q sa…

ChatGPTを試した。

AI

最近SNSで注目されているChatGPTを試してみた。 例えば、「年月日を引数に取り、曜日を返すpythonの関数を作って」とAIに問いかけると、レスポンスとして、そのものずばりpythonの関数の定義が返ってきてびっくり。 また、別の例では文章を要約して、と問い…

PHP: コンストラクタのプロモーション

PHP8.0以降コンストラクターの引数を、オブジェクトのプロパティに設定することができるようになった。 例えば、$valueというプロパティにコンストラクタで値を代入する場面を考えてみる。 class Hoge { public string $vlaue; public int $num; public func…

PHP - テキストに数行おきに空行を挿入する

PHP

テキストに数行おきに改行を挿入する方法を調べた。 処理のイメージは次の通り。 入力テキスト あああああああああああ いいいいいいいいいいいいい うううううううううううう ええええええええええええ おおおおおおおおお かかかかかかかかか 出力テキスト…

twitterの広告を消すブックマークレット

広告部分のhtmlには data-testid="placementTracking" という属性が設定されているので、その属性を持つDOM要素を非表示にすれば広告を消せる。 javascript:(() => { const e = document.createElement('style'); e.innerText = '[data-testid="placementTra…

xpathの記述方法を調べる(途中)

記述 内容 .. コンテキストノードの親を選択する . コンテキストノードを選択する * コンテキストノードの全ての子要素を選択する / ルートノードを選択する。 //hoge ルートノードの子孫全体から、要素 hoge を全て選択する。 hoge 要素 hoge を選択する ho…

html - datalistでお手軽コンボボックス

webでコンボボックスを実装するのは面倒だけれども、 実はhtmlには <datalist> というタグがあって、これを使うと手軽にコンボボックスを実現できる。 コード例) <input list="languages"> <datalist id="languages"> <option value="COBOL"> <option value="Go"> <option value="Haskell"> <option value="Java"> <option value="JavaScript"> <option value="Kotlin"> </option></option></option></option></option></option></datalist></datalist>

@theme-ui/mdx/dist/theme-ui-mdx.cjs.dev.js to a dynamic import() which is available in all CommonJS modules.

next.js 12 のチュートリアル進めている。 theme-ui を追加したところで、下記のエラーが発生してビルドできなくなった。 Error: require() of ES Module /Users/h.hashimoto/Documents/src/projects/nextjs/next-blog/node_modules/@mdx-js/react/index.js …

Laravel Fortifyでマルチログインを実装する時のポイント

ネットに転がっているチュートリアルやドキュメントは断片的な情報が多かったので、自分が実現したい要件に沿った実装はどうすれば良いのか、というところがわかるまで随分時間がかかった。 細かい事はそのうちサンプルの実装を作ってみようと思うけど、ポイ…

ブラウザ上のURLの書き換え

ブラウザのURLバーに表示されているURLを書き換えが必要になったので調べたところ、Javascriptの下記メソッドが使える事が分かった。便利なメソッドなので活用していきたい。 history.pushState() history.pushState history backの履歴に書き換えたURLを追…

Typescript: クラス

Typescriptのクラスについて。 class Item { // (1) public name: string public price: number private id: number // (2) constructor(name: string, price: number, id: number) { this.name = name this.price = price this.id = id } // (3) info(): st…

Typescript: 関数のオーバーロード

Typescriptには関数をオーバーロードする事できる。 最初にオーバーロードを使わず個別に関数を定義してみる。 function multipleValue(value: number): number { return value * 2 } console.log(multipleValue(5)) function multipleValue2(value: string)…

Typescriptの記事まとめ

Typescriptについて書いた記事のリンクをまとめたみた。 型 Typescript: 型 Typescript: 型エイリアス Typescript: 関数のオーバーロード 基礎文法 Typescript: クラス

勇者一行から追放される系統の物語に感じる違和感

勇者一行から無能扱いされて、勇者のパーティーから追放されるパターンのお話を漫画やラノベでよく見かけるけど、結構な違和感を感じません? そもそも、パーティーメンバーのスキルを正確に見定められないような勇者に一体何ができるのだろう?ってなもので…

React18を学習する

最近React18を勉強している。 とりあえず、学習メモとして学んだことの概要だけ書き出してみる。 props はコンポーネントに値を渡す(immutable) state はコンポーネントが持つ状態を管理する (mutable) Function Component での定義が推奨されている Class …

PHP8.1: nullableではない組み込み関数にnull値を指定するとDepricatedが出る。

PHP8.1になり、nullableではない組み込み関数にnullを指定すると、Depricatedエラーが出るようになった。 www.php.net null値の可能性がある変数などを、 nullable ではない引数に指定する時は値の変換が必要になる。 例えば trim関数を使用する時は、特に意…

Laravel9 のメンテナンスモードにはIPによるアクセス許可が組み込まれていない。

Laravel9のメンテナンスモードでは、IPによるアクセス許可の機能は実装されていない。そのかわりに、指定したキーをパラーメーターとしてセットしてアクセスすると、メンテナンスモードがONの状態でもサイトにアクセスできるようになる。 IPは変動する事があ…

Javascriptの謎仕様 function `hoge`

カッコではなく、バッククオートで引数記述すると、何故か実行できてしまう。 例 console.log `Hello` alert `Hello` バッククオートで囲んだ文字列はテンプレートリテラルであるが、 それが上記が実行できる理由と関係あるのだろうか。 気になるので、もう…

composer で「prestissimo」に関するエラーが出た場合の対処

composer を実行したら下記エラーが出た。 Problem 1 - hirak/prestissimo is locked to version 0.3.8 and an update of this package was not requested. - hirak/prestissimo 0.3.8 requires composer-plugin-api ^1.0.0 -> found composer-plugin-api[2.…

Go - switch

go

Goはswitchが使える。 記述の仕方は大体他の言語と同じような感じ。 ただし、自動で break されるので複数の case をまたぐような場合は fallthrough を記述する必要がある。 例 package main import "fmt" func main() { a := 5 switch a { case 1, 2: fmt.…

go - ランダムな数字を生成する

go

簡易的にランダムな数字を生成する方法を調べた。 goでランダムな数字を生成する場合 math/rand が使用できる。 使用方法は至ってシンプル。 package main import ( "time" "math/rand" ) func main() { rand.Seed(time.Now().Unix()) num := rand.Intn(6) p…

go: Excelのファイルのセルの値を読んでJSONで出力するサンプル

go

仕事で使う可能性があるので、Excelのセルを読んでJSONで出力する方法を調べた。実際はもっと複雑な構造のJSONを出力する必要性があるかもしれないので、 goに不慣れな自分は挫折しそうだけども・・・ サンプルExcelの内容 key value note k_001 なす 野菜 k…

IPアドレスのクラス(IPv4)

IPv4では、IPアドレスを2進数32bitで表現している。さらに、32bitのうちネットワーク部とホスト部に分けて、それぞれ属しているネットワーク、ホストを表現している。 IPアドレスのクラス 先頭ビット ネットワーク部 ホスト部 対象 クラスA 「0」 から始まる…

2022年上半期・基本情報技術者試験(CBT)の申込・試験実施期間

2022年上半期の試験の申し込みと試験日程は下記の通り。 CBT方式の試験は4月ではなかった。 試験実施期間 試験区分 期間 午前試験 2022年4月1日(金)〜 同年5月24日(火) 午後試験 2022年4月1日(金)〜 同年5月29日(日) 申込受付期間 区分 期間 午前試…

twitterの 「#駆け出しエンジニアと繋がりたい」ってハッシュタグがヤヴァイ件

普段からtwitterは利用していて、プログラミング・IT関連のユーザーの投稿を見て新しい情報を得る事が多い。自分が知らない特殊な事から、最近のトレンドまで他者の投稿から得られて良いなーと思っている。 最近、「#駆け出しエンジニアと繋がりたい」ってハ…