- 1. [本の紹介][JavaSccript][ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門
- 2. shebang に対応しているプログラミング言語まとめ
- 3. PHPをかじった自分がjsの非同期処理を理解してみる
- 4. Next.js 入門メモ
- 5. GPT-3で漫画タイトル生成
- 6. Vue3でtrainsition-groupを使って順番にカードがスライドするようなアニメーションを作る
- 7. 二次元の画像を触ったように見せる方法
- 8. 詐欺あみだくじを作ろう!!
- 9. 【JavaScript】ロト6とロト7の当選データの傾向(フォーム部品の値取得,値設定~ファイル読み込みと出力)
- 10. Elixirから覚えるJavaScript 〜Promise(文法遊び)〜
- 11. Media Session APIについての所感
- 12. Video.js完全マニュアル part9 〜Playerの外観〜
- 13. AWS SAMでJavaScript v3のLambdaをデプロイする(Node16以下)
- 14. Next.jsでfaviconの設定方法
- 15. 【JavaScript】モーダルウィンドウの作成
- 16. prototype を知ることで MDN が読みやすくなった話
- 17. [本の紹介][JavaScript]Colaboratoryでやさしく学ぶJavaScript入門
- 18. 【Babylon.js】物理エンジンを使ってみた
- 19. Elixirから覚えるJavaScript シリーズ
- 20. Elixirから覚えるJavaScript 〜every〜
[本の紹介][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 の視点で sheb
PHPをかじった自分が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 Si
GPT-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“`
{
(“use strict”);// マウスの座標を取得する。
let mouseX = 0, //マウスのX座標
mouseY = 0; //マウスのY座標$(document).on(“mousemove”, function (e) {
mouseX = e.pageX;
mouseY = e.pageY;
});window.addEventListener(“load”, init);
functi
詐欺あみだくじを作ろう!!
# 製作の経緯
年初めは運勢占いがたくさんあるよね。
自分がそれを制作したら自分有利の運勢になるやん!!…ということで、選ばれたスタートを自分の選んだゴールに繋げる盤面を自動で作る仕組みを実装してみました〜
# 成果物
どの選択肢を選んでも「みたち」に行き着きます。リロードして何回か試してみてください。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
Video.js完全マニュアル part9 〜Playerの外観〜
# はじめに
Video.js完全マニュアルとしてVideo.jsの解説をしていくシリーズのpart9です。
Video.jsの公式のガイドである[Video.js Guides](https://videojs.com/guides)を翻訳ツールを使いながら解説していきます。前回はPlayerを作成後のPlayerの操作で使える関数を紹介しました。今回はSkinと呼ばれるPlayerの見た目、つまり外観の操作について解説します。
前回
[Video.js完全マニュアル part1 〜Video.jsを使う理由〜](https://qiita.com/manzoku_bukuro/items/10137f64810f0dc40543)part1から読む人は[こちら](https://qiita.com/manzoku_bukuro/items/10137f64810f0dc40543)
# この記事の対象者
– Video.jsを利用する人
– 動画プレイヤーのUI操作をしたい人
– 動画再生関連のサービスを作りたい人# この記事の解説する章
[Skin](https:
AWS SAMでJavaScript v3のLambdaをデプロイする(Node16以下)
この記事は Lambda の Runtime が Node16 以下で`SDK for JavaScript v3`を AWS SAM でデプロイする方法について記述しています。
:::note info
Node18以降はv3に対応しているので、v3で書かれたソースだけをデプロイしても動きます。代わりに、Node18以降でv2で書いている場合はv2のSDKをソースに含めてデプロイする必要があります。
:::プロジェクトを`sam init`で作成した場合、ルートパスでデプロイすると`template.yaml`や`__tests__`などのファイルもアップロードされてしまい見た目が悪いです。そのため`template.yaml`で`CodeUri`を指定すると思います。
“`yaml:template.yaml
SampleFanction:
Type: AWS::Serverless::Function
CodeUri: src/
“`このようにすると、v3のSDKが`sam build`の対象に含まれなってしまいます。この場合は`package
Next.jsでfaviconの設定方法
[https://realfavicongenerator.net/](https://realfavicongenerator.net/)
↑ファビコンジェネレーターに画像をアップロードする
細かい設定はお好みで。その後、ファイルとコードが作成されるのでファイルをダウンロード
ダウンロードしたファイルをpublicフォルダに持ってくる
pagesフォルダに_document.jsファイルを作って公式どうりに記述↓。
[https://nextjs.org/docs/advanced-features/custom-document](https://nextjs.org/docs/advanced-features/custom-document)
にファビコンジェネレーターで作成したコードをコピペする以上!
【JavaScript】モーダルウィンドウの作成
# 1日1UI投稿!
昨日思いついたので本日よりスタートです。
UIに限らずですが、アウトプットを積極的にやっていきます。# モーダルウィンドウを作成
本日はモーダルウィンドウ作成しました。
完成品は↓See the Pen
モーダルウィンドウ by ri-tama (prototype を知ることで MDN が読みやすくなった話# はじめに
株式会社Relicでフロントエンジニアとして働いてる、えーきといいます。
今年から仕事でjavaScriptを書き始め、まだまだ勉強中の新米エンジニアです。突然ですが、javaScriptのメソッドを調べると、だいたいMDNが検索上位に表示されるかと思います。
map()メソッドやsplit()メソッドをMDNで見てみると、
– **Array.prototype.map()**
– **String.prototype.split()**の様な書き方がされています。
この記事では、***.prototypeってどこから現れたの?という疑問に対して調査した記事になります。
同じ様な疑問を感じられた方がいらっしゃれば、お時間のある時に読んでもらえたら嬉しいです。# 結論
最初に ***.prototype の正体について下記のコードを用いて説明します。
“`javascript:hoge.js
const arr = []
console.log(typeof arr) //object
console.log(arr instanceof Array)
[本の紹介][JavaScript]Colaboratoryでやさしく学ぶJavaScript入門
# [Colaboratoryでやさしく学ぶJavaScript入門](https://book.mynavi.jp/ec/products/detail/id=128345)が目から鱗
ColaboratoryでJavaScriptが実行できるのはありがたい。
ある意味、CodePenより使いやすいのではないだろうか。
サンプルもキレイで内容もとても分かりやすかった。
一読の価値があると思います。[Colaboratoryのページ](https://colab.research.google.com/drive/1OzlbKiDHoO8P6nISgR7lVRsmAnwOvvxO?usp=sharing)
【Babylon.js】物理エンジンを使ってみた
`Kick soccer ball`ボタンを押すとサッカーボールが飛びます。
https://codesandbox.io/embed/divine-cherry-wiwgdz?fontsize=14&hidenavigation=1&theme=dark&view=preview
# はじめに
ARIの土井です。前回[【Babylon.js】Reactを使って3Dモデルを表示する](https://qiita.com/yuki_doi/private/3d15aa76567cdc9be1d5)という記事を書きました。今回は物理エンジンを使って実際にサッカーボールを蹴ってみたいと思います。
# 物理エンジンとは
物理エンジンを使用すると、Scene内に重力を発生させたり、メッシュに質量や反発係数、摩擦係数を設定したりすることができます。詳細は以下のドキュメントを参照してください。
https://doc.babylonjs.com/features/featuresDeepDive/physics/usingPhysicsEngine
# 手順
## 物理エンジンの有効
Elixirから覚えるJavaScript シリーズ
僕は普段はElixirを使ってます
必要になったのでJavaScriptの勉強をはじめました
題名はElixirから覚えるJavaScriptですが、逆もできるかも?というシリーズを作りたいと思います
https://qiita.com/t-yamanashi/items/237377588d675829c2e9
https://qiita.com/t-yamanashi/items/850bb03afd811264ecd5
https://qiita.com/t-yamanashi/items/693319825f7c7b3cfb53
https://qiita.com/t-yamanashi/items/bc783e89b20d74c90f43
https://qiita.com/t-yamanashi/items/1cc9ebcffaa660900c87
https://qiita.com/t-yamanashi/items/2f778f445fd169b9cc76
https://qiita.com/t-yamanashi/items/57d4580246eb
Elixirから覚えるJavaScript 〜every〜
僕は普段はElixirを使ってます
必要になったのでJavaScriptの勉強をはじめました
題名はElixirから覚えるJavaScriptですが、逆もできるかも?今日はeveryを見てみたいと思います
お題
[1, 2, 3, 4, 5]の内容がすべて0より大きかったらtrue# Elixir
“`elixir
x = [1, 2, 3, 4, 5]
y = Enum.all?(x, fn x -> x > 0 end)
IO.inspect(x)
IO.inspect(y)
“`“`elixir:実行結果
[1, 2, 3, 4, 5]
true
“`# JavaScript
“`javascript
x = [1, 2, 3, 4, 5]
y = x.every((x) => x > 0)
console.log(x)
console.log(y)
“`“`javascript:実行結果
[ 1, 2, 3, 4, 5 ]
true
“`無事に同じ結果になりました
https://qi