バックエンドサーバーの役割は以下の3つです。
① webサーバー
・世界中から来たアクセスを受け付ける。
・不審なアクセスは遮断
・サーバーの振り分け
・Nginxが有名、ほとんどプログラムを書かない。設定ファイルを書くのみ
② APサーバー = アプリケーションサーバー
・書かれたアプリケーションが実際に動く
・サイトでの売買を行うユーザーの作成とログイン/ログアウトの管理をする。また商品の売買システムを管理する。
・上記のプログラムを置く場所
・Tomcat(Javaを使う時に利用)
③ DBサーバー = データベースサーバー
・ユーザーのログイン情報を管理する場所(IDとパスワードの保存)
・MySQL、PostgreSQLが便利
・Herokuを使えばプラグインとしてDBサーバーも使える。設定も簡単です。
プログラミングの基礎知識
・プログラミングはPCのOS上で動いている。
例:ターミナル(Macbook)、コマンドプロンプト(Windows)
自分やリモートのサーバーにコマンドを送るのがプログラミングの仕事であり、役割なのです。
OS(Operation Systemの略)の役割とは?以下の5つです。
1. タスク管理 = LINEやインスタグラムの情報を並行して管理
2. メモリ管理 =LINEなどの文章をコピーした情報を記憶する
3. ファイル管理 = 写真、ファイルなどを保存する
4. デバイス管理 = マウスやUSBなどがきちんと作動するように制御する
5. API(application interfaceの略)の提供 = アプリからの命令をOSへ送る
アプリ間での情報を交換を行うには?
プロセス間通信 = LINEやインスタグラムが相互に通信を行い、情報交換できる仕組み
として「パイプ処理」という方法がある。
並行処理 = 同時にできる作業は1つ シングルコア
並列処理 = 複数の作業を同時にできる(CPU core i7など)マルチコア
結論 一体何のプログラミング言語を学べばいいのか?
赤字の言語を学べば、他の言語にも対応できる
・Java Script Node.jsというフレームワークを使えば簡単にアプリを作れる(ただし小規模)
・Python(AIが作れる)データサイエンティストの勉強が必要
・Java(AI以外は作れる。頑張ればAIも作れる)基本は何でもできる。
現在(令和2年8月時点)オラクルが管理し、
また6ヶ月おきに更新がかかり、PythonやGOなどのいいとこを取り入れている。
・GO →Googleが作ったプログラミング言語
・Rust → 安全性、性能、並行性に特化、スピードを追求している。
・RubyやPHP → webサービスを作ることに特化
コメント