質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

7回答

514閲覧

Java学習一ヶ月でAPIを活用する難易度を知りたいです

coucou

総合スコア22

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2019/05/21 14:24

編集2019/05/21 15:49

Javaの学習を始めて一ヶ月ほど経ち、Javaの基礎を一通りとデータベース、サーバサイドなどの学習をしました。
ログイン機能や、複数のページを遷移しながら、データベースから検索や登録、削除機能などを実装することにも挑戦しました。
そこで自分が今まで身につけてきたものを生かして何か作ってみたいと思っています。

同じようなものを再度つくるのもいいのですが、例えばインスタグラムのAPIなどを使ったりもできるのかなと思っています。
APIについての知識はまったくな行けれど、学習しながら一週間程度で実装までできるのか知りたいです。
難しいとも聞いたので、厳しそうでしたらまた他のアイデアを見つけられたらと思っています。
なにかご教授いただけたら嬉しいです。

(追記)
Javaの基礎、DB連携の知識でどんなことでができるのでしょうか。
何か面白そうなものを作ってみたいです。
いまのところ、簡単なショッピングサイトやツイッターもどきのようなものしか想像できません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

ベストアンサー

APIの仕事は必要なリクエストパラメータを受け取ってそれによって処理を行い、結果をレスポンスとして呼び出し元に返すだけです。
「難しい」という根拠がいまひとつわからないのですが、別に1か月であろうと今日始めたばかりであろうと時間は関係ないと思います。
APIでなくても「リクエスト」「レスポンス」は存在する概念となりますので、そこをきちんと理解できているかどうかがネックになってきます。

どのAPIでも、一般に公開されている、ご提示の「インスタグラムのAPI」についてもAPI仕様書というのがあるはずです。
どのAPIにもあるのは冒頭に書いた「リクエストパラメータ」と「レスポンス」です。
表現はものによって違うかもしれません。「インプット」「アウトプット」かもしれません。
ただ意味するところは同じです。

つまり、「APIの機能に正しくアクセスできる方法を用い」「その機能が求めるパラメータを正しく渡す」ことができれば、あとはAPIが結果を返してくれます。
返ってきた結果をどう使うかは、利用者側に委ねられることになるので、ここを「難しい」ということでしたら「どう使うか決めてから、そのような使い方が可能なデータを返してくれるか」をAPI仕様書・ドキュメントから確認すれば良いです。

投稿2019/05/21 14:34

m.ts10806

総合スコア80852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coucou

2019/05/21 14:59

回答ありがとうございます。 基礎の方でいっぱいいっぱいなので、別の方法を探りたいと思います。
m.ts10806

2019/05/21 22:30

日常生活もリクエストとレスポンスの連続なので。 WebサイトもURLというリクエストを元にWebページというレスポンスをもって画面表示に至っているわけですので(サーバーサイドの言語であれば間に何かしらの処理が入ります)
guest

0

一般的に言って難しいとは思いますが、頭の良い人なら可能かもしれません。
もしくは、物凄く簡単にできるものを作りたいと思っている場合も可能かもしれません。

そのあたりは何とも…ですが

Javaの基礎、DB連携の知識でどんなことでができるのでしょうか。
何か面白そうなものを作ってみたいです。

DBは、データを保管する入れ物です。

「アプリを終了しても、データを保存しておいて、後から読み出せる」JavaのアプリはだいたいJava+DBですよね。
(テキストファイル等の形式で保存してる場合ももちろんありますが)

どんなことができるか?と聞かれると、その手のアプリはだいたいできると思っていいでしょう。
ただし、モノによってはそれ以外の知識も当然必要になります。(WEB系とか)

面白いと思うものは人それぞれですが、例えば自分のスケジュール管理アプリや家計簿的なもの、読んだ漫画に点数と感想を付けて管理するデータベースなど、スタンドアロンで動くものならなんでも良いんじゃないですかね。

投稿2019/05/21 16:05

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coucou

2019/05/21 16:26

回答ありがとうございます。 自分の中で想像できるものが似たり寄ったりなので、中身は同じような機能を使っているけれど、見た感じは知らない人が見たらそうとは思えないようなものを探しています。 話は少しそれますが、例えばアーティストを検索したらその人のディスコグラフィーを表示したい場合は、データベースに手動で登録しなければならないのでしょうか。 もうひとつ、駅名を検索すると10km付近のカラオケ屋を表示するような、位置情報を使うのは難易度が高いでしょうか。
gentaro

2019/05/21 16:33 編集

嫌味が言いたいわけじゃないので誤解しないで欲しいですが「○○は難しいですか」という聞き方は、「あなたが天才なら簡単かもしれない」という意味で回答しづらいです。 ご自身で調べてみて、難しいと思ったところを具体的に質問する事をおすすめします。 データベースにディスコグラフィーを登録するのは手動じゃなといけないのか、というのは、登録するためのプログラムを先に作ればいいですよね。
coucou

2019/05/21 16:48

申し訳ありませんでした。 知識不足人しても、軽率でした。 データベースに東京のカラオケ店を登録するときに、そのお店の位置情報も紐づけて登録することは可能なのかを知りたいです。また、GoogleMapのAPIを使うことになるのでしょうか。 そして、登録するにも数が膨大すぎるので、どこかからデータを取得しなければ行けないのかと思いました。
gentaro

2019/05/21 17:08

> データベースに東京のカラオケ店を登録するときに、そのお店の位置情報も紐づけて登録することは可能なのか カラオケ店の店名と位置情報をデータベースに登録する、という意味ですね。 可能不可能でいえば「そういうプログラムを書けば可能」です。 > GoogleMapのAPIを使うことになるのでしょうか。 GoogleMapのAPIを使ったことはないですが、位置情報は取得できるようなので、検索結果の位置情報を一括して取得するようなAPIが用意されていれば、簡単にできるかもしれません。 > 登録するにも数が膨大すぎるので、どこかからデータを取得しなければ行けない そうですね。その手のアプリを作るなら、いずれにせよどこかからその膨大なデータを入手し、自分のプログラムで利用するために加工する作業は発生します。場合によっては、そのためのプログラムを作ったりもします。 無償で利用できるデータを利用するケースもありますし、有償で買うケースもあると思います。 また、Web APIを通じてそのまま利用できるデータがある場合は、それを使う場合もあります。 いずれにせよ、どんなデータが利用できるのか?という視点で色々と探してみれば、よいアイデアが浮かぶかもしれませんね。
coucou

2019/05/21 17:25 編集

位置情報をデータベースに登録することが可能ということですが、その場合は位置情報は緯度経度で登録するのでしょうか。 APIに関しては、私の知識と時間を考えた時に1から勉強して実装までするのは困難だと判断したので諦めようかと思っています。本当は図書館のAPIをしようして蔵書検索をしたかったのですが。 データを自分で登録してそれを活用するという視点で考えてみまして、睡眠ログのようなものを取れたらなと思いました。それに関しては別に質問を立ててみましたが、あといくつかアイデアを出して行けたらと思っています。
gentaro

2019/05/21 17:31

どんなデータ型で保存しておけばアプリ側が利用しやすいのか、によって変わってきますが、例えばデータベースにMySQLを使う場合、Geometry型という経度緯度を保存するためのそのものズバリな型がありますし、「半径○Km以内」で検索するための例を挙げている記事もありますね。(他のDBでも相当する型が使えるものは結構あると思いますが) https://qiita.com/mitani/items/6909406ac4fe0db2d35c こういったものを読んで、自分でもできそうか、やってみたいか、を判断されてはどうでしょうか。
gentaro

2019/05/21 17:41

結局は自分が何をしたいのか、どこまでやる気があるのか、という話に帰結するので、やりたいならチャレンジしてみて、その過程で不明な点があれば調べ、それでも理解できないところを質問されてはどうかと思います。
coucou

2019/05/21 17:53

ありがとうございます。 このようなサイトにたどり着けなかったので、検索する工夫もしないといけないなと思いました。 いずれにしても、GoogleMapは使用するようですね、もう少しみて検討したいと思います。 今までの習ったもの+αを身につけながらできれば理想なのですが、今回は1週間という期間で完成させたいので、どこまでチャレンジしていいのか判断が難しいです。 理解できないところを具体的にしてから質問するようにします。
guest

0

Javaの基礎、DB連携の知識でどんなことでができるのでしょうか。

…ということなので、以下、参考までに。

新人研修(外部講習)で「掲示板」を作りました。

  • 掲示板のインタフェース作成(JSP、HTML、JavaScript、CSS)
  • 掲示板からデータベースへ登録
  • データベースから掲示板に表示
  • XSSなどの脆弱性対策

早くできた人は講師から「仕様変更」を受けて、新しい機能を掲示板に追加しました。
「投稿を検索したい」「位置情報を投稿・表示したい」とか。

最初の4点だけでも、1か月(これは早い方、遅いと1か月半以上)かかりました。
データベース設計や詳細設計もやっているので、ちょっと長いです。

仕様を減らして難易度を落とせば、1週間でできなくはないです。
「1週間でできること」がゴールだと、おもしろいからは程遠いと思います。

投稿2019/05/22 05:41

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

java のコードが書けることと, 開発が出来ることとは違うと考えます.
簡単か難しいかの基準も, 千差万別かと思います.

簡単と言われて出来なかったら, 「簡単じゃないじゃないか」と言うのでしょうか.
難しいと言われて結局何も手を付けられなかったら, 「何も出来ないじゃないか」と言うのでしょうか.

こうしているうちにも一週間は消費されていきます.
『案ずるより生むが易し』という言葉もあったと思います.
成功するか失敗するかを考えているうちに期限になっては何も得られませんが, 行動を起せば, 成功しようが失敗しようが経験は得るはずです.
その経験は次に活きる(活かす)と考えては如何でしょうか.

投稿2019/05/22 01:16

jimbe

総合スコア12659

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

https://github.com/sachin-handiekar/jInstagram
https://github.com/sachin-handiekar/jInstagram/wiki/jInstagram-Usage

自分は可能だと思います。
必要な情報を見つけて理解できれば十分可能だと思います。

でも情報を見つけられなかったり、その情報を理解できないと無理かな...
あと出来ないかもと思っていてもチャレンジは大事かと

投稿2019/05/23 04:15

kamikaze.cappa

総合スコア558

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一人でやるのであれば、APIを使用するための環境構築で下手すると1週間かかってしまうかもしれません。
使うAPIにもよりますが。
どこかから引っ張ってきて使うだけなら簡単かもしれませんが、
フレームワークなど用意して、自分で一から作ったりするとなるとまず1週間では無理でしょう。
チャレンジ精神は大事なので時間が有り余っているなら手を付けてみるとよいかもしれませんね。

投稿2019/05/22 04:29

azuapricot

総合スコア2341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

APIについての知識はまったくな行けれど、学習しながら一週間程度で実装までできるのか知りたいです。

無理だと思います。java以外の言語をベテランのように使えるレベルの人がjavaを一か月勉強したなら可能だと思いますが。
APIのドキュメント読むのも大変なのでなお無理です。

将来的にAPI使った何かを作りたいのなら、まずは自分で簡単なAPIをjavaで作って、そこにリクエスト飛ばして結果を受け取るプログラムを作ってみたらいいんじゃないでしょうか。
自作のAPIは使い道が無いけれどリクエストを飛ばす側のプログラムは今後も使えるでしょう。

投稿2019/05/21 14:30

hentaiman

総合スコア6422

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coucou

2019/05/21 15:01

回答ありがとうございます。 難しいのですね。基礎でやっとなので、別の方法を探りたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問