まわ

勉強したことや遊びのこと

音楽日誌:ヴァイオリンの発表会反省会 2018年7月22日

f:id:k_mawa:20180814190159j:plain

メモ

来年から発表会でれる回数が減る可能性があるので、今年は、2回目でございます。カッチーニのアヴァ・マリア。短調が好きなので、これを先生にご教示いただきました。会場は府中の府中芸術の森です。大きな会場でちょっと緊張^^;

動画

こんな感じです。前回と同じく、僕(1stヴァイオリン)がミスしていますが、ご愛嬌で・・・^^; (他の演奏は先生、プロの方、ベテランの方です。)

反省

まず、今回の目標は、ハイポジ再挑戦。ということで6ポジでサビを引く部分がハイライトですかね。あとはヴィヴラートを習う前に音程をちゃんとしようということで・・・これはおじさんになってから始めたので、なかなか音程どのくらいつくのか不安すぎる毎日ですが、前より良くなっているらしいです。でも本番は音程はずしました・・・ リハは音程お褒めいただきありがたいです・・・ あとは全弓で大きく音を出すというところも頑張ったかな〜 あとベストが見つからなかったのでシャツだけなんかピカピカしちゃってるのでベストを探さないとです・・・引越し後に見失ったのです・・・

決済APIならStripeがおすすめです。概要メモ。

Stripeの紹介と概要メモ

メモ

仕事でStripeをよく使いますが、便利なので紹介記事を書きます。情報量が多いので段々更新していきますので、最初ちょっとメモの走り書きみたいな部分も多いと思います、すみませんm( )m

概要

  • 普及している決済API(らしい)

  • APIが比較的わかりやすい(という印象)なので実装負担が少ない。

  • Djangoでも使えるのでPythonユーザーにはプラス(Django1.9、Django2.0で動作確認済。PHPでもRubyでもOKで、かなりカバー範囲広い。)

  • 決済会社がなくなるケースもあるが、Stripeは世界的に大きい会社みたいなので、API消滅リスク相対的に低め。(例WebPayは日本だけで展開してたが、サービス終了してしまった。ドキュメントが日本語でいいなと思って使おうかとした矢先のニュースでビビった。自分は使ってないけど、別の決済APIをつかうコード変更は想像しただけですごくすごーく面倒・・・)

  • ドキュメントが英語しかない(2018年8月8日現在。)ので日本語ドキュメントがほしい場合はGoogle翻訳などを活用する必要あり

基本的な仕組み

  • 基本的な仕組みは都度決済、定期購読、カード情報の変更など色々な処理を実装するのに、常に2つに分けられる。シンプルだと思う。①checkout.js(stripe.js)をフロントエンドのHTMLに設置(HTMLの<form>。サーバーサイドのコードにカード情報を秘密のトークンにして送信できる。これにより生の情報は常にstripe側が保管し、開発者はカード情報漏洩リスクを取らなくてよくなるという優れもの) ②サーバーサイドにトークンを送って、そのトークンを元にカード所有者別にStripeのAPIで決済処理ができる。

最低限おさえるべきオブジェクト

  • できるオブジェクト①顧客オブジェクト(親)-紐付き-②カードオブジェクト(子) ③商品オブジェクト(親。単発取引なら③でおわり)-紐付き-④プランオブジェクト(子。定期購読の場合。定期購読商品の内容)

顧客オブジェクト生成時の基本事項

  • 顧客オブジェクト(親)-カードオブジェクト(子)(一番最初の登録時には顧客オブジェクトとカードオブジェクトは同時に生成される(Checkout.jsから生成されるトークンにより。)。

定額課金の場合のAPIの仕組み

  • 定期購読オブジェクト <= 顧客オブジェクト(親)と商品オブジェクト(親)-プランオブジェクト(子)を引数に生成

雑記

  • Maker's Fair Tokyo 2018に行った。2017は行けなかったので、ちょうど都心にいたのでブラブラしに行った。ドローンレースとか見た。エンジニアたくさん見ると刺激になる。スポンサーブースでASUSもラズパイみたいの出してるんだなーって知った。ラズパイと違ってCPUにヒートシンクがついてた、よく考えたらラズパイってヒートシンクがデフォルトだとないんだな笑 ASUSのモジュールのOSはDebianだとスタッフのかたに聞いた。

面白かったアニメ:『地獄少女』

地獄少女

地獄少女

10年くらい前、ケーブルテレビでアニマックスを見まくっていた。独立したてくらいの頃で、仕事が少ないので空き時間が多く、当時けっこうやる気があったので、英語の勉強をしようと思い、CNNとかBBCとか見れるケーブルテレビを契約したのだが、実際は、おまけでついてきたアニマックスばかりをみていたのだ・・・CNNとかすぐ見なくなり・・・アカン!でも面白かった。

地獄少女はその中でも最高に面白くて楽しみにしているアニメだった。決めセリフもたくさんあり、藤子不二雄Aの『笑ゥせぇるすまん』のブラック路線と勧善懲悪の水戸黄門のいいとこどりな感じが好きだった。

地獄王子との対決が一番笑ったなァ。あいちゃん強すぎて笑

あとテーマソングがすごく好みで美しかったのも素晴らしかった。

このあたり。あとオープニング、もすごくよかった。

曲の記憶からするとシーズン3までは見てたっぽいな。 今はAmazonプライムで見れるみたいですね^^ https://www.amazon.co.jp/gp/video/detail/B07145RWMTwww.amazon.co.jp

Celery複数タスクをスケジュールする方法

コメント

Django+Celeryで非同期処理でスケジューラー登録しているタスクは現在ひとつですが、この度複数にする必要があり、複数タスクをスケジュールに組み込む方法を探しました。

参考資料

公式ドキュメントに例そのままは見つけられなかったのですが、StackOverflowにはありました。これを試します

stackoverflow.com

これで無事動きました!

#settings.py

from datetime import timedelta

CELERYBEAT_SCHEDULE = {
    'add-every-300-seconds': {
        'task': '<app名>.tasks.test_def',
        'schedule': timedelta(seconds=300),
        'args': (16, 16)
    },
    'add-every-60-seconds': {
        'task': '<app名>.tasks.test_def_two',
        'schedule': crontab(minute='*/1'), #1分毎に実行
        'args': (16, 16)
    },
    'abc': {
        'task': '<app名>.tasks.test_def_three',
        'schedule': crontab(minute='10', hour='0', day_of_month='1'), #月初の0時10分に実行
        'args': (16, 16)
    },
    'defgh': {
        'task': '<app名>.tasks.test_def_three',
        'schedule': crontab(minute='10', hour='0', day_of_month='1-30'), #毎月1〜30日までの期間は毎日0時10分に実行
        'args': (16, 16)
    },
}

CELERY_TIMEZONE = 'Asia/Tokyo'

Unity2017.2.1f1からUnity2018.2.0f2にバージョンアップしたときにC#スクリプトビルドでエラーCS2001が出たときの解決したメモ

経緯

Unity2017.2.1f1からUnity2018.2.0f2にバージョンアップ

何気なくC#スクリプトオブジェクトをつくり、空のままちゃんとアタッチできるかビルドしてみた。 f:id:k_mawa:20180731003747j:plain

こんなエラーがでた!ウゲェェ・・・・
エラー対応つらそう・・・ゲーム開発させてよ・・・

エラー CS2001 ソース ファイル 'C:\Users(path)\Documents(projpath)\Packages\com.unity.textmeshpro\Scripts\Runtime\FastAction.cs' が見つかりませんでした。

この記事がヒントになり、 stackoverflow.com

80いいねついているところ、おそらく多いエラーだと思うのですが、意外と日本語資料やブログは見つかりませんでした・・・日本だとハマってる人少ないのかしら・・・

これによると、なんかパスがUnity2018で参照がおかしいみたいな。うーん、でもまだ解決まで遠そう。とりあえず、パスを見てみるとTextMeshProが関わっているようです。でこの記事を発見

https://forum.unity.com/threads/textmesh-pro-unity-2018-1.511748/

とりあえず英語量多すぎ!なのでGoogle翻訳でサクサク解読です。TextMeshProのアセットインポートの仕方が書いてる。とりあえず落としてみる。 f:id:k_mawa:20180731003812j:plain

ここです↓ f:id:k_mawa:20180731003822j:plain

で、先程のエラーメッセージのパスをWinのエクスプローラーでチェックするとフォルダはあるけど空!これっぽいなー・・・参照できないもんね〜 f:id:k_mawa:20180731003830j:plain

で、さっきインポートしたアセットをUnityEditor上で見ると、インポートできなかったcsファイルがいっぱいある。うーん違う場所にダウンロードされてるんだろうな、これを規定の場所にもコピーしたらいいのでは??という仮説。 f:id:k_mawa:20180731003838j:plain

と、いうわけでアセットがある場所もWinエクスプローラーで開いて、さっきの空だった場所にコピペでcsファイルたちを充填してみる・・・そしてビルド・・・ f:id:k_mawa:20180731003847j:plain

あ!通った!やっぱそうか。 f:id:k_mawa:20180731003854j:plain

というわけで、ちょっと踏み外すと軽く1週間溶けちゃいそうな怖いエラーでした・・・解決できてよかった・・・

開発日誌::Unity::2Dスクロールゲームで便利なタイルマップを使う方法

参考用

基本的に下記の記事で理解できると思います。参考記事を元に、自分用にメモ。

baba-s.hatenablog.com

blogs.unity3d.com

ただ、自分は今回Unity2018.2.0f2で実施してます。

自分の履歴

Assetをインポートしてくる。 画像がまとめられたファイルをタイルマップ用にセットする。 f:id:k_mawa:20180731003605j:plain

SpliteEditorを開いて、スライスボタンを押すと、 f:id:k_mawa:20180731003619j:plain

画像ごとにバラバラになってタイルとして扱える模様。こんな感じ↓ f:id:k_mawa:20180731003634j:plain

タイルパレットを作成、読み込みたい画像をD&Dする f:id:k_mawa:20180731003627j:plain

※詳細は上記参考リンクがさらに詳しいです!

あとはどんどんペンで書くようにオブジェクトが追加されていく・・・便利!Unity最高!

マス目とブロック、タイルのサイズ合わせは下記の部分の数値調整でいけます。 f:id:k_mawa:20180731003654j:plain