C#
はじめに 深層学習の勉強中に、プログラムでグラフを描画したときのメモです。WPFよりもWindows Formsで作る記事が多かったので、WPFでも描けるように色々調べました。 お品書き 参照の追加 XAMLデザイン 描画ロジック 実行結果 1. 参照の追加 どうやら Wind…
はじめに 前回は単層パーセプトロンについてやりました。単純な論理回路(AND, OR, NAND) は実装できましたが、このままでは組み合わせ回路が実現できません。特にXORはNANDとORで作りますが、単層ではNANDもしくはORのどちらかしか実装できません。なので、…
はじめに 最近話題の機械学習。その中でも深層学習を扱うところが多いですね。ゲームAIをはじめ、画像認識やセキュリティなど幅広く活躍しています。 自分も興味があったのですが、アルゴリズムが苦手で敬遠していました。しかし、やっぱり機械学習やってみ…
はじめに オブジェクト指向 (#10) でポリモーフィズムについて扱いました。ポリモーフィズムを意識すると、同じメソッドなのにクラスが違うと処理内容が変わるような処理ができます。つまり、操作名を共通化できます。 お品書き 今回扱う内容です。 ポリモー…
はじめに 前回は湧き潰し自動化を改良しました。具体的には任意の平面座標における湧き潰しを、地形を考慮して行うプログラムに直しました。 今回は指定範囲内を更地(整地)にするプログラムを作りたいと思います。整地は建築のための前準備ですね。整地し…
はじめに 前回は湧き潰しのプログラムを書きました。が、前回のプログラムのままでは障害物のブロックがあったときに、ブロックを置き換えてしまいます。ブロックを置き換えてしまうということは、地表に松明が設置されないことがあるので湧き潰しに不備が出…
はじめに 前回はプレイヤーの位置座標とブロックの配置方法についてやりました。今回は前回に引き続き、湧きつぶしをやりたいと思います。 湧きつぶしはフィールド上にモンスターがスポーンしないよう、暗い場所にたいまつなどの照明を一定間隔で置いていく…
はじめに 前回は環境構築とマイクラに対してコマンドを送れるようにしました。今回はプレイヤーの座標を取得し、ブロックをその座標へ配置していきます。 お品書き ブロックを置くコマンド C# を用いてブロックを配置したいが... プレイヤーの座標を取得する…
はじめに このシリーズはdocker環境ではなく、jarファイルで起動したforgeサーバを用います。また、サーバの環境構築はできていて、遊べる状態を前提としています。 Minecraft自動化ですが、「自動化」というと「自動収穫」や「経験値トラップ」を思い浮かべ…
はじめに 連想配列は配列の要素ひとつひとつに名前を付けるようなイメージです。配列のときはただ要素数を用意しただけなので、要素を呼び出すためには 変数名[値] を指定する必要があります。が、この値が問題で、何番目の要素に欲しいデータが入っているか…
はじめに いままで扱ってきたクラスやメソッドなどはオブジェクト指向の考え方に沿って動いています。実はオブジェクト指向を調べると、人によって解釈が異なります。最近はオブジェクト指向という考え方は必須ではない傾向にあるので、ぼんやり「こんなもん…
はじめに 前回までにクラスやメソッド、プロパティなどについて扱いましたが、これらのデータは自由に上書きしたり参照することができました。しかし、中にはいじってほしくないデータがあると思います。今回はアクセスレベルを変更する修飾子について扱いま…
はじめに 前回はクラスについて扱いました。今までに関数や変数を扱ってきましたが、実はクラスを介していると名称が変わります。クラスや今回の内容を扱ってちょっとしたアプリを作ってみます。 お品書き 今回扱う内容です。 メソッド フィールド クラスを…
はじめに 前回は関数についてやりました。関数は複数の処理をまとめておき、使用するときに呼び出して使用します。引数を定義しておけば、外から値を受け取り、その値を使った処理も可能です。今回はクラスについてやります。クラスは処理をする上での設計図…
はじめに 前回は配列 (多次元配列) についてやりました。配列を使うことで同じ型を扱う、あるいは同じようなグループに所属している要素を 1 つの変数にまとめるやり方でした。今回はガラッと変わって関数についてです。いくつかの処理をまとめておき、使い…
はじめに 前回は繰り返し処理をやりました。今回は配列について扱います。入れておきたいデータが複数ある場合、それぞれのデータを1つのグループにまとめることができます。 お品書き 配列 配列とfor 文 二次元配列 配列を使ったアプリ 1. 配列 配列は同じ…
はじめに 前回は条件分岐を行いました。今回は繰り返し処理についてです。文字通り、何度も同じような処理をさせたいときに使用します。しかし、アプリでは繰り返し処理をそのまま用いるとよくありません。なぜよくないかは実際に動かして確認してみます。 …
はじめに 前回までに変数と型をやったので実際に変数同士を比較して、条件分岐していきます。ただ変数同士を比較するだけではアプリとして面白くないので、今回はチェックボックスやラジオボタンといったコントロールを扱ってみます。 お品書き 今回やる内容…
はじめに 前回は出力についてやりました。プログラムを処理していくなかで、何も表示されないと正しく動作しているかが分かりません。加えて、アプリだとユーザ目線になって分かりやすく表現できているかも考慮しなければなりません。出力はもちろん大切なの…
はじめに なぜ今更WPFなのかと思っている人もいるかもしれませんが、自分の学習のためにまた 1 から書いていこうと思います。いろんなサイトで投稿しているうちにバラバラになってしまったので、ここで統一していきます。実は14回分くらいのストック (プログ…
1. きっかけ MacOS で文献管理システムを作ろうと奮闘しているとき、スキャフォールドの仕方が分からず色々調べながらやってました。できたにはできたのですが、思ってたのと違ったので失敗談として記録。 2. 環境 MacOS Mojave 10.14.1 .Net Core 2.1.400 3…
1. きっかけ とある学校の授業で形態素解析をやることになりました。Python で作るようにとのことでしたが、C#が大好きな私はついに手を出してしまいます。「MeCab をWPFアプリで作ってみたい」と...。 2. Nugetの導入と実装 MeCab は Nugetにて導入できます…
1. MacOS でも Core を動かしたい たまたま MacOS の環境があったので、Core を動かしていきたいと思います。(ASP.NET Core と書くと長いので今後は Core と書きます。) さて、先日まで文献管理システムを Linux で動かしていましたが、Mac でも同じように…
1. 前回のあらすじ localdb から MariaDB に移行し、データベースの様々な設定を行いました。そして文献管理システムと接続し、無事にローカルホストで実行することができました。 2. 今回の目標 ローカルホストでできたのはいいのですが、せっかくなのでホ…
1. 前回のあらすじ CentOS にプロジェクトを移行し、デプロイしました。dotnet コマンドを利用し、ローカルホストでサーバを立てましたが、データベースのところでエラーになってしまいました。 2. 問題点と目標 問題点はデータベースが対応していないところ…
1. 前回のあらすじ 文献一覧へのリンクを設定し、文献検索を行えるようにしました。日本語化した人はウェブページが日本語になっていると思います。 2. 今回の目標 完成したアプリを仮想マシンに移行します。また、仮想マシン上で dotnet コマンドを用いて実…
1. 前回のあらすじ 前回は文献管理用データベース・スキャフォールディングを作成し、MVCモデルを用いて管理ページを作成しました。 2. 今回の目的 このままではURLからダイレクトに接続する必要があるため、文献一覧へのリンクフォームを作成します。また、…
1. 前回のあらすじ Identity をカスタマイズすることでメールアドレス認証だったのがユーザ名認証になり、ログイン後の表示がユーザ名になりました。また、パスワードの制約を緩くするため、Configureメソッドを修正しました。 2. 今回の目標 文献管理システ…
1. 前回のあらすじ Identity のパスワード制約を Startup.cs から変更しました。また、新規登録にユーザ名の入力フォームを作成しました。 2. 前回のつづき この状態では、ログインした後の表示名がメールアドレスのままになっているので今回はここの表示を…
1. 前回のあらすじ 前回はIdentity 認証ページの日本語化を行いました。日本語化を行うにはスキャフォールディングを追加し、Identity に関する View を導入することで、表示部分を変更できました。また、入力フォームは各 View の中に含まれている .cs ファ…