404 NOT FOUND | L'7 Records https://www.braveryk7.com 投資からガジェットレビューまでお届けする情報メディア Thu, 21 Mar 2024 02:50:49 +0000 ja hourly 1 https://wordpress.org/?v=6.3.3 https://www.braveryk7.com/wp-content/uploads/2017/12/cropped-braveryk7-favicon-512-2-32x32.png 404 NOT FOUND | L'7 Records https://www.braveryk7.com 32 32 Google reCAPTHAの無料枠大幅減に伴いCloudflare Turnstileに乗り換え https://www.braveryk7.com/switching-from-recaptcha-to-turnstile/ https://www.braveryk7.com/switching-from-recaptcha-to-turnstile/#respond Wed, 31 Jan 2024 14:20:06 +0000 https://www.braveryk7.com/?p=8906 2024年4月1日からGoogle reCAPTHAの料金体系が大きく変わることになりました。

具体的にはGoogle reCAPTHAの月間リクエスト数が100万件から1万件に削減され、さすがに1万リクエストではある程度の規模のサイトだと足りない恐れがあります。

そこで同じようなbot判定サービスを提供しているCDNで有名なCloudflareクラウドフレア Turnstileターンスタイルにサービス切り替えを行っていきます。

そもそもGoogle reCAPTHAのサービスとは

実際に移行する前に、本当に移行が必要かどうかは十分検討してください。

コスト面で難しい状況になったため乗り換えを行いますが、Google reCAPTHAそのものは素晴らしいサービスであることをお断りしておきます。

ちなみに僕自身は当サイトも含め、管理・運営しているサイトの90%以上で既にCloudflare Turnstileに乗り換えを実施しています。

リクエスト数

2023年11月頃のリクエスト数

実際のリクエスト数はGoogle reCAPTHAのダッシュボードから確認できます。

例えばこの画像は2023年11月5日~11月11日までの1週間、僕のとあるサイトのGoogle reCAPTHAリクエスト数です。

ざっくり1日おおよそ1万件程度の水準でリクエスト枠を消費しています。

つまり、月間1万件という上限は1日足らずで達してしまうことになりとても足りません。

無料枠超過分の扱い

僕たち個人ブロガーが使用しているGoogle reCAPTHAはいわゆる無料のreCAPTCHAと呼ばれるものです。

どれだけリクエストが飛んでも基本的に追加費用はかかりません。

ただし、今までは月間100万リクエストを超過すると常に0.9というスコアが返されるようになります。

reCAPTCHAはリクエストに対しbotの可能性を数字で判断し、一定のしきい値を超えるとbotかどうかの追加判定(画像クリックしてバスを選んでね、のやつ)を促します。

1.0に近いほど安全である可能性が高く、0.0に近いほど安全ではない可能性が高くなります。

つまり100万リクエストを超えると「うーん、なんか来たけど今月いっぱい働いたしな。せや!たぶんセーフやろ!はい0.9!」とbotかどうかに関係なく「たぶん安全だよ」というスコアを返す、全く役に立たなくなる訳です。

現時点では今のこの形態が引き継がれるのかどうか不明です。

  1. 月間1万リクエスト超過分は常にスコア0.9を返す
  2. 月間1万リクエスト超過分に対して費用がかかる

どちらになるか分からないので、月間リクエスト数をチェックしておくことは必須です。

ちなみに現時点では現状通り、1万件を超えた場合実質認証を放棄するようになると予想しています。つまり何の役にも立たなくなります。

移行しなくてもいい人

月間1万リクエストを超えている、もしくは現時点で迫っている方は移行を検討すべきでしょう。

では移行をしなくても良い人はというと、Google reCAPTHAのリクエスト頻度が極端に低い方です。

僕の読者はWordPressユーザーが多いのでそれをメインに考えると、

  • コメント欄を閉鎖しているためreCAPTHCA使用がフロントページでほとんど無い
  • ログインURLを標準にwp-adminやwp-login.phpから変更しているためアクセスがほとんど無い

というような方々です。

このような設定を行っている方はreCAPTCHAのリクエスト数が月間数十件~数百件程度と新無料枠に収まる可能性が高いです。

しかしプラグインの設定等で、コメント欄を閉鎖しているしログインURLも変更しているけど何故かサイト全体にreCAPTCHAがかかっているという方もいます。

やはりGoogle reCAPTHAのダッシュボードから実際のリクエスト数を確認しておくことが重要です。

代替サービス

この後Cloudflare Turnstileを使用できるよう解説しますが、実はreCAPTCHAには代替サービスがいくつかあります。

他にも企業向け等を考慮するともっと選択肢はありますが、個人ブロガーが採用するならGoogle reCAPTHAかCloudflare Turnstileとこの2つぐらいかなあと思います。

Cloudflare Turnstile

Cloudflare TurnstileはCDNで有名なCloudflareが提供するサービスです。

Google reCAPTHAと同じようにbot判定を行い、疑わしいアクセスに対しては追加の判定を要求することでプログラムを使ったフォーム等への自動攻撃を防ぐ役割を担ってくれます。

Cloudflare Turnstileの概要

  • リクエスト数無制限(100万件との情報もあるが公式にソースが見つからない)
  • Turnstile Freeプランなら無料
  • WordPressサイトならプラグインで簡単に導入可能
  • Google reCAPTHAより読み込み速度が早い

基本的に現在のGoogle reCAPTHAと同じように意識すること無く利用でき、Google reCAPTHAと比較して読み込み速度が早い傾向にあります。

bot対策転送量読み込み速度(ページ全体)
なし約300ms
Google reCAPTCHA約600キロバイト約450~550ms
Cloudflare Turnstile約180キロバイト約350~450ms

実際に手元で計測したところ、Google reCAPTHAで認証が完了するまでの転送サイズは約600キロバイト、Cloudflare Turnstileは180キロバイトでした。

ページ全体の読み込み速度もおおよそ100msほど早くなっています(ただしこちらはCAPTHA解決までの時間ではなく、あくまで読み込み速度ベース)。

Cloudflare Turnstileを採用するデメリット

明確なデメリットは正直見当たりませんが、強いて言えばWordPressユーザーの場合プラグインの乗り換え等が必要になります。

しかし月間1万リクエスト上限が始まる4月1日以降、1万件を超えるリクエストが事実上無効化さえるか有料化されるかどちらかだと思うのでどのみち上限を超えるなら対策が必要です。

Cloudflare Turnstileの登録・設置

それではCloudflare Turnstileの登録と設置を行っていきます。

登録

Cloudflare Turnstileに登録しサイトキーを発行
  • Step. 1
    登録

    まずはCloudflareに登録します、登録ページを開いてメールアドレス・パスワードの入力して登録してください。

    もし言語が英語になっている場合、右上のEnglishをクリックして日本語に変更できます。

    登録が完了するとCloudflareからEメールが届きます。

    本文にEメール認証のURLが記載されているので、アクセスして認証をしておいてください。

    メール認証が完了

    メール認証が終えるとサンクスページが表示されるので、左上の「Cloudflare」のロゴをクリックしてダッシュボードを開いておいてください。

  • Step. 2
    Turnstile認証
    Cloudflare Turnstile

    Cloudflare Turnstileに必要なサイトキーの登録を行います、ダッシュボード左側のメニューよる「Turnstile」を開きます。

    サイトを追加ボタンをクリックし、サイト名とドメインを入力します。

    ウィジェットモードは3種類ありますが、基本的にデフォルトの「管理対象」を選んでおけばOK。

    登録が完了するとサイトキーとシークレットキーが表示されます、後ほど使うのでこのままページを開いておくかどこかにメモしておいてください。

Webサイトに追加(WordPress)

それでは自分のサイトにCloudflare Turnstileを導入しておきます。

既にGoogle reCAPTHAが動いているなら止めておいてください、多くの方はGoogle reCAPTHA用のプラグインを入れているはずなので無効化すればOK。

また、Contact Form 7を使っている場合Contact Form 7自体にもGoogle reCAPTHAの設定があるのでこちらも設定を削除しておきましょう。

WordPressサイトにCloudflare Turnstile導入
  • Spte. 1
    Simple Cloudflare Turnstileをインストール
    Simple Cloudflare Turnstile

    Cloudflare Turnstileの導入にはSimple Cloudflare Turnstileというプラグインを使うのが手っ取り早いです。

    • 標準のログイン・ユーザー登録・パスワードリセット・コメント欄対応
    • Contact Form 7やWooCommerce、WPForms等にも対応
    • スクリプト遅延読み込み機能有り

    開発もアクティブであり、WordPressサイトに導入するなら現状これ一択です。

    インストール、有効化してください。

  • Step. 2
    サイトキーとシークレットキー入力

    有効化が完了したら設定->Cloudflare Turnstileを開きます。

    サイトキー/シークレットキーを入力

    まずは先程作成したサイトキーとシークレットキーをコピー&ペーストして入力してください。

    言うまでもありませんが、これらのキーは誰かに教えたりネット上に掲載したりしないでくださいね。

  • Spte. 3
    基本設定
    基本設定

    続いて基本設定を行いますが、特にこだわりがなければデフォルトの状態でOKです。

    「送信ボタンを無効化」にチェックを入れると認証が完了するまで送信ボタンが無効化されるのでほんの少しセキュリティ的に良いかも知れません。

  • Step. 4
    高度な設定
    高度な設定
    高度な設定

    高度な設定欄には3つほどメニューがありますが、「スクリプトの遅延読み込み」だけチェックを付けておけば良いです。

    このチェックをつけることでCloudflare Turnstileのスクリプトをdefer要素を追加して遅延読み込みしてくれます。

    <!-- チェックなし -->
    <script type="text/javascript" src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" id="cfturnstile-js"></script>
    
    <!-- チェックあり -->
    <script type="text/javascript" src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" id="cfturnstile-js" defer="defer" data-wp-strategy="defer"></script>

    ただしWordPressプラグイン等で高速化設定を行っている場合にバッティングする可能性があります。

    明らかに挙動がおかしい場合はチェックを外してください。

  • Step. 5
    反映フォーム選択
    Cloudflare Turnstileを反映するフォームを選択
    Cloudflare Turnstileを反映するフォームを選択

    Cloudflare Turnstileをどのフォームに反映させるか選択します、基本的には全部つけておけば良いです。

    ただしコメント欄を明確に使っていない、そもそもコメント欄が無い場合はフロントページで読み込む必要が無いのでWordPressコメントのチェックを外しておきましょう。

    Contact Form 7で使用する場合
    Contact Form 7で使用する場合

    プラグインが対応している他のプラグインがインストールされている場合、追加で設定タブが表示されます。

    • Contact Form 7
    • WooCommerce
    • WPForms
    • Elementorフォーム
    • BuddyPress
    • bbPress

    以上は一例ですが、様々なフォームに設定できるためもし表示されていれば使用すると良いです。

    ちなみにContact Form 7の場合は表示されている[cf7-simple-turnstile]をContact Form 7のタグの中に埋め込めばOKです。

  • Step. 6
    変更を保存&疎通テスト
    APIキーが登録・変更された場合テストが必要になる
    APIキーが登録・変更された場合テストが必要になる

    最後に変更を保存ボタンをクリックします。

    更新されたページの上部に疎通テストを促すボックスが表示されるので、応答テストをクリックします。

    疎通テスト完了
    疎通テスト完了

    テストが完了すると成功!と表示されます。

    設定お疲れ様でした。

  • Step. 7
    確認
    ログイン画面にCloudflare Turnstileが表示された
    ログイン画面にCloudflare Turnstileが表示された

    実際に稼働しているかどうかチェックするために、コメント欄を見てみるか一度ログアウトしてログインフォームをチェックしてみましょう。

    このような表示がされていれば正常に稼働しています。

    また、稼働後しばらくするとCloudflareのTurnstileタブで実際にリクエストされた回数、解決率等のチェックが行なえます。

Google reCAPTHAの無料枠大幅減に伴いCloudflare Turnstileに乗り換え まとめ

Google reCAPTHAの無料枠変更に伴い今後ますますCloudflare Turnstileを利用する人数が増えていくと思います。

Cloudflare Turnstileは執筆時現在最大10サイトまで登録できるので一度登録方法を覚えてしまえば別途サイトを立ち上げる時でも安心。

まだGoogle reCAPTHAの4月1日以降の詳細ができっていない(少なくとも無料枠超過後が事実上認証を行わないのか追加料金なのか分からない)ですが、かなり縮小されることは間違いないので後から慌てないように今のうちに実装しておくことをおすすめします。

導入にあたって不明な点等はコメント欄よりお知らせください。

]]>
https://www.braveryk7.com/switching-from-recaptcha-to-turnstile/feed/ 0
wp-envにAdminerとMailHogを組み合わせる開発環境 https://www.braveryk7.com/wp-env-with-adminer-mailhog/ https://www.braveryk7.com/wp-env-with-adminer-mailhog/#respond Tue, 30 Jan 2024 08:35:58 +0000 https://www.braveryk7.com/?p=8827 Local(旧Local by flywheel)から中々wp-envに移行できない理由としてよく「データベースマネジメントツールとMailHogがない」ことが挙げられます。

ということでnpm run wp-env startで全部立ち上がるようにしていきます。

wp-env × Adminer × MailHogの要点

  • データベースのチェックをGUIで行える、書き換えも容易
  • WordPressのメール機能に関する開発を行える

wp-envにAdminerとMailHogが組み合わさると何が嬉しいかというとこの2点。

僕はSend Chat ToolsというSlackやDiscordにWordPressのコメント通知やログイン通知、アップデート通知、Rinkerの終売通知なんかを送信するプラグインを作っているのですが、もし正常に遅れなかった場合メール通知する必要があります。

そのためMailHogはぜひとも欲しい機能でした。

wp-envは標準でこの2つに対応していないので、連携するDockerコンテナを建ててこれらの機能を使えるようにします。

GitHubリポジトリ

当記事で解説しているコードは以下のリポジトリにあります。

GitHub Repository:https://github.com/braveryk7/wp-env-with-adminer-mailhog

要点

  • compose.yamlを用意しAdminerとMailHogの設定を記述する
  • .wp-env.jsonにはメールに関する定数を記述する
  • docker compose up -ddocker compose downwp-envと連動するようにする

基本的に操作を増やすのはナンセンスなので、.wp-env.jsonに用意されているライフサイクルスクリプトセクションを使って自動的に目的のコンテナが立ち上がり、終了時には自動的にコンテナが終了するように設定します。

ただしこれは仕組み上、どうしても既存のwp-envコマンドとdocker composeコマンドの組み合わせだけでは行えないので簡単なシェルスクリプトを書いてそれを実行するようにします。

環境

僕の環境構築時点での各種バージョンです。

$ node -v
v18.17.1

$ npm -v
9.6.7

$ docker -v
Docker version 25.0.0, build e758fe5

執筆時現在、docker-composeコマンドはdockerコマンドのサブコマンドになりました。(コマンド自体は`docker composeコマンドのエイリアスとして残っています。

そのため当記事ではdocker-composeコマンドではなくdocker composeコマンドを使用しております。

また、docker-compose.ymlが非推奨になりcompose.yamlが推奨されています。

古いDocker環境で実行する場合等は適宜読み替えてください。

# package.json
{
  "devDependencies": {
    "@wordpress/env": "^9.2.0"
  }
}

特に@wordpress/envパッケージはバージョンによって結構大きな違いがあるので、必ず最新情報を公式でキャッチアップしてください(動かない等あったら教えて下さると嬉しいです)。

手順

実際に必要なファイル群を用意していきます。

ファイル構成

/
├── .wp-env.json
├── /bin
│   └── after-start-scripts.sh
├── /node_modules
│   └── /.bin
│       └── wp-env
├── compose.yaml
├── package-lock.json
└── package.json

必須なファイルは.wp-env.jsoncompose.yamlぐらいです。

.wp-env.jsonはwp-envの立ち上げを、compose.yamlはAdminerとMailHogの立ち上げを行います。

より便利に使えるようにbinディレクトリ配下にシェルスクリプトをおいてあります。

ファイル作成

まずは必要なファイル群を生成していきます。

# git管理するなら
$ git init

# ディレクトリの作成
$ mkdir bin

# ファイル作成
# package.jsonはnpm initしても可
# .wp-env.jsonは後で作成
$ touch bin/after-start-scripts.sh compose.yaml package.json

# package.jsonはnpm install時、正しいjson形式である必要がある
# そのため最低限jsonとして認識されるように{}を記述
$ echo "{}" > package.json

続いて@wordpress/envパッケージを導入します。

起動できるかテストも兼ねて一度動かしてみます。

# @wordpress/envインストール
$ npm i -D @wordpress/env

# wp-envが実行されるかどうか確認
# .wp-env.jsonが無いと警告されるが一旦無視
$ node_modules/.bin/wp-env start

Warning: could not find a .wp-env.json configuration file and could not determine if
'/home/user_name/develop/wp-env-with-adminer-mailhog'
is a WordPress installation, a plugin, or a theme.

WordPress development site started at http://localhost:8888
WordPress test site started at http://localhost:8889
MySQL is listening on port 32784
MySQL for automated testing is listening on port 32785

 ✔ Done! (in 6s 592ms)

これで表示されたURLにアクセスして問題が無いか確認してください。

続いてこのコンテナのハッシュ値を取得します。

# ハッシュ値取得
# この場合ハッシュ値は242ad077a237e5d5c0781dd085d26fdf
# ハッシュ値はcompose.yamlで使用する
$ node_modules/.bin/wp-env install-path
/home/user_name/wp-env/242ad077a237e5d5c0781dd085d26fdf
✔  (in 0s 605ms)

# .wp-env.json作成
$ touch .wp-env.json

ハッシュ値は後ほど使用するのでどこかにメモしておくかターミナルに表示しておいてください。

.wp-env.json

{
    "config": {
        "WP_DEBUG": true,
        "WP_DEBUG_LOG": true,
        "WP_DEBUG_DISPLAY": true,
        "WPMS_ON": true,
        "WPMS_SMTP_HOST": "mailhog",
        "WPMS_SMTP_PORT": 1025,
        "WPMS_MAILER": "smtp"
    },
    "core": "https://ja.wordpress.org/latest-ja.zip",
    "env": {},
    "mappings": {},
    "phpVersion": "8.2",
    "port": 59650,
    "testsPort": 59651,
    "plugins": [
        "https://downloads.wordpress.org/plugin/query-monitor.zip",
        "https://downloads.wordpress.org/plugin/wordpress-beta-tester.zip",
        "https://downloads.wordpress.org/plugin/wp-crontrol.zip",
        "https://downloads.wordpress.org/plugin/wp-multibyte-patch.zip",
        "https://downloads.wordpress.org/plugin/wp-mail-smtp.zip"
    ],
    "themes": [
        "https://github.com/xserver-inc/cocoon/archive/refs/heads/master.zip"
    ],
    "lifecycleScripts": {
        "afterStart": "sh bin/after-setup-scripts.sh"
    }
}

色々書いてありますが、重要な部分をピックアップします。

    "config": {
        "WP_DEBUG": true,
        "WP_DEBUG_LOG": true,
        "WP_DEBUG_DISPLAY": true,
        "WPMS_ON": true,
        "WPMS_SMTP_HOST": "mailhog",
        "WPMS_SMTP_PORT": 1025,
        "WPMS_MAILER": "smtp"
    },

まずconfigブロックでWP_DEBUGの設定と後ほど紹介するWP Mail SMTPというプラグインの定数を設定しています。

他にもWP Mail SMTP向けの設定はありますが、とりあえず最低限これだけ記述しておけば動きます。

特にWPMS_SMTP_HOSTは後述するcompose.yamlcontainer_nameと合わせるようにしてください。

    "plugins": [
        "https://downloads.wordpress.org/plugin/query-monitor.zip",
        "https://downloads.wordpress.org/plugin/wordpress-beta-tester.zip",
        "https://downloads.wordpress.org/plugin/wp-crontrol.zip",
        "https://downloads.wordpress.org/plugin/wp-multibyte-patch.zip",
        "https://downloads.wordpress.org/plugin/wp-mail-smtp.zip"
    ],

ここでは開発に便利な各種プラグインをまとめてインストールしていますが、一番最後のwp-mail-smtp.zipが今回の肝です。

WP Mail SMTPはWordPressのメール機能を強化するプラグインで、テストメールの送信機能があるため採用しています。

それ以外のプラグインは不要なら削除してください。

    "themes": [
        "https://github.com/xserver-inc/cocoon/archive/refs/heads/master.zip"
    ],

テーマは日本でも人気があり無料で使えるCocoonをインストールしてあります、これも好みで変えてください。

後で手動でアップロードして好きなテーマを実装することももちろん可能です。

    "lifecycleScripts": {
        "afterStart": "sh bin/after-start-scripts.sh"
    }

最後のlifecycleScriptsセクションはざっくりいうと「特定のタイミングで特定の処理が走らせられますよ」というもの。

ここではafterStartというタイミングでシェルスクリプトを走らせています。

その名の通り、npm run wp-env startコマンドが走った後に実行されます。

bin/after-start-scripts.sh

npm run wp-env run cli -- wp plugin delete akismet hello
docker compose up -d

ここでは試しにコンテナ内のwp-cliを動かしてデフォルトで入っている邪魔なAkismetとHello Doryという2つのプラグインを削除しています。

重要なのは2行目、docker compose up -dコマンドを使って後述するcompose.yamlを元にAdminerとMailHogコンテナを立ち上げています。

compose.yaml

volumes:
  maildir: {}

services:
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
    networks:
      - wpnetwork

  mail:
    image: mailhog/mailhog
    container_name: mailhog
    ports:
      - 1025:1025
      - 8025:8025
    environment:
      MH_STORAGE: maildir
      MH_MAILDIR_PATH: /tmp
    volumes:
      - maildir:/tmp
    networks:
      - wpnetwork

networks:
  wpnetwork:
    external:
      name: 242ad077a237e5d5c0781dd085d26fdf_default

今回一番重要な部分がこのcompose.yamlです。

volumes:
  maildir: {}

まずはMailHogのメールがコンテナを終了させるたびに消えてしまうのは困るので永続化しています。

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
    networks:
      - wpnetwork

Adminerの設定部分です。

バージョン指定がある場合はバージョンを記述してください。

portsは空いてるものであれば何でも良いですが、何故か僕のWSL/Ubuntu環境だと59000番台以降が使えませんでした。どうして・・・!

networkswpnetworkという名称を指定しています。

  mail:
    image: mailhog/mailhog
    container_name: mailhog
    ports:
      - 1025:1025
      - 8025:8025
    environment:
      MH_STORAGE: maildir
      MH_MAILDIR_PATH: /tmp
    volumes:
      - maildir:/tmp
    networks:
      - wpnetwork

MailHogの方はコンテナ名をmailhogと明示しています、これは.wp-env.jsonで指定したWPMS_SMTP_HOSTで使用するためです。

portsは2つ設定してありますが、MailHogコンテナがデフォルトで1025番をSMTPに、8025番をWeb UI用に充てているのでそのまま同じポート番号を充てています。

networksにはAdminerと同様wpnetworkを指定しています。

networks:
  wpnetwork:
    external:
      name: 242ad077a237e5d5c0781dd085d26fdf_default

最後のnetworkswp-envdocker composeそれぞれで立ち上げたコンテナを同じネットワーク内であると明示しています。

ネットワーク全体をwpnetworkという名前で定義し、wp-env側で作成するネットワークを接続するために冒頭取得したハッシュ値を記述します。

wp-envで起動したコンテナは「ハッシュ値_default」という命名規則でNAMEがつくので、特に_defaultを忘れないようにしましょう。

package.json

最後にwp-envコマンドをいちいちnode_modulesから指定するのは面倒なので、package.jsonのscriptsにコマンドを記述します。

{
  "scripts": {
    "wp-env": "wp-env"
  },
  "devDependencies": {
    "@wordpress/env": "^9.2.0"
  }
}

これでnpm run wp-envというコマンドで呼び出せるようになりました。

wp-env × Adminer × MailHog 稼働チェック

それでは準備ができたので実際に稼働してみましょう!

一度wp-envを起動しているので、--updateオプションをつけて再起動させます。

$ npm run wp-env start --update

> wp-env
> wp-env start

WordPress development site started at http://localhost:59650
WordPress test site started at http://localhost:59651
MySQL is listening on port 32788
MySQL for automated testing is listening on port 32789

 ✔ Done! (in 48s 25ms)

無事起動ができたようです。

$ docker ps
CONTAINER ID   IMAGE                                              COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
8523fb34e763   adminer                                            "entrypoint.sh php -…"   24 seconds ago   Up 22 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                              wp-env-with-adminer-mailhog-adminer-1
5d3a69adbbef   mailhog/mailhog                                    "MailHog"                24 seconds ago   Up 22 seconds   0.0.0.0:1025->1025/tcp, :::1025->1025/tcp, 0.0.0.0:8025->8025/tcp, :::8025->8025/tcp   mailhog
d6a32d426eb4   242ad077a237e5d5c0781dd085d26fdf_cli               "docker-entrypoint.s…"   37 seconds ago   Up 35 seconds                                                                                          242ad077a237e5d5c0781dd085d26fdf-cli-1
5ff14b9c9b5a   242ad077a237e5d5c0781dd085d26fdf_tests-cli         "docker-entrypoint.s…"   37 seconds ago   Up 35 seconds                                                                                          242ad077a237e5d5c0781dd085d26fdf-tests-cli-1
43bdc86764d6   242ad077a237e5d5c0781dd085d26fdf_tests-wordpress   "docker-entrypoint.s…"   37 seconds ago   Up 35 seconds   0.0.0.0:59651->80/tcp, :::59651->80/tcp                                                242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1
d7241cbb6603   242ad077a237e5d5c0781dd085d26fdf_wordpress         "docker-entrypoint.s…"   37 seconds ago   Up 35 seconds   0.0.0.0:59650->80/tcp, :::59650->80/tcp                                                242ad077a237e5d5c0781dd085d26fdf-wordpress-1
f24a2125bb97   mariadb                                            "docker-entrypoint.s…"   37 seconds ago   Up 36 seconds   0.0.0.0:32789->3306/tcp, :::32789->3306/tcp                                            242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1
41f310e73dcc   mariadb                                            "docker-entrypoint.s…"   57 seconds ago   Up 55 seconds   0.0.0.0:32788->3306/tcp, :::32788->3306/tcp                                            242ad077a237e5d5c0781dd085d26fdf-mysql-1

docker psコマンドでコンテナ状況を見てみると、Adminrとmailhogのコンテナが確認できます。

今回の設定通りなら、以下のURLでアクセスができるはずです。

コンテナURL
WordPress環境http://localhost:59650
WordPressテスト環境http://localhost:59651
Adminerhttp://localhost:8080
MailHoghttp://localhost:8025
wp-envとdocker composeで立ち上げたコンテナのURL

WordPress環境

WordPress環境

WordPress環境にアクセスすると問題がなければサイトトップページが表示されます。

もちろん/wp-adminへアクセスするとログインページが表示されます。

項目
IDadmin
Passwordpassword
WordPressログインID/Pass

初期設定は上記のIDとパスワードでログインが行なえます。

Cocoonがインストールされている

.wp-env.jsonで指定したCocoonがインストールされています。

本来なら.wp-env.jsonthemesブロックで指定したテーマが有効化されるはずですがなぜかされていません。

理由は分かりませんが、立ち上げた時点で明示的に有効化したい場合は後述するwp-cliを使いましょう。

プラグイン一覧

こちらはプラグインページ。

ライフサイクルスクリプトで指定したように、デフォルトでは必ずインストールされているAkismetとHello Dollyが削除されています。

ライフサイクルスクリプトはどんなLinuxコマンドも実行できるので、立ち上げ段階から記事データを入れておきたいとかタイムゾーン設定、パーマリンク設定等を記述しておけばとても便利になります。

先程のテーマの有効化も、必ずこのテーマを使うぞ!と決まっているならシェルスクリプトに追記します。

# bin/after-start-scripts.sh

# npm run wp-env run cli -- wp theme activate <theme_slug>
# theme_slugはテーマの名前のようなもの
# Twenty-Twenty Fourならtwentytwentyfour
# 今回のCocoonの場合、本来はcocoon-masterだがmasterを指定する
# 以下はTwenty-Twenty Fourを明示的に有効化
npm run wp-env run cli -- wp theme activate twentytwentyfour

Adminerコンテナ

Adminerコンテナ

Adminerはlocalhost:8080でアクセスできます。

項目
サーバmysql
ユーザ名root
パスワードpassword
データベースwordpress
MySQLの接続情報

デフォルトでは以上の情報で接続可能、これはwp-envで立ち上げたWordPressのwp-config.phpに記述された情報で、wp-cliを使って確認することができます。

# ~/wp-env/<ハッシュ値>/<WordPressのバージョン>/wp-config.phpに記載されいてる情報
# <WordPressのバージョン>は今回ならlatest-ja

$ npm run wp-env run cli -- wp config get DB_HOST
mysql

$ npm run wp-env run cli -- wp config get DB_USER
root

$ npm run wp-env run cli -- wp config get DB_PASSWORD
password

$ npm run wp-env run cli -- wp config get DB_NAME
wordpress
Adminerの管理画面

無事ログインできました。

MailHogコンテナ

MailHog

MailHogはlocalhost:8025でアクセスできます。

メールがMailHogで正常に受信(WordPress側から送信)できるかテストします。

WP Mail SMTPのToolsページ

左側のメニューからWP Mail SMTP->ToolsにアクセスしSend Emailボタンをクリックします。

WP Mail SMTPからのテストメール

MailHog側でテストメールが受信できていればOK、これでメール送信を伴う機能のテストはMailHog経由で行なえます。

wp-env × Adminer × MailHogの弱点改善

以上で欲しい機能は満たせましたが、実は問題点がいくつかあります。

終了はwp-envとdocker composeを順番通り手動で行う必要がある

まずは終了時。

wp-envはコンテナが必要なくなった時、または.wp-env.jsonを書き換えてリスタートする時に一度明示的にコンテナを削除します。

その時同時にネットワークも削除しますが、AdminerやMailHogのコンテナがアクティブの場合この2つのコンテナもネットワークに接続されているため、先にwp-envのコンテナを終了/破棄/再起動するとネットワークが削除できずエラーが出ます。

# 以下はwp-env stopの例だがwp-env start --updateもwp-env destroyも同様の結果となる
$ npm run wp-env stop

> wp-env
> wp-env stop

✖ Error while running docker compose command.
Container 242ad077a237e5d5c0781dd085d26fdf-cli-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-cli-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-cli-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-cli-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-cli-1  Removed
Container 242ad077a237e5d5c0781dd085d26fdf-wordpress-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-wordpress-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1  Removed
Container 242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-wordpress-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-wordpress-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-wordpress-1  Removed
Container 242ad077a237e5d5c0781dd085d26fdf-mysql-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-mysql-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1  Removed
Container 242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1  Stopping
Container 242ad077a237e5d5c0781dd085d26fdf-mysql-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-mysql-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-mysql-1  Removed
Container 242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1  Stopped
Container 242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1  Removing
Container 242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1  Removed
Network 242ad077a237e5d5c0781dd085d26fdf_default  Removing
Network 242ad077a237e5d5c0781dd085d26fdf_default  Error
failed to remove network 242ad077a237e5d5c0781dd085d26fdf_default: Error response from daemon: error while removing network: network 242ad077a237e5d5c0781dd085d26fdf_default id e395e5150627852f03cb6b1849f83aeb98c9c4ce72774be3c733f36ba0ef9991 has active endpoints

最後のfailed to remove networkがそれで、ネットワークの削除に失敗しています。

$ docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED        STATUS        PORTS                                                                                  NAMES
8523fb34e763   adminer           "entrypoint.sh php -…"   13 hours ago   Up 13 hours   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                              wp-env-with-adminer-mailhog-adminer-1
5d3a69adbbef   mailhog/mailhog   "MailHog"                13 hours ago   Up 13 hours   0.0.0.0:1025->1025/tcp, :::1025->1025/tcp, 0.0.0.0:8025->8025/tcp, :::8025->8025/tcp   mailhog

wp-envのコンテナは全て削除されています。

$ docker network ls
NETWORK ID     NAME                                       DRIVER    SCOPE
e395e5150627   242ad077a237e5d5c0781dd085d26fdf_default   bridge    local

しかしこのようにnetworkはアクティブなままです。

これの何が問題かというと、wp-envのライフサイクルスクリプトにはafterStartと同じくafterDestroyが存在します。

つまりafterStartと同じノリでシェルスクリプトにdocker compose downを書いてafterDestroyで呼んでもwp-envがエラーで落ちてしまうのでafterDestroyが実行されずコンテナの削除ができません。

wp-env start

wp-envを実行してコンテナ/ネットワークが立ち上がってからAdminer/MailHogコンテナを追加しているので問題なし

wp-env stop/destroy/start –update

wp-envコンテナ/ネットワークを先に削除するが、まだAdminer/MailHogがネットワークに存在したままになるためエラーになる

これを解決する手段はいくつかありますが、重要な点は以下の順番を守ること。

  1. docker compose downコマンドでAdminerとMailHogコンテナを終了させる
  2. wp-envコマンドを実行する

この順番さえ守れればOK。

スマートな方法として、package.jsonにカスタムコマンドを設定することが考えられます。

{
  "scripts": {
    "wp-env": "wp-env",
    "env-start": "wp-env start",                                   //追記
    "env-stop": "docker compose down && wp-env stop",              //追記
    "env-restart": "docker compose down && wp-env start --update", //追記
    "env-rm": "docker compose down && wp-env destroy"              //追記
  },
  "devDependencies": {
    "@wordpress/env": "^9.2.0"
  }
}

今回はenv-stopという名前で定義してみました、このように明示的にdocker compose downを行ってからwp-env stopを順番に実行しています。

カスタムコマンド名は何でも良いんですが “wp-env”という名称は混乱するので避けた方が良いでしょう、他にも”server-stop”や”dev-stop”等が考えられます。

ちなみにnpm scripts内にスペース(例えばenv stop)を使うとコマンド実行時にnpm run "env stop"のように明示的にクオーテーションで囲う必要があり面倒なので避けた方がベター。

stopと同じようにenv-start、env-restart、env-rmを定義しています。

wp-env startはライフサイクルスクリプトを使わずに直接カスタムコマンドを作って使うこともできます、これはお好みの方でOK。

ライフサイクルスクリプトにはもう1つ、afterCleanも存在しますが僕は全く使わないので記述していません。

ただしafterCleanはコンテナとネットワークの削除を行わないので、docker compose donwを先に行う必要はありません。

複数wp-env環境が存在するとdestroyに失敗する

wp-envは1つ仮想環境を建てると合計5つのdocker imageを使用します。

# wp-env実行
$ npm run wp-env start

# docker image確認
$ docker image ls
REPOSITORY                                         TAG       IMAGE ID       CREATED        SIZE
1249c7a84e1c8b5a5dcf75e0841ed384_cli               latest    0eeceacf00f0   22 hours ago   457MB
1249c7a84e1c8b5a5dcf75e0841ed384_tests-cli         latest    0eeceacf00f0   22 hours ago   457MB
1249c7a84e1c8b5a5dcf75e0841ed384_tests-wordpress   latest    e906d2d1a247   8 days ago     815MB
1249c7a84e1c8b5a5dcf75e0841ed384_wordpress         latest    e906d2d1a247   8 days ago     815MB
mariadb                                            latest    2b54778e06a3   2 months ago   404MB

ではwp-envを2つ使用、例えばプラグインAとプラグインBの開発を行っており、それぞれの環境で利用するとどうでしょう。

# 別プラグインに移動
$ cd /path/to/plugin_b/

# wp-env実行
$ npm run wp-env start

# dockerコンテナ確認
$ docker ps
CONTAINER ID   IMAGE                                              COMMAND                  CREATED          STATUS          PORTS                                         NAMES
6b3e24ebfd76   242ad077a237e5d5c0781dd085d26fdf_tests-cli         "docker-entrypoint.s…"   33 seconds ago   Up 31 seconds                                                 242ad077a237e5d5c0781dd085d26fdf-tests-cli-1
0938b959c846   242ad077a237e5d5c0781dd085d26fdf_cli               "docker-entrypoint.s…"   33 seconds ago   Up 32 seconds                                                 242ad077a237e5d5c0781dd085d26fdf-cli-1
d5ee5778eae9   242ad077a237e5d5c0781dd085d26fdf_tests-wordpress   "docker-entrypoint.s…"   34 seconds ago   Up 32 seconds   0.0.0.0:59651->80/tcp, :::59651->80/tcp       242ad077a237e5d5c0781dd085d26fdf-tests-wordpress-1
8bd9b0e50310   242ad077a237e5d5c0781dd085d26fdf_wordpress         "docker-entrypoint.s…"   34 seconds ago   Up 32 seconds   0.0.0.0:59650->80/tcp, :::59650->80/tcp       242ad077a237e5d5c0781dd085d26fdf-wordpress-1
ec2dd15e0105   mariadb                                            "docker-entrypoint.s…"   34 seconds ago   Up 32 seconds   0.0.0.0:32805->3306/tcp, :::32805->3306/tcp   242ad077a237e5d5c0781dd085d26fdf-tests-mysql-1
341d26832857   mariadb                                            "docker-entrypoint.s…"   57 seconds ago   Up 56 seconds   0.0.0.0:32804->3306/tcp, :::32804->3306/tcp   242ad077a237e5d5c0781dd085d26fdf-mysql-1
0e29b54ca37e   1249c7a84e1c8b5a5dcf75e0841ed384_tests-cli         "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes                                                  1249c7a84e1c8b5a5dcf75e0841ed384-tests-cli-1
6ced35965caa   1249c7a84e1c8b5a5dcf75e0841ed384_cli               "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes                                                  1249c7a84e1c8b5a5dcf75e0841ed384-cli-1
7a519859bb06   1249c7a84e1c8b5a5dcf75e0841ed384_tests-wordpress   "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes    0.0.0.0:49651->80/tcp, :::49651->80/tcp       1249c7a84e1c8b5a5dcf75e0841ed384-tests-wordpress-1
0e4e4be07091   1249c7a84e1c8b5a5dcf75e0841ed384_wordpress         "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes    0.0.0.0:49650->80/tcp, :::49650->80/tcp       1249c7a84e1c8b5a5dcf75e0841ed384-wordpress-1
01f0f2fb18a1   mariadb                                            "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes    0.0.0.0:32803->3306/tcp, :::32803->3306/tcp   1249c7a84e1c8b5a5dcf75e0841ed384-tests-mysql-1
55d74d4c7325   mariadb                                            "docker-entrypoint.s…"   7 minutes ago    Up 7 minutes    0.0.0.0:32802->3306/tcp, :::32802->3306/tcp   1249c7a84e1c8b5a5dcf75e0841ed384-mysql-1

この通り、242ad077a237e5d5c0781dd085d26fdf1249c7a84e1c8b5a5dcf75e0841ed384の2つの環境が存在していることが確認できます。

# docker image確認
$ docker image ls
REPOSITORY                                         TAG       IMAGE ID       CREATED        SIZE
1249c7a84e1c8b5a5dcf75e0841ed384_cli               latest    0eeceacf00f0   22 hours ago   457MB
1249c7a84e1c8b5a5dcf75e0841ed384_tests-cli         latest    0eeceacf00f0   22 hours ago   457MB
242ad077a237e5d5c0781dd085d26fdf_cli               latest    0eeceacf00f0   22 hours ago   457MB
242ad077a237e5d5c0781dd085d26fdf_tests-cli         latest    0eeceacf00f0   22 hours ago   457MB
242ad077a237e5d5c0781dd085d26fdf_wordpress         latest    e906d2d1a247   8 days ago     815MB
1249c7a84e1c8b5a5dcf75e0841ed384_tests-wordpress   latest    e906d2d1a247   8 days ago     815MB
1249c7a84e1c8b5a5dcf75e0841ed384_wordpress         latest    e906d2d1a247   8 days ago     815MB
242ad077a237e5d5c0781dd085d26fdf_tests-wordpress   latest    e906d2d1a247   8 days ago     815MB
mariadb                                            latest    2b54778e06a3   2 months ago   404MB

しかしdocker imageを確認するとmariadbは1つしかありません。

wp-env destroyはdocker imageの削除も行うので、つまり2つ以上のwp-env環境が存在している場合、wp-env destroyは100%失敗します。

コンテナ使用中はimageを削除できないためです。

何が言いたいかというと、wp-envのライフサイクルスクリプトにおけるafterDestroyは100%実行されることが保証できないということです。

あまりafterDestroyを多用する場面は思いつかないとはいえ、提供されている機能なのに利用できない場面があるというのは安心して使用できません。

そのため、基本的にはafterDestroyは使わずにnpm scripts内で完結するほうが現状好ましいといえます。

wp-envにAdminerとMailHogを組み合わせる開発環境 まとめ

wp-envは非常に簡単なコマンドで開発環境の構築が行なえ、更に少し工夫することでAdminerやMailHogといった非常に便利なコンテナを連携させることができます。

特に複数人で開発を行っているなら、.wp-env.jsoncompose.yamlをコミットしてGitHubにプッシュするだけで全員が同じ環境を共有できます。

まだ正直wp-env自体に荒削りな部分がある点は否めませんが、これからWordPress開発を行うなら必ず導入したい必須ツールです。

WordPress&PHPUnitのモダンユニットテスト環境をwp-envを使って構築する
WordPressはPHPUnit関連に限らず良くも悪くも歴史あるプロジェクトなのでレガシーな情報にぶち当たることが非常に多いです。 特にユニットテストに関しては正直関心も低いのか情報が多いとは言えません。 まして公式の情報も充実していると...
SynologyのNAS上でDockerを動かしてPython×seleniumのスクレイピングを定期実行する
seleniumを使ったスクレイピングは非常に便利ですが、毎日定期実行するとなると必要になるのは実行環境。 手元のパソコンで動かしても良いんですが、やはりパソコンは電源を切ることもあるしあまりローカルの環境汚染もしたくない。 そこで思い立っ...
]]>
https://www.braveryk7.com/wp-env-with-adminer-mailhog/feed/ 0
WordPress&PHPUnitのモダンユニットテスト環境をwp-envを使って構築する https://www.braveryk7.com/modern-wordpress-phpunit-use-wp-env/ https://www.braveryk7.com/modern-wordpress-phpunit-use-wp-env/#respond Tue, 30 May 2023 09:12:15 +0000 https://www.braveryk7.com/?p=8727 WordPressはPHPUnit関連に限らず良くも悪くも歴史あるプロジェクトなのでレガシーな情報にぶち当たることが非常に多いです。

特にユニットテストに関しては正直関心も低いのか情報が多いとは言えません。

まして公式の情報も充実しているとは言いづらく非常に分かりづらいので、執筆時時点で最もモダンなwp-envを使ったPHPUnitの実行環境整備を記します。

WordPress&PHPUnit&wp-envの要点

この章でコードと要点だけを網羅し、後半で各種解説を行います。

GitHubリポジトリ

当記事で解説している環境のリポジトリは以下をご覧ください。

git cloneしてreadme.mdに記載の通りにコマンドを叩けば実際に稼働させることができます。

GitHub Repository: braveryk7/WordPress-PHPUnit-use-wp-env-sample

要点

  • npmの@wordpress/envパッケージを使ってwp-env環境を使用する
  • composerのPHPUnitとyoast/PHPUnit-Polyfillsとyoast/wp-test-utilsパッケージを使用する
  • そのためnpmとcomposer両方の環境整備が必須
  • wp-envは内部でdockerを使用しているためdocker(docker-compose)が必須

以下は「WordPress PHPUnit」等で検索した時に得られる情報で誤ってるもの、現在は必要ないものの要点です。

  • composerのwp-cliパッケージはPHPUnit実行に関しては必要無い
  • wp scaffold plugin-testsコマンドも必要ない
  • 上記のコマンドで出力されるbin/install-wp-tests.shも必要ない
  • wp-env環境でDockerを使用するが、docker-compose.ymlを用意する必要はない(wp-envが動的生成する)

これらの情報が決して間違っている訳ではないですが、既にレガシーとなってしまった情報やもっと簡単に実行できる方法があります。

またこれらの情報も使い方によってはまだまだ有効な方法です。

環境

僕の環境構築時点での各種バージョンです。

$ node -v
v18.15.0

$ npm -v
9.5.0

$ composer -v
Composer version 2.5.3 2023-02-10 13:23:52

$ docker -v
Docker version 20.10.22, build 3a2c30b

$ docker-compose -v
Docker Compose version v2.15.1
# composer.json
{
    "require-dev": {
        "yoast/phpunit-polyfills": "^1.0",
        "yoast/wp-test-utils": "^1.1",
        "phpunit/phpunit": "^9.6"
    }
}
# package.json
{
  "devDependencies": {
    "@wordpress/env": "^8.0.0"
  }
}

特に@wordpress/envはバージョンによってかなり違いがあり、例えばv5系辺りと執筆時時点で最新のv8系ではコマンドも違ってくるので注意してください。

手順

それではテスト実行の準備をしていきます。

ファイル構成

最初にファイル構成を確認しておきます。

/
├── .wp-env.json
├── composer.json
├── composer.lock
├── /node_modules
│   └── /.bin
│       └── wp-env
├── example-plugin.php
├── package-lock.json
├── package.json
├── phpunit.xml
├── /tests
│   ├── bootstrap.php
│   └── class-example-class-test.php
└── /vendor
    └── /bin
        └── phpunit

パッケージインストール

まずはパッケージ関連のインストール。

# プロジェクトルートに移動
$ cd your-project-root-directory

# @wordpress/envパッケージ導入
$ npm i -D @wordpress/env

# PHPUnit本体、yoastのパッケージ導入
composer require --dev phpunit/phpunit yoast/phpunit-polyfills yoast/wp-test-utils

# testsディレクトリ作成
mkdir tests

# 必要なファイルの作成
# bootstrap.phpはテスト実行前にロードされるファイル、WordPressの設定等を読み込みする
# phpunit.xmlはPHPUnitの設定ファイル
# .wp-env.jsonはwp-envの設定ファイル、頭の.を忘れないこと
touch tests/bootstrap.php phpunit.xml .wp-env.json example-plugin.php

コマンドの設定

実際にテストを行うには以下のようなコマンドを使います。

$ node_modules/.bin/wp-env run --env-cwd='wp-content/plugins/your-project-root-directory' tests-cli vendor/bin/phpunit -c phpunit.xml --testdox

これを毎度打つのは面倒なのでpackage.jsonのscriptsに登録して使えるようにします。

"scripts": {
  "wp-env": "wp-env",
  "test:env": "wp-env run --env-cwd='wp-content/plugins/your-project-root-directory' tests-cli vendor/bin/phpunit -c phpunit.xml --testdox --verbose"
},

これでnpm run test:envでテストを実行できるようになりました。

--env-cwdオプションは多分カレントワーキングディレクトリ(Current Working Directory)の略だと思うんですが、これを指定することでカレントディレクトリが指定したディレクトリとなってpath指定が楽になります。

ついでにwp-envも設定しておきましょう、node_modules/.bin/wp-envと打たなくても良くなります。

bootstrap.phpの記述

<?php

use Yoast\WPTestUtils\WPIntegration;

require_once dirname( __DIR__ ) . '/vendor/yoast/wp-test-utils/src/WPIntegration/bootstrap-functions.php';

$_tests_dir = WPIntegration\get_path_to_wp_test_dir();

if ( ! $_tests_dir ) {
	exit( PHP_EOL . "\033[41mWP_TESTS_DIR environment variable is not defined.\033[0m" . PHP_EOL . PHP_EOL );
}

require_once $_tests_dir . 'includes/functions.php';

/**
 * Manually load the Example Plugin.
 */
function _manually_load_plugin() {
	// example-plugin.phpは自分のプロジェクトのルートファイル、プラグインなら通常プラグイン名のファイルを指定
	require dirname( dirname( __FILE__ ) ) . '/example-plugin.php';
}
tests_add_filter( 'plugins_loaded', '_manually_load_plugin' );

WPIntegration\bootstrap_it();

phpunit.xmlの記述

<phpunit bootstrap="tests/bootstrap.php" colors="true">
    <testsuites>
        <testsuite name="Plugin Tests">
            <!--
                WordPressコーディング規約で定められたスネークケースのファイル名でテストを実行できるようにsuffixを指定
                PHPUnit標準のアッパーキャメルケースでテストファイルを作成する場合suffixは削除する
            -->
            <directory suffix="-test.php">tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

.wp-env.jsonの記述

  • 必ずカレントディレクトリをアクティベートするようにする、今回はプラグインなので配列に自分自身を表す"."を指定
  • portとtestsPortはそれぞれデフォルトが8888と8889、デフォルトで良ければ削除
{
	"config": {},
	"core": null,
	"env": {},
	"mappings": {},
	"phpVersion": null,
	"plugins": [
        	"."
	],
	"port": 40010,
	"testsPort": 40011,
	"themes": []
}

プラグインファイル作成

とりあえず動けばOKの簡単なプラグインを制作します。

<?php
/**
 * Plugin Name: Example Plugin
 */

class Example_Plugin {
    public function set_my_option(): bool {
        return update_option( 'my_option', 'my_value' );
    }
}

このプラグインはset_my_optionメソッドでWordPressのupdate_optionを使ってmy_optionというカラムを登録するという全く実用性がないプラグインです。

しかもインスタンス化も何もしていないのでアクティベートされただけでは本当に何もしない役に立たないプラグインです。

テストファイル作成

とりあえずまずは適当なテストを1つだけ書いて動作チェックを行います。

# テストファイル作成
$ touch tests/class-example-class-test.php
<?php

// composerでインストールしたYoastのTestCaseを使う
use Yoast\WPTestUtils\WPIntegration\TestCase;

class Example_Class_Test extends TestCase {
    public function set_up(): void {
        // 親のset_upメソッドをコール
        // Yoastのset_upメソッドはWP_UnitTestCaseのsetUp()のラッパー
        parent::set_up();
    }

    // 通常のPHPUnitと同じく、メソッド名はtest_から始める
    public function test_true_equal_true() {
        // true === trueのテストなので100%成功するテスト
        $this->assertTrue( true );
    }
}

wp-env start

必要なファイルを作成できたのでwp-envを実行します。

 npm run wp-env start

> wp-env
> wp-env start

WordPress development site started at http://localhost:40010
WordPress test site started at http://localhost:40011
MySQL is listening on port 53529
MySQL for automated testing is listening on port 53714

 ✔ Done! (in 62s 580ms)

問題なくDone!が出れば仮想環境ができました。

実際にURLにアクセスするとWordPressが開くと思います、/wp-admin/にアクセスするともちろんログインも可能。

wp-envのデフォルトユーザーはadmin、パスワードはpasswordでログインできます。

テスト実行

$ npm run test:env

> example-tests@1.0.0 test:env
> wp-env run --env-cwd='wp-content/plugins/example-tests' tests-cli vendor/bin/phpunit -c phpunit.xml --testdox

ℹ Starting 'vendor/bin/phpunit -c phpunit.xml --testdox' on the tests-cli container. 

Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use --group ajax.
Not running ms-files tests. To execute these, use --group ms-files.
Not running external-http tests. To execute these, use --group external-http.
PHPUnit 9.6.8 by Sebastian Bergmann and contributors.

Example_Class_
 ✔ True equal true

Time: 00:00.023, Memory: 36.50 MB

OK (1 test, 1 assertion)

無事テストが成功しましたね!

PHPUnitでWordPressの関数を使ってテスト

それでは今度は通常のPHPUnit単体では不可能なWordPressの関数を使ったテストを実施します。

先程のテストファイルを編集します。

<?php

use Yoast\WPTestUtils\WPIntegration\TestCase;

class Example_Class_Test extends TestCase {
    private $instance;

    public function set_up(): void {
        parent::set_up();

        // テスト対象のクラスをインスタンス化して$this->instanceに格納
        $this->instance = new Example_Plugin();
    }

    public function test_set_my_option_before_execute() {
        // プラグイン実行前は当然my_optionカラムが存在しないのでfalseが返ってくることを確認
        $this->assertFalse( get_option( 'my_option' ) );
    }

    public function test_set_my_option_after_execute() {
        // set_my_optionメソッドを実行
        $this->instance->set_my_option();

        // プラグインが実行されたのでmy_optionカラムの値が'my_value'と同一であることを確認
        $this->assertSame( 'my_value', get_option( 'my_option' ) );
    }
}

このテストではWordPressのget_option関数を使用しているため、PHPUnit単体環境では実施できずWordPressの実行環境が必要になります。

そのためこのテストがうまく行けばきちんとWordPress環境下のテストが実施できているということになります。

それでは実行してみましょう!

$ npm run test:env

> example-tests@1.0.0 test:env
> wp-env run --env-cwd='wp-content/plugins/example-tests' tests-cli vendor/bin/phpunit -c phpunit.xml --testdox

ℹ Starting 'vendor/bin/phpunit -c phpunit.xml --testdox' on the tests-cli container. 

Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use --group ajax.
Not running ms-files tests. To execute these, use --group ms-files.
Not running external-http tests. To execute these, use --group external-http.
PHPUnit 9.6.8 by Sebastian Bergmann and contributors.

Example_Class_
 ✔ Set my option before execute
 ✔ Set my option after execute

Time: 00:00.021, Memory: 36.50 MB

OK (2 tests, 3 assertions)

どちらのテストも通りましたね!

ちなみにテスト環境は実施した後毎回初期化されるので、次回実施時もtest_set_my_option_before_executeメソッド(プラグイン実行前は値が存在しないことを確認するテスト)はきちんとassertFalsetrueになります。

WordPress&PHPUnit&wp-envの解説

これ以降は詳細な解説です。

各種パッケージ

まずは各種パッケージについて。

@wordpress/wp-env

WordPress公式のパッケージで、リポジトリはWordPress/gutenbergです。

詳しい解説はブロックエディターハンドブックで見れます。

コマンドさえ覚えてしまえば結構柔軟に環境構築できるので、Local(旧Local by flywheel)等を使っている方でも移行の価値あり。

ただしデフォルトではphpMyAdminやAdminerコンテナが無いためプラグインで対応する等が必要ですし、MailHog機能も無いのでその辺の機能周りが必要なプロジェクトの場合別途対応する必要があります。

wp-envにAdminer+MailHogを組み合わせる方法を書きました、ぜひご覧ください。

yoast/PHPUnit-Polyfills

yoast/PHPUnit-Polyfillsパッケージはcomposerで提供されるポリフィルです。

察しの言い方はご存知かもしれませんがあのYoast SEOというメジャープラグインを制作しているyoastのパッケージです。

主にバージョン差異を埋めるために必要なのがポリフィルですが、2021年の公式の記事にで今後はPHPUnit-Polyfillsが必須であると記載があります。

最初僕がWordPress環境下のPHPUnit実行について調べ始めた時は日本語情報がほとんど無い中以下の記事でPHPUnit-Polyfillsについて知って大変助かりました。

yoast/wp-test-utils

こちらも同じくyoastが制作するWordPressテスト用のユーティリティパッケージです。

bootstrap.phpで実行する便利な関数や、WP_UnitTestCaseを継承するTestCaseを使用したりと無くても動くけどあればめちゃくちゃ便利なパッケージ。

今回は取り扱いませんが他のテストパッケージとの連携だったり便利なモックの提供だったりと便利機能がたくさんあるのでぜひyoast/wp-test-utilsのリポジトリもチェックしてみてください。

設定ファイル

次は設定ファイルをチェックしていきます。

tests/bootstrap.php

<?php

// yoast/wp-test-utilsのWPIntegrationを使用
use Yoast\WPTestUtils\WPIntegration;

// yoast/wp-test-utilsのWPIntegrationのbootstrap_it()を使用ためファイルを読み込む
require_once dirname( __DIR__ ) . '/vendor/yoast/wp-test-utils/src/WPIntegration/bootstrap-functions.php';

/**
 * get_path_to_wp-test_dir関数はまずwp-envの環境変数WP_TESTS_DIRをチェック
 * 通常npm run wp-env start時にWP_TESTS_DIRが設定されるのでこの値を$_tests_dirに格納
 * 環境変数を上書きしていなければWP_TESTS_DIR=/wordpress-phpunit
 * なおテスト環境の環境変数は以下のコマンドで確認可能
 * 
 * $ npm run wp-env run tests-cli -- printenv
 * 
 * もしWP_TESTS_DIRが設定されていなければWP_DEVELOP_DIRをチェック
 * デフォルトではWP_DEVELOP_DIRは存在しないので必要な場合はWP_DEVELOP_DIRを設定すればこちらでも対応できる
 * 
 * WP_TESTS_DIRもWP_DEVELOP_DIRも設定されていなければWordPressコアのWP_CONTENT_DIRとABSPATHを使用して
 * プラグインディレクトリへのアクセスを試みる
 * 
 * 実装はリポジトリをチェック
 * https://github.com/Yoast/wp-test-utils/blob/12ad78c4daca79342d9f6a0056c560e3f48cf0dc/src/WPIntegration/bootstrap-functions.php#L37
 */
$_tests_dir = WPIntegration\get_path_to_wp_test_dir();

// $_tests_dirが設定されていなければエラーを出力して終了
if ( ! $_tests_dir ) {
	exit( PHP_EOL . "\033[41mWP_TESTS_DIR environment variable is not defined.\033[0m" . PHP_EOL . PHP_EOL );
}

/**
 * ファイルの実体は以下で確認可能
 * 
 * $ npm run wp-env run tests-cli -- cat /wordpress-phpunit/includes/functions.php
 * 
 * この後のtests_add_filter関数を利用するのに必要
 */
require_once $_tests_dir . 'includes/functions.php';

/**
 * プラグインをWordPressにフックするための関数
 * 中身はadd_filterのラッパー
 */
function _manually_load_plugin() {
	require dirname( dirname( __FILE__ ) ) . '/example-plugin.php';
}
tests_add_filter( 'plugins_loaded', '_manually_load_plugin' );

/**
 * yoast/wp-test-utilsの関数を実行
 * 
 * 内部でyoast/PHPUnit-Polyfillsのphpunitpolyfills-autoload.phpを呼び出している
 * また、wp-envのWP_TESTS_DIR配下のbootstrap.phpの呼び出しも行っている。
 * 実装は以下のコマンドで確認可能
 * 
 * $ npm run wp-env run tests-cli -- cat /wordpress-phpunit/includes/bootstrap.php
 */
WPIntegration\bootstrap_it();

少し長くなってしまいましたが大体こんな手順で処理されています。

yoast/wp-test-utilsを使わない場合yoast/PHPUnit-Polyfillsのオートローダーを書く必要があるんですが、yoast/wp-test-utilsでうまい具合に調整してくれてるので読み込んで関数実行で行くようになっています。

ちなみに僕はファイルの末尾にこんな定数を追加で宣言してます。

define( 'ROOT_DIR', dirname( dirname( __FILE__ ) ) );

こんな感じでbootstrap内で定数を設定しておくと、testsディレクトリ配下の全てのファイルで定数が使い回せるのでプラグインのルートディレクトリを定数化しておくと結構便利なんですよね。

他にもテストでよく使いたい値があれば設定できるので「これ何回も書いてるな」という方は定義しておくと良さそうです。

VSCode等のIDEを使っていると、上述のtests_add_filter関数やWP_UnitTestCaseのメソッドが定義されていないと怒られることがあります。

そんな時はcomposerでphp-stubs/wordpress-tests-stubsパッケージをインストールしておきましょう。

各種メソッドの定義が書かれているのでIDEの未定義エラーを一掃することができます。

$ composer require --dev php-stubs/wordpress-tests-stubs

パッケージインストール後ウインドウ再起動の必要があるので一度閉じて開き直すか、cmd+shift+pでコマンドパレットを開いて>Developer: Reload Windowを実行すればエラーが消えます。

phpunit.xml

<phpunit bootstrap="tests/bootstrap.php" colors="true">
    <testsuites>
        <testsuite name="Plugin Tests">
            <directory suffix="-test.php">tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

あまり説明することもないですが、bootstrapの指定と必要であればsuffixの指定を忘れないようにしてください。

実際にはテストが膨大になってきたらtestsuiteを複数定義していい感じにテストを実行できるようにしたり、特定のテストを除外したりと運用が長くなればなるほどお世話になる回数が増えるファイルです。

.wp-env.json

{
	"config": {},
	"core": null,
	"env": {},
	"mappings": {},
	"phpVersion": null,
	"plugins": [
        "."
	],
	"port": 40010,
	"testsPort": 40011,
	"themes": []
}

wp-envの設定ファイルですが、wp-envのバージョンアップに伴って書き方がちょこちょこ変わります。

もし依存するプラグインやテーマがあればここに書いておきましょう。

ちなみに僕はこんな感じのほぼブランク状態の.wp-env.jsonでGitHub管理して、実際には.wp-env.override.jsonを.gitignoreに書いて使っています。

.wp-env.override.jsonは.wp-env.jsonより優先されるため、手元の環境を柔軟に変更できます。

仮にプロジェクトがフォークされた場合、「この設定だけは絶対に使って!」という設定だけを書いて後は自分で.wp-env.override.jsonで設定するというような方式が良さそうですね。

テストファイル

テストファイルも簡単に解説します。

<?php

use Yoast\WPTestUtils\WPIntegration\TestCase;

class Example_Class_Test extends TestCase {
    private $instance;

    public function set_up(): void {
        parent::set_up();

        // テスト対象のクラスをインスタンス化して$this->instanceに格納
        $this->instance = new Example_Plugin();
    }

    public function test_set_my_option_before_execute() {
        // プラグイン実行前は当然my_optionカラムが存在しないのでfalseが返ってくることを確認
        $this->assertFalse( get_option( 'my_option' ) );
    }

    public function test_set_my_option_after_execute() {
        // set_my_optionメソッドを実行
        $this->instance->set_my_option();

        // プラグインが実行されたのでmy_optionカラムの値が'my_value'と同一であることを確認
        $this->assertSame( 'my_value', get_option( 'my_option' ) );
    }
}

通常PHPUnitではアッパーキャメルケースが採用されているので、本来setUpなんですがWordPressコーディング規約ではメソッド名はスネークケースが採用されているのでそれに習ってスネークケースで記述しています。

親のparent::set_up()で指定しているyoastのTestCaseもスネークケースなので、コーディング規約を導入しないのは現代プロジェクトはありえないですし統一しておきましょう。

  • assertSame
  • assertTrue
  • assertFalse

この辺のお馴染みのメソッドはもちろん、WordPressのメソッドも使用できます。

  • go_to
  • factory

WP_UnitTestCaseのアサーションやユーティリティメソッドはwordpress-develop/tests/phpunit/includesで見ることができます。

例えばgo_toメソッドはabstract-testcase.phpに実装されています。

WordPress&PHPUnitのモダンユニットテスト環境をwp-envを使って構築する まとめ

これらの情報は正直一つにまとまっているとは言いづらく、本来なら公式リファレンスできちんと記述しておいてほしい情報ばかりでした。

WordPressのプロジェクトはまだまだテストやコーディング規約の採用と言ったモダン開発を採用していないプロジェクトもかなり見かけるんですが、採用すると本当に便利で余計なミスや思考が減るのでぜひ採用して楽しいデベロッパーライフを送りましょう!

分からない点、レガシーな点、その他「もっとこういう方法あるよ!」という声はぜひコメントで頂けると僕も勉強になるのでどんどんお寄せください!

]]>
https://www.braveryk7.com/modern-wordpress-phpunit-use-wp-env/feed/ 0
#買ってよかったもの2022 Amazonで年間120万使って満足したおすすめ36選 https://www.braveryk7.com/best-buy-2022/ https://www.braveryk7.com/best-buy-2022/#respond Fri, 30 Dec 2022 09:33:26 +0000 https://www.braveryk7.com/?p=8241

2022年も年の瀬、毎年恒例の買ってよかったものを一挙にご紹介します!

2021年はマジで忙しすぎて全く書けませんでした、その分今年は気合を入れて書きますよー!

一部Amazon以外の楽天やヨドバシドットコム、その他通販サイトや実店舗で購入したものも含まれていますが全て自信を持っておすすめできるものです。

基本的に2022年に購入したものですが、昨年書けなかったので一部だけ2021年に購入したものもご紹介しております。

買ってよかったもの2022 ガジェット編

まずは定番のガジェットから!

Apple Mac mini MGNR3J/A

通称M1 Mac mini、個人的2022年ベストバイの一つです。

6月に円安の影響で値上げが発表された直後に購入し、値上げ直前の駆け込み購入でした。

M1チップが発売された直後はプログラミング関係のツール(DockerやVSCode等)がM1チップでうまく動かないと聞きしばらく買わずにいたんですが、このタイミングでえいっ!と購入。

結果的にさすがに発売からしばらく経っているので不具合も起きず、開発環境が劇的に改善されました!

オーディオテクニカ AT2020USB+

従業員とのオンライン会議やウェブセミナーをやり始めた関係で、もっと音質を良くしたいなと思って購入したUSBマイク。

僕が音響機器においては信頼をおいているaudio-technica、相変わらず良い仕事してますね・・・!

音質はもちろん、存在感があるガジェット機器なのでシンプルでかっこいいフォルムがお気に入りです。

created by Rinker
Audio Technica(オーディオテクニカ)

Donner マイクスタンド

今まで音楽で使うブームスタンド、ギタリストやベーシストが良く使っている横からぶーんと伸びるマイクスタンドを使っていました。

そろそろデスク専用のマイクスタンドがほしいなと思って購入、マイク同様かっこいいフォルムが気に入っています。

軽い力でマイクを上下できるので、使わない時は上に跳ね上げて邪魔にならないのもGood!

執筆時時点で僕が購入した商品がAmazonから消えていたので価格も見た目もそっくりなのを2種類紹介しております。

SHOKZ OpenMove 骨伝導イヤホン

2年ほど前に肌関連の病気が発覚して、イヤホン全般がほぼ使えなくなってしまいました。

で、ふと思い出して買ったのがこの骨伝導イヤホン。

耳をふさがないので大音量じゃなければ周囲の音を聞き取れるので子どもを見ながらの会議でも問題無し。

音質はカナル型イヤホンに比べれば全然ですが、使えない身からするとめちゃくちゃありがたいです。

端子がType-CなのもGood!!

僕らが子どもの頃出ていた骨伝導イヤホンってやたら高いのにスカスカの音でしたが、時代は変わりましたね!

レーザー距離計 ZAMO3

無くても別に良いけどあるとマジで便利なレーザー距離計。

機器の先端から赤外線が出て、15cm以上最長20mの距離を正確に測定してくれます。

「このちょっとした隙間になにか置きたいけどサイズオーバー大丈夫かな?」という心配が0になります。

本体の長さ10.5cm+レーザーの距離が表示されるので、測定したい部分に本体のお尻部分をぴったりつけて置くだけの楽ちん仕様。

機器の特性上、光を乱反射するような素材相手だとレーザーが正確に返って来ないため距離が測定できません。

それとレーザーが超強力なので絶対に子どもに触らせちゃダメです!直接見たら普通に目が眩みます・・・!

ドクターエア 3Dアイマジック

無いと困るレベルで愛用しているのがこのアイマジック。

1日中ディスプレイとにらめっこ、そうじゃなくてもスマホとにらめっこの現代人の目の疲れはハンパじゃないです。

1日の終わりに目の疲れを取って、ついでにちょっと眠くなってくるのでいい睡眠導入剤にもなっていますね笑。

現代社会は油断すると常にデジタルデバイスを相手にすることになるので、意識的にリフレッシュタイムを設けることは本当に必須です。

Fire HD10 キッズモデル

どうやら学習用教材もあるらしいぞ!?と購入したFire HD10キッズモデル。

当初の親の目論見は外れて遊び系アプリを多く遊んではいますが、1日30分までと決めてそれ以上はロックがかかって使えなくなる設定をしているので今から時間をちゃんと守る意識を持ってもらうにはとても良い買い物でした。

事実Fire HD10を買い与えてから、Fire HD10が関係無い遊びでも「じゃあ時計が○○分になったら辞めようね!」という会話もちゃんと聞いてくれます。

プロファイル切り替えができるのでいざと慣れば大人も普通のタブレットとして使用できる点もいいですね、壊れない限りかなり長い期間使えそうです。

液晶保護フィルムは絶対に買っておきましょう、子どもが扱うものなのでちゃんと保護しておくべきです。

created by Rinker
Seltureone

フォームローラー

いわゆる筋膜剥がし的なフォームローラー。

「いやストレッチで十分だろ」と思ってたんですが、こいつマジですごいヤツです。

特にデスクワーカーで首や肩、背中、腰回りが凝ってしんどい人は秒で買った方が良いです、1,000円台で身体背面のガチガチが治るの本当におすすめ。

最初は「本当にこんなんに上半身の全体重掛けて大丈夫なんか・・・?」と半信半疑でしたが、余裕で耐えてくれるのでガンガン使ってます。

買ってよかったもの2022 日用品編

主にメインとなった日用品。

最近はとにかく生活の質向上ができるものを目ざとく探しています!

コマンダンテ C40 MK4 コーヒーミル

2022年ベストバイ候補の一つがコマンダンテのミル。

ちょっと前までコーヒーが飲めなかった僕ですが、どうやらそれは苦味じゃなくて雑味がダメだったようです。

良い豆を良いミルを使って良い淹れ方をしたコーヒーはナチュラルに美味しい!

今は毎日コーヒーを飲む生活になったのも、奮発してコマンダンテを導入したおかげです。

網目が細かい茶こし

コマンダンテで挽いた豆を更に細かく篩うための茶こし。

かなり目が細かく、これを1回通すかどうかで味がかなり変わります。

素人の僕でも違いが分かるので、コーヒー好きな方には本当におすすめ!

雑味を減らすためのひと手間ですが、無いと「アレ・・・」と思うぐらい違うので今のコーヒーに満足していない方はぜひ試してみてください!

アイメディアのベランダ用サンダル

ベランダ用のサンダル、日光で縮んでしまうので色々探して見つけたのがこれ。

Amazonでも高評価、室外用なので雨が降っても穴が空いていて水が貯まらない点はベランダ用に最適です。

EVAという素材でできているんですが、低温でも固くなりにくく水や紫外線にも強く軽量で環境にも優しいといういいとこ取り!

安いベランダ用サンダルって、今の時代の強すぎる直射日光で溶けてベタベタしちゃうんですがこいつはその心配もありません。

冬用ルームシューズ

乾燥した部屋で過ごしているとすぐ喉を痛めて風邪を引いてしまうのでエアコンを極力使いたくないんですが、特に末端冷え性な僕は冬がマジで辛いです。

そんな僕が冬を快適に過ごせるようになったのはこのルームシューズを買ったおかげです。

まだ買って1ヶ月程度ですが、問答無用で今年のベストバイ候補です。

靴を買う時大体28~30cmの間で買うんですが、ルームシューズってほとんどそのサイズが無い中これは30cmまであってストレス無く履ける点がめちゃくちゃ気に入っています。

冬用ルームシューズ

次が使いやすいゴミ袋

ごみ箱の中に放り込んでおけば、ごみ捨ての度に移動すること無くごみ袋が取り出せる優れもの。

ごみ捨てのタイミングでごみ袋を回収→ついでに取り出してごみ袋をかぶせておしまいとルーティン化できた神アイテムです。

大きいサイズのごみ箱には2019年に紹介したダンボール入りごみ袋を愛用していますが、小さいサイズのごみ箱には全部この繋がってるタイプのごみ袋が入っています。

サイズも色々あるので、ごみ箱にあったサイズを放り込んでおくだけで別途収納が必要無いのがめちゃくちゃ嬉しいですね!

マイクロプレインのおろし金

ちょっとお高めだけどおろしやすいおろし金。

普通のおろし金と違って細長いので、菜箸なんかと一緒に収納できる点がめちゃくちゃ気に入ってます。

それと刃の方向が一定方向なので、先から持ち手側にスポンジをスライドして洗えます。

衛生的で本当に神!

いわゆる箱型のおろし金、幅が広くて地味に収納に困る上におろす部分が360度刃なのでスポンジで洗いづらくて本当に不満だったのが一気に解決しました。

ちなみに食洗機もOK、きみ天才的だね。

ニトリのワンカップティーマグ

一人分のお茶を淹れたい時に重宝しているのがこのワンカップティーマグ。

網の中に茶葉を入れてコップにセット、お湯を注いで蓋をしてちょっと待てば出来上がり。

蓋をひっくり返してその上に網を置けばわざわざ飲む前にキッチンに茶葉を捨てに行かなくてもOK、飲み終わった時に1回で片付くので本当に楽。

急須やポットを使わなくて良いので、結果的に洗い物が減る上に食洗機対応なので飲んで茶葉を捨てて食洗機に放り込むだけで完結する魔法のアイテムです。

茶こし以外は電子レンジもOKなので飲み物を温めたい時も使えてマジで無敵です。

ワンカップティーマグブラック

モナンのシロップ

ヨーグルト、杏仁豆腐、何にかけても美味しいモナンのいちごシロップ。

カルピスに入れるといちごカルピスの完成です。

取り扱っているお店が少ない事がネック&通販だと割りと値段引き上げられていることが多い点は注意ですが、マジで美味しいです。

ココアにキャラメルのシロップを入れるのもめちゃくちゃおすすめ、一気に高級店の飲み物っぽい味になります。

スタバでフラペチーノ1本飲むことを考えると超安上がり・・・!

大人のイチゴオーレのもと

たまたまスーパーで見切られてたので興味本位で買ったんですが、上記のモナンのシロップのように高級な味ではなく、パックで売ってる「あのいちごオレ」の味がします。

牛乳さえあればいつでもいちごオレ飲み放題、いちごオレ大好きマンに超おすすめです。

バナナオレ派にも嬉しいバナナオレ味も。

こっちは子どもがめちゃくちゃ気に入って飲んでいます。

牛乳がダメな方は豆乳でもOK!

キャベツのうまたれ

ドレッシングはとりあえずごまだれ派だったのに、気付いたらとって変わってファーストチョイスになっていたのがこれ。

僕はキャベツじゃなくてサラダにこれをかけて食べてるんですが本当に美味しいので酸味が苦手じゃない方はぜひ試して欲しい!

ちなみに普通のスーパーでは見たこと無いです、店頭だとKALDIにはあったので店頭派はKALDIをチェックしましょう!

中華街の麻婆豆腐がつくれるソース(広東式)

横浜中華街の名店、横浜大飯店が発売している麻婆豆腐の素。

お値段はいわゆるスーパーに並んでいるものより少しお高めですが本当に本当に美味しいので騙されたと思って1回試してみてください!

今年、おめーは回し者か?ってぐらいみんなにおすすめしまくってた気がします。

僕はこれを食べてから、スーパーに並んでいる麻婆豆腐の素では満足できない身体になってしまいました笑。

四川式もあるんですが、より辛味が強いので苦手な方は広東式がおすすめです。

黒胡椒ミックスナッツEX

全人類が一度は食べるべきナッツがこれ、絶妙なこしょう加減が最高です。

あまりに美味しくて一気に一袋食べちゃった時は自分にドン引きしました、お酒飲まない人でもマジで食べてみて欲しい。

ドン・キホーテの店頭に行かないと手に入らないのがネック・・・!

買ってよかったもの2022 キッズ編

子どもがベビーからキッズになり、段々とライナップが変化してきたキッズ編。

キッズカメラPRO

子ども用品では買ってよかったNo.1候補のキッズ用トイカメラ。

自分が見ている風景や景色、おもちゃ等々パシャパシャボタンを押して残しておけるという行為が楽しいらしく、出掛けると「カメラも!」と必ず持っていっているアイテムです。

もちろんお値段相応なので画質もあんまり良くないですが、外にお出かけするきっかけにもなっています。

ガラスの爪やすり

幼児用爪切りバサミで爪を切っていたんですが、どうもうちの子は爪が薄いらしくすぐ割れてしまうのでどうしてもカクカク切れてしまうハサミは辞めて爪やすりで削るようにしました。

それ以降爪の割れは劇的に減ったので、子どもの爪ケアはやすりを使うことをおすすめします!

爪切りと違って丸く削れるので、お友達と遊ぶ時に爪で傷つけてしまう可能性も激減してめちゃくちゃ安心です。

小さいとは言え爪切りや爪切りバサミは刃物なので、怪我の心配がなくなった事も気に入っているポイント。

新幹線シューズ

子どもが大好きな新幹線のシューズ、マジでこれ考えた人天才的ですね。

幼稚園の下駄箱を見ると、この手の新幹線シューズの多さにびっくりします笑。

多少外に出るのを嫌がっても、「どの新幹線でおでかけする?」と聞くだけで喜んで履いてくれる魔法のお靴です。

うちの子はドクターイエローとはやぶさがとこまちがお気に入り!

トランポリン

中々外にお出かけできない期間、子どものストレス発散のために買ったトランポリン。

暇さえあれば跳ねています、思った以上に騒音がしないのも◎!

ただしマンション等の集合住宅だと結構厳しいかなと思います・・・!

お名前スタンプ

幼稚園に入った瞬間、無限にお名前を書く作業が始まります。

極めつけにマスク1枚1枚に名前を書けと言われて絶望し購入、これは本当に買った方が良いです。

布にもスタンプできるので、マスクはもちろん靴下や肌着等身の回りものはたいていこれだけでOK。

後述する無印の靴下にもこのスタンプ一発で名前つけ完了です。

TABIOの靴下

幼稚園の靴下はよくあるワンポイントまでの制限があるので、お友達と被らないようにオリジナル刺繍ができるTABIOはめちゃくちゃ重宝しています。

靴下専門だけあって品質も良いのでお子さんの靴下はTABIOがおすすめです!

無印の靴下

ワンポイントもNGな場合、無地の靴下を選ばなきゃいけないんですが本当に誰の靴下か分からなくなってしまいます。

靴下をちょっと裏返したところに名前書くスペースがある無印の靴下はその点が最強、考えた人マジでえらい。

ニトリのハンガーラック

子どもが自分で上着や帽子、手袋なんかをお片付けできるように探して見つけたのがニトリのハンガーラック。

うちの子が今98cmぐらいなんですが、このサイズ感なのでとても使いやすいです。

価格も家具にしては安いので、どうせ大きくなって買い替えることを考えるとこの価格で買えるのはありがたいですね!

くみくみスロープ

子どもが自ら考え、工夫してボールを転がすというパズル。

徐々におもちゃも知的好奇心をくすぐられるようなものをチョイスしています。

最初のうちは組み立て例が多く載っているのでそれを見ながら一緒に作る、徐々に小さいもので良いから自分で考えながら作るという風に長く遊べるのがいいですね!

買ってよかったもの2022 書籍編

今年も厳選した技術書2冊、ハマっているコーヒーとマンガをそれぞれ1冊ずつご紹介!

プロを目指す人のためのTypeScript入門

最近は素のJavaScriptを書くことはほとんど無く、フロントエンドはReactばっかり書いてます。

で、そのReactも現状TypeScriptで書くことが当たり前になりました。

TypeScriptに関しては完全に雰囲気で書いていたので、しっかり学ぼうと本書を購入。

結果的に体系的に網羅されていてかなり良い買い物でした、TypeScriptをしっかり理解したいな!という方にはめちゃくちゃおすすめの一冊です。

モダンJavaScriptの基本から始める React実践の教科書

人気Udemy講師のじゃけぇさんによるReact本。

僕はUdemy動画から入ってこの書籍を購入したんですが、どちらも非常に分かりやすくセットで使うとなおわかりやすいかなと思いました!

現状Reactを勉強したいなら著者のReact本+Udemy動画が最強だと思っています。

Udemyで学ぶなら「モダンJavaScriptの基礎から始める挫折しないためのReact入門」がおすすめ、というかこれ以外は買わなくて良いです。

その後続編の「Reactに入門した人のためのもっとReactが楽しくなるステップアップコース完全版」を学んでおけばReactで大体のことはできるようになります、本当におすすめ!

ワールド・バリスタ・チャンピオンが教える 世界一美味しいコーヒーの淹れ方

コーヒーの淹れ方は色々宗派があると思いますが、このコーヒーの淹れ方を試してから格段と美味しくなりました。

詳しい内容は読んで試してみて欲しいので言及できませんが、それまでよくあるハンドドリップが100点中30点ぐらいだったのが素人でも80点ぐらいまであがります笑。

コーヒーって淹れ方一つでこんなに変わるんだな、を強く実感した一冊でした。

とにかく試して読んで試してみて欲しいですね!

チ。―地球の運動について―

Twitterでシェアされていたのを発見して思わず買ってしまったマンガ。

8巻完結済みで、年末年始に読むにはちょうど良いボリュームです。

天動説が信じられていた時代に地球は太陽を中心に自転しながら公転しているという地動説を研究し後世に残そうとする人々の物語。

魔女狩りさながらの扱いを受ける地動説研究者たちがどんな理由で地動説に向き合い生きて行くのか非常に繊細に描かれていて思わず引き込まれて何度も読んでしまいました。

個人的に宇宙が好きなので抵抗なく買ったマンガですが、ぜひ読んで頂きたいです!

買ってよかったもの2022 サービス編

ものではないけど今年よく利用したサービス関連もいくつかご紹介しておきます。

Google Domains

ついに所有している全ドメインをGoogle Domainsに全移管しました。

最近では「サービス維持調整費」なるものが徴収されると話題になっていますが、明瞭会計のGoogle Domainsならうっとーしいメールも不必要なオプションも徴収されることがありません。

地味ながら良かったサービス!

もちろんドメインに関しては全ページ日本語対応なのでもしドメイン更新費が1,400円/年を超えるなら移管、めちゃくちゃおすすめです。

三井住友カード(NL)

いわゆるナンバーレスのクレジットカードの先駆け、三井住友カード(NL)は今年マジで作って良かったクレカNo.1です。

正直あんまりクレジットカードに興味なくて、使えれば何でも良かったんですが僕が良く行くローソンやマクドナルド等の対象店舗なら最大5%還元という驚異的な数字を見て申込み。

カード自体もナンバーレスでかっこいいですが、何より対象店舗で積極的に使うとポイントがどんどん溜まっていくのは中々面白いです。

実質5%オフですからね、使わない理由がない。

イオンカードセレクト(ミッキーデザイン)

子どもとどこか出かけるぞー!って時、手軽な候補としてイオンモールがあがるんですよね。

子ども用品も日用品も雑貨も食品も買える上に大型店舗だとゲームコーナーや有料の遊び場まで1日潰せます。

で、せっかくだからイオンカードの方が得だよなと思って作ったのがイオンカードセレクト。

ミッキーのレター風デザインがめちゃくちゃ可愛くて何も考えずにこれを申し込んでました笑。

20/30日は5%オフでまとめ買いに最適だし、最近ではイオンカードと紐づけて使えるイオンペイで期間・店舗限定で10%以上のポイント還元があったりとマジでバカに出来ない金額を得しています。

近くにイオン、もしくはイオン系列のお店がある方は年会費も無料だと1枚持っておくことをおすすめします!

#買ってよかったもの2022 Amazonで年間120万使って満足したおすすめ36選

今年も振り返ってみれば色々買ってたんですが、ガジェットよりも日用品をより良い物を求めて買っていたような気がします。

ガジェットって近未来的だったりやっぱり注目度が大きいんですが、実際の生活の大部分を占めるのは生活用品ですからね。

来年もQOL向上のために今以上に力を入れていい商品を探していきたいなと思っています!

2022年も大変お世話になりました、2023年もどうぞよろしくお願い致します!

#買ってよかったもの2020 Amazonで年間190万使って満足したおすすめ45選
2020年も年の瀬、今年もこの時期がやってきました! 今年も昨年同様Amazonの年間利用額を調べたところ、去年の160万円を大幅に更新して12月31日時点で約190万円でした。 もちろん日常の生活用品も含まれていますが、今年も沢山の新たな...
#買ってよかったもの2019 Amazonで年間160万使って満足したおすすめ44選
けんちゃん そろそろAmazonの超優良顧客として認定されても良いんじゃない? 2019年も末、今年も揃いました#買ってよかったもの2019。 2019年は12月27日現在約160万円。 koyoproさんのGitHubで公開されているAm...
]]>
https://www.braveryk7.com/best-buy-2022/feed/ 0
海外FX口座はこう使え!リスクを抑えて利益を出す戦略 https://www.braveryk7.com/minimize-risks-take-profits-fx/ https://www.braveryk7.com/minimize-risks-take-profits-fx/#respond Sun, 11 Sep 2022 09:10:58 +0000 https://www.braveryk7.com/?p=8121 FXをやる上で口座は国内にするか、海外にするかは大きな違い。

特に海外FXは国内には無い特徴があり、それらを利用すればなるべくリスクを抑えた上で大きな利益を得られる可能性があります。

そこで今日は海外FX口座を使った具体的な戦略を解説します。

海外FX口座を使ってリスクを抑えて利益を出す具体的な戦略

結論から言うと、次のシステムを使ってなるべくリスクを抑えてハイリターン狙いのトレードをします。

  • ゼロカットシステム
  • ハイレバレッジ
  • 取引ボーナス

これらを使ってトレードする戦略、しっかり見ていきましょう!

資金を分割してハイレバトレードを狙う

まずはこれ、投資資金の分割です。

例えば今現在80万円投資資金があるとすれば、これを1/5や1/10程度に分割します。

1/5なら16万円、1/10なら8万円ですね。

どの海外FX口座も大体複数の口座開設ができるので、口座をトレードする用と資金管理用の2つにわけてトレードする用の口座に1/5や1/10の資金を入れておき、残りは資金管理口座に入れておきます。

資金を分割する理由は次のゼロカットシステムで解説します。

けんちゃん
けんちゃん

ちなみに僕は過去1万円→100万円、30万円→1,000万円にした経験があるから少額からでもチャンスがあれば大きなリターンを期待できるよ!

ゼロカットシステムを使う

そして積極的に利用するのがゼロカットシステム。

具体的には1回のエントリーの損切りがゼロカットになるように調整してエントリーします。

つまり勝てばトレード用口座の残高が増え、負ければトレード用口座の残高が0になるということですね。

こうすることで無理なナンピンや実力がないハイレバトレードを行わずに済みますよね。

ナンピンはまだ余力があるからできてしまう、それを口座残高を分けることでシステム的にできなくすることが最大の目的です。

もし負けてしまった場合同額を資金管理用口座からトレード口座に資金移動します、負けた場合の最大損失をトレード用口座の額に限定できるので、リスクを抑える手法と言えます。

そして資金を分割することで挑戦できる回数を事前に決めることができます、例えば10分割した場合は10回挑戦できるということ。

勝率が10%を切る手法なんて手法と呼べないので、きちんと取引ルールを確立していれば期待値はプラスな資金管理術と言えます。

ダウ理論を根拠に取り入れる

トレードする上で絶対に理解しておきたいのがダウ理論。

ダウ理論そのものは色々難しい解説をしているサイトもありますが、海外FX口座でこの戦略を使う時は以下を遵守してください。

  • 相場はトレンド方向に進むのでトレンドに逆らわない
  • トレンドが出ていない時はエントリーしない
  • 損切りはダウ理論が否定される場所に置く

この方法では逆張り、いわゆる急激な変動のリバ取りはルール対象外なのでNGです。

他にも上昇チャネルの上限に当たったから売り、というのは逆張りになるのでできないですよね。

このように、トレンドを見極めてトレンド方向への順張りを遵守することで勝率を担保すると同時にリスクを抑え利益を伸ばすリスクリワードの良いトレードを徹底します。

なるべく信頼性の高い口座を使う

海外FX口座は良くも悪くも色々です、長年運営されておりユーザーからの信頼が高い口座もあればパっと出てきて高額ボーナスを餌にユーザーを取り込み、一定のタイミングで資金を持ち逃げしてしまうなんてこともあり得ます。

なので必ず信頼性の高い口座を使ってください、口座開設ボーナス等が良いからといって聞いたことも無いような口座を使うのはトレード以前の問題です。

もしどこが良いか迷っているなら、僕が実際に使っている以下の口座がおすすめです。

この2つは僕も日常使いしていて、最もおすすめはXM Tradingです。

XM Tradingは運営年数、ユーザーからの信頼性ともに抜群で出金が遅れたりサポート対応が悪かったことは一度もありません。

AxioryXM Tradingに比べてボーナス等は地味ですが、ユーザーに寄り添った堅実な運営をしており相場急変イベント(例:アメリカ大統領選)の一時的なレバレッジ規制にも慎重に対応していて信頼ができます。

少なくとも上記2つは僕自身が使っているからおすすめできるものです、不当な出金拒否等も聞いたことがありません(SNS上ではいくつかそう発信している人がいましたが、よく聞いてみるとその人自身が規約違反していただけだったケースばかりです)。

もしどれか迷ったなら安定して運営され信頼性抜群のXM Tradingを開設しておくことをおすすめします。

各口座の詳しい解説は以下の記事を合わせて読んでみてください。

ボーナスは積極的に利用する

海外FXの最大の特徴でもあるボーナスは積極的に利用していきましょう。

ボーナスは出金こそできませんが証拠金に使えるもので、特にトレードすればするほどボーナスが溜まっていくXM Tradingは大変おすすめです。

XM Tradingは取引ごとにロット数に応じてXMPというポイントが付与され、これを証拠金のボーナスクレジットとして利用ができます。

つまり普段からXM Tradingでトレードすることで、最大限ボーナスの恩恵を受けることができます。

海外FX口座の使い方を語る上でのリスクと回避方法

信頼できる口座の場合ほぼ大丈夫ですが、投資家として生きていく上でリスク回避の考え方は絶対に必要です。

ここでは主なリスクを回避する方法を解説します。

余剰資金は出金しておく

まずは余剰資金、できればこれは出金しておきましょう。

先述したトレード口座と資金管理用の口座で運用しているといずれ利益が出て余剰資金が生まれると思います。

もちろんもう一段上を目指してそのまま証拠金として運用してもいいですが、そうではなくしばらくは証拠金量を維持するのであれば必ず出金しておいてください。

XM TradingAxioryのように信頼性が高い口座ならともかく、聞いたことがないような新興口座で不当な出金拒否があったり資金の持ち逃げなんて話も昔はありました。

そういうリスクを回避するために、不必要な資金は引き上げておくことが大事です。

規約は遵守する

言うまでもありませんが、各FX口座の規約は遵守する必要があります。

規約違反の取引を行えば当然不当な利益として利用を拒否されます。

例として多いのが両建て、つまりロングとショートを同時に持つ取引です。

XM Tradingでは同一口座内であれば基本的に両建てが認められていますが、複数口座を使った両建ては規約違反です。

FOMCやアメリカのGDP、雇用統計等の短期間で大きく価格が変動する経済指標やイベント時に口座Aでロング、口座Bでショートをエントリーする両建ては100%バレます。

ゼロカットシステムを悪用してリスクを抑えながら利益を取れてしまうので禁止なのは当然ですよね。

またこれは違う取引所の口座間、例えばXM TradingでロングしてAxioryでショートするというのもバレます。

一時の利益のために規約違反をして二度とその取引所を使えなくなるというのは取り返しがつかない損失です、利用規約は必ず遵守しましょう。

もし少しでも不安がある場合、主要な口座なら日本語でのサポートが受けられるので気軽に聞いてみると良いです。

必ず複数の口座を開設しておく

最近ではあんまりなくなりましたが、一昔前は突然サーバーが停止してしまって取引ができなかったことがありました。

僕はそのリスクを回避するために昔から複数の口座を開設しておいて取引したい時にできるようにすることをおすすめしていましたが、その考えは今でも変わっていません。

常にバックアップ口座を用意しておくことで不意のリスクを避けることができます。

また近年口座ごとに特色が出てきており、直近ではXM Tradingがストップレベル0pips(現在価格に即ストップがおける)を実施したりAxioryでは条件が限定的ながらボーナスがつく機会も増えてきました。

新しいサービスが始まった時に即座に使えるように、やはり最初から開設しておくことをおすすめします(せっかくチャンスが来たのに本人確認に時間がかかって逃してしまった、なんてもったいないですからね・・・)。

海外FX口座を使ってリスクを抑えるにはルールが大事

続いて実際の取引で意識したい部分、つまりトレードルールについて解説します。

感情や思い込みトレード、ドテンエントリーをしない

一番大事なのがこれ、「価格が上がるだろう」とか「これだけ下がったから反発するだろう」という思い込みトレードは絶対に辞めること。

そして仮に自分のポジションが損切りに合ってしまっても絶対にドテンエントリー(損切りエントリーと反対売買を行うこと)をしないこと。

この2つは絶対に守ってください、最速で資金を失わせる2大要素です。

思い込みトレード

思い込みトレードは実際にチャートを見て「なぜそこでエントリーできるのか」が理論的に説明できなければダメです。

例えばこれは先日僕がツイートしたドル円ショートポジションエントリーの根拠です。

その後ドル円がどう推移したかというと、以下のように大きく円高方向に予想通り進んでいます。

このトレード自体はエントリーしたところよりも一時的に上に行ってしまい損切りした後に大きく下がりました。

143.8でショートエントリーしていたので、もし取れていたら200pips以上取れたトレードでした・・・笑。

でも自分のルール通りにトレードしていたので後悔はあんまりしていません、想定通り進んだということは自分が今チャートをしっかり見ることができているという証拠です。

このように、きちんとその後どう進むのか想定してエントリーすることが本当に大事です。

ドテンエントリー

ドテンに関しては口座残高をトレード用と資金管理用で分けてあるのでシステム上できなくしてありますが、それでも即座に残高移動してドテンすることはできてしまいますよね。

ではなぜドテンエントリーがダメかというと、根拠が明確ではないからです。

エントリー根拠にダウ理論を使うと言いましたが、損切りにあった直後即ドテンするタイミングって「ダウ理論が否定されただけ」ですよね。

その後長期にレンジ形成するかも知れないし、日足や週足と言った長い時間軸ではその後ヒゲになり損切りを狩りに行っただけかも知れません。

つまりダウ理論が否定されただけでは明確な根拠になっていないのです。

ドテンエントリーは上手く行くことが無いとは言いませんが、ドテンエントリーをする人で安定して成果を出している人って多分ほぼ0に近いと思います。

そのぐらい悪手です、これを機に生涯ドテンエントリー禁止を徹底しても良いと思いますよ。

自分が決めたルールは絶対に守る

  • ここで反転するだろうから損切りをずらそう
  • 根拠が明確じゃないけどポジりたい
  • 今なら勝つ自信がある!資金管理用口座の残高も使って一発ハイレバだ!

このように決めたルールから逸脱するトレードは仮に一時成功してもいつかは破滅を招きます、絶対にやめておきましょう。

ここまでこの記事を読んでくださっている方にはもう理由を説明するまでもないですよね。

トレードがどうだったのか、振り返りを行う

負けトレーダーが絶対にやっていないのがこのトレードの振り返り。

FXは良くも悪くも過去出たものが何度も何度もチャート上に出現します。

三尊/逆三尊やダブルトップ/ボトムなんて短い時間足なら1日何度も見ますよね、チャートには過去出た形が何度でも何度でも出てきます。

じゃあ自分がトレードした時はどうだったのか、なんで成功or失敗したのか振り返る人は驚くほど少ないです。

  • その時長期足はどうだったのか
  • 自分が根拠としたローソク足や水平線、トレンドラインはなぜ機能したorしなかったのか
  • その後相場がどのように変動して行ったのか
  • 仮に損切りされたが最終的に自分が想定した方向へ戻ってきた場合、どこに損切りを置くべきだったのか

検証できることは山ほどあります。

また僕はインジケーターの類はあまり使わないですが、仮に使っている場合移動平均線の向きや並びやローソク足との関係性、RSIやMACDの形はどうだったのか、ボリンジャーバンドの角度や関係性はどうだったのか等も合わせて検証できますよね。

今チャート上にあるものはこれから先いつか必ず再びチャート上に描かれます、トレードの振り返りはとても重要です。

海外FX口座はこう使え!リスクを抑えて利益を出す戦略 まとめ

  • 資金を分割してリスクを限定化する
  • 損切り=ゼロカットでロット調整する
  • ダウ理論を根拠に取り入れる
  • なるべく信頼性が高く、ボーナスが優れているXM Tradingや安定性抜群のAxioryを使う

これが海外FX口座の使い方です。

もちろん多額の資金を使って大きくトレードするのも良いですが、それは投資資金に大きく余裕がある段階になってから。

まだ海外口座を使い始めたばかりで使い方が分からない、もしくは開設を迷っている方はぜひこれを参にしてみてください!

]]>
https://www.braveryk7.com/minimize-risks-take-profits-fx/feed/ 0
FXは危険?ただのギャンブル?正しい知識で誤ったイメージを正そう https://www.braveryk7.com/fx-is-not-gambling/ https://www.braveryk7.com/fx-is-not-gambling/#respond Sat, 10 Sep 2022 07:13:39 +0000 https://www.braveryk7.com/?p=8111
  • FXはレバレッジをかけるから危険
  • FXはただのギャンブル、投資じゃない
  • FXをやるぐらいなら株のほうが良い
  • FXで破産したと聞いたからやらない方が良い
  • 皆さんFXになんとなくこんなイメージを持っていませんか?

    ろくに調べもせずなんとなく聞きかじったイメージを信じているなら申し訳ありませんがただの知ったかぶりです。

    もちろんちゃんと理解した上で「それでもやるべきではない」と思ったのならそれは良いこと、問題は知らないのに知ったような顔でいることです。

    FXは危険でギャンブルなのか

    結論から言うと「FXは危険でギャンブルにもなり得るし、資産を積み上げる投資にもなる」です。

    FXというと○○ショックで一気に数千万円失ったとかレバレッジをかけすぎて大きな借金を背負ったなんて聞きますが、その人達がやっているのはただのギャンブルです。

    そしてそれを聞いた人は「FXは危険でギャンブル、投資なら株のほうが良い」と理由も根拠もない話をそこら中でしているのが現状。

    素晴らしい切れ味を誇る包丁で切ったお刺身は美味しいですが、使い方を間違えれば人の命を奪うことに繋がるのと同じようにFXもやり方を間違えればただのギャンブルになります。

    レバレッジは危険?

    例えば日本国内は25倍、海外では200倍や1,000倍とレバレッジをかけて取引できるのがFXの特徴です。

    例えば10万円を投資資金にした時、国内では最大250万円分取引ができるようになります。

    このレバレッジが大きければ大きいほど危険と煽る投資家やWebサイトがありますが、これは大きな誤りです。

    レバレッジは本来少ない資金で効率よく取引できるようにする武器の一つに過ぎず、基本的にはこの数字が大きければ大きいほど資金効率がよくなります。

    そしてレバレッジは100%自分でコントロールできる部分、「はい、あなたは○○倍で取引してくださいね」と決められている訳ではないですよね?

    例え最大1,000倍のレバレッジがかけられる口座であっても、自分の意志で3倍程度や200倍までにしておこうと決めることができます。

    即ちレバレッジ=危険は自らの投資資金に応じて適切なレバレッジを設定できない「ただのギャンブルをやっている投資下手な人が言っている」だけなのです。

    FXはただのギャンブル?

    価格が上に行くか下に行くかを予想して取引を行う、これがFXです。

    上か下かランダムだからFXはギャンブルである、巷で言われているFX=ギャンブルの理屈はこうです。

    もしこれを本気で言っている人間がいたら、それはただの勉強不足です。

    例えば円がドルに対して安くなる、高くなるというのはその時によりますがちゃんと理由があります。

    そしてその理由(=市場心理)は全てチャートに示されています。

    FXはこれからチャートがどうなるか、言い返せば市場心理がどう動くのかを予想して取引することになりますが、この予想を「なんとなく上だろうな」とか「だいぶ高いからきっと売られるだろうな」という根拠がない予想を元にやっていたらそれは本当にただのギャンブルです。

    これは後述する株や投資信託も含めて全ての投資に言えることで、上か下かのコインの表裏当てゲームで勝っていける訳ないですよね。

    具体的にFXで勝っていくためには、手法はそれぞれありますがチャートのパターンから今後の値動きを予想するテクニカルや各国の経済指標や市場動向を見極めて予想するファンダメンタルズで理論立てて投資する必要があります。

    FXより株のほうがいい?

    FXを否定する人の多くは「FXより株のほうがいい」と言う人がよく現れます。

    • レバレッジは危険だから株のほうがいい
    • 企業が倒産しない限り株は無価値になることはない
    • 株は持っているだけで配当がある

    よく聞くのはこの辺でしょうか。

    レバレッジに関しては先程申し上げた通りですし、なんなら株にも信用取引というレバレッジをかける制度があります。

    倒産や配当に関しては、逆を言えば「企業が倒産したら株券はゴミになるし配当は業績が悪ければ落ちたり無くなったりする危険がある」と言えます。

    決して株取引を否定したい訳ではなく、どの投資にもリスクがあるよねという話。

    例えば過去高配当で人気があった東京電力は、東日本大震災における福島原発の一件で2011年以降10年以上配当が出ていません。

    当時1株2,000円程度だった株価は執筆時現在1株500円と1/4程度まで値下がりしています。

    他にも2010年に日本航空(JAL)が倒産した時、2010年1月初めには1株90円程度の価格でしたが1ヶ月後には1株1円に暴落しその後上場廃止となりました。

    このように、リスクはFXであろうが株であろうがあるということ。

    そして適切なルールを決めて取引することで、FXであろうが株であろうが大きな損失を出さずに取引することができます。

    FXのほうが向いている人、株のほうが向いている人という適性はもちろんあると思いますが、FXより株のほうがいいとか逆にFXのほうがいいというのは単純には言えません。

    FXで破産?

    ○○ショックで数千万円の借金を背負った等の話ばかりが拡散されて悪いイメージがあるFXですが、僕から言わせればそういう人たちがやっていたのは投資ではなくギャンブルです。

    これは国内取引所の追証というシステムが原因で、急激な価格変動で証拠金が不足してその分を入金してくれと証券所に言われたが払うことができない=その分が借金ということになります。

    つまるところ、こういう人たちは「価格が○○に達したら損切りをする」という反対注文をしていなかったことになります。

    反対注文が入っていないということは価格が自分のポジションと逆行すればどこまでもお金は減っていきます、当たり前ですよね。

    FXで毎月安定的に利益を上げて生活しているトレーダーは100%この損切りの反対注文を入れています。

    もっと言えば損切りはどこで利益確定するかよりずっと大事です、それをやらないで価格が逆行して借金を背負った!FXはダメだ!なんて申し訳ありませんがただのバカです。

    FXを危険なギャンブルにしないために

    ここからはFXを危険なギャンブルにしないためには具体的にどうすべきか、解説していきます。

    根拠の無いトレードをしない

    まずはこれ、上か下かどっちに売買するにしても根拠がないトレードをしないことです。

    僕は基本的にチャートの形から今後の値動きを予想するテクニカルのトレーダーなのでテクニカル前提でお話しますが、例えばチャートには売買シグナルと呼ばれる形がよく現れます。

    三尊天井や逆三尊、ダブルトップ/ボトム等種類はありますが、そういうシグナルをしっかり確認して取引します(もちろん三尊やダブルトップ/ボトムだけでは勝てませんよ!)。

    • なんとなく上がりそうだから
    • 大きく下がったから戻すだろう
    • 価格が高すぎるから下に行くだろう

    こんなのはなんの根拠にもなりません。

    実際にチャートに現れるチャートパターン、なるべく長期足でのトレンド等をしっかり把握して取引することを徹底してください。

    2022/8/25のユーロドル15分足チャート

    例えばこれはユーロドルの15分足チャートですが、なんとなく三尊っぽい形を作っているように見えたとします。

    では「三尊だ!売っておけばいいや!」と適当に右肩天井辺りでショート、真ん中の高値よりちょっと上に損切りを置いておくとします。

    結果どうでしょう、一旦は下がりますがネックラインを抜けられず大きく上昇して損切りラインを超えていますよね。

    このように適当にチャートを見て「○○って形だから○○だな」という薄っぺらい根拠では絶対に勝てません。

    無理なレバレッジをかけない

    海外には1,000倍や条件付きではありますが5,000倍のレバレッジで取引できるような口座も存在します。

    だからといって1,000倍や5,000倍で取引しなきゃいけない訳じゃありません、その範囲内なら自分の自由にレバレッジを設定できます。

    自信がありリスクリワードが極端にいい場合に限ってレバレッジを高くする等の選択肢を取れるようにしておき、普段は自分が許容できる損失をしっかり設定しそれを元にレバレッジを設定します。

    この話は次の損切りラインの話とも密接に関わってきます。

    損切りラインを決めてからエントリーする

    損切りはエントリーする時に絶対に設定しておきましょう。

    「今の資金は○○円、1回のトレードで○万円までなら損失を許容できる。つまり今ここでエントリーして損切りラインまで下がった時に○万円損失という形にする。」

    これをしっかり計算できるようになりましょう。

    2022/9/10時点のドル円4時間足チャート

    例えばこのチャートはドル円の4時間足チャートですが、ロングエントリーしたいとします。

    画像上の赤い線を下回れば上昇トレンドが終了すると予想して損切りをこれの少しした、例えば140円に設定したとしましょう(この赤い線は説明のために適当に引いただけでなんの根拠もありませんよ!)。

    今現在50万円の資金があり1回のトレードの損失許容が5万円として、現在価格142.611から140円までのおよそ260pipsを損切りに設定します。

    例えば人気のFX口座であるXMでトレードした場合、およそ260pipsで5万円の損失で収まるように計算すると大体0.19lotでエントリーすればいいということになります。

    このように、エントリーする時には損切りラインが明確に決まっていることが当たり前です。

    逆を言えば「損切りラインが決まっていないのにエントリーするのはただのギャンブル」と言えます。

    レバレッジを元に損切り価格を出すのではなく、損切り価格を元にレバレッジを決めるのです。

    絶対に借金を負いたくないなら海外FX口座を利用する

    上述した損切りラインをちゃんと設定できれば国内口座の追証だって決して怖くありません、追証になるようなレベルでトレードしなければいいんです。

    それでも万が一が怖いのであれば、僕は海外FX口座をおすすめします。

    海外FX口座には追証という概念がなく、代わりにゼロカットというシステムがあります。

    ゼロカットは証拠金が一定の割合まで下がったらポジションを強制決済し、万が一証拠金を下回った場合でも0円以下は0円として処理するシステムのことです。

    つまり損切りの設定をしておらず1分に100pips以上急激に変動し万が一口座残高が-30万円になってしまったとしても、それは0円として処理され-30万円分は帳消しになります。

    人気が高いXM TradingGemForex等は全てこのゼロカットシステムで運用されているので、どんなことがあっても借金になることはありません。

    以下の記事で海外FX口座でリスクを減らし利益を出す具体的な戦略を公開しています。

    XM TradingGemForexは以下の記事で詳しく解説しているので、ぜひ合わせて読んでみてください。

    情報商材には手を出さない

    投資ジャンル、株にしろFXにしろ仮想通貨にしろそこら中にいるのが情報商材屋です。

    彼らは必中の手法とか確実に勝てるとか甘い言葉で数千~数万円、時には数十万円の情報商材を買わせようとあの手この手であなたを誘惑します。

    断言します、彼らの情報商材を買うぐらいならそのお金でちゃんとトレードして学んだ方が100倍良いです。

    確かに中にはちゃんと使える手法があるかも知れませんが、大半は適当な耳障りの良い言葉が羅列してある価値のないものです。

    FXはチャートに全ての答えが詰まっています。

    僕はテクニカル重視(と言うかほぼ100%テクニカル)ですが、ファンダメンタルズも最終的にはテクニカルに織り込まれます。

    チャート上に答えがあるのに、なぜわざわざ高いお金を払ってどこの誰かも分からないような人間が作った商材を買うのか僕は理解できません。

    情報商材に高いお金を払って、その分を取り返そうとトレードして損失を出したトレーダーは多分腐るほどいます。

    皆さんにはそうなってほしくありません。

    情報商材はほぼ100%役に立ちません、もし今なにか買おうと思っているなら絶対にやめてください。

    FXは危険?ただのギャンブル?正しい知識で誤ったイメージを正そう まとめ

    FXは巷で言われるイメージばかりが先行し、ただただ悪く言われることが非常に多いです。

    実際にやり方次第ではそのイメージ通りになってしまいますが、これは投資じゃなくてギャンブルをやっている人たちのこと。

    しっかりとチャートを分析し、どのように値動きが進むのかしっかりと認識した上で最大損失を事前に決めておきどの根拠で利益を確定させるのか。

    これらを勉強して初めて少しずつ利益が出せるようになります。

    FXを投資にするのもギャンブルにするのも皆さん次第。

    今FXをやっていて勝てていない人はまず間違った行動をやめましょう。

    FXをやっていないけどどうせギャンブルでしょ、という人はまず認識を改めましょう。

    その上でやるやらないを決めるのはもちろん自由ですし強制しませんが、しっかり学んでいけば毎月少額だとしても利益を生むことができます。

    また先述したXM TradingGemForexの場合、自己資金0で口座開設時に貰えるボーナスを使ってトレードを体験することができますし、もちろんこのボーナスを使って得た利益を出金することもできます。

    まずはXM TradingGemForexで口座開設してみて、トレードを学んでみてください!

    海外FX口座XM Tradingを使って1日で1万円が100万円に!
    口座開設だけで100万円も達成可能!海外FX口座XM Tradingを画像つきでわかりやすく解説!今なら3000円ボーナス&100%ボーナス実施中、3000円を100万円にしてみよう!
    海外FX口座GemForexを徹底レビュー!魅力的なボーナスでメイン口座にも!
    XM一強だった海外FXに、超有力対抗馬として存在感を見せているのがGemForex。気になるスプレッドやボーナス、レバレッジから出金・入金、口座開設まで徹底的に解説します!金融ライセンスもしっかり取得しているGemForexの詳細をチェック!
    Axioryはレバレッジ規制無し?海外口座ならAxioryを必ず開設しておきたい理由を徹底解説!
    海外FXでは珍しい、透明性が素晴らしい安全な口座。気になるスプレッドやレバレッジから出金・入金、口座開設まで徹底的に解説します!自分にあった口座が分からない方でもこの記事でどんな人に向いているのか完全サポート!
    ]]>
    https://www.braveryk7.com/fx-is-not-gambling/feed/ 0
    SynologyのNAS上でDockerを動かしてPython×seleniumのスクレイピングを定期実行する https://www.braveryk7.com/docker-synology-perform-regular-python-selenium/ https://www.braveryk7.com/docker-synology-perform-regular-python-selenium/#respond Sat, 15 Jan 2022 05:10:29 +0000 https://braveryk7.com/?p=7627

    seleniumを使ったスクレイピングは非常に便利ですが、毎日定期実行するとなると必要になるのは実行環境。

    手元のパソコンで動かしても良いんですが、やはりパソコンは電源を切ることもあるしあまりローカルの環境汚染もしたくない。

    そこで思い立ったのがSynologyのNAS上でプログラムを毎日自動実行することでした。

    色々試行錯誤したんですが、DSM(SynologyのNAS上で動くLinuxベースのOS)ではyumやdnf、apt等のインストールコマンドが使用できず主にChromeのインストールに難航。

    続けて思案していたらパッケージの中にDockerを発見し、「あれ?コンテナ建てればよくね?」と試してみたら無事成功しました。

    この記事ではSynologyのNAS上でDockerを起動させ、Pythonコンテナを立ち上げselenium実行に必要な各種ソフトウェアのインストールを行い定期実行する方法を解説していきます。

    • SynologyのNAS上でDocker環境の構築ができる
    • SynologyのNAS上でPython+Seleniumを使ったスクレイピング方法がわかる
    • SynologyのNAS上でタイムスケジューラを使って定期実行する方法がわかる

    SynologyのNAS上でDockerを動かすための前提環境

    まず必要な前提環境です、残念ながら全てのSynology製のNASで実行できる訳ではありません。

    SynologyのNASには入門機とも言えるJシリーズ、オールラウンドのValueシリーズ、家庭用の最上位モデルであるPlusシリーズがありますがDockerのインストールが行えるのはPlusシリーズのみです。

    非公式にDockerをインストールする方法もあるようですが、責任を負えないため基本的にPlusシリーズを前提にお願い致します。

    ちなみに僕はDS216j、DS218jと使用して現在はDS720+を愛用しています。

    JシリーズやValueシリーズに比べ価格は上がりますが、普通に使っていても処理速度が段違いなので奮発してでもPlusシリーズにすることをおすすめします!

    価格を抑えたいのであれば同じくPlusシリーズのDS220+もおすすめです。

    ハードディスクはお馴染み、WesternDigitalの赤一択です。

    SynologyのNAS上にDockerをインストールしSSH接続できるようにする

    Dockerはパッケージセンターで簡単にインストール可能

    まずはSynologyへのDockerインストールが必要になります。

    これはとても簡単です、パッケージセンターでDockerと検索してインストールしておいてください。

    これだけでDockerコマンドが使えるので特に設定等は必要ありません。

    SSH接続の設定

    コントロールパネルからSSH接続できるようにする

    Synologyのパッケージセンターを通してインストールしたDockerはGUIでも操作できますが、ここではコマンド操作が前提なのでSSH接続できるようにしておきます。

    コントロールパネルの「端末とSNMP」タブ内でSSHを有効化しポートを適当に設定しておきます。

    これで以下のコマンドでSSH接続できるはずです。

    $ ssh <username>@<IP Address> -p <Port No.>
    
    例)ユーザー名「tarou」、IPアドレス「192.168.1.10」、ポート番号「59876」の場合
    $ ssh tarou@192.168.1.10 -p 59876

    パスワードを求められるので入力してEnterすればシェルが表示されます。

    Dockerをインストール済みであれば以下のコマンドでバージョンが返ってきます、返ってこない場合はインストールをしておきましょう。

    $ docker -v
    Docker version 20.10.3, build b455053

    Dockerfileとテストファイルの準備

    環境が整ったので、Dockerfile等の必要なファイルの準備を行います。

    必要なファイル群のディレクトリ構成は以下の通りです。

    python-selenium-test(ルートディレクトリ)/
     ├ Dockerfile
     ├ src/
     │ ├ img/
     │ ├ main.py
     │ ├ requirements.txt
     │ └ date.txt
     └ start.sh

    実際のプログラム実行に必要なソース類(Pythonファイル等)はsrcディレクトリにおいておきます。

    ファイル/ディレクトリ名用途
    Dockerfiledockerのレイヤ処理を記述したファイル
    srcディレクトリプログラム実行に必要なファイル・ディレクトリを入れておくディレクトリ
    imgディレクトリseleniumで撮影したスクリーンショットを格納するディレクトリ
    main.py実行されるPythonプログラム
    requirements.txtpipインストール時に使うパッケージリスト
    date.txtPythonプログラム実行日時を出力するテキストファイル
    start.shSynologyタイムスケジューラで使うシェルスクリプト
    各ファイルの用途一覧

    Dockerfile

    使用するDockerfileは以下のように定義しました。

    FROM python:3.10
    
    WORKDIR /home/
    
    COPY /src/ /home/
    
    RUN useradd -r containeruser \
        && wget https://dl.google.com/linux/linux_signing_key.pub \
        && apt-key add linux_signing_key.pub \
        && echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list \
        && apt-get update \
        && apt-get -f install -y google-chrome-stable fonts-ipafont fonts-ipaexfont python3-selenium \
        && pip3 install -r requirements.txt
    
    CMD ["python3", "main.py"]

    PythonにseleniumやChromedriverが同梱されているイメージも公開されているんですが、極力公式を使いたい(公開停止等のリスク回避)というのもあって公式のPythonイメージを使用しています。

    RUNでフォントやselenium、Google Chromeのインストールを行い、COPYでDocker側に渡したrequirements.txtを基にpipでPythonパッケージのインストールを行っています。

    ちなみにGoogle Chromeのインストールはまるっと以下のサイトを参考にしました、この場を借りてお礼申し上げます。

    Dockerに自信が無いなら書籍と動画で学習しよう

    Dockerについて詳しくない、Dockerfileって何?という方は以下の書籍が体系的に勉強できてとても良かったです!

    プログラミングを行う上でGitと並んで外せない知識がDockerなのでぜひこの機会に触れて頂けると良いかと思います。

    スキマ時間を有効活用するなら動画→書籍の順で学習しよう

    動画学習サイトUdemyでDockerを学習するなら「ゼロからはじめる Dockerによるアプリケーション実行環境構築 icon」がおすすめです。

    2万人以上の受講生がおり高評価を得ているベストセラー動画です、僕はこの「ゼロからはじめる Dockerによるアプリケーション実行環境構築 icon」で雰囲気を掴んでハンズオンで学習し、細かい部分を書籍で補完するという方法でDockerの学習を行いました。

    1. 動画をとりあえず全部見て頭の中に「なにか聞いたことあるな」という記憶をつける
    2. 書籍で記憶を基に詳細を学習する

    この順番なら書籍を見るたびに「あっ!これ動画で見た!」という進研ゼミさながらの効率的な学習ができるので非常におすすめです!

    main.py

    Dockerコンテナ内で実行するPythonプログラムです。

    今回はDockerの定期実行がきちんと行えているか確認するため、実行時刻をテキストファイルに書き出すというプログラムを作成しました。

    seleniumの検証のため同時に現在時刻を表示してくれるTIME.ISさんにアクセスしスクリーンショットを撮影して、撮影時点の時刻のファイル名を付与して保存します。

    また実際の実行時にも分かりやすいようにターミナル上にも現在時刻を出力しています。

    import datetime
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    # アクセス先のURL
    URL='https://time.is/ja/Tokyo'
    
    # webdriverの設定
    options = webdriver.ChromeOptions()
    options.add_argument("--headless")
    options.add_argument("--no-sandbox")
    options.add_argument("--disable-dev-shm-usage")
    options.add_argument("--disable-gpu")
    
    driver = webdriver.Chrome(options=options)
    
    # 現在時刻を取得して日本時間に変換
    now = datetime.datetime.now() + datetime.timedelta(hours=9)
    
    # try~finallyを用いて必ずchromeが終了するようにする
    try:
        # アクセス
        driver.get(URL)
    
        # TIME.ISのソース内に存在するtime_sectionがあれば処理を実行する
        if driver.find_elements(By.ID, 'time_section'):
            # 現在時刻を日本語表記でコンソールに出力
            print(now.strftime('%Y年%m月%d日 %H:%M:%S'))
            
            # date.txtを開いて現在時刻をstringで出力
            with open('date.txt', mode='w', encoding='utf-8') as f:
                f.write(str(now))
            
            # スクリーンショットを撮影してimgディレクトリ下に現在日時.pngのファイル名で保存
            driver.save_screenshot('img/' + str(now.strftime('%Y-%m-%d-%H-%M-%S')) + '.png')
    finally:
        # webdriverを終了
        driver.quit()
    今回はこのtime_sectionの有無を分岐にする

    TIME.ISさんのソースを見ると、time_sectionというIDがあったのでこれがあれば正常にアクセスできているというif分岐を入れています。

    実際に使用する場合は事前に対象のWebサイトのソースを見て対象のidやclassが存在するかどうかでチェックをすると良いと思います。

    options.add_argument("--disable-dev-shm-usage")
    options.add_argument("--disable-gpu")

    webdriverの2つのOptionsですが、前者は仮想ディスクを/dev/shmではなく/tmpに作成させるものです。

    後者はGPUを無効化するOptionで、Dockerコンテナで動かす場合はこの2つを記述しないとseleniumがハングする事が多いので忘れずに指定しておきましょう。

    requirements.txt

    今回使用するパッケージはseleniumだけです。

    selenium

    SynologyのNAS上でDockerイメージのビルドと実行

    準備が整ったのでビルドと実行テストを行います。

    $ cd <Dockerfileがあるディレクトリ>
    $ sudo docker image build -t python-selenium-test:latest .

    これでビルドされます、パッケージのインストールや更新でかなり時間がかかるので気長に待ちましょう。

    Successfully built 80f1a49608b8
    Successfully tagged python-selenium-test:latest

    こんな表示が出たらOK、続いて実行してみましょう。

    $ sudo docker run --rm -it -v ${PWD}/src:/home python-selenium-test
    2022年01月14日 00:15:52

    現在時刻が表示されれば成功です!

    date.txtの中身も見てみましょう。

    2022-01-14 00:15:52.720053

    実行時刻が出力されていれば大成功!

    TIME.ISのスクリーンショット

    imgディレクトリの中にあるPNGファイル、ファイル名はdate.txtの日時になっており実際の画像にも撮影時点の日時が記録されています(datetime.nowで取得した時間と、seleniumでアクセスした時間に数秒の差はあります)。

    Synology DSMのタスクスケジューラでPython×seleniumを定期実行する

    最後にSynologyのDSM標準機能であるタスクスケジューラに先程のdocker runコマンドを定期実行するよう設定していきます。

    シェルスクリプト作成

    コマンド内で現在の階層をPWDコマンドで出力しているのでディレクトリ移動やsudoで動かすためのユーザーパスワードが必要なため超簡単なシェルスクリプトを書いて、シェルスクリプトからdocker runを動かすようにしたいと思います。

    後述するタイムスケジューラのコマンド欄に直接書いても良いんですが、Dockerfileやsrcディレクトリと同じディレクトリ内で管理できた方が楽なのでシェルスクリプトに記述する方式を採用しています。

    もし実行するコマンドを修正したくなってもわざわざタイムスケジューラの画面を開く必要はなく、シェルスクリプトを修正すれば良いので楽ちんです(馴染みのエディタで編集できるので・・・!)。

    #!/bin/sh
    
    # sudo権限でdockerを動かすためにSynologyユーザーのパスワードを記述
    PASS=password
    
    # Dockerfileがあるディレクトリを指定
    cd /volume1/Work/Develop/docker/python-selenium/test
    # sudo権限でdocker runコマンドを実行
    echo $PASS | sudo -S docker run --rm -v ${PWD}/src:/home python-selenium-test

    これをstart.sh等分かりやすい名前をつけてDockerfileがあるディレクトリに置いておきます。

    注意点として、先程はdocker runコマンドに-itオプションを指定していましたがシェルスクリプト上では外しています。

    タスクスケジューラで自動実行する場合勝手に始まって勝手に終わるので、-itオプションは必要ありません(というかつけたままだとエラーになります)。

    パスワードは暗号化しておく

    ここでは触れませんが、NAS内とはいえユーザーパスワードを平文で書いておくのはセキュリティ的にもよろしくないのでできれば暗号化しておくことをおすすめします。

    main.pyを修正

    コンソールを目にする機会はないので不要なprint文を削除しておきます。

    最終的なPythonプログラムが以下の通りです。

    import datetime
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    # アクセス先のURL
    URL='https://time.is/ja/Tokyo'
    
    # webdriverの設定
    options = webdriver.ChromeOptions()
    options.add_argument("--headless")
    options.add_argument("--no-sandbox")
    options.add_argument("--disable-dev-shm-usage")
    options.add_argument("--disable-gpu")
    
    driver = webdriver.Chrome(options=options)
    
    # 現在時刻を取得して日本時間に変換
    now = datetime.datetime.now() + datetime.timedelta(hours=9)
    
    # try~finallyを用いて必ずchromeが終了するようにする
    try:
        # アクセス
        driver.get(URL)
    
        # TIME.ISのソース内に存在するtime_sectionがあれば処理を実行する
        if driver.find_elements(By.ID, 'time_section'):
            # date.txtを開いて現在時刻をstringで出力
            with open('date.txt', mode='w', encoding='utf-8') as f:
                f.write(str(now))
            
            # スクリーンショットを撮影してimgディレクトリ下に現在日時.pngのファイル名で保存
            driver.save_screenshot('img/' + str(now.strftime('%Y-%m-%d-%H-%M-%S')) + '.png')
    finally:
        # webdriverを終了
        driver.quit()

    タイムスケジューラに登録する

    いよいよ最後の作業、Synologyのタイムスケジューラに作成したシェルスクリプトを読み込ませて行きます。

    タスクスケジューラは「コントロールパネル」のサービス内にある「タスクスケジューラ」タブ/アイコンから設定可能です。

    作成>予約タスク>ユーザー指定のスクリプトの順でクリックする

    タスクスケジューラ上部の作成ボタンから「予約タスク」「ユーザー指定のスクリプト」という順でクリックして新しいタスクスケジュールを作成します。

    タスク名は英数字とスペースのみが利用できる

    まずはタスク名を入力します、今回は「Python-Selenium-Test」としておきました。

    英数字とスペースのみ、最初と最後にスペースを使うことはできません。

    実行ユーザーはシェルスクリプトにパスワードを書いたユーザー名を指定してください、パスワードが合わないとsudo権限が得られず永遠に失敗し続けてしまいます。

    定期実行したい周期を入力する

    続いてスケジュールタブ、どの程度の頻度で実行して欲しいのかを指定します。

    今回はテストなので5分おきにしてみました、言うまでもありませんがアクセス先がご自身のサイトではない場合過度なアクセスは控えましょう。

    スクリプトには直接コマンドを羅列することも可能

    最後にタスク設定、ここでは実際に動かすコマンドを入力します。

    今回はシェルスクリプトを動かすので以下のように入力します。

    bash <シェルスクリプトのPATH>

    僕の場合シェルスクリプトを/volume1/Work/Develop/docker/python-selenium/test/start.shに設置したので上記のようになっています。

    実行結果をEメールで受け取りたい場合は「Eメールで詳細な実行情報を送信」にチェックを入れメールアドレスを入力しておきましょう。

    「スクリプトが異常終了した場合にのみ詳細な実行情報を送信」にチェックを入れると正常に実行した場合は通知が来ないので、エラーだけが欲しい場合はここにもチェックを入れておきます。

    余談ですが僕は普段使っている定期実行系のプログラムは全てSlackに結果を通知するようにしているので、そういう場合はチェックしない方が良いですね。

    最後にOKをクリックして保存しておきましょう!

    ログを保存したい場合

    ログには実行結果や標準出力、エラー内容が表示されるので便利

    タスクスケジューラのログを保存したい場合、タスクを選択して設定ボタンをクリックします。

    「出力結果を保存」にチェックを入れ保存先のディレクトリを指定すると、操作ボタンの「結果を表示」からログを確認することができます。

    標準出力の内容も表示されるので、実行したPythonプログラムのエラーも表示されるのでNAS自体に空き容量がある場合は保存しておいても良いですね。

    実行結果確認

    それでは最後に実行結果を確認しておきます。

    date.txtに最後の実行日時が記載されている

    date.txtが定期的に更新されていることを確認します。

    設定した時間ごとにスクリーンショットが保存されている

    ばっちり5分おきにスクリーンショットが保存されていますね!

    SynologyのNAS上でDockerを動かしてPython×seleniumのスクレイピングを定期実行する まとめ

    Synology DSMはLinuxベースですが、全てのLinuxコマンドが使える訳ではありませんしyumやdnf、aptコマンドで手軽にパッケージがインストールできる訳でもありません。

    しかしDockerが動くので、コンテナさえ建ててしまえばハードに依存しないものならなんでもできます。

    NASという基本的に24時間365日稼働するシステムは定期実行と非常に相性が良いので利用しない手はないですよね!

    ファイル保存や整理、バックアップのためだけにSynologyのNASを利用しているのはとてももったいないのでぜひこの機会に定期実行の母艦としても利用して頂けると同じSynology愛好家として嬉しいなと思います!

    ]]>
    https://www.braveryk7.com/docker-synology-perform-regular-python-selenium/feed/ 0
    「あなたと対等」を示すため年下にこそ敬語を使うべき https://www.braveryk7.com/civility/ https://www.braveryk7.com/civility/#respond Thu, 14 Oct 2021 14:29:35 +0000 https://braveryk7.com/?p=7561 以前僕が敬語についてツイートしたんですが、ツイートを見た方から思った以上に褒められる機会が多かったのできちんと言語化しておきます。

    ほぼツイートに書いている事が全てなんですが、敬語は「僕とあなたは対等な関係ですよ」を示すことがとても簡単にできる手段。

    もしあなたが力関係がはっきりしている、例えば上司部下の関係で誰かと接しているなら今すぐ取り組むだけで人間関係がほんのちょっと良くなるかもしれません。

    年配者は敬って然るべき、年上に敬語を使うのは当たり前で年下はへりくだるべき論

    一般的に「目上の人には敬語を使う」という考え方が当たり前に根付いており、日本に限らず「年配者を敬って然るべき」という考え方が定着しています。

    もちろんそれ自体はとても良い事ですし、今僕たちが生きる国や地域、文化を作り上げてきた年配者に対して一定の敬意を払って当然だと僕も思います。

    年配者は僕らに無い経験を持っていますし、その経験から学ぶ事はたくさんありますからね。

    でも敬語の”敬う”は相手に敬意を持っていることを示すことができるという点が非常に重要。

    だからこそ年下にこそより意識して敬語を使うべきだと僕は考えています。

    年上を敬え=年下を蔑ろにしても良いではない

    諸外国の教育はわかりませんが、少なくとも日本で義務教育を受けている間は徹底的に年上を敬うことを叩き込まれます。

    例えば僕の通っていた小学校では1年生では6年生とペアになって掃除をして1年生がお礼に歌を披露して感謝を伝えるというイベントがありましたし、5年生は卒業する6年生に最上級生を引き継ぐ決意とお世話になった感謝を伝えるという在校生代表のスピーチがありました。

    職員室に入る時はノックと「失礼します」の挨拶が無いとやり直しをさせられ、中学校では「校則で決まっているから」という理由だけで勝手にかばんを開けられ中身をひっくり返され染まった髪は黒スプレーをぶっかけられピアスはその場で外せと没収されました。

    後半部分は今思えば僕自身反抗的だったし多少のやんちゃもしたので大いに反省すべきところはあるんですが、少なくとも多くの児童生徒は「先生には逆らっちゃいけない、無条件で言うことを聞かなければならない」という教育を受けてきたと思います。

    ここで教育の良し悪しをどうこう言うつもりはないので、大なり小なりそういうようなことがあったことを思い出して頂ければ幸いです。

    で、僕自身は少なくとも当時の教職員から「対等な関係である」と扱われた記憶は無く、教師と生徒という絶対的な服従関係に従わざるを得ない構図だったと記憶しています。

    これはやはり学年によっては思春期の子どもを扱う教職員の方々のご苦労もあったのでしょう、時にはそういう力で押さえつける方が簡単なこともあると思います。

    それでも「もし先生が僕と対等であると示してくれたら、当時はもう少し話を聞けたのかな」と思ってしまいます。

    そして「自分が大人になったら年下であるという理由で不当に力を誇示したり蔑ろにするのは辞めよう」と思ったのもこの経験が僕にとって結構嫌なものだったからです。

    たまたま生まれたのが早かっただけで別に偉くない

    敬意を示すって言葉にすると簡単ですが実際に態度で表すのって難しいですよね。

    年の差があれば無条件で年下が年上に敬意を持っている前提なので、意識するまでもなくそのまま力関係になりがちです。

    だから年上の部下は扱いづらいなんて言われますし、年下の上司には「なんであんな奴の下に・・・」という声もあがります。

    でも冷静に考えてほしいんですが、年上ってたまたま早く生まれただけなんですよね。

    たかが数年数十年早く生まれただけで無条件にへりくだらなきゃいけないっておかしいと思いませんか?

    尊敬できる年下もいれば全く尊敬に値しない年下も世の中にはごまんといます、そういう人間性を一切無視して「早く生まれたから」というだけで無条件にフィルタリングする行為はまさしく脳死な考え方です。

    だからといって「じゃあ尊敬しない年上には敬語を使う必要ないな」というのは少し早計です、「相手も考え方が違うだけで一人の人間である」という敬意を示す為に敬語を使うのは余計なトラブルを生まず円滑に人間関係を築ける一つの方法。

    少なくとも当たり前に敬語を学んできた僕ら日本人にとって、敬語を使うなんて息をする程度のことです。

    もちろんできるだけ正しい使い方をした方がよりよいとは思いますが、誤用に気をつけなければいけない、尊敬語と謙譲語の正しい使い分けなんていい出したらキリがないので僕は「少なくとも相手に敬意を持っていることが伝わる」のが一番大事だと思っています。

    敬語は相手の属性に関係なく「僕とあなたはお互い一人の人間で対等」を簡単に伝える手段

    ここまでお伝えしたように、年上とか年下とかで分ける必要は基本的には無いと思っています。

    基本的に相手は一人の人間、お互いがお互いに対等であるべきだしそこに生まれた順番など関係無いはず。

    それでもやはり多かれ少なかれみんな「年下だから」という理由で大きな態度をとられた事はあるんじゃないでしょうか?

    だからこそ僕は年下にこそ敬語を使って「別に僕は偉くないし、あなたがへりくだる必要も無い。お互いフェアで対等な関係だよ」という意思を示すために極力敬語を使うようにしています。

    当然冗談も言うし固くない敬語を心がけています、ただ単に敬語を使って「接しにくい人だな」と思われるのは意味がないですし、丁寧かつユーモアある人間に思ってもらえる方が良好な人間関係を気づけるのは言うまでもありません。

    相手にとって心地が良い会話相手になることは非常に重要。

    そこに年上とか年下とか特に必要が無い概念を持ち込んで意味なく区別するから人間関係に亀裂が生じてしまうと考えています。

    「あなたと対等」を示すため年下にこそ敬語を使うべき

    敬語ってなんとなく堅苦しいイメージがあったり、やれそれは使い方が違うだの謙譲語だの尊敬語だの丁寧語だのと指摘してくる敬語警察も存在します。

    でも本当に重要なのは他人の敬語を指摘してくる人よりも、相手に「あ、この人は自分のことを蔑ろにしない人だな」と思ってもらえること。

    敬語なんて所詮は日本語の一ジャンル、それでもその敬語は僕ら日本人に「敬う相手に使うべきもの」と叩き込まれています。

    でも年配者にその「敬うべき相手」の対象が年下である自分だと思ってもらえていたら誰も悪い気はしないですよね、僕も過去にそういう素晴らしい大人に何度か出会って嫌な気になったことは一度もありません。

    僕も彼らのように相手を「年齢が下だから」というよくわからない理由で蔑ろにすることも偉そうにすることも絶対にしたくないし、少しでも対等な人間であるという敬意を敬語という形で示せればいいと考えています。

    もし今日からほんの少しの人が年齢の壁を取っ払って相手に敬意を示すことができれば、日本はほんのちょっとだけ良い国になるかもしれませんね。

    ]]>
    https://www.braveryk7.com/civility/feed/ 0
    minerstatを使ってBinance PoolでEthereumをマイニングする https://www.braveryk7.com/minerstat-binance-pool-ethereum-mining/ https://www.braveryk7.com/minerstat-binance-pool-ethereum-mining/#comments Mon, 11 Oct 2021 02:54:54 +0000 https://braveryk7.com/?p=7473 仮想通貨マイニングブームだった2017年辺り、一時はビットコイン価格低下に伴いかなり下火になりましたが2021年現在再び仮想通貨の価格高騰でマイニングブームが密かに起こっています。

    特にPCゲームの流行、eスポーツの人気向上で高価なグラボを所持している方も多いですよね。

    そこで仮想通貨大手のBinanceが提供するプールを使って、気軽にイーサリアム(Ethereum/ETH)をマイニングする手順をまとめておきます。

    高価なグラボを持っている方は空き時間に稼働させるだけでお小遣いになりますよ!

    • 誰でも今日からイーサリアムのマイニングができる
    • Binance Poolの特徴がわかる
    • minerstatの使い方がわかる

    minerstatとBinance Poolを使ってマイニングする理由

    まずはじめに、なぜminerstatとBinance Poolをチョイスしたのかを簡単にご説明します。

    既にご存知で手順を知りたいだけという方は「minerstatを使ってBinance Poolでマイニングを始める全手順」からお読みください。

    minerstat

    minerstatのWindowsアプリ

    minerstatはマイニングソフトの管理アプリのようなソフトウェアです。

    旧来のマイニングソフトは自分で接続に必要な情報をバッチファイルに書く必要があり中々とっつきにくかったですが、全てWebページ上から設定ができるので心理的な抵抗がかなり低い点が特徴。

    非常に見やすく、ほぼリアルタイムでマイニング状況がインターネットにさえ繋がっていればいつでもどこでも確認できます。

    minerstatは海外のサイトなので全て英語ですが、基本的な使い方は当記事ですべて解説するのご安心ください。

    Binance Pool

    Binance Poolの管理画面
    Binance Poolは仮想通貨取引所で世界No.1のBinance(バイナンス)が運営する仮想通貨マイニングプールです。

    通常仮想通貨のマイニングは1人で計算できる量に限度があるので、多数のユーザーがプールに集まって一緒にマイニングをする→得られたマイニング報酬を提供したハッシュレート毎に参加ユーザーに分配するという流れになっています。

    例えば同じく超有名なNicehashが2%の手数料を徴収するのに比べBinance Poolは0.5%と格安。

    他のプールはある程度まとまった額にならないと出金できませんがBinance PoolはBinanceのウォレットに支払われるため最低支払金額を待ち確認する手間も手数料もありませんし、マイニング報酬をすぐ円に変えたり再投資することも可能です。

    更にやはり世界最大の仮想通貨取引所Binanceブランドの安心感でしょう、どこの誰が運営しているか分からないマイニングプールは突然閉鎖してしまったりマイニング報酬の持ち逃げも考えられます。

    その点Binance程安心できる場所はありません。

    特にこだわりが無ければ2021年、マイニングプールはBinance Pool一択だと思います。

    Binance Poolの支払いスケジュール

    事前にいつ報酬が確定して支払われるのか確認しておきましょう。

    Binanceは以下のサイクルで支払いを行っています。

    項目名UTC(協定世界時)JST(日本標準時)
    Binance Poolの1日0時~23時59分9時~翌8時59分
    報酬の支払い翌2時~10時11時~19時
    Binanceの各種スケジュール

    Binance上ではUTC(協定世界時)で表示されていますが、JST(日本標準時)との時差は9時間なので毎日9時から翌日の8時59分までが1日として計算されます。

    その後報酬の支払いは11時~19時の間に行われますが、ほとんどの場合は11時~12時の間に確認ができます。

    Binance Poolの場合毎日支払い処理がされるので、まるで毎日がお給料日の気分が味わえますね・・・!笑。

    minerstatを使ってBinance Poolでマイニングを始める全手順

    それでは実際にminerstatを使ってBinanceでマイニングを始めてみましょう!

    まずBinanceアカウントの登録、続いてminerstatアカウントの登録、設定という手順でご説明します。

    Binanceアカウントの登録

    Binanceアカウントの登録
    • Step.1
      Binanceにアクセス

      まずはBinanceのアカウント作成ページにアクセスします。

    • Step.2
      必要事項を入力してアカウント作成する
      Binanceアカウント登録画面

      メールアドレス、もしくは電話番号を使ってアカウント登録をします。

      どちらでもOKなのでパスワード欄と共に入力しアカウント作成ボタンをクリックします。

      画像をスライドさせてbotではないことの証明をして次へ進みます。

      ご自身の大事な報酬を受け取るアカウントなので、必ず強固なパスワードを設定してください。

    • Step.3
      メールアドレス認証
      Binanceのメールアドレス認証

      メールアドレスを登録した場合、入力したメールアドレス宛に6桁の認証コードが書かれたメールが送付されます。

      この認証コードを入力して登録完了です。

    • Step.4
      KYC(本人確認)

      アカウント自体はこれで登録できましたが、実際の資金が関わってくるのでKYCを通す必要があります。

      右上の認証ボタンをクリックしてください。

      居住地を必ず確認する

      必ず居住地がJapan(日本)になっていることを確認の上、「今すぐにはじめる」ボタンをクリックして認証を開始してください。

      画面の指示通りに進めればOK、問題が無ければ最短10分程度~1日で認証が終わります。

      なお途中に本人確認書類が必要になります。

      • 運転免許証
      • マイナンバーカード
      • パスポート

      もしいずれも持っていない場合、無料で発行できるマイナンバーカードか最短1日で取得できる原付きの運転免許証を入手してKYCを通すのが良いかと思います。

      以降の作業はKYCに通ったあと進める形になります。

    • Step.5
      マイニングアカウントの作成
      マイニングアカウントを作成する

      上部のメニューからファイナンス->バイナンスプールを開いてください。

      ここではBinanceのアカウントの中にマイニング専用のアカウントを作成します。

      右上にある「マイニングアカウント」をクリックすると登録フォームが開くので、マイニングアカウント名を入力してください。

      英数字であればなんでもOKです。

      すぐ下にビットコイン(SHA256)とイーサリアム(Ethash)のアルゴリズム、どちらをマイニングするか選択するので必ずEthashを選択して作成するボタンをクリックしてください。

      このマイニングアカウントは後ほど必要になります。

    お疲れ様でした、これでBinanceの登録は完了です!

    KYCに通ればマイニング以外にも多くの通貨のトレードや、ローンチパッドと呼ばれる当たればリターンが数十倍になることが期待できるIEO等もフルで利用可能です!

    minerstatの登録

    minerstatではマイニングソフトの統合管理を行うためのID発行をしBinanceのマイニングアカウントと連携、マイニングソフトのダウンロードとインストールを行います。

    minerstatアカウントの登録
    • Step.1
      minerstatにアクセス
      minserstat登録画面

      まずはminerstatにアクセスします。

      メールアドレスを入力しI agreeのチェックボックスをチェックしCreate accountをクリックします。

      minerstatのbotチェック

      Binanceに比べて少しめんどくさいですが、指定された画像を選択してbotではないことに認証を行います。

    • Step.2
      ワーカーの登録
      minerstatでworkerを登録する

      続いてワーカーの登録です。

      ワーカーとは「どのパソコンでマイニングしているのか識別するためのID」のようなものだと思ってもらえばOKです。

      Workerの情報を入力する

      + Add new workerボタンをクリックすると入力フォームが表示されます。

      こだわりが無ければWorker nameはデフォルトのままでOKですが、TypeとSystemは必ずご自身の環境にあったものを選んでください。

      Typeはグラフィックボード(GPU)の種類です。

      僕はNvidiaのGTX 1080Tiを使用しているのでNvidiaを選びましたが、AMD社製のものを使っている方はもちろんAMDを選択します。

      SystemはOSです、大半の方はWindowsかMacだと思うのでどちらかを選択しましょう。

    • Step.3
      マイニングソフトウェアのダウンロード

      ワーカーの登録が完了するとDownloadボタンが表示されるので、クリックしてマイニングソフトウェアをダウンロードします。

      minerstat-installer.exe(Windowsの場合)というソフトウェアがダウンロードされるので、実行してインストールしてください。

    • Step.4
      メールアドレス認証
      アクセスキーが記載された認証メール

      作業を行っている間に、minerstatからメールが届いていると思います。

      メール本文中にあるランダムな英数字は今後ログインに必要になるので、メールを保護等しておくことをおすすめします。

      Click here to confirmボタンをクリックしてメールアドレス認証を行っておきましょう。

    • Step.5
      Address editorでBinance Poolの情報を入力する

      続いて左側のAddress editorより、マイニングに必要な情報を入力します。

      項目名入力値
      TAG NAMEBINANCE
      POOL ADDRESSstratum+tcp://ethash.poolbinance.com:1800
      Poolsに入力する項目

      TAG NAMEはわかりやすければ何でもOKです。

      POOL ADDRESSは間違わないようにコピペして入力することをおすすめします(このプールアドレスはBinanceのアルゴリズム欄の▼をクリックする事で確認できます)。

      デフォルトでいくつか入力されているETC/ETH/RVN等は削除してしまってOK。

      払い出し先となるWallets情報を入力

      続いて払い出し先の登録を行います。

      Walletsタブをクリックし、それぞれ入力していきます。

      項目名入力値
      TAGNAMEBINANCE
      POOL USERNAME OR WALLET ADDRESSBinanceのマイニングアカウント名
      Walletsに入力する項目

      先ほどと同じようにTAGNAMEはわかりやすい名前を入力します。

      POOL USERNAME OR WALLET ADDRESSはBinanceで登録したマイニングアカウント名を入力してください。

    • Step.6
      ClockTuneで最適なグラフィックボード設定を選ぶ

      MSI Afterburner等で設定される場合はこのステップを飛ばしてください。

      仮想通貨マイニングはなるべく消費電力を下げ、かつグラボの能力を最大限活かすためにMSI Afterburner等のチューニングツールを使用することが常識です。

      しかしminerstatでは予めグラボ毎にざっくりおすすめの設定を用意してくれており、とりあえずそれを選んでマイニングを開始してみるのも一つの手です。

      左側のClockTuneを選択し、+ Add new profileをクリックしてください。

      minerstat ClockTuneのProfile name

      まずは最上部のProfile nameを入力します、分かりやすければ何でもOK。

      自分の環境にあったシステム上でGPUを選択する

      続いてご自身の環境にあったGPU-システム欄を確認します。

      僕の場合はNvidia-Windowsなのでこの欄です、デフォルトで色が変わっているので迷うことは無いでしょう。

      Fill from databaseボタンでグラボを選択できるので、ご自身のグラボを選んでAppend valuesボタンをクリックします。

      するとPower limit等の欄が自動的に入力されるので、右下のApplyボタンをクリックして完了です。

    • Step.7
      Worker configを設定する
      Worker configを選択し、設定項目を入力する

      いよいよこれで設定は最後です!

      左側のWorker configをクリックし、ClockTune profileに先程ClockTuneで作成したものを選択しましょう。

      デフォルトクライアントを設定する

      マイニングに使用するソフトウェアを決めます。

      とりあえずGPUマイニングの定番といえばGMINERなので今回はGMINERを検索して設定してみましょう。

      Default clientを変更すると、直下の項目がGMINERに変わる

      GMINERを選択するとそのすぐ下の欄がGMINERの設定に切り替わるので、以下のように設定します。

      項目名入力値
      CoinETH(Etash)
      PoolBINANCE
      WalletBINANCE
      Passwordx(デフォルト値)
      GMINERの入力値

      PoolとWalletは先程Account editorで入力したものです。

      Passwordはデフォルトのままで構いません。

      1kWh辺りの電気代をドルで入力する
      1kWh辺りの電気代をドルで入力する

      もしご自宅で使用されている電気のkWhが分かる方はElectricity costsも入力しておきましょう、より詳細な収益見込みが表示可能です。

      ドル表記で入力する必要があるため、1kWh辺りの電気代を現在のドル円レートで割って入力しましょう。

      マイニングはいかに電力消費を抑えられるかが勝負の分野、もし今大手都市電力会社(東京電力や関西電力等)を使っているなら、この機に1円でも安い電力会社に切り替えましょう!

    お疲れ様でした、これですべての準備が整いました!

    minerstatアプリを起動してBinance Poolを使ったマイニングを開始する

    minerstatの画面

    それではいよいよマイニング開始です。

    右下の「Start minig」ボタンをクリックしてマイニングを開始します。

    Windowsの場合、黒いコンソール画面が1~2枚程表示されますがマイニングの状況を表示するものなので閉じないようにしておいてください。

    コンソールにはハッシュレートや電力が表示される

    最終的にこのようにハッシュレート(Speed欄)等が表示されれば無事にマイニングが行えています!

    minerstatのWorkersページ

    minerstatのWorkersページ

    minerstatのWordkersページではよりグラフィカルにマイニング状況がほぼリアルタイムで確認可能です。

    1日の収益予測や1ヶ月マイニングした場合の収益予測、グラボの温度等が確認できますね。

    Binanceの統計ページ

    Binanceの統計ページ
    Binanceは統計タブやワーカータブから確認が可能です。

    実際に現在までに得た収益(概算値)や確定した昨日の収入額が表示されます。

    Binanceのページでは実際にマイニングを始めてから反映されるまで1時間程度のラグがあるので、初回のマイニング時には念の為1~2時間経過したら確認してみましょう。

    日本円出金用に「DMM Bitcoin」か「GMOコイン」口座を開設する

    マイニングで得られた利益をどうするか、候補は様々あります。

    • そのままETHの値上がりを期待してETHとして持っておく
    • 複利運用を期待してBinanceに預け入れる(ステーキング)
    • 他の仮想通貨に交換する
    • DeFi等でステーキングする
    • 日本円として出金する

    しかし最終的にはいつか必ず日本円として出金する事になると思います。

    そこで今のうちに出金用の口座を作っておきましょう、おすすめは「DMM Bitcoin」か「GMOコイン」です。

    取引所名出金手数料
    bitFlyer三井住友銀行宛:3万円未満/220円 3万円以上/440円
    三井住友銀行以外:3万円未満550円 3万円以上/770円
    Coincheck407円
    bitbank3万円未満/550円 3万円以上/770円
    DMM Bitcoin無料
    GMOコイン無料
    ビットポイント330円
    Huobi330円
    TaoTao無料
    SBI VCトレード住信SBIネット銀行宛:無料
    住信SBIネット銀行以外:145円
    主要な仮想通貨取引所の出金手数料

    この2つの仮想通貨取引所は出金手数料が無料なため、ぜひ出金用口座として利用したいですね!

    TaoTaoも出金手数料は無料なんですが、板取引(他ユーザーとの直接取引)が無いので日本円に変える時に損なレートでの円転になってしまいます。

    住信SBIネット銀行の口座を使っていたらSBI VCトレードも選択肢の一つです。

    ただでさえ小さい金額をちまちま集めていくスタイルの仮想通貨マイニングで何百円も手数料を払っていたらやる意味がありません・・・笑。

    ETHではなくXRP等に変えてから送金するのがおすすめ

    ETHのまま出金すると送金手数料が高いので、送金手数料が安いリップル(0.25XRP/1XRP=130円の時32.5円)等に変えるのがおすすめです。

    通貨Binance出金手数料
    イーサリアム(ETH)0.0035ETH
    リップル(XRP)0.25XRP
    BinanceのETHとXRPの出金手数料

    2021年10月11日時点で、1ETH=約40万円、1XRP=約130円です。

    この時手数料は日本円換算でETHの場合約1,400円、XRPの場合約32.5円とおよそ4.3倍ほどの開きがあります。

    なるべく手数料を安く抑えることはマイニング事業において必須です、必ず安い方法を採用してください。

    もちろんリップル以外でもOKです、出金用に開設したDMM BitcoinやGMOコインで取り扱っている通貨を選択してください(ビットコインは手数料が最も高いので避けましょう)。

    ただし板取引はマイナー通貨だとトレードする人が少なく中々約定しないので、やはりそういう意味でもXRPが最もおすすめかなと思います。

    minerstatを使ってBinance PoolでEthereumをマイニングする まとめ

    minerstatを使ってBinance Poolでマイニングする方法を解説しました。

    イーサリアムはビットコインに次ぐ時価総額第2位の通貨で、今流行りのNFTの決済にも使われることが多くこれからますます需要が高まることが予測されます。

    今のうちにETHをたくさん集めておけば将来大きな資産になるかもしれません。

    もちろん得たマイニング報酬をすぐに日本円に変えても良いですし、他の通貨に変えてもOK。

    余っているグラボを有効活用して、0からお金を生み出す快感をぜひ体験してみてください!

    ]]>
    https://www.braveryk7.com/minerstat-binance-pool-ethereum-mining/feed/ 4
    【PHP】pre/post-install-cmdはcomposer.lockが無いと動かない https://www.braveryk7.com/pre-post-install-cmd-requie-composer-lock/ https://www.braveryk7.com/pre-post-install-cmd-requie-composer-lock/#respond Sun, 10 Oct 2021 13:15:55 +0000 https://braveryk7.com/?p=7458

    pre/post-install-cmdはcomposerで使用できる便利なイベントで、composer installした時に自動で実行することが可能。

    そのためGitHubでリポジトリを共有してチーム開発する場合、初期に行いたいセットアップを含めておけば自動的に環境構築が行なえます。

    今回GitHooksを利用して無駄なコミットを防ぐためのシェルスクリプトを書いたのでチームでcomposer install時に使えるようにと色々調べていたら、composer.lockファイルが無いとpre/post-install-cmdが動かないことが分かったのでメモしておきます。

    • このケースではcomposer updateでpre/post-update-cmdを使用する
    • pre/post-autoload-dumpを使用してもOK
    • composer installはcomposer.lockからパッケージをインストールするコマンド
    • composer updateはcomposer.jsonからパッケージをインストールするコマンド

    新規プロジェクトでまだcomposer.lockが無い場合

    まず前提として、このケースは「新規のプロジェクトを作成している段階でまだcomposer.lockファイルが生成されていない」という場合に限ります。

    例えば既にプロジェクトがあり、GitHub等でcomposer.jsonと共にcomposer.lockが含まれている場合は再現されません。

    「composer.lockファイルが無い」という点がキーになります。

    JavaScriptで使うnpmやyarnの場合、外部ライブラリを使うケースが非常に多いです。

    特にReactでの開発がデファクトスタンダードになっている今、バニラJSだけで開発を進めるケースのほうがレアですよね。

    反面PHPは特にWordPress周りの場合、ほとんど外部ライブラリを使うことがありません。

    僕も後述するPHP CodeSnifferやWordPressのコーディング規約、PHP Compatibilityぐらいしか使わないのでcomposer.jsonは毎回コピペして一気にcomposer installしている状況です。

    期待する動作

    例えば以下のようなcomposer.jsonを用意します。

    {
        "require-dev": {
            "squizlabs/php_codesniffer": "*",
            "wp-coding-standards/wpcs": "*",
            "phpcompatibility/php-compatibility": "*"
        },
        "scripts": {
            "post-install-cmd": [
                "echo test message"
            ]
        }
    }

    require-devにいくつかパッケージを指定しており、scriptsにpost-install-cmdとしてechoコマンドを仕込んでいます。

    当然「test message」がcomposerのパッケージインストール終了後に出力される事を期待しています。

    しかし実際には以下のようなログが表示されます。

    % composer install           
    No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 3 installs, 0 updates, 0 removals
      - Locking phpcompatibility/php-compatibility (9.3.5)
      - Locking squizlabs/php_codesniffer (3.6.0)
      - Locking wp-coding-standards/wpcs (2.3.0)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 3 installs, 0 updates, 0 removals
      - Installing squizlabs/php_codesniffer (3.6.0): Extracting archive
      - Installing phpcompatibility/php-compatibility (9.3.5): Extracting archive
      - Installing wp-coding-standards/wpcs (2.3.0): Extracting archive
    3 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Generating autoload files

    どこにも「test message」が出力されていません。

    pre/post-install-cmdをcomposer installで実行する対策

    不審に思って既にパッケージは入っていますが、再度composer installを叩いてみました。

    % composer install
    > echo test message
    test message
    Installing dependencies from lock file (including require-dev)
    Verifying lock file contents can be installed on current platform.
    Nothing to install, update or remove
    Generating autoload files

    なんと、出力されていますね・・・!

    ここで次の仮説が立てられます。

    1. 初回のcomposer installでは実行されない
    2. vendorディレクトリが無いから実行されない
    3. composer.lockファイルが無いから実行されない
    4. 2と3両方

    そこでとりあえず手っ取り早く、vendorディレクトリを削除して再度composer installを叩いてみました。

    % rm -rf vendor
    % composer install
    > echo test message
    test message
    Installing dependencies from lock file (including require-dev)
    Verifying lock file contents can be installed on current platform.
    Package operations: 3 installs, 0 updates, 0 removals
      - Installing squizlabs/php_codesniffer (3.6.0): Extracting archive
      - Installing phpcompatibility/php-compatibility (9.3.5): Extracting archive
      - Installing wp-coding-standards/wpcs (2.3.0): Extracting archive
    Generating autoload files

    出力されていますね。

    次はvendorディレクトリを残したまま、composer.lockファイルを削除して試してみます。

    % rm composer.lock 
    % composer install
    No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 3 installs, 0 updates, 0 removals
      - Locking phpcompatibility/php-compatibility (9.3.5)
      - Locking squizlabs/php_codesniffer (3.6.0)
      - Locking wp-coding-standards/wpcs (2.3.0)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Nothing to install, update or remove
    3 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Generating autoload files

    出力されていません。

    つまりcomposer.lockファイルが無いとpre/post-install-cmdは動かないということになります。

    composerのパッケージインストール系のコマンドおさらい

    ここで改めてcomposerコマンドを整理してみます、結論から言えばそもそも僕の使用方法が間違っていました。

    composerのインストール関連コマンド

    composerにはインストールに関連するコマンドが全部で3つあります。

    composer install

    今回使用したコマンドがこのcomposer installですが、このコマンドはcomposer.lockからパッケージをインストールするコマンドです。

    つまりそもそもcomposer.lockが存在している前提で使用すべきコマンドです。

    composer require

    新規にパッケージをインストールするコマンドで、npm installのような役割のコマンドです。

    なにかパッケージをCLIからインストールする場合はcomposer requireを使うと覚えておけばOK。

    composer update

    composer updateはcomposer.jsonを元にパッケージをインストールするコマンドです。

    つまり今回のような「新規プロジェクトを作成し、最初にcomposer.jsonに記述したパッケージをインストールする=composer.lockがまだ無い」というような場合はこのコマンドを使うのが正しいようです。

    composer.jsonを元にcomposer.lockを生成する正しい手順なので、pre/post-install-cmdをpre/post-update-cmdに切り替えればきちんと動作します。

    composer updateでpre/post-update-cmdを試す

    それでは実際にcomposer updateコマンドで想定したように動くか確認してみます。

    composer.jsonは以下のように修正しました。

    {
        "require-dev": {
            "squizlabs/php_codesniffer": "*",
            "wp-coding-standards/wpcs": "*",
            "phpcompatibility/php-compatibility": "*"
        },
        "scripts": {
            "post-update-cmd": [
                "echo test message"
            ]
        }
    }

    8行目をpost-update-cmdに編集してあります。

    # composer.lockとvendorディレクトリが無いことを確認
    % ls -la
    total 16
    drwxr-xr-x@  5 braveryk7  staff  160 10 10 13:38 .
    drwxr-xr-x@ 16 braveryk7  staff  512 10 10 13:33 ..
    drwxr-xr-x@  9 braveryk7  staff  288 10 10 05:33 .git
    -rw-r--r--   1 braveryk7  staff   22 10  9 23:36 .gitignore
    -rw-r--r--   1 braveryk7  staff  393 10 10 15:14 composer.json
    
    # composer update実行
    % composer update
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 3 installs, 0 updates, 0 removals
      - Locking phpcompatibility/php-compatibility (9.3.3)
      - Locking squizlabs/php_codesniffer (3.6.0)
      - Locking wp-coding-standards/wpcs (2.3.0)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 3 installs, 0 updates, 0 removals
      - Installing squizlabs/php_codesniffer (3.6.0): Extracting archive
      - Installing phpcompatibility/php-compatibility (9.3.3): Extracting archive
      - Installing wp-coding-standards/wpcs (2.3.0): Extracting archive
    3 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Generating autoload files
    > echo test message
    test message
    
    # composer.lockとvendorディレクトリが正常に生成されている
    braveryk7@braveryk7s-MacBook-Pro ghtest % ls -la 
    total 32
    drwxr-xr-x@  7 braveryk7  staff   224 10 10 16:27 .
    drwxr-xr-x@ 16 braveryk7  staff   512 10 10 13:33 ..
    drwxr-xr-x@  9 braveryk7  staff   288 10 10 05:33 .git
    -rw-r--r--   1 braveryk7  staff    22 10  9 23:36 .gitignore
    -rw-r--r--   1 braveryk7  staff   393 10 10 15:14 composer.json
    -rw-r--r--   1 braveryk7  staff  7586 10 10 16:27 composer.lock
    drwxr-xr-x   8 braveryk7  staff   256 10 10 16:27 vendor

    ばっちり想定したようにcomposer.lockファイルとvendorディレクトリが生成され、test messageが表示されていますね!

    npmと同じように「installで大丈夫でしょ」と思って曖昧に使ってしまっていんたんですが、composerコマンドは以下のように使い分けると良さそうです。

    composer updatecomposer.lockファイルが存在しない時
    composer installcomposer.lockファイルが存在する時(GitHubからcloneしてきた等)
    composer require新しくパッケージをインストールしたい時

    公式リファレンスにも各種イベントについて記載がある

    ここまで書いておいてアレですが、実は公式ドキュメント「Scripts – Composer」に各種イベントについて記述があります。

    pre-install-cmd: occurs before the install command is executed with a lock file present.

    post-install-cmd: occurs after the install command has been executed with a lock file present.

    pre-update-cmd: occurs before the update command is executed, or before the install command is executed without a lock file present.

    post-update-cmd: occurs after the update command has been executed, or after the install command has been executed without a lock file present.

    https://getcomposer.org/doc/articles/scripts.md#command-events

    これを見る限り、composer installコマンドを叩いた時にcoposer.lockファイルが無い場合はcomposer updateが実行されるようです(composer.lockがない場合、実質的にcomposer updateのエイリアスになっている)

    試してみましょう。

    composer.jsonは先程と同じようにpost-update-cmdを記述しています。

    # composer.lockとvendorディレクトリが無いことを確認
    % ls -la
    total 16
    drwxr-xr-x@  5 braveryk7  staff  160 10 10 17:42 .
    drwxr-xr-x@ 16 braveryk7  staff  512 10 10 13:33 ..
    drwxr-xr-x@  9 braveryk7  staff  288 10 10 05:33 .git
    -rw-r--r--   1 braveryk7  staff   22 10  9 23:36 .gitignore
    -rw-r--r--   1 braveryk7  staff  389 10 10 17:40 composer.json
    
    # composer.lockが無い状態でpost-update-cmdを記述してcomposer installを実行
    % composer install
    No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 3 installs, 0 updates, 0 removals
      - Locking phpcompatibility/php-compatibility (9.3.5)
      - Locking squizlabs/php_codesniffer (3.6.0)
      - Locking wp-coding-standards/wpcs (2.3.0)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 3 installs, 0 updates, 0 removals
      - Installing squizlabs/php_codesniffer (3.6.0): Extracting archive
      - Installing phpcompatibility/php-compatibility (9.3.5): Extracting archive
      - Installing wp-coding-standards/wpcs (2.3.0): Extracting archive
    3 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Generating autoload files
    > echo test message
    test message

    なんと、composer installを叩いたらpost-update-cmdが実行されました。

    という事でやはりcomposer installはcomposer.lockファイルが存在しない場合composer updateを実行するということは間違いなさそうです。

    つまりcomposer.lockファイルがない場合、pre/post-install-cmdが実行されないのはcomposer updateコマンドが実行されているからでしょう。

    composerのpre/post-install or update-cmdのベストプラティクス

    ここまで見てきたように、基本的には新規プロジェクトを作成する時に同時にコマンド一発で色々処理を走らせたい場合はpre/post-update-cmdを指定するのが良さそうです。

    ただし先述したように既存のプロジェクトのリポジトリをクローンして環境再現をする場合はcomposer.lockが存在すると思うので、この場合composer installを使うことになり当然pre/post-install-cmdが実行されます。

    どちらの場合も実行したい場合には冗長ではありますが、pre/post-install-cmdとpre/post-update-cmdどちらも指定しておくのが一番でしょうか・・・。

    pre/post-autoload-dumpを指定する

    少しハック的ですが、composer installまたはcomposer update時には必ずcomposer dump-autoloadが実行されます。

    それを利用して、composer dump-autoloadのイベントであるpre/post-autoload-dumpを指定するのも一つの手です。

    {
        "require-dev": {
            "squizlabs/php_codesniffer": "*",
            "wp-coding-standards/wpcs": "*",
            "phpcompatibility/php-compatibility": "*"
        },
        "scripts": {
            "post-autoload-dump": [
                "echo test message"
            ]
        }
    }

    これでcomposer update時も動きますし、composer.lockが無い時のcomposer install時も動きます。

    【PHP】pre/post-install-cmdはcomposer.lockが無いと動かない まとめ

    色んなサイトで情報を集めましたが、「最初はとりあえずcomposer installをする」のような書かれ方をすることが多く誤った認識でとりあえず使っている方が多いかも知れません、事実僕もそうでした笑。

    しかし実際にはcomposer.lockファイルが存在しない場合、composer installコマンドを叩いて実際に実行されるコマンドはcomposer updateでした。

    composerはPHPを使った開発に無くてはならない便利なパッケージ管理が行えますが、しっかり理解して使うと更に便利に使えるのでこの辺の知識はぜひ覚えておきたいですね!

    ]]>
    https://www.braveryk7.com/pre-post-install-cmd-requie-composer-lock/feed/ 0
    ついにXM Tradingの逆指値幅(ストップレベル)が0pipsに!逆指値が使いやすくなりました https://www.braveryk7.com/xm-traiding-stop-level-0pips/ https://www.braveryk7.com/xm-traiding-stop-level-0pips/#respond Tue, 31 Aug 2021 09:19:22 +0000 https://braveryk7.com/?p=7401 やっときた!!ストップレベル0pips!

    「エントリーしたらとにかく逆指値を設定して想定以上の損失を生まないようにすること」はFXにおいてとても重要なこと。

    海外FXで最も有名なXM Tradingはそういう意味ではとても使いづらいと言えました、なんせ以前までは最短ストップ幅が4.0pips。

    特に1分以下で決済をするようなスキャがメインの方はこのストップ幅は中々辛いものがありましたよね。

    しかし2021年8月、ついにXM Tradingの逆指値の幅が実質撤廃されました!

    XM Tradingの逆指値幅(ストップレベル)

    以前まではXM Tradingの主要通貨ペアのストップ幅は以下のようにとても広い印象がありました。

    通貨ペア最短逆指値幅
    ドル円4.0pips
    ユーロドル4.0pips
    ユーロ円5.4pips
    ポンドドル5.2pips
    ポンド円10.8pips
    以前までのXM Trading主要通貨ペア最短ストップ幅一覧

    ドル円は4pips、ポンド円に至ってはいくら値幅が広いとは言え約11pipsが最短。

    ドル円2~3pips、ポンド円5~7pipsぐらいを狙うスキャだとこれはちょっと辛いですよね。

    もっと言えばポジションを持って建値にストップを入れたい場合、ポンド円なら10.8pips以上含み益が出ている状態でなければ建値ストップもかけられない状態。

    XM Tradingは海外FX口座の中で最もおすすめできる口座ではありますが、このストップ幅に関しては正直不満でした。

    2021年8月24日にXM Trading全銘柄の逆指値幅(ストップレベル)0を開始

    全商品ストップレベル0pipsのお知らせメール
    実際の通知メール、特に事前告知無く突然0pipsに。

    しかし突然のメール通知で状況が一変しました、なんとXM Tradingの取り扱い全金融商品のストップ幅が0になると発表されたのです。

    これは為替商品だけに限らず株式指数や貴金属(ゴールド/シルバー)、原油のようなエネルギー商品も適応されています。

    XM Tradingでトレードできる銘柄全てが逆指値レベル0pipsになり、かなりシビアなスキャにも使えるように。

    もちろんスプレッドはレバレッジに相応する広さですが、それでも低資金から始められる海外FXで逆指値が気軽に入れられるのは大いに評価したい部分です。

    ユーザーは対応が必要?

    僕らユーザーは特に何かする必要は一切ありません、この記事を読まれている時点で既に全商品の逆指値幅は0pipsに変更されています。

    もちろん既存の口座のままでOK!新しい口座を作り直したりする必要は全くありません。

    有名ブローカーの逆指値幅(ストップレベル)比較一覧

    ここで他の有名海外FXブローカーの逆指値を比較してみましょう。

    XM TradingGemForexAxiory
    ドル円0pips2.0pips0pips
    ユーロドル0pips2.0pips0pips
    ユーロ円0pips2.7pips0pips
    ポンドドル0pips2.6pips0pips
    ポンド円0pips5.4pips0pips
    解説記事XM Traidingの
    解説記事を見る
    GemForexの
    解説記事を見る
    Axioryの
    解説記事を見る
    メジャー海外FXブローカーの逆指値レベル一覧
    GemForexは相応の逆指値幅が設定されていますが、今回対応したXM TradingAxioryは0pipsです。

    僕は全ての口座を開設して使い分けていますが、全ての商品の逆指値幅が0pipsになったことでより一層XM Tradingのバランスの良さが増したと言えるでしょう。

    GemForexはボーナスが強力

    GemForexは口座開設で貰える2万円分と定期開催される100%ボーナス、驚異の1,000%ジャックポットボーナスが魅力的ですが逆指値幅だけを見ると少し不利と言えます。

    それ以外はとても魅力的な口座であることは間違い無いですね。

    Axioryはレバレッジがもう一歩

    Axioryは0pipsなのでとても素晴らしいですがXM Tradingの800倍、GemForexの1,000倍というハイレバレッジに比べると少し見劣りします。

    もちろん400倍でも十分ですが、選択肢が多いことに越したことはありません。

    もしここがXM TradingやGemForex並の水準になれば一気にメイン口座レベルに飛躍すると思うぐらい他の口座スペックは素晴らしいです。

    ついにXM Tradingの逆指値幅(ストップレベル)が0pipsに!逆指値が使いやすくなりました まとめ

    突然の変更でしたが、ついに不満度が高かったXM Tradingの逆指値幅が0pipsになりました。

    XM Tradingは海外FXブローカーの中で恐らく日本人に最も人気がある口座、XM Tradingがここで大きな変更を下した事で他口座が追従する可能性は高いと思います。

    2021年~2022年にかけて、GemForex等の他の口座も0pips化に踏み切る可能性は十分ありますね!

    海外FX口座XM Tradingを使って1日で1万円が100万円に!
    口座開設だけで100万円も達成可能!海外FX口座XM Tradingを画像つきでわかりやすく解説!今なら3000円ボーナス&100%ボーナス実施中、3000円を100万円にしてみよう!
    海外FX口座GemForexを徹底レビュー!魅力的なボーナスでメイン口座にも!
    XM一強だった海外FXに、超有力対抗馬として存在感を見せているのがGemForex。気になるスプレッドやボーナス、レバレッジから出金・入金、口座開設まで徹底的に解説します!金融ライセンスもしっかり取得しているGemForexの詳細をチェック!
    Axioryはレバレッジ規制無し?海外口座ならAxioryを必ず開設しておきたい理由を徹底解説!
    海外FXでは珍しい、透明性が素晴らしい安全な口座。気になるスプレッドやレバレッジから出金・入金、口座開設まで徹底的に解説します!自分にあった口座が分からない方でもこの記事でどんな人に向いているのか完全サポート!
    ]]>
    https://www.braveryk7.com/xm-traiding-stop-level-0pips/feed/ 0
    【無料配布】WordPress Gutenbergのチートシートを作成しました https://www.braveryk7.com/wordpress-gutenberg-cheatsheet/ https://www.braveryk7.com/wordpress-gutenberg-cheatsheet/#respond Sat, 28 Aug 2021 10:29:11 +0000 https://braveryk7.com/?p=7345

    WordPress5系から新たに加わったブロックエディター(Gutenberg)、リリースからもう数ヶ月で3年経つのに未だにクラシックエディター最高!!!!!!!!という方が多いですよね。

    きっと周りのWordPressユーザーにもGutenbergへの移行を戸惑っている方が1人や2人はいるはず。

    そこで今回、Gutenbergを便利に使えるチートシートを作成しました。

    WordPress Gutenberg+人気テーマのチートシート

    今回作成したチートシートは、WordPress Gutenbergを便利に使うために以下の内容が記載されています。

    • 主なショートカットコード一覧
    • 主なショートカットキー一覧
    • 人気商品管理プラグインRinkerのショートカットコード一覧
    • 人気WordPressテーマのショートカットコード一覧

    なお、ショートカットキーはWindowsとMacで違うのでそれぞれ用意してあります。

    作成した人気テーマは以下の4つです。

    • JIN
    • THE SONIC
    • SANGO
    • Cocoon

    2021年8月現在、各テーマで用意されている専用ブロックを網羅してあります。

    各テーマの公式ページ、マニュアルページのQRコードを記載しているので何か分からないことがあったらまず公式やマニュアルを確認できるようになっております。

    Gutenbergチートシートダウンロード手順

    Gutenbergチートシートはご自由にダウンロードの上、印刷してお使いください!

    方法は以下の3種類用意しています。

    • ダウンロードしてご自身で印刷
    • コンビニプリント(期間限定)
    • ABCスペース来店でラミネートした物を1枚プレゼント

    ダウンロードしてご自身で印刷する

    フチ無し(左)とフチあり(右)

    ご自身で印刷される場合、プリンター設定でフチ無しを選ぶと綺麗に印刷できると思います(機種によってはフチ無し印刷ができないことがあります)。

    フチ無し印刷ができない機種の方でフチが気になる方はお手数ですがご自身で裁断してご利用ください。

    用紙はA4サイズをお選びください。

    ダウンロードされるPNG画像ファイルはzip形式で圧縮しております、

    コンビニプリント(期間限定)

    プリンターを持っていない方のために9月4日までの期間限定でコンビニのマルチプリンターから印刷が行なえます。

    • セブンイレブン
    • ローソン
    • ファミリーマート
    • ポプラグループ

    コンビニマルチプリンターから印刷の場合フチ無し印刷は行なえません。

    また選ぶ紙の種類等によって金額が異なります、基本的にA4を指定してください(この金額は全てコンビニ側に支払う手数料なので僕にお金が入る訳ではありません)。

    各ダウンロードボタンの下に印刷時に必要なIDが書かれているので、入力して印刷してください。

    詳しい印刷方法は各コンビニのネットワークプリントサービスをご確認ください。

    コンビニプリントは期間を終了致しました。たくさんのご利用ありがとうございました!

    ABCスペース来店でラミネートした物を1枚プレゼント

    ラミネート加工されたチートシートは濡れたり汚れても簡単に拭き取れる

    名古屋にあるコワーキングスペース、ABCスペースに来店するとラミネートフィルムで加工したチートシートを1枚プレゼントできることになりました!

    来店の際、スタッフの方にチートシートをご希望の旨お伝えください。

    ラミネートは透明なフィルムで挟んで熱で圧着加工するもので、濡れたり汚れたりしてもササッと拭けば綺麗になるのでとても便利です。

    なお機材の関係上ABCスペースで配布するチートシートは全てフチありです、フチ無しをご希望の場合お手数ですがご自身でフチ部分を裁断してご利用ください。

    けんちゃん
    けんちゃん

    こういうのってラミネートしてある方が便利だよね!と思ってどこかで配布できないかとABCスペース様に打診させて頂いたところ快くお引き受け頂けました!この場を借りてお礼申し上げます!

    ABCスペース様では配布のみを承っております。
    そのためチートシートに関する質問、要望等はABCスペーススタッフ様ではなく僕に直接お問い合わせください。
    なおABCスペーススタッフ様によるフチのカット並びにハサミ等のお貸し出しは一切行っておりません、必ずご自宅に戻られてからご自身で行ってください。

    注意事項

    本チートシートはWordPress Gutenberg普及を目的として作成しており、WordPressのロゴを本チートシート内に挿入しております。

    WordPressのロゴに関しては以下で明記されています。

    プロジェクトの主な目的が、WordPress ソフトウェアの普及や改善を促進するものであること。

    WordPress ファウンデーション商標利用規定 商標について | WordPress.org 日本語

    そのため、本チートシートを二次利用して販売する・改変等の行為は一切お断りさせて頂きます。

    また、コンビニプリントで目的のシートを間違えてしまった(本当はWindows版がほしいのにMac版を印刷してしまった)等の場合、僕の方では一切ご返金等が承れません。

    事前にご承知おきください。

    Gutenbergチートシートダウンロード

    以下よりご自身にあったものをダウンロードしてください。

    JIN

    JIN×Windows版

    THE SONIC

    THE SONIC×Windows版

    THE SONIC×Mac版

    SANGO

    SANGO×Windows版

    SANGO×Mac版

    Coccon

    Cocoon×Windows版

    Cocoon×Mac版

    チートシートの使い方

    チートシートはショートカットコードとショートカットキーで構成されています。

    ショートカットコード

    左がGutenberg標準ブロックとRinker、右がテーマオリジナルブロック

    ショートカットコードはスラッシュ(/)から始まり、Gutenbergの段落ブロックに/ブロック名と入力することで該当するブロックを表示することが可能です。

    例えば見出しブロックを作成したい場合、「/heading」と入力すればOK。

    標準ブロック欄はGutenbergを利用していれば誰でも使用可能、Rinkerと各テーマオリジナルブロックはそれぞれRinkerとテーマを使用していれば利用可能です。

    THE SONICとSANGOはGutenbergの機能がプラグインとして切り出されているので、該当プラグインを有効化していれば利用可能です。

    ショートカットキー

    中央部分がGutenbergショートカットキー

    ショートカットキーはGutenbergが有効であればどなたでも利用可能です。

    特定のキー(Ctrl / Alt / Shift / Cmd / Opt)と同時に入力するので、キーボードの半角全角は問いません。

    なおスペースの関係上、一部利用率が低いと思われるショートカットキーは掲載しておりません。

    また、テキストの太字斜体はCSSで適用されることも多く、場合によっては誤解を生む可能性を考慮し掲載しておりません。

    全てのショートカットキーを知りたい場合、ヘルプ(Windows:Shift + Alt + H / Mac:Ctrl + Opt + H)からご確認ください。

    【無料配布】WordPress Gutenbergのチートシートを作成しました まとめ

    今回このチートシートは「Gutenbergは難しい、クラシックエディターで十分」という声がとても多く、Gutenbergはとても便利で使いやすい事を知って貰いたいと思って作成しました。

    Gutenbergは一度慣れてしまえばショートカットコードやショートカットキーでほとんどマウスに触ること無く記事制作ができます。

    キーボードとマウスを行き来するとその分だけ時間ロス、できるだけ少ないほうが執筆に集中できます。

    ぜひこの機会にGutenbergに触って頂いて、その便利さや記事制作のスピードアップに活かして貰えれば嬉しいです!

    WordPress Gutenbergの再利用ブロックを効率的に使うテクニック
    WordPressブロックエディター(Gutenberg)の再利用ブロックを便利に使うためのノウハウを詳しく解説。再利用ブロックの効率的な運用、レイアウトの枠組みや検索を素早く行うテクニックを網羅的に解説しています。
    WordPressのメニューに再利用ブロックリンクを追加する
    WordPressのブロックエディター(Gutenberg)は再利用ブロックを使いこなすだけでとても効率的に記事管理ができる優れもの。しかし標準では再利用ブロックへのアクセスが非常に悪いので、メニューにリンクを追加するカスタマイズを公開しました。
    「WordPressはプラグインを入れると重い」の誤解を解く
    「WordPressのプラグインは重くなるから使わないほうが良い」って本当?特にブログ初心者~中級者に多い、プラグインに対する誤解を解くべく実際に処理時間を測定して検証しました。正しい知識を持って便利なプラグインを使いこなしましょう!
    ]]>
    https://www.braveryk7.com/wordpress-gutenberg-cheatsheet/feed/ 0
    WordPress Gutenbergの再利用ブロックを効率的に使うテクニック https://www.braveryk7.com/wordpress-gutenberg-reusable-blocks-technique/ https://www.braveryk7.com/wordpress-gutenberg-reusable-blocks-technique/#respond Fri, 27 Aug 2021 12:22:51 +0000 https://braveryk7.com/?p=7306

    再利用ブロックの登場で記事を書く効率が大幅にアップしました。

    ブロックエディター(Gutenberg)登場当時はビジュアルエディター(クラシックエディター)と比べ操作し辛い!わかりにくい!と声を上げる方も多かったですが、今や多くの方がブロックエディターへ移行しています。

    そこで更に再利用ブロックを効率的に使うべく、ブロックのショートカット呼び出しを効率的に行いましょう!

    Gutenbergのショートカット入力

    まず初めに抑えておきたい事、Gutenbergは/ブロック名という形式を段落ブロックに入力するとブロックが呼び出せる点です。

    ブロック名呼び出せるブロック
    /heading見出しブロック
    /listリストブロック
    /image画像ブロック
    /tableテーブルブロック
    /quote引用ブロック
    WordPress標準ブロック

    その他にも使っているテーマ側で用意されている専用ブロックも呼び出すことができます。

    以下は日本国内で人気が高いGutenberg対応テーマの専用ブロックまとめです。

    ブロック名 呼び出せるブロック
    /boxシンプルボックスブロック
    /box-with-headline見出し付きボックスブロック
    /icon-boxアイコンボックスブロック
    /simple-buttonシンプルボタン
    /rich-buttonリッチボタン
    /chat-block吹き出し
    /blank-space余白
    /blog-cardブログカード
    /border区切り線
    /rankingランキング
    /two-buttons横並びボタン

    ブロック名 呼び出せるブロック
    /timelineタイムライン
    /comment-boxコメントボックス
    /hukiふきだし
    /qa-boxQ&A
    /double-buttonダブルボタン
    /ab-testA/Bテスト
    /title-boxタイトルボックス
    /link内部/外部リンク
    /buttonASP広告ボタン
    /rankingランキング
    /accordionアコーディオン
    /boxesメリット・デメリット
    ブロック名 呼び出せるブロック
    /block-simpleタイトル付ボックス
    /headingsSANGO見出し
    /say吹き出し
    /timelineタイムライン
    /accordionアコーディオン
    /postsSANGO記事一覧
    /messageメッセージ
    /boxSANGOボックス
    /btnSANGOボタン
    /sanko参考リンク
    /rateレビューボックス
    /tabSANGOタブ
    /kanren関連記事
    /senSANGO線
    /listSANGOリスト
    /codeboxSANGOコード
    /faqSANGO FAQ
    /heroSANGOヒーロー
    /conditionalSANGO条件
    /sliderSANGOスライダー
    /full-bgフルサイズ背景
    ブロック名呼び出せるブロック
    /icon-boxアイコンボックス
    /info-box案内ボックス
    /blank-box-1白抜きボックス
    /sticky-box付箋風ボックス
    /tab-box-1タブボックス
    /balloon-ex-box-1吹き出し
    /blogcardブログカード
    /button-1ボタン
    /button-wrap-1囲みボタン
    /toggle-box-1アコーディオン(トグル)
    /search-box検索案内
    /timelineタイムライン
    /iconlist-boxアイコンリスト
    /faqFAQ(寄付特典)
    /caption-box-1見出しボックス
    /tab-caption-box-1タブ見出しボックス
    /label-box-1ラベルボックス
    /micro-balloon-2マイクロバルーン
    /micro-textマイクロテキスト
    /column-22カラム
    /column-33カラム

    再利用ブロックも同じように呼び出せる

    実はこのショートカット入力、標準のブロックやテーマ専用のブロックを呼び出すように再利用ブロックを呼び出すこともできます。

    やり方はとても簡単、/再利用ブロックのタイトルという形で呼び出します。

    再利用ブロックのタイトルにブロック名を入力して管理すると呼び出しが楽

    /再利用ブロックのタイトル形式で呼び出せる便利な再利用ブロックですが、いちいち名前を覚えているのがとても大変。

    5個10個ぐらいならなんとか覚えておけそうですが、本当にたまにしか使わない再利用ブロックを延々と覚えているのは少しつらいですよね。

    そこで再利用ブロックのタイトルに構成されるブロック名をカテゴリーとして登録しておくととても入力が楽になるので僕が採用している方法をご紹介します。

    再利用ブロックを構成するブロック名を付与する

    再利用ブロックとして登録してあるが、通常ブロックに変換して使用するというテンプレート代わりの利用をされている方は多いと思います。

    例えば上記の動画は以下のブロックを組み合わせて作られており、通常ブロックに変換して記事作成を進める前提です。

    • Cocoonの2カラムブロック
    • 画像ブロック
    • Cocoonのアコーディオン(トグル)ブロック
    • アコーディオンの中にリストブロック
    • Cocoonのボタンブロック
    • Rinkerブロック

    この再利用ブロックは「2カラムの画像・アコーディオン(リスト)・ボタン・Rinker付評価レイアウト」というタイトルをつけてありますが、その後ろに「2column image accordion list button rinker layout」という英単語を続けて付与してあります。

    ポイント

    「名前 構成するブロック名」の形式でタイトル付けする

    こうすることで、例えば/layout/2column/rinkerとどれを打ってもこの再利用ブロックが候補として表示されるようになります。

    同じようなブロックが増えてきたら半角スペースや半角ハイフン区切りで「/button 2column」や「/rinker-layout」のように絞り込み検索を行うこともできます。

    「あのブロックの名前なんだったかな・・・」と覚えておく必要がないんです、作成段階で構成するブロック名を入れておくだけ。

    必要な時に「あのボタンを使ったレイアウト・・・/buttonって入力すれば出てくるな」と覚えておけばOK。

    だいぶハードル下がりましたよね笑。

    /(スラッシュ)が半角入力なので僕は全て構成するブロック名を英単語で入力していますが、もちろん日本語でもOK!

    「商品紹介レイアウト 画像 ボタン アイコンボックス」と登録しておけば

    • /レイアウト
    • /画像
    • /ボタン
    • /アイコンボックス

    のような形で呼び出せます。

    ブロック名を覚えるほうが遥かに簡単

    「いや、それでも覚えられないよ!」って思うかも知れませんが、独自に付けたタイトルを覚えてるよりも構成するブロック名を覚えるほうが遥かに簡単です。

    ぶっちゃけよく使うブロックなんて限られています。

    • 見出しブロック
    • 画像ブロック
    • リストブロック
    • ボタンブロック
    • Rinkerブロック
    • 2カラムブロック

    ご自身がよく使われるブロックにもよりますが、僕の場合大体この辺のブロックが構成ブロックとして入っています。

    こっちを覚えるほうが遥かに簡単です、どれもブロック名自体は単調ですからね。

    Gutenbergのレイアウトは再利用ブロックよりパターンを使った方が良い?

    WordPress5.5で新たにパターン機能が登場しました。

    パターンは事前にレイアウトの枠組みを登録しておき好きな時に呼び出すことで簡単にレイアウトを再利用できることができます。

    しかし僕は現状パターンの使い辛さから、基本的に再利用ブロックを通常ブロックに変換する方式を採用しています。

    パターンを使ったレイアウト呼び出し

    パターンは再利用ブロックのように通常ブロックに変換する必要がなく、パターンを編集しても既に記事内で使用しているレイアウトは影響を受けません。

    そのため外側(レイアウト)だけ使いまわしたい、という場合はパターン機能が最適です。

    しかしパターンの最大のデメリットは/パターン名という形式で呼び出すことができないこと。

    パターン呼び出し手順
    1. 左上の+ボタンをクリック
    2. パターンタブを選択
    3. プルダウンからカテゴリを選択
    4. 目的のパターンをクリック

    パターンを呼び出すために4つの手順が必要です。

    再利用ブロックを使ったレイアウト呼び出し

    一方再利用ブロックを使ったレイアウト呼び出しは先述したように/再利用ブロック名の形式で呼び出すことができます。

    再利用ブロックのレイアウト呼び出し手順
    1. /再利用ブロック名を入力
    2. Enterキーで選択
    3. 通常ブロックへ変換ボタンをクリック

    どう考えてもこっちの方が早いですよね。

    再利用ブロック→通常ブロック化したものも、再利用ブロックを編集しても既に記事で利用している元再利用ブロックだったものは影響を受けません。

    再利用ブロック名にプレフィックスを付与してレイアウト用だと明示する

    より管理しやすくするために再利用ブロック名にプレフィックスを付与する方法もおすすめです。

    プレフィックスは接尾辞のことで、再利用ブロックのタイトルに特定の文字列をつけておくことでそれがレイアウト専用、つまり通常ブロックへの変換が前提だと示すことができます。

    【レイアウト】ボタンと評価スター

    ボタンと評価スター

    例えばこの場合、【レイアウト】がプレフィックスです。

    こうする事で再利用ブロック選択時に「それがレイアウト用の再利用ブロックである」という事を思い出せます。

    プレフィックスは記事におけるカテゴリー、もしくはタグのように扱うと便利です。

    広告用の再利用ブロックには【広告】やASP名なんかをプレフィックスにしても良いですね。

    記事内で再利用ブロックを編集すると通知される

    再利用ブロックを記事中で通常ブロックに変換せずに変更しようとすると、記事公開時に通知が表示される

    更に呼び出した側の記事から再利用ブロックの中身を変更する場合、現在記事公開時に「この記事を公開すると○○という再利用ブロックも同時に更新されるよ」という通知がサイドバーに表示されます。

    レイアウトの再利用ブロックは100%通常ブロックへの変換が前提なので、そもそもこの通知が表示された時点でおかしいですよね。

    ここで「あっ!通常ブロックへ変換する必要があったんだ!」と二重のチェックが行なえて便利です。

    Gutenbergに再利用ブロックの背景色を設定する

    エディター内の再利用ブロックのみ背景色を変えて視覚的にわかりやすくする

    Gutenbergエディターで再利用ブロックを利用している時に限って背景色を設定するカスタマイズです。

    通常ブロックに変換された瞬間に背景色が無くなるので、背景色がある状態で編集しようとする前に気づくことができて非常に便利です。

    .is-reusable {
    	background-color: hsla(286, 49%, 90%, .5);
    }

    is-reusableは再利用ブロックのラッパー(再利用ブロック全体を包んでいるdivタグ)に利用されているclassです。

    このラッパーは通常ブロックに変換された時点で削除されるので、背景色も同時に消えるためニアミスをかなり減らすことができると思います。

    is-reusableはエディター内のみで使われているclassなので、当然記事や固定ページでは背景色は変わりません。

    そのため上記のCSSはeditor-style.cssに追記してもOKです。

    再利用ブロックへワンクリックでアクセスできるようにする

    通常再利用ブロックはGutenbergエディターのメニューからしかアクセスができません。

    しかし「WordPressのメニューに再利用ブロックリンクを追加する」で解説しているカスタマイズを取り入れることで、再利用ブロックへのアクセスが大幅に向上します。

    ぜひご利用ください!

    WordPress Gutenbergの再利用ブロックを効率的に使うテクニック まとめ

    再利用ブロックはGutenbergの目玉とも言える機能、再利用ブロックをいかに効率的に使うかによって記事を素早く執筆できるかが変わってきます。

    しかし中々とっつきにくく、積極的に利用していない!という方も多いのが現状。

    ほんの少し工夫するだけで大幅に利便性を向上できるので、ぜひこの機にGutenbergと再利用ブロックに触れて便利に使いこなしてください!

    ]]>
    https://www.braveryk7.com/wordpress-gutenberg-reusable-blocks-technique/feed/ 0
    WordPressのメニューに再利用ブロックリンクを追加する https://www.braveryk7.com/wordpress-reusable-blocks-add-menu/ https://www.braveryk7.com/wordpress-reusable-blocks-add-menu/#respond Sat, 21 Aug 2021 12:57:36 +0000 https://braveryk7.com/?p=7207

    WordPressがエディターとしてGutenbergを採用して以来、プラグイン等を使わなくても何ヶ所も使いまわしたい定形ブロックを再利用ブロックとして登録できるようになりました。

    再利用ブロックは/ブロック名という形で簡単に呼び出すことができるので積極的に使っている人も多いはず。

    しかしこの再利用ブロックを変更したい時、アクセスが非常に悪いので直接再利用ブロックへアクセスできるリンクを追加するコード&プラグインを作成しました。

    執筆時現在、WordPressテーマTHE SONICにおいては「再利用ブロック管理」というリンクが設定されていることを確認しております。それ以外のテーマの方はぜひご利用ください!

    そもそも再利用ブロックってなに・・・?

    このセクションはまだブロックエディター(Gutenberg)で再利用ブロックを使っていない方向けの解説です。

    再利用ブロックを既に活用している、知っているという方は「標準の再利用ブロックアクセス手段」から読み進めてください。

    再利用ブロックは一度設定すればどこにでも使い回せるブロック

    ブログを書いていればいずれ過去に書いたものと同じ記述をすることがあります。

    • アフィリエイトブログのボタンリンク
    • 同ジャンルの記事内に書く注意事項
    • 毎度冒頭や締めに書く挨拶文
    • よく使う複数のブロックを組み合わせたレイアウト

    このように何度も何度も使う文言や複数のブロックの組み合わせを事前に登録しておき、必要な場面で呼び出すだけで簡単にブロックを設置できる。

    それが再利用ブロックです。

    変更に強い

    再利用ブロック最大の特徴は何らかの修正が必要になった時、1ヶ所変更すれば全てのブロックに変更が反映される点。

    例えばアフィリエイトボタンのリンクタグが変更になった時、従来はショートコードを使わない限り全ページの編集が必要でした。

    しかし全てのアフィリエイトボタンを再利用ブロックで管理していると、再利用ブロックを編集するだけで全てのリンクが簡単に差し替えできます。

    複数ブロックを一括で管理できる

    再利用ブロックの素晴らしい点は複数のブロックをまとめて管理できる点です。

    再利用ブロックで管理しているボタン

    例えば普段はこんな感じのボタンに限定キャンペーン情報をマイクロコピーとして入れたいとします。

    その場合、再利用ブロックを編集してマイクロコピーブロックを追加し保存するだけでOK。

    マイクロコピー用のブロックを追加

    こんな感じで1ヶ所設定するだけで、サイト内のこの再利用ブロックを使っている場所全てが書き換わります。

    キャンペーンが終了して外したくなっても同じく再利用ブロックを編集すればOK、とても簡単に管理ができますね。

    通常ブロックに変換も可能

    再利用ブロックで組んだレイアウトを通常ブロックに変換する例

    とは言えレイアウトは同じにしたいけど、中身は記事ごとに変えたいことも当然あります。

    そこで便利なのが通常ブロックへの変換。

    通常ブロックに変換すると再利用ブロック側で編集しても一括編集の対象にならないので、いつも同じブロックの組み合わせてレイアウトしているようなものはテンプレートとして登録しておくと執筆速度が向上します。

    例えば上記の動画のように、いくつものブロックを組み合わせたレイアウトを事前に組んでおけば呼び出して通常ブロックに変換するだけでどんどん執筆可能です。

    標準の再利用ブロックアクセス手段

    WordPressの再利用ブロックにアクセスする方法

    再利用ブロックにアクセスする時、標準では記事編集画面右上のメニューから再利用ブロックページへアクセスできます。

    しかし再利用ブロックだけ編集したいのにわざわざ記事ページを開くのもめんどうです、特にキャンペーン情報をまとめたブロックだけ更新したい!という場合は記事を開く必要無いですからね。

    再利用ブロックに管理画面メニューからアクセスできるようにする

    そこで簡単に再利用ブロックにアクセスできるようにしました。

    非常に簡単なカスタマイズなので、再利用ブロックを利用されている方はぜひ取り入れてみてください!

    方法は以下の2種類を用意しました。

    • functions.phpやCode Snippets等のプラグインを使う
    • プラグインとして導入する

    どちらの方法でも同じことが実現できます。

    なおコードそのものの解説は次章の「functions.php / Code Snippets等を利用する場合」で行っています。

    けんちゃん
    けんちゃん

    functions.phpに書く方法は万が一今後テーマを変えた時に設定し直しになっちゃうから個人的にはCode Snippetsを使うか、2番目のプラグインとして導入するのをおすすめします!

    functions.php / Code Snippets等を利用する場合

    テーマファイルのfunctions.phpに追加する、もしくはCode Snippets等のPHPコード管理プラグインを使用する場合です。

    以下のコードを追加してください。

    GitHubでコードを見る

    /* 再利用ブロックリンクをメニューに追加 */
    function add_reusable_blocks() {
    	if ( is_admin() ) {
    		add_menu_page(
    			'再利用ブロック',
    			'再利用ブロック',
    			'manage_options',
    			'edit.php?post_type=wp_block',
    			'',
    			'dashicons-image-rotat',
    			11
    		);
    	}
    }
    add_action( 'admin_menu', 'add_reusable_blocks' );

    Code snippetsを使う場合、1行目の/* ~ */部分のコメントをタイトルとして設定すると良いと思います。

    if ( is_admin() ) {

    3行目のis_admin()関数で管理画面なのかどうかの判定をし、フロントページ(記事や固定ページ等)では中身が実行されないように配慮しています。

     add_menu_page(
                '再利用ブロック',
                '再利用ブロック',
                'manage_options',
                'edit.php?post_type=wp_block',
                '',
                'dashicons-image-rotate',
                11
    );

    add_menu_page()関数は管理画面サイドバーのメニューに新しいリンクを追加できるWordPressのフックです。

    add_menu_page()の構文
    <?php add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); ?>

    add_menu_page()関数は以下の7つの引数を取ります。

    1. 開いたページでタイトルとして表示される文字列
    2. メニューとして表示される文字列
    3. アクセスできる権限
    4. アクセスするページのpath
    5. 実行する関数
    6. メニュー表示に使うアイコン
    7. 表示する場所

    開いたページでタイトルとして表示される文字列

    表示されるページのタイトル

    1つ目の引数はリンク先のタイトルですが、再利用ブロックページは既にタイトルが「再利用ブロック」として決まっているので空欄でも構いません。

    一応「再利用ブロック」と入力してありますが、変更しても変わりません・・・笑。

    メニューとして表示される文字列

    メニュー名

    2つ目の引数はメニュー名に使われます。

    アクセスできる権限

    3つ目の引数はアクセスできる権限レベルを設定します。

    今回設定しているmanage_optionsは通常管理者しか持たない権限なので、編集者や購読者には見れないように設定できます。

    通常自分一人でWordPress運営をしている場合、自分が管理者ユーザーなのでmanage_optionsを指定しておけばOKです。

    アクセスできるページのpath

    'edit.php?post_type=wp_block'としておくことで、以下のURLが生成されます。

    https://自分のサイトのURL/wp-admin/edit.php?post_type=wp_block

    post_type=wp_blockは再利用ブロックの一覧が表示されるクエリです。

    実行する関数

    今回は既存の再利用ブロックページにアクセスするので空欄です。

    メニュー表示に使うアイコン

    再利用ブロック、ということで今回は'dashicons-image-rotate'を採用してみました。

    好きなアイコンに変更されたい方は「Developer Resources: Dashicons」を参考に変更してください。

    表示する場所

    各メニューのアクセスポジション番号

    表示する場所を半角数字で指定します。

    WordPressのメニューは画像のようにそれぞれ番号が設定されており、その番号より小さい数字を指定すれば上に、大きい数字を指定すれば下に表示されるようになります。

    例えばツールの下、設定の上に表示したい場合は81~98までを指定します(小数点も対応しているので、80.1のような記述でもOKです)。

    今回は11を指定しているので、メディアと固定ページの間に表示されるようになります。

    ただしお使いのテーマやプラグインが既にその番号を使っている可能性もあるので、かぶらないように調整が必要になるかも知れません。

    表示場所を変更したい場合、この数字を変更してください。

    プラグインとして導入する

    プラグインとして利用する場合は以下からダウンロードしてプラグインページからインストールしてください。

    コードの中身はfunctions.phpに記述する場合と全く同じです、設定画面等も一切ありません。

    インストールして有効化するだけで後は何もしなくてOKです。

    WordPressのメニューに再利用ブロックリンクを追加する まとめ

    再利用ブロックは使いこなせば本当に便利な機能です、これがあるからGutenbergに移行するべきとすら言える神機能。

    しかし現状再利用ブロックへのアクセスが悪く、標準状態では気軽に使うのにストレスを感じます。

    ワンクリックでアクセスできるようにしてぜひ便利な再利用ブロックを使いこなしてください!

    ]]>
    https://www.braveryk7.com/wordpress-reusable-blocks-add-menu/feed/ 0
    「WordPressはプラグインを入れると重い」の誤解を解く https://www.braveryk7.com/slow-wordpress-plugin/ https://www.braveryk7.com/slow-wordpress-plugin/#respond Fri, 20 Aug 2021 12:16:04 +0000 https://braveryk7.com/?p=7186

    WordPressは数クリックするだけ誰でも簡単に膨大な量のプラグインを使って自分好みのブログサイトを簡単に作れるとても便利なCMS。

    しかし巷では「プラグインを入れると重くなる」というしっかりした確証も無い噂話が流れているのが実情。

    とある解説サイトには「テーマで用意されている機能なら重くならないが、同じような機能のプラグインを入れると重くなる」という根も葉もないデマが平然と書かれていました。

    これは明らかな嘘です。

    そこで今日は実際に処理時間を計測し、「本当にプラグインを入れる事で処理速度が遅く、いわゆる重い状態になるのか」を検証して行きます。

    処理速度が遅いことをネット上では俗に「重い」と表現します。
    重い=遅いことなんだな、とご理解ください!

    WordPressはプラグインを入れると重いって本当?

    「プラグインを入れれば入れただけ重くなる(処理速度が遅くなる)」は(ある意味)本当です。

    1つプラグインを入れるだけでそのプラグインの中身が実行される、考えなくても遅くなるのは当然ですよね。

    しかしプログラムはものすごい速さで実行されるので、「プラグインを入れれば重くなる」のは通常そこまで体感できないレベルな事がほとんどです。

    ただし複雑な処理を行っていたり、外部のサービスと連携していたりする場合は重くなりがちです。

    けんちゃん
    けんちゃん

    例えばGoogle AdSenseやGoogle Analyticsの読み込み、Google Mapで地図を表示する時にAPIを使ってデータのやり取りをするようなものはどうしても重くなりがち!

    プラグインの処理内容によって異なる

    誤解してほしくないのですが、常用されるレベルで人気のあるプラグインの多くは1秒以下のコンマ何秒という速さで実行されます。

    適切にチューニングされていれば、例えばユーザーがログインしている場合のみ必要なプラグインは一般読者(未ログインユーザー)がアクセスする記事ページでは実行されません。

    下記はWordPressのプログラムを書く場合、判定を行って無駄を防いでいるという一例です。

    if ( is_user_logged_in() ) {
    	// is_user_logged_in()はログイン中のユーザーか否か判定する
    	// そのためログインしていない場合は一切処理が行われない
    }
    
    if ( is_admin() ) {
    	// is_admin()は管理画面か否かを判定する
    	// 管理画面ではなく記事ページや固定ページ等の場合は一切処理が行われない
    }

    このようにきちんと処理を分岐し、必要ない場面では余計なことをしない(=プログラムを実行しない)実装をすることで「プラグインを使ったら重くなる」という事態をなるべく避けるように作られています。

    例えば管理画面のみで必要な機能だけを提供している場合、is_admin()で管理画面か否かを判定してフロントページ(記事や固定ページ)の場合はプラグインの中身まるごと処理が行われないようにするというようなチューニングを行っています。

    テーマもプラグインも作りは全く一緒

    難しい話はともかく、テーマやプラグインは主にPHPというプログラミング言語で書かれています。

    使っている言語が同じなのでテーマであろうがプラグインであろうがやってる事は全く一緒のはず。

    なのにテーマ遅くならない、プラグインは遅くなるっておかしな話だと思いませんか?

    そこで全く同じ処理をテーマとプラグインにそれぞれ実装して、本当に違いが出るかどうか試してみましょう。

    けんちゃん
    けんちゃん

    ちなみにブロックエディター(Gutenberg)は主にJavaScriptというプログラミング言語のReactというライブラリで書かれているよ!
    今回はとりあえずPHPに的を絞っています!

    WordPressで10億回繰り返す重い処理をテーマとプラグインで実装

    全く同じ処理を行った時、果たしてテーマとプラグインで差が出るのか?という検証を行います。

    共通条件として以下の環境で実験しました。

    サーバーConoHa WING
    WordPressのバージョン5.8
    使用テーマTHE SONIC
    使用プラグイン無し
    キャッシュ未使用

    使用プラグインは無しとなっていますが、プラグインで実験する時のみ今回作成する実験用プラグインを使用します。

    その他のカスタマイズ等は一切なし、素の状態のWordPress5.8とTHE SONIC環境下です。

    なおConoHa WINGで用意されているキャッシュ機能は全て停止して計測しました。

    今回使用するコードは以下のGitHubリポジトリで公開しています。

    GitHub:braveryk7/wordpress-theme-vs-plugin

    すぐに結果を見たい場合、「結果」から読み進めてください。

    テーマ

    テーマでの実装はfunctions.phpに以下のコードを追加して実験してみました。

    functions.phpはテーマを構成するファイルの一つです。

    GitHubでコードを見る

    function calcProcessTime() {
    	// ログインしているユーザーにのみ実行されるよう判定
    	if ( is_user_logged_in() ) {
    		// 開始時刻の取得
    		$start = microtime( true );
    		
    		// 値が0の変数を用意
    		$num = 0;
    		
    		// +1を10億回繰り返し
    		for ( $i = 0; $i < 1000000000; $i++ ){
    			$num++;
    		}
    		
    		// 開始と現在の時間差(=処理にかかった時間)を求める
    		$time = ( microtime( true ) - $start );
    		
    		// console.logに結果を出力
    		echo '<script>console.log(' . json_encode( round( $time, 3 ) ) . ');</script>';
    	}
    }
    
    add_action( 'init', 'calcProcessTime' );

    10億回足し算をして、その処理の開始時間と終了時間を計測してconsoleに出力するという簡単なプログラムです。

    小数点以下は3桁もあれば十分なので、小数点4桁目を四捨五入しています。

    けんちゃん
    けんちゃん

    WordPressでも使いやすいようにconsole.logで出力しています!

    プラグイン

    テーマと全く同様の機能を持ったプラグインを作成しました。

    GitHubでコードを見る

    <?php
    /**
     * Plugin Name: Calc Process Time
     * Plugin URI:  https://www.braveryk7.com/
     * Description: 10億回足し算をして処理速度をconsoleに出力するプログラム
     * Version:     1.0.0
     * Author:      Ken-chan
     * Author URI:  https://twitter.com/braveryk7
     */
    
    function calcProcessTime() {
    	// ログインしているユーザーにのみ実行されるよう判定
    	if ( is_user_logged_in() ) {
    		// 開始時刻の取得
    		$start = microtime( true );
    		
    		// 値が0の変数を用意
    		$num = 0;
    		
    		// +1を10億回繰り返し
    		for ( $i = 0; $i < 1000000000; $i++ ){
    			$num++;
    		}
    		
    		// 開始と現在の時間差(=処理にかかった時間)を求める
    		$time = ( microtime( true ) - $start );
    		
    		// console.logに結果を出力
    		echo '<script>console.log(' . json_encode( round( $time, 3 ) ) . ');</script>';
    	}
    }
    
    add_action( 'init', 'calcProcessTime' );

    プラグインとして認識されるためのお作法を追加していますが、コメントが書いてあるだけでプログラムの処理内容には全く差はありません。

    プラグイン本体は以下からダウンロード可能です。

    結果

    それでは結果を見てみましょう。

    今回は誤差を考慮してそれぞれ10回測定し、平均値を求めることにします。

    回数テーマプラグイン
    1回目2.857秒2.863秒
    2回目2.839秒2.884秒
    3回目2.862秒2.868秒
    4回目2.887秒2.869秒
    5回目2.881秒2.813秒
    6回目2.825秒2.841秒
    7回目2.867秒2.871秒
    8回目2.860秒2.870秒
    9回目2.862秒2.866秒
    10回目2.884秒2.863秒
    平均値2.862秒2.861秒
    テーマとプラグインで全く同じ処理を実装し、それぞれ計測した平均値

    結果はテーマ実装が2.862秒、プラグイン実装が2.861秒で0.001秒差でプラグインが早い結果となりました。

    けんちゃん
    けんちゃん

    どう見ても誤差!

    実際の処理速度はお使いのサーバーによって大きく変わってきます。あくまでConoHa WINGで利用した時の目安とお考えください。

    WordPressのテーマとプラグイン、同じ機能なら重さの差はない

    全く同一の機能ならテーマでもプラグインでも差は一切ないと分かりました。

    そりゃそうですよね、全く同じことをしているのに大きな差が生まれる方がどうかしてます。

    という事は巷でまことしやかに語られていた「テーマなら良いけどプラグインは遅い」説は嘘と証明できました。

    プラグインは決して悪じゃない

    色んな所で「プラグインは少なくしよう」「余計なプラグインは削除しよう」という言葉ばかりが先行してプラグイン=悪と捉えられているケースが少なからずあるようです。もちろん少ないほうが良いし、使っていないプラグインは削除するべきですが新規インストールを極端に怖がる必要は一切ありません。

    条件によってはWordPressプラグインが重くなるケースがある

    ここではっきりさせておきたいことが「条件次第ではプラグインがボトルネックになる」点です。

    ただしこれはテーマ側にも言えることで、「プラグインだから重い」という理由にはなりません。

    プラグインそのものが余計な処理をしているケース

    テーマに用意されている機能に比べ、プラグインがプログラムの中で時間の掛かるような処理を実装していたケースです。

    原因についてはPHPを読める人でないと解読できませんが、プログラムの内容によっては処理速度に影響が出てしまうことがあります。

    例えば特定ページでしか使わないプラグインなのに、全ページで読み込まれていて表示速度に影響しているというような話はよく聞きますよね。

    テーマとプラグインが重複して同様の処理をしているケース

    テーマとプラグインで似たような機能を実装しており、全く同じ処理を両方でやってしまうケースです。

    テーマ側でその機能を使わない、もしくは停止できれば機能が重複することも無いと思います。

    逆に停止することができない場合、ボトルネックになってしまう可能性はあります。

    けんちゃん
    けんちゃん

    最近のテーマはキャッシュ機能を内包していることが多く、テーマ側のキャッシュ機能とプラグインで入れたキャッシュ機能がバッティングしているなんてことも・・・。

    WordPressで画像遅延表示(lazy-load)が実装された時もテーマとプラグインの同様の機能とバッティングして画像が表示されない!って声がよくありましたよね。

    テーマの実装に依存した処理

    テーマに依存した処理の場合、テーマ側で上手にチューニングされて処理速度が早くできているケースです。

    とはいえWordPressで想定しうるプログラムがそこまでテーマ固有の実装に依存することは考えにくいので、相当に稀なケースであると思います。

    WordPressプラグインは必要なものをちゃんと選ぼう

    先述したように、プログラムの中身によってはテーマであれプラグインであれ重くなるケースはあります。

    だから過度に「プラグイン=重いんだ!」という先入観から読者のユーザー体験向上のために必要な機能を諦めるというのは大いに間違いです。

    本当に必要であれば100個プラグインが入っていても構わないです、100個入っているから100%重くなるとは限りません(もちろん個数が増えれば重くなる可能性はあります)。

    当然重くなる原因になるプラグインも存在するので、きちんと吟味して利用することが重要です。

    最新のWordPressに対応されているかもチェックする

    長らく更新されていないプラグインは、セキュリティ面の不安もありますがそもそも古い書き方をしていて重くなる原因を作っている可能性があります。

    プラグインが最新のWordPressに対応しているかどうか確認してからインストールするよう心がけましょう。

    「WordPressはプラグインを入れると重い」の誤解を解く まとめ

    この記事のまとめ
    • プラグインは決して怖いものではない
    • テーマとプラグインに差がある、は嘘
    • もちろん重い原因になるプラグインも存在する

    今回の記事はなんとなく「プラグイン=重い!」の誤解を解きたいと思って執筆しました。

    WordPressはプログラムやパソコンに詳しくない方でもポチポチ簡単に始められる一方、多機能さの裏側にある話はブラックボックスになってしまっています(もちろんプログラムが読めれば読み解けるんですが・・・笑)。

    だからこそ過度にプラグインを使用することを怖がらないでほしいです。

    探せば日本語に翻訳こそされていませんが海外製の便利なプラグインやまだまだマイナーですが良いプラグインがたくさん存在します。

    「いややっぱりこのプラグインは重いな」と思ったらいつでも停止することができる点がプラグインのよい点。

    プラグイン=悪だ!と決めつけずに、WordPressの素晴らしいプラグインシステムを使って頂けたら嬉しいです!

    ]]>
    https://www.braveryk7.com/slow-wordpress-plugin/feed/ 0
    GemForexがついにMT5に対応!まずはデモ口座でテスト開始 https://www.braveryk7.com/gemforex-mt5/ https://www.braveryk7.com/gemforex-mt5/#respond Mon, 16 Aug 2021 04:49:47 +0000 https://braveryk7.com/?p=7149 GemForex GemForexが長らく待ち望まれたMT5対応、ついに2021年8月16日に提供開始がアナウンスされました!

    提供開始スケジュール、デモ口座開設の方法やMT5ログイン方法を解説します。

    \今なら口座開設&本人確認完了で20,000円のボーナス/

    GemForexのMT5提供スケジュール

    GemForexのMT5は以下のスケジュールで提供開始予定です。

    日時内容
    2021/8/16デモ口座においてMT5提供開始
    未定リアル口座のMT5提供開始
    GemForex MT5提供スケジュール

    執筆時時点(2021年8月16日)でMT5がデモ口座において利用開始になります。

    他ブローカーにおいてもまだまだMT4利用者が圧倒的に多いので、突然移行という事ではなくまずMT5をデモ口座でテストしておこうという趣旨ですね。

    例えば海外FXで定番のXM TradingはMT5口座を提供していますが、まだ利用されていない方はひとまずデモ口座でお試しましょう。

    GemForexでMT5を使う時の注意点

    MT4→MT5で一見バージョンが上がって便利になると思いがちですが、デメリットもあります。

    MT4のEAやインジケーターは使用不可

    MT4で利用していたEAやインジケーターは利用できないので、MT5用の物を探す必要があります。

    中にはMT4用のものでもMT5で利用できる事があります。

    一括決済の定番、MT4スピード注文はMT5でも利用できるのでひとまず一括決済についてでは心配ありません。

    MT5でも一目均衡表や移動平均線、ボリンジャーバンド、MACDやRSI等のメジャーなものは標準で用意されているのでそれ以外に必要なものがあれば事前に調査しておきましょう。

    UIが変わる

    MT4の自動売買ボタン
    MT5のアルゴリズム取引ボタン

    PC用/スマホ用問わず多少のUI変更があります。

    例えばMT4では「自動売買」という名前のボタンがMT5では「アルゴリズム取引」という名称に変更されています。

    ボタンの順番も新規注文ボタンと逆転していたり、間のアイコンボタンも無くなっています。

    このように細かいところを含めると多くのUI変更があるので事前にデモ口座で操作をして慣れておきましょう。

    GemForexのMT5デモ口座開設方法

    GemForexはデモ口座だけであれば名前とメールアドレスだけで利用ができます。

    面倒な本人確認、銀行口座登録等は一切不要です。

    簡単3ステップ!GemForexのデモ口座開設

    それでは実際に口座登録して行きましょう。

    簡単3ステップ!GemForexのデモ口座開設
    • Step.1
      GemForexのデモ口座開設ページへアクセス
      GemForex公式サイト

      GemForex公式サイトにアクセスし、デモ口座開設ボタンをクリックします。

    • Step.2
      名前とメールアドレスを入力する
      アカウントタイプを選択し、名前とメールアドレスを入力
      • 口座タイプを選択
      • 名前の入力
      • メールアドレスの入力

      デモ口座開設フォームに進んだら以上の3点を設定します。

      特に口座タイプはデフォルトではMT4が選択されているので、必ずMT5に変更しましょう。

    • Step.3
      メール確認
      GemForexデモ口座開設完了メール

      数分で入力したメールアドレス宛にでも口座開設完了のメールが送付されます。

      • 口座番号
      • パスワード
      • サーバー

      MT5接続に必要な情報が記載されています。

      これで口座開設が完了しました。

    \今なら口座開設&本人確認完了で20,000円のボーナス/

    MT5に接続する

    最後にMT5でデモ口座にログインしてみましょう。

    パソコン、スマホそれぞれで開設します。

    パソコン

    まだMT5をパソコンにインストールしていない方はMT5公式サイトよりダウンロード、インストールしてください。

    左上のファイル > デモ口座を開くをクリックします。

    入力欄にメール記載のサーバーをコピペしてボタンをクリック

    メールに記載されていたサーバーの情報を入力欄に入力し、証券会社を探すボタンをクリックします。

    画像のようにGemTrade CO., Ltd.と表示されるので、選択して次へ進みます。

    寄贈の取引口座と接続するを選択

    一番下の「既存の取引口座と接続する」を選択し、メールに記載されていた口座番号(ログインID)とパスワードを入力し完了ボタンをクリックします。

    デモ口座の残高が反映される

    無事ログインに成功すると、取引タブの残高が100万円(ドル口座の場合はドル)に設定されます。

    スマートフォン

    基本的にiOS/Android共通です、まだインストールされていない方は下記よりインストールしてください。

    MetaTrader 5

    MetaTrader 5

    MetaQuotes Software Corp.無料posted withアプリーチ

    設定タブから新規講座の上をタップ
    右上の+ボタンをタップ
    入力欄にサーバー情報を入力し、GemTrade CO., Ltd.を選択
    口座番号(ログインID)、パスワードを入力
    残高100万円になっていれば成功

    スマートフォンでは一括決済等の便利な外部ソフトウェアが使えませんが、リアルタイムに値動きが確認できるので一度必ずログインを試しておきましょう。

    GemForexリアル口座はボーナス付!

    今回はデモ口座の開設手順を記載しましたが、GemForexはリアル口座を開設して本人確認するだけでなんと20,000円のボーナスが貰えます。

    デモ口座と違い、ボーナスを元にトレードし得た利益は出金可能!

    まだリアル口座のMT5提供は始まっていませんが、MT4であれば即座に20,000円分ボーナスを受け取れるのでぜひチャレンジしてみてください!

    GemForexリアル口座の詳細、口座の登録方法は「【2021年最新版】GemForex口座開設をわかりやすく解説!ボーナス受け取りまでサポート!」で詳しく解説しています。

    \今なら口座開設&本人確認完了で20,000円のボーナス/

    GemForex MT5のまとめ

    待ち望まれていたMT5口座の提供がGemForexでついに開始となりました。

    執筆時時点ではまだデモ口座だけですが、早ければ数日~数週間程度でリアル口座の提供も始まると思います。

    MT4からMT5の移行期、これからもMT5はどんどん便利になっていくと思われます。

    ここでしっかりとMT5の使い方等をマスターしておきましょう!

    \今なら口座開設&本人確認完了で20,000円のボーナス/

    海外FX口座XM Tradingを使って1日で1万円が100万円に!
    口座開設だけで100万円も達成可能!海外FX口座XM Tradingを画像つきでわかりやすく解説!今なら3000円ボーナス&100%ボーナス実施中、3000円を100万円にしてみよう!
    海外FX口座GemForexを徹底レビュー!魅力的なボーナスでメイン口座にも!
    XM一強だった海外FXに、超有力対抗馬として存在感を見せているのがGemForex。気になるスプレッドやボーナス、レバレッジから出金・入金、口座開設まで徹底的に解説します!金融ライセンスもしっかり取得しているGemForexの詳細をチェック!
    Axioryはレバレッジ規制無し?海外口座ならAxioryを必ず開設しておきたい理由を徹底解説!
    海外FXでは珍しい、透明性が素晴らしい安全な口座。気になるスプレッドやレバレッジから出金・入金、口座開設まで徹底的に解説します!自分にあった口座が分からない方でもこの記事でどんな人に向いているのか完全サポート!
    ]]>
    https://www.braveryk7.com/gemforex-mt5/feed/ 0
    海外FX口座XM Tradingを使って1日で1万円が100万円に! https://www.braveryk7.com/xm-one-million/ https://www.braveryk7.com/xm-one-million/#comments Sun, 21 Mar 2021 14:07:20 +0000 https://braveryk7.com/wordpress/?p=466 XM Tradingの海外FX口座で1万円が100万円に!メリット・デメリット口座開設まで画像付レビュー!【口コミ・評判】

    一般的に日本国内の証券会社や銀行が提供しているFXは最大レバレッジが25倍。

    つまり原資の25倍まではレバレッジを効かせられますが、一昔(レバレッジ規制)前では日本でも50倍や100倍といったレバレッジをかけてトレードができました。

    でも実は少しだけ海外に目を向けると今でも日本の10倍以上のレバレッジで取引できるFX口座がたくさんあります。

    今日は数あるFX口座から、僕が実際にトレードして1万円を100万円にしたXMエックスエム TradingトレーディングのFX口座を徹底的にレビューして行きます!

    けんちゃん
    けんちゃん

    後半で説明する通りに口座開設すると3,000円分タダで貰えるよ!もちろんその3,000円スタートで100万円だって目指せます!

    • XM Tradingの詳細やメリット・デメリット、口コミ・評判がわかる
    • XM TradingのFX口座で実際に1万→100万にした結果が画像付でわかる
    • XM TradingのFX口座開設方法がわかる
    口座開設で貰えるボーナス3,000円
    入金で貰えるボーナス最大$500
    取引ごとのボーナスあり
    最大レバレッジ1,000倍
    \今なら口座開設で13,000円ボーナスが貰える!/

    XM Trading海外FX口座で100万円を達成

    XM Tradingで1万円を100万円に100倍させた記録
    XM Tradingで100万円を達成!

    まずは論より証拠、実際に1万円を100万にした時の証拠画像です。

    詳細は後ほど説明します、途中決済されてしまったものとボーナス分がありますが入金金額はたったの5,000円(ボーナスが付与されて1万円ぐらいになります)。

    なぜ1万円を100万円に出来たのか?それが実現出来るXM Tradingとは一体どんなFX口座なのか?

    一緒に見ていきましょう!

    けんちゃん
    けんちゃん

    これは僕がFXが上手いからという訳じゃなく、焦らず冷静にポジションを持つタイミングを見極められればぶっちゃけ誰にでもチャンスがあります!

    XM Tradingの海外FX口座とは?

    ブランド名XM Trading
    運営会社Tradexfin Limited
    本社Steliou Mavrommati 80B, Agios Pavlos, 2364, Nicosia, Cyprus
    ライセンスセーシェル金融庁/SD010
    公式WebサイトXM Trading
    XM Tradingの詳細
    XM Tradingはセーシェルで金融ライセンスを持つ、Tradexfin Limited社のFXブランド名です。

    ネット上ではXMエックスエムとして有名ですが、正式なブランド名称はXM Trading。

    世界的にFXサービスを提供する企業です。

    海外のFX口座では最も日本人の登録が多く、日本のFXユーザーに「海外FXといえば?」と聞いて帰ってくるのはほとんどXM Tradingでしょう。

    XM Tradingの特徴
    • 最大レバレッジ1,000倍
    • 絶対に借金を追わないゼロカットシステム
    • 多彩な通貨ペア
    • 口座開設・入金・トレードボーナス

    多くの優れた特徴があり、「はじめての海外FXならとりあえずXM Tradingを使ってみれば良いよ」と言えるぐらい優れたFX口座です。

    XM Tradingって安全なの?

    海外というだけでFX口座の安全性・透明性を気にする方は正直めちゃくちゃ多いですし、僕も人の倍以上気にします。

    その上で断言できますが、僕はXM Trading以上に安全な業者を知りません。

    現に今まで累計1億8,000万円以上XM Tradingから出金をしていますが、不正に出金を止められたり拒否されたり遅れたりした事は1度もなし。

    もうXM Tradingを使って5年以上経ちますが、もしXM Tradingが不安というのならFX自体辞めた方が良いよというレベルだと思います・・・笑。

    けんちゃん
    けんちゃん

    堅実な金融ライセンスで運営されてるし、明らかに不正を働いた以外の出金に関するトラブルは見たことがありません。

    セーシェル金融ライセンスについて

    XM Tradingのセーシェルライセンス証
    XM Tradingのセーシェルライセンス証

    先述した通り、XM Tradingセーシェルの金融ライセンス認可を受けている正当なFX取扱事業者です。

    セーシェルはイギリス連邦の加盟国で、日本と同じように金融庁を設置しています。

    セーシェル金融庁の認可は厳格で、怪しい業者はまずライセンス取得できません。

    けんちゃん
    けんちゃん

    セーシェル金融庁では以下のように宣言してるよ!(かっこ内に翻訳を記載しています)

    The primary objectives of the FSA as the Securities Authority are:(証券庁としてのFSAの主な目的は次のとおりです。)

    the protection of investors;(投資家の保護)

    ensuring that markets are fair, efficient and transparent;(市場が公正、効率的、透明であることを保証)

    the protection of the good repute of the Seychelles as an international financial service center; and(国際金融サービスセンターとしてのセイシェルの評判の保護)

    working with other regulatory agencies to ensure mitigation of systemic risk.(他の規制機関と協力して、システミックリスクを確実に軽減)

    Capital Markets | FSAより引用

    セーシェル金融庁は国際的な機関である証券監督者国際機構(IOSCOイオスコの準会員であり、これは日本の金融庁に属する証券取引等監視委員会と同等。

    XM Tradingはセーシェル金融ライセンスの認可を正式に受けている事で安心して利用できると言えます。

    けんちゃん
    けんちゃん

    海外FXはなんとなく不安という人も多いけれど、国際機関加盟のセーシェル国金融庁が発行したライセンスがあるというのは物凄く重要な安心材料!

    XM Trading海外FX口座のメリット

    国内FXとXM Tradingのレバレッジ比較
    国内FXとXM Tradingのレバレッジ比較

    海外と日本のFX口座の大きな違いは、掛けられるレバレッジの大きさ。

    国内の口座は最大で25倍まで、つまり元手資金が100万円あったとしたら25倍の2,500万円分の取引が出来ます。

    一方海外FX口座は実際レバレッジがどれくらい違うかというと、今回レビューするXM Tradingの場合最大レバレッジがなんと1,000倍!

    投資資金が100万円あった場合、日本国内のFX口座は2,500万円分の取引なのに対しXMの場合は10億円分の取引が出来ますよと言う事になります。

    国内とXM Tradingのレバレッジ比較
    国内FXXM Trading
    最大レバレッジ25倍1,000倍
    最大レバレッジ時の
    運用金額(100万円の場合)
    2,500万円10億円

    一般的にレバレッジが高い=危険と勘違いする方が多いですが、実際にはレバレッジは自分でコントロールできます。

    1,000倍だからといって必ず1,000倍で運用しなきゃいけないという訳ではありませんし、高いレバレッジでも投資できるという事は少ない資金を最大限活かす事ができるので選べるレバレッジは大きければ大きいほどメリットしかありません。

    けんちゃん
    けんちゃん

    海外FX最大の魅力はレバレッジの大きさ!

    過去XM Tradingの最高レバレッジは888倍でしたが、2022年6月17日に最高1,000倍まで引き上げられました。

    1万円で何ロット持てるの?

    海外FX基本的に1ロット=10万通貨です(スタンダード口座の場合。国内FXは大体1ロット=1万通貨)。

    では仮に口座に1万円資金があるとして何ロット持てるのか、まずは1ロットエントリーするのに必要な証拠金を計算します。

    1ロットに必要な証拠金の計算式

    現在レート×通貨単位÷レバレッジ

    例えばドル円が$1=120円だとしたら、120×100,000÷1,000=12,000円。

    続いて1万円で持てる最大ロット数を計算します。

    証拠金で持てる最大ロット数の計算式

    口座残高÷1ロットに必要な証拠金

    この計算に当てはめると10,000÷12,000=0.83。

    つまり1万円で持てる最大ロット数は0.83枚、ただしこれは本当ギリギリの維持率なのでちょっとの変動でロスカットされてしまう可能性があります。

    けんちゃん
    けんちゃん

    $1=120円の時持てる最大ロット数を一覧にしてみたよ!

    口座残高最大ロット数
    10,000円0.83ロット
    20,000円1.66ロット
    30,000円2.5ロット
    50,000円4.16ロット
    100,000円8.33ロット
    300,000円25ロット
    500,000円41.66ロット
    1,000,000円83.33ロット
    証拠金を最大まで使ってレバレッジ1,000倍で運用した時の最大ロット一覧

    取り扱い商品の豊富さ

    海外FX口座の非常に良い点の一つに、取り扱い商品が多いことが挙げられます。

    取扱商品
    • ドル円やユーロドル、ポンドドルと言ったドルストレートペア
    • ユーロ円やポンド円、オーストラリアドル円と言ったクロス円ペア
    • 日経平均やダウ平均と言った指数
    • 原油やゴールド・シルバー、コーヒーや小麦のような先物

    非常に豊富な商品の取り扱いがあり、取り扱い銘柄が多い=特定の銘柄の値動きが乱雑になったり分からなくなったりしても他の銘柄でリスクヘッジが出来るというメリットがあります。

    基本的に国内口座でFXと言えば為替(通貨)のみなので、様々な商品ペアがある事は選択肢も広がってありがたいですね。

    追証無しで絶対借金を追わないゼロカットシステム

    海外FX口座の大きな違いのもう一つとしてあげたい部分がこのゼロカットシステム

    日本のFX口座は基本的に追証システム、対して海外FX口座はゼロカットシステムを導入しています。

    ゼロカットシステムはその名の通り、仮に相場急変等でマイナスが生じても証拠金以上の損失は無くしてくれるというシステムです。

    5秒で分かる、ゼロカットシステムの例
    1. 100万円を証拠金として預け入れた
    2. 相場が急変して110万円の損失
    3. -10万円分は0円にしてくれる

    ゼロカットシステムは非常にユーザーにとってメリットが大きく、これがあるから海外FX口座を選択するという人も多くいるぐらいです。

    ほぼ全ての海外FX口座でゼロカットシステムが導入されている為、海外FX口座=絶対借金にならないと言えます。

    一方国内FX会社は証拠金維持率が一定を下回ると追証(=追加入金)が発生する為、相場の急変によっては追加で資金を入金する必要があります。

    これがリーマンショックやチャイナショック級の変動だと、追加入金がポジションによっては数百~数千万必要となるケースがあり、それが払えないと借金という形になってしまいます。

    海外FXのゼロカットシステムは非常に優秀ですね!

    ゼロカットを戦略に取り入れて、海外FX口座を使ってリスクを抑え利益を増やす具体的な戦略を以下の記事で公開しているのでぜひ合わせてご覧ください!

    けんちゃん
    けんちゃん

    FX=借金と勘違いしている人もいるけど、ゼロカットだと投資額以上の損失になることはありません!

    全商品ストップレベル0pips

    2021年8月24日、それまで例えばドル円は2.0pips、ユーロ円は2.7pipsだったストップレベル(逆指値幅)が全商品0pipsになりました!

    これでエントリー時点でかなり浅いストップを同時にかける事が可能になり、特に数pipsを狙うスキャルピングプレイヤーにとってとても使いやすい口座になりました。

    詳細は「ついにXM Tradingの逆指値幅(ストップレベル)が0pipsに!逆指値が使いやすくなりました」をご覧ください!

    \今なら口座開設で13,000円ボーナスが貰える!/

    XM Trading海外FX口座のデメリット

    海外FX口座は何かとデメリットがあげられますが、果たして本当にデメリットなのか確認しておきましょう。

    ハイレバによるリスク

    最大1,000倍のハイレバレッジトレードが可能、だからトレードですぐに資金を失ってしまうという論です。

    確かにハイレバ投資はリスクがありますが、何も1,000倍の口座だからといって強制的に1,000倍じゃなきゃトレード出来ないという訳ではありません。

    というかむしろ1,000倍でトレードする人なんて極少数です、普通はちゃんと余力を頭に入れながらエントリーしますよね。

    あくまで最大レバレッジ1,000倍の中でトレードができる、その裁量は常に自分にあります。

    最大レバレッジは1:1や1:25、1:100と16段階で設定できるので、日本と同じように25倍設定で運用する事も可能です。

    けんちゃん
    けんちゃん

    自分で選択できるから選択肢は多い方が良いよね!

    海外FX事業者はなんとなく不安

    海外事業者という理由で不安、そんな声も良く聞かれます。

    これに関しては正直国内だろうが海外だろうがリスクは大差無いと思っています(国内でもエグい手法で集金してそのまま飛んだなんて話は仮想通貨で散々ありました)。

    XM Tradingに関して言えばセーシェルの金融ライセンスを取得し、長年世界中で安定的にサービス提供しています。

    他の海外FX事業者に比べて不安になるニュースを聞くような事も無く、XM Tradingがダメなら世界中どの事業者もダメでしょう。

    • 日本語サポートOK(英語が分からなくても大丈夫)
    • 遅くとも24時間以内に回答
    • メール・リアルタイムチャットサポート
    • 顧客資金の分別管理
    • 24時間以内の出金
    • 厳格な本人確認

    これだけ徹底しており、正式な金融ライセンスを得ているXM Tradingは個人的には国内FX事業者と同等かそれ以上の安全性があると考えています。

    けんちゃん
    けんちゃん

    不安だな、と思う事がもしあれば口座開設後片っ端からサポートに連絡して聞いてみよう!基本的にどんな事でも誠意を持って回答してくれます。

    XM Trading海外FX口座に入金、1万円が100万円に!

    それでは実際に1万円を100万円にした流れを説明していきます!

    XM Tradingは口座開設者に3,000円のボーナス付与のキャンペーンをしているので入金しなくても3,000円ある状態です!

    2022年12月31日まで限定でボーナスが更にプラスで1万円、つまり13,000円ボーナスを受け取れます!

    そして早速5,000円入金。

    XM Tradingはトレードに応じてXMPというボーナスが貰えるんですが、ボーナス額のみでのトレードには付与されません。

    けんちゃん
    けんちゃん

    1,000円でも1万円でも良いから入金してトレードするのがおすすめ!

    更に口座開設ボーナスとして初回の入金から上限$500まで100%ボーナスがあるので証拠金は以下のように13,000円スタートです!

    証拠金
    • 初回入金5,000円
    • 口座開設ボーナス3,000円
    • 入金100%ボーナス5,000円(上限$500まで)

    取引通貨はポンド円、実際に取引をしたのはカーニーイングランド銀行総裁の会見が行われた日ですね。

    あの日のポンド円はカーニー総裁の発言で2日でなんと4円の値動きを見せました。

    ちょうどカーニー総裁の会見直前に0.05ロットのショートポジションを入れ、様子を見てみようと思いチャートを眺めていたらちょっとだけ円安方向へ。

    しかしカーニー総裁の発言内容が円高に推進すると思い追加で0.2ロットショートポジションを入れました。

    けんちゃん
    けんちゃん

    基本的にこのようにポジションを分散させて、最初はなるべく小さなロットで値動きを探るようにしてます!

    すると発言内容によってポンド円が一気に円高に推進しあれよあれよと1円下落、更に何度かポジションを追加しては若干の戻しが逆指しポジションに行くと言う事がありましたが懲りずにSポジションを追加し続けついに100万円に到達!

    この手法はピラミッティングと呼ばれる物で、ナンピンとは違い利益が乗っている状態で更にポジションを追加するという海外FXと非常に相性が良い手法です。

    XMで1万円から100万円を達成した時のスクリーンショット
    XM Tradingで1万円から100万円を達成!

    一番上の”残高”が現金の残高、最初は5,000円だったのですが利益が出た後にある程度の利益を残して逆指値を入れて決済されてしまった分で32,000円ぐらい増えていますね。

    ”クレジット”は13,000円になっていますが、これはXM Trading取引に応じて貰えるポイントをボーナス化した物で取引が多かったので5,000円分程度貰えています。

    画面最上部の1004263JPYと言うのが総利益、ポジション欄の各青い数字がそれぞれのポジションの利益です。

    この後もポジションを持とうか迷ったのですが、資金が100倍に化けると言う今まで自分も経験した事が無かった状態だったので怖くなり全て決済しました笑。

    結果翌日にはここが直近の底になり、今日現在ではポンド円相場が一時174円をつけわずか1週間で10円以上の値幅がある状態です。

    ・・・あそこで決済しておいて本当によかった・・・笑。

    けんちゃん
    けんちゃん

    ハイレバトレードは利確が最も大事!

    何故1万円を100万円にできたのか

    今回XM Tradingで実際に1万円を100万円にする事ができました。

    これはただ僕のトレードスキルが高かった・・・という訳ではありません笑。

    • 最大1,000倍のハイレバレッジ
    • 万が一逆行しても絶対に借金にならないゼロカットシステム
    • 初期投資額を増やしてくれる口座開設ボーナス・入金ボーナス

    様々な安心材料と、利益を最大化するシステムがあったからこそ実現できました。

    けんちゃん
    けんちゃん

    もちろんトレード知識は必要だけど、分かりやすく稼ぎやすいシステムでトレードする事は必須!

    \今なら口座開設で13,000円ボーナスが貰える!/

    チャンスがあればFXで1万円を100万円にできる!

    エントリーする場所さえきっちりあえばXM Tradingは1万円を100万円にする事が可能です!

    もちろん国内口座で地道に増やしていくのも良いんですが、海外のハイレバレッジ口座で一気に稼いだ方がぶっちゃけ楽です。

    正直1万円程度であれば2日もバイトすれば稼げますし、10万円を失うのはちょっとしんどいですが1万円程度であれば諦めがつきますからね・・・笑。

    けんちゃん
    けんちゃん

    少額ハイレバは海外FXの手法の一つ!

    XM Tradingは海外FX口座ですが日本語サイトがあり日本人スタッフに対応して貰えるので、英語なんて1単語も知らなくても使えますし、トレード以外の余計な心配をする必要もありません。

    今なら口座開設+本人確認で13,000円分ボーナスが貰えるのでとりあえず口座を作ってみてこれを増やしてみるのも十分有り。

    13,000円分全くのノーリスクで挑戦できるのでやらない手はありませんし、ぶっちゃけ13,000円を5万円、10万円と増やせない方がいきなり1億運用して稼げる訳ありません。

    とりあえず13,000円を運用してみて自分に向いているのかどうか、挑戦してみましょう!

    \今なら口座開設で13,000円ボーナスが貰える!/

    XM Trading海外FX口座の特徴

    ここでXM Tradingの特徴を知っておきましょう!

    けんちゃん
    けんちゃん

    自分の資産を利用してお金を稼ぐ、だからこそちゃんと特徴は知っておこうね!

    出金

    XM Tradingのような海外FX事業者で気になるのは入出金に関する事でしょう。

    例えば国内口座の楽天証券FXの場合は諸条件がありますが、基本的に東京マーケットが開いている間に出金手続きをし、出金先が楽天銀行だった場合即日出金されます。

    XM Tradingは銀行振込以外にも入金手段がありますが、条件によって出金方法が変わってきます。

    XM Tradingの入金手段
    • 銀行振込
    • クレジットカード
    • デビットカード
    • bitwallet
    • SticPay
    • BXONE Wallet

    いくつか手段はありますが、ほとんどがbitwalletまでの上4つを使う事になります。

    初回の入金がクレジットカード/デビッドカードだった場合、出金先が強制的に入金に使用したカードになります。

    海外FX口座ではマネーロンダリング防止の為に入金先=出金先と言う原則があり、例えばクレジットカードで10万円入金したら出金もそのクレジットカードに入金同等額までキャンセル扱いで出金されます。

    出金の具体例

    10万円入金して10万円利益が出て合計20万円を全額出金したら、クレジットカードで入金した10万円はクレジットカードに返金(キャンセル)処理として出金。
    残りの利益10万円分に関しては銀行振込みを使用し出金。

    これはbitwalletを経由しても同様にです。

    XM Trading自体は出金処理を24時間以内に実行すると公言していますので、基本的にXM Tradingからはすぐに出金されます。

    けんちゃん
    けんちゃん

    もちろん入金が銀行振り込みだった場合は全額銀行振り込みで出金可能!

    出金に掛かる時間

    実際にXM Trading側から出金完了の連絡がきても、国際送金なので日本に着金するにはある程度時間がかかります。

    しかし最近国際送金はかなり早いのか、僕の場合最短で16時に出金依頼していたものが18時頃には着金していました。

    早ければ数時間で着金、かなり優秀で出金に関しても国内口座と遜色ない状態になってきているようです!

    けんちゃん
    けんちゃん

    国際送金は複数の銀行の処理速度に依存するから、上手くタイミングが合えばかなり早いです!

    ただしこれは銀行口座により、試しに三菱東京UFJ銀行に出金して見たところ5営業日程掛かりました。

    全体的にネットバンクの方が早い印象を受けます。

    そしてネットバンクの良いところは着金手数料が非常に安いところ。

    着金手数料

    メガバンク・・・3,000~5,000円前後
    楽天銀行・・・2,500円

    出金が早く手数料も安い、出金用銀行として楽天銀行を作っておくのがおすすめです!

    けんちゃん
    けんちゃん

    つい最近なんと出金→着金が1時間半という最速記録を達成しました!2015年ぐらいは出金に普通に1週間とかかかってました、本当にいい時代になった・・・笑。

    最大ロット数

    XM Tradingは一度に0.01ロット~50ロットまでトレードが可能です。

    最小ロットである0.01ロットだと日本円で100円程度からトレードする事ができます。

    上限50ロットはあくまで1ポジションでの上限なので、複数ポジションに分ける事で50ロット以上のポジションを持つことももちろん可能です(200ロットエントリーしたければ、50ロット×4回でエントリーする)。

    最大ポジション数

    XM Tradingでは1口座最大200ポジションまで持つ事ができます。

    凄く細かく刻んでポジションを持っても200ポジションというのは中々達成できない数なので、膨大な額のトレードをする方でも安心ですね。

    \今なら口座開設で13,000円ボーナスが貰える!/

    XM Trading海外FX口座種別を解説

    XM Tradingには口座が全部で3種類あります。

    それぞれ口座に違いはありますが、基本的にはスタンダード口座を開設しておけば間違いありません。

    XM Tradingの口座種別
    • スタンダード口座
    • マイクロ口座
    • XM Zero口座

    口座比較表

    口座種別の違いを表にしてみました!

    マイクロ口座スタンダード口座XM Zero口座
    1ロット辺りの枚数 0.1枚 10枚 10枚
    レバレッジ1,000倍(~$20,000)
    200倍($20,001~$100,000)
    100倍($100,001~)
    500倍(~$20,000)
    200倍(左に同じ)
    100倍(左に同じ)
    スプレッド最低1Pips~最低0Pips~
    最大ロット数100ロット50ロット
    取引ボーナス対象対象外
    口座開設ボーナス対象
    最低入金額$5(約500円)$100(約10,000円)
    入出金手数料無料

    口座種別の詳細

    XM Tradingには先述したように全部で3種類の口座があります。

    先述したようにスタンダード口座が最もおすすめ、ほぼ皆さんスタンダード口座を選択しているようです。

    マイクロ口座

    マイクロ口座は低資金でもトレード出来ますよって口座です。

    ただスタンダード口座でもドル円を0.01ロット(最低単価)でエントリーする場合100円程度でエントリー出来るので、正直マイクロ口座を持つメリットがあまり無いです。

    証拠金が100万200万と増えて一気にエントリーしようと思ってもマイクロ口座では最大100ロットしかエントリー出来ないので、個人的にはマイクロ口座で開設する意味はあまり無いと思っています(もちろんポジション分散でそれ以上持つ事はできますが、それならスタンダードの方が使いやすい)。

    けんちゃん
    けんちゃん

    マイクロ口座は後述するロイヤリティプログラム維持の為がメイン、普段はあまり使いません。

    スタンダード口座

    スタンダード口座はその名の通り標準的、XM Tradingを代表する全ての機能が揃った口座です。

    最大レバレッジ1,000倍、取引ボーナスであるロイヤリティプログラムも口座開設ボーナス、入金ボーナス全てに対応。

    最低ロットは0.01(通貨ペアによりますが100円ちょっと)からエントリーできるので、特に理由が無い限りスタンダード口座が最もおすすめです。

    けんちゃん
    けんちゃん

    ぶっちゃけスタンダード口座でほぼ全ての事ができます笑。

    XMZero口座

    XM Zero口座は1回のエントリー毎に手数料を払う事によってスプレッドが狭くなる口座です。

    $100,000に対して$5の手数料がMT4口座だとエントリー時に往復分、MT5口座だとエントリー時と決済時に片道分ずつ徴収されます。

    メジャーな通貨ペアだとほぼ0に近いスプレッドのようですが、実はXM Zero口座の場合ロイヤリティプログラムというトレード毎に貰えるボーナスが貰えません。

    これ実はめちゃくちゃ損で、わざわざ手数料払ってボーナスも貰えないなんてアホらしいと思っちゃいます・・・笑。

    レバレッジも最大500倍、口座開設ボーナスの13,000円は対象ですが入金ボーナスも非対象です。

    けんちゃん
    けんちゃん

    追加口座は簡単に作れるから、最初はスタンダードがおすすめ!

    MT4とMT5どっちがいいの?

    現在XM TradingではトレードソフトとしてMT4とMT5を両方が使え、マイクロ口座、スタンダード口座、XM Zero口座を選んだ後MT4とMT5どちらを使うか選択します。

    MT5はMT4の後継なのでMT5が良いと思いきや実はそうではなくて、MT4/MT5は標準機能にプラスして使えるプラグイン機能が非常に優秀です。

    例えば自動トレードとか標準機能にないインジケーターを使いたい場合機能を追加する事で簡単に使用が出来るんですが、現状MT4の方がプラグインの量が圧倒的に豊富です。

    追加口座でいつでもMT5導入ができる!

    MT4で口座開設しても、XM Tradingは一人で複数の口座を持てるので後からMT5用の口座を作ればどちらも兼用できます。

    MT5の口座開設も既にMT4口座を持っている場合数クリックで作成できるので、必要になったタイミングで開設してもいいですし、なんなら口座開設を行うと同時に別途MT5口座も作っちゃって良いと思います笑。

    けんちゃん
    けんちゃん

    後から追加でもOK!

    口座追加の手順は「XM Tradingの追加口座開設方法まとめ 使い方・資金移動の方法まで徹底解説!メリット・デメリットも公開!」で詳しく解説しています!

    XM Trading海外FX口座の開設

    XM Tradingの口座開設は非常に簡単で、例えば日本の証券会社なら書類を郵送したり等々手間が掛かりますが、口座開設自体は2分もあれば出来ます笑。

    郵送でのやり取りは一切ありません、せいぜい数通メールがあるだけなので家族に内緒でFXをやりたい方にもおすすめです笑。

    口座開設手順
    • Step.1
      口座開設に必要な情報入力
    • Step.2
      口座開設・登録完了メール受信
    • Step.3
      本人確認

      ここで13,000円ボーナス条件達成!

    • Step.4
      入金

      ここで100%ボーナス条件達成!

      ボーナスポイント(ロイヤリティプログラム)開始!

    • Step.5
      MT4/MT5ダウンロード・ログイン

      トレード開始!

    項目数だけ見れば少し作業量があるような気がしますが、作業時間自体は全部で10分程度でしょう。

    口座開設に2分前後、本人確認で5分程度、MT4/MT5のダウンロードとログインに3分程度です。

    口座開設に必要な情報入力

    それでは一緒に口座開設してみましょう!

    まずはXM Tradingの口座開設ページへアクセスします。

    \今なら口座開設で13,000円ボーナスが貰える!/
    XM Tradingの口座開設 - 個人情報入力
    XM口座登録

    上記の画像の赤枠部分に必要事項を全てアルファベットで入力する必要があります。

    都道府県・市の欄には東京都新宿区在住の方であればShinjuku-ku, Tokyoのように英語表記の住所は基本的に日本語表記の住所と違って真逆から書きます。

    次へ進んだ画面で市区町村以下を入力しますが、まずは市区町村まででOKです。

    例えば住所が東京都新宿区新宿1-1-1ヤマダハイツ101号室の場合、英語表記は以下の通りになります。

    #101, Yamada-Hits, 1-1-1, Shinjuku, Shinjuku-ku, Tokyo, 160-0022, Japan

    部屋番号は#を入れ、後は住所の下の方からどんどんアルファベットに変換していくだけなので簡単ですね。

    けんちゃん
    けんちゃん

    住所は日本語を後ろから英語にしていくだけ!

    国名直前の数字はZipcode(郵便番号)です。

    まず間違いなく電話でやり取りすることは無いですが電話番号を入力します。

    +81から始まる電話番号ですが、普段使っている電話番号の頭の0を取って日本の国番号である+81を足した物が電話番号となります。

    例えば090-1234-5678と言う電話番号の人は+819012345678が電話番号になります。

    XM Tradingの口座開設 - 個人情報の入力
    氏名生年月日を正しく入力する。
    XM Tradingの口座開設 - 住所の詳細入力
    郵送物は一切無いが、本人確認書類と同じ住所を正確に入力する。

    先程の個人情報の追加部分、生年月日も住所と同じく日→月→年の順に入力して行きます。

    住所は先程の市区町村以下を入力して下さい。

    米国市民かどうかについては日本在住、と言うか日本人なら基本的にいいえでOKです。

    XM Tradingの口座開設 - 取引口座の詳細
    スタンダード口座、ボーナスの受け取り、日本円で1,000倍口座でOK。

    取引口座に関しては先述しましたが基本的にスタンダード、口座通貨は日本円(JPY)でレバレッジは1,000倍でOKです。

    けんちゃん
    けんちゃん

    レバレッジはいつでも変更できるからとりあえず1,000倍でOK!

    口座ボーナスについては必ずはいを選択して下さい、いいえを選ぶ理由がありません。

    XM Tradingの口座開設 - 投資家情報
    投資家としての情報を選択する。
    XM Tradingの口座開設 - トレード経験
    投資に関する知識・経験を選択する。

    投資家情報とトレードの知識&経験はご自身が該当するものを選択して下さい。

    XM Tradingの口座開設 - パスワード入力欄
    実際に自分の資産が預け入れられる口座なので、可能な限り強固なパスワードを設定する。

    最後に口座のパスワードを入力し、チェックボックスの注意事項に同意をして口座開設ボタンを押せば完了です!

    口座開設確認メールを受信

    完了後すぐにXM Tradingから口座登録に関する以下のようなメールが届きます。

    XM Tradingの口座開設 - 確認メール
    確認メールに記載のボタンをクリックし口座登録を完了させる。

    文中の赤枠内をクリックし、口座登録を完了させて下さい。

    XM Tradingの口座開設 - 口座開設完了
    この表示(MT4 IDの表示)で口座登録完了。

    これで自分用のMT4 ID(口座番号)の発行が行われて、無事口座登録は終わりです!

    なおこのMT4 IDはトレード用クライアントソフトのMT4のログインはもちろん、会員ページへのログインや各種問い合わせに使うので忘れないようにしましょう!

    口座開設完了メールを受信

    上記の口座登録が完了すると口座開設完了のメールが届きます。

    XM Tradingの口座開設 - 口座登録完了メール
    口座開設完了メールにはMT4 IDの他、MT4で必要なサーバー情報が記載されている。

    ここに口座番号が改めて記載してありますが重要なのは黄色の部分、XMTrading-Real 12の部分です。

    これはMT4にログインする時に必要な情報なので必ずメモしておいて下さい。

    なおこれは人によって違うので、必ずご自身に届いたメールを確認しましょう!

    けんちゃん
    けんちゃん

    これで口座開設完了!13,000円ボーナスの為に、次の本人確認も一緒にやっておこう!

    XM Trading海外FX口座 本人確認手続き

    続いて本人確認、これを終わらせれば晴れて13,000円ボーナス獲得です!

    先程のメールからアクセスした会員ページの下部にMT4 IDと設定したパスワードを入力してログインして下さい。

    XM Tradingの口座開設 - ログインページ
    メール記載のMT4 IDと設定したパスワードでログイン。

    ログインが完了すると上部とサイドバーに各種リンクがありますが、まずは一番目立つ部分が以下のように「有効化されていない」となっています。

    XM Tradingの口座開設 - 口座の有効化
    本人確認を行い口座を有効化する。

    最終作業として本人確認を完了させる事で口座が100%使えるようになります。

    こちらより口座を有効化すると言うリンクから進んで下さい。

    本人確認手続きに必要な書類

    口座有効化の為に必要な確認書類は全部で2つ必要になります。

    書類は全て画像(GIF / JPG / PNG / PDF)で最大4MBまでの形式で提出します。

    スマートフォンから撮影してアップロードするか、スキャナをお持ちの場合はスキャナで読み込んでもOKです!

    けんちゃん
    けんちゃん

    スマホで撮るのが一番簡単でおすすめ!
    最近の良いカメラだと4MBを超えてしまう事もあるから、その場合は余分な部分をトリミング(削除)したりしてサイズを小さくしてね!

    身分証明書

    基本的にこの記事をお読みの方は日本人の方がほとんどだと思うので、日本人が用意出来る書類で解説します。

    身分証明書には以下の物が有効です。

    • 運転免許証
    • パスポート
    • 住民基本台帳カード
    • 障害者手帳
    • マイナンバーカード※1

    条件として、名前、発行日もしくは有効期限、住所と生年月日が記載されている写真付き証明書という形になります。

    上記5点はそれをすべて満たしていますので問題無く使えます!

    逆に健康保険証は顔写真が無いので受付が出来ません

    なお免許証等で裏面に住所変更の記載がある場合は裏面の提出も必要になります。

    ※1 マイナンバーカード自体もちろん受付可能ですが、XMは日本国内の会社では無いので当然マイナンバーの提出は不要です。提出時、必ずマイナンバー部分をマスクする等してマイナンバーを隠して提出しましょう!マスクの加工はマイナンバーカードを貰った時に一緒についてきた袋越しに撮影したり、スマートフォン等の画像加工アプリを利用すればOKです。

    けんちゃん
    けんちゃん

    16桁のマイナンバーそのものは提出する必要なし!

    住所確認書

    住所確認書はまさしく住所を確認する為の書類です。

    • 国民健康保険証
    • 公共料金領収書
    • 電話料金領収書
    • クレジットカード明細書
    • 銀行の明細
    • 住民票
    • 印鑑証明書
    • 納税書類

    国民健康保険証を除いて全て発行から6ヶ月以内である必要があります。

    住所欄が手書きだとどんな住所でも書けてしまうので、手書きの保険証はNGです!

    けんちゃん
    けんちゃん

    国保は住所が印字されているのでOK!

    その他の書類は発行から6ヶ月以内で住所の記載がある事が必要になります。

    公共料金の名義が家族の場合、クレカや携帯の明細、住民票が一番手軽ですね!

    本人確認・住所確認書類を提出

    XM Tradingの口座開設 - 本人確認書類提出
    専用ページから確認書類をアップロードする。

    提出する書類が決まったら先程のリンクから進んだ以下のページからアップロードします。

    それぞれ参照をクリックして画像ファイルを選んで書類をアップロードをクリックするだけでOK!

    なお免許証等で裏面を提出する場合は、一度表面をアップロードした後再度この画面から裏面をアップロードすればOKです。

    大体1営業日程度、早ければ数時間でXM Tradingからメールで連絡が来ます、問題が無ければその時点で出金等全てを含む取引が行えるようになります!

    けんちゃん
    けんちゃん

    無事本人確認が完了するとボーナス13,000円が付与されます!

    XM Trading海外FX口座へ入金

    13,000円のボーナスだけで増やして資産を築けるのであれば問題無いんですが実はちょっと損になります。

    XM Tradingにはロイヤリティプログラムという、取引内容に応じてボーナスが貰えるシステムがあります。

    このボーナスというのがボーナス金額のみでのトレードでは貰えないんですね。

    なので初回、クレジットカードやデビッドカードの場合は500円から入金出来るので最低でも500円だけ入金しておく事をオススメします笑。

    振込みによる入金の場合、入金額が1万円以下だと980円の手数料が取られてしまいます(1万円以上は無料)。

    振込みによる入金の場合は最低1万円以上の入金を行って無駄な手数料は避けましょう。

    周りの方に聞いてみると少額トレードの方は10万円程度、ある程度余裕を持ってトレードしたい方は100~500万円程度を入金される方が多いようです!

    けんちゃん
    けんちゃん

    取引ボーナスはXMの長所!しっかり受け取ろう!

    入金ボーナス

    XM Tradingには口座開設ボーナス、ロイヤリティプログラムとは別に入金ボーナスが存在します。

    けんちゃん
    けんちゃん

    計算が分かりやすいよう、$1=100円で計算してるよ!

    入金ボーナスの詳細
    • 5万円までは100%ボーナス
    • 5万円以降最大45万円分までは20%ボーナス

    これまた太っ腹なボーナスですね!

    ボーナス額45万円に達するには225万円なので、最大230万円までは入金ボーナスがあります。

    入金ボーナスの内訳
    • 5万円分×100%=ボーナス5万円分
    • 225万円分×20%=ボーナス45万円
    • 入金230万円+ボーナス50万円=証拠金280万円

    最大まで入金するとかなりロットを持っても安心な額ですね!

    けんちゃん
    けんちゃん

    もちろん1回の入金じゃなくてOK、追加入金も大丈夫!
    最初はとりあえず100%の5万円入金、という人も結構多いみたい!

    銀行振込

    XM Tradingは海外の口座ですが、国内の銀行口座振り込み入金も対応しています!

    国内の銀行口座振り込みなので、振り込み後最短30分程度で即トレード可能!

    銀行口座振り込みの場合は1万円から受付され、振り込み手数料も負担してくれます(1万円以下だと手数料が1,000円強引かれて入金されるので一応受け付けてくれますがもったいないです)。

    けんちゃん
    けんちゃん

    振込先はマイページの入金→Local Bank Transferで確認できるよ!

    入金する際の注意事項として、振込人名義をローマ字表記の名前+MT4 IDにする必要があります。

    MT4 ID 1234567を持っている山田太郎さんの場合、Tarou Yamada 1234567と言う形ですね。

    MT4 IDを入れ忘れてしまったりすると着金まで時間が掛かるので忘れずに行いましょう、僕も一度忘れてしまった事があるんですがその場合は申告する事で多少早く入金反映されます笑。

    何らかの理由で振込依頼人欄の変更ができず、ローマ字表記+MT4 IDに変更ができない場合はXM Tradingにその旨を申告することで入金受付がされます。

    その場合は下記の情報をsupport@xmtrading.comに送信して下さい。

    • MT4/MT5 ID
    • 総金額
    • 送金日、総金額、送金明細の画像
    けんちゃん
    けんちゃん

    後から振込依頼人欄の変更忘れに気付くとあせっちゃうけど、ちゃんと申告すれば反映されるので落ち着いて申告しよう!

    bitwallet

    XM Tradingオンラインウォレットサービスであるbitwalletに対応しています。

    bitwalletはクレジットカード入金と同様の扱いで、bitwalletで出金できる額=bitwalletを経由して入金した額になります。

    手数料はbitwalleを使う回数や額によって変わってきますが、XM Tradingとbitwallet間の入出金は全て手数料がかかりません(bitwalletへ振り込みで入金したりbitwalletから自分の口座に出金する際には手数料がかかります)。

    何よりも他の海外FX事業者も多く利用しているので資金の移動がとにかく高速で行える事が特徴。。

    bitwalletについては「bitwallet徹底解説!海外FX入出金サービスの特徴・登録・使い方」で詳しく解説しています!

    けんちゃん
    けんちゃん

    複数の海外FX口座を使い分けしている場合bitwalletはめちゃくちゃ便利!

    XM Trading海外FX口座用MT4/MT5ダウンロード

    最後にMT4/MT5のダウンロードです。

    MT4/MT5はFXトレードにおける老舗トレードソフトで、非常に多くのインジケータを簡単に設定出来る事からFXトレーダーに広く愛用されています。

    と言うより、日本国内にMT4/MT5を利用できるメジャーなFX口座が楽天証券FXぐらいしか無い為、MT4/MT5を使いたいが為に海外口座を愛用する人がいるぐらいです(ちなみに楽天証券はMT4のみ)。

    けんちゃん
    けんちゃん

    国内証券でMT5を扱っているところはほぼなし・・・。

    会員ページの上部にプラットフォームという項目があるので、ご自分の環境に応じてダウンロードして下さい。

    スマートフォンの方はApp Store / PlayストアでMT4と検索するそちらからもダウンロード出来ます!

    以上で口座開設~トレード開始直前まで全て終わりました、お疲れ様でした!

    けんちゃん
    けんちゃん

    後はログインしてトレードするだけ!

    XM Trading海外FX口座で100万円チャレンジしよう

    口座開設も少しの作業で済み、そもそも口座自体のスペックが非常に高いXM Trading

    1. 口座開設で13,000円分のボーナスが貰える
    2. トレードを重ねてもボーナスが貰える
    3. 入金にまでボーナスがつく
    4. 最大1,000倍のハイレバレッジ対応
    5. ゼロカットで絶対に借金を追わない

    実際のトレードに関しては個々人の戦略や投資方針もあると思いますが、まずは1万円を100万円にする事に成功しました。

    いずれそのうち100万円を1億円にする記事を書けるように頑張りたいなーと思います!笑。

    なお30万→1000万、最大2,000万は既に達成しています笑。

    口座開設に関してわからない事がありましたら、コメントやtwitter、もしくはLINE公式アカウントでご質問頂ければお応えしますのでお気軽にどうぞ!

    口座開設等の不明点をサポートするLINE公式アカウントを始めました!
    口座開設等やFXで分からない簡単な質問であればお答えします、以下のページよりお気軽に登録してみて下さい!

    LINE公式アカウントはじめました!

    ※ブログの更新情報やお得なキャンペーン情報も不定期で配信されます。
    ※投資助言に該当する質問にはお答えできかねます。

    \今なら口座開設で13,000円ボーナスが貰える!/
    FX歴10年以上の専業投資家おすすめの海外FX口座3選!複数口座を開設してリスクヘッジしよう
    海外FXを中心に投資家歴10年以上のFX投資家が実際に使って良かったFX口座をおすすめしています。
    海外FXでデモ口座?それなら口座開設ボーナスがある業者を選ぼう!
    海外FXを初めて経験する際デモ口座を選ばれる方がいます。しかし、デモ口座を使うぐらいなら口座開設ボーナスがあるFX口座を使った方がずっとお得で身になります。口座開設ボーナスがある口座3選となぜ口座ボーナスがお得なのか、徹底的に解説します。
    XMの追加口座開設方法まとめ 使い方・資金移動の方法まで徹底解説!メリット・デメリットも公開!
    海外FXで最も人気があるXMの追加口座開設方法を詳細な画像付きでわかりやすく解説!追加口座作成だけではなく、その応用方法まで徹底的に解説しています。リスク分散、出金時の注意点も合わせて掲載しているので既存の口座保有者も是非一度確認して下さい。
    ]]>
    https://www.braveryk7.com/xm-one-million/feed/ 27
    #買ってよかったもの2020 Amazonで年間190万使って満足したおすすめ45選 https://www.braveryk7.com/best-buy-2020/ https://www.braveryk7.com/best-buy-2020/#respond Thu, 31 Dec 2020 12:54:18 +0000 https://braveryk7.com/?p=6229

    2020年も年の瀬、今年もこの時期がやってきました!

    今年も昨年同様Amazonの年間利用額を調べたところ、去年の160万円を大幅に更新して12月31日時点で約190万円でした。

    もちろん日常の生活用品も含まれていますが、今年も沢山の新たな出会いがあり日々便利に過ごしています。

    他にも楽天やヨドバシ・ドット・コム等を合わせると余裕で300万を突破していました・・・笑。

    そんな僕が全力でおすすめする45選、ご紹介させて頂きます!

    ちょっと量は多いですが、もちろん全てが買ってよかったとおすすめできる一品です!

    けんちゃん
    けんちゃん

    2019年版はこちら!
    記事の最後にもリンクを置いとくから合わせて読んでね!

    2020年Amazonで買ってよかったもの ガジェット編

    ケルヒャー K2サイレント

    ケルヒャー K2サイレント
    女性や小学生ぐらいの子供でも持ち運べるぐらい軽量なケルヒャーK2サイレント。

    感動したレベルでは今年なかなか上位だったのがケルヒャーK2サイレント。

    上位モデルのK5辺りと迷ったんですが、僕は屋上でも1Fの玄関や庭でも使いたかったので機動性重視のK2サイレントをチョイスしました。

    けんちゃん
    けんちゃん

    2万円ぐらいの安さでこれだけ気持ちよく綺麗になるならめちゃくちゃお買い得!

    YOSUDA フィットネスバイク

    YOSUDA フィットネスバイク
    コロナ禍の運動不足解消に導入したフィットネスバイク。負荷が調整できるので、初心者からベテランまで使用できる。

    コロナ禍の2020年、少しでも運動する機会をと思って購入したフィットネスバイク。

    色々調べて最もコスパ良さそうなものを購入しました(ぶっちゃけ続くかわかんなかったし)。

    僕レベルでは十分、負荷調整もできてちょっとした空き時間に日々利用しています。

    けんちゃん
    けんちゃん

    一部では洗濯物干しになるという噂もあるけど、今の所洗濯物干しにはなってません(真顔)

    TAMRON 17-28mm F2.8

    TAMRON 17-28mm F2.8
    TAMRON 17-28mm F2.8レンズ。とりあえず広角が欲しい時はこれ。

    TAMRONのSony α7Ⅲ用レンズ。

    ぶっちゃけカメラはまだ初心者だけど、レンズを付け替えて撮るというのは非常に楽しいなという事を実感できた1本です。

    2021年は広角だからこそ撮れる1枚ってのを撮ってみたいですね・・・!

    けんちゃん
    けんちゃん

    広角レンズ、使い方は難しいけど使えるととても便利!

    TAMRON 28-200mm F2.8-5.6

    TAMRON 28-200mm F2.8-5.6
    現在メインで使っているTAMRON 28-200mm F2.8-5.6。

    先述した17-28mmの後に購入したのがこの28-200mmのズームレンズ。

    僕みたいにカメラ素人はとりあえず近くも遠くも撮れれば嬉しい、そんな夢を叶えてくれる1本です。

    最初は28-75mmと迷ったんですが、大は小を兼ねると言わんばかりの「よりズームできた方が良いだろ」とか言う素人理論で28-200mmをチョイス。

    ただし28-75mmはF2.8固定なので最近はやっぱり28-75mmも欲しいというレンズ沼に見事にハマっています笑。

    けんちゃん
    けんちゃん

    基本はこの28-200mmをつけていて、広角が欲しい時は17-28mmにつけかえて使ってます!

    PeakDesign アンカーリンクス

    PeakDesign アンカーリンクス
    簡単にストラップの着脱ができるPeakDesignのアンカーリンクス。紐部分が切れかかると、色が違う中身が見えるので交換時期が簡単に分かる。

    同じくSony α7Ⅲ用に購入したストラップのアンカー部分。

    僕のように商品のブツ撮りが多い人間だとストラップ邪魔だな!って事が多いのでやっぱり取り外せると便利なんですよね。

    でも外で子供撮る機会もあるし、ストラップを快適に使いたい!という欲求はよく満たしてくれる地味ながら良い製品です。

    けんちゃん
    けんちゃん

    製品自体、「壊れたら交換」じゃなくて「壊れる前に交換」がコンセプトのようなので大事なカメラを守るアイテムとしてはとても理想的!

    Synology DS720+

    Synology DS720+
    Synologyの個人ユーザーハイエンドモデルのplusシリーズ。処理性能がjシリーズとは段違いで高い。

    2020年買ってよかったもの個人的最上位に位置するのがこのDS720+、自宅に置いて写真や動画、音楽、ドキュメントその他諸々のファイルを置いておけるNASです。

    SynologyのNAS製品を愛用していましたが、DS216jやDS218j、DS220jとjシリーズ(入門モデル)でした。

    今回初めて上位モデルをチョイスしたんですが、これが大当たり。

    何をやるにしても処理速度が段違い過ぎます、感覚としては初めてパソコンのHDDをSSDに変えた時ぐらい感動しました。

    決して安くは無いですが、マジで投資する価値があるなと思っています。

    正直もうjシリーズには戻れません。

    けんちゃん
    けんちゃん

    NASのおかげでパソコンそのものにはほとんどデータが無いので、万が一パソコンが壊れてもデータは全部無事。もちろんPC/スマホ/タブレットどれからもアクセスOKなので旅先でもデータ確認が簡単にできちゃうのが素晴らしい!

    LG 35WN75C-B

    LG 35WN75C-B
    LG製の35インチ湾曲ディスプレイ。USB Type-C1本で接続可能。

    今年はAdmin Bar ToolsというWordPressのプラグインを制作したんですが、今後本格的にプログラムをMacで書きたいなと思って購入したディスプレイがこちら。

    MacBook ProからUSB Type-Cケーブル1本で接続できてMacBook Proへの給電も可能。

    それでいて価格も安いという事で発売開始前に予約していたんですが、コロナの影響で製造や物流が止まり発売が延期され入手したのは予約から2ヶ月後でした。

    7万円を切る価格でここまで大型のディスプレイ、単純に作業効率が物凄く向上。

    以前Windows機はトリプルディスプレイ化していたんですが、これならケーブルも少なくて済むし今後Windows機をワイドディスプレイ1個に切り替えてもいいかな、とちょっと思っています笑。

    けんちゃん
    けんちゃん

    やはりケーブルが少ないのはスッキリするしトラブル時の解決も簡単なので大きなディスプレイに切り替えるのはとても良い・・・!

    ロジクール MX MASTER 3 for Mac

    ロジクール MX MASTER 3 for Mac
    サイドに2ボタン+横スクロールホイールが搭載されたMac用マウス。

    先述したようにMacBook Proで本格的にプログラムを書くにあたって、基本自宅ではMacBook Proをクラムシェルモード(MacBook Proそのものは閉じた状態)で運用するようにしています。

    そこで必要になるのがディスプレイの他にマウスやキーボード。

    ちょうどロジクールからfor Macと銘打った製品が発売されたので購入してみました。

    1つで3台のデバイスを切り替えて操作可能、非常に手に馴染むデザインでかなり満足しています。

    けんちゃん
    けんちゃん

    充電がUSB Type-Cなのも嬉しいポイント!

    ロジクール KX1000s

    ロジクール KX1000s
    ロジクールのフラグシップキーボード。左上のクラウンが特徴的だが、キーの打鍵感も心地よく疲れない。

    クラムシェルモードで使用したキーボードがマウスと同じくロジクールのKX1000s。

    左上のクラウンと呼ばれるダイヤルが特徴的で、パラメータ調整のようなスライドバー操作をマウスよりもより直感的かつ正確に調整できるのでクリエイターの方に非常に人気があります。

    僕は本当にプログラムを書くだけなのでクラウンは正直あんまり使っていないんですが、Macでも違和感なく使えるキープリントや心地よい打鍵感、そして何よりキーボード全体から感じる高級感は使用していてとても満足感があります。

    けんちゃん
    けんちゃん

    マウスと同じくこちらもUSB Type-C対応!デスク上のデバイスをType-Cでまとめると余計なケーブルがごちゃごちゃしなくなる点は◎!

    OBENRI Vertical Laptop Stand Designed for MacBook Pro

    OBENRI Vertical Laptop Stand Designed for MacBook Pro
    PCを立てる部分の幅はサイズ調整が可能なのでどんなPCでもOK。

    クラムシェルモードで運用するMacBook Proを立てておけるスタンド。

    僕は傷防止の為にケースを装着しているので、サイズ調整ができるこの製品をチョイスしました。

    色や質感もMacBook Proライクで相性がよく、重量もずっしりあるので倒れたりすることもありません。

    もっと色々探せば高級感ある製品もあると思いますが、2,000円程度の価格帯でこの質感は非常に満足しています。

    けんちゃん
    けんちゃん

    最大69mmまでサイズ調整できるからどんなサイズのものでもほとんどOK!

    Elgato Stream Deck

    Elgato Stream Deck
    32キーが搭載されたモデル。様々なショートカットをボタン1つで実現できる。

    以前から買おうか悩んでいたんですが、ノビタ(@nobita0926)さんのツイートで背中を押されたのがこのStream Deck。

    ざっくり言えば液晶がついたキーボードなんですが、様々なアクションを記録させておくことができます。

    例えばボタンを1回押すだけで「Ctrlキー+左Shiftキー+xキーを押して、出てきたウインドウにパスワードを入力する」みたいな使い方が可能(ちなみにこれはWebブラウザ版1Passwordのロック解除コマンドです)。

    液晶部分には自作の画像も表示できるので、どの操作を行うか見るだけで分かるのも良いですね!

    けんちゃん
    けんちゃん

    僕は32キー搭載のモデルを買ったけど、ぶっちゃけこんなにキーいらなかったかも笑。

    AirPods Pro

    AirPods Pro
    ガジェット界隈でも非常に評価が高いAirPods Pro。

    子供が寝ている時に外音を取り込みつつ音楽が聴けると良いなと思い購入したのがAirpods Pro。

    巷で言われているようにApple製品との親和性は本当に高く、操作も直感的だったのでとても便利でした。

    僕がちょっと肌の病気にかかってしまい現在は使用できていないのですが、もしそれさえなければ年間ベストバイNo.1候補でした・・・!

    けんちゃん
    けんちゃん

    将来肌の病気が完治したらまた使いたい!

    VSuRing AirPods Pro用ウレタンイヤーピース

    VSuRing AirPods Pro用ウレタンイヤーピース
    カナル型イヤホンの耳荒れに悩んでいる方はぜひ1度試して頂きたいウレタンイヤーピース。

    実はAirPods Pro購入当初から装着時の耳荒れが気になっていたんですが、そんな時教えて貰ったのが交換用イヤーピース。

    割と縋るような気持ちで買ったところマジで大当たり、しばらくは本当に耳荒れがなくなりました。

    結局先述したように病気が発覚して使用できなくなったんですが、カナル型イヤホンで耳荒れに悩んでいる方は絶対1回試してみて欲しいですね!

    NETGEAR Orbi AX6000 RBK852

    NETGEAR Orbi AX6000 RBK852
    Wi-Fi 6&メッシュWi-Fi対応の超ハイスペックルーター。

    NETGEARのWi-Fi 6に対応したメッシュWi-Fi対応ルーターです。

    色々Wi-Fi 6ルーターは試しましたが、性能はこいつが断トツ。

    現在3階建ての戸建てに住んでいますが、家中どこにいても満足できる電波状況です(1階にくっついてる車庫でも屋上でも常に快適)。

    ある程度の広さがあるご自宅では現状このRBK852一択だと思います。

    ただし価格は高いです、コスパで言えば他にも良いルーターがたくさんありますし、実質Wi-Fi 6元年だった2020年ですが2021年以降は更に価格が低下した製品も多くなるでしょう。

    僕はいち早くWi-Fi 6の高速さの恩恵を受けたかったので発売日に購入しましたが、価格と性能のバランスを見て次にルーターを買う時はぜひWi-Fi 6対応ルーターをご検討頂きたいですね!

    けんちゃん
    けんちゃん

    単純な速度以外にも接続台数が実質無制限、遅延も少なくてどの性能も素晴らしい!

    ちなみに僕が買った時は10万超えてたので、今3万近く安くなってます・・・!

    ネットワークカメラ TP-Link KC120

    ネットワークカメラ TP-Link KC120
    TP-Link社のネットワークカメラ。設定も簡単で値段も手頃、簡単に設置が可能。

    子供専用の部屋を作った事をきっかけに、子供が一人で遊んでいても様子が分かるようにと購入したのがこのKC120。

    一般的ないわゆるベビーモニターと比べると価格は高いですが、TP-LinkのIoT機器管理AppのKasaで複数台一元管理ができたりカメラを通じて会話ができたりとても便利です。

    画質も非常によく、真っ暗な部屋でもナイトモードで非常に明るく見える点は旅行等で長期間自宅を留守にする場合も超安心!

    これは本当に買ったよかった一品です。

    けんちゃん
    けんちゃん

    なにか画面上に動きがあったら通知する設定もできるので、普段絶対に人が入らないところや玄関等に設置できれば防犯にもなるね!

    Sony Bravia KJ-65X9500H

    Sony Bravia KJ-65X9500H
    音声コントロール可能なBravia。Amazonアレクサ以外にもGoogleホームも対応している。

    子供が転倒させ壊してしまったことをきっかけに買い替えたテレビ。

    「Amazonアレクサで音声操作できる機種」に絞って比較して購入しました。

    今までは音声操作非対応のテレビをNature Remoを使って擬似的に音声操作していましたが、Nature Remo無しで音声操作できるので非常に快適!

    けんちゃん
    けんちゃん

    さすがBraviaだけあって画質も満足!

    Panasonic NA-VX900AL

    Panasonic NA-VX900AL
    洗剤自動投入が非常に便利なドラム型洗濯機。

    Panasonic製のドラム式洗濯機。

    実はこのモデルの前のモデルを昔使っていたんですが、引っ越しを機に実家にあげてしまったので新調しました。

    とにかく洗剤自動投入が神、一々計って入れるという超面倒なことをしなくても洗剤そのものを洗濯機のケースに入れておけば後は洗濯機側でその洗濯に必要な量を自動計算して投入してくれる。

    これがこの洗濯機の最も素晴らしいところだと思います。

    もう洗剤自動投入以外の洗濯機は考えられません・・・!

    けんちゃん
    けんちゃん

    今は他のメーカーも洗剤自動投入に対応しているけど、洗剤自動投入をドラム式洗濯機で初めて導入したのは多分Panasonicが初めて!

    Dyson Supersonic Ionic

    Dyson Supersonic Ionic
    便利な収納スタンド付き、作りも非常に上品でまさに買ってよかった一品。

    ずっと気になってたんですが、使用していたPanasonic製のドライヤーの不調を機に購入したのがダイソンのドライヤー。

    風量が普通のドライヤーと段違いなので乾くスピードがえらい早くなってビビりました笑。

    色々アタッチメントが付属しているんですが、このリング状のアタッチメントを取り付けるとなんでか知らないけど全然熱くならず使用できるのでとりあえずくっつけて使っています。

    けんちゃん
    けんちゃん

    このリングをつけると気持ち風量も落ちるんだけど、元々風量がすごいから問題なし!熱くなりにくいから子供の髪乾かすのも安心して使えます!

    【直販限定 収納スタンド付き:別送】ダイソン Dyson Supersonic Ionic ヘアドライヤー ドライヤー HD03ULF BBN

    Dyson V11

    Dyson V11
    吸引力と言えばダイソン、重量はあるがゴミを吸い込む力はさすが。

    同じくダイソンのV11、スティック型クリーナー。

    これも非常に買ってよかった1品です、軽量スティッククリーナーが国産企業中心に多数出されている中ぶっちゃけダイソンはめちゃくちゃ重い!

    けどやっぱり吸引力すごいなというのが一番の感想。

    ぶっちゃけ平屋じゃない限り女性にはおすすめしません、階段を持って上下するのは毎日だと結構しんどいです。

    けんちゃん
    けんちゃん

    うちは基本各階で使うから階段の上り下りはあんまり無いけど、これ1つで家中掃除するとなると結構きついかも・・・!

    Echo Show 8

    Echo Show 8
    大画面を搭載したEcho Show 8。音声認識がEcho Show 5と比較にならないぐらい良い。

    Amazonアレクサデバイスは多々ありますが、ディスプレイ付きアレクサではこのEcho Show 8が完成形だと思うぐらいとてもとても気に入っています。

    何よりEcho Show 5で非常に不満だった音声認識が非常に良い!

    Echo Show 5では「アレクサ」と呼びかけても反応が無い事が多かったんですが、Echo Show 8はある程度離れていても声が小さくても反応してくれます。

    もしこれから音声デバイスを考えている方には間違いなくEcho Show 8をおすすめします。

    けんちゃん
    けんちゃん

    ちなみにAmazonアレクサデバイスを買う時はよっぽど急いでなければAmazonのセールの時に購入しよう!大体半額ぐらいになったりします!

    Qi対応充電スペース

    Qi対応充電スペース
    Qiに対応した充電スペース。Qi非対応のスマホやデバイスもケーブル充電できるようにしてある。

    引っ越しを機に作った充電スペース。

    Qi(無線充電)に対応、更にQi非対応機種のオーナーが遊びに来た時ようにLightningケーブルやUSB Type-C端子もケーブルで用意しています笑。

    iPhone 12からMag Safeが登場したのでいずれMag Safeエリアに進化すると思いますが、現状はQiで対応しています。

    けんちゃん
    けんちゃん

    すごい地味ながらやっぱりあると便利な充電スペース!

    TAKAGI 六角レンチ9本セット

    TAKAGI 六角レンチ9本セット
    9サイズが1セットになった六角レンチセット。

    家具の組み立てや調整に何かと必要になる六角レンチ。

    でも組立家具についてくるレンチって耐久性めちゃくちゃ悪いよね、っという事で購入したのがこのTAKAGIの六角レンチセット。

    実際に触ってみると「あ、組立家具についてるやつとは段違いだわ」と実感できる品質の良さ、収納するとコンパクトになる点も気に入っています。

    けんちゃん
    けんちゃん

    子供のストライダーの調整にも使うし、やっぱあると何かと便利!

    サンワサプライ 雷ガードタップ 10個口

    サンワサプライ 雷ガードタップ 10個口
    1つ1つの距離も比較的余裕があるので、サイズによってはACアダプタも並べて接続可能。

    電源タップは色々試してきましたが、ここ1年このサンワサプライの電源ダップがベストバイです。

    5個が上部、残りの5個が側面についているのでACアダプタのような干渉しやすいものもベストに配置可能。

    USBポートがついてたりという最近の流行りの製品ではありませんが、単純にコンセントを増やしたい場合は現状これ以外考えられません。

    けんちゃん
    けんちゃん

    1m/3m/5mと長さが選べるし、シンプルなデザインで飽きが来ないのもGood!

    2020年Amazonで買ってよかったもの 日用品編

    mintvell

    mintvell
    美容師おすすめの清涼感最強シャンプー。アミノ酸が主成分でトリートメントいらず(美容師談)。

    夏に清涼感あるシャンプーを求めて色々買ったんですが、そんな話を美容師にしたところ「いいやつあるよ!」と教えてもらったのがこのmintvell。

    これマジでやばいです、本当氷水を頭から被ったぐらい涼しい!

    ほんで美容師曰く「主な成分がアミノ酸なんだよね、だからトリートメントいらないよ!」とのこと、確かにトリートメントなしで十分まとまるしギシギシしないんですよね。

    けんちゃん
    けんちゃん

    なんでアミノ酸が主成分だとトリートメントがいらないのかは全く知らない笑。

    RICH ADDICT バニラの香り

    RICH ADDICT バニラの香り
    髪の仕上がりがとても良いバニラシャンプー&トリートメント。

    以前愛用していたシャンプー&トリートメントが廃盤になってしまい探した代替品。

    バニラの香りは少し好みと違いますが、髪の仕上がりは最高に良いです!

    けんちゃん
    けんちゃん

    香りは少し控えめ!

    山崎実業 tower ダンボールストッカー

    山崎実業 tower ダンボールストッカー
    ダンボールを溝にどんどん入れて、一杯になったら紐等で簡単にしばれるストッカー。

    マンション暮らしから戸建て住まいになって困ったのがダンボール。

    以前の住まいでは24時間ダンボールが出せたのですが、今は週1回なので通販多様生物の僕らには非常に堪えます・・・笑。

    そこで購入したのがダンボールストッカー、一杯になったらそのまま結束できるのが超お気に入り!

    通販で生活が成り立っている方にはマジでおすすめです!

    けんちゃん
    けんちゃん

    ダンボールは何かと溜まりがち、こういう製品があると地味にQOL上がります!

    窓用フィルム

    窓用フィルム
    目隠し用の窓用フィルム。おしゃれなステンドグラス調デザイン。

    引っ越してきた直後に気になっていたのが階段の途中についている窓、すりガラスでもないのにカーテンやブラインドが無いので外から丸見え。

    一応隣の建物でほとんど見えないんですが、それでもやっぱりちょっと気になるので自分でカットして使うステンドグラス調のシートを買って貼り付けました。

    霧吹きで濡らしてくっつけるだけ、簡単にはがせるので退去時にもOKという賃貸にも嬉しい一品!

    けんちゃん
    けんちゃん

    色んな種類の柄があるから好きなものをチョイスしよう!

    Gruper エクササイズマット

    Gruper エクササイズマット
    Gruperのエクササイズマット。厚みも広さも申し分なし。

    運動不足解消にあれば良いなと思って選んだのがこのGruperのマット。

    ペラッペラなマットが多い中なんと厚さ15mm、プランクしてても肘が痛くなることもありません。

    価格も大したこと無いし1枚あればとっても便利、おすすめです!

    けんちゃん
    けんちゃん

    身長187cmの僕でも長さが185cmあるからギリなんとかなるサイズ感もよき!

    ウッドパネル

    ウッドパネル
    ジョイント型のウッドパネル。

    殺風景な屋上バルコニーに敷き詰めたウッドパネル。

    夏場は子供のプールを広げたりしましたが、水がすぐ流れてくれるので水たまりにならずに快適でした。

    せっかく整備したので2021年はもっとここを活用したい・・・!と思っています笑。

    けんちゃん
    けんちゃん

    汚れたり壊れたりしても1枚単位で交換できるのも利便性高くていいですね!

    山善 宅配ボックス P-BOX

    山善 宅配ボックス P-BOX
    通販時代の必需品、宅配ボックス。上下二段タイプで収納力も大きい。

    宅配ボックス付きのマンションから引っ越したので宅配ボックスを新調。

    実はこれ、前の前の家でも全く同じ製品を使っていました。

    通販依存症の我が家では必須の設備、数多ある宅配ボックスの中でも容量や構造でこれがベストバイだと思っています。

    価格も手頃で使いやすいので、新たに宅配ボックスを設置しようという方はぜひ!

    けんちゃん
    けんちゃん

    これ以外の宅配ボックスってどれも容量が小さいんだよね・・・。下段は24本ペットボトルの箱が2個入るぐらい大容量!

    無断投函お断りステッカー

    無断投函お断りステッカー
    チラシ無断投函に最も効果がある、無断投函お断りステッカー。

    これも引っ越しを機に購入。

    コンプライアンスに過敏な現代チラシ業者も「無断投函お断りステッカーがある家には絶対投函するな」とキツく言っているのでしょう、これを貼っとけばマジでその日から0枚になります。

    それでもビラの投函が認められている(らしい)政党のチラシなんかはたまに投函されますが、不動産や不用品処分、ピザやらなんやらのチラシはマジで投函されません。

    けんちゃん
    けんちゃん

    もし毎日帰宅した時にチラシをゴミ箱に捨てる毎日を送っている人がいたら騙されたと思ってマジで試して欲しい・・・!

    2020年Amazonで買ってよかったもの ベビー用品編

    STRIDER PRO

    STRIDER PRO
    STRIDER PROとヘルメット。サードパーティのスタンドで立てたままお片付けも可能。

    子どもの2歳のお誕生日プレゼントにしたのが定番のストライダー。

    乗り物好きな子なので気に入ってくれるかなと思いきや、最初は中々乗ってくれませんでした笑。

    最近(2歳3ヶ月)ようやく少しずつ乗ってくれるようになったので、2021年はもう少し上手に乗れるようになるのが目標!

    ヘルメットや肘/膝あても一緒に買いましたが、やはり最初はただ乗っているだけでも危ないので買ってよかったなと思います。

    けんちゃん
    けんちゃん

    まだまだ上手く乗れないけど少しずつ前に進めるようになってきました、自転車はマジで子どもの成長を実感しますね笑。

    トミカ 50周年記念 ダブルアクショントミカビル

    トミカ 50周年記念 ダブルアクショントミカビル
    トミカ50周年記念で発売されたトミカビル。トミカも10台程度同時購入。

    今年の子どもへのクリスマスプレゼントにはトミカを選びました。

    とにかく乗り物大好きなので毎日喜んで遊んでくれています笑。

    けんちゃん
    けんちゃん

    救急車や消防車、バスが大好きなので毎日目を輝かせて遊んでます!

    ストッケ トリップトラップ

    ストッケ トリップトラップ
    成長に合わせて座面や足置きの高さが調整できるトリップトラップ。

    しっかりした食事時の椅子が欲しいなと思って購入したのがストッケのトリップトラップ。

    価格は手頃とは言いづらいですが、大人と同じ椅子が使えるようになるまで使用できるみたいなので長い目で考えるとそんなに高い!とは思わないかな?

    この椅子のお陰で家族みんなで同じテーブルを囲んで食事ができるので毎日とても楽しいです!

    けんちゃん
    けんちゃん

    公式サイトではパーツを変えれば「大人も使える」って書いてあるけど、さすがにそれは無理があると思う笑・・・。

    コロコロチェア

    コロコロチェア
    上下逆さまにすることで座面の高さが変わるコロコロチェア。背面を上に向けると机代わりにもなる。

    主にリビングでテレビを見たりお絵かきしたりおやつ食べたりする時用の椅子。

    上下にひっくり返して高さが違う椅子になったり、背面を上にすればちょっとした机代わりにもなるという優れもの。

    ちっちゃい椅子に座っている子どもはとても可愛くて癒やされます笑。

    けんちゃん
    けんちゃん

    軽いから子どもの力でも動かせるし、椅子に座る時引いたりお片付けする練習にも!

    窓用ストッパー

    窓用ストッパー
    防犯にも役立つ窓用のストッパー。子供の脱走・転落防止対策に。

    窓の上の方に貼り付けて子どもが窓を開けられなくするというもの。

    非常に簡易なものですが、ちゃんとロックしておけば子どもの力では開閉できなくなるので脱走対策&転落対策につけています。

    価格も安いものなので、小さいお子さんがいるご家庭は絶対つけておいた方が良いです。

    取り付けは両面テープなので賃貸住宅でも安心!

    けんちゃん
    けんちゃん

    うちの子はマジで即脱走しようとするので必須です・・・笑。

    ADERIA つよいこグラス

    ADERIA つよいこグラス
    強化加工が施された子どもの使用にも安心なグラス。

    強化加工を施したガラスのグラス。

    軽くて持ちやすい上に、ちょっと落としたぐらいじゃ全く割れません。

    もちろん本気で投げたりしたら割れる可能性はあると思うんですが、少なくともダイニングテーブルの高さから落としたぐらいじゃ割れませんでした(経験済み)。

    マグを卒業しコップへ、となったらぜひこのグラスをおすすめしたいです。

    けんちゃん
    けんちゃん

    食洗機も対応しているから洗うのも便利!

    Npoca ベビースリーパー

    Npoca ベビースリーパー
    非常に分厚く、よほど寒くない限り冬でもこれさえあれば布団がいらないぐらい温かい。

    ベビーベッドを卒業し、枠がなくなり寝相の悪さでどこへでも行ってしまうのでより温かいスリーパーを導入。

    布団を蹴っ飛ばそうが転がってどこかに行こうがまさに布団を着ている状態なのでとても良いです。

    けんちゃん
    けんちゃん

    落ち着いて寝れるようになるまで、掛け布団は補助ぐらいに思っておく方がいいかも!

    SRrabbit 赤ちゃん 冷房対策 ベビー スリーパー 着る布団 厚め 寝冷え 防止 長袖 袖取り外し 可能 布団の跳ね除け 対策 に(森の動物、 S)
    SRrabbit

    カロラータ ねそべりシリーズ アフリカゾウ

    カロラータ ねそべりシリーズ アフリカゾウ
    子どもお気に入りのゾウのぬいぐるみ。

    夏の終わりに那須塩原に旅行に行き、那須サファリパークや那須ワールドモンキーパークでゾウが大好きになった子どもに買ってあげたぬいぐるみ。

    「ゾウさんとねんねしようね~」というと喜んでベッドに入ってくれる、我が家では魔法のアイテムです笑。

    けんちゃん
    けんちゃん

    ○○だと○○、のようなルーティンアイテムは子育てに便利!我が家ではゾウさん=ねんねです笑。

    山崎実業 お風呂用おもちゃ袋

    山崎実業 お風呂用おもちゃ袋
    間口が非常に広く、ポイポイ入れられるおもちゃ収納袋。

    たっぷりおもちゃが入るお風呂用の収納袋。

    吸盤で貼り付けるだけなので非常に手軽で、間口が大きいのでポイポイ放り込むことができる点はお片付けに非常に便利です。

    網状なので水がたまる心配もなし、お風呂のおもちゃ収納のファーストチョイスだと思います。

    けんちゃん
    けんちゃん

    「お片付けしようね」って言うと自分でちゃんとポイポイお片付けしてるので子どものお片付けトレーニングにも!

    INTEX ビニールプール

    INTEX ビニールプール
    真ん中に滑り台がついているビニールプール。簡易的な噴水もある。

    引っ越し直後、初めて自宅でプール遊びをさせてあげよう!と購入したビニールプール。

    滑り台付きのビニールプールで、深さも無いので2~3歳ぐらいの子が遊ぶにはとてもよい製品でした。

    ちなみに2020年の夏は自粛で自宅プールが盛況だったのか倍近い値段がつけられていました、もし購入を考えているならオフシーズンの冬のうちに入手しておくと良いです。

    なお膨らませるには電動空気入れが必須です。

    えっ・・・口で膨らませる・・・?正気ですか・・・?

    けんちゃん
    けんちゃん

    電動空気入れ無いとマジで無理だから!1,000円台で変えるから絶対買っておこう!

    2020年Amazonで買ってよかったもの 書籍編

    オードリー・タン デジタルとAIの未来を語る

    オードリー・タン デジタルとAIの未来を語る

    もう今年はこれが大当たり。

    新型コロナウイルス流行当初、マスク管理で一気に有名になった台湾行政院オードリー・タン(デジタル担当政務委員)の著書です。

    これから本格的に迎えるAI時代をどのように迎えるか、デジタルとかAIとかよくわかんないって方でもスラスラ読めると思います。

    外出を自粛するであろう方も多い年末年始、ぜひ読んで頂きたい1冊です!

    けんちゃん
    けんちゃん

    同時に読んでいて「この人が日本の政治家だったらな・・・」と思わずにはいられませんでした・・・笑。

    CSS設計完全ガイド

    CSS設計完全ガイド
    CSSの理解を深め、更にレベルアップしたいなら必携の1冊。

    CSSって非常に簡単、CSSを知らなくてもコピペでなんとなく実装できちゃうぐらい手軽だからこそ少し覚えて実践するとかなり破綻してしまうんですよね。

    しっかりルール作りをして設計されたCSSとそうじゃないCSSは本当に雲泥の差、CSSを本格的に使いこなしたい!という方は絶対に手にとって読んで頂きたい1冊です。

    けんちゃん
    けんちゃん

    漠然と実装していたCSSがグッと実践的になるよ!

    JavaScript Primer 迷わないための入門書

    JavaScript Primer 迷わないための入門書
    JavaScriptを網羅的に学習したいならおすすめの1冊。

    久しぶりに本格的にJavaScriptをやり直そうと思って購入した1冊。

    ぶっちゃけ今書くコードってほぼ100%TypeScriptだし素のjsを触る機会ってあんま無いんですが、やっぱり基礎をしっかり理解するのは大事なのでES6を含めた基礎をやり直すには最適な1冊でした。

    JavaScriptの有用性は本当に高まっているので、ぜひ使えるようになっておきたいですね!

    けんちゃん
    けんちゃん

    jsまともに触るのなんて何年ぶりだよ、だったので思い出すには非常に良い1冊でした!

    天空侵犯

    天空侵犯
    天空侵犯(全21巻)。完結済み。

    妻が購入していたものの僕は読んでいなかった天空侵犯。

    ふと思い立ってちら読みしよ~と開いたらドハマリしました、設定が面白すぎる。

    いわゆる異世界モノと言うんでしょうか、日常を過ごしていた主人公たちが異世界に飛ばされて謎の連中と殺し合いをするというよくある設定ですが登場人物が皆魅力的でサクサク読み進められました。

    既に21巻で完結済みで年末年始の暇つぶしにはちょうど良いボリュームだと思います!

    けんちゃん
    けんちゃん

    ちなみに「天空侵犯arrive」という続編が現在連載中!

    2020年Amazonで買ってよかったもの まとめ

    数百万お金を実際に使って本当に満足できたものを厳選しておすすめさせて頂きました!

    今年は新型コロナウイルス流行の影響で僕自身も”自宅での生活を快適”にできるものを無意識にチョイスしていたかもしれません。

    まだまだ流行真っ只中、この記事を書いている12月31日現在も東京都の新規感染者数が1,300人以上と報道されました。

    まだまだ続くであろう家籠りを少しでも快適にできるようなものをご紹介できていたらとても嬉しいです!

    けんちゃん
    けんちゃん

    2019年版も合わせて読んでね!

    ]]>
    https://www.braveryk7.com/best-buy-2020/feed/ 0
    【実録】子供が単4電池を飲んじゃった!誤飲疑惑から始まる長すぎた半日 https://www.braveryk7.com/child-drank-battery/ https://www.braveryk7.com/child-drank-battery/#respond Wed, 30 Dec 2020 10:35:01 +0000 https://braveryk7.com/?p=6208 子供が単4電池を飲んじゃった!

    子が生まれ親になり半年もすると子供は成長過程で様々なものを舐めたり口に入れたりするようになります。

    僕も育児の過程で知りましたが、この行為自体は手先よりも口周りが発達しているため口でものを確認しようとする好奇心らしいです。

    そこで注意が必要なのが飲み込めてしまう=誤飲につながるようなもの。

    僕ら夫婦も日常子供が飲み込めてしまうサイズのものは特に気を使っていましたが、結果として事故を起こしてしまいました。

    この記事は実際に事故の疑惑から退院までの過程を記録してあります。

    同じような現象に陥ってしまった方のなにかの参考になれば幸いです。

    当記事では途中、誤飲を確認したレントゲンの画像を掲載しております。苦手な方、抵抗がある方はご注意下さい。

    子供が電池を飲み込んでしまった

    まずは万が一子供が電池を飲んでしまいこの記事に辿り着いた方向けに書いておきます。

    どちらの場合も可能なら誤飲してしまったものと同じ種類の電池を持ち込みましょう、電池の種類によっては緊急の対応が必要な場合があります。

    電池を飲み込んでしまった事が確定している

    悠長に検索している場合じゃありません、今すぐ119番通報して救急車を呼んで下さい。

    かかりつけ医にはいかなくて良いです、どうせかかりつけ医では取り出せません。

    救急車で直接対処ができる病院に搬送して貰って下さい。

    結果取り出す必要がなく自然排出を待つということになったとしてもそれはお医者さんが決める事です、我々素人が判断するのは絶対NGです!

    迷わず今すぐ119番して下さい。

    電池を飲み込んだか不確定

    この場合も疑いが強い、子供の様子がいつもと少しでも変だと感じたら119番して下さい。

    電池の種類によっては一刻を争います、実際に救急搬送が必要かどうかは通報時点の受付台の方や救急隊員の方がヒアリングの上アドバイスしてくれるでしょう(相談だけなら#7119、対象外の地域は#8000)。

    電池の場合すぐに症状が現れる訳では無いので自分で運転したりタクシーでも良いと思います。

    その場合、事前に病院に電話してレントゲン撮影が可能かどうか聞いておきましょう(レントゲン撮影ができないと誤飲したかどうか確定ができないのでその病院に行く意味がありません)。

    ただし誤飲したと思われる時間から数時間経過している場合は即119番通報しましょう。

    明らかに体調に異変がある場合は既に体内で電池腐食が進んでおり症状が出ている可能性があります。

    2歳児が単4電池を飲み込んだ!?

    ここからは実際に我が家で起った記録です。

    ことの発端は子供のギャン泣き。

    子供はリビングでテレビを見ており妻はキッチンで料理、僕は3階の書斎で仕事をしているという状況でした。

    突然ギャンギャン泣く子供ですが、最近は自我が芽生え自分が気に入らないことがあると割とすぐ泣くので「なにか気に食わなかったんかな」ぐらいにしか思っていませんでした。

    けんちゃん
    けんちゃん

    お気に入りの動画が終わってしまった!物の配置が気に食わない!とかで平気でギャン泣きします・・・笑。

    散らばるテレビのリモコン

    床に散らばるリモコンと電池(この画像は再現画像です)。
    床に散らばるリモコンと電池(この画像は再現画像です)。

    ここで違和感に気付いたのが妻。

    子供の周りにはテレビのリモコンが落ちており、なんと蓋が外れ電池も飛び散っている状況。

    うちは日頃から子供が飲み込めて危険と言われているボタン電池は特に気をつけていましたが、棒状の電池も舐めて危険なのでもちろん子供が触れないようにしていました。

    状況的に恐らく何か気に食わないことがあってリモコンを投げてバラバラになったというところでしょうか。

    妻も最初は「電池どこに行ったかな?」と探していましたが、1個はすぐ見つかったのにどうしてももう1個が見つかりません。

    ここで初めて「けんちゃん、電池が1個見つからないから探すの手伝って」と呼ばれ事態を把握しました。

    一緒に捜索しますが確かに一向に見つかりません。

    捜索開始5分経過

    • テレビ台の下
    • ソファの下や上の隙間
    • センターテーブルの下
    • 空気清浄機の裏

    リモコンを投げて飛んだのであれば下とは限らないとある程度の高さまで探しましたが全く見つかりません。

    気付けば捜索開始から5分経過していました。

    実は探し始める時、「5分見つからなかったら最悪のケースを想定して行動しよう」と決めていました。

    そう、電池を飲み込んでしまっていたケースです。

    時刻は17時55分、かかりつけ医までは車で3~4分、診察は19時までですが混雑していると断られる可能性もあります。

    即座に着替えて病院へ向かいました、この行動が最良の結果をもたらす事になります。

    けんちゃん
    けんちゃん

    ちなみにレントゲン撮影が可能かどうか電話しまくってたんだけど、ずーっと話し中で全く繋がりませんでした・・・。

    慌ててかかりつけ医に

    18時ちょうど頃、かかりつけ医に到着して「子供が電池を飲み込んだ可能性がある、あくまで可能性だけれどレントゲンの撮影をお願いしたい」と妻に伝えてもらいました(僕は病院の目の前で妻と子供をおろし車を駐車場へ入れていました)。

    妻いわく散々「単4?ボタンじゃなくて?単4?本当に?」と確認されまくったそうです。

    ところがかかりつけ医にレントゲンの設備が無く、同じ建物の整形外科にならあるということで今度はそちらへ。

    ここで僕も合流し一緒に整形外科へ行き同じことを伝えましたが、受付の反応は「小さい子が単4電池なんか飲めるわけ無いでしょ、っていうか実際に飲んだかどうか分からないんでしょ?」ぐらいのちょっと冷ややかな対応だったことを良く覚えています。

    けんちゃん
    けんちゃん

    別に怒ってないよ。わかる、わかるよ。まさか単4電池を2歳児が飲み込んだなんて思わないよね。僕も思わない。

    レントゲン撮影

    少し混み気味だったので15分ぐらい待ったでしょうか、待っている間は「万が一飲んでいたら・・・」と気が気じゃなかったのですが、ようやく撮影の時間になりました。

    ここでは両親1人どちらかが一緒にレントゲン室へ入室するよう言われました、子供を押さえてちゃんと撮影できるための補助役ですね。

    僕が一緒に入室、放射線被曝防止用の重たいチョッキのようなものを着させられ子供をあやしながら

    • 立った状態で1枚
    • 仰向けになった状態で1枚

    計2枚の撮影を行いました。

    生まれて初めてのレントゲン、「えっ、何されるの?服脱がされた!(撮影台が)冷たいし!」とでも思っていたのでしょうか、なんとなく子供の顔が緊張していたのを覚えています。

    無事撮影が終わり待合室で待つこと5分、ついに診察室に呼ばれました。

    そこには心配そうな顔で入り口の僕らに目を向ける先生、看護師さんが1、2、3、4、5、6名・・・

    けんちゃん
    けんちゃん

    いや多いわ!4~5畳の診察室に何人おんねん!

    まさか本当に単4電池を飲んだとは夢にも思わなかったのでしょう、レントゲン写真を見るまでも無く彼らの表情で「あっ、飲んでんだなこりゃ」と察しました。

    単4電池はレントゲンにこう映る

    単4電池を誤飲してしまった実際のレントゲン画像
    実際に単4電池を誤飲してしまった時のレントゲン画像。素人目にも一発で分かる。

    こちらが実際のレントゲン写真(後述しますが、実際にはこのレントゲンはこの後行った大きな病院で確認のため再撮影したものを頂きました)。

    医学部に進んだわけでも独学で医学を学んだわけでも無い”医療素人”の僕らでも「ここに電池がある」ってのが手にとるように分かりますね。

    よくドラマとかで病気が見つかる時「ここにうっすら影が・・・」なんて次元じゃない、「俺電池!!!!!!ここにあるよ!!!!!!!!!!」って猛アピールしてます。

    けんちゃん
    けんちゃん

    存在感ありすぎ!

    当時このレントゲンを見た時にはこの後どうするんだろうと気が気がじゃなかったですが、今こうして冷静に考えると単4電池って子供にとってめちゃくちゃ大きいんだなって思いますね・・・。

    診察室で先生に小さい病院ではどうにもできないから大きな病院に紹介状を書くこと、そこで処置を決めることを伝えられました。

    小児医療センターへ

    多分どの都道府県にも1つや2つはある小児医療センターへ紹介状をもらう事になりました。

    車でおおよそ40分程度、幸い子供は電池こそ飲んでいますが元気なので何事も無く移動。

    けんちゃん
    けんちゃん

    時刻は18時50分ぐらい、なんなら車で寝てたからね。自由過ぎる。

    到着後受付で詳細を話しレントゲン撮影を行いました。

    ここでも「本当に単4電池なの?ボタン電池の間違いでしょ?」というのを散々確認されました、どうやら単4電池誤飲は相当レアなようです・・・笑。

    整形外科医院からレントゲンのDVDを貰っており医療センターで渡してと受け取っていたのですが、「移動や時間経過で電池が移動してしまっている可能性があるので念の為確認がしたい」とのことでレントゲンの再撮影が必要になりました。

    ちなみにさすが小児専門の医療センター、放射線技師の先生方も子供の扱いに非常に慣れており親の介助無しで撮影をしていました(子供はギャン泣きしてたけど笑)。

    実はこの時間を使って電池を飲み込んだ時の対処法をめちゃくちゃググってましたが、出てくるのは「単4電池を飲むわけ無いでしょ」って断られたみたいな記事や「飲んだ疑いがあるけど飲んでなかった」とかいう全く役に立たない記事ばかり。

    ただしいくつかの情報を組み合わせると

    • 全身麻酔の上内視鏡手術により取り出す可能性がある
    • 早ければ即日行う

    とのこと。

    幸い開腹ではないにしろ、小さな体に全身麻酔をかける事に正直恐怖はありました。

    そんな不安を胸にレントゲン撮影、その後の診察を待つことになります。

    内視鏡手術と全身麻酔

    診察室に呼ばれ、覚悟はしていましたが即日入院の上全身麻酔をかけ内視鏡手術を行う旨の説明をされました。

    けんちゃん
    けんちゃん

    手術って聞くと大げさに聞こえるけどようは胃カメラみたいな感じ!お口からカメラと網?みたいな異物をキャッチする機材を挿入して取り出すというものです。

    例えば硬貨や小さいおもちゃの部品のようなものならそのまま腸へ流れるのを待つこともあるそうですが、単4電池サイズならまず間違い無く大きすぎて腸に流れないこと。

    そして何より電池なので危険性が高く時間的猶予が無いことが即日手術の理由です。

    夜間診療の時間とは言え麻酔科の先生もいらっしゃったので直接麻酔の説明を受けることができましたが、「全身麻酔は呼吸が止まるので人工呼吸が必要になります」みたいな事をサラっと言われめちゃくちゃビビりました。

    知識として知ってはいても、いざ自分や自分の身の回りが当事者になると知識なんて役に立たないことがよくわかりましたね・・・。

    内視鏡そのものの同意書、全身麻酔の同意書、その他入院関係やらなんやらかんやら計10枚以上書類記入をさせられたのは無事全てが終わった今だからこそ「いやー書類多くて大変だった!」と言える笑い話ですね笑。

    手術室へ向かう準備

    ここで子供は先生に預けられ、手術の為の準備をする事になります。

    点滴の装着や心拍等を確認する機材の取り付け、服も手術着(というのかな?)に着替えたりとなんだかんだ30~40分ぐらいかかったでしょうか。

    そのうち20分ぐらいは僕らも呼ばれ一緒にいることができましたが、とにかく手の甲に針が刺さっていたのが痛かったのか稀に見る大号泣。

    正直この時の泣き方はあまりに可哀想でしたが、「やっぱ辞めて帰ろうね」という訳にもいかずなんとかあやすのみ。

    一瞬泣き止んでもふとした瞬間自分の手の違和感に気付き見つめ、針が刺さった上に包帯で固定されている手に気付いて再度大号泣するを延々繰り返していましたね・・・。

    やはり子供なりにいつもの時間におうちにいないし夕飯も食べてない、お風呂も入っていない。

    それどころか針刺されるしなんか変な服着させられるし知らない大人がいっぱいいるし、と様々な不安が爆発したんだと思います。

    いざ手術室へ

    いよいよ準備が整ったということで手術室へ。

    僕自身が親族の手術に同行するというのは初めての経験なんですが、本当にストレッチャーの横ついていくんですね・・・。

    よくドラマで「大丈夫だぞ!頑張ろうな!絶対良くなるからな!」ってストレッチャーの横を走るやつ、アレドラマだけの話だと思ってたら本当に手術室まで同行できました。

    けんちゃん
    けんちゃん

    ちなみに乗り物大好きな子供は自分が寝ていたベッドが動き出した事に気付いてご機嫌でした。アホめ!!!!

    手術室に到着し、奥から先生が登場。

    患者間違いを防ぐために子供の名前、生年月日を伝えて僕らとはお別れ。

    手術室へと押されていきました。

    正直この時の気持ちは今でも嫌なもので、先生方の口ぶりや雰囲気からぶっちゃけ大して難しい手術ではないんだと思います。

    ただ僕は本当に小心者というかビビリなので、「万が一事故があってこれが最期のお別れになってしまったらどうしよう」ということばっかり考えてしまっていました。

    本当はあんまりそういうこと考える事態が良くないんでしょうけどね、やはりどうしても恐怖は忘れられなかったですね・・・。

    手術終了

    手術の間僕らは手術室と入院病棟の間にある待合室で待っていました。

    その間にも予定では1泊とはいえ入院が必要なのでアレルギー関係やら親族の病歴等々大量の書類を書くことに。

    なんだかんだ1時間弱ぐらいでストレッチャーの音が聞こえ、手術が終わり病棟へ移動している事を告げられました。

    そこには麻酔でスヤスヤ寝る子供の姿、まだ入院するとは言え心の底からホッとした事を覚えています。

    麻酔の影響は人それぞれで、恐らくこの感じだと今日はもう目覚めないだろうとのこと。

    そして先生が実際に取り出した電池を見せてくれましたが、既に電池の腐食が始まっており端子部分が黒く変色していました。

    これは実際に見るとかなり衝撃でした、もし気付くのが遅れていたら。

    「どうせどっかにあるでしょへーきへーき」と病院へ行っていなかったら。

    結果として子供の誤飲を誘発してしまったことは最大の不幸ですが、その中でも唯一幸いが即座に病院へ駆け込んだ事だと思います。

    けんちゃん
    けんちゃん

    ちなみに取り出した単4電池そのものは「今後の啓発のために貰っても良いですか?」という先生の申し出があったので快諾しました。

    初めての子供がいない夜

    名残惜しいですが僕らも夕飯を食べていないのでお腹ペコペコ、お風呂も入っていないし緊張が続いたこともあり帰宅してドッと疲れが出ました。

    子供が生まれて約2年3ヶ月、僕が仕事で外泊する為に一緒にいれなかった事はありますが夫婦揃って子供がいない夜を迎えるのは初めての経験だったので一晩とはいえ正直めちゃくちゃ淋しかったです笑。

    夜泣いて起こされることも寝ぼけて僕や妻のベッドに突撃されることもない、なんだか毎日がとても幸せなことなんだなと実感しました。

    お迎え

    翌朝は10時より面会可能、そこでお迎えになりました。

    新型コロナウイルスの影響で面会(お迎え)は1人のみということで僕は駐車場で待機、妻がお迎えという流れに。

    ここは妻から聞いた話ですが、誤飲による手術/入院の場合は退院時に看護師さんから再発防止の講習があるそうです。

    一通り普段の対策を聞いて改善点を指摘するという流れのようですが、僕らは普段から徹底していただけあって看護師さんからは「それだけやっていれば十分、申し分なしです。今回は本当に不幸な事故ですね。」というお墨付きを頂いた事は正直ちょっとうれしかったです。

    ただしリモコンがバラバラになってしまったというイレギュラー中のイレギュラーとはいえ、僕らの対策がまだまだ十分じゃなかったことで子供に苦しい思いをさせてしまったのは事実なので再度徹底的に対策をすることを心に誓いました。

    麻酔さえ抜けてしまえば生活になんの配慮もいらないとのこと。

    子供的には電池飲んだ後なんとなく夕飯おあずけになり変なところに連れて行かれ針刺されて痛くて泣いてたらベッドが動いて楽しかったけどなんか突然寝た。起きたら知らないところだったけど待ってたら親が迎えに来た。

    という流れなのでもちろん制限なんていらないですよね、寝てただけだし笑。

    頑張ったご褒美に子供が好きなものを食べさせようということで子供を連れて初めてびっくりドンキーでハンバーグを食べさせてあげたらとても美味しそうにバクバク食べてました。

    この瞬間「ああ長い半日が終わったな」という実感がしましたね・・・。

    2歳児は単4電池を飲む

    実際に飲み込んでしまった電池。子供の体に合わせると、服はもちろん皮膚や脂肪、筋肉が映らない分レントゲンの方がより大きく感じる。
    実際に飲み込んでしまった電池。子供の体に合わせると、服はもちろん皮膚や脂肪、筋肉が映らない分レントゲンの方がより大きく感じる。

    今回医療従事者の方々でも「単4電池を飲み込む」というのは非常にイレギュラー、通常起こり得ないことであるという事が分かりました。

    どの先生、看護師さんも「まさか」というある種疑いの対応だったのは間違いないので、事故件数としてはそんなに多くないのかも知れません。

    ただし実際に起こった当事者なので声を大にして言えます、子供は単4電池を飲み込めます。

    詰まらなかった事が最大の不幸中の幸い

    飲み込んだ時そのまま食道から胃に流れてくれたのは本当に不幸中の幸いでした。

    万が一呼吸器に詰まって声も出せず窒息していたら、しばらく気付かずにそのまま死んでいたかも知れません。

    早く気付いてもそれこそ時間との勝負、僕も背部叩打法やハイムリック法の知識はありますし実践したこともありますが、それが100%効くかどうかも分かりません(背部叩打で取り出せずハイムリック法を実践すると骨折の可能性がありますし)。

    電池の有害物質によって胃に穴が開くことと比較にならないぐらい危険なので、途中で止まらず飲み込めたことはまさに不幸中の幸いだったと思います。

    子供の電池誤飲を防ぐ今後の対策

    今回の一件で、実家や友達の家のリモコンの蓋部分がセロハンテープで止まっていた理由が良くわかりました。

    けんちゃん
    けんちゃん

    今までアレって蓋のツメ折っちゃってテープじゃないと止まらないんだろうなあって思ってました・・・。

    フルIoT化

    この際中途半端に進めていた自宅内のフルIoT化、具体的にはAmazonアレクサを使った声の操作に完全移行することにしました。

    電池を使うリモコン、我が家では

    • テレビ
    • ブルーレイレコーダー
    • エアコン
    • 照明

    この辺り。

    ちょうどテレビをアレクサ対応のものに買い替えていたので、これを機に自宅からリモコンそのものを無くします。

    といっても捨てるわけにはいかないので、子供の手が絶対に届かない場所に鍵付きの金庫か何かに入れて保管しようかなと思っています。

    簡易なもので良いと思います、さすがにそれを開けられる年齢になれば電池を食べてみようなどと思わないでしょうし・・・笑。

    もう一度自宅のリモコンを確認してみよう

    実際に電池の誤飲事故を起こしてしまった僕がえらそうに言うまでもなく、小さいお子さんがいる皆さんはご自宅の誤飲対策を徹底されていると思います。

    我が家もそのつもりでしたが、結果として起こってしまいました。

    予想外の起こり方ではありますがその事実は重く受け止めなければなりません。

    だからこそいつか起こってしまう時の為に、違和感を感じたら迷わず病院へ行くことをオススメします。

    僕たちはその判断によって結果救われました、大切な子供を守るためにもいざという時のためにかかりつけ医にレントゲン設備があるか、無かったならレントゲン撮影が必要と事前に分かっている場合はどこへ行けばいいのか。

    ぜひこの機会にまとめておきましょう、その必要が無かった!と思う日が来る事を願っております・・・!

    ]]>
    https://www.braveryk7.com/child-drank-battery/feed/ 0
    SNSブランディングをlit.linkで!バラバラなSNSを一つにまとめよう! https://www.braveryk7.com/lit-link/ https://www.braveryk7.com/lit-link/#respond Mon, 14 Dec 2020 13:28:01 +0000 https://braveryk7.com/?p=6180 lit.link

    Twitter、Instagram、YouTube。

    更にTikTokやPinterest、メッセージアプリの枠を超えたLINE等々合わせると今やSNSを一人で5個6個登録しているのは当たり前の時代。

    しかしデメリットの一つに「ファンが分散してしまう」ことが挙げられます。

    もちろんそれぞれのプロフィール欄に「Twitterはこちら!」「YouTubeはこちら!」と直接書くのも良いんですが、いくつも増えてくると文字数制限で書ききれなくなるし何よりちょっとかっこ悪い・・・笑。

    そこで注目の新サービス、lit.linkを使ってスマートにSNSまとめを作りましょう!

    けんちゃん
    けんちゃん

    ココさえ見とけばOK!っていうSNSまとめを作っておけばファンもフォローしやすいよね!

    【PR】当記事は制作チームに在籍する友人からサービス開始前に事前利用させて頂き、依頼を受け執筆しております。

    • 良い点のみを記載し悪い点を書かない等、事実誤認を引き起こす恐れのある記載は致しません
    • 企業から商品やサービスの提供・レンタルを受け制作した記事にその旨を記載しないステルスマーケティングは行いません
    • 企業から商品やサービスの提供・レンタルを受けた場合当PR宣言の表示、PRタグの付与を行います

    詳しくは当サイトのステルスマーケティング排除宣言・PRポリシーをご覧ください。

    lit.linkとは

    lit.link
    スマホやPCから誰でも簡単にSNSリンクが作成できるlit.link。

    lit.linkは様々なSNSをまとめて、しかもスタイリッシュなインターネット上の名刺のようなものを作成できるサービスです。

    使い方も非常に簡単で、誰でもすぐに始められるのが最大の特徴。

    また、僕のようにブログを書いていたり自分でWebサイト運営を行っている方なら自由に自分のサイトのリンクを掲載することもできます。

    まずはどんなサービスなのか、早速僕もlit.linkを使い始めたので一度ぜひ見てみてください!

    けんちゃん
    けんちゃん

    デザインセンスが壊滅的に悪い僕でも簡単おしゃれに作れたよー!

    対応SNSサービス

    lit.linkは主要なSNSに対応しています。

    • Twitter
    • Instagram
    • YouTube
    • TikTok

    他にもライブAppの「17LIVE」、「LINELIVE」、「Showroom」、「ツイキャス」や「食べログ」「Retty」等のグルメSNSまで網羅しています。

    また、対応していないサービスでも別途自由に画像やテキストのリンクを作成することも可能。

    例えば僕のようなブロガーは自分のブログ、会社経営者はコーポレートサイトなんてのも良いでしょう。

    フリーランスのエンジニアやイラストレーターの方はポートフォリオページはぜひ乗せたいですよね。

    有効な被リンク

    これはブログやWebサイト運営している方のみ注目するポイントですが、lit.linkに自サイトをリンクすることで有効な被リンクとして機能します。

    多様なSNS時代、SNSリンクサービスは確実に需要がありこれからサービス拡大が有力です。

    lit.link自体の認知度が大きくなればそれだけ有効な被リンクの効果もあるので、相互に成長していけるように積極的に利用したいですね!

    けんちゃん
    けんちゃん

    最近似たような目的に使われていたペライチがTwitter上でペナルティ食らってアクセス時に警告が表示されるようになったのも話題になったよね。まさにそういう方々も求めていたサービス!

    新しいサービスなので機能追加も多数予定

    来年にかけ新機能の追加が多数予定されている。

    lit.linkは2020年12月に開始されたばかりのサービスです。

    アクセス解析のアナリティクスや商品紹介サポート等、SNSを使いこなす上で嬉しいサービスが開始予定。

    新機能は順次実装される予定なので、定期的にチェックしておきましょう!

    lit.linkの始め方

    lit.linkは誰でも無料で始められ、リンク作成も非常に簡単です!

    けんちゃん
    けんちゃん

    スマホもPCも対応してるよ!よくある「PCでは○○ができるけどスマホではできない」なんてこともナシ!ここではスマホの画面で設定しているよ!

    簡単4ステップ!lit.link始め方
    • Step.1
      会員登録
      lit.linkの登録はLINEアカウント、もしくはメールアドレスを使用可能。

      まずはlit.linkのユーザー登録を行います。

      • LINEアカウントを連携して登録
      • メールアドレスで登録

      どちらかお好みの方で登録します。

      パスワードは8~16文字以内の英数字が使用可能、記号は不可です。

    • Step.2
      リンクの設定
      編集は左上の切り替えスイッチから簡単に行える。編集を終えてもう一度スイッチを切り替えるとプレビューモードになる。
      各種リンクは追加するボタンから設定可能。対応SNS以外のWebサイトも自由に追加できる。

      登録が完了したらいよいよリンクの編集です。

      左上にある編集モード切り替えスイッチを切り替え、編集モードに入りましょう。

      TwitterやInstagram等アイコンを選びユーザーIDを入力、それ以外のWebサイトは「追加する」ボタンからボタンリンクやテキストリンク、ピクチャリンク等好きなものを選んで設置します。

      自分のイメージに合わせてカラーやフォントの切り替えもできますし、デザインが苦手!面倒!という方は事前に用意されたテンプレートを選ぶだけでOK!

      編集が終わったら再度切り替えスイッチで編集モードを終了します。

    • Step.3
      実際の見え方をプレビューする

      再度モード切替スイッチを操作し、プレビューモードに戻して最終的な出来上がりを確認しましょう!

      IDやURLの入力ミスはせっかくアクセスしてくれた方に「なんだ、リンク貼ってるのにページ表示されないじゃん!」と不満を抱かせる原因なので、必ず一度自分でアクセスして間違い無いか確認しておきましょう・・・笑。

    • Step.4
      SNSにlit.linkのURLを貼り付ける
      編集モードに切り替えるとlit.linkアクセス用のURLが表示される。これをSNSのプロフィール欄等に貼り付けるだけでOK。

      編集が終わったら後は各種SNSのプロフィール欄や概要欄等にlit.linkのURLを貼り付けるだけです!

      今後は誰かが「この人の他のSNSもフォローしたい!」と思ったらlit.linkを経由してもらうだけ、めちゃくちゃ簡単ですね!

    けんちゃん
    けんちゃん

    デザインセンスがない僕でもめっちゃ簡単だった・・・!

    基本的な作業は

    1. IDを登録する
    2. Webサイトの場合はURLやサイト名を貼り付ける
    3. デザインを設定する

    たったこれだけ。

    誰でもHTMLやCSS等の知識なしに、項目を埋めるだけで設定可能です。

    背景画像も100種類以上用意

    おしゃれな背景画像が100種類以上プリセット、もちろん自分でアップロードもOK。

    デザインのなかなか難しいところの一つに背景の設定があります。

    おしゃれな背景って自分で用意するのは結構大変。

    しかしlit.linkならデフォルトで100種類以上の背景画像が用意されているので、その中から自由に選んで配置することもできます。

    もし単色の背景は味気ない!おしゃれな背景を選びたい!と思ったらまずはデフォルトの背景を見てみましょう。

    けんちゃん
    けんちゃん

    きっとお気に入りの1枚が見つかるはず!

    目的別に選べるリンク

    リンク掲載は様々な方法を選択できる。

    ”リンク作成”と言ってもテキストが良い、画像が良いと好みはありますよね。

    lit.linkなら当然好みのリンクを貼ることが可能で、単純なテキストリンクやボタンリンク、画像も3つ横並びの3ピクチャリンク等を選ぶことができます。

    Webサイト運営者なら例えばカテゴリー別に横並びのリンクを設定したり、問い合わせページを設定したりと幅が広がりますね!

    けんちゃん
    けんちゃん

    もちろん全部テキストリンクでも良いんだけど、アクセスの導線をきちんと整えたりしてあげる方が親切だよね。

    制作チームのソラくんにインタビュー!

    lit.linkは僕の友人であるソラ(@sora_traveler)くんが制作チームの中の人として所属している縁でお話を頂きました。

    そこで簡単にlit.linkについてインタビューしてみました!

    けんちゃん
    けんちゃん

    lit.linkの目的、目指すところを教えて下さい!

    ソラくん
    ソラくん

    発信者とファンとのコミュニケーションをより円滑にしたいと思っています。

    けんちゃん
    けんちゃん

    どんなサービスにしたいですか?

    ソラくん
    ソラくん

    価値ある人に価値ある情報を届けられるサービスにしたいですね。

    けんちゃん
    けんちゃん

    そもそもなんでlit.linkの開発が始まったのかな?

    ソラくん
    ソラくん

    自分自身、SNSでチャンスを掴んだ1人なので、その体験を多くの人に提供したいという思いから開発が始まりました。

    lit.linkの目指すところはlit.linkを運営するTieUps株式会社の公式ブログにも記事があるので、ぜひ一度読んでみて下さい!

    けんちゃん
    けんちゃん

    これを20代前半で考えるってやばいね・・・。僕20代前半の頃なんて毎日コーラ飲んでポテチ食べてテレビ見てたんだけど・・・笑。

    lit.linkを使ってバラバラなSNSアカウントを1つにまとめよう

    lit.linkを使うことで無料で、そしておしゃれで簡単にSNSのリンクを一つにまとめることができます。

    SNSリンクは今や名刺にも乗り、個人をアピールする為に真っ先に使用されるツール。

    そんなツールを相互効果を高める為のlit.linkはぜひ使っておきたい最有力サービスです。

    まずは実際に登録してぜひ驚きの使用感を体験してみてください!

    ]]>
    https://www.braveryk7.com/lit-link/feed/ 0