CoinCheck からログアウトする方法

ビットコイン取引所のCoinCheck ( コインチェック )からログアウトする方法を紹介します。

次のリンクをクリックすることでログアウトすることができます。

https://coincheck.com/ja/sessions/signout

ログアウトボタンが深い階層のところにあるため、見つけるのは結構困難でした。

ありがとうございます。

【ビットコインとか勉強会】で発表してきました

ビットコインとか勉強会#4 - connpass にて登壇の機会をいただきましたので、色んな暗号通貨を送信すると言う内容で発表してきました。

参加者の方にどんな暗号通貨を持ってるかきいてみたところ

ビットコイン: 80% NEM : 50% Zcash : 5%

くらい割合でした。(複数解答可)

NEM が想像より多かったですし、Zcash が思った以上に少なかったですね。

NEMに関する発表は結構珍しいこともあり、質疑応答はNEMのことが多かった印象です。 幾つか抜粋すると以下のような感じ。

  • スーパーノード報酬ってなんですか
  • PoI で悪意のあるノードを排除できる理屈はなにか
  • 委任ハーベスティングは自身でハーベスティングしてないのに報酬がもらえるのはなぜか
  • 各コミュニティの盛り上がり具合はどんなかんじか(参加人数やコミュニケーション密度)
  • ビットコインの半減期と価格

コアな質問ばかりで、勉強不足がモロバレでした笑

当日の会場の様子。mixi さん、会場提供ありがとうございました!

近いうちに、(zcash含めて) リベンジの発表をしたいです。

では!

mountainduck (マウンテンダック) を使って S3 をマウントする【管理者編】

S3 をwindows や mac にマウントして簡単かつ高セキュリティでクラウドなNAS相当のものを構築したいと思います。

本編はAWS の設定など管理者向けの情報になっています。

mountainduck のインストール以降は【利用者編】 を参照ください。

cameong.hatenablog.com

S3 とは

S3 とは、AWS が提供するインターネット用のストレージサービスです。

【セキュリティが高く、ほとんどサービス停止しないのに、安い】という三拍子そろった製品です。

このS3 をNASの代わりに使おうと思います。

Linuxであれば s3fuse というオープンソースなソフトウェアがあるのですが

mac・windows はs3fs が未対応(mac は対応してるかも?) なので

別の製品を使って実現したいと思います。

cameong.hatenablog.com

商品比較

いくつか調べた結果、tntdrive と mountainduck を利用しているケースが多かったため、この2つを比較しました。

S3 Drive. Mount Amazon S3 Bucket as a Windows Drive. Map Amazon S3 Bucket. Mount S3 Drive. Amazon S3 Disk.

mountainduck.io

- tntdrive mountainduck
無料トライアル 有り あり
課金体系 1PCごと(複数PC不許可) 1ユーザごと(複数PC可能)
価格 $39.99 以上 $39 以下
大量購入割引 なし あり
対応OS Windows Vista/2008/7/8/8.1/2012 R2/10 Windows 8.1, OS X 10.11.6

windows 10 で試してみたかったのですが、期待も込めて

もろもろ良さそうなmountainduck を利用することにしました。

詳細な機能比較はこちらからどうぞです。

管理者向け設定

この項目は管理者向けの設定ですので、利用するだけであれば飛ばしてください。

S3 のバケット設定

S3 はバケットという大きなフォルダを最初に作るところから始まります。

S3 にアクセスします。左上の「create bucket」ボタンをクリックします。

https://i.gyazo.com/097c6fd31f212744d22490d9bf018e34.png

こういう画面に成るので

https://i.gyazo.com/9f15e9c28ab0d0ebedb78787aea84398.png

バケット名 (ここだと cameong ) を入力し、「create」ボタンをクリックします。

https://i.gyazo.com/02eeaed477b024f10ca483d8560ee344.png

バケットが作成されました。

https://i.gyazo.com/7281b4c830d9a286b2c5cb5d3d2597d4.png

次は、だれでもバケットの権限設定です。

閲覧・書込みを特定の人にしかしないように設定します。

バケットの権限設定

バケットポリシーの作成

ポリシーの作成 ページに移動し、左上の「Create Policy」ボタンをクリックします。

https://i.gyazo.com/feb1cd23ca9a839f072570f374f44fcf.png

「Create Own Policy」を選択します。

https://i.gyazo.com/5f035b61320507947e392d1ecf1fec0f.png

ポリシーを以下のように作成します。

https://i.gyazo.com/952d08e798128c94447018f49288e8e6.png

Policy Name: s3_cameong_rw_policy

Policy Document :

cameong はご自身のバケット名に置き換えてください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::cameong"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::cameong"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::cameong/*"
        }
    ]
}

エラーが出た場合は、修正してから右下灰色の「Validate Policy」ボタンをクリックすると、正しいかどうかがわかります。

正常に作成できると、このようになります。

https://i.gyazo.com/726d5dbaf93e714e4515d01e6deafb3f.png

特定のバケットしか閲覧・書き込みできないグループを作成

特定のバケットだけ操作できるグループを作成します。

iam にアクセスし、左上青色の「Create New Group」ボタンをクリックします。

https://i.gyazo.com/d15bb2ac659a31cc9a31d775943b2642.png

ここでは、グループ名を s3_cameong_rw とします。

https://i.gyazo.com/721b83c9dbd05b0cb8f02026ab027720.png

https://i.gyazo.com/bccb9eea63366c2572733baed6846fc3.png

https://i.gyazo.com/eb8e1ba0843786ef83b82fa05ead9ba6.png

ユーザ作成・グループに所属

こちらページに移動し、左上青色の「Add User」ボタンをクリックします。

https://i.gyazo.com/6d02dabb7f0b02e1b3483ba0f149e683.png

ユーザ名 (ここでは s3_cameong_001)を入力し、「Programmatic Access」にチェックをいれ、「Next Permissions」をクリックします。

https://i.gyazo.com/d48b12bf35320aca695e3328a0ab4fc2.png

先程作成したグループを選択して

https://i.gyazo.com/9dd426f90b1e0c79206d4c2b192fcd59.png

右下、「Next: Review」をクリックします。

https://i.gyazo.com/349589b74fcdf901332482dbd8f7892c.png

内容に不備がなければ、右下「Create User」をクリックします。

https://i.gyazo.com/f460d85dff10c41941b69e67a8540682.png

「Download CSV」ボタンをクリックし、Access Key ID と Secret access key を入手します。 Access Key ID と Secret access key はとても重要なので、流出しないようにしてください。

https://i.gyazo.com/26a69c4ecd85b0b2e077529f7b4be9c7.png

https://i.gyazo.com/57258ed14da7e096617f3c79a25e8a6c.png

これで、S3 側の設定は完了しました。次は利用者向けの設定を行います。

cameong.hatenablog.com

mountainduck (マウンテンダック) を使って S3 をマウントする【利用者編】

mountainduck を使ってS3 をマウントする

mountainduck を使ってS3 をマウントする。利用者編です。

AWSの設定などは【管理者編】 を参照ください。

mountainduck のインストール

まずmountainduck をインストールします。

公式HP からインストーラをダウンロードします。

ダウンロード完了後、インストーラーを起動するとインストールが開始されます。

ウィザードにしたがってインストールを行います。

mountainduck の起動・S3へのアクセス

インストール完了後、mountainduck を起動します。

といっても、自動的に起動しているはずです。

画面一番上のツールバーあるアヒルっぽいアイコンをクリックします。

アヒルのアイコンをクリックした後、ダイアログの「New Bookmark」をクリックします。

https://i.gyazo.com/c6db2edca61b5b3c6a92a51889f0b076.png

下図のように、それぞれ入力し、右下の「Connect」ボタンをクリックします。

https://i.gyazo.com/b8e245a413d01ac482948e6196d0359b.png

フォームに情報を入力します。Access Key ID, Secret Access Key をそれぞれ入力し、「login」 をクリックします。

https://i.gyazo.com/0ad9ea4893c9e133f78d67fb9f2675c4.png

正常にログインできると、次のようにバケットが見えるようになります。

gyazo.com

python 10分前が何分台か調べる

10分前は何分台なのか調べる

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> (datetime.now(timezone('UTC')) -timedelta(minutes=10)).strftime('%Y-%m-%dT%H:%M')[:-1]
'2016-11-11T05:2' # 2016年11月11日5時20分台

Pythonで文字列 <-> 日付(date, datetime) の変換 - Qiita

レポジトリ内のファイルに含まれる文字列を全て置換するコマンド

特定の文字列を全て置換するコマンド

環境

  • OSX (Yosemite)

他OSだとsed の引数の扱いが微妙に違うので、ご注意ください。Ubuntuなどで検証したら、更新します。

例では dir ディレクトリに含まれる coincheck.jpcoincheck.com に置換

% grep -irl coincheck.jp dir | xargs -I {} sed -i '' 's/coincheck.jp/coincheck.com/g' {}

結果

結果はgit diff とかで確認してください。

% git diff 

参考

sedコマンドで覚えておきたい使い方12個(+1個) | 俺的備忘録 〜なんかいろいろ〜

Linuxコマンド集 - 【xargs】標準入力から生成したコマンドラインを実行する:ITpro

python3 でyyyymmddhhmmss形式をdatetime形式に変換する

python で byte 型のyyyymmddhhmmss形式をdatetime形式に変換します

native なdatetime形式

datetime パッケージを用いてdatetime型にします。

>>> from datetime import datetime
>>> _time=b"20161229122800Z"
>>> td = datetime.strptime( _time.decode('utf-8'), '%Y%m%d%H%M%SZ')
>>> td
datetime.datetime(2016, 12, 29, 12, 28)

これだとnative (UTCオンリー) となり、マルチリージョン対応が困難。

aware なdatetime形式

以下のようにして、aware な形式(オブジェクトの中にタイムゾーンの情報を思っている形式) にするにはpytz を用いる。

pytz は標準パッケージではないものの、準公式パッケージ相当の信頼性があるもよう。

// pytz のインストール
% pip install pytz

awareなdateime形式を得る。

>>> from datetime import datetime
>>> import pytz
>>> _time=b"20161229122800Z"
>>> td = datetime.strptime( _time.decode('utf-8'), '%Y%m%d%H%M%SZ').replace(tzinfo=pytz.utc)
>>> td
datetime.datetime(2016, 12, 29, 12, 28, tzinfo=<UTC>)

参考

Pythonの日付処理とTimeZone | Nekoya Press