echo("備忘録");

IT技術やプログラミング関連など、技術系の事を備忘録的にまとめています。

JavaScript

【JavaScript/MySQL】Falsyな値の扱い

はじめに 今回は、プログラミング言語のいわゆる「Falsyな値」について、JavaScriptとMySQLにおける扱い&注意点についてです。 前提:「Falsyな値」って? Falsyな値とは、下記のような値を指します。 空文字 0 false null undefined 表現が難しいのですが「…

【JavaScript】ES2022で正式採用される機能について

本題 JavaScriptの仕様であるECMAScript(=ES)について、そろそろ最新版のES2022が承認される、というのをICSさんのブログ(「参考サイト」参照)で知りました。 なので今回は、ES2022で正式採用される機能について、コード例を挙げて説明したいと思います。 な…

【JavaScript】数値に関する謎(?)挙動について

はじめに 前回まで、Git管理やバージョニングについて記事にしましたが、今回は一転してみんな大好き?JavaScriptの話です。 最近ちょっとSNSで話題になってた、JavaScriptの数値に関する謎?挙動についてです。 アジェンダ parseInt()の挙動 「+」「-」に関…

【Vue.js】Storybookでコンポーネント開発を便利にする

はじめに 今回もVue.jsネタを。(本当はもっとAWSやServerless Frameworkなどバックエンド的なネタを書きたい。てか仕事でもそうしたい...) 最近、フロント側を触る機会があるのですが、コンポーネントベースでの開発(いわゆる「コンポーネント駆動開発(CDD)…

【Vue.js】v-forループでduplicated key警告が出る場合の対処法

※ 2021/12/10 19:00 一部内容を訂正しました はじめに 前回に続き、今回もVue.jsネタを。 配列などの値を<template>内で表示する場合、v-forなどのループを用いることは多いと思います。 そしてその際、配列のキーとなる値(≒key)が重複している値があると「duplicated </template>…

【Node.js】Node.js version16の新機能 その2(Sleep機能)

はじめに 先日(2021/6/28)、「Node学園 36時限目 オンライン」というイベントで「Node16の新機能の紹介」という内容で発表させて頂きました。(視聴&リアクションくださった方々、ありがとうございました) nodejs.connpass.com その中の発表資料でSleep機能(…

【Node.js】Node.js version16(ES2021)の新機能 ※2021/6/26更新

はじめに 2021年4月に、Node.jsのversion10がサポート終了となり、AWSからも「Lambdaのバージョンを更新してください」という案内が来てました。 そして、それと同じタイミングでversion16がリリースされました。 今年の10月にステータスがActiveになります…

【Node.js】ES2020仕様の便利な機能

はじめに つい先日(2/3)、AWS LambdaがNode.js 14のサポートを開始しました。 AWS Lambda が Node.js 14 のサポートを開始 Node.js 10が4月末でEOL(新規Lambda作成は3月末くらいまで)になるので、このタイミングでNode.js 14(または12)への移行を検討してい…

【Jest】SpyOnで関数のMock化ができない場合の対処

概要 JavaScriptのソースを単体テストする際、Jestを使っている人も多いと思います。 jestjs.io で、ある関数のテストをする際に、その関数が呼ぶ別の関数を一時的にmock関数にしたい場合があります。 Jestでは、それをspyOn()というメソッドを使うことで実…

【JavaScript】非同期処理(async/await)に関するちょっとしたTips

はじめに 新年あけましておめでとうございます。(もう1/25だけど) 去年もいろいろありましたが、今年も正月休みも終わり、そろそろ平常運転にも慣れてきたので、ブログの方も開始しようと思いました。 で、新年一発目のネタですが、最初は安定のServerless F…

【JavaScript】awaitの使い方を復習する

はじめに JavaScriptの非同期処理(Promiseとかasync/await)について、今年の1月に、下記のブログを書きました。 makky12.hatenablog.com が、最近AWS Lambdaの非同期処理をJavaScriptで書いていて、ちょっとこんがらがってしまったことがあったので、備忘録…

【Serverless Framework】メモリ不足でデプロイができない場合の対処方法

概要 Serverless Frameworkでパッケージングやデプロイを行う際に、メモリ不足で失敗することがあります。その場合の対象方法です。 serverless.com 現象 先日、業務で開発したサーバーレスSPAをServerless Frameworkでデプロイしようとしたら、パッケージン…

【JavaScript】「とりあえずawait」は卒業しよう

概要 先日、非同期処理に関して、下記のようなツイートをしました。 ・非同期処理A〜Cの3つ・全て成功した場合のみ処理Dを実行・A〜Cは依存関係なし上記ケースで、お約束かのようにawait Aawait Bawait Cと書く事がないように、若手を指導しなければなあ。— …

【Vue.js】子コンポーネントの埋め込み方法+各種プロパティ設定方法(2021/12/03:一部加筆修正)

経緯 最近、仕事でVue.jsを触っており(AWSによるサーバーレスSPA)、何とか一週間で他のメンバが開発をできる土台(フレームワーク的なもの)をVue.jsで作成する...程度はできるようになりました。 その中で、コンポーネント(*.vue)の扱いでよく使いそうな、子…

【Javascript】非同期処理の待ち時間にアニメーションを表示する

概要 Webやスマホアプリで、何か非同期処理を行っている際に画面に表示される、くるくる回ったりするアニメーション(正式にはなんていうの...Xamarin.Formsの「Activity Indicator」です)を表示する方法です。 作成方法 まず「画像はどうするの」となります…

【Javascript】非同期処理のPromiseやasync/awaitについて その2

前回はPromiseについて書きましたが、その続きで今回はasync/awaitについて。 【参考】 async/await 入門(JavaScript) asyncとは 非同期関数を定義する関数宣言のこと。 async関数は、以下の動作をする。 Promiseを返す 値をreturnすると、Promiseはそれを…

【Javascript】非同期処理のPromiseやasync/awaitについて その1

Promiseについて Promiseとは、 非同期処理を制御するためのしくみ ES2015以降で使用可能 メリット その1. コードが簡潔になり、見やすくなる。(個人差あり) 例えば、非同期関数func1〜func3があったとして、下記の制約がある場合、 func2はfunc1の結果が必…

【TypeScript】TypeScriptのインストールと各種環境設定

現在仕事でnode.jsを使用しており、「勉強も兼ねてTypeScriptを導入しよう!」と思い導入したので、その際のメモ。1 前提 開発環境はVisual Studio Code。(visual Studioでも出来ますが) node.jsとnpmを事前にインストールしておく。(どちらもnode.jsのイン…

knockout.jsでMVVMを実装 その1

4月から新しいプロジェクトにアサインしたのですが、早くも「C#やれるって話だったのに全然やれないじゃん!話が違う!」みたいな事になってます…でも「Xamarinやりたい!XAMLみたいにMVVMやりたい!」とか思ってたら、(C#ではないですが)「knockout.js」…

JavaScriptで動的なバリデーション表示

オレは会社をやめたぞ!ジョジョーーッ!という訳で、今まで色々書いてきた会社のことですが、とうとう辞めました。 今まで色々あったのですが、「こんな奴の下にずっといたら、絶対ダメになるな…」という決定的なことがあったので、案の定「辞めてもらって…