月: 2021年4月

  • 【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    go1.16 で golang を書いて build すると、タイトル通りのエラーが表示された。

    調べてみると go 1.15 までは go buildgo test などのコマンドを実行すると、 go.modgo.sum の内容をよしなに更新されていたが、go 1.16 からは自動では更新されなくなったようだ。

    これを解決するには

    $ go mod tidy

    とすることで、go のモジュールに書かれている不足分のパッケージを go.mod に書き込んでくれる

    % go build -o hoge.go
    main.go:7:2: no required module provides package github.com/hackebrot/turtle; to add it:
            go get github.com/hackebrot/turtle
    
    
    % go mod tidy
    go: finding module for package github.com/hackebrot/turtle
    go: downloading github.com/hackebrot/turtle v0.1.0
    go: found github.com/hackebrot/turtle in github.com/hackebrot/turtle v0.1.0
    go: finding module for package github.com/hackebrot/go-repr/repr
    go: finding module for package github.com/google/go-cmp/cmp
    go: downloading github.com/google/go-cmp v0.5.5
    go: downloading github.com/hackebrot/go-repr v0.1.0
    go: found github.com/google/go-cmp/cmp in github.com/google/go-cmp v0.5.5
    go: found github.com/hackebrot/go-repr/repr in github.com/hackebrot/go-repr v0.1.0
    
    % go build -o hoge.go
    

    参考情報

    https://golang.org/ref/mod#go-mod-tidy

  • bashで入力の冗長を減らす

    bashで入力の冗長を減らす

    何かと bash/zsh で作業していると、直近の引数を再度入力したくなることがある。
    たとえば、ディレクトリを作って、その中に移動する場合などだ。

    実は bash や zsh には直前の引数を再度入力する特殊変数が存在する。

    % pwd   
    /tmp

    この /tmp ディレクトリから新規ディレクトリを作成し、そこに移動する場合、
    このように表現することで移動することができる。

    % mkdir hoge; cd $_ 
    % pwd
    /tmp/hoge

    $_ という変数が特殊変数という扱いになり、直前の引数を再度入力することができる。

  • fargate platform 1.4 で service を起動できない

    fargate platform 1.4 で service を起動できない

    今まで fargate で service を動かせていたが、platform 1.4 では動かせないことがあった。その対処法を紹介。

    pseudoTerminal option があるが、falase だと起動した後に停止してしまう。解決策としては、

    pseudoTerminal を false から true にすること。

    そもそも pseudoTerminal とは擬似ターミナル。

    Docker Remote API の コンテナを作成する際、セッションの TTy にマッピングして docker run にマッピングするオプション。

    1.3 まではこの設定が false でも動かすことができたが、1.4 ではこれを true にしないと動かすことができないようだ。

  • セールスコピー大全を読んだ

    セールスコピー大全を読んだ

    見て、読んで、買ってもらえるコトバの作り方。

    読み始めたきっかけ

    人に読んでもらうための資料を作ったり説明する機会が多く、意図がうまく伝わってなかったり、たまに誤解を生んでしまったり、自分の表現力について課題を持っていた。

    たまたまセールスコピー大全を見つけたので、自分の表現力を向上させることができるかもしれないと思い、読むことにした。

    セールスコピーライティングとは

    セールスコピーライティングとは、求めている人を探し、彼らの心を動かす提案を考え、それを魅力的に語る技術。欲しい人へ欲しいものを売る方法。と定義されている。

    自分は「商品を求めている人が、求めているポイントを見つけ出して売ること」と解釈した。

    自分の読み始めるモチベーションとしていた自分の表現力について課題についての解決策を語るのが本の趣旨ではなく、いかに売るかがこの本のポイントなので、自分に刺さったところだけをピックアップしてメモとして残す事にする。

    本書からの学び

    売れるアイディアは生み出すものではなく拾うもの

    どうすれば売れるだろう、何を言えば売れるだろうという考えを排除する。

    そうではなく、「お客さんが強く求めているのは何だろう」、「お客さんの興味関心は何だろう」と考え、そこからセールスコピーを書くというアプローチ。

    常にお客さん(読み手)を意識してそこに求められていることから考えなさいというポイント。なるほど。確かにそうだ。

    1. お客さんの脳内にある売れる世界を探す
    2. 優れた提案を考える
    3. 魅力的に語る

    つまりこのステップになる。

    メリットと、ベネフィットを区別する

    ベネフィットは読み手が求める嬉しい未来であり、商品から得らえる嬉しい未来。

    特徴やメリットはそのベネフィットが叶う理由になる。。特にメリットの部分は引き立て役に過ぎない。

    ベネフィットとメリットは混同させてはいけない。

    不要な言葉を徹底削除

    キャッチコピーは訴求を魅力的に表現した短い言葉。訴求を読みやすくわかりやすくするだけで十分。

    ベネフィットさえ読み手を織り込んだ要素があれば「xxの悩みを抱えている方へ」などの記載も不要になり、より短い文にすることができる。

    意味が伝わるギリギリまで不要な言葉をダイエットする。

    問いかける

    ベネフィットを語る部分は、なるべく疑問が似合う表現に変える。

    「なぜxxの売り上げがアップするのか。」

    「xxの売り上げがアップする理由。」など。

    心の声に置き換える

    この本で取り上げている例がとても分かりやすかったので、そのまま紹介。

    NG: アンチエイジングに興味があるあなたへ

    99 ページ

    OK: 若かったあのころに、戻りたいあなたへ

    99 ページ

    心の声に置き換えると読み手の共感を得やすいからが理由とのことだが、上記例で溜飲が下がった。

    数字を上手に使う

    本書には記載がなかったが漠然とした「広い土地」とかではなく「東京ドームn個ぶん」という表現をテレビのレポータがしているのを思い出した。確かにその方がイメージもしやすい。また、数値表現がレスポンスに大きな影響をもたらし、具体的な数字が信憑性を高めることができる。

    また、数字の3には物理的な安定感のある数字であり、3が付くものは受け入れられやすいという特徴がある。

    権威を見せる

    一例として医師も認めた。などがそれに該当。

    自分は資料作りの時に説得力あるからということで国の公開資料を使うこともあるが、確かに自分も無意識にやってた。

    ちなみに、以下のサイトでは政府が公開している資料の閲覧もできるし、API で利用もできる。

    https://www.e-stat.go.jp/api/

    ストーリー

    興味深いストーリーならば、たとえ広告であっても、多くの人が興味を持って読み進めてくれる。ストーリーにはメリハリをつける。特にどん底と、最後の成功がポイントとなる。

    まとめ

    本書の大半はタイトル通り物をうるために使うセールスコピーだが、人を説得するという店では物を売ることを行わないエンジニアである自分にも使える知識もあるし、資料作りや人を動かす上での説得させる上での武器が多く書かれていた。すぐに実行もしやすいので早速学んだことを使っていこうと思う。