Asa Tech Blog

学んだことを備忘録として残しています

GPT4で自分の勉強したい技術要素を使ったチュートリアルを作る

こんにちは。 最近、AI の進歩は本当にすごいですよね。 ChatGPT などの便利なツールが出てきて、私も毎日使っています。 私が 4 月に入った現場では、AWS を使ったサーバーレスアプリケーションの開発を行っています。ただサーバーレスは、私にとって新しい…

GPT4が作成してくれたAWS Serverless TODOアプリケーションを作成するチュートリアル

シンプルな TODO アプリチュートリアル このチュートリアルでは、シンプルな TODO アプリケーションを作成します。技術要素としてバックエンドには AWS SAM, API Gateway, AWS Lambda, DynamoDB, Node.js を、フロントエンドには React.js を使用します。 目…

solidity 関数の修飾子とは?

関数の修飾子とは solidityの関数の修飾子には、viewとpureがある。これは、簡単に言うと関数の働きを示すものである。 view データの読み取りは可能だが、保存されているデータを変更することはできない。 ` uint num = 1; function getNum() private view …

Solidityのアクセス修飾子について

Solidityには、4つのアクセス修飾子が存在しています。 1. public publicで定義された関数や変数は、同コントラクト内・継承したコントラクト・コントラクト外部からの呼び出しに対応しています。 つまり、どこからでも呼び出し可能ということです。 関数へ…

solidity学習 備忘録②

関数の書き方 solidityでは関数の宣言は次のようにfunctionキーワードを使う。 注:グローバル変数と区別をつけるために、関数パラメーター変数名はアンダースコア(_)をつけるのが通例(必須ではありません)です。 // ゾンビを作成する関数 function create…

solidity学習 備忘録①

構造体とは 複数のデータをまとめた箱のようなもの。 構造体を使えば、複数のプロパティを持つ複雑なデータ型を作成することができる。 struct Zombie { string name; uint dna; } 固定長配列とは 固定長配列とは、入れることのできる数が決まった配列である…

CryptoZombiesでsolidityを学ぶ

CryptoZombiesというsolidityを学ぶwebサイトがあり、面白そうだなと思い、利用し始めました。 cryptozombies.io solidityとは 最初に、solidityとはそもそも何かということを、公式サイトで確認しました。 Solidityは、スマートコントラクトを扱えるオブジ…

Promise.allとPromise.allSettledの違い

大量のメール送信処理などで、非同期処理を複数実行する必要がある場合に、効率的に並列で実行できるメソッドとしてPromise.all()があります。 Promise.allを使う中で、もしかして、途中で失敗する非同期処理があったら、すべて処理が実行されなくなるのでは…

なぜReact propsをスプレッド演算子で渡すことができるのか?

通常、JSXでComponentにprops を渡す場合、下のように書ける。 const props = { hoge: 'aaa', fuga: 'bbb' } <Component hoge={props.hoge} fuga={props.huga} /> スプレッド演算子を用いると、より簡潔に書き換えられます. const props = {hoge: 'aaa', fuga: 'bbb' } <Component {...props} /> 僕は、スプレッド演算子の書き方でReac</component></component>…

ブロックチェーンの特徴

①自律分散システム 複数のノードが、同じデータを互いにコピーしあって同じ仕事をしているので、いくつかのロードが故障しても支障がない。 ②管理者不在でも動く 「取引を受けつける窓口」や「各ノードに仕事を指示する管理者」といった決まった役割は存在し…

ブロックチェーンとは

Web3のビジョンに興味を持ったので、ブロックチェーンの勉強をし始めました! まずは、「いちばんやさしいブロックチェーンの教本」という本を読んで勉強しています。 ブロックチェーンの解説 ブロックチェーンを解説するのは、難しいらしい。 なぜなら、ブ…

即時関数とは?

即時関数とは 即時関数とは、英語で IIFE (Immediately Invoked Function Expression)と呼ばれる即時実行関数式です。 即時関数は定義すると即時に実行されます。 このため、即時関数とよばれます。 即時関数を利用することで、関数を定義するだけで即実行…

【カンニング防止】Runteq生のブログが検索結果に表示されなくなる方法

はじめに 基礎編以降のRunteqの課題はわからないことだらけなので、Googleで検索しまくると思います。 検索していると、Runteqの先輩方が書いたブログを見つけることがあります。 僕はRunteqの先輩のブログだと気づかずに、うっかり読んでしまうこともあれば…

Rspec勉強まとめ

sequenceの第二引数で定義した文字にはループの度にString#nextを末尾の文字に実行する # 上と下は同じ sequence(:title) { |n| "title_#{n}" } sequence(:title, "title_1") unique制約のあるカラムはsequenceを設定 変数には役割が分かる名前をつける(ex. …

チェリー本4章③

rjustメソッドは右寄せにするメソッド # 第1引数に桁数、第2引数に空白を埋める文字を指定できる p '0'.rjust(2) #=> " 0" p '0'.rjust(2, '0') #=> "00" リファクタリングとは、外から見たふるまいは保ったまま、理解や修正がかんたんになるように内部のコ…

チェリー本4章②

# select(find_all)メソッドはブロックの返り値が真である要素を集めた配列を返す numbers = [1, 2, 3, 4, 5] new_numbers = numbers.select { |n| n.even? } p new_numbers #=> [2, 4] # rejectメソッドはブロックの返り値が偽である要素を集めた配列を返す…

チェリー本4章①

# delete_atメソッドは配列内の特定の位置の要素を削除する a = [1, 2, 3] p a.delete_at(1) #=> 2 p a #=> [1, 3] # divmodは商と余りを配列で返す p 14.divmod(3) #=> [4, 2] # quotientは商、reminderは余りという意味 quotient, reminder = 14.divmod(3)…

チェリー本3章①

Minitestについて勉強していきます!! assert_equal 期待する結果, テスト対象となる値や式 #具体例 assert_equal 'RUBY', 'ruby'.upcase # aがbと等しければパスする assert_equal b, a # aが真であればパスする assert_equal a # aが偽であればパスする r…

チェリー本2章⑤

include?メソッドは引数の文字列が含まれているか判定する p 'watch'.include?('at') #=> true p 'watch'.include?('ta') #=> false odd?メソッドは奇数かどうか、even?メソッドは偶数かどうかを判定する !で終わるメソッドは慣習として「使用する際には注意…

チェリー本2章④

2進数は0b、8進数は0、16進数の場合は0xを先頭につけるとそれぞれ10進数以外の整数値を作成できる p 0b11111111 #=> 255 p 0377 #=> 255 p 0xff #=> 255 指数表現を使って浮動小数点数を表せる。例えば、2e-3は「2 x 10の3乗」。 p 2e-3 #=> 0.002 式全体が…

チェリー本2章③

論理演算子の&&は||よりも優先順位が高い # 上と下は同じ t1 && t2 || f1 && f2 (t1 && t2) || (f1 && f2) if文は最後に評価された式を戻り値として返す returnはメソッドを途中で脱出する場合に使われることが多い %記法で文字列が作れる # %q! !はシングル…

チェリー本2章②

丸め誤差初めて知った! 整数同士の割り算は整数になる to_fで整数を小数にできる 丸め誤差:コンピュータが10進数ではなく2進数で計算しているため起こる誤差 0.1 * 3 #=> 0.30000000000000004 0.1 * 3 == 0.3 #=>false rational(有理数)クラスを使うと、期…

チェリー本2章①

今日からRubyの基礎固めとしてチェリー本をやっていきます!! #レシーバを2進数の文字列にする 10.to_s(2) #=> '1010' 文の区切りを表す; 文がまだ続くことを表す\ 識別子:変数やメソッド、クラスにつける名前のこと(予約語は識別子には使えない) リテラ…