2023-01-01から1年間の記事一覧
現在Recursionに取り組んでいる。 そこで学んだことをメモする。 再帰処理 再帰処理とは、とある処理の中で、自分自身を呼び出す処理のこと。 詳しくは以下の記事で紹介した。 note-tmk.hatenablog.com 最大公約数 複数の数値が存在するとき、各数値の約数の…
現在Recursionに取り組んでいる。 そこで学んだことをメモする。 ハノイの塔 3本の棒と複数の円盤を用いたシンプルなパズル。 円盤を目的の棒に、なるべく少ない移動回数で移動させるというもの。 円盤は全てサイズが異なり、サイズの小さい円盤は大きい円盤…
現在Recursionに取り組んでいる。 そこで学んだことをメモする。 フィボナッチ数列 次の漸化式で表現される数列をフィボナッチ数列と呼ぶ。 計算量はO(2n)である。 F0 = 0 F1 = 1 Fn = Fn-1 + Fn-2 (n ≥ 2) ja.wikipedia.org フィボナッチ数列は自然界でも観…
現在Recursionに取り組んでいる。 そこで学んだことをメモする。 テキストデータの圧縮 Recursionの練習問題で、以下のような問題が出た。 # 文字列を以下のように圧縮する関数を書け "aaabbbbccd" → "a3b4c2d" この関数は再起処理を用いるとシンプルに実装…
現在Recursionに取り組んでいる。 そこで学んだことをメモする。 再帰処理 再帰処理とは、とある処理の中で、自分自身を呼び出す処理のこと。 例えば以下のような処理。 def sum(n): if n == 0: return 0 return sum(n-1) + n これを実行すると以下のように…
感想を書いていく。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d=c.createEle…
読書中にメモった内容を記載。 一言で言うと、プロジェクトマネジメントの実力は「周囲への誠実さ」と「包括的なスキル」を身につける必要がある、と感じた。 以下商品リンクとメモ。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||func…
flutterにて開発を行っていた際、次のようなワーニングが表示された。 The imported package 'パッケージ名' isn't a dependency of the importing package. Try adding a dependency for 'パッケージ名' in the 'pubspec.yaml' 以下のリントツールのルール…
Flutterではコードを実行する際にモードが3つ用意されている。 Release Debug Profile それぞれ次のような用途で用いる。 Release 以下のコマンドで実行する。 flutter run --release 特徴は以下。 リリース準備をする際に用いる assert()は無効 実行速度が…
本書の概要 理論編 実践編 ユニットテスト編 実践編の適用例 コードを読みやすくする 名前は機能の要約 コメントはわかりにくい名前の代替案になるべきではない コメントはなぜそのコードが存在するかを説明すると良い 冗長なコメントはつけない コードは1行…
メソッド viewDidLoad() viewWillAppear() viewDidAppear() viewWillDisappear() viewDidDisappear() サンプルコード UIViewControllerにはライフサイクルがあり、ライフサイクルの節目ごとに処理を行うためのメソッドが用意されている。 以下で各メソッドの…
UILabelはデフォルト設定の場合、サイズを超える文字列が入力されると切り捨てられてしまう。 全ての文字列を全て表示する場合、Linesプロパティに0を入れると表示される。
Xcodeで新しいファイルを作成する際に、いくつかの選択肢がある。 その際に「Swift File」と「Cocoa Touch Class」というものが表示される。 この2種類のファイルの違いについて説明する。 違い 「デフォルトの状態で何が書かれているか」が異なる。どちらも…
概要 この本が向いている人、向いていない人 向いている人 向いていない人 各パートごとのレビュー 基礎編 実践編 まとめ 概要 スクラム開発を実際の開発現場でどのように実行すれば良いかのヒントを与えてくれる書籍。 「基礎編」「実践編」とパートが分か…
ランキング参加中プログラミング Riverpodとは 使い方 インストール providerをグローバルで宣言 アプリ全体をProviderScopeでラップ ConsumerWidgetなどを継承したクラスを作成 providerから状態を取得 ref.watch ref.listen ref.read サンプル カウンター…
FlutterはUIを作成する際にConstraintsという情報を扱っている。 そのConstraintsを説明した記事が公式から出ている。 docs.flutter.dev このポストでは上の記事を読んで、個人的にメモに残したい内容を記載する。 Constraintsはウィジェットのサイズと位置…
ClipPathとは 使い方 ウィジェットをClipPathでラップ CustomClipperを継承したclipperクラスを作成 三角形 台形 曲線状に凹んだ正方形 星型 clipperクラスをClipPath.clipperに指定 ClipPathとは api.flutter.dev 画面上に表示されるウェジェットの形状を設…
Material Design 3 とは プロジェクトへの適用方法 デモアプリ Material Design 3 とは m3.material.io Googleのデザイナーがメンテナンスしているデザインシステム。 バージョン2と比べて、全体的に柔らかい印象のデザインになっている。 Flutterでは現在バ…
LinearGradientとは 使い方 2色のグラデーションを作成する 3色のグラデーションを作成する 2色の間隔を指定したグラデーションを作成する 任意の開始・終了位置のグラデーションを作成する LinearGradientとは api.flutter.dev LinearGradientはグラデーシ…
FVM(Flutter Version Management)とは FVMを使い始める前に FVMでSDKバージョンを切り替える手順 Flutterプロジェクトを作成する(新規にFlutterプロジェクトを作成する場合) FVMをインストール 各種設定を行う 環境変数 FVM_HOME .gitignore VSCode Andr…
BLoCパターンとは BLoCパターンはアプリケーション開発に用いられるアーキテクチャパターンの一つ。 ざっくり以下のような特徴がある。 UIとビジネスロジックを分離する streamを利用してイベントと状態を管理する 次の記事に非常にわかりやすく説明されてい…
意味 Initializer listとは、Dartのクラス内でコンストラクタ作成時に使用するキーワード。 このキーワードの役割は「メンバ変数を初期化する際の処理を記述する」こと。 使い方 基本の使い方は以下。 コンストラクタ() : 変数 = 値; 例 例で説明する。例え…
最近ジムでのトレーニングのお供としてワイヤレスイヤホンを購入した。 その際に調べた内容を共有する。ワイヤレスイヤホン選びの参考にしてほしい。 イヤホンのスペック ノイズキャンセリング ノイズキャンセリングとは 種類 PNC(パッシブ ノイズ キャンセ…
enum(列挙型)とは 定義方法 値の取得 caseの値をArray型で取得する caseの個数を取得する enum(列挙型)とは 同じ型のデータをまとめるデータ型。 定義方法 次の様に定義する enum enum名{ case case名 .... } 例えばいくつかの動物の名称を「動物」とい…
小数点第二位や三位など、任意の桁で四捨五入する方法を説明する。 方法 次の方法で任意の桁を四捨五入できる。 let digit: Int // 四捨五入したい桁 let val: Double // 四捨五入したい値 let adjuster = Double(truncating: NSDecimalNumber(decimal: pow(…
配列からランダムに要素を取得する方法を説明する。 インデックスで指定する randomElement()を使う 例として次の配列を使い説明する。 let colorCandidates: [Color] = [ Color.black, Color.blue, Color.red, Color.green, Color.yellow, Color.orange, Co…
aspectRatio()メソッドに渡す.fitと.fillの違いについて説明する。 違い .fit .fill 少し詳しく aspectRatio()メソッド 図例 .fit .fill 違い .fit 指定された領域内にオブジェクトが収まるように表示される。 .fill 指定された領域内をオブジェクトが埋め尽…
本エントリではSwiftにおけるキャスト(型変換)についてまとめる。 キャスト(型変換)とは 種類 アップキャスト ダウンキャスト 方法 アップキャスト ダウンキャスト as! as? 参照 キャスト(型変換)とは 特定のインスタンスのデータ型を、他のデータ型に…
treeコマンドとは 指定したディレクトリに配置されているディレクトリ、ファイルをツリー状に表示してくれるコマンド。 mama.indstate.edu learn.microsoft.com インストール Linux apt install tree Mac brew install tree Windows コマンドプロンプトで元…
Markdownは便利であり個人的にも多用している。 ただしテーブルを作成する際には、手打ちだとやや面倒。 そこで調べてみると以下のサイトが見つかった。 HTMLからもコピーできたりと、シンプルかつ多機能。 DeepLライクな見た目で使用しやすい。 markdown-co…