今週のQiita技術書まとめ
2024年3月17日配信
最適なデータベース設計とは
初めに バックエンドエンジニアとしてそれなりに仕事をしているので、度々データベースのパフォーマンスを調査する事がある。この機会に、最適なデータベースとは何なのか一度棚卸ししたいと思い、データベース設計のベストプラクティスを見直してみた(ついでに社内でRailsを触れているのでデータベース設計も軽くRailsで書いた) 最適なデータベース設計とは データベースの正規化とパフォーマンスのバランスは、デ…
kindle unlimitedで無料で読める超良書45選【2024最新版】
はじめに こんにちは!kindle unlimitedヘビーユーザーです。 kindle unlimitedは定額料金で、登録されている書籍が読み放題というサービスです。 今回はその中で私が読んだ書籍から、おすすめのものを紹介します。 現在は1ヶ月の無料体験もできます。
なぜ、あなたの仕事は終わらないのか
【世界を一変させたWindows95の設計思想を生み出した伝説の日本人が教える 人生を制するスピード仕事術】 本書の著者、中島聡氏は、 「ドラッグ&ドロップ」 や「ダブルクリック」などの概念を生み出した 元マイクロソフトの伝説のプログラマーです。 多忙を極め、納期遅れが蔓延するプログラマーの世界で、 中島氏は「一度も納期に遅れたことがない男」として活躍。 なぜ締め切りを守りつつ、世界を変える発明ができたのか? この思考を知れば、きっと「楽しい仕事」でいっぱいの未来が訪れます。 1.なぜ、あなたの仕事は終わらないのか 2.時間を制する者は、世界を制す 3.「ロケットスタート時間...
超雑談力 人づきあいがラクになる 誰とでも信頼関係が築ける (五百田達成の話し方シリーズ)
「どうして?」より「どうやって?」と聞く。「あいうえお」でリアクションする。天気の話や時事ネタはNG。超カンタンな話し方のコツ満載!
「Elixir実践入門」の所感(第12章〜第15章まで)
日本国内のElixir界隈で活躍されている方々の共著として出版された「Elixir実践入門」が届いたので、読み進めています。 第12章から第15章まで読み進めたので、それぞれの章について所感を書いてみます。 ちなみに、今回の12章から15章は、いわゆる「Elixirにおける機械学習の実践入門」という位置付けで捉えておけば良いでしょう。 章としては取り扱われていないのですが、機能上、全体的に「Liv…
Elixir実践入門──基本文法、Web開発、機械学習、IoT
本書は、Elixirの言語仕様と実践的な利用方法を解説した入門書です。 Elixirは、低遅延で高い可用性を要求される分散システムの構築と運用を目的とするErlang VM上で動作する言語で、その文法はRubyから大きく影響を受けています。ゲームやチャットプラットフォームなど大量のコネクションとトラフィックを扱う必要のあるシステムを構築するのに利用されています。有用なツールやライブラリが多数開発されているのも後押しとなり、近年ではさまざまな分野に活躍の場を広げつつあります。 本書では、Webアプリケーション、機械学習、IoTなどでのElixirの活用方法を解説します。サンプルアプリケ...
理解しやすいコードの書き方~理解容易性の7つの観点~
はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。
Tidy First?
コードを「整理」して読みやすくするための理論とテクニック! コードを整理して読みやすくするには、扱いやすい部分に分割する必要があります。本書は、XPの考案者でデザインパターンやテスト駆動開発のパイオニアであるケント・ベックが、システム全体の構造を考えて、どの段階で、どのように整理するかを提案します。たくさんのコードを含んだ大きな関数がある場合、それを論理的に小さなかたまりに分割する方法を解説し、結合性、凝集性、コード整理の費用対効果など、ソフトウェアデザインの背後にある理論を学びます。
リーダブルコード
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
脳に収まるコードの書き方
コードの複雑さを減らし、人の頭で理解できるソフトウェア設計を解説! 開発者が優れたソフトウェアを構築するためのソフトウェア設計のメンタルモデルを考察し、ソフトウェアの設計やコードを書く際に、人の頭で理解しやすいようにするための方法を解説します。ソフトウェアが複雑になることを避けるため、設計/開発/API/テストなど一連の流れで、ソースコードをどのように整理して構造化するかを紹介し、それをチームメンバーがスムーズに理解し、作業を効率的に進めるための方法を説明します。
なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ
EDOCODE( - こちらは社内勉強会で発表した資料を元にしています。 - 関数型言語の知識がほとんどないエンジニアがなっとく!関数型プログラミング( Functional Programming( JavaScript, TypeScript)でサンプルコードを記載しました。 - 書籍のソースコードはこちら( そもそも関数型プログラミングとは?
なっとく!関数型プログラミング
JavaやRubyのような命令型のオブジェクト指向言語を使って、それなりのアプリケーションをいくつか作成した経験がすでにある場合は、本書を最大限に活用できるだろう。チームで仕事をしていたときにバグやメンテナンスの問題に散々悩まされたという場合、本書は大きなプラスになる。なぜなら、そのような場面で真価を発揮するのが関数型プログラミングだからだ。本書の目的は、関数型プログラミングの基本的な概念の全容を把握したいプログラマに、ステップ形式の実用的なガイドを提供することにある。