2023-01-01から1年間の記事一覧

Go Developer Survey 2023 下半期結果を読んでみた

Go

Goの公式ブログで2023年12月5日に公開されたGo Developer Survey 2023 H2 Resultsを読んでみたので気になったところをメモってみました。 go.dev Goを使って開発している人はもちろんのこと、Goに興味がある人は軽くでも読んでみると新たな発見があり面白い…

「スタッフエンジニア マネジメントを超えるリーダーシップ」を読んでみた

ソフトウェアエンジニアのキャリアラダー(特にシニア以上)について理解を深めたかったので、スタッフエンジニアの本を読んでみました。 スタッフエンジニアは誰向けの本か? ソフトウェアエンジニアのキャリアラダー スタッフエンジニアの典型的な4つのア…

React.jsのオフィシャルサイトのLearn React を読み直してみた

React.jsのオフィシャルサイトのLearn React (https://ja.react.dev/learn) を改めて読み直したました。 Reactを学習し始めたときだけでなく、Reactに慣れてきたときこそ読み直すとまた新たな学びがありました。より深くReactを理解して使いこなすためにもぜ…

エンジニアリングマネージャーになったら読みたい本・サイト6選

ソフトウェア開発のエンジニアリングマネージャー(EM)になりたてのときは、EMとしてどういった役割が求められ、何をしたらいいのかわからないことばかりではないでしょうか。 マネジメントは経験学習が効果的な分野ですが、実践だけではなく学びと併用して…

ノーコードツール bubble で Todoアプリを作成してみた

ノーコードツールの bubble で Todoアプリを作成してみました。コードを書かずに小1時間で簡単に作ることができました。 ノーコードツール bubble とは bubbleでつくったTodoアプリの紹介 bubble で Todo アプリを作る ノーコードツール bubble を使った感想…

「プロダクトマネージャーのしごと 第2版」ってどんな本?

オライリーから出版されている「プロダクトマネージャーのしごと 第2版」は、地に足がついた実践的なプロダクトマネジメントの本です。本書を読むことで、プロダクトマネジメントの日々の業務に活かせる学びをすぐにでも見つけることができるでしょう。 この…

全体像を見失わずにプロダクトを開発し続けるユーザーストーリーマッピング

アジャイル開発では、機能をストーリーという形でタスク分解することで短期間で動くソフトウェアを作り続けることができます。 しかし、チームや開発規模が大きくなってくると、タスク分解したことで全体像が見えづらくなり 「自分たちがどこに向かっている…

プロダクトマネジメントの「問題の探索はなぜ重要なのか?」を考えてみた

ソフトウェアのプロダクト開発をしていると、「XXXという機能がほしい」、「顧客がYYYをほしいといっていた」、「ZZZもやる必要がある」といったように、何をつくるか?といった解決策に目が向きがちです。 しかし、多くのプロダクトマネジメントの書籍では…

5分で分かった気になる!プロダクトマネジメントのすべて

プロダクトマネジメントについて網羅的に学べる「プロダクトマネジメントのすべて」の要約記事です。 「プロダクトの軸がない」、「プロダクトマネジメントがいまいちうまくいっていない」、「プロダクトチームがいまいちワークしていない」といったことはな…

10分でわかった気になる!INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント 第2版

プロダクトマネージャーのバイブル的な本として有名な「INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント(第2版)」の要約記事です。 書籍内では、シリコンバレーで行われているIT企業でのプロダクトマネジメントの手法が紹介されています。 プロ…

プロダクトマネジメントって何!「ゼロから始めるプロダクトマネジメント」読んでみた

プロダクトマネジメントにおいて有名な書籍はいくつかありますが、ソフトウェアのプロダクトマネジメントの基本を短時間で学ぶために「ゼロから始めるプロダクトマネジメント」という書籍を読みました。 「プロダクトマネジメント」という言葉は知っているが…

「LangChain & Streamlit による ChatGPT API 徹底活用」をやってみた

Zenn Bookの「つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用」をやってみました。 Pythonにあまり詳しくなくても、PythonのLangChainとStreamlitというライブラリを使い、とても簡単にChatGPTを使ったAIアプリを…

Code Interpreterで タイタニックの データ分析をしてみた

ChatGPTのCode Interpreter を使って、kaggleのタイタニックのデータ分析をしてみました。 タイタニックが有名なモデルな可能性がありますが、「データ可視化」、「データの前処理」、「複数のモデルのトレーニング・精度比較」、「生成したモデルでの予測」…

Rustのエラーハンドリングを楽にするanyhowの使い方

Rustでいろいろなエラー型のエラー処理が大変だなと感じる場合は、dtolnay/anyhow を使うことで簡単にエラーハンドリングをシンプルにすることができます。 この記事では、anyhowの主要な使い方を3つ紹介しながら、どれだけ簡単にエラー処理を実装できるかを…

Rustで独自のエラータイプの実装を楽にするthiserrorの使い方

Rustで独自のエラータイプを実装する必要がある場合、dtolnay/thiserror を使うことで簡単にカスタムエラータイプを実装できます。 この記事では、thiserrorを「利用した実装」と「利用していない実装」を比べることで、どれだけ簡単にカスタムエラータイプ…

RustのWebアプリケーション開発でよく利用するクレート(2023年版)

RustのWebアプリケーション開発でよく利用するクレートをまとめてみました。 選定方法は、awesome-rustや各リポジトリのスター数などから独断と偏見で記載しています。あくまで個人的な見解なので、「こんなのもあるよ」「ここは違うんじゃないの」などあれ…

RailsやRSpecの起動が遅いと感じたときの高速化テクニック

開発をしていてRailsやRSpecの起動がなんか遅いなーと感じることはないでしょうか。 はじめは遅いと思っても次第に慣れていってしまいがちですが、日々の開発を通してRailsやRSpecの起動は何回も実行するので塵も積もれば山となってしまうので改善したいもの…

RustでOSを作りながら学ぶ!オペレーシングシステムの仕組み

Writing an OS in Rust は、ステップバイステップでRustを使って軽量なOSを作成するチュートリアルです。手を動かしながらOSを少しずつ作ることで、カーネル、CPU割り込み、メモリ管理といったOSの基本的な仕組みについて理解を深めることができます。 OSの…

メタプログラミングRuby 第2版の読者向けの練習問題集やってみた

「メタプログラミングRuby 第2版」はRubyをより深く使いこなすための素晴らしい本ですが、理解を深めるには実際にコードを書いてみることが不可欠です。読者向けの練習問題集がGitHub - kinoppyd/reading-metaprogramming-rubyに公開されているので、手を動…

詳解!Ruby on Railsの初期化プロセス - railsコマンドからアプリケーションの起動まで

Railsの初期化プロセスは複雑で、数多くのステップが絡み合っています。この記事では、その複雑さをステップバイステップで確認していくことで、Railsの初期化順序を理解できます。そして、Railsの初期化にまつわる改善やバグ解消を行いやすくなるでしょう。…

Railsのログ出力をフィルタする config.filter_parameters の仕組み

ログはとても重要ですが、機微情報を出力してしまうとすると大きなリスクにつながります。Railsではconfig.filter_parametersとActiveSupport::ParameterFilterを用いてリクエストパラメータやカラムの値をフィルタリングしています。この記事では、具体的に…

解説みながらISUCON12予選でSQLiteのままRuby実装で8万点にいけた

isucon.net 2022年に開催されたISUCON12予選を「ISUCON12 予選の解説 (Node.jsでSQLiteのまま10万点行く方法) : ISUCON公式Blog」をみながら試してみて、SQLiteのままRuby実装で86,910点(予選No1水準)までいけました。どのような流れでスコアを高めていけ…

RustのWebアプリ開発に慣れるためRustのactix-webとdieselを使ってMedium.comクローンを作ってみた

RustのWebアプリケーションの開発に慣れるためRustのactix-webとdieselを使ってMedium.comクローンを作ってみました。作り方は、 https://github.com/gothinkster/realworld リポジトリのRustの実装を写経しました。この、Medium.comクローンではAPIは20API…

Rubyのプロファイラメモ

プロファイラを活用することで、プログラムの実行速度や使用リソースの収集ができます。そして、プロファイル結果を解析することでコードのボトルネックを把握し、プログラムのパフォーマンスチューニングを効率的に実施できます。 プロファイラとは何か プ…

VSCodeの開発効率を向上させる便利なショートカット集

VSCodeのショートカットキーを活用することで、プログラミングの作業効率を向上することができます。 この記事では、普段の開発作業で使える有効なショートカットを紹介します。キーバインドを覚えるのは大変ですが、マウスを使わずVSCodeのショートカットを…

LlamaIndexを使ってChatGPTにGitHubリポジトリについて答えてもらう

現時点でChatGTP-4の最新の学習データは2021年9月 1になっており、それ以降の情報は聞いても教えてもらえません。 例えば、次のようにGitHubの llama_indexリポジトリについて聞いてみた結果「詳しく説明できません」と回答されてしまいます。 GPT-4にllama_…

Rustアトリビュート活用法!コンパイラへの指示からテストまで幅広く説明

Rustのアトリビュートは、関数や構造体などの項目に追加情報を注釈することができる強力な機能です。 Rustのアトリビュートを使いこなすことで、コンパイラへの指示やテストの効率化など、幅広い分野で活用できます。 この記事では、アトリビュートの使い方…

Rustのエラーハンドリングガイド!Option型やResult型を使いこなす

Rustでは、他の言語のようにnullや例外(Exception)が存在しません。 その代わりに、Rustは「値の存在有無をOption型」、「処理の成功・失敗をResult型」で扱います。また、回復不能なエラーが発生した場合にはpanic!でプログラムの実行を中止させることがで…

初心者でもわかる!Rustの所有権をわかりやすく解説

Rustの所有権について、初心者でも理解しやすいようにわかりやすく整理してみました。 本記事では、基本的な所有権の説明から具体的な使い方まで、分かりやすいサンプルコードを交えて解説します。Rustの鍵となる所有権の概念を楽しく学びましょう! Rustの…

Rust初心者必見!Rust初心者が実務レベルになるまでの学習ステップ

Rustプログラミングの学習を始めたばかりのあなたへ。実務で活躍できるレベルまでスキルを磨くための効果的な学習ステップを解説します。 本記事を参考に、Rustの知識を確実に身につけ、実務で役立つスキルを習得しましょう。 Rustを学ぶ(公式サイト) ステ…