- 1. えっ!? &&で繋ぐだけで出し分けられるんじゃないんですか!?
- 2. モダンJabaScriptを学ぶ上で最低限知っておきたい機能
- 3. Metadataを刻みたい、日本語で
- 4. p5.jsの関数まとめ part.9 translate()
- 5. 世界を闇に変えましょう
- 6. Metaのロゴによく似た錯視をMATLABで書いてみた
- 7. マイクラプログラミング(統合版)いろいろやってみた[Scripting API/Functions/WebSocket/MakeCode]
- 8. 最新のhtml+javascript+cssにおける「真のカスタムエレメント」を考える
- 9. JavaScript一人リファクタリング
- 10. (*゚▽゚)ノ((({})=>({})))()
- 11. Raspberry PiにNode.jsのインストールをして起動時に自動実行させるまで
- 12. Next2D NoCode ToolでJavaScriptを使う[上級編]
- 13. 【Rails】escape_javascriptメソッド【jQuery】
- 14. Vuetifyで速攻でTodoアプリを作るチュートリアル
- 15. タグ名一覧
- 16. Blazor with Intro.js
- 17. REST APIをExpressで実装する際にrequestのスキーマvalidation・sanitizationをするには?
- 18. async/awaitについて理解する
- 19. ReactでStateの更新がうまくいかないなと思った時に疑ってみて欲しいこと
- 20. 「新たなレモンサワーが見つかる!出逢える!」LINE Botで製作開始vol.1
えっ!? &&で繋ぐだけで出し分けられるんじゃないんですか!?
[Ateam Lifestyle Inc. Advent Calendar 2021](https://qiita.com/advent-calendar/2021/ateam-lifestyle) 10日目は株式会社エイチームライフスタイル デザイナーの @kmfj がお送りします!
## 概要
`&&`で繋いでもうまく出し分けられない時があったので、仕組みをまとめてみた備忘録です。
「とりあえず`&&`で繋げば出し分けられるんだな」と思っている人向けです。## 出し分けられないパターン?
`&&`を使って表示・非表示を出し分ける処理を書いてみます。
“`tsx
const name = ‘山田太郎’
return (こんにちは
{name &&
{name}さん
}
)
“`結果はこちら
![スクリーンショット 2021-12-08 22.29.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545
モダンJabaScriptを学ぶ上で最低限知っておきたい機能
ES2015で追加された記法など、備忘録的にまとめています。
JavaScriptを触ったことが無いぴよぴよエンジニアのメモなので、知識の正確性はだいぶアヤシイです。# 用語・機能
**テンプレート文字列**
文字列と変数を楽に組み合わせて表現できる“`
// テンプレート文字列を使わない場合
console.log(“私の名前は” + name + “です。”);// テンプレート文字列を使った場合
console.log(`私の名前は${name}です。`);
“`**アロー関数**
=>を使うことで簡潔に関数を定義できる“`
// アロー関数を使わない場合
const func1 = function(str) {
return str;
}// アロー関数を使った場合
const func2 = (str) => {
return str;
}
“`**分割代入**
配列やオブジェクト内のプロパティの値を楽に取得できる“`
// こういったオブジェクトがあるとする
const myProfile = {
name: 太郎,
ag
Metadataを刻みたい、日本語で
nem Advent Calendar 2021のn日目ですね。(n = 10)
近畿大学でブロックチェーンや秘密鍵周りのことを学んでいるいなたつです。
早速本題
Metadataなんか、SymbolWalletで見れないんだけど。。。日本語(全角文字)入れれないんだけど。。。
って全人類思ったことがあるかと思います。
## Metadataとは
アカウント、モザイク、ネームスペースに対してカスタムデータを関連付ける方法として、Symbolが提供するもの。
[詳しくはこちら](https://docs.symbolplatform.com/ja/concepts/metadata.html)
## プログラムでMetadataを付与する
[公式様](https://docs.symbolplatform.com/ja/guides/metadata/assigning-metadata-entries-to-a-mosaic.html)を見る。“`ts
const key = KeyGenerator.generateUInt64Key(‘TEST’);/
p5.jsの関数まとめ part.9 translate()
この記事は Qiita p5js アドベントカレンダー10日目の記事です。
## これはなに
p5.jsが用意している関数について理解を深める記事です。
今回はTransformのtranslate()について。## translate()
Shapeの位置を変更するために使われる関数です。
座標の開始地点が変わると言った方が正しいでしょうか。
また動的な引数を渡すことにより動きをつけることも可能です。### リファレンスより
> 表示ウィンドウ内のオブジェクトを移動する量を指定します。xパラメータは左/右の移動を指定し、yパラメータは上/下の移動を指定します。
変換は累積的であり、関数への後続の呼び出しが効果を累積した後に発生するすべてに適用されます。たとえば、translate(50、0)を呼び出してからtranslate(20、0)を呼び出すことは、translate(70、0)と同じです。場合変換()内で呼び出される)(ドローループが再び始まるとき、変換がリセットされます。この関数は、push()およびpop()を使用してさらに制御できます。(DeepL翻訳)**
世界を闇に変えましょう
## はじめに
皆様の日常に闇って足りてますか?
もちろん足りてませんよね。
では、闇を増やしていきましょう。## とりあえず黒を闇にする
あなたの目の前にあるのはなんでしょうか?
そうですね、ブラウザですよね。
まずはブラウザに表示される「黒」という文字を闇にしましょう。
黒という文字が書いてあるページ[^1]を開きおもむろに`F12`を押して`devtools`を立ち上げてください。
[^1]: このページでも大丈夫です。その後下のコードをコンソールに貼りつけて、`Enter`を押すと、黒という文字がすべて闇になります。
“`javascript
(()=>{const d=document;d.body.innerHTML=d.body.innerHTML.replaceAll(‘黒’,’闇’);})();
“``document.body.innerHTML`でページのHTMLを取得し、そのHTMLの中で`replaceAll()`で黒という文字を闇に入れ替えます。
アロー関数で上の操作をする関数を作り、`()();`で括って即時実行しています。![黒1.
Metaのロゴによく似た錯視をMATLABで書いてみた
# 前段のポエム
最近Facebookの会社名がMetaに変わりましたよね。![Facebook-meta-logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/93f0a0e6-f861-965b-ae46-c38bf8067e8b.png)
それによって
### これからはGAFAじゃなくてGAMA?
### いやいやFAANG→MANGAだよ
という議論が世界中で積算すると何十万回されたのではないでしょうか。一方僕はこのロゴをみてこう思いました。
### これ Dual Axis Illusionじゃね?
# Dual Axis Illusionって何よ
錯視界では超有名な錯視です。
毎年下記のWebページでその年の最優秀錯視コンテンストが行われているのですが、Dual Axis Illusionは2019年の最優秀錯視です。似てはいますが厳密にはちょっと違いますね。
でもなんだか掴みどころがないような不思議な雰囲気は似てますよね(こじつけ)http://il
マイクラプログラミング(統合版)いろいろやってみた[Scripting API/Functions/WebSocket/MakeCode]
# 概要
この記事は
[KLab Engineer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/klab)との10日目の記事です。こんにちはhamasan05です。
昨年に引き続きマイクラ(統合版)の記事です。
今年はマイクラでなんでもいいからゲームを一つ作ってみるということで作ってみました。マイクラ(統合版)には複数のプログラミング可能な環境が用意されており
同じゲームを複数のやり方で実装することにチャレンジしてみました。# どんなゲームを作ったか
マイクラのウィザーという裏ボスを出現させないようにするゲームです。
ウィザーには出現条件があり、その出現条件を満たさないように立ち回り
出現させてしまった人が負け、責任をもってウィザーを倒すという内容になります。動画
最新のhtml+javascript+cssにおける「真のカスタムエレメント」を考える
# やりたかったこと
ここ最近,`vscode`上で`markdown`をひたすら使い潰すためだけに色々とやってきているのだが(以下はこれまでの記事),https://soluna-eureka.hatenablog.com/entry/2021/11/15/130821
https://soluna-eureka.hatenablog.com/entry/2021/11/15/164830
https://soluna-eureka.hatenablog.com/entry/2021/11/30/044748
これまでの研究により`markdown pdf`の`extension.js`を書き換えることで任意の`.html`・`.js`・`.css`ファイルをプラグインとして利用できる環境を作れてしまうことが判明し,これに`katex`を混ぜることで概ね万能な数式の表示すら可能となった.
しかし大元の発端は「`latex`が面倒だから`markdown`を使おう」というものであり,つまるところ`latex`にある機能が`katex`さらにはそれが対応できる`markdow
JavaScript一人リファクタリング
この記事は[Ateam Hikkoshi samurai Inc. × Ateam Connect Inc. AdventCalendar2021](https://qiita.com/advent-calendar/2021/hikkoshizamurai-connect) 10日目の記事です。
本日の担当は引越し侍の@acc1ioです。# はじめに
最近業務でJavaScriptを書くことが減ってきてしまっており、少し鈍ってるのを感じたので復習がてら勉強したての頃に書いてたコードを今の自分で書き直したいと思います。
多少の改変はお許しください。
~~少しはマシになってるといいなぁー!!?~~### 一つ目
簡単なゲームを作った時のうちの一つの関数です。“`js
// before
var switchPlayer = function() {
document.getElementById(`current–${activePlayer}`).textContent = 0;
currentScore = 0;
activePlayer = act
(*゚▽゚)ノ((({})=>({})))()
オブジェクトがあって、
“`javascript
const obj = {
num:”1″,
name:”田中”,
class:”A”,
club:”soccer”
}
“`必要な項目だけ欲しいとき
“`javascript
const newObj = ((({num,class})=>({num,class})))(obj)
“`
Raspberry PiにNode.jsのインストールをして起動時に自動実行させるまで
[Node.jsアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/nodejs)の9日目の記事です。
ラズパイでNode.jsを動かすをたまにやりますが、久々に触った時に忘れてることが多いので久々に触る時用にまとめておきます。
[昔書いてた記事](https://qiita.com/n0bisuke/items/2c89610fd704e806c758)よりもシンプルでした。
ラズパイにNode.jsをインストール -> 永続化 -> 自動起動 みたいなところまでをやります。
## 事前準備
vimは使いたいのでインストールしておきます。
“`bash
$ sudo apt update -y
$ sudo apt upgrate -y
$ sudo apt install vim -y
“`## nodebrewでNode.jsのインストール
Node.jsをnodebrew経由でインストールします。
### nodebrewのインストール
“`bash
$ curl -L git.io/nod
Next2D NoCode ToolでJavaScriptを使う[上級編]
タイムラインで埋め込むJavaScriptはクロージャのローカル変数なので、別のフレームで埋め込んだJavaScriptでは変数にアクセスができません。
そこで、全てのDisplayObjectからアクセス可能な変数管理機能と、DisplayObject単体に格納できる変数管理機能を実装しています。
今日は変数管理を紹介します。# ローカル変数
固定のDisplayObjectにだけ変数を格納したい場合に利用します。
利用シーンとしては、個別のキャラクターのパラメーター管理などに利用してます。## getLocalVariable
ローカル空間から変数の値を取得します。
`key`は型で判定します。例えば`key`を`Number`の`0`で取得した場合と、`String`の`”0″`で取得した場合では戻り値が異なります。“`javascript
const value = this.getLocalVariable(key);
“`## setLocalVariable
ローカル空間へ値を保存します。“`javascript
this.setLocalVar
【Rails】escape_javascriptメソッド【jQuery】
## はじめに
本記事は、プログラミングの学習を始めて1ヶ月の初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。## 今回の疑問点
今回の疑問点は、_escape_javascriptメソッドについて_
です。以前、非同期通信でのコメント投稿機能を実装した際に上記について疑問を抱きました。
## 疑問点についての解説
###結論
JavaScriptファイルの中ににHTMLを記述するときに実行結果をエスケープするためのメソッド###エスケープ処理とは
エスケープ処理とは、記述したコードのままでは意図した通り表現できない文字列や改行を表現するために使用する、代替文字列処理のことです。
具体的には以下のような文字列を表すために使用します。
!”#$%&'()*+,./:;<=>?@[\]^`{|}~
上記に加え、半角の空白
上記は`\\`でエスケープす
Vuetifyで速攻でTodoアプリを作るチュートリアル
# 初めに
はじめましてKouと申します。
仕事でVuetifyを使う機会があったので備忘録と共有を含めて簡単なTodoアプリを作る方法を紹介します!これでVuetifyの便利さが伝わったらいいなという思いを込めていきます!
完成リポジトリ:https://github.com/KouWakai/VuetifyTodo
### 完成イメージ
これが大体30分くらいで作れます
![822e1060d6778fa606f510a0cb801a75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763385/ba17f265-64d0-d81b-a415-77d7cf3ec988.png)
# このチュートリアルで必要なもの
Vue-cliとVuetifyのcliパッケージのみです。
次の環境構築でインストール方法は解説します。
nodejsはOSによって違うのと先人がわかりやすいやり方を解説してくださっているのでそちらでお願いいたします以下リンクです。
・[nodejs](https
タグ名一覧
ライブラリ開発に役立ちそうなのでメモ
知らないタグがたくさんありますねぇ“`js
const HTML_TAG = [
‘a’,
‘abbr’,
‘address’,
‘area’,
‘article’,
‘aside’,
‘audio’,
‘b’,
‘base’,
‘bdi’,
‘bdo’,
‘blockquote’,
‘body’,
‘br’,
‘button’,
‘canvas’,
‘caption’,
‘cite’,
‘code’,
‘col’,
‘colgroup’,
‘data’,
‘datalist’,
‘dd’,
‘del’,
‘details’,
‘dfn’,
‘dialog’,
‘dir’,
‘div’,
‘dl’,
‘dt’,
‘em’,
‘embed’,
‘fieldset’,
‘figcaption’,
‘figure’,
‘font’,
‘footer’,
‘form’,
‘frame’,
Blazor with Intro.js
今回はチュートリアル機能を実装できる[Intro.js](https://introjs.com/)をBlazorアプリケーションに導入していきたいと思います:sunny:
**[Intro.js](https://introjs.com/)**
https://introjs.com/
**Intro.js Doc**
https://introjs.com/docs
実装例は GitHubのexampleが参考になります:metal:
https://github.com/usablica/intro.js
Intro.jsについては、いくつかの記事がありますので、そちらも参考にしてみてください:sparkles:
**Webでデモ・チュートリアルを簡単に作れる intro.js の導入方法** (@RyutaKojima さん)
https://qiita.com/RyutaKojima/items/00c497cd6131944429b1
**[Demo](https://blazorwithintrojs.firebaseapp.com/)**
http
REST APIをExpressで実装する際にrequestのスキーマvalidation・sanitizationをするには?
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n1ab6813fdcbc
**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**
async/awaitについて理解する
async/await、なんとなく知ってるけどなんとなく使い方が分からないまま放置してしまい今に至るので、自分で色々な書き方を試して理解を深めてみた。
以下例などはほぼ[MDN](‘https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await’)ですが、自分がMDN以外からも学んだ内容などをまとめて書いています。
①awaitは別に必須ではない
`async`キーワードなしに`await`は書けませんが、`await`なしで`async`をつけることはできます。(MDNの言う通り、実際何も必要がないものを待ってもasync/awaitを付ける意味がないけど)ちなみに知っての通り`await`は待ちが入るので、以下のメソッドを実行すると`test1`の実行結果が出てきます。
“`index.js
async function test1() {
return “hello”
}async function test2() {
return await “
ReactでStateの更新がうまくいかないなと思った時に疑ってみて欲しいこと
## はじめに
この記事はJSL(日本システム技研) Advent Calendar 2021の記事です。
Reactで「なんかStateの値が意図したのもと違うんだけど!?」と思った時に読んでほしい記事になります。
1年目のペーペーですが、少しでもuseStateの挙動の理解の助けになれば幸いです。## そのStateの更新関数、複数回呼ばれていないですか?
結論から言いますと、一回の処理の中で複数回Stateの更新関数がよばれているため、Stateの値が意図した値と異なっている可能性があります。
なぜ複数回Stateの更新関数が呼ばれるとStateの値が意図したものと異なってしまうのでしょうか?
というのをもったいぶって以下で説明します。(この章いらんかったかもしれない)## Stateの更新関数が複数回呼ばれた時の挙動
例として、Reactを学んだことがある人なら1度は見たことがあるようなありがちなサンプルで説明します。
![ezgif.com-gi
「新たなレモンサワーが見つかる!出逢える!」LINE Botで製作開始vol.1
**現在、大好きなレモンサワーを起点にしたユーザーと飲食店をつなげるアプリを企画中です。**
1か月ほど前にnote記事にしましたので、是非ご覧ください。
https://note.com/tanakahiroki0128/n/nedfa1acffe5b
と意気込んで企画したは良いものの、スケールを大きくし過ぎたことで絶賛迷走中ですので、企画を身の丈にあったものに修正中!
まずは、第1段階のステップとして、
:::note info
・ユーザーがレモンサワーの情報を投稿できる
・投稿されて蓄積されたレモンサワーの情報からお近くのお店を探せる
・投稿されたレモンサワー情報を集約するWEBサイト
:::の3点を表現できるものをLINE Botで作ろうと思います。
##プロダク