2022-01-01から1年間の記事一覧
最近SNSで注目されているChatGPTを試してみた。 例えば、「年月日を引数に取り、曜日を返すpythonの関数を作って」とAIに問いかけると、レスポンスとして、そのものずばりpythonの関数の定義が返ってきてびっくり。 また、別の例では文章を要約して、と問い…
PHP8.0以降コンストラクターの引数を、オブジェクトのプロパティに設定することができるようになった。 例えば、$valueというプロパティにコンストラクタで値を代入する場面を考えてみる。 class Hoge { public string $vlaue; public int $num; public func…
テキストに数行おきに改行を挿入する方法を調べた。 処理のイメージは次の通り。 入力テキスト あああああああああああ いいいいいいいいいいいいい うううううううううううう ええええええええええええ おおおおおおおおお かかかかかかかかか 出力テキスト…
広告部分のhtmlには data-testid="placementTracking" という属性が設定されているので、その属性を持つDOM要素を非表示にすれば広告を消せる。 javascript:(() => { const e = document.createElement('style'); e.innerText = '[data-testid="placementTra…
記述 内容 .. コンテキストノードの親を選択する . コンテキストノードを選択する * コンテキストノードの全ての子要素を選択する / ルートノードを選択する。 //hoge ルートノードの子孫全体から、要素 hoge を全て選択する。 hoge 要素 hoge を選択する ho…
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>
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 …
ネットに転がっているチュートリアルやドキュメントは断片的な情報が多かったので、自分が実現したい要件に沿った実装はどうすれば良いのか、というところがわかるまで随分時間がかかった。 細かい事はそのうちサンプルの実装を作ってみようと思うけど、ポイ…
ブラウザのURLバーに表示されているURLを書き換えが必要になったので調べたところ、Javascriptの下記メソッドが使える事が分かった。便利なメソッドなので活用していきたい。 history.pushState() history.pushState history backの履歴に書き換えたURLを追…
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には関数をオーバーロードする事できる。 最初にオーバーロードを使わず個別に関数を定義してみる。 function multipleValue(value: number): number { return value * 2 } console.log(multipleValue(5)) function multipleValue2(value: string)…
Typescriptについて書いた記事のリンクをまとめたみた。 型 Typescript: 型 Typescript: 型エイリアス Typescript: 関数のオーバーロード 基礎文法 Typescript: クラス
勇者一行から無能扱いされて、勇者のパーティーから追放されるパターンのお話を漫画やラノベでよく見かけるけど、結構な違和感を感じません? そもそも、パーティーメンバーのスキルを正確に見定められないような勇者に一体何ができるのだろう?ってなもので…
最近React18を勉強している。 とりあえず、学習メモとして学んだことの概要だけ書き出してみる。 props はコンポーネントに値を渡す(immutable) state はコンポーネントが持つ状態を管理する (mutable) Function Component での定義が推奨されている Class …
PHP8.1になり、nullableではない組み込み関数にnullを指定すると、Depricatedエラーが出るようになった。 www.php.net null値の可能性がある変数などを、 nullable ではない引数に指定する時は値の変換が必要になる。 例えば trim関数を使用する時は、特に意…
Laravel9のメンテナンスモードでは、IPによるアクセス許可の機能は実装されていない。そのかわりに、指定したキーをパラーメーターとしてセットしてアクセスすると、メンテナンスモードがONの状態でもサイトにアクセスできるようになる。 IPは変動する事があ…
カッコではなく、バッククオートで引数記述すると、何故か実行できてしまう。 例 console.log `Hello` alert `Hello` バッククオートで囲んだ文字列はテンプレートリテラルであるが、 それが上記が実行できる理由と関係あるのだろうか。 気になるので、もう…
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が使える。 記述の仕方は大体他の言語と同じような感じ。 ただし、自動で break されるので複数の case をまたぐような場合は fallthrough を記述する必要がある。 例 package main import "fmt" func main() { a := 5 switch a { case 1, 2: fmt.…
簡易的にランダムな数字を生成する方法を調べた。 goでランダムな数字を生成する場合 math/rand が使用できる。 使用方法は至ってシンプル。 package main import ( "time" "math/rand" ) func main() { rand.Seed(time.Now().Unix()) num := rand.Intn(6) p…
仕事で使う可能性があるので、Excelのセルを読んでJSONで出力する方法を調べた。実際はもっと複雑な構造のJSONを出力する必要性があるかもしれないので、 goに不慣れな自分は挫折しそうだけども・・・ サンプルExcelの内容 key value note k_001 なす 野菜 k…
IPv4では、IPアドレスを2進数32bitで表現している。さらに、32bitのうちネットワーク部とホスト部に分けて、それぞれ属しているネットワーク、ホストを表現している。 IPアドレスのクラス 先頭ビット ネットワーク部 ホスト部 対象 クラスA 「0」 から始まる…
2022年上半期の試験の申し込みと試験日程は下記の通り。 CBT方式の試験は4月ではなかった。 試験実施期間 試験区分 期間 午前試験 2022年4月1日(金)〜 同年5月24日(火) 午後試験 2022年4月1日(金)〜 同年5月29日(日) 申込受付期間 区分 期間 午前試…
普段からtwitterは利用していて、プログラミング・IT関連のユーザーの投稿を見て新しい情報を得る事が多い。自分が知らない特殊な事から、最近のトレンドまで他者の投稿から得られて良いなーと思っている。 最近、「#駆け出しエンジニアと繋がりたい」ってハ…
なんかpython3.10にmatch式が導入されていた。 条件を case 値 で記述する。例文では数値しか使っていないが、タプルや配列を条件に指定することもできる。 例 match value: case 100 | 200 | 300: print("100 or 200 or 300のどれかだよ!") case 900: prin…
Laravel8 Fortify/Jetstream で、マルチログイン(ユーザーサイトと管理サイト別々に認証)を実現する方法について調べている。 結論から言うと、Laravel Fortify/Jetstreamは非対応。 なので、マルチログイン実現するためには、実装のカスタマイズが必要な…
pythonを使う必要性が出てきたので、改めて学び直している。 そんでもって、学んだことをこの記事にまとめている。 TOC 変数 文字列 制御構文 if文 for rangeオブジェクト while ループ処理の応用 continue break 変数 変数の定義は次の構文で定義する。 編…
Rust には値が存在しない可能性がある場合に使用する、Option 型が用意されている。 Option型は、値が存在する場合と、空の場合がある時に値を操作するのに便利。 Option型の定義は次の通り。 enum Option<T> { None, Some(T) } 使用例 let values = vec!["hoge</t>…
現在日時を取得するサンプルを作って遊んだ。 時刻の取得にはchronoというcrateが使用できる。 Cargo.toml chrono = "0.4" main.rs use chrono::Local; fn main() { println!("{}", Local::now().format("%Y年%m月%d日 %H:%M:%S")); }
SteamのAPIからゲームタイトルのリストを取得して、標準出力に出力するプログラムを作った。 割と内容はしょうもない内容だと思う。 API URL http://api.steampowered.com/ISteamApps/GetAppList/v0002/?format=json APIレスポンス レスポンスとして、ネスト…