こんにちは。 最近、AI の進歩は本当にすごいですよね。 ChatGPT などの便利なツールが出てきて、私も毎日使っています。 私が 4 月に入った現場では、AWS を使ったサーバーレスアプリケーションの開発を行っています。ただサーバーレスは、私にとって新しい…
シンプルな TODO アプリチュートリアル このチュートリアルでは、シンプルな TODO アプリケーションを作成します。技術要素としてバックエンドには AWS SAM, API Gateway, AWS Lambda, DynamoDB, Node.js を、フロントエンドには React.js を使用します。 目…
関数の修飾子とは solidityの関数の修飾子には、viewとpureがある。これは、簡単に言うと関数の働きを示すものである。 view データの読み取りは可能だが、保存されているデータを変更することはできない。 ` uint num = 1; function getNum() private view …
Solidityには、4つのアクセス修飾子が存在しています。 1. public publicで定義された関数や変数は、同コントラクト内・継承したコントラクト・コントラクト外部からの呼び出しに対応しています。 つまり、どこからでも呼び出し可能ということです。 関数へ…
関数の書き方 solidityでは関数の宣言は次のようにfunctionキーワードを使う。 注:グローバル変数と区別をつけるために、関数パラメーター変数名はアンダースコア(_)をつけるのが通例(必須ではありません)です。 // ゾンビを作成する関数 function create…
構造体とは 複数のデータをまとめた箱のようなもの。 構造体を使えば、複数のプロパティを持つ複雑なデータ型を作成することができる。 struct Zombie { string name; uint dna; } 固定長配列とは 固定長配列とは、入れることのできる数が決まった配列である…
CryptoZombiesというsolidityを学ぶwebサイトがあり、面白そうだなと思い、利用し始めました。 cryptozombies.io solidityとは 最初に、solidityとはそもそも何かということを、公式サイトで確認しました。 Solidityは、スマートコントラクトを扱えるオブジ…
大量のメール送信処理などで、非同期処理を複数実行する必要がある場合に、効率的に並列で実行できるメソッドとしてPromise.all()があります。 Promise.allを使う中で、もしかして、途中で失敗する非同期処理があったら、すべて処理が実行されなくなるのでは…
通常、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の課題はわからないことだらけなので、Googleで検索しまくると思います。 検索していると、Runteqの先輩方が書いたブログを見つけることがあります。 僕はRunteqの先輩のブログだと気づかずに、うっかり読んでしまうこともあれば…
sequenceの第二引数で定義した文字にはループの度にString#nextを末尾の文字に実行する # 上と下は同じ sequence(:title) { |n| "title_#{n}" } sequence(:title, "title_1") unique制約のあるカラムはsequenceを設定 変数には役割が分かる名前をつける(ex. …
rjustメソッドは右寄せにするメソッド # 第1引数に桁数、第2引数に空白を埋める文字を指定できる p '0'.rjust(2) #=> " 0" p '0'.rjust(2, '0') #=> "00" リファクタリングとは、外から見たふるまいは保ったまま、理解や修正がかんたんになるように内部のコ…
# select(find_all)メソッドはブロックの返り値が真である要素を集めた配列を返す numbers = [1, 2, 3, 4, 5] new_numbers = numbers.select { |n| n.even? } p new_numbers #=> [2, 4] # rejectメソッドはブロックの返り値が偽である要素を集めた配列を返す…
# 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)…
Minitestについて勉強していきます!! assert_equal 期待する結果, テスト対象となる値や式 #具体例 assert_equal 'RUBY', 'ruby'.upcase # aがbと等しければパスする assert_equal b, a # aが真であればパスする assert_equal a # aが偽であればパスする r…
include?メソッドは引数の文字列が含まれているか判定する p 'watch'.include?('at') #=> true p 'watch'.include?('ta') #=> false odd?メソッドは奇数かどうか、even?メソッドは偶数かどうかを判定する !で終わるメソッドは慣習として「使用する際には注意…
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 式全体が…
論理演算子の&&は||よりも優先順位が高い # 上と下は同じ t1 && t2 || f1 && f2 (t1 && t2) || (f1 && f2) if文は最後に評価された式を戻り値として返す returnはメソッドを途中で脱出する場合に使われることが多い %記法で文字列が作れる # %q! !はシングル…
丸め誤差初めて知った! 整数同士の割り算は整数になる to_fで整数を小数にできる 丸め誤差:コンピュータが10進数ではなく2進数で計算しているため起こる誤差 0.1 * 3 #=> 0.30000000000000004 0.1 * 3 == 0.3 #=>false rational(有理数)クラスを使うと、期…
今日からRubyの基礎固めとしてチェリー本をやっていきます!! #レシーバを2進数の文字列にする 10.to_s(2) #=> '1010' 文の区切りを表す; 文がまだ続くことを表す\ 識別子:変数やメソッド、クラスにつける名前のこと(予約語は識別子には使えない) リテラ…