- 0.0.1. JavaScriptからPHPへのAPIリクエスト: POSTメソッドの実践ガイド
- 0.0.2. DOMの仕組みと構造を知る
- 0.0.3. Jest toEqualとtoStrictEqualの違いについて理解する
- 0.0.4. 【javascript】シンプルで使いやすい!createselectbox関数を使ったセレクトボックスの作成ガイド
- 0.0.5. Local Storageを使ってCardコンポーネントの並べ替え結果を保存する
- 0.0.6. Jimdoのブログ記事一覧をトップページに表示させたい
- 0.0.7. 【JS】日付の比較 (端末のタイムゾーンに関わらず常にJSTで!)
- 0.0.8. Lottieを使ったアニメーションの実装
- 0.0.9. 【JavaScript】JSPとJavaScriptのテンプレート文字列の衝突
- 0.0.10. 質問システムのポートフォリオ解説(React+Express)
- 1. 概要
- 2. 開発環境
- 2.0.1. 1.質問書き込む
- 2.0.2. [React]React IframeでHTMLの情報を表示する
- 2.0.3. WebGPUでComputeShader
- 2.0.4. BookNotionを更に神アプリにしたい その1
- 2.0.5. jestの公式ドキュメント見ながらテストしてたが、エラー出た
- 2.0.6. Viteで作ったReact app内の全てのconsole.logを一瞬でdeactivateする方法
- 2.0.7. JSでアルゴリズムの勉強
- 2.0.8. 計算プロパティ名を理解する
- 2.0.9. Amazon Vineがあまりにも使いにくいから拡張機能でカバーした
- 2.0.10. Next.js(最新version)でChatGPTのCloneアプリを作成してみた。(Gitで確認できます)
- 2.0.11. Brunoを利用してAPIコレクションをファイルで管理
JavaScriptからPHPへのAPIリクエスト: POSTメソッドの実践ガイド
# JavaScriptからPHPへのAPIリクエスト: POSTメソッドの実践ガイド
## 1. XMLHttpRequestを使った方法
### JS側のコード
“`javascript
// XMLHttpRequestオブジェクトを作成
var xhr = new XMLHttpRequest();// POSTメソッドとAPIのエンドポイントを指定してリクエストを初期化
xhr.open(‘POST’, ‘https://your-server-endpoint.com/api’, true);// リクエストヘッダーを設定
xhr.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’);// リクエストの状態が変わったときのイベントハンドラを設定
xhr.onreadystatechange = function() {
// リクエストが完了し、レスポンスが成功だった場合
if (xhr.readyState == 4 && xhr.status ==
DOMの仕組みと構造を知る
## なぜ知る必要があるか?
JavaScriptを使ってWebページに動きを付けるには、DOMの操作が必要。でもその前に、DOMの仕組みと構造を知らないと、どうやって操作したら良いか混乱する## DOMとは何か?
「Document Object Model」の略で、Webページ全体のコンテンツはオブジェクトだった。そして、JavaScriptから特定のオブジェクトにアクセスすれば、Webページに動きを付けることが出来る
つまりDOMは、JavaScriptからHTMLの「どこ」に「何」をするかを実現するための仕組みである## DOMはどんな特徴があるか?
**①枝分かれした木構造になっている(DOMツリーと呼ぶ)**“`index.html
Jest toEqualとtoStrictEqualの違いについて理解する# 目次
1. 背景
2. toStrictEqualとは
3. サンプルコード# 背景
toStrictEqualをjestのdocumentで見て気になった為です。# toStrictEqualとは
– undefinedの要素が考慮されます
– [2]は[2, undefined]とは等しくないです。
– {a: undefined, b: 2}は{b: 2}とは等しくないです。
– 配列の疎密がチェックされます。例えば、[, 1]は[undefined, 1]とは等しくないです。
– オブジェクトの型がチェックされます。例えばフィールドaとbを持つクラス・インスタンスは、フィールドaとbを持つリテラル・オブジェクトとは等しくないです。# サンプルコード
こちらのリポジトリで確認可能です。
[jest-strict-equal](https://github.com/yamatai12/jest-strict-equal)“`StrictEqual.test.ts
class Class {
name: string;
construct
【javascript】シンプルで使いやすい!createselectbox関数を使ったセレクトボックスの作成ガイド
## javascriptについて初心者エンジニアに向けて、createselectbox関数を使ったセレクトボックスの作成ガイド
こんにちは。今回は、javascriptについて初心者エンジニアに向けて、createselectbox関数を使ったセレクトボックスの作成ガイドを紹介します。セレクトボックスは、ユーザーが選択肢から選ぶことができるui要素であり、ウェブページやアプリケーションの開発においてよく利用されます。createselectbox関数は、javascriptでシンプルで使いやすいセレクトボックスを作成するための関数であり、初心者エンジニアでも簡単に利用することができます。
### 参考ブログ記事
1. [javascriptでセレクトボックスを作成する方法](https://murashun.jp/blog/20191025-01.html)
2. [javascriptでセレクトボックスを動的に追加・削除・読み込み](https://uxmilk.jp/14160)## createselectbox関数の導入と基本的な使い方
createselectbo
Local Storageを使ってCardコンポーネントの並べ替え結果を保存する
## はじめに
さて,今回は前回の続きです.背景やレイアウトの実装は[こちら](https://qiita.com/Hayato-7812/items/fd2431fac570a367ad9b)の記事に記載したので,まだ読んでいない方はこちらの記事からご覧ください.今回は**Cardコンポーネントの並べ替え結果をLocal Storageに保存する**ことを目標に実装を進めていきます.この機能を実装することによって
– ユーザー(クライアント)が個々で並べ替えたコンポーネントによるレイアウトを次回サイト訪問時にも変わらず確認することができる
という点で便利です.(インターン先で開発しているアプリケーションには必須の機能でした)
今回はこの機能の実装方法を調査したことと合わせて,メモとして記載したいと考えています.
とはいえ,前回の時点でレイアウトの部分は既に実装してあるので,今回の記事はそこまで大きなボリュームにはなりません.
## Local Storageとは
[前回の記事にも記載](https://qiita.com/Hayato-7812/items/fd24
Jimdoのブログ記事一覧をトップページに表示させたい
ジンドゥークリエイターで、ブログ記事一覧を表示させる方法です。
2023年10月時点では機能します。
(今後、Jimdoの仕様変更があれば機能しなくなるかもしれません。)“`
【JavaScript】JSPとJavaScriptのテンプレート文字列の衝突
日本語に苦戦しているSYOです。 `JSP`を用いた開発中、`JSP`と`JavaScript`のテンプレート文字列の衝突問題に遭遇しました。 この記事では、`ChatGPT`を利用して、`JSP`と`JavaScript`の連携時のテンプレート文字列の使用方法と注意点に関するメモを共有します。 # テンプレート文字列とは まず、テンプレート文字列(テンプレートリテラル)について簡単に紹介します。 テンプレート文字列は`JavaScript ES6`から導入された新しい文字列リテラルの形式で、バックティック(`)を使って文字列を定義します。 この特徴を利用すると、文字列内に変数や式を直接埋め込むことができ、複数行の文字列も簡単に作成することができます。 例: ``` var name = "Radiohead"; var greeting = `こんにちは、${name}さん!`; console.log(greeting); ``` 結果: ``` こんにちは、Radioheadさん! ``` # JSPとJavaScriptのテンプレート文字列の衝突 `JS
質問システムのポートフォリオ解説(React+Express)
概要
eduaasという質問システムを作成しました
![スクリーンショット 2023-10-09 18.05.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518441/5486acbb-7afc-b425-7c49-b531ba54a6e7.png)
ソースコード GitHub:
開発環境
フロントエンド:Node.js フレームワーク:React
バックエンド: Node.js フレームワーク:express
データベース: mysql2
現在ローカル環境で作成しています。
1.質問書き込む
![スクリーンショット 2023-10-09 18.19.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518441/6ff1a036-7ab9-e27c-e1e2-56dfb96
[React]React IframeでHTMLの情報を表示する
## はじめに React Ifameを使って、HTMLを表示するURLを表示する方法を書いていきます。 ## 参考 こちらがドキュメントになります。 https://www.npmjs.com/package/react-iframe ## React Iframeをインストール まずは、以下のコマンドでReact Iframeをインストールしていきます。 ```: ターミナル npm install react-iframe ``` packege.jsonを確認します。 ```:packege.json "dependencies": { "react-iframe": "^1.8.5", }, ``` ## コードに適用する React Ifameを使用するには、以下のようなコードにします。 今回は、News APIで取得できるURLを使用します。 ``` import Iframe from "react-iframe";
WebGPUでComputeShader
# WebGPUでComputeShader イングリッシュな記事が多くて困ったりしたので、少し纏めることにしました。間違いがありましたらご指摘お願します。 :::note warn **WebGPUの機能**は今後さらに改善されていく可能性があるので、**最新情報のチェック**を忘れずに。 ::: ## 参考文献 先に**参考文献**を置いておきます。WebGPU(ComputeShader)
・[WebGPU - コアの全てを canvas 抜きで](https://inzkyk.xyz/misc/webgpu/) ・[コンピュートシェーダーを使う](https://zenn.dev/emadurandal/books/cb6818fd3a1b2e/viewer/compute_only)WebGPU(こちらは英語です。)
・[WebGPU API](https://developer.mozilla.org/en-US/docs/We
BookNotionを更に神アプリにしたい その1
# はじめに [BookNotion](https://booknotion.site/)というアプリをご存知ですか? > KindleのハイライトをかんたんにNotionに保存できる読書記録アプリ(公式サイトより) すごくざっくり説明すると、ハイライトした箇所をNotionにまとめることができるアプリです。 追加するときもメモとして自分のコメントを入れることや、タグ付けもできます。 追加したあとはNotion内でデータベースにまとめられます。 黄色く塗りつぶしているのは、実際にハイライトした内容がはいっています。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3351724/602b5ee9-e749-e197-3d68-bbd5a6a2feb3.png) ## 問題点 このままでも既に神アプリなんですが、個人的な問題点があります。 それは書籍単位でページにまとめられないことです。 理想としては、本Aという新規ページを作成してページ内にハイライトとコメントを全てまとめたいのです
jestの公式ドキュメント見ながらテストしてたが、エラー出た
こんにちは、ゆせです。 今回は、案件でjestを使用するとのことだったので、勉強としてjestの公式Docを見ながらやっていました。が、エラーが出たので、もし同じエラーにぶち当たった人に向けて参考になればという思いで記事にしようと思います。 ## 本題に入る 以下が、エラー文になります。 ```console $ npm test > study-jest@0.1.0 test > jest Error: Jest: Failed to parse the TypeScript config file /WorkSpace/NextSpace/study-jest/jest.config.ts Error: Jest: 'ts-node' is required for the TypeScript configuration files. Make sure it is installed Error: Cannot find package 'ts-node' i
<備忘録>Viteで作ったReact app内の全てのconsole.logを一瞬でdeactivateする方法
## React内のconsole.logをbuild時に一括deactivate サーバーにアプリを上げる前に、console.logを一括してディアクティヴェート出来る超便利な方法があるんだけど、いつもやり方を忘れるので、備忘録としてログ。 1,rollup-plugin-strip をインストール ```bash npm install @rollup/plugin-strip --save-dev ``` 2、vite.configのdefineConfig()を編集 ```javascript import strip from '@rollup/plugin-strip'; export default defineConfig({ plugins: [ react(), strip({ // remove all console.log calls include: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'], functions: ['console.log'
JSでアルゴリズムの勉強
アルゴリズムの学習を改めてしたので学んだことをまとめました。 - [アルゴリズム](#アルゴリズム) - [操作の実行時間](#操作の実行時間) - [探索](#探索) - [線形探索](#線形探索) - [二分探索](#二分探索) - [ソート](#ソート) - [バブルソート](#バブルソート) - [挿入ソート](#挿入ソート) - [マージソート](#マージソート) - [クイックソート](#クイックソート) - [選択ソート](#選択ソート) - [データ構造](#データ構造) - [連結リスト](#連結リスト) - [スタック](#スタック) - [キュー](#キュー) - [ハッシュテーブル](#ハッシュテーブル) - [二分木](#二分木) - [幅優先走査](#幅優先走査) - [深さ優先走査](#深さ優先走査) - [参考](#参考) # アルゴリズム アルゴリズムの性能を評価するためには計算量という指標が用いられる
計算プロパティ名を理解する
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Object_initializer#%E8%A8%88%E7%AE%97%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E5%90%8D 括弧 [] の中に式を記述することができ、それが計算されてプロパティ名として使用されます ```js // Computed property names (ES2015) let i = 0; let a = { ["foo" + ++i]: i, ["foo" + ++i]: i, ["foo" + ++i]: i, }; console.log(a.foo1); // 1 console.log(a.foo2); // 2 console.log(a.foo3); // 3 const items = ["A", "B", "C"]; const obj = { [items]: "Hello", }; console.log(ob
Amazon Vineがあまりにも使いにくいから拡張機能でカバーした
# はじめに 「[Amazon Vine先取りプログラム](https://www.amazon.co.jp/vine/about?is-secure=true&)」というものがあります。 ものすごくざっくりいうと「商品をもらって忌憚のない意見をレビューする」といった感じです。 つい先日そのレビュアーとして登録できたので、ワクワクしながら商品一覧ページを見たのですが・・。 # 商品ページが見にくい ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603116/c0c77990-b79d-b455-b389-a04a8a0e65a5.png) 僕が使ってて感じる欠点として、こんな感じ。 - 検索機能がない - 新しく追加された商品がわからない(必ず並びの一番上に来るわけでもなく、中途半端なところに追加されてたりする) - 名前が省略されているため、ページ内検索のワード次第では該当する商品も引っかからない そして同じような商品がいくつも並ぶこともあります。 ![image.png](h
Next.js(最新version)でChatGPTのCloneアプリを作成してみた。(Gitで確認できます)
# ChatGPTをゼロから作ってみた #### 作成したアプリの画像 ![スクリーンショット 2023-10-09 0.59.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1130166/61ee88b1-3419-c3f3-1285-19e1cc0c8e99.png) 下記でアプリを実際に動かせるのでよかったら確認してみてください。 [ChatGPT-Clone-AppのURL](https://chat-gpt-clone-app-psi.vercel.app/) プロジェクトはGitで管理してますので、クローンして使ってみてください。 [chat-gpt-clone-appのGithubリポジトリのURL](https://github.com/kouhei-github/chat-gpt-clone-app.git) ## 自己紹介 お久しぶりの投稿です。本業と個人の仕事で忙しく1年振りの投稿になります。 株式会社DYMのエンジニアをしております、永松です。 普段はインフラはAWS
Brunoを利用してAPIコレクションをファイルで管理
- API開発においてPostmanのようなテストやドキュメントに便利なクライアントツールを日々利用しています。 - 今回はそれらの中から[Bruno](https://www.usebruno.com/)という最近リリースされたAPIクライアントツールを利用した記録をします。 ## 概要 - オープンソースのAPIクライアントツール。 - コレクションをファイルシステム上にテキストで管理するため、バージョン管理システム(Git等)を用いることが可能。 - [Bru](https://www.usebruno.com/bru)というシンプルなマークアップ言語を利用。 ## 環境 - 今回Brunoを試すにあたって利用した環境は以下です。 - Mac OS 13.4.1 - deno 1.37.1 - Bruno 0.21.0 ## 手順 ### サンプルAPI作成 - Brunoを利用するにあたり、対象となるAPIが必要です。 - 今回は[Deno](https://deno.com/)を利用して以下のようなGETとPOSTのみの簡単な「**TODO A