- 1. 【個人開発】全国の無料キャンプ場を検索し、欲しい情報を一目見て得られるようなサービスを作りました。
- 2. javaScript91_DOMとイベント
- 3. 初学者友人「JavaScriptって役に立つの?」わい「ブラウザ設定で無効にっと。ほれ。」→結果…
- 4. 「setInterval」一定間隔で繰り返し実行
- 5. Recoilを基礎から理解しよう!(環境構築〜基本編)
- 6. JavaScriptで配列の重複を削除する方法
- 7. 【MediaPipe】カメラで手の指を検知するゲームを作ってみた
- 8. [JavaScript] プロトタイプチェーンをいじって継承元を変更する
- 9. ブラウザゲームを作ってみよう(その5:図形表示)
- 10. javaScript84_String型オブジェクトのメソッド
- 11. 【JavaScript】Object.deepEquals(仮)
- 12. Null合体演算子(?:とか??)を使うときは優先順位に気をつけろ
- 13. Node.jsのworker_threadsモジュール(スレッドプール)
- 14. 骨までしゃぶりつくす「ぷよぷよプログラミング」(4/4)
- 15. 骨までしゃぶりつくす「ぷよぷよプログラミング」(3/4)
- 16. 【JavaScript】Promiseと非同期処理について
- 17. You must `await server.start()` before calling `server.applyMiddleware()`の解決方法
- 18. JavaScript83_基本データ型の変換
- 19. javaScript82_Math
- 20. つぶやきProcessing用に書かれた Processing・p5.js のプログラム(対象2つ)を p5.js で書きかえてみる
【個人開発】全国の無料キャンプ場を検索し、欲しい情報を一目見て得られるようなサービスを作りました。
## はじめに
みなさんキャンプはお好きですか?キャンプで焚き火を囲んでいるだけでも心が浄化されますよね。焚き火には「1/f ゆらぎ」と呼ばれる成分が含まれていて化学的にその癒し効果が証明されているそうです。焚き火をしながら「1/f ゆらぎ」の声を持つ宇多田ヒカルの曲を聴き、好きなビールでも飲めば大抵の嫌なことなんて忘れてしまいます。僕は焚き火をするのに無料キャンプ場をよく利用しています。コスパ最強の無料キャンプ場を多くの人に知ってもらいたいと思い、このサービスを作りました。## サービス概要
CAMPHOOD -無料キャンプ場をもっと身近に利用しよう-
URL: https://www.camphood.net
キャンプに行く前はとにかく情報収集が大事です。僕はいつも下記のようなことをざっと調べていましたが、ま
javaScript91_DOMとイベント
DOMはDocument Object Modelの略称です。
JSはDOMを通してHTMLファイルを操作します。DOMを理解すればWebページを自由に操作することができます。
Document: 一つのHTMLファイル
Object: HTMLファイルの全ての箇所をObjectに変換したという意味です。
Model: モデルでオブジェクト間の関係性を表す。ノードが分かればobjectを取得することができる。
Node(ノード):webページを構成する最も基本的な部分。HTMLタグ、属性、テキストなどは全てノードと言えます。
ノードは下記の4種類に分類されます。
1 documentノード:HTMLファイル
2 要素ノード:HTMLタグ
3 属性ノード:要素の属性(例:id)
4 テキストノード:HTMLタグ内のテキスト
![image.pn
初学者友人「JavaScriptって役に立つの?」わい「ブラウザ設定で無効にっと。ほれ。」→結果…
## 初学者友人との、ある日の会話
友人「なぁ、JavaScriptって本当に役に立つの?」
わい「おぉ。めちゃくちゃ役に立つで。」
友人「ほう。どんなふうに?」
わい「うーん…どんなふうにか…。せや!ブラウザ設定でJavaScriptを無効にっと。ほれウェブサイトみてみ。」
友人「おぉ!!!すげぇぇぇっっっ!!!」
**1枚の絵は千の言葉を語る**
JavaScriptの凄さを知るには、ブラウザ設定でJavaScriptを無効にしてからウェブサイトを閲覧してみましょう。
## この記事に書いてあること
この記事では、ブラウザ設定でJavaScriptを無効にして、ウェブサイトを閲覧したらどうなるのかを書いています。JavaScriptの凄さを改めて実感してもらい、一人でも多くのフロントエンドエンジニアのモチベーションに繋がればと思います。
なお、JavaScriptをオフにしてウェブサイトを閲覧するというアイデア自体は、2019年に書かれた以下の記事を大変参考にさせて頂きつつ、「2022年現在ではどうなっているか?」「エンジニアがよく使いそうなサイトではどうなの
「setInterval」一定間隔で繰り返し実行
_コード構文_
“`
setInterval(「関数①」,「秒数」);
“`
この関数setIntervalは
「一定間隔(「秒数毎」)で関数①を呼び出し続ける」
というものです。
実際に例でどういうものかを見ていきます。_コード例_
“`
function console1(){
console.log(“tagotyan”);
}
setInterval(console1,300);
“`
上記記述は
・コンソールに「tagotyan」という文字列を出力する関数を定義。
・setInterval関数を使用して「関数①」に「console1関数」を、「秒数」に「300」を記述しています。
・「0.3秒に一回「tagotyan」をコンソールに出力し続ける」という意味になります。
ここでの「300」は0.3秒、仮に「1000」だと1秒ですね。次は二次元配列で定義した変数をランダムで呼び出し続ける時の注意点です。
_ランダム変数コード構文_
“`
let 二次元変数名=[[],[]];
let 乱数変数名=Math.floor(Math.random()*(二
Recoilを基礎から理解しよう!(環境構築〜基本編)
この記事は
– Reactで状態管理ツールを使ってみたい。
– でも学習コストが高くて難しそう。そのように感じている人向けに、Recoilの使い方をまとめたものになっています。
筆者はReduxという類似ツールを使ったことがありますが、**「圧倒的にRecoilは簡単」**だと思っています!
状態管理ツールの選定に迷っている人、`Recoil`の利用を考えてみてはいかがでしょうか!!#Recoilってなに?
Reactの提供元であるMeta(FaceBook)が開発中の新しい状態管理ライブラリです。
ReduxやReactQueryの立ち位置のライブラリになります!https://recoiljs.org/
2022年2月時点ではプレリリース状態(v0.6.1)となっていますが、作っているのがReactの生みの親ですので状態管理ライブラリとして標準利用される可能性大だと思っています。
# 実装
それでは早速書いていきましょう!# まず初めに
Next.jsやRecoilなど必要なライブラリをインストールします。まず最初に`Next.js`のインストール。
`
JavaScriptで配列の重複を削除する方法
# はじめに
個人で開発しているブログサイトのとある機能にて、JavaScriptで重複を含む複数の数値が格納された配列から、重複を削除する方法が知りたかったので、調べてみたところ、すぐに2つの実装方法が見つかりました。今回は、そちらの方法の紹介に加えて、2つの方法の相違点から、実装にあたって考慮するべき点についてまとめてみました。# 結論
先にこの記事での結論をお伝えすると、**JavaScriptで重複を削除する際には、基本的に[Setオブジェクト](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Set)を使うことをお勧めします。**下で紹介するようなindexOfメソッドとfilterメソッドを用いた方法もありますが、処理の対象となるデータが将来的に大きくなることが予想される場合、計算量の大幅な増大につながるため、処理速度の問題となる可能性があります。下記で実装方法を含めて説明します。# 1. indexOfとfilterメソッドを使った場合
JavaScript
【MediaPipe】カメラで手の指を検知するゲームを作ってみた
# 概要
## MediaPipeとは?
– Google社が提供するライブストリーミングのためのオープンソースのMLソリューションです
– Android・iOSなどのプラットフォームや、Python・JavaScriptなどの様々な言語で、メディア向けの機械学習を利用できます
– メディア向けというのは顔や手をカメラで認識する仕組みになると思います## 何を作ったのか?
– 今回は機械学習に関する部分は一切に触れていません
– 既存のJavaScriptの手の検出のサンプルを元に表題のゲームを作成しました
– JavaScriptも素のJavaScriptで作成しています
– タイトルとゲームでそれぞれのHTMLファイルで作成しています## 作ったゲームのルール
– 赤い枠に人差し指が入ったら点数が加算されます
– 最初のハイスコアは30でスコアがそれ以上になると更新され記録されます## 参考にした資料とフレームワーク
– MediaPipeの手の認識のサンプル
– https://codepen.io/mediapipe/full/RwGWYJw
–
[JavaScript] プロトタイプチェーンをいじって継承元を変更する
## 環境
– Node.js v16.14.0
## 詳細
JavaScript のプロトタイプチェーンをいじれば人を神(のサブクラス)にすることもできる。
“`js
‘use strict’;class God {
destroy() {
console.log(‘Destroy!’);
}
}class Animal {
hunt() {
console.log(‘Hunt!’);
}
}class Human extends Animal {
hack() {
console.log(‘Hack!’);
}
}const isAnimal = (target) => target instanceof Animal;
const isHuman = (target) => target instanceof Human;
const isGod = (target) => target instanceof God;const adam = new Human();
console.log(isAn
ブラウザゲームを作ってみよう(その5:図形表示)
#はじめに
[その4](https://qiita.com/noji505/items/ac21d108add93d2470e6)ではファイル分割を行いました。
今回は図形表示を行いたいと思います。#図形を表示してみよう
実は既に今までのサンプルで使用していました。
(毎回ループの最初で画面をクリアするときに使用)ライブラリに以下のメソッドを定義しています。
“`javascript:shape.js
//———————————————————–
// drawRect : 矩形描画
// 引数 : X,Y,幅,高さ,色,透明度
// 戻り値 : 無し
//———————————————————–
function drawRect( x, y, w, h, c, alpha )
{
c = hexToRGB( c ); // 色を16進数へ変換if( alpha == null ){ // 透明度な
javaScript84_String型オブジェクトのメソッド
String型オブジェクトに関して使用するメソッドをまとめました。




こんにちは。
今回はJavaScriptにおける未解決問題(?)のお話です。
# オブジェクト比較
JavaScriptにおいて、オブジェクト同士の比較は非常に面倒なことのひとつです。割と有名な話なので、いくつかのパターンをざっとおさらいすると…
“`js:Abstract-Equal
const o1 = {};
const o2 = {};o1 == o2; // true
“`
どちらも `object` 型なので、中身のプロパティが何であれ `true` と解釈されます。“`js:Strict-Equal
const o1 = {};
const o2 = {};o1 === o2; // false
“`
それぞれ別インスタンスなので、中身のプロパティが何であれ `false` と解釈されます。“`js:for-in
const o1 = {};
const o2 = {};for(const key in o1){
if(o1[key] !== o2[key]){
throw “Not equal”;
Null合体演算子(?:とか??)を使うときは優先順位に気をつけろ
早速ですがこのコードをご覧ください。
“`kotlin
fun main() {
val tmp1: Int? = 0
val tmp2: Int = 1
println(tmp1 ?: 0 + tmp2)
}
“`
`1`が表示されると思った方はお気をつけください。実際に出力されるのは`0`です。
`0`だと思った方はもうすでにNull合体演算子と優先順位をマスターしているので、このままそっとブラウザバックしてください。
## なぜ 0 と表示されるのか
至極単純な理由で`?:`は`+`より優先順位が低いため`tmp1 ?: 0 + tmp2`は`tmp1 ?: (0 + tmp2)`と解釈され最終的に`0 ?: 1`というふうになるため`0`が出力されるのです。
ちなみにKotlinだけでなくC#やJavaScript(というかほとんどの言語?)でも同じで“`C#
int? tmp1 = 0;
int tmp2 = 1;
System.Console.WriteLine(tmp1 ?? 0 + tmp2);
“`
“`javascript
c
Node.jsのworker_threadsモジュール(スレッドプール)
# はじめに
node.jsでマルチスレッドを実現するworker_threadsについて、実例を交えて説明します。# 参考
– ハンズオンNode.jshttps://github.com/oreilly-japan/hands-on-nodejs/blob/master/ch04/samples.txt
# worker_threadsモジュール
例として、http\://localhost:3000/10へのアクセスに対して10番目のフィボナッチ数を返すような簡易Webアプリケーションを構築していきます。
パフォーマンスを担保するために生成するスレッドをプールして使い回すような仕組みにしたいです。
以下の3ファイルで実現できます。~~~thread-pool.js
‘use strict’
const { Worker } = require(‘worker_threads’)module.exports = class ThreadPool {
// 空きスレッド、キューを初期化
availableWorkers = []
queue = []
骨までしゃぶりつくす「ぷよぷよプログラミング」(4/4)
# この記事の目的
この記事ではソースコードを読んで冗長そうであったり、間違いがあるのではないか、と感じた点を記述していきます。初回に述べた目的の内容からは外れた番外編的な内容となります。初回
https://qiita.com/KennyKTA/items/360aa62aa7f7ba084a2f
## おそらく不要なコード
“`pyuyoimage.js
this.batankyuImage.style.top = -this.batankyuImage.height + ‘px’;
“`
目的はthis.batankyuImage.style.topの初期化に見えるのですが、this.batankyuImage.heightがundefinedです。実行時はundefinedが適当な数値となって動作はするようです。ちなみに後のコードで
“`puyoimage.js
this.batankyuImage.style.top = y + ‘px’;
“`とあり、ここで正常な値が上書きされる形でプログラムの動作が担保されているように見えます。
## お
骨までしゃぶりつくす「ぷよぷよプログラミング」(3/4)
# この記事の目的
この記事では[前々回記事](https://qiita.com/KennyKTA/items/360aa62aa7f7ba084a2f)の– 目的1.「ぷよぷよプログラミング」で作成していく範囲のソースコードから javascript と html の技術を学んでいく
に沿ってソースコードを読み込んだ結果を記述しようと思います。記載する項目は私が学びがあったと感じたものだけで、すべての文法などを解説するものではありませんん。下に言及する項目の一覧を示します。
1. HTML
– 全般
– `関連する記事
OTHERカテゴリの最新記事
-
- 2023.09.22
今さら聞けないHTML 2023年09月22日
-
- 2023.09.22
オープンソース調べOSS 2023年09月22日
-
- 2023.09.22
WEBエンジニアが読んでおきたい技術書 2023年09月22日
-
- 2023.09.22
iOS関連のことを調べてみた2023年09月22日
-
- 2023.09.22
Python関連のことを調べてみた2023年09月22日
-
- 2023.09.22
Ruby関連のことを調べてみた2023年09月22日