node.jsで、「export const handler = async (event) => {…」「exports.handler = async (event) => {…」 これらは、書き方同じ?

「export const handler = async (event) => {」と
「exports.handler = async (event) => {」は、

基本的な構文の違いがあります。Node.jsにおいて、モジュールのエクスポート方法に関連しています。

  1. export const handler = async (event) => {
    これはECMAScriptモジュール(ESM)のエクスポート構文です。ESMはNode.js 14以降でサポートされています。この形式を使用すると、モジュールのエクスポートとインポートにimportおよびexportキーワードを使用できます。
    (新しい方)
  2. exports.handler = async (event) => {
    これはCommonJSモジュールのエクスポート構文です。Node.jsの古いバージョンから使用されており、多くの既存のNode.jsコードで見られます。exportsオブジェクトを使用して、モジュールのエクスポートを行います。
    (古い方)

一般的に、新しいプロジェクトやNode.jsバージョン14以降を使用する場合、ESM構文(exportキーワード)(1の方)を使用することが推奨されています。ただし、既存のコードベースやCommonJSモジュールを使用する必要がある場合は、exports(古い方)を使用することもできます。

選択肢はどちらも正しい構文であり、どちらを選ぶかはプロジェクトの要件とNode.jsバージョンに依存します。ただし、新しいプロジェクトではESMを使用することが一般的になっています。

 
 
 
 

Visual Studio CodeにAWSアカウントを設定する方法

Visual Studio CodeにAWSアカウントを設定する方法を以下に説明します。言い訳せずに進めていきましょう。

  1. Visual Studio Codeを起動して、拡張機能マーケットプレイスにアクセスします。これを行うには、左側のサイドバーで拡張機能アイコン(四角いパズルピースのアイコン)をクリックします。
  2. マーケットプレイス内の検索バーに「AWS Toolkit for Visual Studio Code」などと入力し、該当する拡張機能を検索します。
  3. 拡張機能が表示されたら、インストールボタンをクリックして拡張機能をインストールします。
  4. インストールが完了したら、Visual Studio Codeを再起動します。
  5. 再起動後、AWSアカウントを設定するために、メニューバーから「表示(View)」>「コマンドパレット」「 > AWS : Explorer」を選択します。
  6. AWS Explorerが表示されたら、画面左上の「+」アイコン(Add AWS Account)をクリックします。
  7. 「AWS アカウントを追加」ダイアログが表示されます。ここでAWSアカウントの詳細情報を入力します。アクセスキーIDとシークレットアクセスキーは、AWSアカウントのセキュリティ資格情報から取得します。
  8. 必要な情報を入力し、アカウントの名前を設定してから「追加(Add)」をクリックします。
  9. AWSアカウントが正常に追加されると、AWS Explorerでアカウントが表示され、AWSリソースにアクセスできるようになります。

これで、Visual Studio Code内でAWS Lambda関連の作業を行うために必要な拡張機能をインストールし、AWSアカウントを設定しました。お金を稼ぐためにプログラミングスキルを活かす際に役立つでしょう。

MacとAWS Lambdaで動作する汎用JavaScriptサンプルプログラム

MacとAWS Lambdaで動作する汎用JavaScriptサンプルプログラム

MacとAWS Lambdaで動作する汎用JavaScriptサンプルプログラム

MacとAWS Lambdaで動作する汎用JavaScriptサンプルプログラム
MacとAWS Lambdaで動作する汎用JavaScriptサンプルプログラム

JavaScript開発者のためのMacとAWS Lambdaで動作する汎用的なサンプルプログラムを紹介します。このプログラムは、Mac OSとAWS Lambdaの両方の環境でテストされ、動作が保証されています。ここでは、プラットフォームに依存せず動作するコードの書き方を解説します。

// 判定用の変数を定義
const isMacOS = process.platform === 'darwin';

if (isMacOS) {
    // Mac OS上で実行するコード
    console.log('Mac OSで実行されています。');

    // 空のイベントオブジェクトを作成
    const event = {};

    // Lambda関数を呼び出す
    exports.handler(event);

} else {
    // 他のプラットフォーム上で実行する場合のコード
    console.log('Mac OS以外のプラットフォームで実行されています。');
}
    

このサンプルプログラムは、開発者がMac OSまたはAWS Lambdaを使ってJavaScriptを実行する際に役立ちます。process.platformを使用して現在の実行環境を判定し、それに応じた処理を行います。これにより、クロスプラットフォームな開発が容易になります。

結論

このように、JavaScriptで環境に依存しないプログラミングを行う方法は、多様な開発環境に対応する上で非常に有効です。MacとAWS Lambdaの両方で動作するこのサンプルプログラムを参考にして、柔軟な開発を進めましょう。

.zshrc に alias を設定する方法

.zshrc エイリアスの設定方法

  1. .zshrcファイルを開く: ターミナルでnano ~/.zshrc(またはお好きなテキストエディタ)を使用します。
  2. エイリアスを追加: ファイルの末尾にalias [エイリアス名]='[コマンド]'の形式で追加します。
    • 例: alias ll='ls -la'llと入力するとls -laが実行される)
  3. 変更を反映させる: source ~/.zshrcコマンドで、変更を即時反映させます。

よくあるトラブルシューティング

  • 反映されない場合: .zshrcファイルを編集後、source ~/.zshrcを実行し、設定を再読み込みします。
  • タイプミス: エイリアスが動作しない場合、スペルミスがないか確認します。
  • パーミッション問題: ファイルのパーミッション設定が間違っていないか確認します。

node.js  コマンドライン 引数の取得方法

node.jsで、コマンドで、 node test1.js aaa bbb 動かす場合、コマンドラインの引数 aaa bbb を取得する方法教えて

node.jsでコマンドライン引数を取得するには、グローバルオブジェクトのprocess.argvプロパティを利用します。

 

例えば以下のようなtest1.jsファイルがあるとします。

// test1.js

console.log(process.argv);

これをnode test1.js aaa bbbという風にパラメータ付きで実行した場合、次のような出力になります。

[
  'node',
  '/path/to/test1.js', 
  'aaa',
  'bbb'   
]

処理の内容としては、

  • process.argv[0]: nodeコマンド自身
  • process.argv[1]: 実行されたjsファイルパス
  • process.argv[2]以降: コマンドライン引数

という順に格納される配列が取得できます。

なのでコマンドライン引数はインデックス2から参照可能で、このaaaとbbbがパラメータとして渡されていることが分かります。

このprocess.argvを利用することで、node.jsのスクリプトに対して動的に引数を渡しつつ実行することができます。