- 0.0.1. JavaScript のコードを整形する
- 0.0.2. 【備忘録】ショートサーキット評価【TypeScript】
- 0.0.3. 囲みマスのサンプルAIの解説
- 0.0.4. Nuxt.js+Vuetify で 画像が表示できない時に固定の画像を出す方法
- 0.0.5. JavaScriptでは配列はオブジェクト
- 0.0.6. React(typescript)で外部scriptを遅延ロードする方法
- 0.0.7. GASでLINEからTwitterに投稿してみた
- 0.0.8. [JavaScript] trim()メソッドは文字列両端の改行文字 \n や \r を削除する。
- 0.0.9. 「おかしなりんご」ゲーム
- 1. 1.はじめに
- 2. 2.作者紹介
- 3. 3.アプリ概要
- 4. テスト
- 5. テスト
- 5.0.1. 【Rails】'ArgumentError (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):'が出たときに。model内でURL組み立てる場合の設定
- 5.0.2. スクロールで要素がふわっと表示される「ScrollReveal.js」を使ったら、動かなかった件を解決した
- 5.0.3. 【備忘録】分割代入とスプレッド構文、シャローコピー【TypeScript】
- 5.0.4. 【Robocode】楽しくお勉強できるJavaScriptの戦車ゲームをWindows環境で動作させる。
- 5.0.5. 【Google Chrome】拡張機能の作成方法を分かりやすく解説してみた Part. 1
- 5.0.6. 【コピペで10分】Google Spread Sheetのシートを定期で複製コピーする手順を最初から
- 5.0.7. 便利ページ:Web Bluetooth APIでBLEデバイスに接続
- 5.0.8. [requestAnimationFrame]ループするときのfpsの求め方とfpsに依存しないアニメーション
- 5.0.9. 【備忘録】クラス【TypeScript】
JavaScript のコードを整形する
以下のサイトを利用した。
Online JavaScript Beautifier (v1.13.0)
https://beautifier.io/## コードを貼って、 Beautifully Code で整形
![スクリーンショット 2021-01-03 10.46.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27486/ed5ecd0a-7da0-a6ab-4561-ea3c5a275fce.png)## いろいろできる
### フォーマットが指定できる
![スクリーンショット 2021-01-03 10.53.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27486/f7d13ee6-2c23-85b4-c41e-6544fbc1c4fd.png)こうなる。
![スクリーンショット 2021-01-03 10.40.57.png](https://qiita-image-store.
【備忘録】ショートサーキット評価【TypeScript】
# ショートサーキット評価
TypeScript,JavaScript 初学者が関数の**ショートサーキット評価**について勉強したのでメモを残す。
## ショートサーキット評価(短絡評価)
– `&&`や`||`、`!`などの論理演算子を利用する
OR 演算子`||`は**左辺が falsy な値の場合、評価は右辺に渡される**
“`typescript
const hoge = undefined || null || 0 || NaN || “” || “hoge”;
“`– `undefined`と`null`、`0`、`NaN`、`”`はすべで`falsy`なので一番右の`hoge`が左辺に代入される
– **初期化を動的に行う際に便利**AND 演算子`&&`は**左辺が truthy な値の場合、評価が右辺に渡される**
“`typescript
const bar = ” ” && 100 && [] && {} && “bar”;
“`if 文の代わりに使うこともできる
“`typescript
false && console.
囲みマスのサンプルAIの解説
# 概要
2020年に開催予定だった高専プロコンの競技部門競技部門のルールは2チーム対戦型の陣取りゲームの[囲みマス](http://www.procon.gr.jp/?p=77044)でした
しかし感染拡大予防のため競技部門は中止になりました
そこで公開されている競技ルールをもとに
競技システムを開発しオンライン対戦会を行うため
[Code for KOSEN 囲みマスプロジェクト](https://codeforkosen.github.io/)が発足しました開発した競技システムはGitHubで公開されています
好きな時に囲みマスの対戦会を開くことができます
https://github.com/codeforkosen/Kakomimasuシステムには対戦AIを作りたい方のために
いくつかのサンプルAIが含まれていますこの記事ではサンプルAI同士を対戦させる手順と
サンプルAIの行動について簡単に解説します# システムのセットアップ
対戦サーバとサンプルAIはDenoで実装されていますので
まずはDenoをインストールしますWindowsユーザの方はP
Nuxt.js+Vuetify で 画像が表示できない時に固定の画像を出す方法
# はじめに
最近Nuxt.js を触り始めて、Typescript までたどり着くことを目標に学習始めました。
# やりたいこと
あるページで、サーバから指定された画像を表示しますが、それが存在しない時はフロントサイドで持っている情報で固定画像を表示したいです。
# 試したやりかた
“`javascript:page.vue
…
methods:
errImg(event) {
event.target.src = ‘no_image.jpg’ // static/no_image.jpg に正しく表示できる画像ファイルがある
}
“`# このやり方だと。。。
404 エラーの時に、error が発火しない。
– `response.img=存在しない画像` の場合、no_mage.jpg が表示されました
– `http://example.com/test.jpg` の場合には何も表示されませんでした
– `errImg()` に、`console
JavaScriptでは配列はオブジェクト
# 配列はオブジェクト
JavaScriptでは、配列はオブジェクトです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638864/88755342-62c1-0a8f-9089-95b40490ccd0.png)arr[0] とすると ‘a’ が取り出せますが、これはプロパティ ‘0’ の値が ‘a’ ということです。
だから arr[‘0’] でも同じように ‘a’ が取り出せます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638864/92f2d3dc-d786-419b-9c90-3cd5e7bc026b.png)こんなこともできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638864/3e3fd4e6-873b-7ef1-e22f-2ba47134b5
React(typescript)で外部scriptを遅延ロードする方法
#今回陥った内容の概要
React(typescript)で外部scriptを使用する**だけ**なのだがかなりの時間と調査を要して解決したのでのでナレッジの共有をしたいと思います。
ただベストプラクティスではないと思っており、実装内容も少しレガシーの方法となっております。
今回は外部scriptになるが古いライブラリを使用する場合、React(typescript)ですが、`@type`に対応していないものを使用する内容となっております。#今回の用件
– 実装はReactでのSPA
– 外部scriptはbody内に任意の箇所
– headerにはプロパティを追加する外部scriptなし
– innerHtmlはサニタイズを考慮して使用不可
– 外部script内に`document.write`が使用されている()
– 外部script内にさらなる外部scriptが使用されている#試したアプローチ
##1.scriptタグの生成
`useEffect`で以下のコードを実装
“`typescript:logic.tsx
const script = documen
GASでLINEからTwitterに投稿してみた
新年から行動量を増やしていくために何かを作ろうと考えていました:thinking:
そんな時にふと**「LINEからTwitterに投稿できないかなぁ・・・」**と思いつき、早速簡単にLINE
Botを作ってみました。
(随時アプデ予定)#参考記事
[[Google Apps Script] LINE Bot を作ってみよう](“https://dev.classmethod.jp/articles/gas-line/”)
[GASでTwitterAPIを叩いてみる](“https://tech-cci.io/archives/4228”)上記の記事からAPIの連携を済ませました。
これらの記事で環境準備はできてしまうと思います。
皆さんも記事を参考に連携してみてください。#実際のコード
APIの連携が済んだら、あとはコードを書くだけで実装できます。“`tweetByLine.js
function doPost(e) {
// Lineで投稿した内容をMessageに格納
var Message = JSON.parse(e.postData.cont
[JavaScript] trim()メソッドは文字列両端の改行文字 \n や \r を削除する。
String.trim()メソッドは文字列両端の`空白`を削除する。
この`空白`は、文字通りの空白であるスペースやタブだけでなく、改行文字`\r`, `\n`, `\r\n`も含む。
“`JavaScript
const memo = ‘とんこつラーメンか、\r\n醤油とんこつラーメンで’;
const array1 = memo.split(‘\r’)
console.log(array1);
// [ ‘とんこつラーメンか、’, ‘\n醤油とんこつラーメンで’ ]const array2 = memo.split(‘\n’).map(m => m.trim())
console.log(array2);
// [ ‘とんこつラーメンか、’, ‘醤油とんこつラーメンで’ ]const array3 = memo.split(‘\r’).map(m => m.trim())
console.log(array3);
// [ ‘とんこつラーメンか、’, ‘醤油とんこつラーメンで’ ]const array4 = memo.split(‘、’).map(m
「おかしなりんご」ゲーム
1.はじめに
この記事のターゲットは「HTML、CSS、JavaScriptを一通り学んだけど何をしたらいいかわからない人」向けです。
この記事を見ることで以下の項目の悩みを解決できると思います。
- プログラミング一通り経験したけど何をしたらいいのか
- JavaScriptでできることは?
- 簡単なゲームを作りたい
2.作者紹介
プログラミングを初めて2ヶ月の「大学3年生」です。
スキルセットとしては以下のような感じです。
- HTML&CSSがだいたい分かる
- JavaScriptは少しわかる(機能を見てある程度推測できる)
- ちょっとしたデータサイエンスに関する知識
最近は模写を中心に独学しています。
3.アプリ概要
【PAY.JP】環境変数の設定について〜困ったときには削除の勇気〜
### 解決したいこと
クレジットカード決済の購入機能実装で、環境変数を設定するとtokenが発行されなくなってしまう。### 発生している問題・エラー
“`
「 Token can’t be blank 」と表示される
“`### 自分で試したこと
仮説1・そもそもトークンが生成されていない
トークンが生成されるまでの流れとしては、
**①ブラウザで入力したカード情報を取得する→
②取得したカード情報と公開鍵をもとにPAY.JP側(API)へアクセスする→
③PAY.JP側でトークンが発行される**この中のどこかがうまくいっていないのではないか?
まずは①で、JavaScriptのファイルがきちんと読み込めているか確認。
“`javascript
const pay = () => {
console.log(“OK”) //⬅️検証ツールでブラウザに「OK」と表示されるか確認//以下略
“`
確認できたので次はカード番号が取得できているか確認。
“`javascript
const pay = ()=> {
javascriptとjQuery比較
テストを赤文字に変更する処理をjavascriptとjQueryで書いてみる
“`
// javascript
Document
テスト
“`
“`
Document
テスト
【Rails】'ArgumentError (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):'が出たときに。model内でURL組み立てる場合の設定
## 使用環境
ruby 2.6.5
Rails 6.0.3.4
macOS Catalina 10.15.6## エラー内容
```
'ArgumentError (Missing host to link to!
Please provide the :host parameter, set default_url_options[:host],
or set :only_path to true):'
```
ええと、見たこともないエラーにぶち当たりました。はてはて・・・## やっていたこと
そもそも何をしていてこうなったのかを簡単に説明しておきます。
Ajaxでタイムラインの記事にコメント投稿機能を実装時に、コメント投稿したユーザーのアバター画像を表示させる機能も同時につくっていて、user_serializerをあれこれと調べながらいじっていました。
(以下コード)```user_serializer.rb
class UserSerializer < ActiveModel::Serializer include Rails.applicati
スクロールで要素がふわっと表示される「ScrollReveal.js」を使ったら、動かなかった件を解決した
自身のポートフォリオサイトで、ポートフォリオ作品の部分を、スクロールしたらふわっと表示されるアニメーションを取り入れたかったので、「ScroalReveal.js」を使って実装しようとしました。
##ScroalReveal.jsとは
スクロールして要素が画面に表示されたら、指定したアニメーションを実行してくれるJavascriptライブラリです。
ふわっと要素を表示させたり、下から表示させたり、遅れて表示させたりなどを簡単に実装することができる優れものです。##ScroalReveal.jsの使い方
まず[こちら](https://liginc.co.jp/500530)の記事を参考に実装しました。
リンク先:[ScrollReveal.jsを使ってスクロールしたらふわっと表示される動きを作ってみよう](https://liginc.co.jp/500530)###1.ライブラリを読み込み
まず、ライブラリを`script`タグで読み込み。```HTML:HTML
【備忘録】分割代入とスプレッド構文、シャローコピー【TypeScript】
# 分割代入とスプレッド構文、シャローコピー
TypeScript,JavaScript 初学者が関数の**分割代入とスプレッド構文、シャローコピート**について勉強したのでメモを残す。
## 配列のプロパティ名のショートハンド
- まずは下記の例を読んでみる
```typescript
const object1 = { bar: 10, baz: 20, foo: 30 };
const object2 = { foo };
console.log(object2); // { foo: 30 }
```- `object1`のキー`foo`を`object2`に代入することで、`object2`がキー`foo`,値`30`のオブジェクトになる
## 分割代入
- 続いて分割代入を見てみる
```typescript
// 分割代入
const [num1, num2] = [10, 20];
console.log(num1, num2); // 10 20// オブジェクトの代入
const object = { name: "Yasushi",
【Robocode】楽しくお勉強できるJavaScriptの戦車ゲームをWindows環境で動作させる。
#Robocodeとは
『Robocode』は、オープンソースの教育ゲームである。JavaやVer1.7.2以降の.NET Frameworkの熟達に役立つ。 単純なロボットはわずか数分で作成できるが、本格的に完成させる場合は数ヶ月かかることがある。
出典:https://ja.wikipedia.org/wiki/Robocode学生時代 Javaが全くかけなかった自分は、RobocodeにハマったのをきっかけにJavaにのめり込むようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524081/cb4e1f27-4915-ad94-08cf-33aaa90552c8.png)
・・・のJavaScript版を発見したので、手軽に動作させる手順をメモ書きで書いておきます。
#前提となる環境
OS:
Windows10他:
node.js(筆者環境はV14)
#JavaScript版の導入
##githubよりソースコードの
【Google Chrome】拡張機能の作成方法を分かりやすく解説してみた Part. 1
#前置き注意事項
**最低限必須だと思われる知識**1. 初心者程度の純正JavaScriptへの理解
2. JSONファイルの構造、記述方法
3. 使用しているOSの構造や仕組みを最低限、網羅している
4. Google Chromeを使用した事がある (ここ重要)#この記事で使用する物
**はい。GoogleChromeです。**
[Google Chrome](https://www.google.com/intl/ja_jp/chrome/)**この記事では開発効率を考慮しVisual Studio Codeを使用します(´・ω・`)**
**VimやAtom等を愛用している人もいるので自分に合ったエディタを使用して下さい**
https://azure.microsoft.com/ja-jp/products/visual-studio-code/**Windowsエクスプローラー**(...わざわざ載せなくていいやろ!w)
#準備① ~エディタ~
まず、Visual Studio Codeを実行して下さい
![1.png](https://qiita
【コピペで10分】Google Spread Sheetのシートを定期で複製コピーする手順を最初から
#はじめに
毎日とか毎週とか、そういうスパンで報告書って必要なんですが、地味に毎回シート作成するのがめんどくさい場面が発生。
挙げ句「あ、後で作らなきゃ」→「忘れてたたたた」。
なんてのがチームで茶飯事的だったので、とりあえずコピーするスクリプトをGASで組んだので公開。
多分このちょっとした悩みは自分だけじゃないはず。とどけ、世の中の管理者の皆々様に。(ちなみに、追加後にタスク管理ツールのTrelloにチケット追加するのは、反響あればそのうち公開しますので乞うご期待)
## こんな人に需要あるかも
* 定期の書類報告がある
* スクリプトなどはよくわかりませんが、、、コピペすればよろしい?
* エンジニア初心者なもんで!GASでライトにトライしてみたい!!---
##やったこと
* Google Spread Sheetにテンプレシートを作成しておけば、そのシートを「XXXX日付」の名称でコピーしてくれるスクリプト作成
* シート作成のタイミングをトリガで指定これは簡単すぎる…
---
##準備するもの
準備するとかしないとかの次元じゃないけど、一応。*
便利ページ:Web Bluetooth APIでBLEデバイスに接続
「[便利ページ:Javascriptでちょっとした便利な機能を作ってみた](https://qiita.com/poruruba/items/6c67c7eef34ed302feb3 )」のシリーズものです。
久しぶりのネタですが、今回はWeb Bluetooth APIを使って、BLEデバイスに接続してみます。
以下のことができるようなページです。* BLE Peripheral デバイスに接続し、プライマリサービスを一覧表示します。
* プライマリサービスにあるキャラクタリスティックを一覧表示します。
* キャラクタリスティックに対して、任意のデータをRead・Writeをしたり、Notificationを有効にして、Notificationを受信します。ソースコードは以下にあります。過去のいろいろな詰め合わせになってます。
poruruba/utilities
https://github.com/poruruba/utilities使いたいだけであれば、以下にアクセスしてみてください。ユーティリティの「BLECentral」のタブを選択してみてください。
[requestAnimationFrame]ループするときのfpsの求め方とfpsに依存しないアニメーション
# 初めに
はじめまして。requestAnimationFrameでゲームループを作るときの、fpsの求め方とfpsに依存しない処理の仕方を記します。
あくまでもオリジナルです。ベストなのかは知らん。
この記事では、requestAnimationFrameを**RAF**と略します。長いからね。
# fps(まだ求めないよ)
**RAF**が、1秒で何回呼び出されるのかを数えても求められますが、この記事では数学的なアプローチで求めてみます。## fpsとは
そもそもですが、fps(frame per second)は、1秒あたりのフレーム数のことで、$\frac{フレーム}{秒}$と表せます。## fpsの求め方
これを求めるのに、
$$\frac{フレーム}{秒} = 1 \div \frac{秒}{フレーム}$$
とします。逆数からfpsを求めています。fpsの逆数$\frac{秒}{フレーム}$はunity等ではdeltaTimeと呼ばれるもので、1フレームあたりの秒数です。ということで、deltaTimeを求めていこう。
# 実際に求める
## d
【備忘録】クラス【TypeScript】
# クラス
TypeScript,JavaScript 初学者が関数の**クラス**について勉強したのでメモを残す。
# クラスの特徴
- 下記の例を読んでみる。
```typescript
class Person {
constructor(name) {
this.name = name;
}
static sayName = () => {
console.log("私は${this.name}です。");
};
static explain = () => {
cosole.log("${this.name}は人間です");
};
}class Man extends Person {
construcror(name) {
super(name);
}
sayGender = () => {
console.log("${this.name}は男です。");
};
}
```- メンバーメソッドはアロー関数でも OK
- JavaScript にとってクラスとは**コンストラクタ