ASi このページをアンテナに追加 RSSフィード

2018/08/06 Monday

[]続クラッチペダル戻らず不動

http://d.hatena.ne.jp/ashura156/20180721/1532191025

その後結局、マスターシリンダーとリリースシリンダの間にあるダンパーが壊れて油を吹いたのが原因と判明。

部品番号 55185303

https://alfa-romeo.7zap.com/en/gt/x2/12523200-099/181/3+18103s00+3-0/


この部品が既に製造終了となっており入手困難なため、依頼したメカニックと相談し外すことに。方法はメカニックにお任せだったが、プレーキパイプで直結になっていた。


乗ってみると、特に問題はなさそう。以前にはなかったことだが、半クラッチ時に足にザラザラとした感触が少し伝わってくるようになっており、確かによりダイレクトになっているのは間違いなさそう。クラッチの接続を荒くやりすぎないことだけ少し注意すれば良いだろう。と言っても、教科書通りに普通に運転すれば良いだけだ。

2018/07/22 Sunday

[]続3 フロントウインドウウォッシャー

http://d.hatena.ne.jp/ashura156/20180716/1532261583

内径4ミリだったので、合うシリコンチューブで直した。これは外径が5で少し肉薄なところが不安だが、とりあえず機能はする。

f:id:ashura156:20180722215719j:image:h720

f:id:ashura156:20180722165008j:image:w360

2018/07/21 Saturday

[]左流れとアライメント関係

http://d.hatena.ne.jp/ashura156/20160214/1455458547

http://d.hatena.ne.jp/ashura156/20160917/1474075884

その後色々調べて、結果としてはアライメントがずれていて、ショップに探ってもらった結果、

– ナックル(フロントのアップライト)の歪み

– ラックアンドピニオンを支持するサブフレームの取り付けずれ

ナックルは交換、サブフレームはずれを直し締め直しして、今は治っている。


同じ症状を経験した記事。

http://ganbatte-ferrari.com/?p=230

2018/07/16 Monday

[]続フロントウインドウウォッシャー

http://d.hatena.ne.jp/ashura156/touch/20180708/1531134544

調べてみるとポンプの作動音はしており、ボディとボンネットの間のパイプに亀裂があり漏れているのがわかった。


調査過程でヒューズを調べたが、ウォッシャーはF43で、フロントワイパーと共用だった


この時併せてシートヒーターのフューズを外した。扉の開閉の振動でか、勝手にオンになることがままあり、車から離れる時に起きると即バッテリー上がりにつながるので。

f:id:ashura156:20180715165037j:image

f:id:ashura156:20180715163843j:image

f:id:ashura156:20180715163838j:image

f:id:ashura156:20180715163855j:image

f:id:ashura156:20180715163849j:image

2018/07/08 Sunday

[]ウインドウウォッシャーポンプ死亡か

先週末から出ないと思ったら、昨日液補充しても出ないため多分ポンプだろう。ものはきっとこれ

https://store.shopping.yahoo.co.jp/s-hokusyo/wp-d003.html?sc_e=slga_pla


一体どこについているのやら…

2018/06/30 Saturday

庭のムクノキを育てていいものか抜くか悩む…

うちにある木がなんなのかわからなかったが、

https://cancerbiology.blogspot.com/2011/04/blog-post_16.html?m=1

葉が整形鋸歯だあるようだ。


で、葉からムクノキだろうと思っている。

http://elm3.web.fc2.com/top/ha-no-kaisetu/mukunoki.html

"最下1対の側脈は4〜5本の分枝をだす" "ザラザラした葉" が特徴的。


15~20mになるらしく、庭木としては大き過ぎるかも知れず、悩んでいる。

でも松だって山では巨木だ。


立ち姿や葉は綺麗で気持ちのいい木だ。

どうしたものか。


同じことを悩んで切った人もいる

https://cs92.exblog.jp/18230578/

2018/06/24 Sunday

ダイニングの電球をYAZAWA LDT8NGE17に

http://d.hatena.ne.jp/ashura156/20180211/1520626008

今日変えた。もう蛍光灯電球が売っていないのと、税込1598だったから。

どれ位保つかな?

f:id:ashura156:20180624152339j:image

2018/06/14 Thursday

ワンデーアキュビューオアシス

http://d.hatena.ne.jp/ashura156/20161119


便利な酸素透過率比較表

http://xn--pckhws0c8nsbe1081ezo9b.jp/%E9%85%B8%E7%B4%A0%E9%80%8F%E9%81%8E%E7%8E%87%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0/


含水率の話

http://eye-space.jp/topics/topics_moisturecontent/


イオン性と非イオン性

http://refrear.jp/eyeknowledge/%E3%82%B3%E3%83%B3%E3%82%BF%E3%82%AF%E3%83%88%E3%83%AC%E3%83%B3%E3%82%BA%E3%81%AE%E5%90%AB%E6%B0%B4%E7%8E%87%E3%81%A8%E3%82%A4%E3%82%AA%E3%83%B3%E3%81%AE%E8%A9%B1/


トータルワンは汚れはつきにくくて装用感が良い。ただちょっと視界が少し安定しない。滲む感じがするというか、若干フォーカスが甘い感じがするというか。


今回はワンデーアキュビューオアシスにしてみよう。


酸素透過がトータルワンよりちょっと悪いのが気になるけど、グループ1は乾きにくく汚れにくいそうだ。< http://nocontact-nolife.com/1day-acuvue-oasys/


含水率が2ウィークメニコンプレミオの40に近い38%なのは大丈夫かなー

トータルワンは中心含水率 33だったのに比べると少し高い。


レンズモードで送税込み\5,960

https://www.lensmode.com/


BC/DIA(8.5/14.3) PWR(-5.25)

これまでは右のPWR -5.5 にしていたが、今回は同じにした。

(バイオフィニティは BC/DIA(8.6/14.0) だった


ワンデーアキュビューオアシス

メーカー ジョンソンエンドジョンソン

タイプ 1day

グループ 1(非イオン性低含水)

度数範囲(D) +5.00 ~ +0.50、±0.00、-0.50 ~ -6.00(0.25step)-6.50 ~ -12.00(0.50step)

素材 シリコーンハイドロゲル

枚数(1箱あたり) 30枚/90枚

含水率 38%

Dk(酸素透過係数) 103

DK/L(酸素透過率) 121

CT(レンズ中心厚) 0.085mm

BC(ベースカーブ) 8.5mm

DIA(レンズ直径) 14.3mm

UVカット 有り

2018/06/13 Wednesday

[]Cognito の user attribute の admin権限での変え方

CLI:

aws cognito-idp admin-update-user-attributes --user-pool-id ap-northeast-1_XXXXXXXXX --username someone --user-attributes Name=email,Value=someone@somewhere.com --profile xxxxxxxx --region ap-northeast-1

[]最近勝手にログアウトする。

作業が失われたりブラウザ皆閉じられたりしてとても困る。

http://help.duetdisplay.com/faq/124748-duet-was-running-and-i-got-logged-out-of-my-mac

にある

$ defaults write com.apple.dock expose-animation-duration -float 0

$ killall Dock

をためしてみた。

どうなるか。

2018/05/01 Tuesday

[]epoc ミリ秒 <-> 日付文字列 変換

epoc milli seconds <-> date string transform

milli sec -> date string

ruby -e 'puts Time.at(1514764800, 000000).getutc'

2018-01-01 00:00:00 UTC


node -p 'new Date(1514764800000)'

2018-01-01T00:00:00.000Z


date string -> milli sec

ruby -e 't=Time.new(2018,01,01,00,00,00,"+00:00"); puts t.to_i*1000 + t.nsec*1000'

1514764800000


node -p 'new Date("2018-01-01 00:00:00Z").getTime()'

1514764800000

2018/04/26 Thursday

[]Slack の記事をコマンドラインで取得

Get messages on Slack by command line / terminal.


https://api.slack.com/custom-integrations/legacy-tokens で token 作成


https://api.slack.com/methods/search.all を使用。


パラメータ query の内容は下記を参考に。

https://get.slack.help/hc/ja/articles/202528808-Slack-%E5%86%85%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B

const TOKEN = 
  "PUT TOKEN HERE";

// Usage
// node slackget.js [desc]

var http = require('https');

var DESC;
process.argv.find(function(e){
  if (e == "desc"){
    DESC = true;
  }
});

let page = 1;
var start = new Date(Date.now() - 4 * 24 * 3600 * 1000);
var startDate = dateTimeStr(start).slice(0, 10);
console.log("get from " + startDate);

getMessages();


function getMessages(){

  http.get(
    'https://slack.com/api/search.all?token=' + TOKEN + 
    '&page=' + page + 
//    '&query=after%3Ayesterday&sort=timestamp', (res) => 
    '&query=after%3A' + startDate + '&sort=timestamp', (res) => 
  {
    const { statusCode } = res;
    const contentType = res.headers['content-type'];

    let error;
    if (statusCode !== 200) {
      error = new Error('Request Failed.\n' +
                        `Status Code: ${statusCode}`);
    } else if (!/^application\/json/.test(contentType)) {
      error = new Error('Invalid content-type.\n' +
                        `Expected application/json but received ${contentType}`);
    }
    if (error) {
      console.error(error.message);
      // consume response data to free up memory
      res.resume();
      return;
    }

    res.setEncoding('utf8');
    let rawData = '';
    res.on('data', (chunk) => { rawData += chunk; });
    res.on('end', () => {
      try {
        processResult(JSON.parse(rawData));
      } catch (e) {
        console.error(e.message);
      }
    });
  }).on('error', (e) => {
    console.error(`Got error: ${e.message}`);
  });
}

var list;

function processResult(json){
  //console.log(json);
  console.log("page=" + page);
  if (!list){
    list = json.messages.matches;
  }else{
      list = list.concat(json.messages.matches);
  }
  
  if (json.messages.paging.pages != page){
    ++page;
    getMessages();
    
  }else{
    // got all pages
    list.sort(function(a,b){
      if (a.ts > b.ts) {return DESC ? -1 : 1;}
      if (a.ts < b.ts) {return DESC ? 1 : -1;}
      return 0;
    });
  
    list.forEach(function(e){
      //console.log(e);
      console.log(
        dateTimeStr(new Date(e.ts * 1000)) + " " + e.channel.name + " " + 
        e.username);
      var text = e.text.replace("&gt;", ">");
      console.log(text);
      console.log('');
    });
  }
}

function dateTimeStr(date){
  let padm = ''; 
  let padd = '';
  let padh = '';
  let padmin = '';
  let pads = '';
  let month = date.getMonth() + 1;
  if (month < 10){
    padm = 0;
  }
  if (date.getDate() < 10){
    padd = 0;
  }
  if (date.getHours() < 10){
    padh = 0;
  }
  if (date.getMinutes() < 10){
    padmin = 0;
  }
  if (date.getSeconds() < 10){
    pads = 0;
  }
  return date.getFullYear() + '/' + 
    padm + month + '/' + 
    padd + date.getDate() + ' ' +
    padh + date.getHours() + ':' + 
    padmin + date.getMinutes() + ':' +
    pads + date.getSeconds();
}

2018/04/15 Sunday

[] E/G オイル TOTAL QUARTZ 7000 15W 50 調達

送税込み8Lで\11,088

このショップ https://store.shopping.yahoo.co.jp/vigoras/

2018/03/27 Tuesday

[] DynamoDB を local PC で動かす

下記から落として動かす。簡単。

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/DynamoDBLocal.html


だが落とし穴もある。


README.txt には


$ java -Djava.library.path=./DynamoDocal_lib -jar DynamoDBLocal.jar


とあるが、これだとなぜか Java API ではテーブルが見つからない、などとハマる。


下記のように -sharedDb をつけると良い。AWSRegion 等に応じて別の DB

を作らず単一のスコープとなる。


$ java -Djava.library.path=./DynamoDocal_lib -jar DynamoDBLocal.jar -sharedDb


ref:

https://stackoverflow.com/a/29560004/306488

2018/03/21 Wednesday

日立の炊飯器 RZ-AX10M

展示品を2万で買ったのだが、これの情報がいやにネットで少ない。2017製なのに。なぜだろう。

RZ-AV100M の前機種なのだと思うが。

2018/03/09 Friday

[]Cognito を Javascript から使う実験

https://dev.classmethod.jp/cloud/aws/login-form-by-using-aws-sdk-for-javascript/ はとても参考になったが、記事が使っているAWSのJavascript向けSDKが古かった。そこで公式の https://github.com/aws/aws-amplify/blob/master/packages/amazon-cognito-identity-js/README.md を参照しつつ v1.32.0 時点の仕様で動くようにして試してみた。


amazon-cognito-identity.min.js は 2018/3/9 現在最新の下記リビジョン。

https://github.com/aws/aws-amplify/blob/62f7f2e365a1b4b99e9ebdf55e30199121afa19b/packages/amazon-cognito-identity-js/dist/amazon-cognito-identity.min.js


なお csshttps://codepen.io/Lewitje/pen/BNNJjo のものを使わせてもらったが、無くても Cognito の確認には支障ない。

js/common.js

下記のID類を Cognito の管理画面か Admin API で作成して揃えておく。

var AWS_REGION = 'ap-northeast-1';
var COGNITO_IDENTITY_POOL_ID = 'ap-northeast-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
var COGNITO_USER_POOL_ID = 'ap-northeast-1_XXXXXXXXX';
var COGNITO_CLIENT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';
var COGNITO_IDP = 
    'cognito-idp.' + AWS_REGION + '.amazonaws.com/' + COGNITO_USER_POOL_ID;

login.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Login</title>
        <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <div class="wrapper">
      <div class="container">
        <h1 class="msg">Welcome</h1>
 
        <form class="form">
            <input type="text" placeholder="Username" id="name">
            <input type="password" placeholder="Password" id="password">
            <button type="submit" id="login-button">Login</button>
        </form>
 
      </div>
    </div>

    <script src="js/amazon-cognito-identity.min.js"></script>
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.5.2.min.js"></script>
    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
 
    <script src="js/common.js"></script>
    <script src="js/login.js"></script>
 
  </body>
</html>

js/login.js

newPasswordRequired に管理コンソール上でアカウント作成した場合の強制パスワード変更の実装を簡易にしてある。


// js client では ClientID に client secret が生成されていると動作しない

AWS.config.region = AWS_REGION;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: COGNITO_IDENTITY_POOL_ID,
});

var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;

var poolData = { UserPoolId: COGNITO_USER_POOL_ID,
                 ClientId: COGNITO_CLIENT_ID,
                 Paranoia : 7
};
 
var userPool;
var cognitoUser;

$("#login-button").click(function(event){ 
    event.preventDefault();
	
    var authenticationData = {
        Username : $('#name').val(),
        Password : $('#password').val()
    };
	
    var authenticationDetails = new 
	    AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
    var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
	var userData = {
        Username : $('#name').val(),
        Pool : userPool
       };
	   
    cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
		onSuccess: function (authresult) {
             var url = "mypage.html";
             $('form').fadeOut(700, function(){
                $(location).attr("href", url);
             });
             $('.wrapper').addClass('form-success'); 
        },
        onFailure: function(err) {
            console.log('onFailure');
            alert('msg='+ err.message);
        },
        mfaRequired: function(codeDeliveryDetails) {
            // MFA is required to complete user authentication.
            // Get the code from user and call
            cognitoUser.sendMFACode(mfaCode, this)
        },
        newPasswordRequired: function(userAttributes, requiredAttributes) {            
            // User was signed up by an admin and must provide new
            // password and required attributes, if any, to complete
            // authentication.

            console.log('newPasswordRequired');
            console.log(userAttributes, requiredAttributes);

            // the api doesn't accept this field back
            delete userAttributes.email_verified;

            // これらの必要性はUserPoolの設定による
            userAttributes.address='a';
            userAttributes.given_name='b'; 
            userAttributes.family_name='c';
            userAttributes.middle_name='d';
            // phone number はこの形式の必要がある
            userAttributes.phone_number='+818012345678';

            console.log(userAttributes);

            // Get these details and call
            cognitoUser.completeNewPasswordChallenge('0101abab', userAttributes, this);
        }
    });
});

mypage.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>mypage</title>
        <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <div class="wrapper">
      <div class="container">
        <div class="mypage">
          <h1>mypage</h1>
          <div id="username">Username: XXXXX</div>
          <div id="email">EMail: XXXXX</div>
        </div>
      </div>
    </div>

    <script src="js/amazon-cognito-identity.min.js"></script>
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.5.2.min.js"></script>
    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
    
    <script src="js/common.js"></script>
    <script src="js/mypage.js"></script>
 
  </body>
</html>

js/mypage.js


// js client では ClientID に client secret が生成されていると動作しない

AWS.config.region = AWS_REGION;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: COGNITO_IDENTITY_POOL_ID,
});

var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;

var poolData = { UserPoolId: COGNITO_USER_POOL_ID,
                 ClientId: COGNITO_CLIENT_ID,
                 Paranoia : 7
};

var userPool;
var cognitoUser;
	
var authenticationData = {
    Username : $('#name').val(),
    Password : $('#password').val()
};

var authenticationDetails = new 
    AmazonCognitoIdentity.AuthenticationDetails(authenticationData);

var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
    Username : $('#name').val(),
    Pool : userPool
};

// これがポイント
cognitoUser = userPool.getCurrentUser();
	
if (cognitoUser != null) {
    cognitoUser.getSession(function(err, sessresult) {
        if (sessresult) {
            console.log('You are now logged in.');
            cognitoUser.getUserAttributes(function(err, attrresult) {
                if (err) {
                    alert(err);
                    return;
                }
                $("#username").html("Username: " + cognitoUser.username);
 
                for (i = 0; i < attrresult.length; i++) {
                    if (attrresult[i].getName()=="email"){
                      $("#email").html("EMail: " + attrresult[i].getValue());
                    }
                }
 
                // Add the User's Id Token to the Cognito credentials login map.
                AWS.config.credentials = new AWS.CognitoIdentityCredentials({
                    IdentityPoolId: COGNITO_IDENTITY_POOL_ID,
                    Logins: {
                        COGNITO_IDP: sessresult.getIdToken().getJwtToken()
                    }
                });
            });
        } else {
           var url = "login.html";
           $(location).attr("href", url);
        }
    });
} else {
  var url = "login.html";
  $(location).attr("href", url);
}

2018/02/16 Friday

[] Dali の @JoinColumn / @PrimaryKeyJoinColumn

EclipseLink が There should be one non-read-only mapping defined for the primary key field と言って来る場合、多分まず間違いなく Dali の Entity class の自動生成が PK に対して @PrimaryKeyJoinColumn を生成すべきところを @JoinColumn を生成するために起きている。


orm.xml で Entity 定義を下記のような感じで上書きしてやると自動生成クラスを改変せず対処できる。

<entity-mappings>
  <entity name="ATable" class="model.ATable">
    <attributes>
      <one-to-one name="ForeignTable">
        <primary-key-join-column name="id"/>
      </one-to-one>
    </attributes>
  </entity>
</entity-mappings>

2018/02/11 Sunday

OHM LED電球

今日交換。パッケージにある40000時間保つかな?

f:id:ashura156:20180211201919j:image

2018/02/08 Thursday

[] mysqldump

schema dump, DB指定

mysqldump -h 127.0.0.1 -P 3306 -u root -proot DatabaseName --routines --no-data --skip-add-drop-table


DB全て

mysqldump -h 127.0.0.1 -P 3306 -u root -proot --all-databases --routines --no-data --skip-add-drop-table

2018/01/28 Sunday このエントリーを含むブックマーク このエントリーのブックマークコメント

2018/01/24 Wednesday

家の中の結露が凍るほど寒い今朝

f:id:ashura156:20180125065542j:image

2017/12/29 Friday

今年が終わるなぁ

辛い年だった。ほんと。

2017/12/19 Tuesday

[]Code Deploy の log

lifecycle hook の実行時 log 等は:

/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log


codedeploy-agent の実行時 log は:

/var/log/aws/codedeploy-agent/codedeploy-agent.log

2017/12/08 Friday

Slack にポストされるメッセージを Zapier で email に転送する

これ自体は Zapier だけで実現できるのだが、如何せん Zapier の無料枠が少なすぎて只とは行かない。


しかし、slack ってなんでそう流行ってるのかね。mailer と slack と両方見ないといけなくて、単純に無駄に時間を費やすんだけど。おまけに重いし。

2017/12/06 Wednesday

[]Simple Email Service (SES)

Simple Email Service (SES) のページで Identity Management / Email Adresses

に送り元(from) に使うアドレスを登録する必要がある。登録依頼するとそのアドレスに確認URLが送られて来、踏むと登録される。


IAM Policy に下記権限が要る。

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "ses:SendRawEmail",
               "ses:SendEmail"
           ],
           "Resource": "*"
       }
   ]
}

コマンドラインだと簡単にはこれで送れる。

aws --region us-west-2 ses send-email --from someonefrom@somewhere.com --to someoneto@somewhere.com --subject "test title" --text "test"

2017/12/03 Sunday

りゅうせーいがー きらーりー とんでいるー

随分前からこの歌が頭でグルグル回るんだけど、なんの曲だろう。

スプーンおばさんと関係がありそうなんだけどなぁ

昨日までのおしゃべりが どうしてなのか わんだーらん りゅうせーいがー きらーりー とんでいるー

2017/11/29 Wednesday

日立のドラム洗濯機 BD−SV100AL

8月頭に15万でゲット。

半月経ったら練馬の電気屋で14万台だったなー


順調によく乾き働いている。

2017/11/27 Monday

[]コマンドラインからチェック

conf の文法確認

httpd -t -D DUMP_VHOSTS


conf の設定内容の一部表示

httpd -S


ロードされているmoduleのリスト

httpd -M

[]apache で VirtualHost

sudo vi /etc/apache2/httpd.conf

して下記のコメントアウトを外す

#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

どこかの conf に下記のように書く

Listen 60080

<VirtualHost *:60080>
  ProxyPass /somewhere/ http://www.somewhere.com
</VirtualHost>

[]VirtualHost と Location の関係

Location を VirtualHost の中に書けば、その内容は該当の VirtualHost にだけ効く。

Listen 60080

<VirtualHost *:60080>
  ProxyPass /somewhere/ http://www.somewhere.co.jp
  <Location /somewhere/>
    AuthType       Basic
    AuthName       "OSXLogin"
    AuthUserFile   /etc/apache2/users/passwords
    Require        valid-user
  </Location>
</VirtualHost>

これを例えば下記のようにしていると、

Listen 60080

<VirtualHost *:60080>
  ProxyPass /somewhere/ http://www.somewhere.co.jp
</VirtualHost>

<Location /somewhere/>
    AuthType       Basic
    AuthName       "OSXLogin"
    AuthUserFile   /etc/apache2/users/passwords
    Require        valid-user
</Location>

port 80 でも 60080 でも somewhere に Basic auth が掛かる。しかし、ProxyPass は 60080 にしか設定していないので、auth に通過した後で NotFound になる。


仮に 80 を public、60080 を private のような使い分けをする場合に、public の 80 の Basic auth が攻撃の糸口にならないとも限らないので、注意が必要。

2017/11/17 Friday

[]CLI での RDS MySQLインスタンスの作り方

DB の ParameterGroup はあらかじめ作っておく。下記では "DBParameterGroupName": "db-1" の db-1。

DBName は MySQL では省略できる。

create-db-instance.json

{
    "DBName": "ADatabase", 
    "DBInstanceIdentifier": "db-1", 
    "AllocatedStorage": 5, 
    "DBInstanceClass": "db.t2.micro", 
    "Engine": "mysql", 
    "MasterUsername": "root", 
    "MasterUserPassword": "1234567890", 
    "VpcSecurityGroupIds": [
        "sg-12345678",
    ], 
    "AvailabilityZone": "us-west-1a", 
    "DBSubnetGroupName": "main-subnet", 
    "PreferredMaintenanceWindow": "tue:01:00-tue:02:00", 
    "DBParameterGroupName": "db-1", 
    "BackupRetentionPeriod": 7, 
    "PreferredBackupWindow": "19:00-20:00", 
    "Port": 3306, 
    "MultiAZ": false, 
    "EngineVersion": "5.7.17", 
    "AutoMinorVersionUpgrade": true, 
    "LicenseModel": "general-public-license", 
    "OptionGroupName": "default:mysql-5-7", 
    "PubliclyAccessible": false, 
    "Tags": [
        {"Key": "owner", "Value": "someone"},
        {"Key": "workload-type", "Value": "development"}
    ], 
    "StorageType": "gp2", 
    "StorageEncrypted": false, 
    "CopyTagsToSnapshot": false, 
    "EnableIAMDatabaseAuthentication": false
}

$ aws --profile someone rds create-db-instance --cli-input-json file://`pwd`/create-db-instance.json


なぜか OSX では "file://" が要る。

成功すると下記の様な出力が得られる。

{
    "DBInstance": {
        "PubliclyAccessible": false, 
        "MasterUsername": "root", 
        "MonitoringInterval": 0, 
        "LicenseModel": "general-public-license", 
        "VpcSecurityGroups": [
            {
                "Status": "active", 
                "VpcSecurityGroupId": "sg-12345678"
            }
        ], 
        "CopyTagsToSnapshot": false, 
        "OptionGroupMemberships": [
            {
                "Status": "in-sync", 
                "OptionGroupName": "default:mysql-5-7"
            }
        ], 
        "PendingModifiedValues": {
            "MasterUserPassword": "****"
        }, 
        "Engine": "mysql", 
        "MultiAZ": false, 
        "DBSecurityGroups": [], 
        "DBParameterGroups": [
            {
                "DBParameterGroupName": "db-1", 
                "ParameterApplyStatus": "in-sync"
            }
        ], 
        "AutoMinorVersionUpgrade": true, 
        "PreferredBackupWindow": "19:00-20:00", 
        "DBSubnetGroup": {
            "Subnets": [
                {
                    "SubnetStatus": "Active", 
                    "SubnetIdentifier": "subnet-12345678", 
                    "SubnetAvailabilityZone": {
                        "Name": "us-west-1a"
                    }
                }
            ], 
            "DBSubnetGroupName": "main-subnet", 
            "VpcId": "vpc-12345678", 
            "DBSubnetGroupDescription": "Main subnet", 
            "SubnetGroupStatus": "Complete"
        }, 
        "ReadReplicaDBInstanceIdentifiers": [], 
        "AllocatedStorage": 5, 
        "DBInstanceArn": "arn:aws:rds:us-west-1:111122223333:db:db-1", 
        "BackupRetentionPeriod": 7, 
        "DBName": "ADatabase", 
        "PreferredMaintenanceWindow": "tue:01:00-tue:02:00", 
        "DBInstanceStatus": "creating", 
        "IAMDatabaseAuthenticationEnabled": false, 
        "EngineVersion": "5.7.17", 
        "AvailabilityZone": "us-west-1a", 
        "DomainMemberships": [], 
        "StorageType": "gp2", 
        "DbiResourceId": "db-XXXXXXXXXXXXXXXXXXXXXXXXXX", 
        "CACertificateIdentifier": "rds-ca-2015", 
        "StorageEncrypted": false, 
        "DBInstanceClass": "db.t2.micro", 
        "DbInstancePort": 0, 
        "DBInstanceIdentifier": "db-1"
    }
}

2017/11/04 Saturday

[]ブレーキパッド調達

ぼちぼちなので。

以前156TSで使ってみてなんの問題も無いのでDixcel。

yahoo で Premium タイプ F 2513092 / R 2551685 を送税込\19,872


Dixcel のサイト

http://www.dixcel.co.jp/sx/e36.php?enode=11381011113110111111011-111-131-100-&ts=sports&qry=ALFAROMEO%20GT%20#n0111

2017/11/01 Wednesday

[]mysql_upgrade

DB performance_schema の Table session_variables が無いと言って MySQLWorkbench

が接続拒否られるので調べてみて、DB の更新が必要らしいことがわかった。

sudo mysql_upgrade -u root -p

sudo service mysqld restart

これで治った。