リアルタイム天気ネットワーク
Github
軍隊での2番目のプロジェクトとして、除隊日計算機の後に何をするかを考えています.地域ごとにリアルタイムの天気データを受信し、Webページに印刷したいです.時間は一週間ぐらいかかります.
使用方法
使い方は簡単で、Input boxに現在の天気を見たい地域を入力して検索すればいいです.
天気出力
21年9月17日現在「ソウル」を検索
続いて「釜山」を検索
写真のように天気によっては、背景画面やクリアボックスの右上隅のアイコンを変えてみましょう.
エラーページ
地域名が正しく入力されていないか、他の文字が入力されていない場合は、エラーページに切り替えます.
プロジェクト完了後の感想
axiosを使ってapiを取得し、使い始めたばかりの頃からgooglingを一生懸命使っていましたが、コードを書き終えて実行すると、データが正しく取得されていないので大変でした.async-await構文を利用すべきだった.
JavaScriptの知識が足りないために罪を受けた.しっかり勉強しなさい
残念な点
OpenWeatherMapは、地域名でapiを受信する際には英語で地域名を入力する必要があるので、ハングルで入力する場合は英語に変換し、探せば良いライブラリがあるはずですが、そのままハードコーディングしました.function KTE(city) {
var check_eng = /[a-zA-Z]/;
// city값이 영어일시 그대로 리턴
if (check_eng.test(city) == true) {
city=city.toLowerCase();
if (
city == 'seoul' ||
city == 'incheon' ||
city == 'gyeonggi-do' ||
city == 'busan' ||
city == 'daegu' ||
city == 'gwanju' ||
city == 'daejeon' ||
city == 'ulsan' ||
city == 'gangwon-do' ||
city == 'chungcheongbuk-do' ||
city == 'chungcheongnam-do' ||
city == 'jeollabuk-do' ||
city == 'jeollanam-do' ||
city == 'gyeongsangbuk-do' ||
city == 'gyeongsangnam-do' ||
city == 'jeju-do'
) {
return city;
} else return 'err';
} else if (city == '서울') return 'Seoul';
else if (city == '인천') return 'Incheon';
else if (city == '경기' || city == '경기도') return 'Gyeonggi-do';
else if (city == '부산') return 'Busan';
else if (city == '대구') return 'Daegu';
else if (city == '광주') return 'Gwanju';
else if (city == '대전') return 'Daejeon';
else if (city == '울산') return 'Ulsan';
else if (city == '강원도') return 'Gangwon-do';
else if (city == '충북' || city == '충청북도') return 'Chungcheongbuk-do';
else if (city == '충남' || city == '충청남도') return 'Chungcheongnam-do';
else if (city == '전북' || city == '전라북도') return 'Jeollabuk-do';
else if (city == '전남' || city == '전라남도') return 'Jeollanam-do';
else if (city == '경북' || city == '경상북도') return 'Gyeongsangbuk-do';
else if (city == '경남' || city == '경상남도') return 'Gyeongsangnam-do';
else if (city == '제주' || city == '제주도') return 'Jeju-do';
else {
return 'err';
}
}
さまざまなコードもスムーズではなく、雑然としています.今度はもっときれいなコードを書きたいです.
Reference
この問題について(リアルタイム天気ネットワーク), 我々は、より多くの情報をここで見つけました
https://velog.io/@h0ch1/실시간-날씨-웹
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
axiosを使ってapiを取得し、使い始めたばかりの頃からgooglingを一生懸命使っていましたが、コードを書き終えて実行すると、データが正しく取得されていないので大変でした.async-await構文を利用すべきだった.
JavaScriptの知識が足りないために罪を受けた.しっかり勉強しなさい
残念な点
OpenWeatherMapは、地域名でapiを受信する際には英語で地域名を入力する必要があるので、ハングルで入力する場合は英語に変換し、探せば良いライブラリがあるはずですが、そのままハードコーディングしました.function KTE(city) {
var check_eng = /[a-zA-Z]/;
// city값이 영어일시 그대로 리턴
if (check_eng.test(city) == true) {
city=city.toLowerCase();
if (
city == 'seoul' ||
city == 'incheon' ||
city == 'gyeonggi-do' ||
city == 'busan' ||
city == 'daegu' ||
city == 'gwanju' ||
city == 'daejeon' ||
city == 'ulsan' ||
city == 'gangwon-do' ||
city == 'chungcheongbuk-do' ||
city == 'chungcheongnam-do' ||
city == 'jeollabuk-do' ||
city == 'jeollanam-do' ||
city == 'gyeongsangbuk-do' ||
city == 'gyeongsangnam-do' ||
city == 'jeju-do'
) {
return city;
} else return 'err';
} else if (city == '서울') return 'Seoul';
else if (city == '인천') return 'Incheon';
else if (city == '경기' || city == '경기도') return 'Gyeonggi-do';
else if (city == '부산') return 'Busan';
else if (city == '대구') return 'Daegu';
else if (city == '광주') return 'Gwanju';
else if (city == '대전') return 'Daejeon';
else if (city == '울산') return 'Ulsan';
else if (city == '강원도') return 'Gangwon-do';
else if (city == '충북' || city == '충청북도') return 'Chungcheongbuk-do';
else if (city == '충남' || city == '충청남도') return 'Chungcheongnam-do';
else if (city == '전북' || city == '전라북도') return 'Jeollabuk-do';
else if (city == '전남' || city == '전라남도') return 'Jeollanam-do';
else if (city == '경북' || city == '경상북도') return 'Gyeongsangbuk-do';
else if (city == '경남' || city == '경상남도') return 'Gyeongsangnam-do';
else if (city == '제주' || city == '제주도') return 'Jeju-do';
else {
return 'err';
}
}
さまざまなコードもスムーズではなく、雑然としています.今度はもっときれいなコードを書きたいです.
Reference
この問題について(リアルタイム天気ネットワーク), 我々は、より多くの情報をここで見つけました
https://velog.io/@h0ch1/실시간-날씨-웹
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function KTE(city) {
var check_eng = /[a-zA-Z]/;
// city값이 영어일시 그대로 리턴
if (check_eng.test(city) == true) {
city=city.toLowerCase();
if (
city == 'seoul' ||
city == 'incheon' ||
city == 'gyeonggi-do' ||
city == 'busan' ||
city == 'daegu' ||
city == 'gwanju' ||
city == 'daejeon' ||
city == 'ulsan' ||
city == 'gangwon-do' ||
city == 'chungcheongbuk-do' ||
city == 'chungcheongnam-do' ||
city == 'jeollabuk-do' ||
city == 'jeollanam-do' ||
city == 'gyeongsangbuk-do' ||
city == 'gyeongsangnam-do' ||
city == 'jeju-do'
) {
return city;
} else return 'err';
} else if (city == '서울') return 'Seoul';
else if (city == '인천') return 'Incheon';
else if (city == '경기' || city == '경기도') return 'Gyeonggi-do';
else if (city == '부산') return 'Busan';
else if (city == '대구') return 'Daegu';
else if (city == '광주') return 'Gwanju';
else if (city == '대전') return 'Daejeon';
else if (city == '울산') return 'Ulsan';
else if (city == '강원도') return 'Gangwon-do';
else if (city == '충북' || city == '충청북도') return 'Chungcheongbuk-do';
else if (city == '충남' || city == '충청남도') return 'Chungcheongnam-do';
else if (city == '전북' || city == '전라북도') return 'Jeollabuk-do';
else if (city == '전남' || city == '전라남도') return 'Jeollanam-do';
else if (city == '경북' || city == '경상북도') return 'Gyeongsangbuk-do';
else if (city == '경남' || city == '경상남도') return 'Gyeongsangnam-do';
else if (city == '제주' || city == '제주도') return 'Jeju-do';
else {
return 'err';
}
}
Reference
この問題について(リアルタイム天気ネットワーク), 我々は、より多くの情報をここで見つけました https://velog.io/@h0ch1/실시간-날씨-웹テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol