サークルページ

サークル名
masuipeo
紹介文
技術書典、技術書同人誌博覧会(技書博)にて頒布する本のPDF版です。
ホームページURL
作品
macOSには「Spotlight検索」という機能が標準で搭載されており、ファイルの検索やアプリの起動をキーボードから操作できます。
これは便利なのですが、より高度な処理を実現するアプリとして、RaycastやAlfredがあります。
いずれもSpotlight検索より高度な処理ができ、一般的にはランチャーアプリに分類されます。
本書では、このRaycastについて解説します。

Raycastの大きな特徴として、豊富なExtension(拡張機能)があります。
公式のExtensionとして標準で導入されているものだけでなく、世界中の開発者が自由に開発し、無償で公開しています。
これらを導入することで、Raycastでできることを大きく増やせます。

そして、TypeScript(JavaScript)についての知識が少しあれば、個人でも開発できます。
開発したものを公開する必要はなく、手元の環境で実行するためだけに開発するのも自由です。

ただ、単にTypeScriptの知識があるだけでは、開発しようとしてドキュメントを読むと手が止まります。
その理由として、Raycast Extensionの開発にはReactが使われていることが挙げられます。

つまり、Reactについての知識がないと、どのように開発すればいいか、どのようにデータを保持すればいいのかわからないのです。
なお、Reactについて学ぶとき、Webアプリを作る方法もあります。
しかし、RaycastのExtensionを作りたいだけなのに、Webアプリを作るのは違和感があります。
Raycastはキーボードから操作することが前提であり、ある程度決められた環境で実行されるため、Webアプリと比べて考えることは少ないものです。

そこで本書では、Raycastの特徴を紹介するとともに、そのExtensionを開発することを通して、Reactを学ぶことを目的にしています。
すでにReactについて知識がある方は、RaycastのExtensionを開発するアイデアの参考として読んでいただければ幸いです。
独自のプログラムをWebブラウザ上で実行するとき、Webブラウザの拡張機能がよく使われます。
さまざまな開発者によって無料で提供されているものもあり、便利に使っている人も多いでしょう。

しかし、このような拡張機能を新たに開発するのは少し面倒ですし、使うときにはインストールが必要です。
個人で使うのであれば問題なくても、会社ではセキュリティポリシーなどでインストールが制限されていることもあります。

このような制限がなく手軽に使えるのが、Webブラウザが備えるブックマーク(お気に入り)機能です。
よく使うWebサイトのURLを登録する使い方が一般的ですが、URLだけでなくJavaScriptというプログラミング言語で書いたプログラムを登録できます。
このように、ブックマークとしてプログラムを登録し、Webブラウザ上で実行することで、Webサイトが用意していない独自の内容を処理できるようにしたものをブックマークレットといいます。

プログラムを変更するときは、登録したブックマークのURL欄の内容を編集するだけなので、ちょっとしたプログラムであればWebブラウザだけで作成・変更・削除ができます。

開発に使うプログラミング言語はJavaScriptだけなので、JavaScriptを少し学べば自由にカスタマイズできます。
JavaScriptに慣れている方であれば、思いついた処理を記述するだけでブックマークレットを作成できるでしょう。

昔はWebブラウザによって挙動が異なりましたが、現在はWebブラウザ間の互換性の問題もほとんどなくなりました。
本書に掲載しているようなちょっとしたプログラムであれば、どのWebブラウザでも問題なく動作します。

このように便利なブックマークレットですが、実際に使ってみないとその便利さはなかなか伝わらないものです。
多くの人にとってはブックマークレットでどんなことができるのか、どのように使えば便利なのかわからないものです。

そこで本書ではよく使われているブックマークレットを作ることを通して、その仕組みを解説することで、自由にカスタマイズできるようになることを目指します。
「32本ノック」というタイトルの通り、練習問題を解くことで考えながら学ぶことを目的にしていますので、まずはご自身で考え、入力してみてください。

その後、作ったプログラムに機能を追加していくことで、JavaScriptやHTML、CSSの知識を深めることにつながるはずです。
HTMLのDOMを操作するためのCSSセレクタや正規表現、便利なサービスの活用など、知識の幅が広がることを期待しています。
増井敏克
htmxが話題ですが、このライブラリを使おうと思ったとき、HTMLやCSSだけでなく、HTTPやDOMについての知識がないとどのように記述すればいいのかわからないものです。
そこで、このhtmxを使うにあたって最低限知っておきたい知識をまとめました。
世の中にはPHPについての解説書が数多く存在しますが、パッケージ依存関係管理ツール「Composer」について詳しく書かれた書籍はまったく見当たりません。
もちろん、PHPについての書籍の一部にComposerについての解説はありますし、インターネット上でもいくつかのサイトで解説されています。

しかし、日本語のサイトではいずれも断片的な情報が多く、提供されているパッケージを利用するときの使い方の解説がほとんどです。自分でパッケージを作成するための情報を集めるには、さまざまなサイトを探す必要があります。

英語で作成されたComposerの公式サイトを読む方法や、その日本語訳を読むこともできますが、あくまでもツールのマニュアルという感じで、体系的に整理されているとはいえません。

そこで、2019年に開催された第1回技術書同人誌博覧会(技書博)や技術書典7では、本書の第1版を頒布しました。当時はComposerが1.8.6、PHPが7.3.6という環境でした。
それから4年が経ち、その間にComposerが1から2にバージョンアップし、PHP 8が登場しました。
第1版ではComposerを使うサンプルプログラムとして、「Twitter(現X)に投稿するAPI」を使用していましたが、現在はこのAPIもバージョンが変わっています。

このため、第2版として2023年11月現在の最新バージョンに更新して、サンプルプログラムも変更しています。
いよいよインボイス制度の開始まで1年ちょっとになりました。
しかし、まだ「インボイス制度って何?」「自分に関係あるの?」と思っている人がたくさんいます。

そこで、インボイス制度のかんたんな解説とともに、フリーランスエンジニアが知っておくと得する制度をまとめました。
特に、フリーランスエンジニアがシステム開発などに取り組むだけでなく、技術書を書いたりするときに使える制度を詳しく書いています。
メモアプリ「Obsidian」を使ってノートを作成するときには、Obsidianの使い方だけでなく、「Markdown」という記法について学ばなければなりません。
Markdownについて知ればうまくノートが作成する訳ではなく、デジタルなノートを書くときには、その管理方法についてのノウハウもあります。

そこで、Obsidianの使い方やMarkdownの書き方だけでなく、デジタルなノートを作成するときの考え方やコツをまとめました。
さらに、Obsidianを使うときに便利なプラグインや、データベースとして使う方法についても紹介しています。
パッケージを使うことはPHPの開発では必須ではありませんが、現在は多くのフレームワークやライブラリがComposerによるパッケージを使用しています。
Composerを使いこなすことは、パッケージが当たり前のように使われる現代のPHPerにとっては必須といえる知識です。
つまり、パッケージを開発するPHPerだけでなく、パッケージを利用するPHPerも知っておく必要があります。
フリーランスや副業として技術書を書く場合、会社員としての給与所得以外に個人事業主として開業届を提出し、事業所得を得る方法もあります。 個人事業主をサポートするさまざまな制度もありますが、自分で意識的に調べないと誰も教えてくれません。調べようと思っても、普段から聞きなれない言葉だと、詳しい内容や違いがわかりにくいものです。 しかも、同じフリーランスでも「エンジニア」と「技術書の執筆」では使える制度が違う場面もあります。そこで、技術書を執筆するときに、フリーランスや副業として取り組みたい人が得する情報を提供します。執筆する人以外でもフリーランスになりたい人には役に立つ内容だと思います。
フリーランスや副業として技術書を書く場合、会社員としての給与所得以外に個人事業主として開業届を提出し、事業所得を得る方法もあります。
個人事業主をサポートするさまざまな制度もありますが、自分で意識的に調べないと誰も教えてくれません。
そこで、フリーランスや副業として取り組みたい人が得する情報を提供します。
技術書の執筆に限らず、フリーランスになってみたいエンジニアの皆さんにも参考になると思います。