市原こどもプログラミング教室

千葉と東京都にあるいくつかの小学校でプログラミングを教えています。社会人向けのプログラ…

市原こどもプログラミング教室

千葉と東京都にあるいくつかの小学校でプログラミングを教えています。社会人向けのプログラミング講座として、世界最大級の動画学習プラットホームUdemyで「今日からはじめるプログラミング」と「速習!SwiftUI」を公開しています。

マガジン

  • この世でいちばんわかりやすいiPhoneアプリ開発

    iPhoneアプリを開発するためには、Swiftを理解する必要があります。このマガジンでは、Swiftプログラミングを「この世でいちばんわかりやすく」解説していきます。

  • 親子で読みたい科学の本

    大人も子どもも楽しめる科学にまつわる面白い本を紹介します。

  • スタンフォード式iPhoneアプリ開発講座をやってみた

記事一覧

【GitHub】Introduction to GitHubをやってみる

Introduction to GitHubとは?GitHubを始めるために必要なことを、1時間でガイドする。 プロファイルREADMEとして使用できるMarkdownファイルの作成を通して、リポジトリ、…

10分で一気に理解!円周率、ラジアン角、三角関数のおはなし

プログラミングでは、やりたいことを実現するために「ちょっと高度な数学」が必要になる場面があります。例えば、何かしらの図形や模様を画面に描画したいとき、角度や座標…

iPhoneアプリ開発を無料で学ぶ最高の方法

4月から30日間連続で投稿したNoteページ「この世でいちばんわかりやすいiPhoneアプリ開発のおはなし」をマガジンにしました。順序も整理したので、読み進めるだけでSwiftプ…

【親子で読みたい科学の本レビュー①】僕たちは、宇宙のことぜんぜんわからない

宇宙の8割は「知らない物質」で満ちている。それをダークマターと呼ぶそうだ。もっと知らないダークエネルギーも存在しているらしい。宇宙はいつからあって、どんなふうに…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジオメトリリーダーの基本】

このページでは、デバイス画面の大きさに合わせて、ビューのサイズを自動的に可変させる方法を説明します。SwiftUIフレームワークの基本的な使い方を知っておくと、このペ…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【For-Inループ構文の基本】

配列について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。 コードを繰り返す同じ手続きを何度も繰り返して実行する場…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【関数プログラミングを学ぶ】

配列、ループ構文、条件分岐構文について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。条件分岐構文については、こちら…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【メソッドの基本】

関数と構造体について知っておくと、このページの理解が深まります。関数は、こちらのページで説明しています。構造体は、こちらのページで説明しています。 インスタンス…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【演算子と被演算子を学ぶ】

四則演算を実行する足し算や引き算などの一般的な四則演算をコードで行うことができます。。 足し算を計算してみましょう。 123 + 45123 + 0.45 この計算に用いられてい…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【列挙型の基本】

ここでは、カフェのメニューをモデル化するプログラムを考えます。 例えば、ドリンクは「ショート、トール、グランデ」という3つのサイズがあるとします。 このドリンクサ…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【Bool型の基本】

Swiftプログラミングでは、trueとfalseを使って「本当」と「ウソ」を示すことができます。 truefalse これらは真偽を示す値のリテラルです。 真偽値は「値同士の比較」…

スタンフォード式iOSアプリ開発講座の宿題もやってみた①

レクチャー2にはハンズオン講座以外に、プログラミング課題もあったので実践しました。このページでは、実践した内容を振り返りたいと思います。 プログラミング課題の内…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジェネリクスの基本】

構造体の基本については、こちらのページで説明しています。関数の基本については、こちらのページで説明しています。 また、型キャストやIf-Letステートメントを知ってお…

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【辞書を学ぶ】

配列について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。 キーと値のコレクション辞書 は、配列と似たコレクション…

続・スタンフォード式iOSアプリ開発講座をやってみた【後編②】

ページのタイトルがややこしくなってきましたが、前回の続きです。レクチャー4をハンズオンしていきます。 レクチャー4のテーマまず、MVVMアーキテクチャを連動させるため…

続・スタンフォード式iOSアプリ開発講座をやってみた【後編①】

前編ではレクチャー3で扱う概念について、おはなししました。こちらのページでは、実践した内容を振り返りたいと思います。 MemoryGame型MVVMアーキテクチャのModelに該当…

【GitHub】Introduction to GitHubをやってみる

【GitHub】Introduction to GitHubをやってみる

Introduction to GitHubとは?GitHubを始めるために必要なことを、1時間でガイドする。
プロファイルREADMEとして使用できるMarkdownファイルの作成を通して、リポジトリ、ブランチ、コミット、プルリクエスト、マージについて学習する。

コースの始め方

リンクを右クリックして、新しいタブでリンクを開く

新しいタブでは、ほとんどのプロンプトが自動的に入力される
リポ

もっとみる
10分で一気に理解!円周率、ラジアン角、三角関数のおはなし

10分で一気に理解!円周率、ラジアン角、三角関数のおはなし

プログラミングでは、やりたいことを実現するために「ちょっと高度な数学」が必要になる場面があります。例えば、何かしらの図形や模様を画面に描画したいとき、角度や座標に関する知識が役立ちます。このページで、中学・高校で学んだ数学の基本を文系プログラマーでも理解できるように、お話できればと思います。

円周率π「直径が1の円」に対する「円周の長さ」を文字πとして示す。 このπは、円周率として知られている。

もっとみる
iPhoneアプリ開発を無料で学ぶ最高の方法

iPhoneアプリ開発を無料で学ぶ最高の方法

4月から30日間連続で投稿したNoteページ「この世でいちばんわかりやすいiPhoneアプリ開発のおはなし」をマガジンにしました。順序も整理したので、読み進めるだけでSwiftプログラミングの要所を理解することができます。もちろん、実行環境を準備して実践学習する方法も紹介しています。

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし

さらに、ハンズオン形式の動画で学べるiPhone

もっとみる
【親子で読みたい科学の本レビュー①】僕たちは、宇宙のことぜんぜんわからない

【親子で読みたい科学の本レビュー①】僕たちは、宇宙のことぜんぜんわからない

宇宙の8割は「知らない物質」で満ちている。それをダークマターと呼ぶそうだ。もっと知らないダークエネルギーも存在しているらしい。宇宙はいつからあって、どんなふうに始まって、最後が来るのか、来ないのか。この本は、宇宙という果てしなく巨大な概念について、何がどうしてわからないのかを教えてくれる。それも、突拍子もなく面白い言葉遣いで。随所に出てくる皮肉が効いたイラストも、いいアクセントになっている。そして

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジオメトリリーダーの基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジオメトリリーダーの基本】

このページでは、デバイス画面の大きさに合わせて、ビューのサイズを自動的に可変させる方法を説明します。SwiftUIフレームワークの基本的な使い方を知っておくと、このページの理解が深まります。

ビューのサイズ通常、画面に配置されたビューの幅と高さは、そのデバイス画面いっぱいに伸長します。

上の画面にある緑色のビューは、iPhone12 miniの画面サイズいっぱいに配置されています。コードは以下

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【For-Inループ構文の基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【For-Inループ構文の基本】

配列について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。

コードを繰り返す同じ手続きを何度も繰り返して実行する場合、For-inループ構文を使って簡潔に記述することができます。

例えば、配列からひとつずつ要素を取り出してコンソール出力するプログラムを考えます。

let weekDays = ["Monday", "Tuesday", "Wedn

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【関数プログラミングを学ぶ】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【関数プログラミングを学ぶ】

配列、ループ構文、条件分岐構文について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。条件分岐構文については、こちらのページで説明しています。

データを絞り込む配列の要素を「ある条件」で絞り込むプログラムを考えます。

ここでは題材として、友達の名前が並んだ文字列のコレクションを扱います。

let names = ["Adam", "Eddy", "

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【メソッドの基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【メソッドの基本】

関数と構造体について知っておくと、このページの理解が深まります。関数は、こちらのページで説明しています。構造体は、こちらのページで説明しています。

インスタンスに備わる機能定数および変数と同様に、型に関数を定義することもできます。 型に定義された関数は、インスタンスに備わる機能として呼び出すことができます。

struct Planet { func description() {

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【演算子と被演算子を学ぶ】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【演算子と被演算子を学ぶ】

四則演算を実行する足し算や引き算などの一般的な四則演算をコードで行うことができます。。 足し算を計算してみましょう。

123 + 45123 + 0.45

この計算に用いられているプラス記号+を、加算演算子といいます。 そして、加算演算子の両側にある項を、被演算子といいます。

演算子を使用する際は、その両側の空白スペースの有無に注意する必要があります。 コンパイラは、演算子の片側だけに空白ス

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【列挙型の基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【列挙型の基本】

ここでは、カフェのメニューをモデル化するプログラムを考えます。

例えば、ドリンクは「ショート、トール、グランデ」という3つのサイズがあるとします。 このドリンクサイズのような「互いに関連する値」は、enumキーワードを使って共通の型として定義できます。

enum DrinkSize {}

上のコードのように、enumキーワードでモデル化されたデータを列挙型といいます。 列挙型のボディには、そ

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【Bool型の基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【Bool型の基本】

Swiftプログラミングでは、trueとfalseを使って「本当」と「ウソ」を示すことができます。

truefalse

これらは真偽を示す値のリテラルです。

真偽値は「値同士の比較」を行なったときの返り値として利用されます。 値同士が「等しいかどうか」を比較するには、等価演算子==を使います。 反対に「等しくないかどうか」を比較するには、不等価演算子!=を使います。

10 == 10

もっとみる
スタンフォード式iOSアプリ開発講座の宿題もやってみた①

スタンフォード式iOSアプリ開発講座の宿題もやってみた①

レクチャー2にはハンズオン講座以外に、プログラミング課題もあったので実践しました。このページでは、実践した内容を振り返りたいと思います。

プログラミング課題の内容課題は全部で10のステップになっています。

1. レクチャー1と2で示したように、Memorizeゲームを動作させます。
どこかからコピー&ペーストせずに、すべてのコードを入力してください。

2. 画面下の⊖と⊕のボタンを外します。

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジェネリクスの基本】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【ジェネリクスの基本】

構造体の基本については、こちらのページで説明しています。関数の基本については、こちらのページで説明しています。
また、型キャストやIf-Letステートメントを知っておくと、このページの理解が深まります。

「映画を再生する関数」と「音楽を再生する関数」ここでは、映画や音楽などのメディアを再生するプログラムを考えます。 映画と音楽をモデル化する構造体は、それぞれを以下のように定義できます。

str

もっとみる
この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【辞書を学ぶ】

この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【辞書を学ぶ】

配列について知っておくと、このページの理解が深まります。配列については、こちらのページで説明しています。

キーと値のコレクション辞書 は、配列と似たコレクション系のデータ型です。 整数のInt型や文字列のString型と同様に、Dictionary構造体としてSwift標準ライブラリに定義されています。

辞書の要素は キー と 値 がひと組みになったペアで、「キー・値ペア」とも呼ばれます。 キ

もっとみる
続・スタンフォード式iOSアプリ開発講座をやってみた【後編②】

続・スタンフォード式iOSアプリ開発講座をやってみた【後編②】

ページのタイトルがややこしくなってきましたが、前回の続きです。レクチャー4をハンズオンしていきます。

レクチャー4のテーマまず、MVVMアーキテクチャを連動させるために、ビューモデルをObservableObjectプロトコルに適合させます。そしてビューにはObservedObject属性のプロパティを導入します。さらに、列挙型、オプショナルを使って、ゲームロジックをより具体的に実装していきます

もっとみる
続・スタンフォード式iOSアプリ開発講座をやってみた【後編①】

続・スタンフォード式iOSアプリ開発講座をやってみた【後編①】

前編ではレクチャー3で扱う概念について、おはなししました。こちらのページでは、実践した内容を振り返りたいと思います。

MemoryGame型MVVMアーキテクチャのModelに該当する構造体です。
変数プロパティとして、カードの配列が定義されています。このcardsプロパティの値を、型の外部から更新することはできません。

import Foundationstruct MemoryGame<C

もっとみる