2018年7月8日日曜日

Outlook が立ち上がらない

Outlookが立ち上がらない(読みこみ中のまま)状態になりました。
調べてみたら、セーフモードでたちあげれば、問題なく立ち上がりました。

そこで、セーフモードの起動方法について、調べてみました。

【操作手順】
①Microsoft Outlook のアイコンに、マウスポインタを合わせます。
②キーボードの〔Ctrl 〕キーを押しながら、クリック(またはダブルクリック)します。
※ 〔Ctrl 〕キーは、ずっと押したままにします。
③"セーフ モードで起動しますか?" というメッセージが表示されたら、〔Ctrl 〕キーを押すのをやめて〔はい〕をクリックします。
 
【参考URL】
http://seesaawiki.jp/w/technet_lab/d/Outlook%20%a4%f2%a5%bb%a1%bc%a5%d5%a5%e2%a1%bc%a5%c9%a4%c7%b5%af%c6%b0%a4%b9%a4%eb%ca%fd%cb%a1

2018年6月30日土曜日

【とことん歴史紀行】徳川吉宗・徳川光圀の教訓(名言)

最近、「とことん歴史紀行」という番組をよく見ます。
歴史の景勝地も見ていて楽しいのですが、
番組最後の教訓が結構好きです。

Wikiみると、なかなか見応えある人物を選定しています。

やはり、歴史は学ぶげきことが多いです。

●徳川吉宗
 一刻の遅緩(ちかん)は即ち一日の不幸なり
一日の懈怠は即ち天下の恥辱なり
 →一秒の遅れは、一日の不幸になり、一日の怠けは人生を無駄にすることになる
●徳川光圀
苦は楽しみの種
楽は苦の種と知るべし
 →苦しくても楽しみの元になる。楽をしていると苦しみの元になる
  (苦しくても、何倍にも返ってくる)


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/