んだ日記

ndaDayoの技術日記です

Writing A Compiler In Go を読んでいく Chapter 2 Virtual Machine

こんにちわ、んだです。 今回も『Writing A Compiler In Go』でございまして、前回はcompilerまで触れましたので、いよいよVirtual Machineについてです。 nda-desu.hatenablog.com What Is a Virtual Machine? まずは、Virtual Machineについて軽く触れてお…

Writing A Compiler In Go を読んでいく Chapter 2 Compiler

こんにちわ、んだです。 今回も前回記事に引き続き、『Writing A Compiler In Go』 です。 nda-desu.hatenablog.com 今回はCompilerについて、触れていきます。 compiler_test まずはテストコードから眺めていきましょう。 // compiler/compiler_test.go pac…

Writing A Compiler In Go を読んでいく Chapter 2 make bytecode.

Writing A Compiler In Go (English Edition)作者:Ball, ThorstenAmazon さて、今回からはいよいよ『Writing A Compiler In Go』です。 興奮してきますね。 Chapter 2が終わったので、忘備録として書いていきたいと思います。 今回はbytecode.について書いて…

予防テストというアプローチを知った

こんにちは、んだです。 今回のテーマは、『テスト計画』についてです。 体系的ソフトウェアテスト入門作者:Rick Craig,Stefan P Jaskiel日経BP出版センターAmazon 読んだきっかけ 「予防テスト」というアプローチだった 予防テストとは? 時代経過に伴うテ…

『Go言語でつくるインタプリタ』を読んだ。構文解析その2 前置演算子・中置演算子編

こんにちは。んだです。 今回も前回に続き、構文解析についてお届けします。 前回記事 nda-desu.hatenablog.com 構文解析編は、2回目になりますが、今回は前置演算子・中置演算子の構文解析について書いていきます。 式の構文解析の難しさ Pratt構文解析 実…

『Go言語でつくるインタプリタ』を読んだ。構文解析〜let&return編〜

Go言語でつくるインタプリタ作者:Thorsten Ballオライリー・ジャパンAmazon こんにちわ、んだです。 さて、前回の続きで、構文解析です。 構文解析は長いので、何回かに分けて説明していきたいと思います 今回は、let&returnについてです。 nda-desu.hatenab…

『Go言語でつくるインタプリタ』を読んだ。字句解析編

Go言語でつくるインタプリタ作者:Thorsten Ballオライリー・ジャパンAmazon はじめに 1回目の反省点と2回目でやること 字句解析とは 字句解析 in Go トークンの定義 字句解析のtests 字句解析の実際 ヘルパー関数 Repl まとめ はじめに この本を読むのは、2…

『ユースケース入門』を読んだ

こんにちわ、んだです 今回のテーマは「ユースケース」です ユースケース入門―ユーザマニュアルからプログラムを作る (Object Technology Series)作者:ローゼンバーグ,ダグ,スコット,ケンドールピアソンエデュケーションAmazon 読んだきっかけ 読んでみて 学…

『Googleのソフトウェアエンジニアリング 』のドキュメンテーションの章を読んだ

こんにちわ、んだです。 今回のテーマは前回に引き続き「ドキュメンテーション」です Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセスオライリージャパンAmazon 読んだきっかけ 読んでみて 学びになったポイン…

『ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング』を読んだ

こんにちは、んだです。 今回のテーマは「ドキュメントライティング」です ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング作者:ジャレッド・バーティ,ザッカリー・サラ・コ―ライセン,ジェン・ランボーン,デービッ…

トランザクションスクリプトパターンについて調べてみた

こんにちは、福岡でエンジニアをやってます、んだです。 今回のテーマは「トランザクションスクリプトパターン」です トランザクションスクリプトパターンが気になったわけ まず、トランザクションスクリプトパターンがなぜ気になったのかについてですが、案…

ユースケース実践ガイド 第2章の感想

こんにちわ、福岡でエンジニアをやっております、んだです。 ユースケース実践ガイド―効果的なユースケースの書き方 (OOP Foundations)作者:アリスター コーバーン,Alistair Cockburn,ウルシステムズ株式会社,山岸 耕二,矢崎 博英,水谷 雅宏,篠原 明子翔泳社…

ユースケース図をvsCodeで書いてみた

こんにちわ、んだです。 今回は「ユースケース図をvsCodeで書いて管理を楽にしたいんだ」というタイトルでお届けします。 ユースケース図、ロバストネス分析の修正コストについて これまでいくつかの案件でユースケース図を用いて開発を進めてきました。 ユ…

スタックとヒープについて調べてみた

こんにちわ、んだです。 業務ではPHPですが、低レイヤーも興味出てきまして、rustをお触り始めました。 rustのチュートリを進めていて、所有権の箇所でスタックとヒープが出てきて「??」となってしもたので 調べてまとめてみました。 メモリの4領域 スタ…

【オブジェクト指向】凝集度と結合度とは?

OOPの勉強をしてます。 用語についての個人的なメモです。 凝集度とは? →「クラス内の演算がどれだけ密接に関係しているか」を表す尺度 凝集度が低い/高いとは? →凝集度が低いクラスは、関係のない作業が数多く詰め込まれているクラス 凝集度が高いクラス…

HTTP キャッシュについて

HTTP キャッシュについてのメモです。 キャッシュとは? →提供されたリソースの複製を保存して、要求されたときに背後でその複製を提供する技術 →リクエストを送る必要を無くし、全レスポンスを送る必要を無くす事を目的にしている キャッシュは大きく分けて…

Vim 行をコピーして下にペーストするコマンド

Vim 行をコピーして下にペーストする $ yyp こんなことをしたい aaa bbb ccc を aaa bbb ccc ccc yypで出来る。 僕から以上。

読書メモ『SQL実践入門──高速でわかりやすいクエリの書き方』Viewとは?

SQL実践入門 ──高速でわかりやすいクエリの書き方 WEB+DB PRESS plus作者:ミック発売日: 2018/11/14メディア: Kindle版 最近、読んでいる『SQL実践入門──高速でわかりやすいクエリの書き方』の読書メモ Viewとは? ビュー(View)とは、SELECT文をDBに保存する…

読書メモ『SQL実践入門──高速でわかりやすいクエリの書き方』メモリ上の2つのバッファ

SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者:ミック発売日: 2015/04/11メディア: 単行本(ソフトカバー) 最近読み始めた『SQL実践入門──高速でわかりやすいクエリの書き方』 DBMSのデータ保持のメモリには、2種類ある 1つ目…

【メモ】CHARとVARCHAR 

んだです。メモです。 MySqlの勉強がてら始めた「SQLパズル」 まだパズル2問目ですが、書き方も考え方も学べて面白いっす。 パズルを解きながら、気になった点をメモっていきます CHARとVARCHAR CHARもVARCHARも、文字列の型。 ちなみに、MySQlの文字列の方…

【メモ】MySQL CHECK制約

んだです。メモです。 CHECK制約?? CHECK制約を記述することで、カラムに入るデータに条件を設定できる。 例えば... たとえば、こんなTableがあったとする。 テーブル名:sample_check_constraint カラム名 タイプ id increments start_date date end_date d…

開放/閉鎖原則(open/closed principle、OCP)について

んだです。メモです。 開放/閉鎖原則(open/closed principle、OCP) とは? 定義 「モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない」 拡張に対して開いているって? (Open) 仕様変更があった場合に、新しい…

【メモ】インターフェース分離原則(ISP)

んだです。メモです。 今回は、インターフェース分離原則(ISP)について。 インターフェース分離原則(ISP)とは?? 「クライアントが使用しないメソッドに依存するよう強制されるべきではない」という原則。 ISP違反な実装 例えば、こんなインターフェイ…

【メモ】単一責任の原則

んだです。メモです。 SOLIDの原則を勉強してみたところ面白かったので、メモっていきます。 単一責任の原則って? 単一責任の原則=Single Responsibility Principle :SRP 「クラス・モジュールは、たった1つのアクターに対して責務を追うべき」という原則…

【メモ】is-a関係って??

OOP

んだです。メモです。 OOPとかデザインパターンを勉強していると、目にする「is-a」 is-a関係について、頭の整理のためまとめます。 「is-a」ってなんの話をしているのか? ClassとClassの関係性の話。 クラスとクラスがどんな関係にあるのか?の話 「is-a」…

SQLSTATE[42000]: Syntax error or access violation: 1170 BLOB/TEXT column 'xxx_id' used in key specification without a key length

Laravelでmigrationsを修正していたときに、出会したエラー $table->text('video_id')->comment('ビデオID'); この行に->unique()を追加して $table->text('video_id')->unique()->comment('ビデオID'); php artisan migrate:fresh を実行したら、、 SQLSTAT…

portで実行中のプロセスを調べる lsof コマンド

Docker で環境構築中に、こんなエラーが出ました。 Ports are not available: listen tcp 0.0.0.0:4444: bind: address already in use port 4444は、既に使っていますよ。 どうやってそのportで実行中のプロセスを調べるか?について、メモっておきます。 p…

Dockerのコンテナの中でファイルのパーミッションを調べるコマンド

忘れそうなのでメモっておきます # ls -l -F

【メモ】パブリックサブネットとプライベートサブネットの違い

AWS

AWSを触っていて、よくわからんかったので調べたことをメモしていきます。 何が違うの?? グローバルネットワークから通信できるかどうかが違う。サブネットに適用されたルートテーブルのgatewayがInterenetgatewayになっているかなっていないかの違い。 パ…

k8s CentosとNginxのManifestファイルを作ってコンテナに入ってみる

k8s

タイトル通りっす。 # 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…