- 1. 【JavaScript】アコーディオンUIの作成!
- 2. いっぱい読まれる記事を書くために!備忘録
- 3. Firefox で selenium を実行しながら JavaScript を on/off する方法
- 4. webど素人が鍵付きページを作ってみた
- 5. Jestを使おうとしたら「SyntaxError: Unexpected token '.'」エラーが発生した件について
- 6. Array.prototype.sort()メソッドの使い方(備忘録)
- 7. JavaScript Dateメモ
- 8. truthyな値、falsyな値のまとめ
- 9. JavaScriptの追加機能のボタン実装
- 10. [本の紹介][JavaSccript][ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門
- 11. shebang に対応しているプログラミング言語まとめ
- 12. PHPをかじった自分がjsの非同期処理を理解してみる
- 13. Next.js 入門メモ
- 14. GPT-3で漫画タイトル生成
- 15. Vue3でtrainsition-groupを使って順番にカードがスライドするようなアニメーションを作る
- 16. 二次元の画像を触ったように見せる方法
- 17. 詐欺あみだくじを作ろう!!
- 18. 【JavaScript】ロト6とロト7の当選データの傾向(フォーム部品の値取得,値設定~ファイル読み込みと出力)
- 19. Elixirから覚えるJavaScript 〜Promise(文法遊び)〜
- 20. Media Session APIについての所感
【JavaScript】アコーディオンUIの作成!
# 1日1UI投稿!
2日空いてしまいましたが、UI投稿します!
## アコーディオンUI
本日はアコーディオンUIを作成しました。
いっぱい読まれる記事を書くために!備忘録
Qiitaの記事作成についてです。
## 記事を書く前におさえておきたい心得
Qiita公式のガイドラインがあるので、まずはこれを読みましょう。情報発信の基礎である、記事の書き方、最低限守るべきルールが記載されています。https://help.qiita.com/ja/articles/qiita-article-guideline
## Markdown記法
Qiitaの記事は、Markdown記法というエンジニア御用達の特殊な記法で作成します。
慣れないうちは、チートシートを見ながら、記事を作成しましょう。https://qiita.com/Qiita/items/c686397e4a0f4f11683d
## 記事を書く手順
1. 誰に読んでもらいたいのか考える(ターゲット)
1. その人がクリックしてくれるタイトルを考える
1. シンプルな言葉で、過不足なく内容を書く
Firefox で selenium を実行しながら JavaScript を on/off する方法
# selenium 実行中に about:config の状態を変更する
## 環境
Windows 10 Pro
Firefox 108.0.2 64bit
Python 3.9.13 (Anaconda)
selenium 4.7.2あるいは
Python 3.7.15
selenium 3.141.0## 概要
selenium の実行中に about:config を開いて javascript.enabled の値を変更する。具体的には、次のようなコードを実行する。
“`Python
from selenium import webdriver
from selenium.webdriver.common.by import Byoptions = Options()
options.binary_location = r’C:/Program Files/Mozilla Firefox/firefox.exe’
browser = webdriver.Firefox(options=options)
browser.get(‘about:config’)
webど素人が鍵付きページを作ってみた
## はじめに
個人間で書類共有するためのページを作る必要があった。
webど素人の自分が簡単な鍵付きページを実装したメモ。## やりたいこと
– パスワードを入力して、正しければページを開く
– ファイル名を入力して遷移する方法を使用
– 直接リンクを叩かれた場合にパスワード入力ページへリダイレクト
– 検索に引っかからないようにする## やったこと
#### 0.事前準備
以下のファイルを作成。
“`
├── index.html
├── goal.html
└── js_dir
├── password.js
└── redirect.js
“`#### 1.パスワード入力の実装
password.jsを実装。
“`javascript:password.js
let pass = prompt(‘パスワードを入力してください’);
location.href = “./” + pass + “.html”;
“`index.htmlのbodyに以下を追加。
“`html:index.html
Jestを使おうとしたら「SyntaxError: Unexpected token '.'」エラーが発生した件について
### 1.エラー内容
npm test実行時にエラーが発生しました。
```
$ ./node_modules/.bin/jest --init
/var/www/workspace/node_modules/jest/node_modules/jest-cli/build/run.js:129
if (error?.stack) {
^SyntaxError: Unexpected token '.'
```### 2.なぜ発生したのか
結論から言うと、JestのバージョンとJavascriptのバージョンの互換性がなかったためです。
Jestインストール時に自動生成したコードで使用されていnull 安全演算子は、JavaScript(ES11)のバージョンからサポートされていました。私の環境では古いバージョンのJavascriptを使用していたため発生していました。
(ただ、npm updateをしてもなお発生していたのでハマっていました、、)### 3.解決方法
2020年にリリースされたjestを使用することでエラーなく動きまし
Array.prototype.sort()メソッドの使い方(備忘録)
# この投稿は
JavaScriptのsort()メソッドの使い方が分からなかったので備忘録としてのメモです。
sort()メソッドを使ったコードを見ると、みんな当たり前のように引数に関数を使っているし、戻り値の訳が分からんし・・・ってことで。## 基本形
JavaScriptのsort()メソッドは、どうやら「高階関数」ってやつで、引数に関数を指定するっぽい。
[MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort "MDN Array.prototype.sort()") によると、引数として設定する関数は以下のようにaとbを引数とした、無名のアロー関数で記述するんだそうだ。(もちろん、別の書き方もあるはず。)
```javascript
const array = []; //配列の宣言array.sort((a,b) => {
//関数の中身
});
```
こんな感じかな?
引数aとbは、配列から適当に「要素」を代入してくれるら
JavaScript Dateメモ
# JavaScript Dateメモ
## 全般
* 時刻値 ([time value](https://tc39.es/ecma262/#sec-time-values-and-time-range)) は、epoch(1970-01-01T00:00:00.000Z)からの経過ミリ秒を示す整数値として保持される。
```JavaScript
> new Date(0)
1970-01-01T00:00:00.000Z
> new Date(1)
1970-01-01T00:00:00.001Z
```* epochより過去は負の時刻値として表現される。
```JavaScript
> new Date(-1000)
1969-12-31T23:59:59.000Z
```* 時刻値にうるう秒は表現されない。例えば[2016-12-31T23:59:60Z](https://www.nist.gov/pml/time-and-frequency-division/time-realizati
truthyな値、falsyな値のまとめ
## falsyな値とは
真偽値に変換した場合にfalse(偽)とみなされる値のこと## truthyな値とは
falsy以外の値のこと(trueになる値)## falsyになる値
```
false
null
0(数字)
""(空文字)
undefined
Nan
0n (big int)
```## 論理積 (&&)
論理積は左側からfalsyな値を探して、見つかったら変数等に格納します
falsyな値がなければ一番右側の値が格納されます```
例
//result1には""が格納される
const result1 = "" && "aaa";//result2には0が格納される
const result2 = 5 && 1 && 0 && 10;//result3には2が格納される
const result3 = "bbb" && 2;```
## 論理和 (||)
論理和はtruthyな値を見つけたら変数等に格納します
truthyな値が複数ある場合は左側の値を変数等に格納します
```
例
//result4には"aaa"が格納される
con
JavaScriptの追加機能のボタン実装
# 追加機能のボタン実装
追加機能のボタン実装をしていきます。参考にしてみてください。```index.js
//button(完了)タグ生成
const completeButton = document.createElement("button");
completeButton.innerText = "完了";
completeButton.addEventListener("click", () => {
alert("完了");
});
//console.log(completeButton);//button(削除)タグ生成
const deleteButton = document.createElement("button");
deleteButton.innerText = "削除";
deleteButton.addEventListener("click", () => {
alert("削除");
});```
```index.html
[本の紹介][JavaSccript][ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門
# [[ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門](https://gihyo.jp/book/2020/978-4-297-11085-7)を読んで
JavaScriptでシューティングゲームをつくることができる本。 サンプルを動かして楽しいゲームの作り方が学べる。
## とりあえずサンプルを動かして遊んで引っかかったところ
1. 自機のショットボタンがわからない。
Zボタンがショットボタン
1. ゲームオーバー時の復帰方法がわからない。
Enterキーで復帰する
1. プロジェクトの途中からサンプルが動かなくなる
サーバーを立ち上げる必要がある。
```shell:shell
python -m http.server 8080
```
としてからアクセスすれば普通に動作する。shebang に対応しているプログラミング言語まとめ
# はじめに
https://qiita.com/rana_kualu/items/84f66fe970f7feccf367
この記事を読んで、 **javascript(ECMA Script, ES2023) において shebang が言語仕様となる** ことを初めて知りました。
shebang を shell 以外に使うことに関しては、UNIX(OS) 側が、**「スクリプト言語は `#` をコメントとして扱うことが一般的」** ということを想定した、限定的な使用法と私は認識しています。
そのため、 **`#` をコメントとして使用しないプログラミング言語からの視点** でこの仕様を考えると、(UNIX のスクリプト実行のフォーマットという) **プログラミング言語が用意している実行方法の範囲から外れたケースの考慮** となります。
Node.js は、実行環境も含めたアプリケーションなので、 **Node.js に shebang の考慮が入っていること自体には違和感を強くはもたない** のですが、ブラウザの実行も含めた **ECMA Script の視点で shebPHPをかじった自分がjsの非同期処理を理解してみる
# 概要
- PHPで同期処理しか書いてこなかったので非同期処理がワケワカメだった。そんな自分がなんとかして非同期処理を理解してみたのでまとめてみる。
# ベースとなるコード
- 今回、下記の様なjsのコードを用意しました。
```js
console.log("--------------------");function a() {
console.log("関数aです");
b();
}function b() {
console.log("関数bです");
c();
}function c() {
console.log("関数cです");
}a();
```- 関数aが関数bを呼び、関数bが関数cを呼んでいます。
- 上記を実行すると下記のようにコンソールに出力されます。```
--------------------
関数aです
関数bでNext.js 入門メモ
どこを抑えたらよいか、どう書けばよいかをさらっと解説します。
# Next.jsとは
Reactというライブラリをほぼ完全にサポートしていて、上位互換のようなイメージです。
Reactはビルド(コンパイル)すると大量のJSを生成します。私たちがページにアクセスすると返されるのは少量のHTMLと大量のJSが返されます。そこからJSをでレンダリングなどの処理を行います。クライアントで処理するので**Client Side Rendering**(CSR)といいます。( ≒ SPA)初回レンダリングこそ遅いものの、ページ間の移動は非常に高速です。Next.jsはReactで記述できるのですが、ビルドするとHTMLとJSを生成します。私たちがページにアクセスすると返されるのはHTMLとJSです。HTMLがそこそこ書かれているため読み込みがJSでレンダリングするより圧倒的に高速です。
HTMLを表示させてからJSでレンダリングや読み込みを行うので真っ白の画面で待たせる時間が非常に短くなり、ユーザーの体験が向上します。
サーバーサイドでJSをレンダリングしておくので、**Server SiGPT-3で漫画タイトル生成
**工事中**
## 目次
1. GPT-3のapi利用申請
1. アカウント作成
1. APIキーの取得
1. ***
2. 環境
1. ***
3. アプリ案
1. あらすじから生成
1. 画像から生成
1. ジャンルから生成
4. デザイン
1. イメージ
1. コード
1. ***## 3.アプリ案
### あらすじから生成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3092463/8a8e9406-f650-6104-429f-8786f94a20c8.png)
↑イメージ図。
最近ジャンププラスで読んだ読切です。(斬新、控えめに言って最高だった)
引用:こちら(https://shonenjumpplus.com/episode/316190247056444405)![image.png](https://qiita-image-store.s3.ap-northeast
Vue3でtrainsition-groupを使って順番にカードがスライドするようなアニメーションを作る
# はじめに
このページで作成できるのは以下のようなものです。
![test ‐ Clipchampで作成.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2697721/d64071ac-52fd-9bdd-7037-a54bfa21da90.gif)
# 全体のコード
```vuejs:TestPage.vue
二次元の画像を触ったように見せる方法
シロイルカ(ベルーガ)を触っているように見えるようにしてみました。
実行する際はローカルホストで行ってください。
画像を連続して歪ませてアニメーションにすることで、
ポインタの部分を中心にふにふに触っているように見せることができます。# プログラムの流れ
CreateJSで連続したイベントを発生させて、
ポインタが触りたい部分の領域に入ったら、
glfs.jsで画像を歪ませるという流れになります。# GitHub
https://github.com/koyo-snow/Beluga_CanTouch# メインとなるJavaScript
```
{
("use strict");// マウスの座標を取得する。
let mouseX = 0, //マウスのX座標
mouseY = 0; //マウスのY座標$(document).on("mousemove", function (e) {
mouseX = e.pageX;
mouseY = e.pageY;
});window.addEventListener(
詐欺あみだくじを作ろう!!
# 製作の経緯
年初めは運勢占いがたくさんあるよね。
自分がそれを制作したら自分有利の運勢になるやん!!...ということで、選ばれたスタートを自分の選んだゴールに繋げる盤面を自動で作る仕組みを実装してみました〜
# 成果物
どの選択肢を選んでも「みたち」に行き着きます。リロードして何回か試してみてください。https://mitachi-h.github.io/2023/main.html
スマホ用に作ったのでパソコンだと不恰好かも...
# プログラミング
### ソースコード
https://github.com/Mitachi-H/2023### アルゴリズム
#### 目的
ランダムに与えられたスタートとゴールをうまくカモフラージュしながら結ぶ
#### 流れ
1. スタートとゴールを最短で行く場合の道を得る。
1. 1の途中に寄り道を追加する。例えば2本目から3本目に行く道の前に、2本目から1本目に行く道と1本目から2本目に行く道を追加する。
1. 自分が通らないダミーの道を追加する### 全体
おおみそかに慌てて作ったので見やすさ絶望的です。``
【JavaScript】ロト6とロト7の当選データの傾向(フォーム部品の値取得,値設定~ファイル読み込みと出力)
# 1.はじめに
今までjava,pythonでロト6(ロト7)について投稿してきた。
そして、ここにきても高額当選の波は来ていない。「ロト6、ロト7の当選データを、他の言語の勉強に役立てなさい。」
というメッセージが天から降ってきているのだろう。
以下のようなものを満たすプログラムを作ろうと考えた。__(1)loto6かloto7かを、入力しないで選択したい。__
__(2)過去の当選実績のファイルを選択できるようにしたい。__
__(3)特定開催間における、前回の番号と次回の番号の出現回数、出現率の集計データをダウンロードできるようにしたい。__
__(4)出力したいタイプと選択されたファイルのフォーマットが違う場合は、メッセージを出して開始回などを入力できないようにする。__
昔に、他部署に依頼されてツール作成のために勉強した事があったが、再勉強のために[前回](https://qiita.com/xmorning777/items/b1ad45cd6e00f2e82249)の内容のJavaScript版として記事を書くことにした。
# 2.入門メモ(フォー
Elixirから覚えるJavaScript 〜Promise(文法遊び)〜
僕は普段はElixirを使ってます
必要になったのでJavaScriptの勉強をはじめました
題名はElixirから覚えるJavaScriptですが、逆もできるかも?今日はPromiseを見てみたいと思います
本来は非同期で使いますが、なんとなくElixirのパイプ風にしてみたかった
意味はあまりなく文法遊びですお題
10を初期値
|> 結果表示
|> 10倍
|> 結果表示
|> 12足す
|> 結果表示# Elixir
```elixir
10
|> IO.inspect()
|> then(& &1 * 10)
|> IO.inspect()
|> then(& &1 + 12)
|> IO.inspect()
``````elixir:実行結果
10
100
112
```# JavaScript
```javascript
const promise = new Promise((resolve, reject) => {
resolve(10);
});const inspect = (x) => {
console.log(x);Media Session APIについての所感
本記事は自分のブログからの流用です。[Media Session APIについての所感](https://mkw-blog.herokuapp.com/article/157PERT2DAhvR36vyEr2uh)
Media Session API はメディアについての通知をカスタマイズする機能を提供しています。これによってメディア再生時に表示されるデバイス毎に違う通知画面の情報をある程度統一したり操作性が良くなることでUX向上に繋げられたりすることができます。ただこの機能はまだまだ扱いにくく不安定?なところも多いので触っていて思ったことを備忘録としてまとめました。
仕様はこちら: [Media Session API](https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API)# Media Session API概要
これについてはGoogleが提供しているデモを見ていただくのが一番わかりやすいと思います。[Media Session Samples](https://googlechrome.gi関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた