• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ

プログラミング学習初心者のための情報メディア by Proglus(プログラス)

You are here: Home / Archives for 2020

Archives for 2020

クラウドエンジニアとは?役割や求められるスキルについて解説!

2020-11-30 By プログラミング入門ナビ編集部

クラウドネットワーク

はじめに

クラウドネットワーク

「クラウドエンジニア」という職業をご存知でしょうか。

企業のサービスやシステムの運営形態がクラウドへ移行する傾向にあるなか、近年注目を集めている職業です。

この記事では、クラウドエンジニアの役割や求められるスキルについて説明します。

クラウドエンジニアとは

クラウドエンジニア

クラウドエンジニアは昔からあった職業ではなく、AWSやGCP(後述します)といったクラウドサービスが世に出てきてから必要とされ始めた職種です。

簡潔にいうとクラウドエンジニアはこういったクラウドサービス上でサービスやシステムを運用するための環境構築や管理を行います。

これだけ聞いてもイメージしづらいですので、具体的にどんな職業なのか紐解いていきましょう。

オンプレミスとクラウド

クラウドエンジニアを知るためにはまず、サービスやシステムを搭載したサーバーの運用形態としてオンプレミスとクラウドという概念の違いを理解する必要があります。

オンプレミスというのは、サービスやシステムを運用する企業が自身でサーバーの実機を保有し自社内で環境を構築・運用していく形態のことです。

システム規模に応じマシンのスペックを検討し調達しなければならないため運用開始までに長い準備期間や初期コストがかかります。

また、運用開始後もマシンやネットワーク(これらをインフラと呼びます)の運用を自社で行うため管理・維持コストがかかりますし、利用者が増えてきてインフラを拡張する必要が出てきた場合にも初期導入と同様に手間やコストが高くつくのが特徴です。

これに対しクラウドは後述するクラウドサービス上にシステムやサービスを構築します。

インフラを自社で用意する必要がなく、数十分程度で環境構築が完了するため初期導入コストが抑えられるのがメリットです。

また、運用開始後にインフラを拡張する必要が出てきた際も必要な分だけをすぐに増やすことができます。

このように、クラウドを使用すればオンプレミスと比較し初期導入コストや運用コストを下げられるという利点があり、近年クラウドへ移行する企業が増えています。

最近ではリモートワークが増えていることもあり、いつでもどこからでも管理画面にアクセスできることも大きなメリットですね。

オンプレミスの方が自社運用である分、カスタマイズの自由度が高いというアドバンテージはあるものの、それを差し置いてもクラウド運用に采配が上がる傾向にあります。

クラウドサービス

このようなクラウド運用を実現するのがクラウドサービスです。

サーバーやネットワークといったインフラ資源をインターネット越しにオンデマンドで提供するサービスで、主なものとして下記があります。

AWS(Amazon Web Services)

クラウドサービスの中でも古参で、最も有名なので名前を聞いたことがあるのではないでしょうか。

Amazon社が提供しているクラウドサービスで、20以上のリージョンに配置されたデータセンターにてインフラリソースをオンデマンドで提供しています。

公式サイト:クラウドならアマゾンウェブサービス

Azure

Microsoft社が提供するクラウドサービスです。

Windows OSが利用できるのが最大の特徴で、オンプレミスサーバーでWindowsを採用している場合は連携した運用ができるため採用されやすい傾向にあります。

Office365などのMicrosoft社製品との連携が容易なのもメリットです。

公式サイト:Microsoft Azure クラウドコンピューティングサービス

GCP(Google Cloud Platform)

Google社が提供しているクラウドサービスで、同社が提供する検索エンジンやYouTubeといったサービスでも使用されています。

機械学習やAI開発のためのサービスや、Android・Google Chrome OSなどGoogleならではのリソースが活用できるのが特徴です。

公式サイト:クラウドコンピューティングサービス Google Cloud

クラウドエンジニアはクラウド活用のエキスパート

このように、世間のトレンドがオンプレミスからクラウドへ移行していくにあたって、各社が提供するクラウドサービスを使いこなしてインフラの構築と運用に責任を持つのがクラウドエンジニアです。

従来はサーバーエンジニアやネットワークエンジニア(総称してインフラエンジニアと呼びます)が自社インフラに対して行っていたような職務を、クラウドサービスを活用して取り組むわけですね。

実際の業務目的は同じ「インフラを構築し運用すること」ですが、そのインフラがオンプレミスからクラウドになったことで新たに必要とされるスキルや役割が生まれたといえます。

クラウドエンジニアの役割

設計するエンジニア

ここまででも少し触れましたが、改めてクラウドエンジニアの役割を整理しましょう。

インフラの設計

これはインフラエンジニアも実施していた業務ですが、まず最初にシステム規模に合わせてどのようなインフラ環境が必要なのかを検討し、具体的な仕様を練っていきます。

インフラエンジニアの場合はマシンのスペックや台数などを検討しますが、クラウドエンジニアの場合はどのクラウドサービスを採用するのかや、どんな構成の仮想マシンを使うかを考えるフェーズです。

システム構築

システム構成が決まったら、実際に構築していきます。

自社サーバを使う場合と異なり1台1台セットアップする必要はなく、ブラウザ越しに設定作業を行うだけで済み、数十分もあれば完成するのがクラウドサービスを活用する醍醐味です。

保守・運用

システムが立ち上がったら保守作業や運用を行うのもクラウドエンジニアの役割です。

利用者の使用状況に対して問題なく稼働しているかのモニタリングや問題が発生した時の対応・キャパシティが足りなくなった場合のインフラ拡張など様々なことを実施する必要があります。

クラウドエンジニアに求められるスキル

議論するエンジニア

それでは、クラウドエンジニアにはどのようなスキルが求められるのでしょうか。

クラウドサービスに関する知識

先述のようにクラウドサービスには様々あり、各社提供する機能も料金体制も異なるため、用途や予算に合わせて適切なものを選ぶ必要があります。

また便利なものであるからこそ使い方も複雑になっており、各社がユーザーの熟練度を保証するために資格試験を実施しているほどです。

各社のクラウドサービスの違いや使い方を熟知していることはクラウドエンジニアにとって最も欠かせないスキルの一つといえるでしょう。

インフラに関する知識

クラウドエンジニアが実施する業務の大まかな内容や目的はインフラエンジニアと大差ありません。

サーバーソフトウェアやデータベースソフトウェア、ネットワークやセキュリティに関する知識が必要とされます。

コミュニケーションスキル

これはクラウドエンジニアに限った話ではありませんが、システム開発に携わる時に何よりも重要なのが関連部署や顧客と密接にコミュニケーションをとれる能力です。

特にシステム構築はシステム開発の礎となる部分なので、どんな環境や仕様が求められているのか適切に把握したり、フィードバックを受けながらブラッシュアップさせていくことが求められます。

まとめ

微笑むエンジニア

クラウドエンジニアはどんな職業なのかや求められるスキルについて紹介しました。

特に重要とされるスキルである「クラウドサービスに関する知識」については下記の講座で詳しく説明していますので、興味のある方はぜひ確認してみてください。

AWS 認定 ソリューションアーキテクト – アソシエイト入門

Google Cloud Platform(GCP)入門

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアのしごと Tagged With: AWS, GCP, クラウドエンジニア

SQLとは?エンジニアに必須の知識を初心者にもわかりやすく説明!

2020-11-30 By プログラミング入門ナビ編集部

検索

はじめに

ラップトップを持つエンジニア

SQL(読み:エスキューエル)という言葉を聞いたことがあるでしょうか。

聞いたことはあるが何か知らない、または何となくデータベースを操作するための言語だとは知っているけれど、いまいち理解できていない…

この記事では、そんな方々へ向けてSQLとは何なのか?どういった使い方をするのか?を詳しく説明します。

SQLはエンジニアの必須知識ですので、ぜひこの記事を読んでしっかりと理解を深め、他の人にも教えてあげられるようになることを目指してください。

SQLとは?

SQLは1970年代にIBM社によって開発されたSEQUEL(読み:シークェル)という言語を原型とするデータベース操作言語です。

読み方は「エスキューエル」が一般的ですが、上記の理由から「シークェル」と読まれることもあります。

そもそもデータベースとは?

書類のファイル

ここで、データベースというのは、検索や貯蓄が簡単に高速にできるように整理されたデータの集まりのことです。

例えば、紙の名刺帳を想像してください。

面倒くさがりの人は特にルールを決めずにもらった名刺を適当にファイリングするでしょう。

かたや、まめな人ならば五十音順にインデックスをつけてファイリングしていき、後から名前で探したり新たに追加したりするのが簡単にできるようにしていますね。

広義ではこの後者の名刺帳もデータベースと呼べます。データベースと聞いてピンとこない方はこれをイメージしながら考えていくと概念を掴みやすいです。

もちろん、プログラミングの世界でのデータベースは紙ではなく電子的な情報の集まりを指します。

「名刺帳」という名の電子的なデータベースを作った時、新たにもらった名刺データを追加したり、登録済みの名刺データを検索したりするには、データベースに対して追加・検索等の操作が必要ですね。

この操作をするための言語がSQLなのです。なお、SQLはリレーショナルデータベースという種別のデータベースを管理するシステム(RDBMS)でのみ使用されます。

参考:RDBMSとNoSQLの違い

ここでまた聞き慣れない言葉(RDBMS)が出てきました。

データベース管理システムは大まかに2種類:RDBMSとNoSQLに分けられ、SQLは前者のRDBMSでのみ使用されます。

ここからはRDBMSとNoSQLの違いについて簡単に説明しますので、とりあえずSQLについて先に知りたい方はこの項を読み飛ばしていただいても問題ありません。

RDBMS(Relational DataBase Management System)は、リレーショナルデータベースを管理するためのシステムのことです。

リレーショナルデータベースとは、関連性を持った複雑なデータ群を指します。

例えば先ほどの名刺帳の例ならば、個々の名刺にはその人の氏名だけでなく、会社名・所属・連絡先等が書かれていますね。

そこに載っていない情報、例えば「この会社って資本金はいくらくらいなのかな?」と疑問が沸いたとしましょう。

この時、別の「企業情報」というファイル(リレーショナルデータベースの世界ではテーブルと呼びます)に会社名ごとに創立年・社員数・資本金等のデータが揃っていれば、名刺に書いてある「会社名」をもとに辿って資本金を確認することができますね。

このように、複数のデータ群が関連性を持った形で整理されていて膨大で複雑なデータを管理できるようになっているのがリレーショナルデータベースです。

データが複雑である分、操作も複雑になるためSQLを用いて行う必要があります。

他方のNoSQL(読み:ノーエスキューエル)は、SQLを用いずにデータベースを管理するシステムの総称です。

NoSQLはRDBMSと比較しデータ構造が単純なため、操作に特別な言語が必要ありません。

例えば先ほどの名刺帳の例のように、取引先の個々の担当者情報や企業情報等を網羅的に管理しようとすればRDBMSを使わざるを得ませんが、そうではなく取引先1社につき1人の営業担当がいて、それが誰であるかのみ管理できればいいとしましょう。

この場合は名刺帳や企業情報ではなく、「取引先会社名-営業担当者氏名」という情報が1対1で紐づくデータ群さえあればいいことになります。

このように単純な構造を持つのがNoSQLであり、繰り返しになりますがSQLでの操作が必要ないのがRDBMSとの大きな違いです。

SQLの基本的な使い方

検索

ここからは具体的にSQLがどう使われるのか見ていきましょう。

データベース用語

まずは覚えるべき用語を確認しておきましょう。

リレーショナルデータベースでは、データは表計算ソフト(Excel等)のように表の構造をしています。

例えば名刺帳の例なら下記の通りです。

氏名 会社名 所属 住所 電話番号 メールアドレス
山田 太郎 (株)○○商店 営業課 東京都新宿区… 033-209-XXXX yamada@XXX.com
鈴木 二郎 △△製作所(株) 調達課 大阪府東大阪市… 064-309-YYYY jiro-s@YYY.co.jp
佐藤 三郎 □□工業(株) 企画課 神奈川県川崎市… 044-200-ZZZZ info@ZZZ.co.jp

このそれぞれの項目について、データベースの世界では下記の用語で呼びます。

  • テーブル:表そのものを指す。
  • レコード:各行のこと。この例では名刺1枚のが情報が1レコードで表される。
  • カラム:各列のこと。列ごとにデータの形式が定義される。(メールアドレスは@を含む英数字の文字列、等)
  • フィールド:レコードの中の1項目のこと。(例:山田太郎のレコードの「所属」フィールドは「営業課」)
  • フィールド名:そのフィールドの先頭列の名称を指す(氏名・会社名・所属・…)

SQLの文法種別

SQLの文法は大きく下記の三種類があります。

  • データ定義言語:データベースオブジェクト(テーブルなど)の新規作成や削除を行う
  • データ操作言語:テーブルへのデータ追加・更新・削除・検索を行う
  • データ制御言語:データベースへのアクセス権限やトランザクション(※)管理

※トランザクション:データベースの整合性を保つために、ばらばらに実行すべきでない複数の処理をまとめて一括処理すること

以下、順番に具体例を見ていきましょう。

データ定義言語

データ本体であるテーブルや、データベースを利用するユーザ等のデータを定義するための文です。

CREATE(作成)やDROP(削除)、ALTER(定義変更)等があります。

下記はテーブルを新規作成する例です。

CREATE TABLE meibo {
  name varchar(20),
  tel int,
  email varchar(50)
}

データ操作言語

テーブルに対するデータ操作を行うための文です。

テーブルにデータを挿入するINSERT、更新するUPDATE、削除するDELETE、検索するSELECT等があります。

下記はテーブルから条件に合うレコードを検索する例です。

SELECT * FROM meibo WHERE name = 'Yamada';

データ制御言語

データベース全体に関わる処理を制御するための文です。

ユーザーに特定の作業権限を与えるGRANT、権限を剥奪するREVOKE、トランザクションを開始するBEGIN、トランザクションを確定するCOMMIT等があります。

下記はTABLE1というテーブルに対しINSERTとSELECTを実行する権限をUSER1に与える例です。

GRANT INSERT, SELECT ON table1 TO user1;

まとめ

データベースエンジニア

SQLについて、データベースの定義や用語を含めた解説および具体的な使用例の説明を行いました。

あいまいだった部分の理解が少しでも明確になれば幸いです。

さらに理解を深めたい方は、下記の講座も参考にしてみてください。

プログラミング初心者のみならず、データベースを活用したマーケティング等を見据えたビジネスマンの方にもご好評をいただいている講座なので、大変おすすめです!

SQL入門|データベースを操作する言語SQLを短期間で身につけビジネスの現場で活用しよう

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: SQL

APIって何?使い方やメリットを初心者にもわかりやすく解説!

2020-11-30 By プログラミング入門ナビ編集部

アプリ設計

はじめに

アプリ設計

API(読み:エーピーアイ)という言葉を聞いたことがあるでしょうか。

簡単にいえば、ソフトウェアの機能の一部を外部のソフトウェアから使用できるようにする仕組みのことです。

これだけ聞いてもピンと来ない方もいらっしゃるでしょう。

この記事では、APIとは何なのか?どう役立つものなのか?を初心者にもわかりやすく説明します。

また、有名なAPIについても紹介しますので、実際に使ってみる際の参考になれば幸いです。

まずは体験:APIを使ってみよう

APIについて理解するには、まずは実際にAPIを使ってみるのが早いです。

MacOSを使っている方はターミナル、Windowsを使っている方はコマンドプロンプトを開いて下記のように打ち込んでみてください。

$ curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=1000014"

ここで登場したcurlは、サーバとのデータのやりとりをするためのコマンドで、APIを使う時に使用されることが多いです。

今回の例ではWebサーバ(http://zipcloud.ibsnet.co.jp)とのデータやりとりをするために使用していると考えてください。

このコマンドを実行すると下記のような実行結果が得られます。

{
	"message": null,
	"results": [
		{
			"address1": "東京都",
			"address2": "千代田区",
			"address3": "永田町",
			"kana1": "トウキョウト",
			"kana2": "チヨダク",
			"kana3": "ナガタチョウ",
			"prefcode": "13",
			"zipcode": "1000014"
		}
	],
	"status": 200
}

何やら住所が出てきましたね。

実は先ほどのcurlコマンドを実行した際にアクセスしたWebサーバはzipcloudという郵便番号データ配信サービスです。

zipcloudのサービスURL(http://zipcloud.ibsnet.co.jp)に続く部分「/api/search?zipcode=1000014」では、「郵便番号100-0014の住所データが欲しい」とリクエストしています。

その結果「東京都千代田区永田町」の住所が返されたというわけですね。

外部からのリクエストを受けてzipcloudが保有している住所データベースを検索し、該当住所を返すというこの機能がまさにAPIなのです。

APIとは?

APIのイメージ

改めてAPIとは何なのか説明していきます。

API(Application Programming Interface)は、広い意味ではある機能をソフトウェア同士で共有するための仕組みです。

よく界隈で耳にする「APIを公開する」や「APIを叩く」といった文脈では、その中でも特に「Web API」のことを指します。

Web APIとは、APIの中でもWebサービスから提供されているもののことです。

冒頭の例でもzipcloudというサービスのWeb APIを使って住所情報を取得しましたね。先ほどはコマンドで手動で取得しましたが、通常は自分のWebサービスで二次利用するために活用します。

例えば自分のWebサービスでユーザーに住所入力をしてもらう時、郵便番号だけを入れたら住所を自動で補完入力してくれるような機能は、このWeb APIを使えばできますね。

このように、とあるソフトウェア(自分のWebサービス)から別のソフトウェア(今回の例ではzipcloud)の機能を利用するための仕組みがAPIです。

APIのメリット

メリットを説明する女性

APIを使うメリットについてみていきましょう。以下は主にWeb APIのことについて説明していきます。

提供する側

まず、APIを提供する側のメリットについてです。大抵のAPIは無料で提供されていることが多く、蓄えられたデータへのアクセスも許可するため、一見メリットがないように見えるかもしれません。

しかし、便利なAPIを公開しそれを使うWebサービスが増えれば増えるほどユーザーの目に触れる機会も増え、ついてはそれが自社サービスへの導線を拡大し、シェアを獲得することにつながります。

また、多くのWebサービスに使われるほど自社開発機能との組み合わせで新しい使い方が発見されたり、それがビジネス提携のきっかけになるなど、ビジネスチャンスを広げる機会としても有効です。

開発した機能を自社だけで独占するのではなく、多くの人に向けて公開し、さらなる便利な使い方を模索していくという考え方はまさにオープンイノベーションを体現しているといえます。

使用する側

次にAPIを使用する側のメリットですが、こちらは想像に難くないでしょう。

他社ですでに開発された便利な機能や、蓄えられたデータを二次利用できるためより新しいサービスを効率よく開発することができます。

ユーザー側の視点からも便利な場合が多いです。例えば別のサイトでユーザーが登録したアカウント情報をAPIによりそのまま活用して自社サイトでのログインに使用してもらう場合、ユーザーは面倒な会員登録をせずに済みます。

また、アカウント情報は重要な個人情報です。自社のセキュリティレベルで管理するよりもより大きなサイトで信頼性の高いシステムを活用して管理した方が、より高いセキュリティレベルを保つことができます。

有名なAPI

より具体的に理解するため、様々なサイトで多く活用されている著名なAPIについて見ていきましょう。

Google Map

よく、レストランや美容院を探すWebサイト等で所在地を見ようとするとGoogle Mapが表示されることはありませんか?

これは、そのサイトでGoogle Map APIを使用しているためです。

このように、GoogleはWebサイトでGoogle Mapの地図やストリートビューを表示できるAPIを公開しています。

Amazon Pay

ネットでお買い物をするときいざ支払いの場面になると、通常はそのサイトで初めて購入する場合はアカウント作成から始まります。その中で支払い方法や配送先住所を登録しますよね。

しかし、サイトによってはここでアカウントを作成する以外にも「Amazon Payで支払い」のオプションが提示されることがあります。

これを選択すると、ユーザーがAmazonで登録している配送先や支払い方法をそのまま使用できるため、面倒なアカウント作成をせずに済みます。

このように、ユーザーの利便性を重視してAmazonが提供するAmazon Pay APIを活用しているサイトも多いです。

Facebook

Facebookはユーザーのログイン情報を提供するAPIを公開しています。

例えば、とあるWebサイトを利用するにはユーザー登録が必要だったとしましょう。

少し気になるコンテンツがあってそれを見たいだけだったのに、登録が面倒だからといって離脱してしまうユーザーは多いです。

そんな時、FacebookログインAPIを使えば、そのサイトでのユーザー登録の代わりにすでに保有しているFacebookアカウントでログインしてもらうことができます。

まとめ

Webプログラミングする女性

APIについて、その用途やメリットを紹介しました。

自分のWebサービスならではの部分はもちろん自力での開発にこだわるべきですが、公開されているAPIで活用できそうなものはどんどん取り入れて効率よく開発しましょう。

また、自分でAPIを作って公開するのもおすすめです。実際に作ってみることでAPIに関する理解を深められるのはもちろん、いろんな人が使ってくれることで新しい使い道が見つかったり、ユーザーを自分のWebサービスへ誘導できることがあります。

まずはこの記事で取り上げたAPIを使って理解を深めてみると良いでしょう。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: ツールの使い方 Tagged With: API

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Interim pages omitted …
  • Go to page 26
  • Go to Next Page »

Primary Sidebar

Proglus

Twitter

Follow @programmingnavi Tweets by programmingnavi

人気の記事

  • 無料のSSL証明書Let’s Encryptを設定・更新・自動更新する方法(CentOS7, Apache2.4対応)
  • MySQLをXAMPPを使ってWindows環境にインストールする方法
  • Apacheインストール時にエラー Cannot find a valid baseurl repo: base/7/x86_64
  • Visual Studio CodeでHTMLを書くときの便利な設定方法!ミスの防止や開発効率UPに役立てよう
  • よくあるSQLのエラーの種類と自力でエラーを取り除く方法について説明します
  • 初心者のプログラミング学習には13インチのMacBook Proがおすすめ!その理由も解説!
  • macOSで2つのファイルの差分を確認するには?便利なdiffツールを紹介
  • AWS Cloud9のプレビューが上手く表示されない時の対処法
  • WindowsからSSHでサーバに接続する方法(RLogin利用)
  • MySQL 5.7 for Windowsのアンインストール方法

最近の投稿

  • ウェブアプリケーションエンジニアになりたい!何を学習するべきか?
  • VSCodeで画像が表示されない場合の対処法
  • プログラミング学習での「質問のお作法」を理解しよう!最小限のやりとりで効率的に解決!
  • VirtualBoxでNATとホストオンリーアダプターによる安全なネットワーク環境構築方法
  • TypeScriptとは?JavaScriptとの違いは?人気の理由を徹底解説!

カテゴリー

  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門

タグクラウド

AI AWS AWS Cloud9 Bootstrap Cloud9 CodeWing CSS Git GitHub Heroku HTML JavaScript li Linux macOS MySQL MySQL Workbench Nuxt.js ol Proglus Python Ruby Ruby on Rails SQL Udemy vscode Vue.js Web開発 Windows インストール エラー エンジニア オンライン学習 サーバー スクリーンショット セール プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 改行 未経験 機械学習 開発環境構築

アーカイブ

  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2021 · programmingnavi.com ・About・プライバシーポリシー