ノラプログラマーの技術メモ

ネットで調べても出てこなかった情報を載せていきたい技術系ブログ。

アドラー心理学まとめ

▼健康なパーソナリティ
1.自分を受け入れていること
2.世界を信頼していること
3.貢献感を持っていること
4.誠実であること
5.共同体感覚を持っていること

▼不健康なパーソナリティ
「悪いあなた、可哀想なわたし」

▼共同体感覚を育てる(縦の人間関係から横の人間関係へ)
1.相手を尊敬すること
2.相手を信頼すること
3.協力できること
4.共感すること
5.理性的に問題を解決すること
6.主張的であること
7.平等であること
8.寛容であること

▼頼み方の4パターン
・主張的な自己主張(相手を傷つけないよう配慮し自分の要求を口に出す)
・非主張的な自己主張(自分の要求を口に出さない)
・攻撃的な自己主張(相手を脅かして自分の要求を通そうとする)
・復習的な自己主張(自分の要求を口に出さず相手を傷つける)

▼勇気づけ
1.貢献に注目する
2.過程を重視する
3.成果を指摘する
4.失敗を受け入れる
5.成長を重視する
6.相手に判断をゆだねる
7.肯定的に表現する
8.「私メッセージ」を使う
9.「意見言葉」を使う

▼責任の取り方
1.謝ること
2.原状を回復すること
3.再発を防止すること

ビジネスメール表現まとめ

レビュー(クレーム)のお返事

▼お客様レビュー
お椀を購入しましたが食洗器で洗っても臭いがとれません!
ニスの臭いが気になって食べる気になれません!

▼ショップから返信
お客さまにはご不快な思いをさせてしまい、申し訳ございません。【お詫び・配慮】
ご指摘の臭いについてですが、当店ではニスを一切使用しておりませんので、おそらく漆の匂いではないかと思います。【事情説明】
風通しの良い日陰で数日干して頂ければ、匂いも無くなってくるかと思います。お手数ではございますが、ぜひこの方法を一度お試しください。【提案】


アポイントの依頼

□□社 佐藤様

○○社の田中です。
お世話になっております。

ご指摘の件につきまして、一度、打合せをさせて頂きたく存じます。

2月3日・4日・5日のいずれかの日に、1時間ほどお時間をいただくことは可能でしょうか。
(11日の週でしたら、私は12日午後と13日午前を除いて、いつでもお伺いできます。)

何とぞよろしくお願いいたします。


仕事の依頼

□□社 佐藤様

○○社の田中です。
お世話になっております。

当社の春のキャンペーンのDMの内容がようやく決定したのですが、営業からデザインを一部変更したいとの要望が出ております。

つきましては、今月末までに印刷所に入稿するスケジュールでデザインをお願いできないかと考えております。

誠に恐縮ですが、ご検討いただければ幸いです。
(まだ細かい点を詰めておりませんが、ご意見をいただければ幸いです。)

何とぞよろしくお願いいたします。


お詫び

□□社 佐藤様

○○社の田中です。
お世話になっております。

参加者名簿で中村様のお名前に間違いがありました件につき、深くお詫び申し上げます。(お詫び)

当日、ご指摘を受け、口頭で訂正させていただきましたが、たいへん失礼なことになってしまいました。(経緯・反省)

今後はこのようなことがないよう十分に注意いたしますので、ご容赦くださいますよう、お願い申し上げます。(近いと今後へのお願い)


相手のミスを伝える

□□社 佐藤様

○○社の田中です。
お世話になっております。

当社の春のキャンペーンのDMの内容につきまして確認しましたところ、「ご紹介」は「ご照会」の変換間違いかと思われます。

今一度、ご確認いただければと存じます。

よろしくお願いいたします。


辞退する

□□社 佐藤様

○○社の田中です。
お世話になっております。

このたびは、タイムリーなシンポジウムのご案内をありがとうございました。

せっかくのお申し出ではございますが、辞退申し上げることになりました。
(諸般の事情により、シンポジウムの参加につきまして、見送らせていただくことになりました。)

またこのような機会がありましたら、声をおかけいただきたくお願いいたします。

シンポジウムのご盛会をお祈りいたします。

Word2016でショートカットキーを設定する方法

マウス操作が面倒くさい

MS-Word2016を使っていると、マウスで操作するのが面倒臭い時がある。

例えば表を作ってWordに自動計算させようとするとき、メニューにある表ツールの[レイアウト]から[計算式]を選ぶ。

f:id:kawai_norimitsu:20180617161452p:plain

1度や2度なら気にならないが、計算式を何度も編集しようとすると、次第に面倒くさくなってくるのだ。

だからショートカットキーを登録して、キーボードで操作できるようにすることにした。

ショートカットキーを設定する手順

メニューにある[ファイル]をクリックする。

f:id:kawai_norimitsu:20180617162446p:plain

左側メニューにある[オプション]をクリックする。

f:id:kawai_norimitsu:20180617162511p:plain

左側メニューにある[リボンのユーザー設定]から[ユーザー設定]ボタンをクリックする。

f:id:kawai_norimitsu:20180617162632p:plain

キーボードのユーザー設定ダイアログが開く。分類の[表ツール][レイアウト]タブをクリックし、コマンドの[TableFormula]をクリックする。

「割り当てるキーを押してください」のフォームをクリックしてから、登録したいキーを押す。最後に[割り当て]ボタンをクリックする。

f:id:kawai_norimitsu:20180617163030p:plain

[割り当て]ボタンをクリックすると、現在のキーにショートカットキーが表示される。正しく登録できたら、すべてのダイアログを閉じる。

f:id:kawai_norimitsu:20180617163124p:plain

再びWordの画面に戻って、ショートカットキーを押してみる。正しく設定されていれば、キーボードから計算式ダイアログが表示される。

f:id:kawai_norimitsu:20180617163251p:plain

【まとめ】論理と問題解決の技法

▼論理

1.論点は何?

「何を考えるべきか」をまず考える。
論点は改善感度が高い問題であること。また答えを出し得ること。

2.複数の根拠で主張を支える

納得感の高い根拠を複数用意し、主張を支える。
ピラミッドストラクチャーと呼ばれる型がある。

空、雨、傘(演繹法/三段論法)

「空が曇ってきた」⇒「雨が降りそうだ」⇒「傘を持っていこう」というロジックで、論理の飛躍を防ぐ。

WHYの並び立て(帰納法

「(主張)です。なぜなら(根拠A)、(根拠B)、(根拠C)だからです」というロジックで、論拠を強化する。

3.根拠はファクトベースで!

どれだけ論理展開が正しくても、ベースとなる根拠が間違っていたら、最終的な主張も間違ったものになってしまうため。

▼問題解決

1.分析フェーズ

1-1.考えられる原因をすべて挙げる

MECE(モレなくダブりなく)を意識しながら、問題を分解する。
分解する型として、「WHERE・WHAT・HOW」と「最終形からの逆算」が役立つ。

1-2.仮説を立てる

仮説は「はい/いいえ」「多い/少ない」「増えている/減っている」など、答えが出せること。
一次情報に触れ、一次情報を大切にする。

1-3.検証する

データを集めて分析する。分析とは比較、すなわち比べること。
定量分析の型である「比較」「構成」「変化」を使い、データで語る。

2.処置フェーズ

2-1.考えられる打ち手をすべて挙げる

MECE(モレなくダブりなく)を意識しながら、打ち手のアイデアを幅広く洗い出す。

2-2.最適な打ち手を選ぶ

すべての打ち手をマトリックスの上に並べる。
実行しやすく、効果の大きいもの(図の右上)が最適な打ち手。

f:id:kawai_norimitsu:20180603214827p:plain

2-3.実行する

期日から逆算して、実行スケジュールを組む。
スケジュールには、具体的に誰が・いつまでに・何をやるのかを書き出す。

ニンテンドーSwitchで勝手に左に動く故障を0円で修理した話

任天堂スイッチが勝手に左に動く

ニンテンドーSwitchでゼルダの伝説をやっていたら、リンクが勝手に左に動くことに気付いた。もちろんコントローラーは動かしてない。

f:id:kawai_norimitsu:20180330153950p:plain

最初は「接続が悪いのかなー」とか思ってたけど、コントローラーを本体に接続しても勝手に左が押された状態になってしまう。なんで?

公式サイトにサポート情報が載ってた

任天堂スイッチの公式サイトにサポート情報が載ってたので、書かれている通りにやってみた。

【Switch】コントローラーのスティックが勝手に動いたり、一部のボタンが反応しなかったりします。

とりあえず、本体を更新してみるも改善されず。

f:id:kawai_norimitsu:20180330154322p:plain

次に「コントローラーの更新」を行い、「スティックの補正」「ジャイロセンサーの補正」で工場出荷時の状態に戻してみた。

f:id:kawai_norimitsu:20180330154623p:plain

症状は改善されたものの、ゲームしていると次第に症状が悪化してダメだった。

操作してないのに勝手に左が押されたことになってしまう。体験してみると分かるが、これはかなりイライラする。

コントローラーの接続を一旦解除し、再登録するもやはりダメだった。もはや打つ手なし。

仕方ないから修理に出した

任天堂にスイッチを送って修理してもらうことにした。オンライン修理受付のホームページから修理を依頼するのだ。

https://www.nintendo.co.jp/support/repair/online1_1.htmlwww.nintendo.co.jp

Switch本体は、購入した時の箱に入れて送ることにした。本体とコントローラー2個、ソフトは抜いていたが、SDカードは差したままだった。

f:id:kawai_norimitsu:20180330155411p:plain

一応、箱の横に保証書があることを確認する。保証期間は1年で、それを超えると有償での修理になる。

2017年12月下旬に購入して、2018年3月上旬にコントローラーの異常が発覚。壊れるまで早すぎない?乱暴な使い方はしてない(はず)。

f:id:kawai_norimitsu:20180330155708p:plain

あとオンライン修理受付の最後に表示されたページを印刷して、Switchの箱と一緒に同封しておく。故障ポイントには次のように書いておいた。

f:id:kawai_norimitsu:20180330155816p:plain

ポイント1.Lボタンを操作していないにも関わらず勝手に左に動く。
ポイント2.Q&Aの記載通りにコントローラーをリセットすると症状が和らぐが、ゲームで遊んでいるうちに次第に頻度が増す。
ポイント3.エラーなし。

修理されて戻ってきたSwitch

任天堂の修理センターは京都にあるらしく、京都までSwitchを着払いで送った。すると7日ほどで修理されて戻ってきた。

f:id:kawai_norimitsu:20180330160103p:plain

気になる修理費用だが、なんと0円だった!やったぜ。通信欄には次のように書かれていた。

Joy-Con(L)を確認させて頂いたところ、アナログスティックが故障しており、ご依頼症状が発生しておりましたので、故障部品を交換させて頂きました。

どうやらジョイコンの部品(アナログスティック)が壊れていたために、勝手に左に動いていたようだ。

f:id:kawai_norimitsu:20180330160513p:plain

ネットでも同様の症状で困っている人を多く見かけるし、買って3ヶ月で壊れてしまったことを考えると初期不良説も考えられる。

思わず「こんな不安定な部品を使ってて、また壊れたらどうすんの?」と思ってしまった。

でも任天堂神対応だった

症状再発の不安を覚えつつ、修理明細票を見ていたら、最後に次のように書かれたいた。

修理後3ヶ月以内に同一箇所で同一故障が発生した場合は、無償で再修理いたします。

マジか、神対応すぎる!

これでいつジョイコンLスティックが壊れても安心だね!(本当は壊れないのが一番いいのだけど)

追伸

修理されて戻ってきたSwitchは、勝手に左に動かなくなっていた(当たり前だけど)。

修理してから3ヶ月以上たった今でも、Lボタンが勝手に左に動く症状は出ていない。

コントローラーの操作が快適になって、純粋にゲームを楽しめるので、保証期間内であれば絶対に修理した方がいい。

おしまい。

Amazon MWS、注文管理APIのPHPサンプルを書いてみた

Amazon MWSとは

Amazon MWSとは、Amazonが提供するマーケットプレイス向けAPI群のことで、APIを利用すると商品管理や注文管理を自動化できるアプリケーションが作れるようになる。

MWSの利用は無料だが、大口出品者しか利用できない。またAPIの利用回数に制限がある(スロットリング)。利用回数が上限に達した場合、時間を置くことで再び使用できるようになる。

MWSの登録方法

  1. Amazonにログインしてユーザー権限ページを開き、Amazon出品用アカウントの管理者としてログインする。
  2. 開発者を承認ボタンをクリックする。
  3. 開発者の名前テキストボックスに、承認するアプリケーション開発者の名前を入力する。
  4. 開発者IDテキストボックスに開発者IDを入力し、開発者を承認をクリックする。
  5. MWS認証トークンが表示できることを確認する。

f:id:kawai_norimitsu:20180204100554j:plain

f:id:kawai_norimitsu:20180204100602j:plain

PHPサンプル

AmazonMWSはJavaC#PHPでアプリケーションが作成されることを想定しているらしく、PHPのクライアントライブラリも存在する。

しかし今回はライブラリを使用せず、必要最低限のシンプルなソースコードを書くことにした。

PHPプログラムのサンプルは次の通り。

<?php
  // ----------------------------------------------------- パラメータ設定
  $MWSAuthToken = "<ここにあなたの秘密キー>";  // (3)秘密キー

  $params = array();
  $params['AWSAccessKeyId'] = "<ここにあなたのAWSアクセスキーID>";  // (2)AWSアクセスキーID
  $params['SellerId'] = "<ここにあなたの出品者ID>";  // (1)出品者ID
  $params['MarketplaceId.Id.1'] = "A1VC38T7YXB528";
  $params['SignatureMethod'] = "HmacSHA256";
  $params['SignatureVersion'] = "2";
  $params['Version'] = "2013-09-01";
  $params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
  $params['Action'] = "ListOrders";
  $params['LastUpdatedAfter'] = gmdate('Y-m-d\T00:00:00\Z', strtotime("-1 days"));
  ksort($params);

  // ----------------------------------------------------- 署名作成
  $sign_str = "GET\nmws.amazonservices.jp\n/Orders/2013-09-01\n";
  foreach($params as $key => $value) {
  	$sign_str .= "{$key}=" . rawurlencode($value) . "&";
  }
  $sign_str = substr($sign_str, 0, -1);
  $Signature = base64_encode(hash_hmac('sha256', $sign_str, $MWSAuthToken, true));

  // ----------------------------------------------------- リクエスト
  $url = "https://mws.amazonservices.jp/Orders/2013-09-01?";
  foreach($params as $key => $value) {
  	$url .= "{$key}=" . rawurlencode($value) . "&";
  }
  $url .= "Signature=" . rawurlencode($Signature);
  $xml = file_get_contents($url);

  // ----------------------------------------------------- データ解析
  $xmlObject = simplexml_load_string($xml);
  var_dump($xmlObject);
?>

ポイントは署名の作り方で、リクエストのキーをksort関数で昇順にしている点だろう。

ドキュメントには載ってないが、キーを昇順にして署名・送信しないと、サーバー側で署名が一致せずエラーになってしまうのだ。

上記のサンプルは1日前の注文情報を取得するものだが、カスタマイズしたい場合は注文管理APIのドキュメントを参照のこと。

あと必須パラメータなど、APIを使いこなすのに読んでおいた方がいい関連ドキュメントを以下にまとめておいた。

以上、お疲れ様でした。

コピーライティングまとめ

▼リサーチについて
・媒体メデアをチェックする。
・その市場にいる人と直接話す。
・そのターゲットとおんなじ生活をしてみる。
・毎日見込み客が反応しそうなキーワードを何十個とか百個とか書く。

▼コピーライティングとは
コピーライティングとは感情、感性を科学的に表現していく文章術。

▼コピーライティングの基本
・ひとつのメッセージをひとつのマーケットに対して伝えて、そしてひとつの出口しか用意しない。
・ラブレターのつもりで、好きな人もしくは親、子、もしくは自分自身に対してレターを書く。
・読み手が普段使っている言葉を使って、読み手が普段見ている世界、視点で書く。

▼3つのNOT(心理的なブロック)
・not read「読まない」 ヘッドコピーが重要
・not believe「信じない」 公の機関が取ったデータ、書籍の引用
・not act「行動しない」 きちんと行動を促す、申し込まずにはいられないほどに興奮させる

▼OATH(問題の意識レベル)
・oblivious 無知
・apathetic 無関心
・thinking 考えている
・hurting 苦痛

マズローの欲求5段階説
・生理的欲求
・安全欲求
・親和欲求
・自我欲求
自己実現欲求

▼QUEST FORMULA
・Qualify(大きな約束をする)
・Understand(理解・共感する)
・Educate(教育・サービスの説明)
・Stimulate(興奮させる)
・Transition(行動させる)

▼セールスレターの構成要素
・ヘッド
・サブヘッド
・ブレット
・保証
・追伸

▼アイディアの出し方
・ブレインダンプとマインドマップ
・意外性のある状況をして設定して妄想する
・日頃からいろいろな体験をする

▼GDTの法則
G(time 時間、effort 努力、money お金)
D(greed 貪欲さ、lust 性的な欲望、comfort 快適さ)
T(scarcity 希少性、curiosity 興味、controversy 反社会性)

▼not readの壁を越えるために必要なこと
・ヘッドを強力にする
・サブヘッドとブレッド、追伸を工夫する
・わかりやすい文章を書く
・「あなた」って単語をよく使う
・読み手を強制的に巻き込んでいく
・巻き込んだ前提で話をする
・読み手が抱くであろう疑問をその場であえて文字にする

▼わかりやすい文章を書くために
・イメージしやすい言葉を使う
・例をくどく出す
・文章の始めと終わりに同じ話を持ってくる
・次の文をスムーズに読ませるための工夫をする

▼not believeの壁を越える
・言葉を変えて3回主張する
・reason whyを徹底する
・社会的な証明を利用する
・自信を見せつける
・ストーリーをうまく使っていく
・事実のすぐ隣にプロボーカティブな言葉、フレーズを置いていく
・事実から始めて徐々に自分の主張への移行させていく

▼not actの壁を越えてもらう方法
・行動をきちんと指示してやる
・stimulantを強力にする

▼推敲するチェックポイント
・よりインパクトを出せないかどうかのチェック
・難しい言葉使いすぎてないか
・reason whyにきちんと答えているか
・QUESTの流れになってるか
・日本語チェック
・不快な表現チェック
・ブラウザチェック