記事ページを表示中

プログラミング初心者がスクールに通わず3年間の独学で作ったWEBアプリがこちらになります

記事No.77

更新日時2023年03月02日

はじめまして!スカーレットと申します。以下のアプリは2020年からプログラミングを始めた私が作ったWEBアプリです。

スカーレット

バイオレットちゃん

スカーレット先生!先生は3年間で2つしかWEBアプリ作らなかったのですか?

実際は、もっと作ったけど代表作としてお見せできるのはこの2つかな。

スカーレット

  • ブロトーク・・・このブログです。DjangoとVue.jsでCMS(コンテンツマネジメントシステム)を作成しました。
  • キーワードプール・・・ブログ記事作成補助アプリです。

この記事では、これからプログラミングを始められる方へ、何かしらの目安になればと思い、3年間独学でプログラミングをするとどのようなWEBアプリが作れるかを公開しています。

また、プログラミング学習で、私がこれまでやってきた事などもまとめていますので、良かったら参考にして頂ければと思います。

私のステータス

私がどういったステータス(能力)か分からないと、これからの説明が参考にならないので、先に私のステータスを紹介します。

バイオレットちゃん

同じくらいの能力の人の話じゃないと参考にならないですよね。

つらい現実だけど、世の中にはスーパーマンみたいな人もいれば、そうじゃない人もいます。私がそうじゃない側である事を知ってね!

スカーレット

バイオレットちゃん

反応しづらい…

私の簡単なステータスはこちら

  • 2020年5月からプログラミングの勉強を始めた
  • その時既にHTMLとCSSの仕組みは理解していた
  • ワードプレスでブログを作れる位のITスキルはあった
  • PHPやjavascriptの知識は皆無
  • 3年間1日8時間〜12時間プログラミングの時間を確保
  • 地方国立大学(理系)を卒業している
  • プログラミングスクールには通っていない
  • 12ヶ月間プログラミングのオンラインサロンに2つ入っていた
  • 6ヶ月間WEBアプリの方向性を相談する先生がいた
  • IT系の会社やソフトウェア会社で働いた経験は無い

バイオレットちゃん

スカーレット先生、1日8時間もプログラミングの勉強していたんですか?

私は、好きな事はとことんやって、嫌いな事を全くやらないタイプなんだ。

スカーレット

バイオレットちゃん

普通の人は、1日8時間もプログラミングに使える時間が無いので、先生の話を全て真に受けるのは良くないですね!

バイオレットちゃん厳しい!でも確かに変な誤解を与えない為にも言っておいたほうが良いね。私に限らず多くの人の場合、自分でWEBアプリを作るのに、かなりの時間が必要だと思うよ。

スカーレット

バイオレットちゃん

しかも先生、大学出ているじゃないですか!これも減点ポイントですね。

大学出ているから頭が良いとかではないと思うけど、勉強する習慣は大学を出ている人のほうがあるかもね。

スカーレット

バイオレットちゃん

他に何か隠している事はありませんか?

それは私に対して失礼だよ!ん〜オンラインサロンに参加したり、WEBアプリを収益化する際に相談にのって貰った事はあるけど、プログラミングの技術的な部分はオンライン教材と本だけで勉強したよ。

スカーレット

コメントフォーム

これまでやってきた事

以下が2020年5月から2023年3月までやってきた事です。

  1. 2020年5月〜2020年12月:ワードプレステーマを自作する
  2. 2021年1月〜2021年9月:AIモデルを学習させる
  3. 2021年10月〜2021年12月:AIモデルをデプロイさせる
  4. 2022年1月〜2022年12月:ブログ作成補助ツールを3つ作成
  5. 2023年1月〜2023年3月:CMS(コンテンツマネジメントシステム)を作成

バイオレットちゃん

スカーレット先生、AIモデルを学習させるってどういう事ですか?

AIモデルというのは、人工知能の事で、人工知能は最初は知識が無い状態なんだ。なので、知識を与える為に学習をさせるんだけど、学習させるのにpythonというプログラミング言語が必要だったので、ここでpythonを学びはじめたんだ。

スカーレット

バイオレットちゃん

その後に、AIモデルをデプロイしていますね。

デプロイは「利用可能な状態にする」という意味で、デプロイすると学習させたAIモデルを、インターネット上で多くの人に利用して貰えるんだ。

スカーレット

バイオレットちゃん

じゃ、先生が初めて一般公開したWEBアプリはAIサービスだったんですね!

そうなるね!アプリを作り公開する。これが出来るようになったのは嬉しかったな。

スカーレット

バイオレットちゃん

その後、1年間でブログ作成補助ツールを3つも作っていますね。

2021年は、アプリを作り公開する。の一連の流れを学んだので、2022年はアプリの内容は違えど同じ事の繰り返しだったよ。

スカーレット

コメントフォーム

プログラミング言語の選び方

バイオレットちゃん

これから、プログラミングを始める方に何かアドバイス的なものはありますか?

プログラミングを勉強する時は、まず最初に何を作るか決めると良い。という事かな。

スカーレット

プログラミングを始める際、まず最初につまずくのが、どの言語を勉強するか?という事です。

  • C
  • C++
  • C#
  • java
  • PHP
  • ruby
  • python
  • Perl
  • swift
  • Kotlin
  • javascript

私の場合、もともとワードプレスユーザーだった為、プログラミングの最初の目標は、

オリジナルのワードプレステーマを作る

でした。

市販されているワードプレステーマには無い機能を付けたかったのです。

調べてみると、ワードプレスはPHPという言語で作られているのが分かりました。

私は、PHPの勉強を始めました。

その後に、AI(機械学習)に興味を持ち、pythonも勉強しました。

多くの人が言うように、私もプログラミング言語を選ぶ時は、

何を作るか?

から決めて、それを作るために必要な言語を選ぶのが良いと思っています。

もし、言語選びに失敗しても、あとから他の言語も学べるので、まずは作りたいものを明確にするのが大切です。

私の場合も、最初の半年間はワードプレステーマを作るためにPHPを勉強して、その後は機械学習をする為にPythonを勉強しています。

更にその後、アプリを一般公開する為にJavascriptを勉強しました。

もし、作りたい物のアイデアが思い浮かばない場合は、既にアプリを公開している人に相談すると良いと思います。

おそらく、プログラミングで「できる事」と「できない事」が分からないので、アイデアが浮かばないのかもしれません。

もちろん、私に相談して頂いても構いません。むしろ相談お待ちしております!相談内容を多くのプログラミング初心者の方と共有したいので、以下のフォームからご質問頂ければと思います。

スカーレット

バイオレットちゃん

私はマッチングアプリを作って、素敵な雄猫とデートしたいわ!

猫専用マッチングアプリか。いいね!アプリを作っていく過程で方向性が変わったり別のアイデアが生まれるから、最初は難しく考えなくても良いよ!

スカーレット

バイオレットちゃん

(3日間寝ないで真剣に考えたアイデアなんですけど…)

豆知識

プログラミング言語は多岐に渡り、各言語によって作れるサービスも異なります。例えば、iPhoneアプリを作りたい場合はSwiftという言語を使う事になります。Windowsで動くアプリを作りたい場合はC#という言語を使う事になります。WEBアプリを作りたい場合はPython/PHP/rubyといった言語がお勧めです。

コメントフォーム

WEBアプリの仕組み

もし、私のようにWEBアプリを作成したい場合は、WEBアプリが動く仕組みを最初に理解しておくと良いです。

全体像が分かると、アプリを作成し公開するまでに、どういったソフトウェアの知識が必要かが分かります。

こちらの図は、このブログ(ブロトーク)の構成図です。

バイオレットちゃん

ペンギンがいる!ゾウがいる!ウマがいる!ニシキヘビ(python)がいる!動物園みたい。

クライアント(各種ブラウザ)からリクエスト(要求)に対して3つのサーバーが協力してレスポンス(応答)しているのが分かります。

豆知識

アプリの内容によって構成図は多少変わりますが、基本的には上の図のようにWEBサーバー、アプリケーションサーバー、データベースサーバーの3種類のサーバーでクライアントからの要求に応答する事になります。

この図を見ると、プログラミング言語(上の図で言うとpythonとjavascript)の他に沢山のソフトウェアが働いるのが分かります。

  • LINUX
  • NGINX
  • gunicorn
  • python
  • django
  • PostgreSQL
  • Javascript
  • Vue.js
  • HTML
  • CSS

これらのソフトウェアは、互いに相性があります。

相性が悪いソフトウェアを使うと設定するのが困難です。

上の図は、私がDjangoというフレームワークを使用していた為、このようなソフトウェアを使う事になりました。

ですが、もしLaravelなど他のフレームワークを使用していた場合、また他のソフトウェアを使う事になっていたと思います。

このように、WEBアプリを作成する場合、まず最初に、WEBアプリが動くまでに必要なソフトウェアを把握して全体像を掴むと良いです。

チェックポイント

WEBアプリを作るにはプログラミング言語毎に公開されているWEBフレームワークを使います。pythonであればDjango、PHPであればLaravel、RubyであればRuby on Railsが有名です。WEBフレームワークが決まると、それと相性の良いソフトウェアが分かりますので、まずはどのWEBフレームワークを使うか決めましょう。

コメントフォーム

プログラミングの強み

私はブロガーでもあるので、年々、個人ブログが検索結果に表示されにくくなっている事も知っています。

YMYL分野は特に厳しいです。

スカーレット

個人ブログはオワコンか?と言ったら、そんな事は全然ないと思います。

ただ、これまでと同じように、他のサイトやブログの記事を参考に、自分も同じような記事を書く。といったやり方では、ブログ運営は厳しくなると思っています。

他のサイトと何かしらの差別化が必要だと思っています。

差別化の手段として、プログラミングを使用して、ネットユーザーのニーズに答えるのは正解だと思うのです。

バイオレットちゃん

スカーレット先生の目から見て、個人運営のWEBアプリには参入の余地はあると思いますか?

まだ参入の余地はあると思うよ!個人で運営する場合、人経費を抑えられるから、年間数百万円の売上しか立たなそうな小さな市場にマッチしたWEBアプリとか良いと思っているよ。

スカーレット

バイオレットちゃん

1人分の年収にもならないWEBアプリを企業は作る事が出来ないですからね。

コメントフォーム

著者情報

名前:スカーレット
2010年からWEBサイトやWEBアプリを作成しています。最初は趣味でブログを書いていましたがSEOを勉強するのが楽しくなり、そのままブロガーとして独立しました。その後、記事を書くだけでは物足りなくなり自分でWEBアプリの作成をスタート。現在はブロガー兼プログラマーとして活動しています。このWEBアプリ(ブロトーク)もDjangoで自作しました。ブロトークはブログとSNSを合体させたようなWEBアプリです。ブログを読んで気づいた事や感想などあれば、気軽にメッセージを送って頂ければと思います。WEB技術を一緒に勉強していけたらと思います。