2018年10月09日

JavaScriptって何?

珍しくプログラムについて書いてみます。
と言っても、かなり省略しているので、子細へのツッコみは無しでお願いします。



私がよく書くプログラム言語はJavaScript(じゃばすくりぷと)。
Webページを細工する為の言語です。
例えば、こんなボタン。




これは『ボタンが押された事』を取得し、文字の色を変えてます。
(でも2回押したら、黒に戻すとかは入れてません)

教えてくれるのはブラウザ(IEとかEdgeとかChrome)。
つまり、ブラウザには最初からそんな機能が備わっているのです。



ブラウザは『ボタンが押された事』の他にも、

絵やバナーを押された事
文字が入力された事
絵が表示されているか、されていないか
現在、表示されている値

などイベントが発生した事やブラウザに表示している値を教えてくれるので、JavaScriptを使って受信します。
ただ、これはブラウザ側(クライアント側と呼びます)だけのお話。

通常は、入力した値をDB(データベース)に保存し、必要な値をDBから取り出して、画面に表示するはずで、この場合はWebサーバとDBの構築が必要となります。
簡単に説明すると、

1:ブラウザでWebページを読み出す為にWebサーバを作り
2:DBシステムを作り
3:DBの値を読み書きするプログラムを作り、サーバー内に配置し
4:JavaScriptで、そのプログラムを呼び出す

といった感じ。



上の1番はレンタルサーバを借りると大抵の場合は最初から用意されてます。
もし自分で作るならパソコンにApache(アパッチ)とかWebサーバのソフトをインストールし、設定しなければなりません。
Apache自体は無料です。

2番のDBも、レンタルサーバなら最初から用意されてます。
と言うか、用意されているサーバを借りるべきです。
もし自分で作るなら、Apacheを入れたサーバーに、さらにMySQL(マイエスキューエル)とかのDBシステムをインストールします。
MySQLも無料です。

3番のDBの値を読み出し、書き込むプログラムはPHP(ピーエッチピー)を使うのが楽です。
これはレンタルサーバを借りたとしても、自分で作らなくてはいけません。
作ったら、レンタルサーバ(もしくは自分で作ったサーバ)内に配置します。
PHPも無料です。

4番のJavaScriptは、PHPのプログラムを呼び出してDBの値を読み出し、それをブラウザに表示する機能です。
また、何か入力したり、動かしたら、その値をDBに書き込んだりします。
さらにHTML、CSSなんかの知識も必要になります。



なんで、こんな話を書いたのかと言うと、城プロもこんな仕組みで動いているから。
城娘を配置したり、大きくしたりはJavaScriptのゲーム用ライブラリを使ってるんでしょう。
あと、たまにはプログラムの事を書いた方が良いかな〜って軽い気持ちでした。

適当に書いてみましたが、続きはその内にでも。
ではまた次回に!
posted by エカテリーナ at 01:09| Comment(0) | TrackBack(0) | プログラム

2016年12月07日

moment.jsでunixtime

moment.jsのお話でーす。


当日(今日)の午前零時のunixtimeを取得するために、これまでは


var _wd = new Date();

var _wd2 = new Date(_wd.getFullYear(),_wd.getMonth(),_wd.getDate());

var wd = Math.floor(_wd2.getTime() / 1000);


とかやってました。アホですね。

でも4年前はJSを覚え立てで、こんなのでも必死でした。


それがmoment.jsのおかげで、こうなりました。一発です。


let wd = moment().startOf('day').unix();


曜日付きフォーマットも余裕です。


var week = ["日","月","火","水","木","金","土"];

var d = new Date();

ret = (d.getMonth()+1) + "月" + d.getDate() + "日(" + week[d.getDay()] + ")";


こうだったのが、こうなりました。


moment.locale("ja");

moment().format("MM月DD日(ddd)");


このうち、


moment.locale("ja");


は先頭に一回呼び出しておけばよいので、実質は1行だけですね。
タグ:moment.js
posted by エカテリーナ at 19:58| Comment(0) | プログラム