' P '

whatever I will forget

JavaScript

JavaScript やはりまだ理解できていない点のまとめ

アロー変数とthisのスコープの違い クラス内のメソッドからのfunction(関数)ではthisでオブジェクト内の変数は参照できない. そもそもJavaScriptにおけるfunction と methodの意味を理解する. functionは、functionと定義されている、いわゆる関数. methodは…

JavaScript Developer 復習メモ

NaNとは 数値ではない、特別な値. isNaN()でNaNかどうかを調べることが可能. Number.isNaN(NaN)の場合は、引数がNaNである場合のみ、trueが返される. Object.is(value, NaN) 型変換 console.log(true + 3 + '100' + null); // 4100null Includes() 第2引数に…

JavaScript タグ付きテンプレートリテラル

関数呼び出しに使用するケース 関数名this is a {$sample}`みたいなことができる. 関数側の引数は、1つめの変数に文字列がセットされる. let person = 'Mike'; let age = 28; function myTag(strings, personExp, ageExp) { let str0 = strings[0]; let str1…

JavaScript グローバル変数

グローバル変数について すべてのJavaScriptの実装環境は必ず一つグローバルオブジェクトを持たなければなりません. Webブラウザでの実装の場合windowが、Node.jsの場合はglobalがグローバルオブジェクトとなります. 問題 (() => { let x = (y = 10); })(); …

JavaScript 値渡しと参照渡し

前提1 - 値渡しと参照渡し 値渡し: コピーされるので元の値を変えてもコピー先は影響をうけない. 参照渡し: コピーされないので元の値を変えるとコピー先も値が変わってしまう. 前提2 - JavaScriptにおける値渡しと参照渡し しかしそもそもC言語のものとは違…

Certified JavaScript Developer Browser and Events Section

Browser and Events Document.cookie Documentには、Cookieを読み書きできるCookieプロパティが含まれています document.cookieを使用すると、ドキュメントに関連付けられているすべてのCookieのセミコロン分離リストを取得します 「key = value」の形式でdo…

Certified JavaScript Developer Debugging and Error Handling Section

Debugging and Error Handling | Breakpointの種類 Function Breakpoint 使用すると、特定の関数が呼び出されたときにコードを一時停止することができます このBreakpointを使用するには、debug(functionName)関数を呼び出します。functionNameは、debug(get…

Certified Javascript Developer Asynchronous Programming Section

Asynchronous Programming Call stack コードが実行されるとき、必ずコールスタックが使われます. これは単に、実行中の関数とその後に実行される関数を記録しておくメモリ上の場所です. コールスタックは「先入れ先出し」方式を採用しています. Callback Qu…

Certified Javascript Developer Server Side JavaScript Section

Server Side JavaScript package.json package.jsonファイルは、他の人がアプリケーションを管理したりインストールしたりするのを簡単にするために、アプリケーションに追加されます. 他の開発者が自分のシステムにアプリケーションをインストールしたい場…

Certified Javascript Developer Testing Section

Date.prototype.getMonth() 返却値は数値。そして0始まりとなるので、JanuaryのDate型が渡された場合は 0が返されるので注意. const moonLanding = new Date('January 20, 69 00:20:18'); console.log(moonLanding.getMonth()); // (January gives 0) develo…

Certified Javascript Developer Objects, Functions, and Classes Section

Objects, Functions, and Classes Decorator → 試験にはでない デコレータとは、既存の関数をラップし、その動作を拡張するラッパー関数のこと. ascii.jp クラスメソッドの装飾に使用するデコレーター関数には、3つのパラメータが渡されます. 最初のパラメー…

Certified Javascript Developer Variables, Types, and Collections Section

Variables, Types, and Collections JSON & JavaScript Object JSON.stringify() JavaScript Object から JSON Formatに変換. ちなみに、関数がはいっているような場合は、nullになる。 JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] }); …

Lightning Web Component 値が入力できるページを作る

前提 SFDXを使用 特にデータ更新などはなく、単純なHTML & JSのみの作成 手順 force-app/main/default/lwc にて Create Lightning Web Componentを選択 HTMLファイルを下記に編集 <template> <lightning-card> <lightning-input type="number" label="Annual Revenue" formatter="currency" value={annualRevenue} onchange={handleChange}> </lightning-input> </lightning-card></template>

node.jsでSlack Appを作って遊ぶ

はじめに. Slack側の設定 api.slack.com 上記からCreate Appする。from scratchを選択でOK. App Nameや使用したいWorkspaceを入力. Socket ModeをONにする(Internal Workspaceだけで使用する場合はね). App-Level Tokensを作成する. イベントの設定. Event…

node.js csv読み込み

やり方 コードのコメントを参照。 'use strict'; // Node.jsのファイルストリームモジュールを呼び出す const fs = require('fs'); // Node.jsのファイルを一行ずつ読み込むモジュールを呼び出す const readline = require('readline'); // csvファイルからS…

Lightning Web Components 概要

Visualforce との違い Visualforce クライアントからリクエストあがあると、サーバーがRenderingし、HTMLをクライアントに出力する UIが変更された場合(URLリンクをクリックされた場合など)、再度サーバーにリクエストを送って新しいページをクライアント…

JavaScript ES6 メモ

以前使ってた時はES5だったので随時追加式メモ スコープ 当たり前ではあるが一応 var myVar = 1; function myFunc() { var myVar = 2; console.log(myVar); // 2 } myFunc(); console.log(myVar) // 1 function内は2になって最後のconsole.logは1になります…

Auraコンポーネント コントローラー

コントローラーとは? 基本的にコードのコレクションであり、「何かが実行された」ときのアプリケーションの動作を定義する LightningコンポーネントとMVCモデルとの違い LightningコンポーネントはView-Controller-Controller-Model もしくは View-Controll…

パスワードのHash化

セキュリティにて大事なパスワードのHash化のやり方 Hashアルゴリズム MD5は古いから使わない(衝突困難性の面でリスクあり→同じHash値が生成される可能性あり) SHA, bcryptoアルゴリズムの使用を推奨 パスワードのhash化 モジュール: htpasswd をインスト…

Node.js でサーバーの応答にてhtmlを表示させる方法

下記コードをindex.jsに記述する. 'use strict'; const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); res.write( '<html lang="ja"><body><h1>Displaying HTML/h1></body></html>' ); res.end();…

JavaScript Promiseオブジェクトと非同期/同期処理(async, await)

Node.jsでは基本非同期処理が主になっている。 同期処理を行いたい場合もあるけど重い処理を待たせて同期処理を敢えて行う必要はないので、 例えば、データベースから情報を取得する、APIをコールするなどは非同期でやるべき。 重い処理は非同期にしてその内…

Javascript アロー関数

めっちゃいつも混乱することがあるのでメモ まずはアロー関数の書き方 JavaScriptでは、下記がアロー関数になります 普通 const a = function(a,b,c) { // peronperon } アロー関数 const a = (a,b,c) => { // peronperon } 下記は、下記にも記述したけど、…

Javascript JSDocを作るショートカット

VS Codeとかを使っているなら、 /** と書いてenterを押せば、JSDocのコメントが挿入できる。 参照 pleiades.io 頻繁に書くもの @param どんな引数を使うのか @return どんな変数がその関数によって返されるのか

JavaScript map関数

概要 map 関数は、 Array の要素それぞれを、与えられた関数を適用した内容に変換するというもの 使い方 配列の場合 下記のようにすれば、配列の要素が[1,2,3]だった場合、2,4,6になります。 array.map(i => { return i * 2; }); 連想配列の場合 [key, data]…

JavaScript 連想配列のデータをsortする

連想配列にある何かのデータをsortするときのやり方。 前提 例えば、下記連想配列dataMapに、aをキーとして, b,c,numというデータがあるとします。 やりたいこと 各キーが持っているnumの値を、値が大きい順(降順)に並び替えたい const rankingArray = Arr…

JavaScript 連想配列とfor of

概要 連想配列にある値を使って何か計算(変更)し、新しい値としてキーに追加したい場合のやり方。 やり方 まずは、定義した連想配列から取得した値(value)がundefinedの場合、初期化しておく。 その後、条件に当てはまる値があればをmapからgetとした値(va…

Javascript ランダムな文字列を作成する

10桁の適当な文字列を作りたい場合 やりかた とりあえずMath.floor(Math.random() * charset.length)を使えば、元々の文字列セットから適当に選んで作ってくれる。 const length = 10; const charset = 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRS…

JavaScript URIのクエリをobjectに格納する

やりたいこと POSTで取得したURI情報(decode済)の文字列を配列にぶっこみたい querystringのモジュールを使う URIの生情報をdecodeURIComponentにてStringに変換後、 parse()メソッドにてstringを配列に変換できるらしい. ちなみにURIの変換後データはname…

JavaScript 配列が空かどうか判定する

基本的には var arr = [1,2,3]; if(arr.length != 0) { // } でいいはず。よく考えたらJavaと同じか... 参考 stackoverflow.com

JavaScript filterとmap関数を使ったArrayの作り方

JavaScriptの記法に混乱させられます... filterとmapを使って条件に対するデータのみ抽出し、map関数にて新しい配列として作る const array = new Array(); // @param string data function addProp(data) { array.push(name: data, valid: false); } functi…