ソフトウェア

ソフトウェア ソフトウェア
ソフトウェア

try-catchは遅い

例外の処理は非常に遅い処理です。例外を投げること、tryブロックで囲み補足すること自体は問題ありませんが、使い方に気を付けないと深刻なパフォーマンス低下を引き起こすことがあります。極端に悪い例として、ループを抜けるための判定処理をtry-c...
ソフトウェア

最初に学ぶプログラミング言語の選び方

近年、プログラミングの人気が高まっています。仕事の効率化、教養のため、あるいは本業のエンジニアになりたいなど理由は様々かと思います。私もエンジニアとして「どんな言語を学んだらいいのか」と質問されることが増えてきました。本記事では私なりの考え...
ソフトウェア

複雑な処理フローやロジックをミス無く実装するコツ

ソフトウェア開発では仕様で決められた処理フローやロジックの実装を行う場合がよくありますが(製品によってはプログラミングの大半を占める)、複雑な要求の場合不具合の原因にもなりがちです。そのような場合、どのように実装すればミスが起こりづらいでし...
ソフトウェア

シンボル名の省略についての考え方

変数、関数などのシンボル名の命名に悩むことはよくあると思います。言わずとしれた名著「リーダブルコード」においても名前付けは1章割かれるぐらい大切で難しいテーマですが、今回は省略についての私の考えを述べたいと思います。シンボル名をつける場合、...
ソフトウェア

【Flutter】audioplayersで低遅延で再生する方法

Flutterの音声ファイル再生パッケージ、audioplayersは軽量で使い勝手が良いパッケージです。音楽再生に特化したアプリに使うには機能不足かもしれませんが、簡単なBGMや効果音の再生を行う場合には設定の手間が少なく便利に扱えます。...
ソフトウェア

自分のコードをGitHubに初めてpushするまでの流れ

自分で作成したコードをGitHubのリポジトリとして初めてpushする方法をまとめました。前提以下は既に用意されているものとします。pushしたいコードGitHubアカウントgitのインストール以下の環境で確認を行なっています。OS: ma...
ソフトウェア

【Dart】コールバック関数が呼ばれるかテストする方法

Flutter(Dart)の自作クラスやウィジェットにコールバック関数がセット可能な時、それが呼ばれるかどうかをテストするにはどうすれば良いでしょうか。関数が呼ばれるというとモックを使ったテストをすべきかと思いましたが、今回であれば以下のよ...
ソフトウェア

【Python】引数処理にsysよりargparseを使うべき理由

Pythonのコマンドライン引数処理でsysよりargparseモジュールを使うべき理由を、安全性やテストの観点から解説しています。
ソフトウェア

【Dart】Nullableなcallback型へアクセスする方法

Dart/FlutterでNullableなcallback型へアクセスする方法です。call()メソッドを使う方法下記のように呼ぶのが最も簡単だと思います。DartnullableCallback?.call();解説Nullableなc...
ソフトウェア

【Flutter】自作Widgetにプロパティを追加する方法

Flutterの自作Widget(カスタムWidget)に独自のプロパティを追加する方法を解説します。確認環境: Dart 3.3.3, Flutter 3.19.5ベースの自作Widget例として内部にボタンのみを実装したシンプルな自作W...