技術書
最近の個人的な関心ごととしてドメイン駆動を意識した開発業務でビジネスロジックを「値オブジェクト」、「エンティティ」、「サービス」にどう分割していくのが良いのか。というのがあり、この辺り整理するために「ドメイン駆動設計入門」を読んで整理して…
「Go言語 100Tips」を読んでみました。 book.impress.co.jp 入門書ではなくある程度Go言語を触った人向けの本です。現時点で私は業務で半年ほどGoを触っていますがモヤモヤしていたことを解消してくれたり気づきを与えてくれたりとすごく参考になる内容でし…
アルゴリズムとデータ構造にもう少し強くなりたく「アルゴリズム実技検定」という資格の公式テキストを読んでみました。 book.mynavi.jp 競技プログラミングで有名なAtCoderの会社が運営してる資格試験らしいです。資格を取る気は現状ないですが教材としては…
「Stable Diffusion AI画像生成ハンドブック」を読んで面白かったので軽く内容のメモと感想書きます。 画像生成AIについての本で開発者目線でも面白かったけど、ITリテラシー低めの人が画像生成AI試したいと思った時に手に取るのもアリな本だったと思う。 最…
最近読んだ技術書の感想を雑に書く いちばんやさしいブロックチェーンの教本 人気講師が教えるビットコインを支える仕組み 「いちばんやさしい教本」シリーズ ブロックチェーンについてはネットの記事やpodcastで聞いたくらいの知識しかなかったので体系だっ…
前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-5~を読んでみる。 www.shuwasystem.co.jp テスト Rustでは機能のためのコードとそれをテストするコードを同一のファイルの中で書くことができる。 p…
前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-3~を読んでみる。 www.shuwasystem.co.jp クレートとモジュール Rustでは、ソースコードのまとまりを表す構成要素として、クレートとモジュールがあ…
前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3~を読んでみる。 www.shuwasystem.co.jp 前回の記事 https://ikeyu0806.hatenablog.com/entry/2022/03/13/094219 ゼロコスト抽象化 C++やJavaのよう…
Rustが気になるので写経しながら「実践Rustプログラミング入門」を読んだ。 www.shuwasystem.co.jp 写経したコードと解説の切り抜きをメモがてら書いてみる。 環境構築 以下のサイトを開いてインストールコマンド実行 www.rust-lang.org 1) Proceed with ins…
実践Rustプログラミング入門 API開発、システムプログラミング、Web Assembly、フロントエンドのライブラリ開発といろんな場面で使えて言語仕様も今風だしC、C++に匹敵するくらい速いしで評判良さげな言語なので気になって読んだ。 とりあえず読んでどんな言…
一度ざっと読んだものの理解できず本棚に放り込んだままになってたオライリーの「ゼロから作るDeep Learning」を読み返した。 文系卒で微分や行列計算などは習っていないけどその知識は必要そうなので高校生向けの本をざっと読んでおいた。 数学知識は付け焼…
普通のバックエンドエンジニアでも機械学習に関わる機会は割とありそうだしちょっと調べとくか。。 と思って機械学習周りの本いろいろ読んでたんだけど、今の自分の前提知識だと「自然言語処理アプリケーション開発入門」がちょうどいい感じだった。 https:/…
積読になっていた「CPUの創りかた」を読んだので軽く感想書いてみる book.mynavi.jp どんな本か LEDを光らせることができる4bit CPUを作成する手順を書いた本。C言語のプログラムを実行できます。。みたいなところまではやらない。 入門本なので読みやすい。…
「Go言語で作るインタプリタ」を読んだ。親切な内容の本ではあるけどやっぱりインタプリタを作る。ってテーマ自体が難しく、読むのに苦戦したので内容書きながら整理してみる。 O'Reilly Japan - Go言語でつくるインタプリタ ざっくり全体の流れ プログラム…
Amazonの技術書眺めてたら割とKindle Unlimitedで読みたい本あるな。。と思い加入していろいろ技術書読んでみた。 使ってみた感じ、買ったら3000円くらいする技術書が月1000円で読み放題で思ったよりいい本もあるんで結構良い気がしている。 以下読んだ本の…
エリック・エヴァンスのドメイン駆動開発 ずっと積読になってたのをやっと読んだ。 技術だけ追ってても完成度の高いソフトウェアを作るのは厳しくてドメイン知識を開発に落とし込む努力が必要。ってのが500ページ以上使って実例を交えて紹介されている。著者…
コンテナ 仮想化は、使いたいサービスだけでなくOSも含めてまるごと動かすことが前提の仕組みです。そのため、たとえばゲストOSとホストOSが同じLinuxであればカーネルやシステムのデーモンを重複してロードすることになり、無駄にメモリを消費してしまいま…
OSが使う時間の仕組みは歴史的経緯などもあって少し複雑な構成をしており、たくさんの種類のタイマーやカウンターがあります。 リアルタイムクロック(RTC) システムクロック タイムスタンプカウンター(TSC) 各種タイマーデバイス 時間に関するシステムコ…
「Goならわかるシステムプログラミング」を前章に続いて気になったところ抜粋+コード写経しつつ、15章を読んだ 物理メモリと仮想メモリ 今、メモリが8GBのマシンがあり、そのうちの1GBをOSが消費しているとします。 残り7GBを使って、1GBずつのメモリを消費…
並行・並列処理の手法のパターン まず、複数のコアを使って重い処理・ブロックする処理を効率よくさばく方法につ いて、Go言語に限らない一般的な基礎知識を解説しておきます。 並行・並列処理の実現手法には、おおまかに区分すると、マルチプロセス、イベン…
複数の仕事を行うことを表す言葉には並行(Concurrent)と並列(Parallel)の2つがあります。 並行:CPU数、コア数の限界を超えて複数の仕事を同時に行う ほんの少し前まで、コンピューターに搭載されているCPUはコア数が1つしかないものが普通でした。その…
シグナルには、大きく2つの用途があります。 プロセス間通信:カーネルが仲介して、あるプロセスから、別のプロセスに対してシグナルを送ることができる。自分自身に対してシグナルを送ることも可能 ソフトウェア割り込み:システムで発生したイベントは、シ…
前章に続いて写経しつつ「Goならわかるシステムプログラミング」の11章を読む。 現在起動中のプログラムの絶対パスを表示 package main import ( "fmt" "os" ) func main() { path, _ := os.Executable() fmt.Printf(" 実行ファイル名 : %s\n", os.Args[0]) …
前章に続いて「Goならわかるシステムプログラミング」の10章を写経しつつ読んだ。 ファイルの変更監視 開発言語や環境によらず、プログラムでファイルを監視する方法には、次の2種類があります。 監視したいファイルを OS 側に通知しておいて、変更があった…
「Goならわかるシステムプログラミング」の9章(ファイルシステムの基礎と Go言語の標準パッケージ)を写経しつつ読んだのでメモ。 ファイルシステムとは コンピューターにはさまざまなストレージが接続されています。ハードディスクやSSD、取り外し可能なSDカ…
「Goならわかるシステムプログラミング」の8章を読んだ。8章はUnixドメインソケットについて。 TCPとUDPによるソケット通信は、外部のネットワークにつながるインタフェースに接続します。 これに対し、Unixドメインソケットでは外部インタフェースへの接続…
引き続き「Goならわかるシステムプログラミング」の7章を写経しつつ読んでみる。 前章はTCPだったけどこの章はUDP。TCPより機能が少なくシンプルなプロトコル UDPはTCPと同じトランスポート層プロトコルですが、TCPと違ってコネクションレスであり、誰とつな…
6章 ソケット通信について 6章からソケット通信についての内容で6章はTCP。前章までに比べてサンプルコード多め。 写経して動作確認しながら読んでみた。 ソケットとは プロセス間通信の一種です。ソケットが他のプロセス間通信と少し違うのは、アドレスとポ…
「Goならわかるシステムプログラミング」の4章を読んだのでメモ。4章はチャネル、5章はシステムコールについて 4章 チャネルとは何か 本文から引用 ソフトウェアの世界には、キュー(queue)と呼ばれるデータ構造があります。 キューは、最初に投入したデー…
「Goならわかるシステムプログラミング」読み始めた。とりあえず1-3章まで読んだのでメモ。 Goならわかるシステムプログラミング(PDF版のみ) – 技術書出版と販売のラムダノート Kindleで欲しかったんだけどなかったんで公式サイトからPDF形式を購入してみ…