はじまる

適当な事を適当に書く

Salesforce Commerce Cloud の 拡張機能 Cartridge を作る前に気をつけなきゃいけないこと

  • カートリッジを公開したい法人・個人にはSalesforce Commerce Cloud Certified Developper の資格の保持者がいないといけない。
  • いない場合は取らなければいけない。
  • 資格の取得には有償の研修を受講する必要がある。
  • 研修はあらかじめ日時の決められた集合研修だが、予約で埋まっていてなかなか受講できない場合がある。

疲労から神経過敏に至る

最近自覚したのだが、私は疲労が蓄積すると、視覚、聴覚への刺激に過敏になり、頭痛や吐き気が催される体質のようだ。体は動くが、頭痛や肩こりが酷く、普段は平気なライトの明かりを非常に眩しく感じたり、街の雑踏が非常に五月蝿く感じていることに気づき、ひとまず100円ショップでサングラス、耳栓などをすると頭痛が軽減されたのだ。もともと黒目の色素が薄く眩しさには弱いが、頭痛を引き起こすほどの事態には通常ならないので、やはり疲労・心労の蓄積が影響しているように思う。根本解決にはそもそもの疲労を取り除くべく休養をとることが大事だが、仕事も非常にタフでなかなか休みも取れないため、とりあえずはサングラスや耳栓などを利用して対処していくことにする。

いまさらながら Flask で簡易的なAPIをつくる

そういうことになったのでやる。Python初心者です。

~/W/flask ❯❯❯ python3 --version
Python 3.7.3

とりあえず手元のPythonは3.7.3だった。

~/W/flask ❯❯❯pip3 install flask

でインストール

~/W/flask ❯❯❯ pip3 list | grep Flask
Flask        2.0.2

はいった。

とりあえず GETリクエストに返答するやつ。

#hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'
   
if __name__ == "__main__":
    app.run(debug=True)

実行してみたらエラー。

~/W/flask ❯❯❯ python3 hello.py
Traceback (most recent call last):
  File "hello.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

Moduleのパスが通ってなかった。さっきいれたやつどこにあるんだっけ。

~/W/flask ❯❯❯ pip3 install Flask                                                                                                                  ✘ 1 
Requirement already satisfied: Flask in /usr/local/lib/python3.9/site-packages (2.0.2)
Requirement already satisfied: Werkzeug>=2.0 in /usr/local/lib/python3.9/site-packages (from Flask) (2.0.2)
Requirement already satisfied: click>=7.1.2 in /usr/local/lib/python3.9/site-packages (from Flask) (8.0.3)
Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.9/site-packages (from Flask) (3.0.2)
Requirement already satisfied: itsdangerous>=2.0 in /usr/local/lib/python3.9/site-packages (from Flask) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/site-packages (from Jinja2>=3.0->Flask) (2.0.1)

設定ファイルでパスを通すやりかたもあるらしいが、いったん手短にFlaskの挙動を確認したいだけだし、環境変数PYTHONPATHに上記の site-packages ディレクトリを設定することにする。

#boot.sh
export PYTHONPATH="$PYTHONPATH:/usr/local/lib/python3.9/site-packages"
python3 ./hello.py
~/W/flask ❯❯❯ chmod +x boot.sh
~/W/flask ❯❯❯ ./boot.sh
 * Serving Flask app 'hello' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 143-506-337

Webサーバー起動した。

f:id:satorusangakoronda:20211019094459p:plain

はい。

host, port の変更は app.run の引数でやるらしい。

GET

GET リクエストに返答するやつを生やした。

from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/cat')
def hello_cat():
    searchword = request.args.get('key', '')
    return f'myow, {searchword}'

if __name__ == "__main__":
    app.run(debug=True)

f:id:satorusangakoronda:20211019114749p:plain

POST

POST リクエストに返答するやつ。 TBU

Netlify で Google Adsense が審査通らない

www.netlify.com

ご存知の通り、クロスオリジンのJavaScript 実行を防ぐ為、Netlify ではアップロードしたファイルに含まれる他オリジンのJavaScript は、デプロイされる時点でコードからは自動で削除される。じゃあ、そういうJavaScriptを利用したい場合、例えば Google Analytics などのスニペットを含めたい場合はどうするのかというと「Site Settings」の「Post Process」からJavaScriptスニペットを登録する。登録されたスニペットは、サイト閲覧時にサイトに動的に插入される。とにかくコードベースには含めないでくれ、ということらしい。この機能をつかって、Google Analytics などのWeb解析ツールのインストール、Google Tag Manager などのJavaScriptタグ管理ツールを、Netlify で公開しているWebサイトに導入できる。

 

さて、Google Adsense だ。Google Adsense も同様の手順でやったが、どうもAdsenseの管理画面側で「スニペットが配置されてません」というエラーになり審査が通らない。

 

Netlify で公開するWebサイトだが、静的サイトジェネレータを利用するのであれば、Netlify と Google Adsense を利用する為のプラグインがだいたい存在しており、それを使えばいいが、今回の私がNetlifyで公開しようとしているWebサイトは、素のHTMLサイトだ。素のHTMLだろうが仕組みは同じと思うが、どうにもうまくいっていない。意外にもNetlifyの使用例としてWebに公開されているブログ記事は皆静的サイトジェネレータとの使用例で、ピュアな静的サイトのケースはほぼないようで、参考になりそうな情報も少ない。

 

とりあえずいろいろ試してみて、審査通ったらこの記事を更新する。

 

20210909追記:Adsenseの管理画面で一度該当のサイトを削除して、もう一度サイト追加からやり直したら通った。なんのこっちゃ。

シティボーイは農村ユートピアの夢を見る

両親とも農家の家系(地方出身者はだいたいそうだと思うけど)で「食い物はあるが、現金がない暮らしがどれだけ辛いか」を幼少期から聞かされて育った。

 

都市部出身者、というか農業と縁のない人間関係の中で生きてきた人達には、農業を「お金に縛られない、夢のような生活様式」と思っているひとが少なくない。中年や壮年の相応の社会経験がある人達でもだ。

 

映画「おおかみこどもの雨と雪」には非現実な農村ユートピアが登場する。ああいったものが実在していて、すべての農村はああである、と思っている人が少なくない。「両親の家は農家だった」というと、目をトロンとさせ「羨ましい」とまで言われたこともある。

 

当然だが、人間が生活には金がかかる。医者にかかるにも、子供に教育を受けさせるにも金が必要だ。「人はパンのみに生きるに非ず」というあるように、余興も必要だろう。

鬼のように気性の激しい父親が、「お母ちゃん(私の祖母)が、俺が中学にあがるときに、家にお金なんてないのに、なんとか工面して、新品の学生服を用意してくれた。」と号泣しながら語ったこともある。現金収入の乏しい当時の農家の家庭では、衣服は同じ着古しを何十年も着て、制服なども誰かのおさがりを貰ってくるのが当たり前だ。

 

金から自由になる、金のことを気にしなくてよくなるのは、天涯孤独で淡々とした生活を好む仙人のような奇人か、使い切れないほどの金を持っている人達だけだろう。

 

うちの家系は結局、両家どちらも農家を廃業して勤め人をやってる。畑は残っているので、趣味・運動として、できる範囲の面積・規模で農作をやっている親類もいる。そのくらいのスタンスがいいだろう。

キャッシュレス生活とクレジットカード

■キャッシュレス生活はお得

 

ポイ活をかねてキャッシュレス生活を2年くらい続けてる。メインカードはAmazon ゴールドカードで、毎月20万円くらいは使うので、月々数千円のAmazonポイントが貯まる。ワンデーのコンタクトレンズを定期的にAmazonで買ってるので、それをポイントでまかなってる。

 

■キャッシュレス生活は与信をあげる

 

さてそのAmazonカード、初年度与信額120万だったけど、1年で一般的なゴールドカードの最高額の300万円まであがった。普通に生活してるだけで、クレヒスが積み上げられ、信用があがったということになる。これは予期してなかった。いまのところ特にメリットないけど、何かあったときのヘルプにはなるだろうと思う

 

■クレジットカードのランクアップ

さて、与信額マックスまでいくと、「もうワンランクアップもいけるのでは?」という欲もでてくる。ただ、ランク高めのクレジットカードは年会費も高いし、付帯サービスも海外旅行に関係するようなものばかりで、いまどきメリットが薄い。当分Amazonカードでいいや〜、と思っていた。

 

しかし、最近知ったのだけど、三井住友カードのプラチナカードが、年会費52500円だけど、年間100万以上使うと60000円の商品券が貰えるらしい。普通に考えたら高額だけど、キャッシュレス生活なら余裕で使う金額だ。つまり、キャッシュレス生活を続けていれば、プラチナカードを利用したとしても実質黒字になるらしい。

 

懸念点はいくつかある。ポイント還元がAmazonポイントでなく、Vポイントという独自のポイントになるので、実際の還元率がどうなるのかわからない部分が残る不透明。あと既存のAmazonゴールドカードをどうするのか、という問題もでてくる。Amazonゴールドカードにはプライム会員権がついてくるので、解約するとそれを諦めるか、個別で払うかする必要がある。このあたりも踏まえて今後吟味をしていきたい。

オートミール

 

水80g

セブンイレブンの袋ソーセージ 3本乱切り

玉ねぎみじん切りたくさん

小茄子乱切り

コンソメ 小さじ1くらい

魅惑のハリッサ 7cmくらい

オートミール 大さじ3

 

諸々同時に加熱して、最後にオートミール投入。スープがほとんどオートミールに吸われ、簡易ラタトゥイユオートミールまぶしみたいになった。旨い。ビール(ノンアル)にあった。