2025-04-06から1日間の記事一覧

Lispのマクロ

1. マクロの定義 2. マクロの呼び出し 3. マクロの中での式の評価 &bodyキーワードの使い方 ,@スプライシングコンマの使い方 macroexpandコマンドでデバッグする Lispのマクロは、プログラムの実行時にプログラム自体を操作するための強力な機能です。マクロ…

コンスセルとリスト

コンスセルとリスト 次のコード'(1 2 3)は、Lispのリストを表しています。リストは、Lispで最も基本的なデータ構造の1つであり、要素の順序付きコレクションです。 Lispのリストは、コンスセル(Cons Cell)と呼ばれる構造体で構成されています。 コンスセル…

Terraform 1.11の新機能

tag:auto 参考 : https://zenn.dev/cloud_ace/articles/terraform-cli-1-11-0-update Terraform 1.11 の主な変更点 新機能 write-only attributes (書き込み専用属性) がリソースに追加されました terraform test コマンドで -junit-xml オプションが一般提…

関数型プログラミングとは何か?【Land of Lisp】

関数型プログラミングとは何か? 副作用について サンプルコード 高階プログラミング 関数型プログラミングのメリット バグが少なくなる 数学に近い lispが高い評価を受けていたのは、研究の道具として計算機科学の世界で最も複雑な種類の問題を解くために使…

Lispの配列とリストの違い

lispで配列を作成する方法 Lispで配列を作成するには、make-array関数を使用します。例えば、次のようにして3x3の整数配列を作成できます。 (setq my-array (make-array '(3 3) :initial-element 0)) ここで、'(3 3)は配列の寸法を指定し、:initial-element…

lispのloopの使い方

Lispのloopコマンドは、反復処理を行うための非常に柔軟なコマンドです。以下は、基本的なloopコマンドの構文です。 (loop [var1 init1 step1] [var2 init2 step2] ... [finally result] body...) ここで、var1、var2などの変数は、反復処理中に使用する変数…

lispの連想配列の使い方【alist,参照,追記,編集,削除】

Lispにおいて、連想配列はalist(Association List)と呼ばれます。alistは、リストの要素がキーと値のペアで構成されており、キーに対応する値を返すことができます。 6802418398342392905以下に、alistを使った参照、追記、編集、削除するための構文とサン…

lisp lambdaの使い方

lispのlambda関数の使用方法 Lispのlambda関数は、匿名の関数を定義するために使用されます。これは、他の関数に引数として渡すことができます。 lambda関数は、次のように書式化されます。 (lambda (arg1 arg2 ...) body) ここで、arg1、arg2、...は、引数…

Lispのandとorの使い方

andの使い方 andの短絡評価 orの使い方 lispで「偽」と判定されるもの Lisp言語において、andとorは論理演算子です。以下にそれぞれの使い方を説明します。 andの使い方 andは、引数の全てが真である場合に真を返します。以下は、andの使用例です。 ; x, y, …

lispのif文の使い方【cond,whe,unless,progn】

lispのif文の使い方 lispのif文の特殊性 lispのprognの使い方 whenとunlessとcond when unless cond lispのif文の使い方 Lispのif文は以下のように使われます。 (if 条件 式1 式2) この式は、条件が真である場合は式1を評価し、条件が偽である場合は式2を評…

Lispのlistの使い方【cons,car,cdr,list】

cons 構文 サンプルコード 注意点 car car構文 carサンプルコード car注意点 cdr cdr構文 cdrサンプルコード cdr注意点 list list構文 listサンプルコード list注意点 Lispはリスト処理に特化したプログラミング言語であり、cons、car、cdrはリストを操作す…

Lispのコードモードとデータモードの違い

コードモード データモード Lispには、コードモードとデータモードの2つのモードがあります。これらのモードは、LispのREPL(Read-Eval-Print Loop)で使われることが多く、Lispの開発環境での開発に役立ちます。 コードモード コードモードは、Lispのコード…

Lisp 関数の使い方

グローバル関数 1. 概要: 2. サンプルコード 引数をとらない場合 引数をとる場合 3.命名規則: 4. その他注意事項: ローカル関数 グローバル関数 1. 概要: Lispでは、defunという特別な形式を使って関数を定義します。defunは、関数名、引数、本体といっ…

Lispで変数宣言する方法

Lispで変数を定義する 1.defparameter:可変なグローバル変数 2.defvar:不変なグローバル変数 3.let:ローカル変数 データ型 Lispで変数を定義する Lispでは、変数を定義するために「defvar」、「defparameter」、「let」の3つの方法があります。 1.defparamet…

この記事ではlispの開発環境を10秒で完了させる方法について解説します。 ですが、以下の製品がすでにインストールされていることが前提です。 docker docker-compose git LispをDockerコンテナで動かす方法 結論:以下のコマンドを打つだけで開発環境の構築…

Terraformで管理されていないAWSリソースを検知する

IaC化されていないリソースをdriftctlで検知する インストール方法 dockerで動かす brewでインストール サンプル 参考 : https://zenn.dev/gosarami/articles/dd938001eac988e44d11 以下は、綺麗にフォーマットされた文章です。 IaC化されていないリソースを…

Terraformで複数のAWSリージョンを使う

複数のAWSリージョンを使うケース ほとんどのクラウドプロバイダは世界中のデータセンタ(リージョン)に対してデプロイができます。 Terraformプロバイダを設定する際には、通常はどれか一つのリージョンを選択します。 例えば、通常は日本のAWSを利用するプ…

Terraformのシークレット管理

アプリケーションがある程度成長したときに、あなたの管理するソフトウェアにはシークレットキーが発生します。 ex) DBのパスワード、APIキー、SSHキー これらの情報は機密データであり、クラッカーから守らなければならない情報です。 この章ではこれらの情…

Terraformにおける環境の分離は、いくつか手段があります。

Terraformにおける環境の分離は、いくつか手段があります。 ワークスペースの分離 ファイルレイアウトによる分離 ワークスペースによる分離は環境間の完全な分離を保証できません。 バックエンドが同じリソースを使用してしまう(AWSであれば同じS3バケット…

Terraformスタイルガイド

Terraformコードスタイル一覧 Terraformのコードフォーマット 各ネストレベルには、2つのスペースのインデントを推奨します。 引数の値はタブを使用して高さを揃えましょう。 引数とブロックの位置 メタ引数の コード検証 ファイル名 コメント リソース命名…

Terraform movedブロックによる、stateの移動

tag:auto Terraform movedブロック 使用方法 想定ケース Terraform移動ブロック 参考 : https://spacelift.io/blog/terraform-moved-block Terraform movedブロック Terraform movedブロックは、バージョン1.1.0以降で導入されたブロックです。 このブロック…

Terraformのステート管理

Terraformはapplyを実行するたびに、以前作成したリソースを見つけて更新することができます。 この時、TerraformはState管理と呼ばれる方法でクラウドに存在する自身が管理しているリソースを見つけています。 Terraformステートとは ステートファイルを共…

terraformのimportブロック

tag:auto Terraformのインポートブロック インポートブロックの利点 インポートブロックの構文 例:Terraformのインポートブロックを使用してS3バケットをインポートする 参考 : https://spacelift.io/blog/terraform-import-block Terraformのインポートブ…

TerraformのState管理にDynamoDBが不要になる

新しい State Lock を試す State Lock の確認 必要なIAM権限 参考 : https://zenn.dev/terraform_jp/articles/terraform-s3-state-lock Terraform v1.10 から S3 Backend の State Lock に DynamoDB が不要になる Terraform v1.10 から、S3 Backend の設定に…

Ephemeral Resourceで一時的なリソースを作成する

tag:auto 概要:Ephemeral Resource 変数のオプションにもephemeralを使える 参考 : https://zenn.dev/cloud_ace/articles/91328a88d8d546 概要:Ephemeral Resource Ephemeral Resource で Terraform State ファイルを守る はじめに Terraform では、State フ…

ローカル値について【Terraform入門】

ローカル値の宣言 ローカル変数の呼び出し ローカル値の使い所 Terraform入門(トップに戻る) Terraform入門 参考 : https://developer.hashicorp.com/terraform/language/values/locals ローカル値はモジュール内で繰り返し使用する値に名前を割り当てるこ…

outputの使い方とオプション【Terraform入門】

Terraformのoutputsとは 出力値の定義 親モジュールから子モジュールにアクセスする オプション カスタム条件チェック description sensitive Terraform入門(トップに戻る) Terraform入門 参考 : https://developer.hashicorp.com/terraform/language/valu…

Terraformの入力変数について

変数宣言 変数ブロック デフォルト値 型 Documentation Validationチェック sensitive Terraformがsensitiveな変数を表示するケース Null許可 変数の使用 変数の上書き -varオプションで設定 Variable Definitions (.tfvars) Files TF_VAR_環境変数の定義 Te…

for_eachの使い方 【Terraform】

for_each構文とは eachオブジェクトについて Terraform入門(トップに戻る) Terraform入門 参考 : https://developer.hashicorp.com/terraform/language/meta-arguments/for_each for_each構文とは for_eachは、Terraform言語で定義された文法です。モジュ…

countの使い方 【Terraform】

terraformのcountの使い方 The count Object countで作成されたオブジェクトを外部から参照する countではなくfor_eachを使うべきとき 問題点 改善案 Terraform入門(トップに戻る) Terraform入門 参考 : https://developer.hashicorp.com/terraform/langua…

Dear My Frends.: 個人開発宣伝ラボ - 個人開発者が間違った施策で時間を溶かさないための、心理学と実務知見のナレッジ共有コミュニティ