2018年6月16日土曜日

自分PCで、WEBサイト構築

作ったウェブアプリをローカルネットワーク内で公開する手順をまとめました。
⇒(目的)手元にある Windows PC をウェブサーバーとして  IIS をセットアップし、外部からWebサイトアクセス可能にする

1、IIS と ASP.NET の有効化と動作確認
①Window ボタンを左クリック「Windowsシステムツール」「コントロールパネル」「プログラム」「Windows の機能の有効化または無効化」選択
②「インターネット インフォメーション サービス」にチェック
③インターネット インフォメーション サービス > World Wide Web サービス > アプリケーション開発機能、の「ASP.NET 4.6」にチェック
 ⇒全部で次の項目にチェックが付く。
.NET 拡張機能 4.6
ASP.NET 4.6
ISAPI フィルター
ISAPI 拡張
④「OK」
⑤http://localhost/ にアクセスし、デフォルトウェブページが表示されることを確認

2、同一ネットワークの他端末からアクセスする
①Window ボタンを右クリック > コントロールパネル > システムとセキュリティ > Windows ファイアウォールを介したアプリまたは機能を許可をクリック

②「World Wide Web サービス (HTTP)」の「プライベート」と「パブリック」の両方にチェックし「OK」



続いて、同一ネットワーク内からのアウセスを試すために、URL を調べ、ウェブブラウザから確認します。
③Windows キー + R で「ファイル名を指定して実行」を立ち上げ
④cmd と入力し「OK」
立ち上がったコマンドプロンプトで ipconfig を実行し、例えば「Wireless LAN adapter Wi-Fi:」の「IPv4 アドレス」をメモ
⇒192.xxx.xxx.xxx
外部 PC やスマホなどのウェブブラウザの URL にメモした IP アドレスを入力してデフォルトウェブページが表示されることを確認。

3、IIS設定
①[Windows管理ツール][インターネット インフォメーション サービス(IIS)マネージャ]を選択
②左側の「サイト」「Default Web Site」右クリックで、「アプリケーションの追加」を選択
 ※「サイト」「Webサイトの追加」でWebサイト追加可能ですが、URL入力がホスト名となってしまうので、アプリケーション追加でサイト作成する
③下記情報を入力
エイリアス:任意の名前 (作成したサイトのURL=ホスト名(自己のPC名)/エイリアスとなる)
物理パス:任意のディレクトリ(サイトモジュールのあるディレクトリ)

④「OK」押した後、作成したアプリケーション右クリックして、「アプリケーションの管理」「参照」を選択
 ⇒ブラウザに表示されるURLが作成したサイトのURLになります(他社のPCでみるときは、localhostを自己PC名となる)

【参考URL】
http://sedmft001.tworkscloud.com/Standard/#/develop-login
http://www.wannko.net/windows10/iis/iis_00.html
http://www.aichi-c.ed.jp/contents/network/socket/iisinst/iis.htm
https://support.gmocloud.com/public/guide/win_manual/web.html

https://blog.goo.ne.jp/hiros-pc/e/de599e58878d8981c16a05fceee5fb78
https://blog.goo.ne.jp/hiros-pc/e/be30c4a34cf9c7d907985cc29be88a32
http://oki2a24.com/2015/12/16/set-up-iis-with-asp-net-in-my-local-pc/

http://www.atmarkit.co.jp/ait/articles/0908/14/news045.html
http://mtgiis.blogspot.com/2013/02/blog-post_9.html

2018年5月12日土曜日

Bloggerでのアフィリエイト広告設定手順

下記サイトでアフィリエイト募集していたので、登録して、Bloggerでのアフィリエイト設定方法をまとめてみました。

https://www.seshop.com/campaign/affiliate?utm_source=seid&utm_medium=email&utm_campaign=tandokumail_20180414_seid


(1) A8.netに登録
https://www.a8.net/にて、アフィリエイター(メディア会員)登録をお願いいたします。
※登録すると、楽天など色々承認されました。その他お勧めプログラムが紹介されますので、「提携申請」をして、承認されるとメールがきます。
  右のバナー(株式会社ファンコミュニケーションズ)をクリックして、登録してみてください。
(2) 審査・承認
ログイン後、検索バーにて『SEshop』と検索します。表示されたSEshopのアフィリエイトプログラムの提携申請をしてください。
(3) アフィリエイトリンク生成
貼り付け用のアフィリエイトリンクを生成してください。「広告リンク」「商品リンク」の2パターンから選択できます。
①Bloggerのメニュー「レイアウト」選択
②sidebar-right-1の「ガジェット追加」を選択
③「HTML/JavaScript」を選択する
④A8.netの承認プログラムを追加する
 タイトル、コンテンツ(承認プログラムを書く)を入力して、保存する



※A8.netの承認プログラムは、https://www.a8.net/にログインして、メッセージボックスの「新着プログラム」を選択して、プログラム情報にある「広告リンク」をクリックします。「広告リンクを表示」をクリックすると、下に「URL」があるので、これが「承認プログラム」となります。


静的コンテンツの圧縮方法

以下のサイトにIISでの設定方法が記載されていたので、ログとして、記載。
https://blogs.technet.microsoft.com/jpiis/2016/02/28/iis7/

 静的コンテンツの圧縮の確認方法
IE の F12 開発者ツールや、Fiddler 等のパケットキャプチャーツールを利用して、リクエスト ヘッダーと応答ヘッダーにはContent-Encoding: gzip 
を確認する

ただし、上記サイトに記載してありますように、「IIS では、すべての要求で圧縮コストが生じるのを避けるため、圧縮が行われるのは頻繁に要求されるコンテンツに限られます」


【TypeScript】TypeScript開発トラブルでの対応

TypeScriptでの開発で発生したエラーについて、すこしづつまとめていきます。
エラー発生時に、見直すことで、開発効率を上げていこうと思っています。

● Microsoft JScript 実行時エラー: 'jQuery' は宣言されていません。
【原因】Typescriptファイル内で、jQueryを利用しているのに読み込み宣言をしてないだけです。
【対策】HTMLファイルにjquery読み込みを追加する。
 <script type="text/javascript" src="../../Scripts/jquery-1.6.4.min.js"></script>
 【参考URL】
  http://tra-tech.blogspot.jp/2011/11/microsoft-jscript-jquery.html

2018年4月22日日曜日

JavaScript メモリーリーク


Windows の場合には「タスク マネージャー」を使用して、
時間の経過に対するメモリー使用量を示すグラフを表示し、
アプリケーションのさまざまな部分を操作するにつれてグラフが階段状に上昇していく場合には、メモリー・リークがあると判断」します。

JavaScript アプリケーションがどの程度メモリーを使用しているかを把握するためには、
Google Chromeの開発ツールを使用してブラウザーのメモリー・リーク調査
することがでいます。

原因、方法をまとめてみました。

1、用語及び原因など
◎グローバルスコープ
・関数の外(トップレベル)で宣言した変数のことで、プログラム全体から参照できる
・プログラムが終了するまで記憶領域を確保するため、関数内でしか必要ない変数までグローバル変数にした場合、無駄にメモリを消費することになる
◎ローカルスコープ
・関数内でvar/letを使って宣言された変数で、 関数の仮引数としても使われる。
・変数の記憶領域は、関数の実行が終わり次第、破棄される

◎クロージャ
・ローカル変数を参照している、関数の中に定義している関数 ⇒メモリーリークを引き起こす原因となる
⇒JavaScriptは、GC(ガベージコレクション:プログラムが動的に確保したメモリ領域の内、不要になった領域を自動的に開放する機能)採用しているので、
書き手がメモリの確保・開放を意識することなくメモリ領域から解放できる。
しかし、オブジェクトの参照が残っていると回収できず、メモリ上に残ってしまう

・メモリリークは、循環参照が原因
⇒2 つのオブジェクトが互いに相手を保持する形で互いを参照している場合、循環参照が発生します
 必要が無い場合は、クロージャを行わないようする


2、Google ChromeのDevToolsを使ってメモリーリークを調査
(1) パフォーマンス計測
Recordボタンを押してから停止する間、ページ上の操作や各処理にどれくらい時間がかかっているか計測します。
Google開発ルールの【Performance】タブを選択する。
画面上部に「ゴミ箱ボタン」は、これを押すと強制的にGCを発生させてメモリ解放ができる
1.Recordボタンを押して録画開始
2.最初にゴミ箱ボタン押す
3.オペレーションを行って、関数を実行させる
4.もう一回ゴミ箱ボタンをおす
5.stopボタンを押してRecord停止させる

(2) メモリ監視:スナップショットで該当する関数を探す
Google開発ルールの【Memory】タブを選択する。
①「Take Heap SnapShot」を選択して、現在のメモリ状態を取得
②オペレーションを行って、関数を実行させる
③「Take Heap SnapShot」をクリックで、メモリ状態を取得
⇒①と③との比較は、「Comparison」を選んで、Sanpshot1を選択して、比較対象にSnapshot2を選択する

◎テーブル表示のデータ内容
Constructor: クラス名
Distance: DOMツリールートからの距離
Object Count: オブジェクトの数
Shallow Size :オブジェクト単体のメモリ使用量
Retained Size  : オブジェクトとオブジェクトが参照しているオブジェクトも含めた使用量
このように複数のスナップショットを比較することで、任意のタイミングのメモリ使用状況を比較して、「何が増えているのか」を特定できるようになる。

◎【参考URL】
【メモリー・リーク】
https://www.ibm.com/developerworks/jp/web/library/wa-jsmemory/index.html
https://utage.headwaters.co.jp/blog/?p=1116
https://postd.cc/simple-guide-to-finding-a-javascript-memory-leak-in-node-js/
https://developers.google.com/web/tools/chrome-devtools/memory-problems/?hl=ja
【JavaScriptのクロージャ】
https://ichimaruni-design.com/2017/09/js-closure/
https://ichimaruni-design.com/2015/06/javascript-closure/
https://utage.headwaters.co.jp/blog/?p=1116
【メモリに関する用語】
https://developers.google.com/web/tools/chrome-devtools/memory-problems/memory-101?hl=ja
【Chromeデベロッパー・ツールの機能】
https://www.buildinsider.net/web/chromedevtools/01
https://qiita.com/y_fujieda/items/a0a69151cf7307039f74
http://weback.net/utility/1410/

2018年4月18日水曜日

【WebStorm】Import not working with JavaScript in PhpStorm


import React from 'react';

class HelloWorld extends React.Component {
  render() {
    return <p>Sample!</p>;  }
}

export default HelloWorld;
 
 
上記コードにて、「Import declarations are not supported by current JavaScript version」が表示されました。
 
javascriptのバージョンを「ECMAScript 6」に変更する
 
 
 
 
【参考URL】

2018年3月7日水曜日

引っ越しやること

 引っ越しとなると、やることが多いです。
私(独身)の場合で、やるべきことを調べてまとめてみました。

(1) 現在の住居・駐車場の解約 (大家さんまたは不動屋さんに連絡)
 ⇒1カ月前までに行うこと
(2) 固定電話や携帯電話・インターネットなどの解約・住所変更
 ⇒ソフトバンクの場合は、下記サイト
 https://www.softbank.jp/mobile/support/procedure/change_procedure/
(3) 荷物(粗大ゴミなど)の処分
 ⇒テレビなどの廃棄処分。※家電廃棄センターで処分してもらえます(ブラン管テレビ14型で5千円ほどしました)
(4) 郵便局の転居届
 ⇒インターネットで転居届下記サイトで可能です。
 https://welcometown.post.japanpost.jp/etn/ 
 https://welcometown.post.japanpost.jp/etn/ETN00S10MMC.do

(5) 電気、ガス、水道の変更(解約、契約)
 ⇒スマホでのインターネット変更も 電気・ガスはできました。
(6) 役所移転手続き(マイナンバーの変更)
 ⇒転出届は引っ越し前の14日前から手続き可能、転入届は引っ越し後の14日までに変更先手続き行うこと
  ※印鑑登録の手続きも行うこと
(7) 引っ越し業者選択(引っ越し日決定)
 ⇒早めに選びましょう(値段の値引きもうまく行うと少しだけ安くしてもらえる可能性あります。私の場合は段ボールを古いのにしてもらい二千円やすくなりました)
(8) 運転免許書変更
 ⇒移転先の警察署にいき、住所変更する
(9) 宅配などの変更手続き(停止や、住所変更)
(10) 保険、銀行、証券会社など、もろもろ住所変更
(11) 会社や、知人への住所変更の連絡

(12) 荷物の処分と梱包

 詳しくは下記のサイトに、大変便利にまとめられているので、参考にしていただくといいと思います。

【参考URL】
http://xn--28jh9aw2lsbz725dpxxd.biz/
https://hikkoshi.suumo.jp/oyakudachi/manual/keikaku/02.html