functionalpg

C#、C++ でプログラム開発に携わっています。いままで蓄えてきた知識を多くの人と共有…

functionalpg

C#、C++ でプログラム開発に携わっています。いままで蓄えてきた知識を多くの人と共有し、一緒に技術を磨いていけたら嬉しいです。 最近、オブジェクト指向型での開発に限界を感じることもあり、関数型言語の利用を模索していて、それについても技術を公開していきたいなと思っています。

マガジン

  • 10分間プログラミング日記 javascript編

    プログラミングを全くしたことがない方から、オブジェクト指向では書いたことがないプログラマの方を対象に、テトリス作りを通してオブジェクト指向によるプログラムの書き方を紹介します。丁寧に解説しますので、どうぞよろしくお願いします!

  • テトリスでプログラミングを試そう

    インターネット上でもまだまだ情報が少ない .NET MAUI を用いて、マルチプラットフォームで動作するテトリスを作成しています。1記事が15分程度で読める程度のコンパクトな記事にしてますので、気軽に読んでもらえると嬉しいです。

  • 語順タイピング web アプリ

    語順タイピング web アプリの制作過程です。javascript でオブジェクト指向を学びたい方に役立てる記事となっています。実際に動作するアプリを公開していますので、よろしければどうぞご覧ください!

  • 本気の英語学習

    語順タイピング webアプリを活用し、英語を音で聞いて、英語を頭に焼き付ける本気の英語学習です。webアプリの作り方も紹介していますので、興味があれば是非見てみてくださいね。

  • モナドを短時間で理解したい人へ(無料部分)

    関数型言語のモナドは難しいと言われています。しかし、モナド自体の概念を理解することは、それほど難しくありません。「できるだけ短時間で」本質を理解できるようにした記事になっています。是非ご一読ください!

最近の記事

本気の英語学習(8) アメリカのスクールバス

このシリーズ内へのリンク: 第1回 / 前回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 Yellow school buses are real and ever

    • 本気の英語学習(7) アメリカで筆記体は学習する?

      このシリーズ内へのリンク: 第1回 / 前回 / 次回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 I was the last age group in Indi

      • 本気の英語学習(6) アメリカの中学校の体育授業にて

        このシリーズ内へのリンク: 第1回 / 前回 / 次回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 I just had a flashback to learni

        • 本気の英語学習(5) アメリカの学生アルバイト事情

          このシリーズ内へのリンク: 第1回 / 前回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ。(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 I started working about 15 for 6 dol

        本気の英語学習(8) アメリカのスクールバス

        マガジン

        • 10分間プログラミング日記 javascript編
          0本
        • テトリスでプログラミングを試そう
          13本
        • 語順タイピング web アプリ
          0本
        • 本気の英語学習
          7本
        • モナドを短時間で理解したい人へ(無料部分)
          6本
        • モナドを短時間で理解したい人へ(有料部分)
          3本
          ¥500

        記事

          本気の英語学習(4) アメリカ人の有給事情

          このシリーズ内へのリンク: 第1回 / 前回 / 次回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ。(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 Given that most Americans only

          本気の英語学習(4) アメリカ人の有給事情

          本気の英語学習(3) NYのブルックリンにあるコストコでの出来事

          このシリーズ内へのリンク: 第1回 / 前回 / 次回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ。(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 Costco Brooklyn in NY has escal

          本気の英語学習(3) NYのブルックリンにあるコストコでの出来事

          本気の英語学習(2) LA にある Tacos Villa Corona に感謝!

          このシリーズ内へのリンク: 前回 / 次回 このシリーズの目的は、お手数を掛けますが、シリーズ初回の記事 を見てくださるようお願いします。 英語を音で聞いて、語順を頭に入れる、というのがこのシリーズの目的です!シャドーイングの別形態での練習、という感じになります。 以下の英文を音で聞いて練習する場合、こちらへどうぞ。(このリンク先にある英語学習用のプログラムについては こちらで解説しています)。 We are now in a world of over-inflate

          本気の英語学習(2) LA にある Tacos Villa Corona に感謝!

          本気の英語学習(1) 辛いお菓子。Cheetos!

          このシリーズ内へのリンク: 次回 こんにちは。 私の仕事はプログラム開発なのですが、最近ますます英語によるコミュニケーションが多くなってきました。中学高校とまじめに英語は勉強してきたつもりなのですが、なんとも苦戦しています、、、。 話し言葉というのは教科書的な整然とした文章でないので、文法から多少外れるというのは普通なんですよね。大事なのは、複数の単語のブロックを、どれだけまとめて頭に入れておけるか、ということのようです。複数の単語のブロックを聞いて、大体の意味が伝わるとい

          本気の英語学習(1) 辛いお菓子。Cheetos!

          テトリスでプログラミングを試そう(13)

          すみません、新年度に入ってちょっと忙しくなってきましたので、この連載はしばらくの間更新が遅くなります。 1,2週間、間が空くかもしれませんが、どうぞ気長によろしくお願いします。 さて、プログラムが長くなってきて、そろそろ疲れてきましたか?? せっかくここまで来ましたから、是非一緒に最後まで作ってみてもらえると嬉しいです! 私の方も、思いつくままにコードを書いてきたので、果たして最後までできるかな?と思っていたのですが、最後までいけそうです^^。 実は、あの部分はこうしておけ

          テトリスでプログラミングを試そう(13)

          テトリスでプログラミングを試そう(12)

          こんにちは。 新年度ということもあり、バタバタ忙しいかもしれませんが、少しずつ進めるのを楽しんでもらえると嬉しいです。 今日は、ミノの種類を増やしてみましょう。 回転させる前のミノの初期形状を覚えておきたいので、class Mino が記録する情報を1つ増やします。 各 class が記録する情報のことを メンバ変数 と呼びます。 class Mino のメンバ変数は、これで4つになりました。 (後々の都合のため、class Mino に public を指定しておいて下さ

          テトリスでプログラミングを試そう(12)

          テトリスでプログラミングを試そう(11)

          こんにちは。 今日はミノの回転ができるようにしたいのですが、プログラムの訂正をさせてください。 回転操作について、昨日まで考えていた方法より簡単な方法を思いついたのですが、そうしようとすると、プログラムの訂正が必要になってしまいました!すみません! class Mino の動作を次のように変更します。 今まで _px_8int_cur は、実際に表示される x座標、y座標を保持していたのですが、4×4マスの中での座標を表すことにします。 つまり、以下の4つの値のどれかを表す

          テトリスでプログラミングを試そう(11)

          テトリスでプログラミングを試そう(10)

          こんばんは。 今日の追加プログラムはすごく簡単なことだけになります。 今日は休日なのでゆっくり行きましょう^^。 Mino の表示場所は class Mino の _px_8int_cur に格納されています。 なので、Mino に右、左、下に移動する機能を付け足したいならば、以下のコードを class Mino の { } の中に追加すればオッケーです。 同じようなコードを入力するのは面倒だと思いますので、こちらからコピペしてくださいね。 public void M

          テトリスでプログラミングを試そう(10)

          テトリスでプログラミングを試そう(9)

          こんにちは。 今回は、前回表示した Tミノの表示の仕方を変更してみます。 プログラムの役割分担について、少し考えてみましょう。 今のところ、class ColorField には積み上がっている状態のブロック(既に固定された状態のブロック)の描画を担当してもらい、class Mino には、プレイヤーが操作しているミノの表示を担当してもらおうと思っています。 そして、プレイヤーからの操作を受け付けるのは class MainPage となっていますので、MainPage

          テトリスでプログラミングを試そう(9)

          テトリスでプログラミングを試そう(8)

          こんにちは。 プログラムを書くのは絵を描いたりするのと同じで、なかなか楽しいですよね。 今日は T ミノを表示してみましょう。 テトリミノは4つの四角形からできているので、 四角形の左上隅の x座標、y座標 の4つ(つまり8つの整数値)をまとめて扱う class を1つ作っておきましょう。 int[] _8int と書くと、_8int は整数の配列を表します、という意味になります。new int[8] とすると、_8int は _8int[0], _8int[1], … ,

          テトリスでプログラミングを試そう(8)

          テトリスでプログラミングを試そう(7)

          こんにちは。 タイトルにプログラミングという言葉が入っていないと、検索して見てもらえないかな?と思って、このようなタイトルにしました。 記事の内容も、タイトルも試行錯誤中なのですが、すみませんが大目に見てもらえると嬉しいです、、、。 今回副題に付けた「オブジェクト指向」ですが、実は最初からこれを伝えるつもりで記事を書いていました。 前回にも言いましたが、「社会生活と同様に、それぞれ担当してくれる係りを作っていくイメージでプログラムを作っていきましょう」というものです。 とき

          テトリスでプログラミングを試そう(7)

          一緒にテトリス作ってみましょう!(0)

          記事を (6) まで書いたところで、ようやく記事の全体像が自分の中で見えてきました ので、この連載を読むときの前提について少し書かせてください。 まず、以下のような方を読者の対象として考えています。  「関数や配列という用語」や、「if、for」などの説明を一度は聞いたことはあるけれど、もう少しプログラムをよく知りたい方。 プログラムの解説本など最初の方は読んでみたけど、途中から読んでなくて、これからプログラムにもっと詳しくなりたいと思っている方、という感じでしょうか。

          一緒にテトリス作ってみましょう!(0)