yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

技術書

「ドメイン駆動設計入門」を読んで「値オブジェクト」、「エンティティ」、「サービス」について整理してみる

最近の個人的な関心ごととしてドメイン駆動を意識した開発業務でビジネスロジックを「値オブジェクト」、「エンティティ」、「サービス」にどう分割していくのが良いのか。というのがあり、この辺り整理するために「ドメイン駆動設計入門」を読んで整理して…

「Go言語 100Tips」が参考になった

「Go言語 100Tips」を読んでみました。 book.impress.co.jp 入門書ではなくある程度Go言語を触った人向けの本です。現時点で私は業務で半年ほどGoを触っていますがモヤモヤしていたことを解消してくれたり気づきを与えてくれたりとすごく参考になる内容でし…

「アルゴリズム実技検定 公式テキスト エントリ ~ 中級編」を読んだ

アルゴリズムとデータ構造にもう少し強くなりたく「アルゴリズム実技検定」という資格の公式テキストを読んでみました。 book.mynavi.jp 競技プログラミングで有名なAtCoderの会社が運営してる資格試験らしいです。資格を取る気は現状ないですが教材としては…

「Stable Diffusion AI画像生成ハンドブック」を読んだ感想

「Stable Diffusion AI画像生成ハンドブック」を読んで面白かったので軽く内容のメモと感想書きます。 画像生成AIについての本で開発者目線でも面白かったけど、ITリテラシー低めの人が画像生成AI試したいと思った時に手に取るのもアリな本だったと思う。 最…

最近読んだ技術書の感想

最近読んだ技術書の感想を雑に書く いちばんやさしいブロックチェーンの教本 人気講師が教えるビットコインを支える仕組み 「いちばんやさしい教本」シリーズ ブロックチェーンについてはネットの記事やpodcastで聞いたくらいの知識しかなかったので体系だっ…

写経しながら実践Rustプログラミング入門を読んだ(テスト)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-5~を読んでみる。 www.shuwasystem.co.jp テスト Rustでは機能のためのコードとそれをテストするコードを同一のファイルの中で書くことができる。 p…

写経しながら実践Rustプログラミング入門を読んだ(クレートとモジュール、Cargo)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-3~を読んでみる。 www.shuwasystem.co.jp クレートとモジュール Rustでは、ソースコードのまとまりを表す構成要素として、クレートとモジュールがあ…

写経しながら実践Rustプログラミング入門を読んだ(Rustを支える言語機能)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3~を読んでみる。 www.shuwasystem.co.jp 前回の記事 https://ikeyu0806.hatenablog.com/entry/2022/03/13/094219 ゼロコスト抽象化 C++やJavaのよう…

写経しながら実践Rustプログラミング入門を読んだ(環境構築〜基本文法)

Rustが気になるので写経しながら「実践Rustプログラミング入門」を読んだ。 www.shuwasystem.co.jp 写経したコードと解説の切り抜きをメモがてら書いてみる。 環境構築 以下のサイトを開いてインストールコマンド実行 www.rust-lang.org 1) Proceed with ins…

最近読んだ技術書

実践Rustプログラミング入門 API開発、システムプログラミング、Web Assembly、フロントエンドのライブラリ開発といろんな場面で使えて言語仕様も今風だしC、C++に匹敵するくらい速いしで評判良さげな言語なので気になって読んだ。 とりあえず読んでどんな言…

「ゼロから作るDeep Learning」を読み返した

一度ざっと読んだものの理解できず本棚に放り込んだままになってたオライリーの「ゼロから作るDeep Learning」を読み返した。 文系卒で微分や行列計算などは習っていないけどその知識は必要そうなので高校生向けの本をざっと読んでおいた。 数学知識は付け焼…

「自然言語処理アプリケーション開発入門」を読んだ

普通のバックエンドエンジニアでも機械学習に関わる機会は割とありそうだしちょっと調べとくか。。 と思って機械学習周りの本いろいろ読んでたんだけど、今の自分の前提知識だと「自然言語処理アプリケーション開発入門」がちょうどいい感じだった。 https:/…

「CPUの創りかた」を読んだので軽く感想

積読になっていた「CPUの創りかた」を読んだので軽く感想書いてみる book.mynavi.jp どんな本か LEDを光らせることができる4bit CPUを作成する手順を書いた本。C言語のプログラムを実行できます。。みたいなところまではやらない。 入門本なので読みやすい。…

「Go言語で作るインタプリタ」を読んだので内容整理

「Go言語で作るインタプリタ」を読んだ。親切な内容の本ではあるけどやっぱりインタプリタを作る。ってテーマ自体が難しく、読むのに苦戦したので内容書きながら整理してみる。 O'Reilly Japan - Go言語でつくるインタプリタ ざっくり全体の流れ プログラム…

Kindle Unlimitedで技術書いろいろ読んでみた

Amazonの技術書眺めてたら割とKindle Unlimitedで読みたい本あるな。。と思い加入していろいろ技術書読んでみた。 使ってみた感じ、買ったら3000円くらいする技術書が月1000円で読み放題で思ったよりいい本もあるんで結構良い気がしている。 以下読んだ本の…

最近読んだ技術書

エリック・エヴァンスのドメイン駆動開発 ずっと積読になってたのをやっと読んだ。 技術だけ追ってても完成度の高いソフトウェアを作るのは厳しくてドメイン知識を開発に落とし込む努力が必要。ってのが500ページ以上使って実例を交えて紹介されている。著者…

「Goならわかるシステムプログラミング」の17章を読んだ(Go言語とコンテナ)

コンテナ 仮想化は、使いたいサービスだけでなくOSも含めてまるごと動かすことが前提の仕組みです。そのため、たとえばゲストOSとホストOSが同じLinuxであればカーネルやシステムのデーモンを重複してロードすることになり、無駄にメモリを消費してしまいま…

「Goならわかるシステムプログラミング」の16章を読んだ(時間と時刻)

OSが使う時間の仕組みは歴史的経緯などもあって少し複雑な構成をしており、たくさんの種類のタイマーやカウンターがあります。 リアルタイムクロック(RTC) システムクロック タイムスタンプカウンター(TSC) 各種タイマーデバイス 時間に関するシステムコ…

「Goならわかるシステムプログラミング」の15章を読んだ(Go言語のメモリ管理)

「Goならわかるシステムプログラミング」を前章に続いて気になったところ抜粋+コード写経しつつ、15章を読んだ 物理メモリと仮想メモリ 今、メモリが8GBのマシンがあり、そのうちの1GBをOSが消費しているとします。 残り7GBを使って、1GBずつのメモリを消費…

「Goならわかるシステムプログラミング」の14章を読んだ(並行・並列処理の 手法と設計のパターン)

並行・並列処理の手法のパターン まず、複数のコアを使って重い処理・ブロックする処理を効率よくさばく方法につ いて、Go言語に限らない一般的な基礎知識を解説しておきます。 並行・並列処理の実現手法には、おおまかに区分すると、マルチプロセス、イベン…

「Goならわかるシステムプログラミング」の13章を読んだ(並列処理)

複数の仕事を行うことを表す言葉には並行(Concurrent)と並列(Parallel)の2つがあります。 並行:CPU数、コア数の限界を超えて複数の仕事を同時に行う ほんの少し前まで、コンピューターに搭載されているCPUはコア数が1つしかないものが普通でした。その…

「Goならわかるシステムプログラミング」の12章を読んだ(シグナルによるプロセス間の通信)

シグナルには、大きく2つの用途があります。 プロセス間通信:カーネルが仲介して、あるプロセスから、別のプロセスに対してシグナルを送ることができる。自分自身に対してシグナルを送ることも可能 ソフトウェア割り込み:システムで発生したイベントは、シ…

「Goならわかるシステムプログラミング」の11章を読んだ(プロセスの役割と Go言語による操作)

前章に続いて写経しつつ「Goならわかるシステムプログラミング」の11章を読む。 現在起動中のプログラムの絶対パスを表示 package main import ( "fmt" "os" ) func main() { path, _ := os.Executable() fmt.Printf(" 実行ファイル名 : %s\n", os.Args[0]) …

「Goならわかるシステムプログラミング」の10章を読んだ(ファイルシステムの最深部 を扱うGo言語の関数)

前章に続いて「Goならわかるシステムプログラミング」の10章を写経しつつ読んだ。 ファイルの変更監視 開発言語や環境によらず、プログラムでファイルを監視する方法には、次の2種類があります。 監視したいファイルを OS 側に通知しておいて、変更があった…

「Goならわかるシステムプログラミング」の9章を読んだ(ファイルシステムの基礎と Go言語の標準パッケージ)

「Goならわかるシステムプログラミング」の9章(ファイルシステムの基礎と Go言語の標準パッケージ)を写経しつつ読んだのでメモ。 ファイルシステムとは コンピューターにはさまざまなストレージが接続されています。ハードディスクやSSD、取り外し可能なSDカ…

「Goならわかるシステムプログラミング」の8章を読んだ(Unixドメインソケット)

「Goならわかるシステムプログラミング」の8章を読んだ。8章はUnixドメインソケットについて。 TCPとUDPによるソケット通信は、外部のネットワークにつながるインタフェースに接続します。 これに対し、Unixドメインソケットでは外部インタフェースへの接続…

「Goならわかるシステムプログラミング」の7章を読んだ(UDP)

引き続き「Goならわかるシステムプログラミング」の7章を写経しつつ読んでみる。 前章はTCPだったけどこの章はUDP。TCPより機能が少なくシンプルなプロトコル UDPはTCPと同じトランスポート層プロトコルですが、TCPと違ってコネクションレスであり、誰とつな…

「Goならわかるシステムプログラミング」の6章を読んだ(TCPソケット通信)

6章 ソケット通信について 6章からソケット通信についての内容で6章はTCP。前章までに比べてサンプルコード多め。 写経して動作確認しながら読んでみた。 ソケットとは プロセス間通信の一種です。ソケットが他のプロセス間通信と少し違うのは、アドレスとポ…

「Goならわかるシステムプログラミング」の4章、5章を読んだ

「Goならわかるシステムプログラミング」の4章を読んだのでメモ。4章はチャネル、5章はシステムコールについて 4章 チャネルとは何か 本文から引用 ソフトウェアの世界には、キュー(queue)と呼ばれるデータ構造があります。 キューは、最初に投入したデー…

「Goならわかるシステムプログラミング」を読み始めた

「Goならわかるシステムプログラミング」読み始めた。とりあえず1-3章まで読んだのでメモ。 Goならわかるシステムプログラミング(PDF版のみ) – 技術書出版と販売のラムダノート Kindleで欲しかったんだけどなかったんで公式サイトからPDF形式を購入してみ…