December 28, 2023
1875 words
10 min
AWS Certified Developer - Associate (DVA-02) に合格したので、ふりかえりと言うか、むきなおりしようと思います。
前提
試験勉強を始める前の私の AWS 力についてはこのような感じです。
CLF と SAA を保持
SAA を取得してもうすぐ一年たつ
日常的に AWS を使用してはいるものの、SAA で勉強したが使ってないサービスは全部忘れた。自分でもびっくりするくらいの忘れん坊だった。
むきなおり(YWT)
勉強したこと・やったこと
試験ガイド
まずは AW…
Continue Reading →
December 09, 2023
1957 words
10 min
利用者の多いサービスを展開しているとリクエストが跳ね上がることも多々ありますよね。うれしい悲鳴とでもいいましょうか有難い面もあればレスポンスが遅い状態が続くとユーザーの不満足にもなるので、そうはいってられないこともあります。リクエストが増加する要因はサービスの性質によりいろんなケースがあると思いますが、予期せぬリクエストの増加はスケールが追いつかない時もありなかなか悩ましいものです。
今回はいくつかある対応のうちサーバ負荷を上げずにリクエストを捌く方法について考察を行いたいと思います。
インフラからのアプ…
Continue Reading →
January 11, 2023
2010 words
11 min
AWS Certified Cloud Practitioner (CLF-C01) と AWS Certified Solutions Architect - Associate (SAA-C03) に合格したので、何をどのように勉強したのか残しておく。
前提
試験勉強を始める前の私の AWS 力についてはこのような感じだった。
アプリケーション開発者として AWS を 5 年くらい利用
必要な情報を都度調べてやってきた
体系だった勉強をしたことはない
細かいところはインフラエンジニアに助けて…
Continue Reading →
June 01, 2021
875 words
5 min
「データ構造とプログラミング」で習ったヒープソートの実装の動きが理解できてないので、頑張って理解しようぜっていう取り組みです。まずは、C の実装を Go で書き直したやつです。
とりあえず、28行目の (n - 2) / 2 の計算が何を意図してるのかが分かってないです。あと、配列一つだけで処理してるので理解が追いついてない。というわけで、一旦愚直に実装して追っ付けで理解していこうと思います。
※配列と言ってますが Go なのでスライスです。
その前にヒープソートのざっくりした挙動ですが、次のようになり…
Continue Reading →
May 20, 2021
2705 words
14 min
再帰関数は関数内で自分自身を呼び出し、そのたびに大きな問題が小さな問題になるように異なる引数を渡していく。ということだが感覚的に把握できてないので動きをできるだけ噛み砕いてみようと思う。
内容的には以下について言及する
階乗計算(factorial)
フィボナッチ数の計算(fibonacci number)
ユークリッドの互除法を使った最大公約数の計算(greatest common divisor)
末尾再帰(tail recursion)
階乗計算(factorial)
まずは次の階乗計算を行うコ…
Continue Reading →
March 25, 2021
2226 words
12 min
春から『計算の科学と手引き』という授業を取るので数学の復習しようと思い購入した『東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!』という本が面白いので自分なりに消化しとこうと思ってノートを取ることにしました。
数列(Progression)
数列とは、規則的に並べられた数字のことで、数列の最初の数字のことを「初項」、最後の数字のことを「末項」と呼ぶ。
規則的な差で並べられた数列を「等差数列」、規則的な比で並べられた数列を「等比数列」といい、詳細は以下でまとめていきます。
等差数列(Ari…
Continue Reading →
March 17, 2021
2192 words
11 min
年始にデータ構造の記事を書いてから、はや二ヶ月が過ぎたので続きを書く。
テキストによると連結リストを学ぶにあたっての目標とポイントは以下の通りです。
連結リストに対するデータの探索、挿入、削除について基本的な操作を学ぶ。
連結リストと配列との操作効率の違いについても学習する
配列の特徴をまとめるとこんな感じ
配列は添字を使ってデータを挿入・探索する。
探索においては添字でデータへアクセスできるので、最初のデータと途中のデータと最後のデータとで同じ時間でアクセスできる。
配列のサイズは生成時に定義する…
Continue Reading →
January 07, 2021
3130 words
16 min
このエントリは放送大学の『データ構造とプログラミング』のプログラム部分を Go で書こうと思って始めました。完走しないかもしれないので徐々に追記するスタイルでやっていきます。
データ構造
配列
なにはともあれ配列の定義方法です
var a [10]int
a[0] = 1
...
a[9] = 9
逐一書くのは面倒なのでループで入れる
const arraySize = 10
var a [arraySize]int
for i := 0; i < arraySize; i++ {
a[i…
Continue Reading →
October 10, 2020
662 words
4 min
どうも Nii です。2020年もあいかわらず Web 屋をやってるので Go の errors パッケージを使ってエラーログをスタックしていく方法を記します。
Go でエラーのスタックトレースを取るときは github.com/pkg/errors か xerrors を使って、出力時のフォーマットで %+v を使うのが定石なんだなぁと思ってたんですが、『Go祭2020』の Go で作ろう! Web アプリのカスタムエラーの章で Go 1.13 からエラーのラッピングがサポートされてる事を知ったので早速…
Continue Reading →
September 02, 2020
454 words
3 min
UUID の衝突は気にしなくていいという記事を読んで、なるほどなーと思いつつも、数式分からぬ実際にコードで確かめてみたい。と思ったので実験です。
方法はプログラムで UUID ver4 を生成して UNIQUE 制約を設定したデータベースカラムに挿入し、UNIQUE 制約エラーが起きないかを確かめるというものです。
あとはバイナリを生成して、実行するマシンのコア数だけ実行するという方法にしました。
特に理由はないですが goroutine は敢えて使ってません。
DDL(MySQL)
create tab…
Continue Reading →