tag:blogger.com,1999:blog-170099512024-03-14T20:59:56.421+09:00yukotan hourまっすぐ進むには前を見ること。yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.comBlogger392125tag:blogger.com,1999:blog-17009951.post-4143669477347704382023-03-11T00:36:00.008+09:002023-03-11T09:54:15.631+09:00M2 Mac で FlexGen を使ってみる<p>彗星のごとく現れた FlexGen を Apple Silicon M2 の Mac で使ってみたいと思います。<br /></p><p>GitHub - FMInference/FlexGen: Throughput-oriented systems for large language models on commodity GPUs.<br /><a href="https://github.com/FMInference/FlexGen">https://github.com/FMInference/FlexGen</a></p><p>この情報はFlexGenが発表されたばかりの2023年3月10日現在の情報であるため、随時情報をアップデートしてください。</p><p>追記 : 下記の方法でするのがおすすめです。<br /><a href="https://note.com/kotatsurin/n/nc93d736cdc8f#ec8c0544-477d-4c3e-bbda-d96f5941daf1" target="_blank">大規模言語モデルOPTをM1/M2 Mac上のFlexGenで動かしてチャットする|りん こうたつ|note</a> </p><h2 style="text-align: left;">1. 必要環境を整える</h2>※MacOS 13以上での実施推奨。<br />それより古いとtorch.cumsum の MPS サポートが無い為です。<p>Pythonやライブラリが既に入っている人は以下は必要ありません。</p><h3 style="text-align: left;">1-1. python のインストール</h3><p>Homebrewで入れる方法ですが他の方法でも構いません。<br /></p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> $ brew install python</div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><br /></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> $ python3 -V</div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> -> Python 3.11.2</div><h3 style="text-align: left;">1-2. 必要なライブラリのインストール</h3><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><div> $ pip3 install --upgrade pip</div><div> $ pip3 install numpy </div><div> $ pip3 install attrs</div><div> $ pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu</div></div><p>pytorch (torch) をインストールするコマンドは下記から取得して pip を pip3 に変えています。<br /></p><p>Start Locally | PyTorch <br /><a href="https://pytorch.org/get-started/locally/">https://pytorch.org/get-started/locally/</a></p><p>PyTorch Build は Stable ではなく Preview (Nightly) を選択してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUbDppczXl7zoeKUSDsO_eo7_0_XAu5PWNX7Dcxlwt3K-C7zfkuYKf0QiCsnj_Kv4B91yGbjMv0Y00lNoTPTPloESvwJCKCjcY5Fn5yITi3iHa9jCjKBl3jySmCLZNIIdwk2Rzl-zql8_n7gVARELbDG672qlN_u3G-srgoad3MfvDvZdNKA/s1606/pytorch.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="1606" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUbDppczXl7zoeKUSDsO_eo7_0_XAu5PWNX7Dcxlwt3K-C7zfkuYKf0QiCsnj_Kv4B91yGbjMv0Y00lNoTPTPloESvwJCKCjcY5Fn5yITi3iHa9jCjKBl3jySmCLZNIIdwk2Rzl-zql8_n7gVARELbDG672qlN_u3G-srgoad3MfvDvZdNKA/w640-h252/pytorch.png" width="640" /></a></div><h2 style="text-align: left;">2. インストール</h2><div style="text-align: left;">FlexGen を Git から clone してm1ブランチにきりかえてインストール。</div><div style="text-align: left;"><br /></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><div> $ git clone https://github.com/FMInference/FlexGen.git</div><div> $ git switch m1</div><div> $ cd FlexGen</div><div> $ pip3 install -e .</div></div><h2 style="text-align: left;">3. 試しに実行</h2><div>小さい1.3bで実施してみます。</div><div><br /></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> $ python3 -m flexgen.flex_opt --model facebook/opt-1.3b</div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> <中略>
minutes. If it seems to get stuck, you can monitor the progress by checking the memory usage of this process.
Downloading pytorch_model.bin: 100%|█████████████████████████████████████████████| 2.63G/2.63G [03:41<00:00, 11.9MB/s]
Fetching 1 files: 100%|████████████████████████████████████████████████████████████████| 1/1 [03:42<00:00, 222.28s/it]
Convert format: 100%|███████████████████████████████████████████████████████████████████| 1/1 [00:06<00:00, 6.37s/it]
<中略></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><div style="line-height: 20px;"><div style="line-height: 20px;"><div>----------------------------------------------------------------------</div><div>0: <span style="color: #ce9178;">Paris</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">capital</span> <span style="color: #ce9178;">city</span> <span style="color: #ce9178;">of</span> <span style="color: #ce9178;">France.</span> <span style="color: #ce9178;">It</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">most</span> <span style="color: #ce9178;">populous</span> <span style="color: #ce9178;">city</span> <span style="color: #ce9178;">in</span> <span style="color: #ce9178;">France,</span>
<span style="color: #ce9178;">with</span> <span style="color: #ce9178;">an</span> <span style="color: #ce9178;">estimated</span> <span style="color: #ce9178;">population</span> <span style="color: #ce9178;">of</span> <span style="color: #ce9178;">6,848,</span><span style="color: #b5cea8;">000</span> <span style="color: #ce9178;">in</span> <span style="color: #b5cea8;">2016.</span> <span style="color: #ce9178;">It</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">second</span> <span style="color: #ce9178;">most</span> <span style="color: #ce9178;">populous</span> <span style="color: #ce9178;">city</span></div><div>----------------------------------------------------------------------</div><div>3: <span style="color: #ce9178;">Paris</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">capital</span> <span style="color: #ce9178;">city</span> <span style="color: #ce9178;">of</span> <span style="color: #ce9178;">France.</span> <span style="color: #ce9178;">It</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">most</span> <span style="color: #ce9178;">populous</span> <span style="color: #ce9178;">city</span> <span style="color: #ce9178;">in</span> <span style="color: #ce9178;">France,</span>
<span style="color: #ce9178;">with</span> <span style="color: #ce9178;">an</span> <span style="color: #ce9178;">estimated</span> <span style="color: #ce9178;">population</span> <span style="color: #ce9178;">of</span> <span style="color: #ce9178;">6,848,</span><span style="color: #b5cea8;">000</span> <span style="color: #ce9178;">in</span> <span style="color: #b5cea8;">2016.</span> <span style="color: #ce9178;">It</span> <span style="color: #ce9178;">is</span> <span style="color: #ce9178;">the</span> <span style="color: #ce9178;">second</span> <span style="color: #ce9178;">most</span> <span style="color: #ce9178;">populous</span> <span style="color: #ce9178;">city</span></div><div>----------------------------------------------------------------------</div><br /></div><div> TorchDevice: <span style="color: #ce9178;">mps:</span><span style="color: #b5cea8;">0</span></div><div> cur_mem: <span style="color: #b5cea8;">2.6426</span> <span style="color: #ce9178;">GB,</span> <span style="color: #ce9178;">peak_mem:</span> <span style="color: #b5cea8;">0.0000</span> <span style="color: #ce9178;">GB</span></div><div> TorchDevice: <span style="color: #ce9178;">cpu</span></div><div> cur_mem: <span style="color: #b5cea8;">2.6426</span> <span style="color: #ce9178;">GB,</span> <span style="color: #ce9178;">peak_mem:</span> <span style="color: #b5cea8;">0.0000</span> <span style="color: #ce9178;">GB</span></div><div> model <span style="color: #ce9178;">size:</span> <span style="color: #b5cea8;">2.443</span> <span style="color: #ce9178;">GB cache</span> <span style="color: #ce9178;">size:</span> <span style="color: #b5cea8;">0.398</span> <span style="color: #ce9178;">GB hidden</span> <span style="color: #ce9178;">size</span> (p): <span style="color: #b5cea8;">0.008</span> <span style="color: #ce9178;">GB</span></div><div> peak <span style="color: #ce9178;">gpu</span> <span style="color: #ce9178;">mem:</span> <span style="color: #b5cea8;">0.000</span> <span style="color: #ce9178;">GB projected:</span> <span style="color: #ce9178;">False</span></div><div> prefill <span style="color: #ce9178;">latency:</span> <span style="color: #b5cea8;">2.763</span> <span style="color: #ce9178;">s prefill</span> <span style="color: #ce9178;">throughput:</span> <span style="color: #b5cea8;">741.119</span> <span style="color: #ce9178;">token/s</span></div><div> decode <span style="color: #ce9178;">latency:</span> <span style="color: #b5cea8;">4.132</span> <span style="color: #ce9178;">s decode</span> <span style="color: #ce9178;">throughput:</span> <span style="color: #b5cea8;">30.009</span> <span style="color: #ce9178;">token/s</span></div></div><div> total <span style="color: #ce9178;">latency:</span> <span style="color: #b5cea8;">6.895</span> <span style="color: #ce9178;">s total</span> <span style="color: #ce9178;">throughput:</span> <span style="color: #b5cea8;">18.563</span> <span style="color: #ce9178;">token/s</span></div></div><p>コマンドを実行すると、約2.6GBのモデルがダウンロードされます。<br />MacのGPUなので mps (Metal Performance Shaders) です。</p><h2 style="text-align: left;">4. 遊んでみる</h2><p>他の人のブログとかを見るとあるはずの flexgen/apps/chatbot.py がない。<br />READMEにあるはずのサンプルコードも消えてる。<br />なんで?</p><p>Where is the chatbot? I miss it! · Issue #87 · FMInference/FlexGen <a href="https://github.com/FMInference/FlexGen/issues/87">https://github.com/FMInference/FlexGen/issues/87</a></p><p>理由はわかりませんが chatbot.py は消されてしまったようです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOubOAXYmM4-rUow3LVfoZVRKXmIKlQPHne5qxVKz1Ad5lLwyv46iNhuX-IsLpZ-3thmABEmZRwPpaMupWsItqNuCC6AwN-iakNXhjBaFmchKk0PVO3S1COv1b5ekIg_deputCW6Decgicv0LFbknDtWVxsTKXur9OX6DBTIbDN5JfI-MJqw/s1124/delete.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="1124" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOubOAXYmM4-rUow3LVfoZVRKXmIKlQPHne5qxVKz1Ad5lLwyv46iNhuX-IsLpZ-3thmABEmZRwPpaMupWsItqNuCC6AwN-iakNXhjBaFmchKk0PVO3S1COv1b5ekIg_deputCW6Decgicv0LFbknDtWVxsTKXur9OX6DBTIbDN5JfI-MJqw/w400-h258/delete.png" width="400" /></a></div><p><a href="https://github.com/FMInference/FlexGen/blob/9d888e5e3e6d78d6d4e1fdda7c8af508b889aeae/flexgen/apps/chatbot.py" target="_blank">過去のファイル</a>より取得して実行できないかな?<br />試してみましたが、下記はダメでした....</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><div> $ cd flexgen/apps/</div><div> $ curl -O https://raw.githubusercontent.com/FMInference/FlexGen/9d888e5e3e6d78d6d4e1fdda7c8af508b889aeae/flexgen/apps/chatbot.py</div><div> $ python3 chatbot.py --model facebook/opt-1.3b</div></div><p>すると <a href="https://twitter.com/kotatsurin/status/1633543183278964736" target="_blank">chatbot.py を復活させて且つ進化させてくださった方</a>を発見!!!<br />deepl のAPIキーがあれば日本語でも動くようになってます!<br />最初からこっちでやればよかった!</p><p>con3office/FlexGen at m1<br /><a href="https://github.com/con3office/FlexGen/tree/m1">https://github.com/con3office/FlexGen/tree/m1</a></p><p>というわけで下記コマンドで無事に動作しました。</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"><div> $ pip3 install deepl <-- chatbot.py でエラーにならないために入れます。</div><div> $ cd flexgen/apps/</div><div> $ curl -O https://raw.githubusercontent.com/con3office/FlexGen/m1/flexgen/apps/chatbot.py</div><div> $ python3 chatbot.py --model facebook/opt-1.3b</div><div><br /></div><div> CUDA devices not available, mps:0 is used instead
Initialize...
A chat between a curious human and a knowledgeable artificial intelligence assistant.
Human: Hello! What can you do?
Assistant: As an AI assistant, I can answer questions and chat with you.
Human: What is the name of the tallest mountain in the world?
Assistant: Everest.
Human: where is Tokyo? <-- Human: のあとに入力
Assistant: Tokyo. [4.08s] <-- これが回答</div><div> Human: What country is Tokyo located in?
Assistant: Japan. [3.63s]
Human: What is the name of the biggest lake in the world?
Assistant: Lake Victoria. [4.07s] (カスピ海?)</div><div> Human:</div><div><br /></div><div> ※終了させたいときは ctrl + C</div></div><div style="text-align: left;"><br /></div><div style="text-align: left;">ちょっと回答がおかしいときがありますが一番小さいモデルなのでそれはご愛嬌。</div><div style="text-align: left;"><br /></div><div style="text-align: left;">改善されたchatbot.pyのオプションの確認や、日本語でのやり取りもしたい場合は下記を参考にしてください。</div><div style="text-align: left;"><a href="https://note.com/kotatsurin/n/nc93d736cdc8f#ec8c0544-477d-4c3e-bbda-d96f5941daf1" target="_blank">大規模言語モデルOPTをM1/M2 Mac上のFlexGenで動かしてチャットする|りん こうたつ|note</a> </div><h2 style="text-align: left;">参考にしたリンク</h2><p></p><ul style="text-align: left;"><li><a href="https://note.com/une_back/n/nf41d62d4d391" target="_blank">FlexGenで遊んだメモ|ゆぬ|note</a><br /><br /></li><li><a href="https://www.kkaneko.jp/ai/win/flexgen.html" target="_blank">FlexGen のインストールと動作確認(大規模言語モデル,チャットボット)(Python,PyTorch を使用)(Windows 上)</a> <br /><br /></li><li><a href="https://note.com/kotatsurin/n/nc93d736cdc8f#ec8c0544-477d-4c3e-bbda-d96f5941daf1" target="_blank">大規模言語モデルOPTをM1/M2 Mac上のFlexGenで動かしてチャットする|りん こうたつ|note</a> <br /><br /></li><li><a href="https://qiita.com/mod_poppo/items/23b28cf5e5708629435f" target="_blank">PyTorchがApple SiliconのGPUを使えるようになるらしいので試してみた - Qiita</a><br /><br /></li><li><a href="https://zenn.dev/hidetoshi/articles/20220731_pytorch-m1-macbook-gpu" target="_blank">PyTorchをM1 MacBook のGPU(MPS)で動かす.実行時間の検証もしたよ</a> </li></ul>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-29335736630230211262023-02-10T05:12:00.008+09:002023-02-10T11:51:45.222+09:00Cloudflare のフリープラン<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5jJO9YuSaHhQJaYbaJ6cYwXXjRMwf8RPEfeJrkiVURO4bVlMeLPPayD7WVDST2aKwf8nVmIsIhVBA2rBYVevxO4RkKDPWyf0mOP0hnhb0l3IHRFomQwnq6sAo2tbQj3CfyFeJuf0sxjgEXCLQWbmc8_9jyIuqq8Jiy7G41wXw9v9B17XdTw/s1920/cloudflare.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1920" data-original-width="1920" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5jJO9YuSaHhQJaYbaJ6cYwXXjRMwf8RPEfeJrkiVURO4bVlMeLPPayD7WVDST2aKwf8nVmIsIhVBA2rBYVevxO4RkKDPWyf0mOP0hnhb0l3IHRFomQwnq6sAo2tbQj3CfyFeJuf0sxjgEXCLQWbmc8_9jyIuqq8Jiy7G41wXw9v9B17XdTw/s320/cloudflare.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;">いつもお仕事では有料プランを利用しているのですが、今回ちょっとフリープランを試すことになったのでやってみました。</span></div><p>Cloudflareは様々なサービスが有るのですが、メインの Cache 機能を設定します。<br />Cacheが効いているとユーザーはブラウザから素早くページにアクセスができるようになります。</p><p>プランは利用する「サイト」毎に契約します。</p><p>フリープランはクレジットカードの登録が必要ありません。<br />本当に使うときだけ登録すればいいというのは勝手に支払いが発生したりしないのでありがたいことです。<br /></p><p>また、フリープランはドメインのネームサーバーをCloudflareにする必要があります。<br />ドメインのプライマリおよびセカンダリネームサーバーはCloudflareが指定したものにしなければなりません。<br />自分の契約している別のDNSを使ってCNAMEでやりたい場合は<a href="https://developers.cloudflare.com/dns/zone-setups/partial-setup/setup/" target="_blank">BusinessかEnterpriseの有料契約が必要</a>になります。</p><p></p><ol style="text-align: left;"><li>ドメインとサーバーの用意<br /><br />いきなり本番で試すのはちょっと怖いと思いますので適当なサーバーを用意して下さい。<br /><a href="https://rs.sakura.ad.jp/" target="_blank">さくらのレンタルサーバー</a>のライトプランなど安いホームページサービスでOKです。<br /><br />ドメインも用意して下さい。まるごとCloudflareで実験に使われるので現在は使っていないドメインがおすすめです。Cloudflareのドメイン登録で取得することが可能です。また、お名前.comやムームドメインという専用サービスもありますし、レンタルサーバーでドメイン取得サービスもだいたい行っています。<br />この例では取得したドメインを yukotan.com とします。<br />(ドメインの登録先はバリューサーバーです)<br /><br />サーバーのドキュメントルートにindex.htmlと画像を設置して表示できるようにしておいて下さい。<br />CSSやJavaScriptもOKです。<br />この時点ではまだ yukotan.com では表示できないので、レンタルサーバー会社から指定されたURL (xxx.sakura.ne.jp 等) で表示が確認できれば大丈夫です。<br /><br />自分でサーバーを構築している場合はこの時点でVirtualHostを設定しても良いですし、後ほどでも構いません。(7で作業します)<br /><br />IPアドレスを調べてそれをメモしておいて下さい。<br />レンタルサーバー会社から指定されたURL (xxx.sakura.ne.jp 等) から調べたい場合はここで調べられます。(AとAAAAをメモしておいて下さい)<br /><a href="https://toolbox.googleapps.com/apps/dig/" target="_blank">https://toolbox.googleapps.com/apps/dig/</a><br />※レンタルサーバーの場合は今後ホスティング会社でサーバーの移転などがあるとIPアドレスが変わる場合があるので注意して下さい。<br /><br /></li><li>ログイン<br /><p>アカウントがない場合はこちらからアカウントを作成して下さい。<br /><a href="https://dash.cloudflare.com/sign-up" target="_blank">https://dash.cloudflare.com/sign-up</a></p><p>すでに持っているアカウントでログインの場合はこちらから<br /><a href="https://dash.cloudflare.com/login" target="_blank">https://dash.cloudflare.com/login</a></p></li><li>ダッシュボードでサイトを追加<br /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ1ZWTaxTMsyVurHiXF_8k6Fdon2vHYQsDQxxiOqP1DABfHAu-ae-cfK9_6A69Uy_sV98kPpgoHjJZQ2YYdmXHro5e3a4i16R_KdqTGv1ZUfad8_N5gVAlpWukaksO8nAK1cHmO9LYUUU9WdqXlOEn5vX25CpIhjydrANPZ950RYhtoHTc5g/s2368/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%203.40.52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="836" data-original-width="2368" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ1ZWTaxTMsyVurHiXF_8k6Fdon2vHYQsDQxxiOqP1DABfHAu-ae-cfK9_6A69Uy_sV98kPpgoHjJZQ2YYdmXHro5e3a4i16R_KdqTGv1ZUfad8_N5gVAlpWukaksO8nAK1cHmO9LYUUU9WdqXlOEn5vX25CpIhjydrANPZ950RYhtoHTc5g/w640-h226/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%203.40.52.png" width="640" /></a></div>右上にある「+サイトを追加」を選択すると上記のような画面になります。<br />追加したいドメインを入れて青色の「サイトを追加」を選択します。<br />ドメインは yukotan.com のような形式で入れます。<br />xxx.yukotan.com のようなサブドメインは含めないで下さい。<br /><br /></li><li>プランの選択<br /><p>いきなり有料プランが表示されますが、下の方に行くとフリープランが選択できます。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPPV1RKasp6CTyYhPOWgzsZE0tMrGydqr0fsL3iZUX12qvbY2Ooh00OjkkGpW65TmxEgwPGWKRQr4H67knl_s4dMJA_0oBS7XM85mWsB1KN4Ye9fnx1L1tFjcFQGQaDdj1A_zGIcC67czU_v-pe6qfYLosxQJBYGG2-6ATcq8DLbikWEPaCQ/s2154/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.19.53.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1134" data-original-width="2154" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPPV1RKasp6CTyYhPOWgzsZE0tMrGydqr0fsL3iZUX12qvbY2Ooh00OjkkGpW65TmxEgwPGWKRQr4H67knl_s4dMJA_0oBS7XM85mWsB1KN4Ye9fnx1L1tFjcFQGQaDdj1A_zGIcC67czU_v-pe6qfYLosxQJBYGG2-6ATcq8DLbikWEPaCQ/w640-h336/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.19.53.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;">↓</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX2HgMAkZ3Ii4nwgSma3H_hTLMtMLi-_5R8eAoOmnKWmyz99kGXy9PHH5V37Xw8rmKPnsq5YnHHzDMv_THTLBCi39rAKWMdXMHxRmvjs4fjiLqvdf-Ii55g1uojHcDbZeIbTFCY-70tkpGBeRqm7MbRI7kJVt99dcQ07ufhY9hq5n-EQ_DvQ/s1880/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.20.08.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="536" data-original-width="1880" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX2HgMAkZ3Ii4nwgSma3H_hTLMtMLi-_5R8eAoOmnKWmyz99kGXy9PHH5V37Xw8rmKPnsq5YnHHzDMv_THTLBCi39rAKWMdXMHxRmvjs4fjiLqvdf-Ii55g1uojHcDbZeIbTFCY-70tkpGBeRqm7MbRI7kJVt99dcQ07ufhY9hq5n-EQ_DvQ/w640-h182/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.20.08.png" width="640" /></a></div><p>Freeを選択して「続行」を選択します。</p></li><li>DNS設定<br /><p>DNS設定をドメイン名からクイックスキャンする画面になります。<br />しばらく待ちます。</p><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHwFNAvFs6S2Vd8GqZLLgjhZqY0X7xZvL-miyu0pMG-QlI5PAhB43eOcWCr2V4sx_qZkapPsEyINgeAeH6NewFOyY1mLXVsbpmn9Wf4gDqqHBG4a1qJyzJtyKw2SxeaHRtKzhkcBfJZ8f1hQqpJm3oxHQ-SACRstE2RjRZwP_-yGp7DTPuxw/s2106/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.20.29.png" style="margin-left: 1em; margin-right: 1em;"><br class="Apple-interchange-newline" /><img border="0" data-original-height="808" data-original-width="2106" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHwFNAvFs6S2Vd8GqZLLgjhZqY0X7xZvL-miyu0pMG-QlI5PAhB43eOcWCr2V4sx_qZkapPsEyINgeAeH6NewFOyY1mLXVsbpmn9Wf4gDqqHBG4a1qJyzJtyKw2SxeaHRtKzhkcBfJZ8f1hQqpJm3oxHQ-SACRstE2RjRZwP_-yGp7DTPuxw/w640-h246/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.20.29.png" width="640" /></a></div></div><div>すでにドメインを持っていてDNSをの設定が終わっている場合はその結果が表示されます。DNSの設定変更でサイトがダウンしないように手続きを簡単にしてくれます。</div><div><p>今回の例のようにドメインを買っただけでDNSの設定をしていない場合は何も表示されません。</p></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIjXtMOOEa1GArbot-LAIwWlwJkNA4u_jIXvOb21sMPjsTGMBWHlBP615lFZbq8E_YvZsGzJYVZ1Pk-XuSqdYu89l5uyPx9HdJEV353xesFK1Z-b34po2DDCkl8sFeFSEZzErH56e5uuc8OhZFNSibI9q2PG7hAa_yvAHPA2ogaAQDTc9aKg/s1892/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.22.40.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1204" data-original-width="1892" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIjXtMOOEa1GArbot-LAIwWlwJkNA4u_jIXvOb21sMPjsTGMBWHlBP615lFZbq8E_YvZsGzJYVZ1Pk-XuSqdYu89l5uyPx9HdJEV353xesFK1Z-b34po2DDCkl8sFeFSEZzErH56e5uuc8OhZFNSibI9q2PG7hAa_yvAHPA2ogaAQDTc9aKg/w640-h408/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.22.40.png" width="640" /></a></div><p>DNSの設定をしていない場合はここでDNSの設定を追加して下さい。<br />「レコードを追加」ボタンを押すと追加ができます。</p><p>今回のようにドメイン取得だけして実験したい場合はAレコードにサーバーのIPアドレス(v4)を入れて下さい。(1で取得したIPアドレスを入れます)<br />IPv6を入れたい場合はAAAAレコードにサーバーのIPv6アドレスを入れて下さい。<br />実験だけであればMXレコードなどは必要ありません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPNdiRIx6sT99eIbnzJXarZoY0XY86mAalBK_Zt9Z91nL-oczcqt5TPowN3gbN21DuKxm0XJXugeGTmZoCjz0aPbyp_DeG1Rtb5HX6yJAM7kK7UZEINNhOJs5wAtukIwRQPjntdhXpBLdpIrV69K3J2cQKXMAoVd0ejcFBkfRuAhQ_AS68fg/s1804/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.23.14.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="1804" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPNdiRIx6sT99eIbnzJXarZoY0XY86mAalBK_Zt9Z91nL-oczcqt5TPowN3gbN21DuKxm0XJXugeGTmZoCjz0aPbyp_DeG1Rtb5HX6yJAM7kK7UZEINNhOJs5wAtukIwRQPjntdhXpBLdpIrV69K3J2cQKXMAoVd0ejcFBkfRuAhQ_AS68fg/w640-h212/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.23.14.png" width="640" /></a><br /><br /></div></li><li>ドメインのネームサーバーの変更<br /><br /><div>ドメインに設定されているネームサーバーの変更をするよう案内が出ます。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo5bbQwwyxy0_4te6VYuzMNaSOwT1M_qyFv7TdTzrYyTltf1zaWjwCfnrPsCToT8vQsUjkOWWxsuGvadxamNG1zyF8l9M5TtOiXg1eLJe4ESU27IJchdso8xSG91cgXonEZBDRbUMyAtxWYTPaZxsfqB-77cIAUR24AC_ye58AYESeNcxTBA/s1996/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.24.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="890" data-original-width="1996" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo5bbQwwyxy0_4te6VYuzMNaSOwT1M_qyFv7TdTzrYyTltf1zaWjwCfnrPsCToT8vQsUjkOWWxsuGvadxamNG1zyF8l9M5TtOiXg1eLJe4ESU27IJchdso8xSG91cgXonEZBDRbUMyAtxWYTPaZxsfqB-77cIAUR24AC_ye58AYESeNcxTBA/w640-h286/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.24.24.png" width="640" /></a></div><div>現在のネームサーバーを<br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Noj5GufVOLBVmONWoYEwVK1k_yl2HQR65gcnSwKBraAt0OURp0F92RdXDTmP7lAeBbpoP9KljmlbZotMNubaNEZZzR5OeDKKorkZr-oYQmqhgvqSAFj486-CM_8hRs5Q38GbiFxvmZ7HGhfqa6LbcwgVKqdgg2JyUGQQ-_U8ihnO3ZLr4Q/s1506/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.24.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="462" data-original-width="1506" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Noj5GufVOLBVmONWoYEwVK1k_yl2HQR65gcnSwKBraAt0OURp0F92RdXDTmP7lAeBbpoP9KljmlbZotMNubaNEZZzR5OeDKKorkZr-oYQmqhgvqSAFj486-CM_8hRs5Q38GbiFxvmZ7HGhfqa6LbcwgVKqdgg2JyUGQQ-_U8ihnO3ZLr4Q/w640-h196/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.24.54.png" width="640" /></a></div><br />下記に変更するようにという指示です。<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEQwpcooCHey47DOlGQRFs8FiAdADc1rcEJdTmUzijeU07qJRkUwmv939rH8-Gi4fDwPJdoEdMy7AtPe9-thWZJqzAqVzqkfUtyAi0N6v6mXUoHiTEx3kdJEwkL_SbG6MbkbYo4t6lwm0a7pMEXVA-6IjYW0QJedkDWs1eLhGOSOXAnkHrcA/s1452/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.25.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="328" data-original-width="1452" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEQwpcooCHey47DOlGQRFs8FiAdADc1rcEJdTmUzijeU07qJRkUwmv939rH8-Gi4fDwPJdoEdMy7AtPe9-thWZJqzAqVzqkfUtyAi0N6v6mXUoHiTEx3kdJEwkL_SbG6MbkbYo4t6lwm0a7pMEXVA-6IjYW0QJedkDWs1eLhGOSOXAnkHrcA/w640-h144/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.25.35.png" width="640" /></a><br /><div style="text-align: left;"><br /></div><div style="text-align: left;">ドメイン管理会社(<a href="http://お名前.com" target="_blank">お名前.com</a>、<a href="https://support.muumuu-domain.com/hc/ja/articles/360047097273" target="_blank">ムームードメイン</a>等)の管理画面からプライマリネームサーバーとセカンダリネームサーバーを上記で指定されたものに変更して下さい。</div><div><br style="text-align: left;" /></div></div></li><li><div class="separator" style="clear: both; text-align: left;">サーバーのVirtualHostの設定<br /><p>Cloudflareからリクエストが来た場合にページが表示できるようVirtualHostの設定を行います。さくらのレンタルサーバーの場合は<a href="https://help.sakura.ad.jp/domain/2147/ " target="_blank">このような設定</a>を行います。<br />追加するのはこの場合だと yukotan.com になります。<br /></p><p>独自でサーバーを用意している場合はWebサーバーの設定でVirtualHostの設定を行って下さい。</p></div></li><li><div class="separator" style="clear: both; text-align: left;">アクセス<br /><div><br class="Apple-interchange-newline" />設定が完了して少し時間を置いたら購入したドメインにアクセスしてみて下さい。<br />この場合は https://yukotan.com です。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDKwgYWthDjhkQ7suNwECZCRl3Gg9AqMDkM67jNE8C2j_vmFGp8G-hGXEJEB3K6Ekd7T1iKHcYQNIjO-cilRus3j3WgeSVbf5NaVdc8sDeFN77XZCzz0CBn99x3vkoyWkC5_LHGNZHzank0MjszYyIx6RmbV2P5KC03QOMggO8KXghWzcyQ/s1426/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.35.16.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1426" data-original-width="1346" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDKwgYWthDjhkQ7suNwECZCRl3Gg9AqMDkM67jNE8C2j_vmFGp8G-hGXEJEB3K6Ekd7T1iKHcYQNIjO-cilRus3j3WgeSVbf5NaVdc8sDeFN77XZCzz0CBn99x3vkoyWkC5_LHGNZHzank0MjszYyIx6RmbV2P5KC03QOMggO8KXghWzcyQ/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.35.16.png" width="302" /></a><br />画像のHTTPヘッダーを確認してみて下さい。<br />Google Chrome であれば Chrome Dev Tools のネットワークタブから確認できます。<br />レスポンスヘッダーに "cf-cache-status: HIT" と出ていれば成功です。<br />htmlはデフォルトだとキャッシュされないので上記は出ません。<br /><br />デフォルトでキャッシュされるファイルの種類一覧は<a href="https://developers.cloudflare.com/cache/about/default-cache-behavior#default-cached-file-extensions" target="_blank">こちら</a><br /><br />設定に間違いがなければ、Cloudflareのサイトのダッシュボードで下記の表示が出ます。</div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU4rIQTIpSF3S787Vakq40X5FQzqwVi3JubijfaaGyAJ_gIXklIX0qKmq5aZsoKQfSB2OhhC-QyYdBMUCswrawx2PJL8WX1p45Pa4djX7NlhsiwAyKkFNw_W9Cf3FRH1oRai-sjD6ww7eqFIBsIJTab0bo6yx5KzQdRZM_c81q83XrQkp8YQ/s1410/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.28.18.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="448" data-original-width="1410" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU4rIQTIpSF3S787Vakq40X5FQzqwVi3JubijfaaGyAJ_gIXklIX0qKmq5aZsoKQfSB2OhhC-QyYdBMUCswrawx2PJL8WX1p45Pa4djX7NlhsiwAyKkFNw_W9Cf3FRH1oRai-sjD6ww7eqFIBsIJTab0bo6yx5KzQdRZM_c81q83XrQkp8YQ/w400-h127/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.28.18.png" width="400" /></a></div><div><br /></div></div></li><li><div class="separator" style="clear: both; text-align: left;">SSL証明書<br /><br /><div>SSL証明書は自動で設定されます。</div><div><br /></div><div><div>htmlを置いてあるサーバーをオリジンサーバー、CloudflareをCDNサーバーといいます。</div><div>ユーザーがブラウザからCDNサーバーにアクセスする間のSSL証明書は何もしなくても設定され通信は暗号化されます。</div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrmaFqm0ARSwI1jrs_j5UTZSIYomOBGNrj8iZ9lEQE8vOVKhpC8jzycNLkpcd1rYWr-TOxszv29lszXLXj7lJuvb4hrTLtrzVGoXGTTYinYgdG1qDKqo4IF9G_kyUyCDMVucmm30xzbfAKRR23z6YR4NNPTCzupLsbceoF59OpRc3iAz_Gdw/s2784/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.34.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1586" data-original-width="2784" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrmaFqm0ARSwI1jrs_j5UTZSIYomOBGNrj8iZ9lEQE8vOVKhpC8jzycNLkpcd1rYWr-TOxszv29lszXLXj7lJuvb4hrTLtrzVGoXGTTYinYgdG1qDKqo4IF9G_kyUyCDMVucmm30xzbfAKRR23z6YR4NNPTCzupLsbceoF59OpRc3iAz_Gdw/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.34.31.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>証明書はCloudflareが無料で発行してくれます。<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnt1vJaxTIUaKmP0dvTPY_9ghs_h5vwU5QzBYkukPnJ9Vd5NEJJSLqnEePdyEvScpmb2PZZgLA0VQKHGhwQU1EKsr8hxQ2bEOeyUjytyRmdz4A-igiaQleokR_wVzwdXV4PLWVH7UTxXSzAjFKu8Mz8bH_8IAVtVrzVFzcU4w8xZAmjg-D6w/s1114/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.35.46.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1114" data-original-width="1094" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnt1vJaxTIUaKmP0dvTPY_9ghs_h5vwU5QzBYkukPnJ9Vd5NEJJSLqnEePdyEvScpmb2PZZgLA0VQKHGhwQU1EKsr8hxQ2bEOeyUjytyRmdz4A-igiaQleokR_wVzwdXV4PLWVH7UTxXSzAjFKu8Mz8bH_8IAVtVrzVFzcU4w8xZAmjg-D6w/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%201.35.46.png" width="314" /></a></div><br /><p>オリジンサーバーとCDNサーバーの間はhttpでやり取りされます。<br />このオリジンサーバーとCDNサーバーの間もhttpsで暗号化したい場合は<a href="https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/" target="_blank">案内</a>に従って下さい。</p></div></li></ol><div><br /></div><div>設定はここまでです。</div><div>気づいたら加筆するかもしれません。</div><div><br /></div><div>CloudflareはCache以外にもいろいろな機能がありますので、ダッシュボードをのぞいてみてくださいね。</div>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-6959029236875077882023-02-10T03:02:00.004+09:002023-02-10T03:03:23.167+09:00Google Tag Assistant<p>Google Analytics を 新しくしてくださいね、というメッセージがBloggerに出ていたので設定を行いました。</p><p>テンプレートをカスタマイズするしか方法がなくてちょっと面倒です。</p><p>古い</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: "Migu 1M", Menlo, Monaco, "Courier New", monospace; font-size: 13px; line-height: 20px; white-space: pre;"> <span style="color: grey;"><</span><span style="color: #569cd6;">b:include</span> <span style="color: #9cdcfe;">data</span>=<span style="color: #ce9178;">'blog'</span> <span style="color: #9cdcfe;">name</span>=<span style="color: #ce9178;">'google-analytics'</span><span style="color: grey;">/></span></div><p>という記述を削除してGA4(Google Analytics 4)のタグを入れなければなりません。</p><p>こちらの記事を参考に作業をさせていただきました。</p><p>BloggerユーザーのUAからGA4切り替え方法について-おずろぐ <br /><a href="https://www.ozu-log.com/2022/02/ga4Transfer.html">https://www.ozu-log.com/2022/02/ga4Transfer.html</a></p><p>その際に Google Analytics の管理画面で、Google Tag Assistant というリンクが。<br />なんだこれ?</p><p>Google Tag Assistant<br /><a href="https://tagassistant.google.com/">https://tagassistant.google.com/</a></p><p>どうやらちゃんとGA4のタグが動作しているか確認してくれるツールのようです。<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZjrXqcu9ZY8SCpaFKbuVPITKpjZlwQuFJw-2VBXaugNWUsgAYeYx2Rfqxk33EYvlggz9ZLUfxUPFoDL66g0OlV1mdqQvOvN8AQiQd9Q2FtWJS2x584AAROTyqOYZjz0SKjvUmZWDGqwdt5GQI1sZVBbdFz3NEhrJXRJ6Fl3LegX-JhVIaHQ/s1342/01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="430" data-original-width="1342" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZjrXqcu9ZY8SCpaFKbuVPITKpjZlwQuFJw-2VBXaugNWUsgAYeYx2Rfqxk33EYvlggz9ZLUfxUPFoDL66g0OlV1mdqQvOvN8AQiQd9Q2FtWJS2x584AAROTyqOYZjz0SKjvUmZWDGqwdt5GQI1sZVBbdFz3NEhrJXRJ6Fl3LegX-JhVIaHQ/w640-h205/01.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><p>最初に Add domain を選択します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs588bgZpxPsTL9KOVxz7nCVehR4fBBcKwQ-ZTKELCb7ls7nvdWj38KlxgQuO5SMNaSD6VcSeZA-TmOyqbwm6iPZ5SBkjWzFnyIaHG14eTDxCe774RGboiChDZSKEQgixuTCr3oCTDeB2Dh6agcC2lGIDeXSzcZehgMnzDqu2SHawFtPUvsQ/s1328/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1038" data-original-width="1328" height="501" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs588bgZpxPsTL9KOVxz7nCVehR4fBBcKwQ-ZTKELCb7ls7nvdWj38KlxgQuO5SMNaSD6VcSeZA-TmOyqbwm6iPZ5SBkjWzFnyIaHG14eTDxCe774RGboiChDZSKEQgixuTCr3oCTDeB2Dh6agcC2lGIDeXSzcZehgMnzDqu2SHawFtPUvsQ/w640-h501/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.17.png" width="640" /></a></div><p>次にドメイン名を入れて "CONNECT"を選択します。<br />私は自分のブログの https://yukotan.blogspot.com を入れました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr6TyP4mFkN2TSHmwuZlbw6OYeB6XzJ9G5ephcN55RY5gcUZhuuCpmxrhYWz1zP8_D3m9ZXXDqMIwMQMBud8bQ-W00U0rClRCI8vOu7xWsXHnuJccuQ7xSOunhlxx5sYYRcUOwxTpnY5_b2GktpD8sl2AXgoxcbAnZgEIJgaZ-xtd2-nm2DQ/s1344/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="764" data-original-width="1344" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr6TyP4mFkN2TSHmwuZlbw6OYeB6XzJ9G5ephcN55RY5gcUZhuuCpmxrhYWz1zP8_D3m9ZXXDqMIwMQMBud8bQ-W00U0rClRCI8vOu7xWsXHnuJccuQ7xSOunhlxx5sYYRcUOwxTpnY5_b2GktpD8sl2AXgoxcbAnZgEIJgaZ-xtd2-nm2DQ/w640-h364/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.29.png" width="640" /></a></div>そうすると上記のように一覧に表示されます。<br />yukotan.blogspot.com を選択すると<div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi99x3xojB55bpMHnTcfV2Ea0A9TE4Pl8Hvx_Qa4Y1RgW_czhJP5QduYQVX0GJvuckzAJa99o6qXfQ6m9TL95m06l57IIsVHC6LNyBGT86SMVbb4E99C8-5CTOajkY_NByBsQyrHXYmIaWWhdrt3gxfvOzepJhP52VmUvzNqeaBgGAtwabqdA/s1192/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.58.39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="714" data-original-width="1192" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi99x3xojB55bpMHnTcfV2Ea0A9TE4Pl8Hvx_Qa4Y1RgW_czhJP5QduYQVX0GJvuckzAJa99o6qXfQ6m9TL95m06l57IIsVHC6LNyBGT86SMVbb4E99C8-5CTOajkY_NByBsQyrHXYmIaWWhdrt3gxfvOzepJhP52VmUvzNqeaBgGAtwabqdA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.58.39.png" width="320" /></a></div><p></p><p>すると上記のようにブラウザの中でもう一枚タブが開いて調査を行ってくれます。<br />元のタブに戻ると以下の画面になります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKaWJWbV3REEWX8TxXQ7cJq_Ugzwea4TEZIzC1mSPbRzsrw6Zw8_OeMvnKMswem7f_0DiGaNKh-eBxg0O_etQ3eSP-efHM-xsGII1WpiXJWIVhBToSXktp1udikNYrK-TKplwZCPH_ZL3vXOevQ73z2bBEwX_u9uDoIBhoAv94m1evB07aYQ/s1342/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="734" data-original-width="1342" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKaWJWbV3REEWX8TxXQ7cJq_Ugzwea4TEZIzC1mSPbRzsrw6Zw8_OeMvnKMswem7f_0DiGaNKh-eBxg0O_etQ3eSP-efHM-xsGII1WpiXJWIVhBToSXktp1udikNYrK-TKplwZCPH_ZL3vXOevQ73z2bBEwX_u9uDoIBhoAv94m1evB07aYQ/w320-h175/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.36.46.png" width="320" /></a></div><br /><p>このまま Continue を選択します。<br />そうすると下記のように結果が表示されます。<br />古いAnalyticsの画面だと警告が出たりします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxGB12kVFMKCWfUqJ7QTfGhiY1aVb23rXgHug1ZFhPYhskpWwP51r_wF2L4_rLa4biRi1mfGIQQHnO-0LfYFXpZLhufzxFj9FDNdL-rW8SFpEzyoYNDJrEkjftV3jqim7XXbqP8G_nNOpb7HHxeeCR_4OruAz-79c1i7PlNxH3RigoGcHWeQ/s1916/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.37.12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /><img border="0" data-original-height="918" data-original-width="1916" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxGB12kVFMKCWfUqJ7QTfGhiY1aVb23rXgHug1ZFhPYhskpWwP51r_wF2L4_rLa4biRi1mfGIQQHnO-0LfYFXpZLhufzxFj9FDNdL-rW8SFpEzyoYNDJrEkjftV3jqim7XXbqP8G_nNOpb7HHxeeCR_4OruAz-79c1i7PlNxH3RigoGcHWeQ/w640-h306/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-02-10%202.37.12.png" width="640" /></a></div><p>調査に良さそうですね。<br />またGoogle Analyticsの設定を行う場合は使ってみたいと思います。</p></div>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-11612465982149797702022-09-25T17:40:00.006+09:002022-09-26T05:00:41.347+09:00passenger-status コマンドが使えないPassenger を Ubuntu にインストールして passenger コマンドを使おうとしたらこんなエラーが<br />
<pre><code class="bash"># passenger-status
...
/phusion_passenger/admin_tools/instance.rb:94:in `initialize':
too long unix socket path (116bytes given but 108bytes max) (ArgumentError)
</code></pre>
なんでだろう?と思ったら、tmp ファイルの中のディレクトリ名が長すぎるとのこと。<br />
<pre><code class="bash"># cd /tmp
# ls -la
...
drwx------ 3 root root 4096 9月 24 17:35 systemd-private-2564dd8c0ded4ef6a37876fd7232108f-apache2.service-S1DBLi/
</code></pre>
これは systemd の設定の中で PrivateTmp という機能が効いているときに発生します。<br />
<pre><code class="bash"># cat /lib/systemd/system/apache2.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=https://httpd.apache.org/docs/2.4/
[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true ← これ
Restart=on-abort
[Install]
WantedBy=multi-user.target
</code></pre>
じゃあこれをオフにすればいいじゃない?と思いますがこの機能は結構大事な機能なのでできればONにしておきたいです。<br />
<br />
なんで大事なのか?<br />
/tmp ディレクトリに pid ファイルとかがそのまま置いてあると、他のプロセスがアクセスしようと思えばできてしまいます。<br />
そういういたずらを防ぐためにとても大事な機能なんですね。<br />
下記の蝶野まこさんのブログがとてもわかり易いので読んでみてください。<br />
<br />
/tmp/systemd-private-* の意味について | 晴耕雨読<br />
<a href="https://tex2e.github.io/blog/linux/tmp-systemd-private" target="_blank">https://tex2e.github.io/blog/linux/tmp-systemd-private</a><br />
<br />
で最初に戻りますが、 passenger-status コマンドでエラーが出たらどうすればよいのか?<br />
<br />
<a href="https://github.com/square/debug_socket/issues/4#issuecomment-250213414" target="_blank">https://github.com/square/debug_socket/issues/4#issuecomment-250213414</a><br />
<pre><code class="bash"> # GOTCHA: if the Rails.root.join("tmp", "sidekiq-debug-#{Process.pid}.sock")
# path is too long, this will fail. The max on Linux is 108 characters, MacOS
# is 104. If the path is too long, try using a relative path or /tmp/<blah>.
</code></pre>
しょうがないのでシンボリックリンクを作成して対処します。
今のところはこんな力技しかありません。
シンボリックリンクは用事が終わったら削除してください。
<pre><code class="bash"># cd /tmp
# ls -la
...
drwx------ 3 root root 4096 9月 24 17:35 systemd-private-2564dd8c0ded4ef6a37876fd7232108f-apache2.service-S1DBLi/
# ln -s systemd-private-2564dd8c0ded4ef6a37876fd7232108f-apache2.service-S1DBLi tmpass
# PASSENGER_INSTANCE_REGISTRY_DIR=/tmp/tmpass/tmp passenger-status
Version : 6.0.15
Date : 2022-09-25 17:38:57 +0900
Instance: 5X4gTYWE (Apache/2.4.41 (Ubuntu) SVN/1.13.0 OpenSSL/1.1.1j Phusion_Passenger/6.0.15)
----------- General information -----------
Max pool size : 6
App groups : 1
Processes : 1
Requests in top-level queue : 0
----------- Application groups -----------
/var/lib/redmine (production):
App root: /var/lib/redmine
Requests in queue: 0
* PID: 72465 Sessions: 0 Processed: 5 Uptime: 2m 25s
CPU: 0% Memory : 65M Last used: 1m 20s ago
# rm /tmp/tmpass
</code></pre>
なんかスッキリしませんね。<br/>
でもいいのです。<br/>
蝶野まこさんのブログが紹介できたので、これを読んで PrivateTmp の大事さがわかってくれる人が増えてくれれば。
yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-68840094215863289052022-09-25T11:51:00.099+09:002022-09-25T16:20:57.271+09:00Blogger でシンタックスハイライティング<div>そもそもなんで Blogger に書いてるかというと、ちょっとしたメモ書きたいなと思うと Qiita はなんか違うし、Zenn ほどガッツリ書くわけでもないしで戻ってきたわけです。</div><div><br /></div>メモとはいえ Blogger で Syntax highlighting したいので調べてるとこのような記事が。<div><br /></div><div>How to Add Code Syntax Highlighting to Blogger <a href="https://blog.paoloamoroso.com/2021/10/how-to-add-code-syntax-highlighting-to.html">https://blog.paoloamoroso.com/2021/10/how-to-add-code-syntax-highlighting-to.html</a></div><div><br /></div><div>これを参考にしてやってみます。</div><div><br /></div><div>1. highlight.js のリンクを調べる</div><div><br /></div><div>JavaScript で指定した場所を Syntax Highlighting してくれる highlight.js というライブラリがあります。</div><div><br /></div><div>highlight.js </div><div><a href="https://highlightjs.org/">https://highlightjs.org/</a></div><div><br /></div><div>Bloggerには画像以外のファイルは置けないので、CDNに設置されているjsのリンクを探します。昔はこういう事できなかったな〜。いい時代になりましたね。</div><div><br /></div><div>GoogleさんのCDNがあるので調べてみる。</div><div><br /></div><div>Hosted Libraries | Google Developers</div><div><a href="https://developers.google.com/speed/libraries?hl=en">https://developers.google.com/speed/libraries?hl=en</a><br />(hl=jpのリンクだとなんだか翻訳がおかしいのでenのリンク貼っときます)</div><div><br /></div><div>しかし、ここには highlight.js はない模様。</div><div><br /></div><div>Cloudflare がやっている cdn.js から持ってきましょう。</div><div><br /></div><div>highlight.js - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers</div><div><a href="https://cdnjs.com/libraries/highlight.js">https://cdnjs.com/libraries/highlight.js</a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT5s_VzUjyWH33OGtp_JL2T8QvS8fSNH2JxPJNjjfMmmlI9pNyZNJW1cv2eGQJUwkr7nzLkcydDzsgo5Izfc3uQhdT9Vh5QkTt6c4jrnBDr8eRSdEsRCu5ScUhBMDRZr2MMGtJawyraQaTH6C6Km3S4knxNdSd5dib_TzZ-s-4jhqv0N33ug/s1434/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.48.36.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="920" data-original-width="1434" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT5s_VzUjyWH33OGtp_JL2T8QvS8fSNH2JxPJNjjfMmmlI9pNyZNJW1cv2eGQJUwkr7nzLkcydDzsgo5Izfc3uQhdT9Vh5QkTt6c4jrnBDr8eRSdEsRCu5ScUhBMDRZr2MMGtJawyraQaTH6C6Km3S4knxNdSd5dib_TzZ-s-4jhqv0N33ug/w549-h352/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.48.36.png" width="549" /></a></div><br /><div><br /></div><div><br /></div><div>ここから css と JavaScript のリンクを持ってきます。</div><div><br /></div>
JavaScript <div><br /></div><div><div><i><span style="font-family: courier;"><script crossorigin="anonymous" integrity="sha512-gU7kztaQEl7SHJyraPfZLQCNnrKdaQi5ndOyt4L4UPL/FHDd/uB9Je6KDARIqwnNNE27hnqoWLBq+Kpe4iHfeQ==" referrerpolicy="no-referrer" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script></span></i></div><div><i><span style="font-family: courier;"><script>hljs.initHighlightingOnLoad();</script></span></i></div><div><br /></div></div><div>CSS</div><div><br /></div><div>CSSは好きなテーマから選ぶことが可能です。</div><div>https://highlightjs.org/static/demo/</div><div><br /></div><div><span style="font-family: courier;">isbl-editor-dark</span> にしてみます。</div><div><br /></div><div><span style="font-family: courier;"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/isbl-editor-dark.min.css" integrity="sha512-35eVO1O7/yVv/H2UAzRkSwt7/04PX7n9D1NRVjD2f4B3gF5KUFpATdKgrR++Wfjpo1ft7UeY8jE2IfHzsrFMfQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /></span><br /><div><br /></div><div>2. テーマを編集する</div><div><br /></div><div>Blogger のテーマはhtmlで編集することが可能です。</div><div>右側に表示されている 「テーマ」を選択します。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8PYzVDwTXJ-hvg4K-r6FfC2b7P_VEsfrTi6dNlepCMr_PLRaCB8TaLqsokyowPJw_jg_JNdWZOmQ06cNFt3E3ez0aPiV_QGoqGyj3Kj5afvT6-ksducdYt_0GyCoR2W9FDdYIoU78P8HPym2L4ShNdbA4mjF_mQ0cdv3wgnx0bD07d3ndNA/s614/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.56.19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="334" data-original-width="614" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8PYzVDwTXJ-hvg4K-r6FfC2b7P_VEsfrTi6dNlepCMr_PLRaCB8TaLqsokyowPJw_jg_JNdWZOmQ06cNFt3E3ez0aPiV_QGoqGyj3Kj5afvT6-ksducdYt_0GyCoR2W9FDdYIoU78P8HPym2L4ShNdbA4mjF_mQ0cdv3wgnx0bD07d3ndNA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.56.19.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">次に現在選択しているテーマの「カスタマイズ」のボタンの右端をクリックしてドロップダウンするとメニューが出てきます。</div><div class="separator" style="clear: both; text-align: left;">その中の「HTMLを編集」を選択します。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Mntfoajvt_igiTlwODVKbXEk1hBiPdVkKKK5LIZBZUfM9TWtBSDN3XyKbmSs9STjK7o8mg9Ew-VAwHoZZTA0iLLUuFtzAh4qxdolWkK3XeXKaFh88Id6Qpc3x0Jw0mgYybyCrlq-jkyi9FUl0ZMWkAMTGAonexjBgiOLXpLLTXj7Vciuew/s994/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.56.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="994" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Mntfoajvt_igiTlwODVKbXEk1hBiPdVkKKK5LIZBZUfM9TWtBSDN3XyKbmSs9STjK7o8mg9Ew-VAwHoZZTA0iLLUuFtzAh4qxdolWkK3XeXKaFh88Id6Qpc3x0Jw0mgYybyCrlq-jkyi9FUl0ZMWkAMTGAonexjBgiOLXpLLTXj7Vciuew/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-09-25%2011.56.31.png" width="320" /></a></div><div><br /></div>title タグのすぐ下にCSSを、bodyタグの閉じる前にJavaScript を持ってきます。</div><div><br /></div><div>3. 貼る</div><div><br /><div class="separator" style="clear: both; text-align: left;">この状態で <pre><code> 〜 </code></pre> タグで囲むとこんなふうに表示してくれるようになります。</div></div><div class="separator" style="clear: both; text-align: left;">Blogger では < と > はセキュリティ対策のために省略されてしまうので、html などのコードはうまく表示されないので注意です。</div><pre><code class="css">@font-face {
font-family: Chunkfive; src: url('Chunkfive.otf');
}
body, .usertext {
color: #F0F0F0; background: #600;
font-family: Chunkfive, sans;
--heading-1: 30px/32px Helvetica, sans-serif;
}
@import url(print.css);
@media print {
a[href^=http]::after {
content: attr(href)
}
}
</code>
</pre>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-85238297076753396292022-09-25T11:04:00.000+09:002022-09-25T11:04:13.896+09:00ひさしぶり<p> 久しぶりにBlogger触ったらよくわからんことになってる。</p>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-33266769446259570492015-03-23T02:40:00.001+09:002015-03-23T04:47:41.965+09:00docomo端末のMVNO準備+α自分用メモです。<br />
<br />
通常SPモード時 : spmode.ne.jp<br />
テザリング時 : dcmtrg.ne.jp<br />
<br />
端末によるかもしれないけど、root不要で adb shell で settings.db 書き換えられる。<br />
(個人的には嬉しいけど、rootなしで書き換えられちゃうのってどうなのかなあ)<br />
<ul>
<li>強制APN指定
tether_dun_required : 1(強制指定),0(通常=強制されない)<br />
<br />
$ adb shell<br />
shell@SO-02F:/ $ settings get global tether_dun_required<br />
1<br />
shell@SO-02F:/ $ settings put global tether_dun_required 0<br />
$ exit<br />
<br />
このままだとSIMを差し替えるたびに、tether_dun_required が 1 に戻ってしまうので、<span style="float: left;">APN設定画面内の初期設定にリセットを押す。tether_dun_apnの記述がglobalテーブルに追記されるらしい。(まだ試してない) <br /><br />
</span></li>
<li>カメラの無音メニュー復活<br />
カメラの音を消しちゃうよりこっちが好きなの。<br />※下記はrootないと難しそう(まだ調査中)<br />
<br />
NTT DoCoMo : Xperia GX、Xperia SX、Xperia AX、Xperia A、Xperia Z<br />
KDDI au : Xperia VL、Xperia UL<br />
Still Life: Xperia Aのカメラシャッター音のON/OFF切り替えオプションを表示するXposedモジュールを作った<br />
<a href="http://hascha.blogspot.jp/2013/10/xperia-aonoffxposed.html">http://hascha.blogspot.jp/2013/10/xperia-aonoffxposed.html</a><br />
<br />
Xperia Z1f <br />Z1f.281_ShutterSoundOption<br /><a href="http://www.mediafire.com/download/lbcor2ib5sbfqfa/Z1f.281_ShutterSoundOption.zip">http://www.mediafire.com/download/lbcor2ib5sbfqfa/Z1f.281_ShutterSoundOption.zip</a><br /><br />
Xperia Z3<br />
ShutterSoundOption<br />
<a href="http://www.mediafire.com/download/9u7dxa9zy922ntu/ShutterSoundOption.apk">http://www.mediafire.com/download/9u7dxa9zy922ntu/ShutterSoundOption.apk</a> </li>
</ul>
<br />
参考<br />
<br />
【MVNO】非rootなドコモ端末をMVNO SIMでテザリングを可能にする方法(中級者向け)<br />
<a href="http://xperia-freaks.org/2015/03/21/docomo-tethering/">http://xperia-freaks.org/2015/03/21/docomo-tethering/</a><br />
<br />
【ROM焼き】docomo Xperia Z1 SO-01F root part3<br />
<a href="http://anago.2ch.net/test/read.cgi/smartphone/1387455970/">http://anago.2ch.net/test/read.cgi/smartphone/1387455970/</a><br />
<br />
Xperia Z3 Compact SO-02G docomo rooted!! - MobiX Gadget<br />
<a href="http://blog.goo.ne.jp/mobix/e/04e29eb6446338c7585117a445e10d75">http://blog.goo.ne.jp/mobix/e/04e29eb6446338c7585117a445e10d75</a><br />
<br />
【Z1】シャッター音ON/OFF制御が変わったようです Xperia Z1(C6903)レビュー(2)<br />
<a href="http://xperia-freaks.org/2013/09/28/c6903-camera/">http://xperia-freaks.org/2013/09/28/c6903-camera/</a><br />
<br />
国内版Xperia Z3 SOL26のroot取得 - Mojatte<br />
<a href="http://hsy.hatenablog.com/entry/2015/01/31/074033">http://hsy.hatenablog.com/entry/2015/01/31/074033</a><br />
<br />yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-55391917459009754992014-07-04T12:23:00.001+09:002014-07-04T12:23:45.767+09:00Yummy FTP で公開鍵認証ができない時Yummy FTP で公開鍵を使った接続ができなかった<br />
<blockquote>warning identity file not accessible no such file or directory ...</blockquote>なんでだろう(T_T)と思ってたら、<br />
「SSHの鍵ファイルパスを引用符で囲む」<br />
が原因だった。<br />
<br />
これのチェックを外すと普通に接続出来ました。なんでやねん!<br />
(日本語だけかな〜。)yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-45866676941609425402014-03-22T01:07:00.000+09:002014-03-31T00:18:38.835+09:0020名を越える環境での無線LAN機器について勉強会やってると、無線LANで参加者の方にネットワークにアクセスしていただくことがありますが、家庭用の普通の無線LANアクセスポイントだとだいたい5〜10台くらいが限度です。(お恥ずかしながら半年くらいまえまで知らなかった)<br />
無線LANにつなげるのってnotebookだけじゃなくてスマートフォンとかもありますので、25名いたら50接続する可能性もあるわけです。<br />
アクセスポイント機の同時接続限度を超えてしまうと、ものすごく低速になったり、果ては切断されたりしてしまうので、ハンズオンやハッカソンなどではとてもつらく切ないことになります。ショボーン<br />
<br />
それで、勉強会にいい無線LAN機器無いかしらと思い、「法人 無線LAN」という感じでぐぐって調べてみました。<br />
<ol>
<li><a href="http://jp.yamaha.com/products/network/wireless_lan/wlx302/" target="_blank">YAMAHA WLX302</a><br />
<a href="http://www.amazon.co.jp/gp/product/B00BM4ZC10/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B00BM4ZC10&linkCode=as2&tag=yukotan01-22"><img border="0" src="http://ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B00BM4ZC10&Format=_SL110_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=yukotan01-22" /><br />
Amazon.co.jp: YAMAHA WLX302</a><br />
2013年3月発売の製品。1年前ですね。802.11n/a/g/b対応。<br />
現在一番欲しいものです。5Ghz帯と2.4Ghz帯で<span style="color: red;">各50台</span>ずつ、<span style="color: red;">合わせて100台</span>の接続が可能です。<br />
価格はAmazonで47,177円。専用ACアダプターが別売りで4,027円なので合計<span style="color: red;">51,204円</span>。<br />
た、高い...でもこれあったら安心だし欲しいぃぃぃぃ!<br />
<br />
</li>
<li><a href="http://buffalo.jp/product/wireless-lan/pro-ap/waps-apg600h/" target="_blank">Buffalo AirStation Pro - WAPS-APG600H</a> <br />
<a href="http://www.amazon.co.jp/gp/product/B008562ZN6/ref=as_li_tf_il?ie=UTF8&camp=247&creative=1211&creativeASIN=B008562ZN6&linkCode=as2&tag=yukotan01-22"><img border="0" src="http://ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B008562ZN6&Format=_SL110_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=yukotan01-22" /><br />
Amazon.co.jp: Buffalo AirStation Pro - WAPS-APG600H</a><img alt="" border="0" src="http://ir-jp.amazon-adsystem.com/e/ir?t=yukotan01-22&l=as2&o=9&a=B008562ZN6" height="1" style="border: none !important; margin: 0px !important;" width="1" /><br />
2012年 8月発売の製品。こちらは1年半前ですね。802.11n/a/g/b対応。<br />
5Ghz帯と2.4Ghz帯で<span style="color: red;">各25台</span>ずつ、<span style="color: red;">合わせて50台</span>の接続が可能です。<br />
価格はAmazonで21,161円。やはり専用ACアダプターが別売りで3,127円。<br />
合計で<span style="color: red;">24,288円</span>。台数は半分だけどコレでもいいかなあ!<br />
<br />
</li>
<li><a href="http://www2.elecom.co.jp/network/wireless-lan/ap/wab-i1750-ps/" target="_blank">エレコム WAB-I1750-PS</a><br />
<a href="http://www.amazon.co.jp/gp/product/B00GJJTXA4/ref=as_li_tf_il?ie=UTF8&camp=247&creative=1211&creativeASIN=B00GJJTXA4&linkCode=as2&tag=yukotan01-22"><img border="0" src="http://ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B00GJJTXA4&Format=_SL110_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=yukotan01-22" /><br />
Amazon.co.jp: エレコム WAB-I1750-PS</a><img alt="" border="0" src="http://ir-jp.amazon-adsystem.com/e/ir?t=yukotan01-22&l=as2&o=9&a=B00GJJTXA4" height="1" style="border: none !important; margin: 0px !important;" width="1" /><br />
2013年10月発売の製品。新しいので<span style="color: red;">11ac/n/a</span>,11n/g/b対応してる!<br /><span style="color: red;">
50台</span>以下の接続が可能です(以下ってのが気になるなあ...)。<br />
価格はAmazonで27,077円。やはり専用ACアダプターが別売りで5,570円。<br />
合計で<span style="color: red;">32,647円</span>。<br />
</li>
</ol>
<br />
この3つ以外にも良さそうなものがあったら随時更新していきます。<br />
(あ、購入される方は上記リンクからよろしくお願いします!w)<br />
<br />
2014.03.31 というわけでおれは3を購入したぞ!ジョジョーぉ!となりました。 yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-3142595129161057942013-07-01T11:16:00.001+09:002013-07-01T11:16:47.105+09:00unable to convert "\xCF" from ASCII-8BIT to UTF-8新しい環境にgemインストールしてたらこんなエラーが。<br />
<br />
Parsing documentation for json-1.5.5<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/generator/generator.bundle, skipping<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/generator/generator.o, skipping<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/json/ext/generator.bundle, skipping<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/json/ext/parser.bundle, skipping<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/parser/parser.bundle, skipping<br />unable to convert "\xCF" from ASCII-8BIT to UTF-8 for ext/json/ext/parser/parser.o, skipping<br />Installing ri documentation for json-1.5.5<br />...<br />Parsing documentation for net-ssh-2.1.4<br />unable to convert "\xE7" from ASCII-8BIT to UTF-8 for lib/net/ssh/authentication/pageant.rb, skipping<br />
<br />
ココによるとrdocの問題らしい。<br />
<br />
gem install rdoc<br />https://github.com/davidfstr/rdiscount/issues/96 <br />
<br />
Rubyはhomebrewでインストールしているので、brew updateして直らなかったら以下のようにアップデート。 <br />
<br />
rdocをアップデート <br />
<br />
$ sudo gem install rdoc<br />
<br />Fetching: rdoc-4.0.1.gem (100%)<br />rdoc's executable "rdoc" conflicts with /usr/local/Cellar/ruby/2.0.0-p195/bin/rdoc<br />Overwrite the executable? [yN] y<br />rdoc's executable "ri" conflicts with /usr/local/Cellar/ruby/2.0.0-p195/bin/ri<br />Overwrite the executable? [yN] y<br />Depending on your version of ruby, you may need to install ruby rdoc/ri data:<br /><br /><= 1.8.6 : unsupported<br /> = 1.8.7 : gem install rdoc-data; rdoc-data --install<br /> = 1.9.1 : gem install rdoc-data; rdoc-data --install<br />>= 1.9.2 : nothing to do! Yay!<br />Successfully installed rdoc-4.0.1<br />Parsing documentation for rdoc-4.0.1<br />Installing ri documentation for rdoc-4.0.1<br />1 gem installed <br />
<br />
$ sudo gem list rdoc<br /><br />*** LOCAL GEMS ***<br />rdoc (4.0.1, 4.0.0) <br />
<br />
もう一回インストール<br />
<br />
<br />
$ sudo gem install json<br />
<br />Fetching: json-1.8.0.gem (100%)<br />Building native extensions. This could take a while...<br />Successfully installed json-1.8.0<br />Parsing documentation for json-1.8.0<br />Installing ri documentation for json-1.8.0<br />Done installing documentation for json after 0 seconds<br />1 gem installed<br />
<br />
今度はエラーでなかった。ホッ。<br /><br />yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-53894620118151326442013-03-05T22:42:00.000+09:002013-03-05T22:42:00.792+09:00macにdnsmasqをインストールmacにdnsmasqをインストール<br />
<br />
boxenにdnsmasqが入っていたので気になって入れてみました。<br />
dnsmasqはローカルに起動できるdnsサーバです。<br />
<br />
環境はMountain Lionです。<br />
<br />
Homebrewでインストール<br />
<pre>$ brew install dnsmasq
==> Downloading http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.65.tar.gz
######################################################################## 100.0%
==> make install PREFIX=/usr/local/Cellar/dnsmasq/2.65
==> Caveats
To configure dnsmasq, copy the example configuration to /usr/local/etc/dnsmasq.conf
and edit to taste.
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
To have launchd start dnsmasq at startup:
sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
Then to load dnsmasq now:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
Warning: /usr/local/sbin is not in your PATH
You can amend this by altering your ~/.bashrc file
==> Summary
🍺 /usr/local/Cellar/dnsmasq/2.65: 7 files, 416K, built in 16 seconds
</pre><br />
上記の通りConfファイルをコピー<br />
<pre>$ ls -l /usr/local/opt/dnsmasq/dnsmasq.conf.example
-rw-r--r-- 1 hoge wheel 25062 12 14 20:48 /usr/local/opt/dnsmasq/dnsmasq.conf.example
$ cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
</pre><br />
上記の通りパスを通す。<br />
<pre>$ vi ~/.bashrc
PATHに /usr/local/sbin を追加
$ source ~/.bashrc
</pre><br />
コマンドが認識されているか確認<br />
<pre>$ which dnsmasq
/usr/local/sbin/dnsmasq
</pre>問題ないですね。<br />
<br />
launchctlを利用して自動的に起動されるように設定ファイルを用意してくれています。<br />
多分、間違いなく常時利用するので、使わせていただきましょう。<br />
<br />
設定ファイルをコピー<br />
<pre>$ sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
</pre><br />
設定ファイルを読みこませる(Daemonとして自動的に起動する)<br />
<pre>$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
</pre><br />
プロセス確認<br />
<pre>$ ps aux | grep dnsmasq | grep -v grep
nobody 2854 0.0 0.0 2432960 676 ?? Ss 4:48PM 0:00.00 /usr/local/opt/dnsmasq/sbin/dnsmasq --keep-in-foreground
</pre><br />
常時起動リストに入っているかの確認<br />
<pre>$ sudo launchctl list | egrep "dnsmasq|PID"
PID Status Label
2854 - homebrew.mxcl.dnsmasq
</pre><br />
ちなみに設定ファイルはこんな感じ<br />
<pre>$ cat /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.dnsmasq</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/dnsmasq/sbin/dnsmasq</string>
<string>--keep-in-foreground</string>
</array>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true>
</true></dict>
</dict></plist>
</pre><br />
通常の起動の場合<br />
<br />
再起動するとき(停止するとDaemonなので自動的に再起動される)<br />
<pre>$ sudo launchctl stop homebrew.mxcl.dnsmasq </pre><br />
停止するとき(今後自動起動もしなくなる)<br />
<pre>$ sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist</pre><br />
参考リンク<br />
<br />
LaunchDaemons (launchctl, launchd.plist) の使い方 - maruko2 Note.<br />
<a href="http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9" target="_blank">http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9</a><br />
<br />
<br />
yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com1tag:blogger.com,1999:blog-17009951.post-60044289122805607682013-02-23T04:00:00.005+09:002013-02-23T04:38:42.615+09:00MeldのMacへのインストール(Homebrew, Mountain Lion)最近MBPを使っています。<br />
Macなかなかよいです。 <br />
Windowsでしかできないこともあるけど、作業はこっちのほうがいいなあ。<br />
<br />
Diffツールのmeldを入れた時にちょっと苦労したのでメモ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgyoLTXpYyZNJUUtSAt1hTaQBRjmZkWvidhftDlN9BsmZi3uFHKExG1TZwzpmAZnvv5bhyphenhyphenXhwaumwFdvDtS12QB2bDYO-SFQxv8Wj7qvYm2Focqx1r38oUhervHx5H9FWrjuPL/s1600/meld-96.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgyoLTXpYyZNJUUtSAt1hTaQBRjmZkWvidhftDlN9BsmZi3uFHKExG1TZwzpmAZnvv5bhyphenhyphenXhwaumwFdvDtS12QB2bDYO-SFQxv8Wj7qvYm2Focqx1r38oUhervHx5H9FWrjuPL/s1600/meld-96.png" /></a></div><br />
Meld<br />
<a href="http://meldmerge.org/" target="_blank">http://meldmerge.org/</a><br />
<br style="clear: left;">環境はMac OS X 10.8 (Mountain Lion) です。<br />
<layer class="searchwp-term searchwp-highlight-searchwp-highlighting" highlight="term-1">Homebrew</layer>が入っていることが前提です。<br />
<h4>インストール手順</h4><ol><li>XQuartz (Mountain Lion 以降は標準で入っていない)<br />
下記を参考にしました。<br />
X11 (XQuartz 2.7.2)をMac OS X 10.8 Mountain Lionにインストールする - memo.yomukaku.net<br />
<a href="http://memo.yomukaku.net/entries/SKNgCdP" target="_blank">http://memo.yomukaku.net/entries/SKNgCdP</a><br />
<br />
</li>
<li>$ brew install python<br />
Pythonは<layer class="searchwp-term searchwp-highlight-searchwp-highlighting" highlight="term-1">Homebrew</layer>で入れておくほうが無難そう。<br />
最初にHomebrewでPythonを入れておかなかったので、MacのデフォルトのPythonが使われたのですが、py関係は入れなおしたりして苦労しました。<br />
<br />
</li>
<li>$ brew install meld<br />
<br />
</li>
<li>$ meld<br />
で起動<br />
<br />
</li>
<li>日本語のファイルも認識させたい場合は、メニューから [編集] - [設定] - [エンコーディング] で<br />
shift_jis euc-jp utf8 latin1<br />
と入れる (この順番が大事)<br />
※shift_jisのところはsjisと入力しても大丈夫みたい。 </li>
</ol><br />
Meldで比較したい場合は、起動してからファイルを選んでも良いし、<br />
$ meld file1 file2<br />
でも実行出来ます。<br />
<br />
3つのファイルの同時比較もできるよ。<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbouhFtAuPrN0ywxxwKqBqNvytXTOs0YTKwCMoh3yf-ErW6TwabAtEjrQauiNTBtgiEaRqZuhsVlYCjfSoAjdskYA7W1W7QEwW-D4AxxFbrZq4pVSvPfpC3qBg4yDqB8aNTvyB/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-23+3.27.29.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="SJIS, UTF8, EUC-JPのファイルを同時に比較したところ" border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbouhFtAuPrN0ywxxwKqBqNvytXTOs0YTKwCMoh3yf-ErW6TwabAtEjrQauiNTBtgiEaRqZuhsVlYCjfSoAjdskYA7W1W7QEwW-D4AxxFbrZq4pVSvPfpC3qBg4yDqB8aNTvyB/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-23+3.27.29.png" title="SJIS, UTF8, EUC-JPのファイルを同時に比較したところ" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">SJIS, UTF8, EUC-JPのファイルを同時に比較したところ</td></tr>
</tbody></table><br />
もし、Meldを起動しようとした時に、<br />
<blockquote class="tr_bq">インポートできません:pygtk <br />
No module named pygtk</blockquote>と出たら<br />
<ol><li>$ python</li>
<li>>>> import cairo </li>
<li>>>> import pygtk </li>
<li>>>> exit() </li>
</ol>してからもう一度起動してみてください。<br />
<br />
参考リンク<br />
<br />
おもいたったがきちじつ - ubuntu - PrecisePangolin(12.04) - GUIのdiffツール(Meld)を使います<br />
<a href="http://namakemono345.com/kichijitsu/ubuntu/PrecisePangolin/Meld.html" target="_blank">http://namakemono345.com/kichijitsu/ubuntu/PrecisePangolin/Meld.html</a>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-72632362464185697352013-01-24T02:15:00.000+09:002013-01-24T02:15:00.694+09:00Thunderbirdでメールを作成するときに自動改行されないThunderbirdでメールを作成するときに、自動改行されるようにしてるけど、いざ送信してみるとちゃんと改行されていないように見えることがあった。<br />
<br />
メッセージのソースをみてみると<br />
<pre>Content-Type: text/plain; charset=UTF-8; format=flowed</pre>になっていた。<br />
<br />
format=flowedでも改行をきちんと表示させたい場合は、詳細設定(about:config)で、以下のように設定すれば良い。<br />
<pre>mailnews.display.disable_format_flowed_support -> true</pre><br />
逆にメールを作成するときに format=flowed を付けたくない場合は、詳細設定(about:config)で、以下のように設定すれば良い。<br />
<pre>mailnews.send_plaintext_flowed -> false</pre><br />
プロファイルディレクトリ内にuser.jsを作成して以下のように記載してもOK<br />
<pre>user_pref("mmailnews.display.disable_format_flowed_support", true);
user_pref("mailnews.send_plaintext_flowed", false);</pre><br />
参考リンク<br />
<br />
Thunderbirdで正しく改行されない cont@ct/ウェブリブログ<br />
<a target="_blank" href="http://contact.at.webry.info/200908/article_1.html">http://contact.at.webry.info/200908/article_1.html</a><br />
yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-23296915882298785572012-08-07T12:22:00.002+09:002012-08-07T12:22:24.897+09:00ある日listenerが応答しなくなった<p>Oracleで無理やりなことしてたら、ある日Listenerが応答しなくなっちゃいました。</p>
<pre>$ lsnrctl stop
$ lsnrctl start
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
$ lsnrctl status
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
</pre>
って出ちゃう。
<br />
<br />netcaでリスナー作り直してもダメ。
Listenerを再構成
<pre>
$ sqlplus / as sysdba
SQL> alter system register;
System altered.
SQL> exit
</pre>
確認
<pre>
$ lsnrctl status
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "hoge" has 1 instance(s).
Instance "hoge", status READY, has 1 handler(s) for this service...
Service "hogeXDB" has 1 instance(s).
Instance "hoge", status READY, has 1 handler(s) for this service...
Service "hoge_XPT" has 1 instance(s).
Instance "hoge", status READY, has 1 handler(s) for this service...
</pre>
netcaでリスナーの「再構成」でもいいのかな?yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-78218854145889673672012-08-03T05:41:00.000+09:002013-02-23T04:38:38.710+09:00Oracle ASM ディスクグループを削除したい場合Oracle ASM のDISK Groupを削除したい!と思ったけどコマンドでやり方がわからなかったので調べてみました。<br />
SIDを +ASM にするのかー。<br />
<pre># su - oracle
$cat /etc/oratab
hoge:/usr/oracle/product/10.2.0/server:N
+ASM:/usr/oracle/product/10.2.0/server:N <-- これ
fuga:/usr/oracle/product/10.2.0/server:N
$ ORACLE_SID=+ASM
$ export ORACLE_SID
$ sqlplus / as sysdba
SQL> SELECT group_number, disk_number, mount_status, header_status, state, path
2 FROM v$asm_disk;
GROUP_NUMBER DISK_NUMBER MOUNT_STATUS HEADER_STATUS STATE PATH
------------ ----------- ------------ ------------- ------ -------------------
1 0 CACHED MEMBER NORMAL /dev/raw/raw1
SQL> drop diskgroup DG1;
Diskgroup dropped.
SQL> exit
</pre>
参考:
<a href="http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_8013.htm">http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_8013.htm</a>
ORACLE - DBA Tips Corner
<a href="http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_10.shtml">http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_10.shtml</a>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-28928644159515807412012-04-29T16:54:00.001+09:002012-04-29T17:12:52.355+09:00Oracle DB作成時にORA-01503とORA-01158Oracle 10gR2でこんなエラーが出てDBCAでデータベースができん!
<br />
<pre>ORA-01503: CREATE CONTROLFILE???????
ORA-01158: ?????????????????????????????
</pre>
とおもったら、グローバルデータベース名とSIDに8文字以上を指定してました... orz すんません<br />
<br />
osakana
というDBがすでにあって
osakana2
を作ろうとしました。<br />
DBCAさんは気を利かせて、グローバルデータベース名のosakana2を1文字消してosakanaに!<br />
(たぶんSIDはそのまま)<br />
<br />
そしてエラーが発生><!<br />
<br />
<strike>DBCAで「グローバルデータベース名は8文字までです」とか警告だしてよ!</strike><br />
<br />
おそらくは
<br />
<pre>ORA-01503: CREATE CONTROLFILE???????
ORA-01158: ?????????????????????????????
</pre>
のところは
<br />
<pre>ORA-01503: CREATE CONTROLFILEでエラーが発生しました
ORA-01158: データベースosakanaはすでにマウントされています
</pre>
だったんじゃないかなあと。<br />
<br />
皆様お気を付けくださいませ。yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-49126219512370842932012-04-18T16:51:00.000+09:002012-04-18T17:11:14.579+09:00ApacheでSPDYApacheでSPDYプロトコルが使えるようになったそうです。ステキですね。<br />
<br />
Add SPDY support to your Apache server with mod_spdy - Google Developers Blog<br />
<a href="http://googledevelopers.blogspot.jp/2012/04/add-spdy-support-to-your-apache-server.html">http://googledevelopers.blogspot.jp/2012/04/add-spdy-support-to-your-apache-server.html</a><br />
<br />
mod_spdy - mod_spdy — Google Developers<br />
<a href="https://developers.google.com/speed/spdy/mod_spdy/">http://developers.google.com/speed/spdy/mod_spdy/</a><br />
Apache2.2以上対応、mod_sslが必須です。<br />
Debian, Ubuntu, Fedora, CentOS などが対応OSです。 <br />
<br />
SPDYについては下記を読んでみてください。<br />
<br />
2012年3月28日 速度向上とモバイル対応を目指したHTTP 2.0のプロポーザル、マイクロソフトがIETFに提出。SPDYとWebSocketが起点に - Publickey<br />
<a href="http://www.publickey1.jp/blog/12/http_20ietfspdywebsocket.html">http://www.publickey1.jp/blog/12/http_20ietfspdywebsocket.html</a><br />
<br />
2009年11月13日 Google、HTTPを補う高速化プロトコル「SPDY」発表 - ITmedia ニュース<br />
<a href="http://www.itmedia.co.jp/news/articles/0911/13/news019.html">http://www.itmedia.co.jp/news/articles/0911/13/news019.html</a><br />
<br />
SPDY - SPDY — Google Developers<br />
<a href="https://developers.google.com/speed/spdy/">https://developers.google.com/speed/spdy/</a><br />
<br />
今のところ対応ブラウザはChromeです。<br />
Chromeの起動オプションに<br />
<code>--use-spdy=npn</code><br />
と追加して起動するとSPDYを使えるそうです。<br />
<br />
なお、Firefoxも11で対応しています。<br />
有効化するには、<br />
<code>about:config</code>で<code>network.http.spdy.enabled</code> の値を true にしてください。<br />
<br />
自分でApache持ってないよ!という人はChromeに上のオプションを付けて起動したうえでTwitterを見ると速いかもしれません!<br />
<br />
Twitter、Google提案のSPDYプロトコルを導入 | ネット | マイナビニュース<br />
<a href="http://news.mynavi.jp/news/2012/03/14/025/">http://news.mynavi.jp/news/2012/03/14/025/</a><br />
<br />
追記:<br />
あ、検証サイトがあった。<br />
<a href="https://www.modspdy.com/world-flags/">https://www.modspdy.com/world-flags/</a><br />
<br />yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-53774304456904730802012-02-17T18:56:00.002+09:002012-02-17T18:56:35.588+09:00smartSVNの設定<a href="http://www.syntevo.com/smartsvn/" target="_blank">smartSVN</a>の設定でよく忘れちゃうのでメモメモ。<br />
<br />
設定は下記のディレクトリに入ってる。<br />
ここをバックアップしておけばよい。<br />
C:\Users\ユーザー名\AppData\Roaming\syntevo\SmartSVN<br />
<br />
<br />yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-51066074781374162152012-01-19T12:56:00.002+09:002012-01-19T12:56:50.440+09:00Oracle AWRレポートOracle 11g で AWRレポートどうやって出すんだっけって前調べたけど忘れちゃってまた調べたのでメモ。<br />
<br />
SQLPLUSから呼び出す。<br />
<pre>sqlplus / as sysdba
SQL> @?/rdbms/admin/awrrpt
</pre>
<br />
最初は形式を選択<br />
<pre>Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
report_typeに値を入力してください: text <span style="color: red;">← htmlも選べるよ</span>
Type Specified: text
</pre>
次に統計の対象とする日数を入力(詳細な時間などはこの次のステップで選択できる)<br />
<pre>Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return&rt; without
specifying a number lists all completed snapshots.
num_daysに値を入力してください: 2 <span style="color: red;">← 調査したい日数を入力</span>
</pre>
<br />
すると一覧にSnapIDが表示されるので、レポートにしたい番号を入れる。
<br />
<pre> Snap
Listing the last 2 days of Completed Snapshots
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
hoge HOGE 1544 18 1月 2012 00:00 1
1545 18 1月 2012 01:00 1
1546 18 1月 2012 02:00 1
1547 18 1月 2012 03:00 1
1548 18 1月 2012 04:00 1
1549 18 1月 2012 05:00 1
1550 18 1月 2012 06:00 1
1551 18 1月 2012 07:00 1
1552 18 1月 2012 08:00 1
1553 18 1月 2012 09:00 1
1554 18 1月 2012 10:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin_snapに値を入力してください: 1520
Begin Snapshot Id specified: 1520
end_snapに値を入力してください: 1580
End Snapshot Id specified: 1580
</pre>
<br />
レポート名を入力。何も指定しなければ自動でレポート名が作られます。
<br />
<pre>Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_1520_1580.txt. To use this name,
press <return> to continue, otherwise enter an alternative.
report_nameに値を入力してください: <span style="color: red;">← 何も入れないでEnterを押下すると上記の名前でレポートが作成されます。</span>
Using the report name awrrpt_1_1520_1580.txt
</return></pre>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-4605029241962040972011-12-29T10:53:00.000+09:002011-12-29T10:56:13.147+09:00赤ロム確認サイト自分用メモ。<br />
<br />
ネットワーク利用制限携帯電話機について | SoftBank<br />
<a href="http://mb.softbank.jp/mb/support/3G/restriction/">http://mb.softbank.jp/mb/support/3G/restriction/</a><br />
<br />
ネットワーク利用制限携帯電話機確認サイト docomo<br />
<a href="http://nw-restriction.nttdocomo.co.jp/top.php">http://nw-restriction.nttdocomo.co.jp/top.php</a><br />
<br />
auはauショップに行かないと調べられないもよう。<br />
<br />
参考:
ところでソフトバンクはいつになったら赤ロム利用規制を解除するの? :: ガジェットブログ -Gadget Blog-<br />
<a href="http://j-phone.seesaa.net/article/156039098.html">http://j-phone.seesaa.net/article/156039098.html</a>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-3860391675150238762011-10-01T14:12:00.000+09:002011-10-03T10:51:38.325+09:00Xi(Android)タブレットお披露目会 for Developer 関連リンク2011/10/1(土)にドコモさん主催で「Xi(Android)タブレットお披露目会 for Developer」が開催されました。
各講演がとてもよかったので資料関連のリンクをまとめました。<br />
<br />
Xi(Android)タブレットお披露目会 for Developer<br />
<a href="http://atnd.org/events/20038">http://atnd.org/events/20038</a><br />
<br />
午前中はOpenデ部のLT
<br />
<ul>
<li style="padding: 5px;">最初がわかんないのでだれかおしえてください><;</li>
<li>プログラマとデザイナが共有すべきUIに関するAndroidの10の機能 @youten<a href="http://dl.dropbox.com/u/22653168/file/20111001_android_ui_dp10info_kai.pdf">資料[PDF]</a> <a href="http://greety.sakura.ne.jp/redo/2011/08/uiandroid10.html">元資料</a></li>
<li style="padding: 5px;">DevQuizの模範解答(Android編) @zaki<br /><div id="__ss_9493990" style="width: 425px;">
<a href="http://www.slideshare.net/MakotoYamazaki/devquiz-2011-android">DevQuizの模範解答</a><iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9493990" width="425"></iframe></div>
[参考]<br /><a href="http://code.google.com/p/android-apktool/">android-apktool - A tool for reengineering Android apk files - Google Project Hosting</a><br /><a href="http://code.google.com/p/smali/">smali - An assembler/disassembler for Android's dex format - Google Project Hosting</a><br /><a href="http://code.google.com/p/dex2jar/">dex2jar - A tool for converting Android's .dex format to Java's .class format - Google Project Hosting</a></li>
<li style="padding: 5px;">制作チームで共有しておくと幸せなこと @kaa
<div id="__ss_9493875" style="width: 425px;">
<a href="http://www.slideshare.net/kazuakihidaka/ss-9493875">制作チームで共有しておくと幸せなこと</a><iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9493875" width="425"></iframe></div>
<a href="http://t.co/OIGyYsk3">案件チェックシート</a></li>
<li style="padding: 5px;">Androidタブレットでサイネージをやったお話 @naonya3</li>
<li style="padding: 5px;">ADIS (Android Device Info Share) について @itog
<div id="__ss_9494189" style="width: 425px;">
<b style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/itog/deb20111001" target="_blank" title="Deb20111001">AndroidDeviceInfoShare update on Oct 2011</a></b> <iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9494189" width="425"></iframe></div>
</li>
<li style="padding: 5px;">app widget の設定画面で実現すべきこと & in-app billing を実装した話 @yanzm
<a href="https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B99tkpQpgWT2NTBlYzBhYTctYjJkZi00YzNiLWJiNDAtOGEzOTViOWUzZWJh&hl=en">AppWidgetAndInAppBilling.pdf - Powered by Google Docs [PDF]</a></li>
<li>ブラウザからlogcatを見る @tomorrowkey
<p><a href="http://d.hatena.ne.jp/tomorrowkey/20111001/1317451235">ブラウザからlogcatを見る</a></p></li>
</ul>
<p>おまけ<br>
<a href="http://togetter.com/li/195495">Xiタブレットお披露目会 for Developer つぶやきまとめ - Togetter</a>
</p>
yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-77954254500257052122011-05-27T10:52:00.003+09:002011-05-27T11:12:36.425+09:00CentOSに時刻同期を入れておくめもめも<br /><br />時刻確認<pre>date</pre>時刻同期インストール<pre>yum -y install ntp</pre>設定変更<pre>cp -p /etc/sysconfig/ntpd /etc/sysconfig/ntpd.org<br />vi /etc/sysconfig/ntpd</pre>下記のようになるように変更する<br />起動時、強制的にNTPの時刻同期をしてくれる<br /><br /><span style="color: rgb(0, 102, 0);"> # Drop root to id 'ntp:ntp' by default.</span><br /><span style="color: rgb(0, 102, 0);"> OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"</span><br /><br /><span style="color: rgb(0, 102, 0);"> # Set to 'yes' to sync hw clock after successful ntpdate</span><br /><span style="color: rgb(0, 102, 0);"> SYNC_HWCLOCK=yes</span><br /><br /><span style="color: rgb(0, 102, 0);"> # Additional options for ntpdate</span><br /><span style="color: rgb(0, 102, 0);"> NTPDATE_OPTIONS=""</span><br /><br />ntpサーバを変更する場合は以下にて実施<pre>vi /etc/ntp.conf</pre> 時刻同期開始(この時強制的に時刻同期される)<pre>/etc/rc.d/init.d/ntpd start</pre>時刻同期の自動起動設定<pre>chkconfig ntpd on<br /><span style="color: rgb(0, 102, 0);"> ntpd: 時間サーバーと同期中: [ OK ]</span><br /><span style="color: rgb(0, 102, 0);"> ハードウェア時刻をシステム時刻に同期中 [ OK ]</span><br /><span style="color: rgb(0, 102, 0);"> ntpd を起動中: [ OK ]</span><br /><br />ntpq -p<br /><span style="color: rgb(0, 102, 0);"> remote refid st t when poll reach delay offset jitter</span><br /><span style="color: rgb(0, 102, 0);"> ==============================================================================</span><br /><span style="color: rgb(0, 102, 0);"> ntp1.jst.mfeed. 210.173.176.4 2 u 4 64 3 22.912 894172. 1.125</span><br /><span style="color: rgb(0, 102, 0);"> ntp2.jst.mfeed. 210.173.160.56 2 u 4 64 3 23.250 894172. 1.312</span><br /><span style="color: rgb(0, 102, 0);"> ntp3.jst.mfeed. 133.243.236.18 2 u 5 64 3 22.798 894173. 0.988</span><br /><span style="color: rgb(0, 102, 0);"> LOCAL(0) .LOCL. 10 l 4 64 3 0.000 0.000 0.001</span><br /><br />date</pre>参考サイト <a href="http://www.glamenv-septzen.net/view/731">技術/Linux/CentOS 5.3 をクライアントとして使う時のntpd - Glamenv-Septzen.net</a>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-44525629260958360892011-04-04T14:10:00.008+09:002011-04-04T18:38:45.862+09:00緊急時のモバイルサイト(スマートフォンアクセス可)今回の大震災により被災された方々に心からお見舞いを申し上げます。<br />あまりの甚大な被害に日本中が沈んでいますが、ここで諦めるのではなくみんなで少しずつ顔をあげて進んでいきたいです。<br />被災された方々の身になってできることをし、自分もいつおなじ身なってもおかしくないのだと備えを怠らないように努めたいと思います。<br /><br />以下は自分用メモなのですが、随時追加していく予定です。<br /><br /><font style="font-weight: bold;">■全国</font><br /><br />防災情報提供センター<br /><a href="http://www.mlit.go.jp/saigai/bosaijoho/i-index.html">http://www.mlit.go.jp/saigai/bosaijoho/i-index.html</a><br />※緊急地震速報のように通知されない可能性のある津波警報はここで確認する<ul><li>河川情報</li><li>気象警報・注意報</li><li>気象情報</li><li>地震情報</li><li>津波警報・注意報</li><li>火山情報</li><li>東海地震関連情報</li></ul><br />河川情報<br /><a href="http://www.i.river.go.jp/">http://www.i.river.go.jp/</a><br />※雨量や川・ダムの水位などが10分単位で細かく乗っているので大雨などの際は重宝する<br /><br />内閣府防災情報<br /><a href="http://mobile.bousai.go.jp/">http://mobile.bousai.go.jp/</a><br /><br />MICS 海上保安庁<br /><a href="http://www.kaiho.mlit.go.jp/info/mics/m/">http://www.kaiho.mlit.go.jp/info/mics/m/</a><br /><br />厚生労働省:緊急情報<br /><a href="http://mobile.mhlw.go.jp/news/">http://mobile.mhlw.go.jp/news/</a><br /><br />防衛省・陸上自衛隊・りくじ 携帯サイト<br /><a href="http://www.mod.go.jp/gsdf/mobile/">http://www.mod.go.jp/gsdf/mobile/</a><br />※今は特に情報がない<br /><br />航空自衛隊携帯電話サイト<br /><a href="http://www.mod.go.jp/asdf/m/">http://www.mod.go.jp/asdf/m/</a><br />※今は特に情報がない<br /><br />原子力安全・保安院緊急時情報ホームページ(モバイル保安院)http://www.blogger.com/img/blank.gif<br /><a href="http://kinkyu.nisa.go.jp/m/">http://kinkyu.nisa.go.jp/m/</a><br /><br />■<span style="font-weight:bold;">徳島</span><br /><br />JR四国列車運行情報<br /><a href="http://180.8.9.250/info/m/">http://180.8.9.250/info/m/</a><br /><br />徳島県道路雨量水位情報<br /><a href="http://www.road.pref.tokushima.jp/h/i/">http://www.road.pref.tokushima.jp/h/i/</a><br /><br />那賀川河川事務所 防災情報<br /><a href="http://nakagawa-mlit.go.jp/ke-tai/">http://nakagawa-mlit.go.jp/ke-tai/</a><br /><br />徳島県携帯サイト<br /><a href="http://mobile.pref.tokushima.jp/">http://mobile.pref.tokushima.jp/</a><br />※今回の大津波警報の際は特に情報掲載はなし<br /><br />徳島市:携帯版徳島市ホームページ<br /><a href="http://www.city.tokushima.tokushima.jp/i/">http://www.city.tokushima.tokushima.jp/i/</a><br />※今回の大津波警報の際は特に情報掲載はなしyukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-79959502886930637962011-03-14T08:37:00.003+09:002011-03-14T09:40:38.263+09:00国は公的休日を実施すべきまずは、今回の大地震でお亡くなりになった方、被災されている方皆様に謹んでお悔やみを申し上げます。<br /><br />さて、表題の件について以下思ったことを書いておきたいと思います。<br /><br />本日、電力が足りないということで、混乱が発生しています。<br />日本では公的なお休みでなければ出勤しなければという方が多いと思われますが、その影響でしょう。<br /><br />国が「出勤を控えるように」と言っても、それができないのだと思われます。<br />取引先やお客様とのお約束上、控えることができないのです。<br /><br />国は明日から数日でも公的な休日とし、電力の節約や今後の方針の決定のための時間的余裕を持つべきかと思います。yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0tag:blogger.com,1999:blog-17009951.post-11941816032715786582010-12-24T18:55:00.004+09:002010-12-24T19:02:56.980+09:00サンタさんを追跡しよう!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFaslHysD8QsgkqHVkWIUiMzGGwa1-jsPyFYu7IplNO9WuddnkiRRUpJfaPWc29k7p725xncEIW-k1ilEWMTUmbl5SfYFfkk-WoGOlQ2PBL2QqYztayxwD3WQT0OYe3qtA1M_u/s1600/Santa.jpg"><img style="cursor: pointer; width: 400px; height: 296px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFaslHysD8QsgkqHVkWIUiMzGGwa1-jsPyFYu7IplNO9WuddnkiRRUpJfaPWc29k7p725xncEIW-k1ilEWMTUmbl5SfYFfkk-WoGOlQ2PBL2QqYztayxwD3WQT0OYe3qtA1M_u/s400/Santa.jpg" alt="" id="BLOGGER_PHOTO_ID_5554185581749781154" border="0" /></a><br />今年もサンタクロースの追跡イベントが開始されました!<br />サンタさんがどこにいるか知りたい人は<br /><blockquote><ul><li><b>Google マップ:</b> www.noradsanta.org にアクセスし、日本語を選んでください。スクリーンに、サンタクロースの現在位置と次の目的地が、大きな Google マップで表示されます。ビデオアイコンをクリックするとサンタカメラに切り替わります。</li><li><b>Google Earth:</b>www.noradsanta.org にアクセスし、「3D でサンタを追跡する」をクリックしてください。すぐに橇にのったサンタクロースがスクリーンに現れます。もし、Google Earth のプラグインをお持ちでない方は、<a href="http://www.google.com/earth/explore/products/plugin.html">こちら</a>からダウンロードして下さい。</li><li><b>スマートフォン:</b>モバイル Google マップを立ち上げ、[サンタ]と検索するか、m.noradsanta.org にアクセスしてください。</li></ul></blockquote><br />とのことです!<br /><br />わーなんだろうこれ!<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif8St29EJJFi6x6nJCnfzrDGjivkJ8EFhM_lUmfWStjsZ_kYJy5gPAeUDsoluna5YHayPMG9AjQKtnvZ7q_OEW_1FplwlBwIjI_AiBRNALVNeMa57uVm7PIs1wc9rYmWOhQRTZ/s1600/Santa2.jpg"><img style="cursor:pointer; cursor:hand;width: 400px; height: 245px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif8St29EJJFi6x6nJCnfzrDGjivkJ8EFhM_lUmfWStjsZ_kYJy5gPAeUDsoluna5YHayPMG9AjQKtnvZ7q_OEW_1FplwlBwIjI_AiBRNALVNeMa57uVm7PIs1wc9rYmWOhQRTZ/s400/Santa2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5554186984390252498" /></a><br /><br />via Google Japan Blog: サンタクロースは今どこに? Google とサンタを探そう<br /><a href="http://googlejapan.blogspot.com/2010/12/google_24.html">http://googlejapan.blogspot.com/2010/12/google_24.html</a>yukotanhttp://www.blogger.com/profile/07568214654385693592noreply@blogger.com0