こんにちわ、んだです。 今回も『Writing A Compiler In Go』でございまして、前回はcompilerまで触れましたので、いよいよVirtual Machineについてです。 nda-desu.hatenablog.com What Is a Virtual Machine? まずは、Virtual Machineについて軽く触れてお…
こんにちわ、んだです。 今回も前回記事に引き続き、『Writing A Compiler In Go』 です。 nda-desu.hatenablog.com 今回はCompilerについて、触れていきます。 compiler_test まずはテストコードから眺めていきましょう。 // compiler/compiler_test.go pac…
Writing A Compiler In Go (English Edition)作者:Ball, ThorstenAmazon さて、今回からはいよいよ『Writing A Compiler In Go』です。 興奮してきますね。 Chapter 2が終わったので、忘備録として書いていきたいと思います。 今回はbytecode.について書いて…
こんにちは、んだです。 今回のテーマは、『テスト計画』についてです。 体系的ソフトウェアテスト入門作者:Rick Craig,Stefan P Jaskiel日経BP出版センターAmazon 読んだきっかけ 「予防テスト」というアプローチだった 予防テストとは? 時代経過に伴うテ…
こんにちは。んだです。 今回も前回に続き、構文解析についてお届けします。 前回記事 nda-desu.hatenablog.com 構文解析編は、2回目になりますが、今回は前置演算子・中置演算子の構文解析について書いていきます。 式の構文解析の難しさ Pratt構文解析 実…
Go言語でつくるインタプリタ作者:Thorsten Ballオライリー・ジャパンAmazon こんにちわ、んだです。 さて、前回の続きで、構文解析です。 構文解析は長いので、何回かに分けて説明していきたいと思います 今回は、let&returnについてです。 nda-desu.hatenab…
Go言語でつくるインタプリタ作者:Thorsten Ballオライリー・ジャパンAmazon はじめに 1回目の反省点と2回目でやること 字句解析とは 字句解析 in Go トークンの定義 字句解析のtests 字句解析の実際 ヘルパー関数 Repl まとめ はじめに この本を読むのは、2…
こんにちわ、んだです 今回のテーマは「ユースケース」です ユースケース入門―ユーザマニュアルからプログラムを作る (Object Technology Series)作者:ローゼンバーグ,ダグ,スコット,ケンドールピアソンエデュケーションAmazon 読んだきっかけ 読んでみて 学…
こんにちわ、んだです。 今回のテーマは前回に引き続き「ドキュメンテーション」です Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセスオライリージャパンAmazon 読んだきっかけ 読んでみて 学びになったポイン…
こんにちは、んだです。 今回のテーマは「ドキュメントライティング」です ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング作者:ジャレッド・バーティ,ザッカリー・サラ・コ―ライセン,ジェン・ランボーン,デービッ…
こんにちは、福岡でエンジニアをやってます、んだです。 今回のテーマは「トランザクションスクリプトパターン」です トランザクションスクリプトパターンが気になったわけ まず、トランザクションスクリプトパターンがなぜ気になったのかについてですが、案…
こんにちわ、福岡でエンジニアをやっております、んだです。 ユースケース実践ガイド―効果的なユースケースの書き方 (OOP Foundations)作者:アリスター コーバーン,Alistair Cockburn,ウルシステムズ株式会社,山岸 耕二,矢崎 博英,水谷 雅宏,篠原 明子翔泳社…
こんにちわ、んだです。 今回は「ユースケース図をvsCodeで書いて管理を楽にしたいんだ」というタイトルでお届けします。 ユースケース図、ロバストネス分析の修正コストについて これまでいくつかの案件でユースケース図を用いて開発を進めてきました。 ユ…
こんにちわ、んだです。 業務ではPHPですが、低レイヤーも興味出てきまして、rustをお触り始めました。 rustのチュートリを進めていて、所有権の箇所でスタックとヒープが出てきて「??」となってしもたので 調べてまとめてみました。 メモリの4領域 スタ…
OOPの勉強をしてます。 用語についての個人的なメモです。 凝集度とは? →「クラス内の演算がどれだけ密接に関係しているか」を表す尺度 凝集度が低い/高いとは? →凝集度が低いクラスは、関係のない作業が数多く詰め込まれているクラス 凝集度が高いクラス…
HTTP キャッシュについてのメモです。 キャッシュとは? →提供されたリソースの複製を保存して、要求されたときに背後でその複製を提供する技術 →リクエストを送る必要を無くし、全レスポンスを送る必要を無くす事を目的にしている キャッシュは大きく分けて…
Vim 行をコピーして下にペーストする $ yyp こんなことをしたい aaa bbb ccc を aaa bbb ccc ccc yypで出来る。 僕から以上。
SQL実践入門 ──高速でわかりやすいクエリの書き方 WEB+DB PRESS plus作者:ミック発売日: 2018/11/14メディア: Kindle版 最近、読んでいる『SQL実践入門──高速でわかりやすいクエリの書き方』の読書メモ Viewとは? ビュー(View)とは、SELECT文をDBに保存する…
SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者:ミック発売日: 2015/04/11メディア: 単行本(ソフトカバー) 最近読み始めた『SQL実践入門──高速でわかりやすいクエリの書き方』 DBMSのデータ保持のメモリには、2種類ある 1つ目…
んだです。メモです。 MySqlの勉強がてら始めた「SQLパズル」 まだパズル2問目ですが、書き方も考え方も学べて面白いっす。 パズルを解きながら、気になった点をメモっていきます CHARとVARCHAR CHARもVARCHARも、文字列の型。 ちなみに、MySQlの文字列の方…
んだです。メモです。 CHECK制約?? CHECK制約を記述することで、カラムに入るデータに条件を設定できる。 例えば... たとえば、こんなTableがあったとする。 テーブル名:sample_check_constraint カラム名 タイプ id increments start_date date end_date d…
んだです。メモです。 開放/閉鎖原則(open/closed principle、OCP) とは? 定義 「モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない」 拡張に対して開いているって? (Open) 仕様変更があった場合に、新しい…
んだです。メモです。 今回は、インターフェース分離原則(ISP)について。 インターフェース分離原則(ISP)とは?? 「クライアントが使用しないメソッドに依存するよう強制されるべきではない」という原則。 ISP違反な実装 例えば、こんなインターフェイ…
んだです。メモです。 SOLIDの原則を勉強してみたところ面白かったので、メモっていきます。 単一責任の原則って? 単一責任の原則=Single Responsibility Principle :SRP 「クラス・モジュールは、たった1つのアクターに対して責務を追うべき」という原則…
んだです。メモです。 OOPとかデザインパターンを勉強していると、目にする「is-a」 is-a関係について、頭の整理のためまとめます。 「is-a」ってなんの話をしているのか? ClassとClassの関係性の話。 クラスとクラスがどんな関係にあるのか?の話 「is-a」…
Laravelでmigrationsを修正していたときに、出会したエラー $table->text('video_id')->comment('ビデオID'); この行に->unique()を追加して $table->text('video_id')->unique()->comment('ビデオID'); php artisan migrate:fresh を実行したら、、 SQLSTAT…
Docker で環境構築中に、こんなエラーが出ました。 Ports are not available: listen tcp 0.0.0.0:4444: bind: address already in use port 4444は、既に使っていますよ。 どうやってそのportで実行中のプロセスを調べるか?について、メモっておきます。 p…
忘れそうなのでメモっておきます # ls -l -F
AWSを触っていて、よくわからんかったので調べたことをメモしていきます。 何が違うの?? グローバルネットワークから通信できるかどうかが違う。サブネットに適用されたルートテーブルのgatewayがInterenetgatewayになっているかなっていないかの違い。 パ…
タイトル通りっす。 # pod.yml apiVersion: v1 kind: Pod metadata: name: debug namespace: default labels: env: study spec: containers: - name: debug image: centos:7 command: - "sh" - "-c" args: - | while true do sleep ${DELAY} done env: - nam…