tag:blogger.com,1999:blog-36313259797204630602024-02-07T22:41:20.314+09:00Under the MOON「才能を非生産的な事に浪費してこそ、真のヲタクである」
この名言にかなう為に日々色々学ぶ日々(多分)。Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.comBlogger343125tag:blogger.com,1999:blog-3631325979720463060.post-34735453088146311102017-04-19T00:05:00.007+09:002020-08-07T22:44:38.741+09:00Ryzen USB調査 (2020年8月7日更新)環境<br />
* AND Ryzen 1700<br />
* ASUS PRIME X370-PRO<br />
* Windows10Professional InsiderPreview build1 20185<br />
* Win10-Radeon-Software-Adrenalin-2020-Edition-20.8.1-Aug4<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOxgLy813JxecVBwP704Pl7m3SPHUApi1fg52dGXZ2SEyVPKooQsCzOwxVWwwDK_XzjD2gfboZJMMfiX1Gw7Qhzt6C5FG9TGePp_B4LsmA-0FzGICU4xnXfF0mESbIDSLVE-BDQW5cUKb2/s1600/3.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOxgLy813JxecVBwP704Pl7m3SPHUApi1fg52dGXZ2SEyVPKooQsCzOwxVWwwDK_XzjD2gfboZJMMfiX1Gw7Qhzt6C5FG9TGePp_B4LsmA-0FzGICU4xnXfF0mESbIDSLVE-BDQW5cUKb2/s320/3.png" width="320" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><h4 style="text-align: left;"><span style="font-size: x-large;">
Ryzen CPU USB 3.1 Gen1</span></h4><div>4× USB3.0 (USB3.2/3.1 Gen1) Type-A (AMD CPU内蔵USB3.0 : 4× バックパネル)</div><div><br /></div><div>AMD USB3 Host Controller</div><blockquote>
C:\AMD\Chipset_Driver_Installer\AMD_Chipset_Drivers\IODriver\USB30_ZP\USBController Driver\Win7\x64</blockquote>AMD Root Hub(xHCI)<br /><blockquote>
C:\AMD\Chipset_Driver_Installer\AMD_Chipset_Drivers\IODriver\USB30_ZP_HUB\USBHUB Driver\Win7\x64</blockquote><h4 style="text-align: left;"><span style="font-size: x-large;">X370 USB 3.1 Gen1</span></h4><div><div>1× USB3.0 (USB3.2/3.1 Gen1) Type-C (AMD X370 : 1× バックパネル)</div><div>1× USB3.0 (USB3.2/3.1 Gen1) Type-A (AMD X370 : 1× バックパネル)</div><div>2× USB3.0 (USB3.2/3.1 Gen1) ポート (AMD X370 : 1× 基板上コネクタ、2ポート対応)</div><div>4× USB2.0 ポート (AMD X370 : 2× 基板上コネクタ、4ポート対応)</div></div><div><br /></div>
AMD USB3.1 eXtensible Host Controller<br /><blockquote>C:\AMD\Chipset_Driver_Installer\AMD_Chipset_Drivers\IODriver\USB31_PT\amdxhc_PT Driver</blockquote></div><div>AMD USB3.1 Root Hub<br /><blockquote>C:\AMD\Chipset_Driver_Installer\AMD_Chipset_Drivers\IODriver\USB31_PT_HUB\amdhub_PT Driver</blockquote><h4 style="text-align: left;"><span style="font-size: x-large;">ASM1143 USB 3.1 Gen2</span></h4><div><div>2× USB3.1 Gen2 (USB3.2 Gen2) Type-A (ASMedia ASM1143 : 2× バックパネル)</div><div>2× USB3.1 Gen2 (USB3.2 Gen2) ポート (AMD X370 : 1× フロントパネルコネクタ)</div></div><div><br /></div><div>https://www.usb3-drivers.com/asmedia-usb3-drivers.html</div><div><br /></div><div>ASMedia USB3.1 eXtensible Host Controller (ASM1143)<br />
ASMedia USB Root Hub</div><div><br /></div><div><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf88uPXxeTeRzIId3GCO3r1Mx41tVbrIc2lFadgGM8XYTDO48wzLLUosmWwYdqtocxHzLoB_ZR84YypVM3glg92UomZ6CPVsZCNIYvwVkG9-hDYeFalkxXYu64Xk857LCPlSP0oOaBizxS/s1600/1.png"><img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf88uPXxeTeRzIId3GCO3r1Mx41tVbrIc2lFadgGM8XYTDO48wzLLUosmWwYdqtocxHzLoB_ZR84YypVM3glg92UomZ6CPVsZCNIYvwVkG9-hDYeFalkxXYu64Xk857LCPlSP0oOaBizxS/s320/1.png" width="320" /></a><br />
<br /><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3dz5uH4JxLVb7OzG9rkY4bKfdv8046ivanvcrnLjFoiSrDd4Tqj7FzW3xj_y_ewa9JQhLjAWip5SDPscPbAD1-Xc4zF6ve750ZCyeJ1DeQ91pkcmbPW44Gw4HcqGbDMU-T2IxdzFKUaCk/s1600/2.png"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3dz5uH4JxLVb7OzG9rkY4bKfdv8046ivanvcrnLjFoiSrDd4Tqj7FzW3xj_y_ewa9JQhLjAWip5SDPscPbAD1-Xc4zF6ve750ZCyeJ1DeQ91pkcmbPW44Gw4HcqGbDMU-T2IxdzFKUaCk/s320/2.png" width="320" /></a></div></div>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-89937608422823509862015-12-03T13:12:00.001+09:002015-12-03T13:12:09.530+09:00Ubuntu でMSSの値を変える。ファイルを新規作成<br />
<blockquote class="tr_bq">
sudo vi /etc/network/if-up.d/mtu</blockquote>
<br />
以下の内容をファイルに書き込む。<br />
<blockquote class="tr_bq">
#!/bin/sh<br />/sbin/ifconfig eth0 mtu 1345</blockquote>
<br />
ファイルが出来ている事を確認。<br />
<blockquote class="tr_bq">
ls -al /etc/network/if-up.d/</blockquote>
<br />
ファイルの中身があっている事を確認。<br />
<blockquote class="tr_bq">
more /etc/network/if-up.d/mtu</blockquote>
<br />
再起動<br />
<blockquote class="tr_bq">
sudo shutdown -fr now</blockquote>
<br />
設定値が反映されている事を確認。<br />
<blockquote class="tr_bq">
ifconfig</blockquote>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-4165238976912818972015-05-08T11:51:00.004+09:002015-05-08T11:51:58.509+09:00RDS Oracle のパラメータ変更<blockquote class="tr_bq">
動的なパラメーターを変更し、DB パラメーターグループを保存する場合、[Apply Immediately] の設定にかかわらず、変更は直ちに適用されます。<br />
静的パラメーターを変更し、DB パラメーターグループを保存する場合、パラメーターの変更は DB インスタンスの再起動後に有効になります。<br />
</blockquote>
<a href="http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html">DB パラメーターグループを使用する</a>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-51789834554285991532015-03-30T17:57:00.001+09:002015-03-30T17:57:15.735+09:00AWSの料金情報csv<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #222222; display: inline !important; float: none; font-family: arial, sans-serif; font-size: 12.25px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">AWSの料金情報csvが「いつ時点の料金なのか」 はcsvの末尾に次ぎのような形で表示されているらいしんでメモ。</span><br />
<br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #222222; display: inline !important; float: none; font-family: arial, sans-serif; font-size: 12.25px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">This report reflects your estimated monthly bill for activity through approximately 2015/03/29 16:16:18</span>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-86545232797136767652015-01-23T10:31:00.002+09:002015-01-23T10:32:14.495+09:00AWSのMACアドレス。AWS EC2 の VPC の中では Instance を停止/再開してもMACアドレスは変わらない。Terminateすれば変わる。<br />
EC2-Classic の環境では停止再開で変わる。<br />
<br />
ENIのMACアドレスは固定。<br />
<br />Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-38299427030963911532014-12-22T19:40:00.002+09:002015-01-15T19:21:33.196+09:00AWS VPCを作る際に最低限必要なIPVPCを作成する際、最低でも /28 のサブネットが必要。最大は /16。<br />
VPC内のサブネットも、最低 /28 のサブネット。<br />
但しサブネット一個につき、先頭 4IPアドレス、末尾 1IPアドレスの合計5つはAWS側が利用するので使えない。<br />
つまり /28 で作ったら利用できるIPは11個。<br />
<br />
但しVPC内にELBを立てる場合は、/27 でサブネットを作る必要があり、フリーのIPアドレスが8個ある必要がある。<br />
<br />
参考<br />
* <a href="http://aws.amazon.com/jp/vpc/faqs/">Amazon VPC のよくある質問</a><br />
* <a href="http://docs.aws.amazon.com/ja_jp/ElasticLoadBalancing/latest/DeveloperGuide/UserScenariosForVPC.html">Amazon VPC の Elastic Load Balancing</a><br />
* <a href="http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/CreateVPCForELB.html">Configure Amazon VPC for Elastic Load Balancing</a><br />
* <a href="http://qiita.com/tetor/items/4c9e1aa58da2c5755452">ELBをVPC内に設置する際のサブネット設計の注意点</a><br />
<div>
<br /></div>
<br />Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-66177182038711463802014-08-01T11:31:00.001+09:002014-08-01T11:31:09.729+09:00「取り敢えずAWSを使ってる」 開発者のためのAWS再入門のスライドを公開しました。社内勉強会で使ったスライドを公開しました、ので宣伝です。
対象
AWSは利用してるけど、InstanceとVolume位しか使ってない・・・、という人。
最近のAWSの機能に追いついてない・・・、という人。
目的
AWSの新機能、余り知られていない機能を活用してより快適に、より安く、より安全にAWSを利用しよう。
・・・という事で余りAWSを活用出来てないなぁという方を対象にしたスライドです。
<script async class="speakerdeck-embed" data-id="2564d3b0fa910131d88d6a0d18b48761" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-103464137576514092014-05-19T17:34:00.002+09:002014-05-19T17:34:11.982+09:00Windowsでgit入れて、gitkやったら文字化けてる時にうつコマンドWindowsでgit入れて、gitkやったら文字化けてる時にうつコマンド
$ git config gui.encoding utf-8
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-3119605765669165472014-04-19T12:30:00.000+09:002014-04-19T16:54:53.373+09:00botocoreでマルチプロファイルを使う方法。botocore使ってるAWS CLIは簡単にプロファイル(AWSアカウント)の切替出来るのに、botocoreだとどうやるか分からんかったので調べた。<br>
ただなーんかスマートじゃないんだよね。誰か正しい方法教えてえろい人。<br>
<br>
<h3>
準備</h3>
<div>
環境はUbuntu13.10。まずはpythonのインストール。多分余計なのも入れてる気がする。</div>
<div>
<br></div>
<blockquote class="tr_bq">
sudo aptitude install python3.3 python3.3-dev build-essential automake libtool pkg-config</blockquote>
<div><br></div>
<div>
続いてbotocoreを持ってきていれる。ここは敢えてAWS CLIは入れてない。<br>
<br></div>
<div>
<blockquote class="tr_bq">
cd ~/git<br>
git clone https://github.com/boto/botocore.git<br>
cd ~/git/botocore<br>
sudo python3.3 setup.py install</blockquote>
<br>
<h3>
configファイルの作成</h3>
configファイルってのはプロファイルの集まり。つまりこのファイルに利用したいAWSアカウントのアクセスキー/シークレットアクセスキーを列挙する。<br>
一応このファイルには以下の書式ルールがある。<br>
<br>特に指定がなきゃ「default」が使われる<br>
二個目以後は必ず「profile HOGE」見たいに頭に「profile 」を付ける必要がある。</div><div><br></div><div>
ファイルの場所はどこでもいい。最終的にAWS_CONFIG_FILE環境変数にこのファイルへのパスを書く。<br>
<blockquote class="tr_bq">
[default]<br>
aws_access_key_id=AAAA<br>
aws_secret_access_key=BBBB<br>
<br>
[profile HOGE]<br>
aws_access_key_id=CCCC<br>
aws_secret_access_key=DDDD<br>
<br>
[profile FUGA]<br>
aws_access_key_id=EEEEE<br>
aws_secret_access_key=FFFFF<br>
region=ap-northeast-1</blockquote>
<br>
<h3>
サンプルコード</h3>
<div>
session毎にprofileが切り替わる。つまりsession毎にAWSアカウントが切り替わる。</div>
<div>
get_sessionメソッド実行時に環境変数っぽいけいしきでファイルを引き渡すとそれを元に、sessionを作ってくれるっぽい。<br>
<br></div>
<blockquote>
import botocore.session<br>
<br>
# 特に指定しないと default が読まれる。<br>
session = botocore.session.get_session()<br>
ec2 = session.get_service('ec2')<br>
operation = ec2.get_operation('DescribeInstances')<br>
endpoint = ec2.get_endpoint('us-east-1')<br>
http_response, response_data = operation.call(endpoint)<br>
print(response_data)<br>
<br>
# HOGEアカウントを指定したい場合<br>
EnvironmentVariables = {<br>
'profile': ('HOGE', 'HOGE', 'HOGE'),<br>
}<br>
session = botocore.session.get_session(EnvironmentVariables)<br>
ec2 = session.get_service('ec2')<br>
operation = ec2.get_operation('DescribeInstances')<br>
endpoint = ec2.get_endpoint('us-east-1')<br>
http_response, response_data = operation.call(endpoint)<br>
print(response_data)</blockquote>
</div>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-73903740548725672652014-03-08T01:45:00.000+09:002014-03-08T01:45:23.133+09:00古いInstanceTypeから新しいInstanceTypeに切り替えた時のトラブル対応社内でm1系とかm2系で運用してきたInstanceをm3系、c3系に切り替えて再開したら、上手く起動しないという報告があった。<div>
<br /></div>
<div>
詳しく見てみるとm1.m2系のInstanceをSTOPして、InstanceTypeをm3/c3系に変更。その後STARTしたらRUNNING状態になるがステータスチェックの二つ目で転けていた。んでもってそもそもこのInstanceは結構古くから使われているモノだった。</div>
<div>
<br /></div>
<div>
ここまで聞いておおよそ見当が付いた。EC2Configとドライバが古いのだ。</div>
<div>
取り敢えず一旦m1/m2系のInstanceで起動し直す。そこで以下の二つをDLして更新する。</div>
<div>
<br /></div>
<div>
http://aws.amazon.com/developertools/5562082477397515</div>
<div>
http://aws.amazon.com/developertools/2187524384750206</div>
<div>
<br /></div>
<div>
とこれで完了。この後にm3/c3系に切り替えれば無事起動した。</div>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-71246738961246710512014-03-03T18:20:00.000+09:002014-03-03T18:20:21.598+09:00python3 + bottleでshif-jisなcsvを出力する無駄に悩んだ。<br />
取り敢えずメモ程度に。<br />
<blockquote class="tr_bq">
from io import StringIO<br />from bottle import route, response<br />@route('/get_csv')<br />def get_csv():<br /> response.content_type = 'application/octet-stream'<br /> response.headers['Content-Disposition'] = "attachment; filename='hoge.csv'"<br /> stream = StringIO()<br /> writecsv = csv.writer(stream)<br /> # ここでcsvを作る。<br /> stream.seek(0)<br /> return stream.getvalue().encode('shift-jis')</blockquote>
<div>
<br /></div>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-65615145646836828152013-11-18T15:30:00.001+09:002013-11-18T15:30:15.033+09:00BOTOでCloudWathcのmetricsをとるInstanceのIDを指定してCPU使用率をとる方法。<br />
<br />
環境 <br />
python3.3<br />
BOTO 2.9.0 py3kport<br />
<blockquote class="tr_bq">
import datetime<br />from decimal import Decimal,ROUND_HALF_UP<br />from boto.ec2.cloudwatch import CloudWatchConnection,regions<br /><br />for region in regions():<br /> cw_con = CloudWatchConnection(<br /> aws_access_key_id = 'AAA',<br /> aws_secret_access_key = 'BBB',<br /> region = region,<br /> )<br /> for val in cw_con.get_metric_statistics(<br /> 60,<br /> datetime.date.today() - datetime.timedelta(hours=0.1), <br /> datetime.datetime.today(),<br /> 'CPUUtilization',<br /> 'AWS/EC2',<br /> 'Average',<br /> {'InstanceId': ['i-CCC']},<br /> 'Percent',<br /> ):<br /> print(val)</blockquote>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-61731496629489265312013-09-18T15:35:00.002+09:002013-09-18T15:35:47.049+09:00Python bottleでPOST時の項目数上限Pythonのbottleを使ったWebサイトで、100個以上の項目(inputとかtextarea)を投げると100個までしか取得出来ない問題が起きた。<br />
<br />
調べたらどうやら100個制限してるのが仕様っぽい<br />
<a href="http://bottlepy.org/docs/0.11/api.html?highlight=request.max_params#the-request-object">THE REQUEST OBJECT</a><br />
<br />
んで取り敢えずこの設定を上書きすれば100この制限は外れるっぽい。<br />
<br />
そのWeb全てのqueryに適用する場合はbottle読み込んでる所の一番上にかく。<br />
<br />
<blockquote class="tr_bq">
from bottle import BaseRequest<br />
BaseRequest.MAX_PARAMS = 200</blockquote>
<br />
各ページ個別で上限を設定する場合は<br />
<br />
<blockquote class="tr_bq">
from bottle import BaseRequest<br />
@route('/create', method='POST')<br />
@view('confirm')<br />
def post_create():<br />
BaseRequest.MAX_PARAMS = 200<br />
value = request.forms.decode().get('key')</blockquote>
<br />
となる。<br />
まぁSecurityとか考えたら個別で設定だよな。Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-82336839491379482622013-07-05T01:03:00.001+09:002013-07-05T01:07:17.408+09:000.25mm Crystal Armor for Xperia Zはい。買いました。<br />
<a href="http://www.amazon.co.jp/gp/product/B00CE69QEO?ie=UTF8&camp=1207&creative=8411&creativeASIN=B00CE69QEO&linkCode=shr&tag=missingmoon-22">0.25mm CrystalArmor for Xperia Z </a><br />
<br />
Xperiaは防塵防滴なので可能な限りキャップを開けずに使いたいモノです。充電も可能な限りクレードル使いたいですね。急速充電も出来るし。以前の0.4mm版だと両面付けるとクレードルに刺さらなくなるので流石にアレでした。今回購入したのは0.25mm。以前の0.4mm版と比べて薄くなっています。まるで何処ぞのゴムみたいですね。<br />
<br />
<b><span style="font-size: large;">まぁ結論からいうと、0.25mm版でも両面はったらクレードル刺さりません。</span></b><br />
<br />
ただ明らかにもう少し!!って状態なのでクレードルの左右にある黒い四角い部分をニッパーで切り取りました。<br />
すると・・・ <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtJhFk6Lb3tEEIOMikGClX3b1C4W3MWaoaT4DURgKLljQC_MVpue2bgcAO9mkRxaAQT2hcIIOPbvf3i6yC5WgrgJL28HpSdhHTARU9kP8sYZVe3b5eW1-SXWWhkRsVhVaRdQxoASvQfJa4/s1600/DSC_0027.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtJhFk6Lb3tEEIOMikGClX3b1C4W3MWaoaT4DURgKLljQC_MVpue2bgcAO9mkRxaAQT2hcIIOPbvf3i6yC5WgrgJL28HpSdhHTARU9kP8sYZVe3b5eW1-SXWWhkRsVhVaRdQxoASvQfJa4/s320/DSC_0027.jpg" width="320" /></a></div>
<br />
キタ━━━━━━(゚∀゚)━━━━━━ !!<br />
充電出来ました。向かって左上のオレンジ色の光が充電中の証拠です。<br />
クレードルにある固定器具をぶった切ってしまったので以前の様にカチッ!とはまる快感と安心感はなくなりました。変わりにある意味でおくだけ充電ですが。<br />
<br />
あと個人的に画面への傷が気になるのでクレードルの手前の受け側の左右をニッパーで斬りました。<br />
やっぱCrystalArmor(・∀・)イイネ!! Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-84689361213239181752013-06-12T14:25:00.002+09:002013-11-18T15:35:50.535+09:00python3のJSONメモpython2.x<br />
f = urllib.request.urlopen(url)<br />
return json.loads(f.read())<br />
<br />
python3.x<br />
f = urllib.request.urlopen(url)<br />
content = f.read()<br />
return json.loads(content.decode('utf8'))Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-54551037851615571372013-06-10T14:55:00.001+09:002014-03-08T01:46:00.659+09:00Python3のLeveDBメモ # -*- coding: utf-8 -*-<br />
import leveldb<br />
<br />
db = leveldb.LevelDB('/home/hogfe/ldb')<br />
key = 'hoge'<br />
value = 'fuga'<br />
<br />
Python2.7でのCode<br />
登録<br />
db.Put( key, value)<br />
<br />
取得<br />
value = db.Get(key.name)<br />
<br />
<br />
Python3でのCode<br />
登録<br />
db.Put( bytes(key, 'UTF-8'), bytes(value, 'UTF-8'))<br />
<br />
取得<br />
value = db.Get( bytes(key, 'UTF-8') ).decode()Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-33199289660013311112013-03-12T11:00:00.001+09:002013-03-12T11:00:20.290+09:00python boto でInstance metadataを取得# -*- coding: utf-8 -*-<br />import boto.utils<br />
<br />meta = boto.utils.get_instance_metadata(version='latest', url=u'http://169.254.169.254', timeout=None, num_retries=5)<br />
# 情報がDICTに成ってる。持ってるDICTのKey一覧<br />
for key in meta.keys():<br /> print key<br />
# InstanceIDを取得<br />print meta.get(u'instance-id')Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-36531211506026047012013-02-15T18:25:00.005+09:002013-02-15T18:25:27.333+09:00build.prop<div>
ro.semc.enable.fast_dormancy=false</div>
<div>
ro.ril.disable.power.collapse=1</div>
<div>
ro.ril.enable.a52=0</div>
<div>
ro.ril.enable.a53=1</div>
<div>
ro.ril.hsdpa.category=10</div>
<div>
ro.ril.hsupa.category=6</div>
<div>
ro.ril.hsxpa=2</div>
<div>
ro.ril.fast.dormancy.timeout=3</div>
<div>
ro.ril.enable.dcm.feature=1</div>
<div>
ro.ril.disable.fd.plmn.prefix=44010</div>
<div>
ro.ril.enable.sdr=0</div>
<div>
ro.ril.oem.mosms.mode=1</div>
<div>
ro.telephony.default_network=2</div>
<div>
ro.ril.def.agps.mode=2</div>
<div>
ro.ril.def.agps.feature=2</div>
<div>
ro.telephony.no_emg_calls_only=true</div>
<div>
ro.semc.spn.currentname=NTT DoCoMo</div>
<div>
ro.semc.spn.newname=NTT DOCOMO</div>
<div>
ro.ril.oem.ecclist=110,118,119</div>
<div>
ro.ril.oem.nosim.ecclist=110,118,119</div>
<div>
ro.product.brand=docomo</div>
<br /><div>
ro.HOME_APP_ADJ=1</div>
<div>
ro.HOME_APP_MIN_ADJ=0</div>
<div>
ro.HOME_APP_MAX_ADJ=1</div>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-30482212396959069552013-01-22T21:13:00.003+09:002013-01-22T21:13:47.531+09:00au DIGNO Sを買ったんで感想取り敢えずAndroidの遍歴。個人的にはAndroid5台目。スマフォにして3台目。<br />
<div>
<br /></div>
<br />
<ul>
<li>Xperia Arc</li>
<li>Iconia A500</li>
<li>Xperia S (グローバルモデル)</li>
<li>NEXUS7</li>
<li>DIGNO S</li>
</ul>
<br />
3月発売予定のグローバル版XperiaZを購入する前にまともな高速回線が欲しいなぁと思っていた所でした。取り敢えず回線はLTE最強のauにMNPする事は決定してました。Zはテザリング運用でいいやと。<br />
<br />
折しもそんな時にKDDIからauへの新規契約/MNP時に端末代金5000円引にしてくれるクーポンが届きました。元々家はKDDIの1Gbps光ファイバなんでスマートバリューで割引きくし、男子割もあるんでこれを気にエイヤ!とMNP。<br />
<br />
DIGNOを選んだ理由は以下の通り<br />
<br />
<ul>
<li>バッテリの容量が多い</li>
<li>本体の実質負担額がマイナスになる</li>
<li>防水</li>
</ul>
<br />
LTEルータとして使うので、まぁバッテリを重視って所ですかね。なにげに人生初の京セラ端末、人生初のSONY以外のスマフォですよ。<br />
<br />
使ってみた感想としてはまぁ可もなく不可もないスタンダードでベーシックな端末ですね。<br />
<br />
<ul>
<li>やっぱXperiaってカメラと液晶が綺麗なんだな。</li>
<li>防水(・∀・)イイネ!! これは捗る!!!</li>
<li>au LTE HAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE</li>
<li>電池ものすげぇ持つ!!!</li>
<li>デフォで入ってるクリップボード管理ソフト経由でペーストすると落ちるアプリが幾つかある。(G+とか)</li>
</ul>
<div>
ですかね。</div>
<br />
カメラはやはりXperiaが綺麗すぎですな。一応DIGNOもArcと同じカメラ素子っぽいが写りがなんか色あせてる。液晶もなんか色がイヤに濃い。<br />
防水機能はあんま重視してなかったんですが、あるとお風呂での暇つぶしが便利ですね。XperiaS使ってた時は身体洗う時は風呂の外に置いたり適当な布で巻いてたんですが、DIGNOだとそれをしなくて良いのは地味に楽。<br />
<br />
あとau LTEやっぱHAEEEEEEEEEEEE<br />
嫁がXperiaGXで一応LTE対応なんですが、家で実測8Mbps位。まぁ1.5GhzのLTEにしか対応してないとは言え微妙過ぎる値。一方のDIGNOは家で25Mbps出てる。<br />
近くにある国道近くだとDIGNOで30Mbps・。嫁のGXは10Mbps位。普通に地下鉄でもLTEはいって20Mbpsでてるし。<br />
<br />
<div>
<br /></div>
<br />
後は電池がむっちゃ持ちますね。まぁ比較対象が1.5Ghz帯にしか対応してない1800mAhなXperiaSなんで、800Mhz帯対応してて2500mAh詰んでるDIGNOと比較するのもアレですが。<br />
XperiaSだと、会社いって昼過ぎには60%前後で、会社で充電して家に着くと50%前後。<br />
DIGNOだと会社いって充電せずに家に帰ってきても残り50%。めっちゃ持ちますね。<br />
<br />
あと最後のクリップボード管理アプリが超ウザイ。なにこれ。<br />
消したいんだけど消し方ワカランし。<br />
これだからガラスマは('A`)<br />
<br />
感想らしくもない感想だけど、取り敢えずサブ端末予定機としては充分な端末すな。<br />
やっぱこれって流石京セラって事なのか?Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-82300161415657557572012-08-21T16:48:00.002+09:002012-08-21T16:48:36.998+09:00ばばばばばばばばばばばば<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zQW96gdM48U/UDJFcFoIG6I/AAAAAAAAfkM/JKvRn-CN7sI/s1600/20+-+1" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-zQW96gdM48U/UDJFcFoIG6I/AAAAAAAAfkM/JKvRn-CN7sI/s320/20+-+1" width="180" /></a></div>
<br />
<div>
あばばばばばばばばばばばばばばばばばばばば</div>
<div>
<br /></div>
Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-40803233744402131662012-04-05T14:53:00.001+09:002012-04-05T14:53:23.902+09:00SIMフリー海外端末を購入してからやった事・Xperia Arc 2011年3月購入。端末代金はローン式で月々サポートで支払い。<br />・FOMA プランSS+パケホーダイフラット<br />・SPモード契約<br />・FOMA miniSIMカード<br />な状態から<br />・タイプXi にねん+Xiパケホーダイフラット<br />・カケホーダイ契約ナシ<br />・mopera契約<br />・Xi microSIMカード<br />に変更した際のまとめ。<br /><br />上記の通り2年縛りの最中の変更だけど2年縛りの違約金支払いは無し。<br />Xiへの変更事務手数料2000円。これは来月分の利用料金に上乗せで請求される。<br />FOMAからXiに切り替えた事で月々サポート消滅。つまり以後端末代金を実費で支払う必要がある。月々払うの面倒なのでここで一気に残額支払い。手数料等の発生無し。<br />SIMカードをminiからMicroに切り替えるのは無料。これはFOMAからXiに切り替えたのとは関係なく切替は年一回無料だから。<br /><br />という事で窓口で支払ったのは、XperiaArcの残額支払いのみ。つまり端末残高残ってない人は窓口ではゼロ円になるはず。<br />で来月の携帯料金が+2000円。<br />んでTHE END<br /><br />あ、あとSPモード契約捨てたので、docomoのメアドなくなります。Gmail一本。Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-5104312301700179722012-03-27T15:54:00.003+09:002012-03-27T15:54:46.558+09:00LevelDBのインストール<br />
<br />
sudo aptitude update<br />
sudo aptitude install build-essential python-dev automake libtool subversion pkg-config<br />
sudo aptitude update<br />
mkdir svn<br />
cd svn<br />
svn checkout http://py-leveldb.googlecode.com/svn/trunk/ py-leveldb-read-only<br />
<br />
cd py-leveldb-read-only/snappy-read-only/<br />
./autogen.sh<br />
./configure<br />
make<br />
sudo make install<br />
<br />
cd ../leveldb-read-only/<br />
<br />
cd py-leveldb-read-only/leveldb-read-only<br />
make<br />
cd ..<br />
./compile_leveldb.sh<br />
sudo python setup.py install<br />Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-78171251348830468162012-02-08T23:00:00.003+09:002012-02-08T23:02:34.939+09:00説得ではなく納得を。説明責任を果たすという事<br />
某鷹野さんや某今井さん程整理して書いてないので悪文かも。<br />
<br />
docomoの障害の件、最近のAndroidやiPhone用アプリの勝手な個人情報取得と勝手な利用、政治全般、ステマ騒動、新聞、2chまとめ系の聚落。<br />
これらの問題に共通しているのが実は「説明責任」にまつわるモノなんじゃないかなと最近思い出した。<br />
<br />
例えば政治に関して言えば、「説明責任を果たしていない」部分が多すぎる。<br />
何故マニフェストを破ってまで政権を続けるのか、何故TTPに参加するのか、何故増税するのか。<br />
<br />
取り敢えず私は彼らから充分な説明をもらったという感覚はない。確かにTVや新聞経由で復興の為、国民の為というお題目は聞く。しかし「では幾ら必要で幾らを何に使い幾らを何に使った上で、幾ら程の効果が生まれるのか」等の具体的な数値を伴った説明は殆どない。或いは数値があったとてその根拠の説明がない事もザラだ。<br />
<br />
同時にこれはdocomoにも言えるだろう。確かに最近のスマフォの増加で通信量が増えた、というのは何となく解るがホント?という疑念は払拭仕切れない。<br />
やはりここでも重要なのは具体的な数値とその数値の根拠の説明だ。<br />
<br />
またAndroidやiPhoneのアプリに見られる個人情報の不正取得と不正使用。これも簡単に言えば利用者に対する説明責任を果たしてない事が問題だろう。<br />
この手の話題を出すと「FacebookやGoogleも同じだ」と指摘する人がいる。確かにそれは正しい。基本的には同じく個人情報の利用だろう。だが少なからずFacebookやGoogleや用途や目的、利用方法を示している。それを承知した上で利用を許諾している訳だからある意味で利用者は文句を言えない。<br />
しかしその部分をぼかしたままで利用者に利用させた以上、責務を問われるのは当然だと思う。<br />
同じ意味で最近のSNSのアコギな金稼ぎもこれが問題だろう。課金のタイミングや課金量がどうなるか等の説明責任を充分に果たしていない。ソーシャルゲームがいまいち気に入らない人々がいるのはこれが原因だろう。<br />
<br />
<br />
そして報道に関して。<br />
本来報道というものはこの「説明責任を果たす事を補助する装置」だろう。例えば為政者が説明責任を果たす事なく何かを行おうとすれば、それを問うのが役目の筈だ。或いは為政者が説明責任は果たしたがそれを一般の人々は理解出来そうにない。だからこそそれを理解出来る様に説明するのが報道の役目だろう。<br />
<br />
しかし今や報道の多くが如何に「説明責任を省くか」という点に力を入れている様に見える。<br />
情報の単なる転送。偏向としか思えない報道。理論が飛躍した結論を付けた報道。お金の力で動かされているとしか思えない報道。<br />
<br />
そしてこれは最近のステマや2chまとめ系にも言える。<br />
過去、インターネットのこういったサイトは従来の報道機関が放棄し始めていた「説明責任を果たす事を補助する装置」としての役目を少しは担っていた。しかし最近はその様な機能よりもステマや従来の報道並み、或いは従来の報道以上に偏向、論理の飛躍等が目立つ様になってしまった。<br />
<br />
ステマだって別に堂々とお金をもらったと宣言した上で広告すればいいじゃないか。それで売り上げが伸びれば企業側も執筆者も満足だろう。逆に売り上げが伸びなければその執筆者は金が入らなくなる訳だし、企業側は素早く有用な執筆者とそうでない執筆者を判断出来る様になるだろう。<br />
<br />
そして最後に説明をしてもらう側に関して。こちら側のポイントは<br />
・説明責任を果たす場の拒否<br />
・思考停止<br />
・知識不足<br />
の3つだ。<br />
最近とに目立つのは説明を求めて起きながら説明責任を果たす為の場を用意させない事だろうか。<br />
説明しようとする側が何か言おうとすれば無視をしたり邪魔をしたり、根幹から否定する等して聞く耳すら持たない。或いは自分から知識を身につけないという点だ。2chやSNSで言えば荒らしがこれに相当するだろうか。<br />
<br />
残りの二つは密接に関係している。思考停止しなければある程度知識不足を補う事が出来る。知識があれば、ある程度の思考停止を防ぐ事が出来る。<br />
最近で言えば放射線に関してがこれだろう。放射線に対してある程度の知識があれば、トンデモ放射能の話がおかしいと気付くだろう。或いは情報を鵜呑みにせずしっかり自分の頭で考えれば知識がなくても何か違和感を感じて自分で調べた上で、言っている事がおかしいと気付くだろう。<br />
ただ放射線に関してかなり突っ込んだ詳しい説明をもらう場合は聞き手もある程度の知識が必要である。精確に伝えようとすればする程に専門の知識が必要になる事はザラだ。ここで受信者側が「お前の話は難しい!もっと分かり易くしろ」と叫ぶのは上述した「説明責任を果たす場の拒否」に繫がるだろう。<br />
<br />
ちょっと例を使って言えば、何らかの事象があった場合それは魚や肉の様な素材である。それを元に発信する側は料理人であるそして情報を受信する側は食い手である。<br />
如何に優秀な料理人だとて、かみ砕く力が弱過ぎる客に、その素材を生かした料理を食わせるのは難しい。例え出来たとしてもそれは最早素材が何であったか解らない代物だ。情報で言い換えればそれは既に本来の事象を伝える事が出来ない何か別のモノになってしまっている事だろう。<br />
そういう意味で情報の受け手はアゴを舌を鍛えておく必要がある。アゴが強力であれば料理人の手を介さずに直接その素材を食べる事が出来る。そして舌が強力であれば料理人が何かごまかしを加えたとて見抜く事が出来るだろう。<br />
<br />
<br />
あとちょと注意したいのは、別に言葉だけが説明責任を果たす手段ではないという事だ。<br />
例えばいい例がApple。というかジョブスか。<br />
ジョブスがiPhoneを世に出した時、キーボードがない事に対してもの凄い批判を受けた。しかしジョブスは「まぁ使ってみなよ」というスタンスで商品をアピールし続けた。結果として利用者は後で「あぁキーボードって余り重要じゃないんだ」と気付いた訳だが、ジョブスがこの様な事を強行できたのは「いざと成ればキーボードが不要な理由を充分に説明する事が出来るし、不要だと言い切れるまで考え抜いた」という自信があったからだろう。<br />
これがジョブスなりの説明責任の果たし方だ。<br />
これはプログラマの開発者にも言える。キーボードがない事はある意味でバグだ。しかしジョブスはそれがバグでない理由を説明出来た。<br />
最近ではプログラムの開発者の人が多いと思うが、自分がプログラムを作る際には優先順位を決めてある機能は後回しにする事がある。では貴方はその後回しにした機能がなぜ後回しになったのか説明仕切る事が出来るだろうか?<br />
或いは言い方を変えれば、バグがあったとしても何故バグがあるかを説明出来れば、それはそれで問題ないのではないだろうか。<br />
恐らく最近の日本の製品はこの点がおろそかになっている気がする。<br />
<br />
或いは日本で言えば切腹もこれに相当するのではないかと私は考えている。確かに今でこそ切腹や辞任等なんて無責任の象徴になっているが、戦国時代で言えば武士なんていつ死ぬか解らないし、やろうと思えば周り全部ぶった切って逃げる事が出来るかもしれない。そんな中で自ら腹をかっさばくというのは、関係者に対する説明責任を充分に果たしている様な気がする。飽くまでコレは当時の文化が元になっているから、当時の人々がサムライとはこういうモノだと理解して居たからだろう。<br />
<br />
<br />
さて最後に一番重要な事を一つ。<br />
「説明責任を果たす」とは相手を説得する事ではない。納得させる事だ。<br />
<br />
ジョブスは我々にキーボードがないけど使えと説得してきただろうか?<br />
違う。<br />
ジョブスは我々にキーボードがなくても全然問題ない言う事を納得させたのだ。<br />
<br />
そしてこれはここに上げた全ての事例に通じる。<br />
今現在の為政者は増税に関して我々を納得させただろうか?仕切りに説得に従事していないだろうか?<br />
docomoは、アプリ開発者は、機能を省いた開発者は、利用者に対して納得のいく説明をしただろうか?<br />
バグが残ったままの状態を開いてに納得してもらえるだけの説明が出来るだろうか?<br />
貴方は仕事上、相手に納得してもらった上で仕事を渡しているだろうか?<br />
<br />
貴方は親として子供にやっていい事、やっては行けない事を説明する責務を果たしているだろうか?<br />
お金に付いて、経済について、政治について、哲学について、性知識について。<br />
これらを説明せずに子供を放置するのは、親の責務の放棄でもあり、説明責任の放棄だ。<br />
<br />
そして受信者としての貴方は、納得する為に自分で考え、自分で知識を得ているだろうか?<br />
アゴを鍛えているだろうか?<br />
そして発信者としての貴方は、キチンと相手に納得してもらえるだけの説明をしているだろうか?<br />
<br />
と、ここまで書いておいて私は一つだけ説明責任を果たさなくていい、というか果たせないであろう事があると考えている。<br />
それは告白する時だ。<br />
彼を好きな理由、彼女を好きな理由を挙げる挙げられるという事は嫌いになる為の理由を挙げているという事だ。本当に誰かを好きになってしまった場合そんな事等考えられない筈だ。<br />
だからこそ、告白は唯一説明責任が伴わない行為だと思う。<br />
<br />
という厨二病くさい落ちが付いた所で終了。Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-11089443084479392082012-01-25T01:08:00.000+09:002012-01-25T01:08:18.714+09:00クラウドとはなんぞや<br />
ちょち最近クラウドについての話題がGoogle+で出てくるんで書いて見た。<br />
長文すまん。<br />
<br />
<b><span style="font-size: large;">■仮想化の流行</span></b><br />
ここではCPUの仮想化、サーバの仮想化に絞って説明する。簡単に言えば「一つの物理サーバ上で複数のOSを同時に動かす」事である。この仮想化が流行ったのは以下の理由だ。<br />
<br />
<ul>
<li>CPUの性能向上手段がマルチコアに切り替わった</li>
<li>従来のプログラムの多くがマルチコアを活用しきれない</li>
</ul>
<br />
今までのCPUはコア自体を改善する事で性能向上を果たしてきた。その為多くのプログラムは1コアを前提として作成された。それでもCPUのコア性能がどんどん改善された為プログラムを放置しておいてもプログラムの処理速度は向上していった。しかし最近になりCPUのコア改善によるCPUの性能向上が頭打ちになった為、CPUは出来るだけ沢山のコアを詰め込む事で性能を向上させる手段に出た。多くのプログラムはマルチコアを想定して作られていないので、沢山あるコアを活用出来ず、プログラムの処理速度は向上しなくなってしまった。簡単に言えば8コアあっても1コアしか活動していない状況になってしまったのだ。<br />
8コアあっても1コアしか活動してないのであれば非常にもったいない。元が取れていない。<br />
<br />
そこで従来のサーバを仮想化し、8コアの物理サーバに8個の仮想サーバをぶち込めば、CPUコア全てを使い切る事が出来る、と考えて始まったのが仮想化の流行である。更に言えば8個の仮想サーバはそれぞれ役割が違うだろう。それぞれの仮想サーバが高い処理能力を必要とする時間がずれていれば、8コアじゃなくて4コアでも充分かもしれない。であれば8コアの物理サーバに16個の仮想マシンを入れる事も可能である。<br />
極端な話を言えばそれまで100台の物理サーバで運用していたサーバ群を仮想化して5台の物理サーバ上に集約する事も可能な訳だ。<br />
<br />
<span style="font-size: large;">■過剰集約問題</span><br />
<br />
しかし場合に依っては「100台のサーバ群の総合性能≒5台のサーバ群の総合性能」なパターンが生まれる事がある。生まれる理由としては以下の様なモノが考えられる。<br />
<br />
<ul>
<li>無計画な集約</li>
<li>仮想化環境への追加投資が出来ない為の過剰集約</li>
</ul>
<br />
これを防ぐには以下の対策が必要である。<br />
<br />
<ul>
<li>最大負荷時を想定した仮想化環境の準備</li>
<li>仮想化環境利用の制限</li>
</ul>
<br />
この様な対策をする位であれば仮想化による集約を行わない方が良い。前者の対策をとる場合、仮想化対象の物理対象の総費用より仮想化環境構築用のサーバの総費用の方が高くなる可能性すらある。<br />
<br />
<span style="font-size: large;"><b>■余剰リソース問題</b></span><br />
過剰集約が怖いので少し余裕を見て10台の物理サーバを仮想化し5台のサーバに集約したとする。が、しかし予想以上に仮想サーバは利用されず効果な仮想化用物理サーバが遊んでしまい投資コストの回収が出来なく成ってしまう。<br />
<br />
<i>※投資コストの回収・・・高いモノを購入した後それをシコタマ使って元を取る事。投資コストが回収出来ないといった場合、それは高いモノを買ったはいいけど余り使ってない状態になってしまう事。</i><br />
<br />
<span style="font-size: large;"><b>■仮想化からクラウドへ</b></span><br />
そこで以下の様なパターンが生まれてくる。<br />
<blockquote>
社内のサーバの仮想化による集約は成功した。しかしリソースが余っている。もったいない。何かいい方法はないか<br />
まてよ?この余剰リソースを外部に有料で貸しだそうか。そうすればサーバの稼働率も上がって投資コストも回収出来る上に儲かるぞ<br />
まてよ?儲かるんであれば大規模な仮想化環境を用意してその上の仮想リソースを販売すればこれはビジネスになるんじゃないか?<br />
しかも利用者は、必要な時に必要なだけのリソースを私から借りればいい。初期コストはゼロだ。</blockquote>
これを実践したのがクラウドサービスである。<br />
<br />
<span style="font-size: large;"><b>■クラウドの境界線</b></span><br />
日本国内では「仮想化すればクラウド」と誤認される事、誤認させる記事や情報が多いが、仮想化は飽くまでクラウド実現の一要素に過ぎない。仮想化とクラウドは別ものである。具体的に言えば以下の通りだ。<br />
<br />
<u>・仮想化用の物理的サーバを保有或いは確保した時点でそれはもうクラウドではなくなる。</u><br />
<u><br /></u><br />
「本当のクラウド」の利用者は自分達で物理サーバを用意する事はない。つまりこの時点で国内で推進されようとしている「自社内に作成するプライベートクラウド」は否定される訳だ。<br />
<br />
<u>・必要な時に必要なだけリソースを借り、不要な時は不要なリソースを捨てる事が出来、そしてやめたい時は即座にやめる事が出来なければクラウドではなくなる。</u><br />
<u><br /></u><br />
この時点で課金単位が月次、週次、日次であるサービスは否定される。人間の生活サイクルを考えた場合サーバの負荷の変動は一日毎にサイクルしていくだろう。であれば課金単位は時間単位であるべきである。究極の所、理想は秒単位であるが手間を考えたらやはり時間単位に落ち着くだろう。<br />
同時に時間単位課金であれば、リソースを借りる速度(申し込みしてから実際にリソースが渡されるまでの時間)が1時間以下である必要がある。「今日申請したら明日利用出来ます、来週から利用出来ます、来月から反映させます」なぞというのは問題外だ。<br />
<br />
仮想化ではこの様な事が出来ない。<br />
仮想化によるサーバ集約だけではここまでは出来ない。<br />
プライベートクラウドではこれを実現出来ない。<br />
つまりここクラウドの境界線である。<br />
<br />
<b><span style="font-size: large;">■クラウドの真髄</span></b><br />
イノベーションとはそれまで出来なかった事が出来る様になる事である。世に言うイノベーションを例に挙げると例えばテープに対するCD、CDに対するMP3とか。<br />
例えばCDはそれまでテープでは不可能だった瞬時の頭出し、精確な曲送りを可能にした。<br />
例えばMP3はそれまでCDでは不可能だった自由な曲の組み合わせ、移動の簡単さ、バックアップの簡単さ、再生の簡単さ、保存の簡単さを実現した。<br />
<br />
ではクラウドがイノベーションである点は以下の通り。<br />
<br />
<ul>
<li>従来では保持出来なかった様なリソースを利用する事が出来る</li>
<li>不要なリソースを保持する必要がない</li>
</ul>
<br />
どちらも従来の社内サーバ環境で実現する事は出来ない。同時に仮想化による集約を行っただけでは実現する事が出来ない。<br />
クラウドでなければこれらのメリットをもたらす事が出来ないのだ。<br />
<br />
例えば分散処理を考えてみよう。ある会社で給与計算が分散処理で行えたとする。ここではAmazon EC2をモデルに話をする。<br />
<br />
さて給与計算は基本的に一ヶ月に一回だ。<br />
なので30日中「給与計算をする為に必要なリソース」は一日だけであるとする。であれば残り29日間は給与計算の為のリソース(給与計算をする為のサーバ)を持っている必要はない。つまり費用はゼロ円である。<br />
<br />
「さーて今月は特に急いでないから計算に一日かかってもいいや」と成れば、「性能は低いが一時間辺りの利用料も格安のクラウド上の仮想マシン」を一日借りて計算すればいい。<br />
「やばい!明日給与支払いなのに計算してねぇ!後12時間しかない!ええい多少金かかってもいいから確実に終わらそう!」と思えば「性能は高いが一時間あたりの利用料金も高いクラウド上の仮想マシン」を複数借りて一期に分散処理してしまえばいい。<br />
<br />
勿論給与計算が終わったらそれらのリソースを解放する。そうすれば再びコストはゼロだ。<br />
そしてこのコストがゼロに出来る、まぁ精確に言えば不要な時はコストを極小化出来る、という事がクラウド最大のメリットだと思う。これは従来の物理サーバ購入では絶対に実現しえない事である。<br />
<br />
<b><span style="font-size: large;">■クラウドの定義</span></b><br />
最後にまとめ。クラウドと呼ぶに値するサービスが備えるべき条件<br />
<br />
<ul>
<li>初期費用がゼロである</li>
<li>利用した分だけ課金される(金さえ払えば無尽蔵にリソースを利用出来る)</li>
<li>下院単位は最低でも時間単位である</li>
<li>利用者からみて無尽蔵に見えるだけのリソースを確保出来ている</li>
<li>リソースの要求をしたら遅くとも1時間以内に利用する事が出来る</li>
</ul>
<br />
と言った所ですか。<br />
<div>
<br /></div>Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0tag:blogger.com,1999:blog-3631325979720463060.post-81468766101927241262012-01-19T13:58:00.000+09:002012-01-19T13:58:00.801+09:00Sphinxのバージョンアップをする<div>
Sphinx1.1から1.1.2に上げた時のメモ。</div>
<div>
<br /></div>
Sphinxの最新版を手に入れる。<a href="http://pypi.python.org/pypi/Sphinx">Pythonのこのページ</a>からDL出来るっぽい。<br />
<div>
<br /></div>
<div>
■事前にやる事</div>
<div>
/usr/local/lib/python2.6/dist-packages/Sphinx<span class="synConstant">-1</span>.<span class="synConstant">1</span>-py2.<span class="synConstant">6</span>.egg/
</div>
<div>
の中にあるthemeとか加工したソースとかを待避させておく事。</div>
<div>
<br /></div>
<div>
■旧Verの削除と新Verのインストール</div>
<blockquote>
sudo rm -fr /usr/local/lib/python2.6/dist-packages/Sphinx-1.1-py2.6.egg<br />
wget http://pypi.python.org/packages/2.6/S/Sphinx/Sphinx-1.1.2-py2.6.egg#md5=d35db7a8ee62dd55522bca523954baa9<br />
sudo easy_install Sphinx-1.1.2-py2.6.egg</blockquote>
終わり。Yutukihttp://www.blogger.com/profile/08006086057482967855noreply@blogger.com0