[Flutter] Firestore を導入する方法のまとめ (Android)

Flutter と Firestore Flutter は Google が中心になって開発が進められているオープンソースのクロスプラットフォームに対応したモバイルアプリケーションフレームワークです。 1ソースでお手軽に iOS, Android のアプリをビルドすることができ、とっても素晴らしいフレームワークです。 Google謹製ということで、もちろん同じく Google が運営しているクラウ […]

[WPF] プログレスバーの使い方まとめ

WPF でプログレスバーを使う アプリ内で時間のかかる処理を行う場合、プログレスバーを画面に表示することでユーザーはその進捗を直感的、視覚的に把握できるようになります。 何の表示もないまま時間のかかる処理を実行すると、画面が固まっているように見えてユーザーを不安にさせてしまいます。したがって重たい処理を行う時はプログレスバーなどで進捗を示してあげましょう。 WPFには標準のコントロールとして、Pr […]

[Android] エミュレーターがフリーズしたり起動しないときの対処法

Android エミュレーターがフリーズした Android アプリ開発を行っている際、エミュレーターがフリーズして動かなくなることがありました。 具体的にはエミュレーター自体は立ち上がるのですが、操作を一切受け付けいないというような状況です。 上のような状態でフリーズするのでアプリの動作が確認できずに困ってしまいました。調べてみると、Android Studio からエミュレーターを初期化しなけ […]

[WPF] Visiblity に bool値をバインドする方法(BooleanToVisibilityConverter)

コントロールの表示非表示を切り替える Visibility 要素の表示状態を指定するプロパティ Visibility は Enum です。そのため、単純にbool値をバインドして要素の表示を切り替えることはできません。 しかし表示非表示を切り替えるためにbool値で制御したい場面は多々あります。 基本的には異なる型でバインドするには Converter を作成するのが作法です。ほとんどの場合自作す […]

[WPF] 初期フォーカスをXAML上で設定する方法

WPFで初期フォーカスを設定したい WPFの画面を作成しているときに、初期フォーカスを特定のコントロールに設定したいことがありました。その方法を調べたのでメモします。 focus() Window の Loaded イベントでフォーカスしたいコントロールの focus() を呼ぶ方法があります。 private void Window_Loaded(object sender, RoutedEve […]

[WPF] Windowを閉じずに隠しておくための実装

WPF の画面表示が遅いので何とかしたい WPFではリッチな画面を作れる反面、画面にコントロールが多い場合はそれなりのコストがかかってしまいます。 頻繁に画面を閉じたり開いたりする場合、開きっぱなしにしたほうが操作の体感速度が改善する場合があります。 ということでその方法をまとめます。 SubWindow を一度開いたら閉じずに隠したままにします。 再利用する画面をシングルトンにして、閉じずに隠す […]

24 評価プロセス(関数呼び出し式) [オリジナル言語インタプリタを作る]

関数と関数呼び出し式 関数と関数呼び出し式の評価を実装します。ここまで字句解析、構文解析、そして評価と実装を進めてきましたが、この実装で最後です。 関数の単純な呼び出しはもちろん、引数で関数を渡したり、クロージャも動作します。 このような動作を実現するにはまず、インタプリタにおける関数の内部表現を定義しなければなりません。整数や真偽値と同じようにオブジェクトの1つとして扱います。 それから Eva […]

23 評価プロセス(環境とlet文) [オリジナル言語インタプリタを作る]

環境を使ったlet文による束縛 ここではインタプリタにlet文の対応を追加し変数束縛の機能を実装します。let文に対応するということは、合わせて識別子にも対応しなければなりません。 let a = 1; この文を評価した後、x という識別子を評価すると 1 となるようにしなければならない。つまり、”a” という識別子と 1 という値の紐づけを何かしらの方法で管理する必要があ […]

22 評価プロセス(エラー処理) [オリジナル言語インタプリタを作る]

インタプリタのエラー処理 これまでの評価の実装で NullObject を返していたところがいくつかあります。未定義の動作で全て Null を返しているところは本来エラーとしてプログラムで処理できるべきです。そうしないと利用したりあるいはデバッグするのが大変です。 ここで実装しようとしているのはユーザー定義のエラーではなく、内部のエラー処理のことです。実行中に発生しうる誤った演算子の利用、未定義の […]

21 評価プロセス(if式, return文) [オリジナル言語インタプリタを作る]

条件分岐 if式 これから条件分岐の評価、if式の評価を実装します。if式の例を示します。 if (x > y) { x } else { y } このようなif式を考えるとき、どのような時にifのブロック文が評価されるでしょうか。条件式(x > y)が true の時なのか、それともtruthlyな値(trueもしくは非Null値)であればよいのか、これは設計上の判断です。この判断は […]

1 28