/// BANGBOO BLOG ///

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

June 21, 2024

BT
あそびはここで終わりにしようぜ~

Big Table
Cloud Bigtableを触ってみよう - Uzabase for Engineers
でっかいテーブル、読み書き低レイテンシー、RDBは負荷高いときにレプ数位でスケールが難しいがBTはするので正規化せずに単一テーブルにしておく感じ
row keyが主役
データを追加するのに3パターンある(行追加、列追加、セル追加)
 行に複数カラムファミリーにカラムが幾つか入れられるのでKVSだが結局Where句みたいに使う?
  行キー「企業ID#日付」,COLUMN FAMILY「STOCK PRICE」,COLUMN「HI PRICE」「LO PRICE」に対してJSONデータを入れておく等 
  時間はバージョン管理として持っている
 複雑な条件は無理でデータを事前整理して入れておき、JSONカラムを使ったりで一行にまとめスキャンを一発で済ます等で高スループットのみ
  Google検索のようにキーワードを入れると、検索結果が数多く一瞬で返る等
  複雑な条件はDataprocを使うらしい

Big table構成
Bigtableを徹底解説! - G-gen Tech Blog
インスタンスの中に一つ以上のクラスタ(ゾーン別に設定しレプリケーション)> 各クラスタには1つ以上の同数のノード 
 クラスタに table > 複数Column family > 複数Column > セル
bigtable_app_profilesで転送クラスタ先の設定する(単一行トランザクション設定を含む)
 -マルチクラスタ(自動フェイルオーバ、単一行transaction不可でレプリケーションによる不整合あり) 
 -シングルクラスタ(手動フェイルオーバ、一行transaction) 
デフォルトをマルチにして、通常のクラスタ転送をシングル、問題があるときだけアプリで判定しマルチに行く
Bigtableで複数クラスタ構成におけるデータ整合性の保証 - Carpe Diem (hatenablog.com)

スキーマ:
 テーブル
 行キー(row key)
 カラムファミリー(カページコレクションポリシーを含む)
 カラム
更新したデータはタイムスタンプによりセル内で保存される
 解消するにはガベージコレクション
  期限切れ値、バージョン数で設定する

仕様:
KVS、行指向の行単位でスキャン
各テーブルのインデックス (行キー)は1つのみで一意である必要がある
行は、行キーの辞書順に並べ替えられます。
列は、列ファミリー別にグループ化され、列ファミリー内で辞書順に並べ替えられます
列ファミリーは特定の順序では保存されません
集計列ファミリーには集計セルが含まれます
行レベルでアトミック (複数行だと知らんという意)
 アトミック性:トランザクション整合性がある(一部の操作だけ実行した状態とならずに)
特定の行にread/writeが集中するより分散が良い
Bigtable のテーブルはスバース、空白行での消費はない

cbt CLI の概要  |  Bigtable Documentation  |  Google Cloud
cbt リファレンス  |  Bigtable Documentation  |  Google Cloud
gcloud components update
gcloud components install cbt
(-/cbtrcに以下記載すれば-projectと-instance はデフォルト値で省略できる)
cd ~
echo project unco > ~/.cbtrc
echo instance = chinco >> ~/.cbtrc
cbt -project unco listinstances
cbt -instance chinco listclusters
cbt -project unco -instance chinco ls | grep kuso-t
 テーブル名取得
cht -project unco -instance chinco ls kuso-table
 カラムファミリやポリシー等取得
cbt -project unco -instance chinco deletefamily kuso-table shikko-family
cbt -project unco -instance chinco deletetable kuso-table
 テーブルを消せばカラムファミリも削除になる

Posted by funa : 11:00 PM | Web | Comment (0) | Trackback (0)


June 19, 2024

スト6

///ストリートファイター6

隠しシステムを覚えないといけないが膨大にある感じ、練習をして数Fの誤差で手癖を付けないと、、、
モダンタイプという簡易操作法がある:クラシックタイプよりも出せる技が少ない、必殺技が強SAに限定され中SA・弱SAが出せない、ダメージが80%に減少してしまうといったデメリット→純正コントローラの時はモダン?、ホリファイティングコマンダーOCTA買ってクラシックだな

【モダン】
通常攻撃は弱□・中×・強〇
投げ □+×(あるいはL2)
ダウン時にボタン2つで後方受け身

必殺技は必殺技ボタン△
スーパーアーツは強〇+必殺技ボタン△(オーバードライブ:EX技)
アシストボタンR2を押しながら弱/中/強の連打でコンボ技のアシストコンボ

ドライブインパクト L1(相手の攻撃を受けつつもカウンター:セビアタ)
 ドライブリハーサル ガード(あるいはR1) > L1+→(防御中の硬直をキャンセルして反撃)

ドライブパリィ R1(防御しドライブゲージを回復:ブロッキング)
 パリティドライブラッシュ(ドライブパリティの構えからキャンセルしてダッシュ)
  R1>→→ 1ゲージ消費
  →>→+R1 の方がやり易い
キャンセルドライブラッシュ (any+→:同時押し)(R1+→:同時押し)(技当ててダッシュ:ガードキャンセル)
 攻撃のままR1オシッパにして前前
 攻撃キャンセルなので3ゲージ消費

※ドライブラッシュの利点
 有利フレームが伸び、小パンから投げができたり連携が凄い

【クラシック】
投げ 弱P+弱K
ドライブインパクト 強P+強K
ドライブパリィ 中P+中K
パリティドライブラッシュ 中P+中K+→→、→>→+中P+中K
 起き上がりや硬直開けは前者、中2つ押しながら横を連打しとく
 通常は後者がいい、PKが遅くなってパリティが出やすい、→+中P+中Kは出るまで押しっぱ?違う
キャンセルドライブラッシュ キャンセル可能技>(N or →)+中P+中K
 ↙中Kキャンセル>N+中P+中Kがいい(人差し指の第一関節で中K>腹で中P)

スト6対戦のセオリー - ストリートファイター6初心者wiki | スト6初心者wiki - atwiki(アットウィキ)
【ストリートファイター6】マスターになるための”必須テクニック” 10選 (youtube.com)
有利フレームがあれば 打撃か投げ の2択ができる
遅らせグラップ
 打撃防御と投げ抜けの両方の防御ができる ←>弱P+弱K
  起き上がりにガードをしながら、少し待ってから投げを入力
シミ―
 有利フレームで投げ間合いから後ろ歩き、遅らせグラップの投げ空振りを誘う
  投げ空振りだとパニッシュカウンターとなり高火力コンボに行ける
有利フレームの選択肢
 攻撃側:投げか打撃かシミ―、起き攻めは投げが強いが遅らせグラップが来る>その場合垂直ジャンプ
 防御側:遅らせグラップか防御かOD無敵技、他はパリティ/バクステ/バックジャンプ
画面端
 攻撃側:ドライブインパクト強い、コンボ繋がる、投げ2回
 防御側:バクステ反撃、ジャストパリィ後ろ投げ
ファジー
 防御しながら相手の攻撃のタイミングで攻撃ボタン、小P入れとく?
  発生の早い攻撃には防御、遅い技には割り込み攻撃ができる
安全飛び
 ダウンした相手にガード入力をしながらジャンプ攻撃
  発生5F以上の対空無敵技に着地後にガードが間に合う
   対空しない相手には着地後に下段技からつなげる、あるいは着地後に投げ
仕込み
 通常技+必殺技を仕込んで入力しておくと、当たった時だけ必殺技が繋がる
  必殺技は早めに入力、遅いと普通に必殺技がでてしまう
ラッシュ仕込み
 中か強>→パリィ/Nパリィの入力しておくと、当たった時だけキャンセルラッシュになる、中距離で仕込んでおく
  逆に弱>→パリィ/Nパリィなら当たらずともキャンセルラッシュになる

インパクト返し
 26F=0.43s内。音を聞きドライブインパクトで返す、他には投げる/パリィ/無敵技/3発当てる/アーマブレイク属性
 強を振り回すとDI返せない、DI返せる技振りをしておく
連続ガード
 有利Fが続き相手が黄色マスで続くヤツ
  ドライブリバーサルだけやり返せる
ヒット確認
 キャラを見るより体力ゲージが減るかで確認できる
  キャンセルラッシュでヒットしなければ弱で防御に回る等の
安全弾
 弱波動拳+対空は距離があれば安全
  防御側はジャストパリィで有利F伸びる+ジャンプ攻撃で対応できる
ドライブリバーサル複合入力
 ↗中P+強P+強Kでガード時はドライブリバーサル、相手空振りならOD技??
パリィでSA入力
 ゲージがあればSAだが、なければパリィ??
省略入力
 ↘↓↘Pでも昇竜拳が出る、しゃがみながら昇竜なので対空有利
バーンアウト
 ゲージが空、パリティできない、ガード硬直+4Fで反撃ムズイ、必殺技で体力削られる、壁やられでスタン
  回復:20s位、ガード/前歩きで早まる、ジャンプで遅くなる
アピール
 全6PKボタン(+N、前、後、キャラにより下)??
  OPTIONボタンメニュー➡︎OPTION➡︎CONTROL➡︎設定変更>LS/RS/タッチバッドが割り当て
トレーニング
 赤は通常技キャンセル可能、青は必殺技をキャンセルしSAに行ける

Ken
ケン コマンドリスト|STREET FIGHTER 6(ストリートファイター6)|CAPCOM
ストリートファイター6 今さら聞けないケンの実用性の高いコンボ(中~上級編)|SUGAKNEE/すがにぃ (note.com)
【スト6】勝てるようになる『ケンの使い方』を解説!初心者におすすめの強い技や立ち回り、コンボ、起き攻めを紹介します!【STREET FIGHTER 6】【ストリートファイター6】 (youtube.com)
【5分下さい】ケンで“実戦向け”コンボを9個に絞って紹介します【スト6】 (youtube.com)
【スト6】ケン 最強コンボ集【プロ解説付き】 (youtube.com)
スト6 ケン とりあえずこれを覚えれば戦えるコンボ - YouTube

Octaポジション:人差し指で中K、中指で大P
 人差し指範囲:中ボタン2つのパリティ、弱ボタン2つの投げ、弱中
 中指範囲:強ボタン2つのドライブインパクト、強
パンパンいわせて強めで叩く(キッチリ2つ押せる、フレーム間隔の手癖化)

顎撥二連 中P>強P
SA(レバー2回)
 龍尾烈脚 ↖↖K
 疾風迅雷脚 ↗↗K
 神龍烈破 ZZP
龍尾脚 ZK
迅雷脚 ↓↘→K
 風鎌蹴り 中迅雷>派生弱K あばれ潰し
 轟雷落とし 中迅雷>派生中K 中段
奮迅脚 KK
 奮迅昇竜 KK>派生ZP
 奮迅竜巻 KK>派生↖K
 奮迅竜尾 KK>派生ZK(入れ替え)
OD(ボタン2つ)
 OD波動拳 ↗PP
 OD竜巻旋風脚 ↖KK
 OD昇龍拳 ZPP
 OD龍尾脚 ZKK
 OD迅雷脚 ↗KK >派生K >→K

しゃがみ弱P>(中P>強P)顎撥2連>(間KK>↖K)奮迅竜巻/昇竜
しゃがみ弱P>顎撥2連>奮迅竜尾>昇竜/SA/OD竜巻
しゃがみ中K>中迅雷>弱K派生>神龍烈破
DIC>ダッシュしゃがみ強P>奮迅竜巻>OD竜尾脚>強昇竜
顎撥2連>中迅雷>強K派生>強昇竜

何か技がヒット>顎撥二連>奮迅竜巻
 ラッシュ>中足 →>→+中P+中K>↓中K
 中足ラッシュ>弱P>顎撥二連>奮迅竜巻
  ↓中K>→中P+中K>弱P>中P>強P>↓↘→↓↘→K↓中P>弱竜巻>中昇竜(竜巻から昇竜)
パニッシュカウンター強K>ラッシュ
強P>キャンセルラッシュ


対空は弱昇竜(読みで事前にレバーは入れて置き、来たらPでもOK)
後ろ前歩きでチョロチョロ間合い取り>読み合い(置き/差し/差し返し):長距離強K/強P/中↓K/弱
 リーチが長い技は遅い強、早い技は弱
  しゃがみ防御から迅雷脚は入れやすいし、長距離+派生で使える
重ね弱P>弱K>しゃがみ弱P>昇竜(重ね弱Px2>昇竜でいい)

Ryu
中下:足払い と 強前:まわしげり のリーチ長いやつ
中前:中段鎖骨割り2発(立ちガードが必要なので良き技となる)
強後:かかとおとし2発

スト6リュウ体験版モダンコンボとか雑感まとめ|アズサキチャンネル【東和正/戸崎時貞】 (note.com)
【スト6体験版】モダン リュウ コンボまとめ in Demoバージョン【Modern Ryu】 - YouTube
【スト6(OBT)】必要十分!リュウ実用コンボ(モダンTYPE)【RYU basic combo】 - YouTube
【スト6】知らないと損!意外と知らないスト6豆知識集!【テクニック】 - YouTube
【初心者向け】全キャラの強技や強連携の対策教えます!【スト6】 - YouTube

Posted by funa : 12:36 AM | Column | Comment (0) | Trackback (0)


May 9, 2024

Pubsub
■pubsub
Publisher app → |GCPの壁| Topic(Schema) → Subscription 1や2 |GCPの壁| → Subscriber app
 サブスクライバーappにPull/PushさせるPull/Pushのサブスクリプションをトピックに紐づける設定をしておく

【図解付き】Cloud Pub/Subに概要や使い方についてわかりやすく解説 - KIYONO Engineer Blog (kiyono-co.jp)
Pub/Sub サービスの概要  |  Pub/Sub ドキュメント  |  Google Cloud
GCPのCloud PubSubで考慮すること - Carpe Diem (hatenablog.com)
Pub/Sub の割り当てと上限  |  Pub/Sub ドキュメント  |  Google Cloud
アプリで簡単にPubsubにパブリッシュや、サブスクもできるので、アプリ間の連携にPubsubが使える
 • 非同期処理(画像処理とか重めのもの
 • IDの種類 (message id, subscription id, topic id, ack id, project idあたりがアプリでは使われるっぽい
  ※ack idはpull時のみでPushのときはhttpステータスコードが200でackとなる
GCP - Pub/Sub サービス概要 #GoogleCloud - Qiita
Pub/Sub メッセージの作成とレスポンス  |  Python 用 App Engine フレキシブル環境に関するドキュメント  |  Google Cloud
トピック(メッセージのパブリッシュ先)
 • スキーマ/外部アクセス許可/リテンション/GCS/バックアップの設定がある (Push/Pullの設定はない)
 • パブリッシュ側のベストプラクティス (JWT) 
  Pub/Sub トピックにパブリッシュするためのベスト プラクティス  |  Pub/Sub ドキュメント  |  Google Cloud
サブスクライバのPushとPull (PushはEndpointが必要、デフォルトはpull)
 GCP - Pub/Sub サービス概要 #GoogleCloud - Qiita
 • at-least-once (少なくとも1回) 配信を提供します
 • 同じ順序指定キーを持ち、同じリージョンに存在している場合は、メッセージの順序指定を有効にできます
 • サブスクライバーが31日間未使用、またはサブスクリプションが未更新の場合、サブスクリプションは期限切れ
 • メッセージ数が多いとpull向き サブスクリプション タイプを選択する  |  Pub/Sub ドキュメント  |  Google Cloud
pushはhttpsが必要?
 push サブスクリプションを作成する  |  Pub/Sub ドキュメント  |  Google Cloud
 • push エンドポイントのサーバーには、認証局が署名した有効な SSL証明書が必要でhttps
 • Cloud run でEvent Arcを設定するとサブスクが自動作成されrunのデフォルトhttpsのURLが使われるが、これはPullよりPushで安定した
 • CronバッチならPullで安定するのでは?大量リクエストはPull向きとある(Pullは失敗処理込みの話かも知れん)
トピックのリテンション:デフォルトなし、最小値:10分、最大値:31日
サブスクのリテンション:デフォルト値:7日、最小值:10分、最大値:7日
 サブスクリプション プロパティ  |  Pub/Sub ドキュメント  |  Google Cloud
pubsub ack期限(Ack Deadline)
 •デフォルト60秒> 設定10分>ack延長で最大1時間まで伸ばせると思われる
 リース管理で確認時間を延長する  |  Pub/Sub ドキュメント  |  Google Cloud
 •exactly onceを設定しなければ期限の延長は保証されない
 •ack期限を過ぎる、あるいはNackを返す場合、メッセージは再配送される
 •ack応答期限の延長は99パーセンタイル(上位1%の値よりも小さい値のうち最大の値)で
 modifyAckDeadlineを返し、延長してもMaxExtension (ack期限を延長 する最大値) 60minまで?
  modifyAckDeadlineリクエストを定期的に発行すればよいらしい
メッセージの再試行を強制するには
 •nack リクエストを送信
 •高レベルのクライアント ライブラリを使用していない場合は、ackDeadlineSeconds を0に設定して modifyAckDeadline リクエストを送信する
exactly once
1 回限りの配信  |  Pub/Sub ドキュメント  |  Google Cloud
 •pullなら設定できる。他には、Cloud Dataflowを組み合わせる(プログラムコードでDataflowを使う感じかり、あるいはmessageについているunique idを利用して、KVS を用いたステート管理をして自前で重複を排除する
 •再配信は、メッセージに対してクライアントによる否定確認応答が行われた場合、または確認応答期限が切れる前にクライアントが確認応答期限を延長しな かった場合のいずれかか原因で発生することがある。
  ※exactly onceはエラーでも再配信でPubsubパニックしないようにしたいために使うものではない?
pubsubはトピックにPublishされたメッセージをDataflowに引き継げる
 •Apache Beamのウィンドウ処理とセッション分析とコネクタのエコシスエムがある
 •メッセージ重複の削除ができる
 •pubsub>dataflow>BQやGCS: この流れでログ等をストーリミングで入れ込める
BQサブスクリプション (PubSubはBigQuery Storage Write API を使用してデータを BigQueryテーブルに送信、GCSサブスクもある)
 Langganan BigQuery  |  Dokumentasi Pub/Sub  |  Google Cloud
 BigQuery サブスクリプションの作成  |  Pub/Sub ドキュメント  |  Google Cloud
サブスクライバーApp側のコードでのフロー制御によりちょっと待てよのトラフィック急増対応
 フロー制御を使用して一時的な急増を処理する  |  Pub/Sub ドキュメント  |  Google Cloud
デッドレタートピック (配信試行回数が見れる)やエラーでの再配信
 メッセージ エラーの処理  |  Pub/Sub ドキュメント  |  Google Cloud
  • Pub/Subサブスクリプションにデッドレタートピックを設定しておくと、一定の回数再送信が失敗したメッセージの宛先がデッドレタートピックに変更され貯められる
メッセージのフィルタ、同時実行制御により多いメッセージに対応
 サブスクリプションからのメッセージをフィルタする  |  Pub/Sub ドキュメント  |  Google Cloud
Pubsubをローカルでエミュレートする
 エミュレータを使用したローカルでのアプリのテスト  |  Pub/Sub ドキュメント  |  Google Cloud
pubsubのスナップショットやリテンション
クイックスタート: スナップショットまたはタイムスタンプまでシークして Pub/Sub でメッセージを再生する  |  Pub/Sub ドキュメント  |  Google Cloud
トピックにリテンションを設定しスナップショット作成> 過去のサブスクしたメッセは見えなさそう
サブスクにリテンションを設定しスナップショット作成> 過去のAckしたメッセは見えなさそう
スナップショットでどう使うのか?
 cloud pubsubで配信済みのメッセージを再送する #PubSub - Qiita
 キューがたまっているときに撮るものと思われる。またシーク時間のポイントを設定する意味がある
 スナップショットとシークを使いこなして特定期間の再実行を行う機能
  スナップショットで再実行する
  シークは指定時間か最後のスナップショット以降のサブスク再実行(実際pushでrunが再実行された)
Pubsubにどんなメッセージが入ってきているか確認する方法
 pull形式ならAckしなければpullボタンで拾い見れる (トピックでパブリッシュしてサブスクでPull し見る)
 トラブルシュートはログを見るかデッドレタートピックかGCSバックアップを見る?
デッドレターキュー(ドロップしたものの確認と救済?)
 サブスクでDLQのONしデッドレタートピックを設定し転送する>GCSにもバックアップできる
 DLTでメッセージ(実行済みOR未実行)の再生
データ形式:スキーマを使うか、スキーマなしならdataで取得できる
 トピックのスキーマを作成する  |  Pub/Sub ドキュメント  |  Google Cloud
 Cloud Pub/Subの概要とPythonでの実践 - case-kの備忘録
from google cloud import pubsub_v1
from avro.io import DatumReader, BinaryDecoder
from avro schema import Parse
project_id="your-project-id"
subscription id="your-subscription-id"
subscriber pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path(project_id, subscription_id)
avro_schema = Parse("""
{
"type": "record",
"name": "Avro".
"fields": [
{
"name": "ProductName",
"type": "string",
"default":""
},
{
"name": "SKU",
"type": "int",
"default": 0
}
}
def callback(message):
print(f"Received message: {message}")
reader = DatumReader(avro_schema)
decoder = Binary Decoder (message.data)
avro_record = reader.read(decoder)
message_id=message.message id
message.ack()
print("Message ID: (message_id}")
product_name = avro_record['ProductName']
sku= avro_record['SKU']
print("Product Name: (product_name}")
print("SKU: (sku}")
subscriber.subscribe(subscription_path, callback=callback)

def callback(message):
print("Received message: (message)")
data message data
message_id=message.message_id
message.ack()
print("Date (data)")
print("Message ID: (message_id)")

Pub/SubでStreamingPull APIを使用してメッセージをリアルタイムで処理する - G-gen Tech Blog
StreamingPull API を使用するとアプリとの間で永続的な双方向接続が維持され、Pub/Sub でメッセージが利用可能になるとすぐに pullされる。1 つの pull リクエストで 1 つの pull レスポンスが返る通常の 単項 Pull と比較すると、高スループット・低レイテンシ。必要なメッセージを残す処理をしたりも?GCP側の問題であっても通信が切れた場合は別サーバに繋ぎなおすためmodifyAckDeadlineも切れ再配信されるバグがある

/// BANGBOO BLOG /// - GCP runs off functions pubsub on scheduler

Posted by funa : 12:00 AM | Web | Comment (0) | Trackback (0)


April 27, 2024

HELM
Helm Templateについて色々説明してみる #kubernetes - Qiita
Highway to Helm (zenn.dev)
Helmの概要とChart(チャート)の作り方 #Docker - Qiita
Helm | 一般的な慣習

helmはコマンド一発だが生k8sはマニフェストファイルの数だけkubectl apply(delete)を繰り返す必要がある
 helm upgrade chart名 -f 環境毎yamlファイル
 文法覚えるより繰り返した方がええんじゃない
helmはテンプレートフォルダ以下がマニフェスのようなもの
 ループ処理が記述可、関数が使える、関数を作れる

helmは基本はテキストの整形用と言える(ヘルパー関数やビルトイン関数を使い外部ファイルを取り込んで変形したり、変数yamlを環境yamlで上書きし外部の値を使う等で沢山のGKEアセットをループ的に生成しようとしている)

helm create <チャート名>
templates/ マニフェスト (テンプレート)
env/ 自分で作成するが環境毎に異なる値の入る変数を記述
┣dev.yaml
┣prd.yaml
values.yaml 繰り返す値等 (dev/prd.yamlが優先され上書きされる) 
helm upgrade-install <release名> <Helmチャートの圧縮ファイル名>

●●helmテンプレートの文法 (.ファイル名.親.子で表す、.はルートオブジェクト、Valuesはvaluesオブジェクト、$変数:=値、ymlインデントはスペース2つ)
●templates/deployment.yaml
{{ $env := Values.environment }}
{{ $serviceAccountName := Values.serviceAccountName }}
image: {{ .Values.deployment.image }}:{{.Values deployment.imageTag }} //nginx:latest
serviceAccountName: {{ $serviceAccountName }}-{{ $env }} //sample-sa-dev
●values.yaml
deployment:
  image: nginx
  imageTag: latest
serviceAccountName: sample-sa
●env/dev.yaml
environment: dev
※values.yaml よりdev/prd.yamlが優先され上書きされ.Valueで使う

●●helmテンプレートのループ (range~end)
●templates/es.yaml
spec:
  nodeSets:
  ((- range .Values.es.nodeSets }}
  name: {{ .name }}
  config:
    node.attr.zone: {{ .zone }}
  {{- end }}
●values yami
es:
  nodeSets:
  - name: node-a
    zone: asia-northeast1-a
  - name, node-b
    zone: asia-northeast1-b

●●helmテンプレートのIF (if-end)
●templates/ingress.yaml
((- if .Values.ingress.enabled -))
apiVension: networking k8s.io/v1
kind: Ingress
{(- end }}
●env/prd.yaml
ingress:
  enabled: true
●env/dev.yaml
ingress:
  enabled: false

●●helmテンプレートの複数値 (toYaml、nindentは関数)
●templates/ingress.yaml
metadata:
  annotations:
    {{- toYaml .Values.ingress.annotations | nindent 4 }}
●values.yaml
ingress:
  annotations:
    kubernetes.io/ingress.global-static-ip-name: sample-ip-name
    kubernetes.io/ingress.class: "gce-internal"

●●その他
中括弧内側の前後にダッシュ {{--}} をつけることができ、前に付けた場合は前の半角スペースを、 後ろにつけた場合は改行コードを取り除く
hoge:
  {{- $piyo := "aaa" -}}
  "fuga"
/* */で囲まれた部分はコメント構文
{{-/* a comment */ -}}
.Releaseでリリースの情報を使用できる
{{ .ReleaseName }}とか{{ .ReleaseNamespace }}

●●_helpers.tpl
Helmの_helpers.tplを使える人になりたい #kubernetes - Qiita
helm create [チャート名]で自動でtemplates ディレクトリに_helpers.tplが作成されるが、 partialsやhelpersと呼ばれる共通のコードブロック (defineアクションで定義されtemplateアクションで呼び出される)や、ヘルパー関数などが定義される。
_アンスコ始まりのファイルは、他のテンプレートファイル内のどこからでも利用できるという共通部品。 これは内部にマニフェストがないものとみなされる。
種類としては、values.yamlが差し替え可能な変数、ローカル変数が定義したTemplateファイル内でのみ使える変数、_helpers.tplはチャート内で自由に使える変数
●templates/_helpers.tpl
{{- define "deployment" -}}
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: {{.name }}
    name: {{ .name }}-deployment
spec:
  replicas: {{ .replicas }}
  selector:
    matchLabels:
      app: {{ .name }}
  template:
    metadata:
      labels:
        app: {{.name}}
    spec:
      containers:
      - image: {{ .image }}
        name: {{ .name }}
{{- end -}}
●values.yaml
nginx:
  replicas: "1"
  name: nginx
  image: docker.io/nginx:1.25.1
httpd:
  replicas: "3"
  name: httpd
  image: docker.io/httpd:2.4.57
●deployment-nginx.yami
{{ include "deployment" .Values.nginx }}
※{{ include "deployment" 引数 }}で関数を呼ぶ

●●英語サイトだともっと情報がある
Helm | Built-in Objects
.Filesなどのビルトインオブジェクトがあったりと、、、

GKEクラスタを作成しておく
kubectlでArgo adminとシークレット作成?
brew install argocd
Argo cd設定ファイルリポジトリのclone
argocd cluster add <context name>
argocd repo add <repo url> --ssh-private-key-path ~/.ssh/id_rsa
argocd-configuration に設定を追加
argocd-insallation に設定を追加
argo cd上からinstallationをsyncする
argocd login --grpc-web --sso dev-argocd.dev.bb.com

===
ArgoはSettingsにリポジトリ、クラスター、プロジェクト、他にUserの設定
 アプリ設定でhelmのパス等を指定(Argo内部でhelm upgradeでなくkubectrl applyに変換しでやってもらえるお作法:helmコマンドのインストール不要でArgoでhelm文法が使える)

Posted by funa : 11:27 PM | Web | Comment (0) | Trackback (0)


March 29, 2024

Audio I/F



- Input2用Hi-z(ハイインピーダンス):接続相手が何であっても問題にならないほど充分にインピーダンスが高い、という意味。インピーダンスは電気抵抗であり、例えば2.2kΩ~1MΩ等で、受け手の抵抗が小さいと問題になるので、受け側を高く「ロー出しハイ受け」にしておく。エレクトリックギターやエレクトリックベースの出力は通常のマイクよりもかなりインピーダンスが高いため普通のマイク入力端子等に接続しても正常な音が出ない。LineレベルならOFF/楽器レベルならONということで、これら楽器の場合ONにしておく
- ST:Input1/2でステレオか?、Input1/2を合成してモノか?
- Loopback:PCの音をInput1/2に混ぜてUSBに返すか?(Loopbackの音をモニターするにはダイレクトモニターONにする必要がある)
- Direct monitor:Input1/2をPCに通すか?PCを通さないダイレクトモニターだと音の遅延がなくなる

オーディオインターフェイスは要らんのだが、、

==========

ダイナミックマイクの方が音が好みだが、マイクに口を近づける必要がありオンラインMTG用だと使いにくい、常用はコンデンサーマイクになろう(ダイナミックマイクのケース中にポップガードあり取り除いたが、それでも声小さい)マイク2本持ちながら在庫存在忘れるなぁ

■コード
コード進行の基本:コードの役割から自由に進行を作る! (watanabejunya.com)
コード進行まとめ(100種類以上) O-TO【音楽理論ウェブアプリ】 (khufrudamonotes.com)
和音検索 – 和音をピアノ、ギター、ウクレレを使って表す | Musicca
 音楽ツール | Musicca
ちゃうな
KANTAN Play – Play chords with just one finger! (kantan-play.com)
楽器を弾けない人でも楽器演奏を存分に楽しめるKANTAN Playが無料で公開。10万曲以上の専用楽譜も無料で入手可能 (dtmstation.com)

Posted by funa : 10:32 PM | Gadget | Comment (0) | Trackback (0)


March 9, 2024

漬物石mpc > モンキーロックジェイルブレイク
mpc live ii retro
時間無いし漬物石になるだけだがもう売ってないのが余計に欲しい、mpc1000は黒だったが(15年位前!!)、やっぱり思い入れ(30年前!!)のmpc2000とか3000とかの色の方がインテリアにいいなぁ、くそッ(ミニマムで必要十分でコレで良いんだよ、ツマミとか少ない方が覚える事がすくなくてな、PCベースでもいいと読んでたのが裏目だな->One(+)の方が質感が好みだが赤かakaiだけに!?)
/// BANGBOO BLOG /// - Net Corruption

Beatsはフリーやん
製品情報:MPC Beats:AKAI professional (akai-pro.jp)
- 三>preference
 samplerのInやMidi I/Oが設定できる
- trackの編集
 トラックmodeでどのトラックを編集するか決めてHomeで曲データ編集
 トラックにタイプがありドラム/キーボード/プラグイン/Midi/Clip/CVがあり選択できる
 ドラムにはパッド打撃やサンプルがアサインされている
 プラグインは音階のヤツがアサインされている(キーボードやMidiも鍵盤がでる)
- 音変更
 トラックにプログラム(音セット)がアサインされていてプログラム変更で一括変更する
 パッドに音をドラッグで個別変更
- chopの利用
 Q-links>Chop>Chop to>Manual/Thredshold/Regions/BPMで
 マニュアルだと:
 ExtractNewSamplesでNewProgramで新プログラムが良さそう
 パッドを順におしてアサイン
 マウスで位置調整やダブルクリックで分割数を増減し調整
 単音だと:
 Padで音を選ぶ>Extract(場所調整や長さを変えるにはコレ)
- Midiキーボード
 手持ちのキーボードがusb midiでPCに接続するだけ
- Audio I/O不要
 Samples窓にファイルをドラッグすればwav/mp3等を使える
- Sampleのピッチ/スピードの変え方は?
 1)Sampleエディット画面でPitchShiftやTimeStretch
 2)16levelなら:
 Padで音を選ぶ>16level,Type=tune,original padで基本の高さを選ぶ>16Padにアサイン
- テンポを合わす
 Sampleを流してTapを叩くとグローバルテンポがSampleに合うもので設定できる

サウンドコントロールパネル>録音>オーディオI/Fのプロパティ>聴く>このデバイスを聴く にするとオーディオI/Fで入れた音をPCのOSだけで聞ける


●旧ユーザでin Musicアカウントから登録解除されていないとverupダウンロード等が出来なくなる可能性がある(今は登録解除がなく最新シリアル登録のアカウントが有効な感じ?)、新規登録:1)in Musicでin MusicアカウントにMPC本体のシリアルを登録する
●新PCでMPCソフトウェアを使うにはiLokライセンスも別で譲渡手続きをする必要があり、iLokのアカウントネームを旧ユーザに知らせてiLokライセンスマネージャをインストールしdeactivateで譲渡手続きする(その際に25ドルの手数料が発生)、新規登録:1)MPCソフトウェアをin MusicからダウンロードしてPCにインストール(幾つかあるがどれ要る?)、2)iLokにアカウントを作成、3)MPCソフトウェアをPCで起動するとアクティベーションコードを求められるのでin Musicから拾い入力
●SPLICEアカウントにもMPCに表示されるコードを登録する、1)MPCのPreferences>Splice>LogginでQRを出して進めたような、2)Spliceにもアカウントを作ったような
●StemsをAkai登録に紐づいたEメールアカウントで購入しPluginをアクティベートする、1)Akaiのサイトで購入、2)PCと漬物石でPreferences>Active pluginsでin Musicにログインしインストール
MPCソフトウェアのライセンス認証登録方法【MPC ONE】 | TONYs log
AKAI Professional :: MPC LIVE・サポート情報 (akai-pro.jp)
MPC_Setup_Guide.pdf (akai-pro.jp)
Akai Professional | Stems Separation - インストールとアクティベーションの方法 : inMusic Support (freshdesk.com)

/// BANGBOO BLOG /// - REMIX DTM DAW - Acid
Acidとボーカル/ドラム/ベース音を分別抽出のspleeterをやってたがAkaiしか勝たん>MPC stemsでボーカル/ドラム/ベース/ミュージックの分別ができるようになる2024/03から!!>キターー!$9.99

Posted by funa : 02:48 PM | Gadget | Comment (0) | Trackback (0)


February 20, 2024

駐輪禁止
おぢへ(頂き女子から"愛を込めて"、ギバー/マッチャーへ)
【プレビュー】1ヶ月1000万頂く頂き女子りりちゃんの【みんなを稼がせるマニュアル】



Prohibition of parking bike in Kobe

■リンは腎臓に悪い
1)茹でて湯は捨てる
2)大豆などの植物性食品からたんぱく質を摂取する
(大豆の有機リンはフィチン酸で人間の腸からは吸収されない、肉や魚はリンが多い)

Posted by funa : 10:03 PM | Bike | Comment (0) | Trackback (0)


January 14, 2024

GKE
モダンか何か知らんが、豚玉かイカ玉で十分じゃ

===========
フォルダに .py と requirements.txt と .dockerignore と Dockerfile を入れてアップロードしている
gcloud builds submit --tag asia-northeast2-docker.pkg.dev/bangboo-prj/xxx/image001

helloworld@bangboo-prj.iam.gserviceaccount.com 作成
アクセス元のIPを確認するCloud run作成
 ドメインないと無理なのでLBとIAPをあきらめ生成されるURLで十分
 Cloud runでアクセス元IPを表示するヤツ
 runのallUsersのinvokerを削除したらアクセス不可になった(この方法で管理する)
curl http://ifconfig.me/ で十分だったが

GKE
k8sの内部NWは通常別途いるがGKEは速い奴が動作
GKEはクラスタ内部のDNSでサービス名で名前解決できる
サービスのIPとポートは環境変数で参照可
kubectlを使うには、gcloud container cluters get-credentials を打つ必要がある

GKE設定
-クラスタ:側の設定(IP範囲とかセキュリティとか?)
 一般/限定公開:外部IPを使うか使わないか
 コントロール プレーン承認済みネットワーク:CPにアクセスできるセキュリティ範囲
-ワークロード:マニフェストで設定

一般か限定公開か?コントロールプレーンが外部IPか?CPがグローバルアクセス可か?承認NWか?
 一般公開で承認NWが良いのでは?簡単だし、
 限定公開で使うには>CPに外部IPで承認NWでいいのでは?
  NW:default subnet:default
  外部IPでアクセス許可
  CP アドレスの範囲 192.168.1.0/28とか172.16.0.0/28(サブネット重複しない奴)
  コントロール プレーン承認済みネットワーク home (169.99.99.0/24ではなくGCPのIPぽい)
  限定公開ならnatが要る
 CPの VPCのIP範囲は、クラスタの VPC 内のサブネットと重複不可。CPとクラスタは VPC ピアリングを使用してプライベートで通信します
 グローバルアクセスは別リージョンからという意味っぽい、cloud shellからのkubectlのためONが良い
デフォルト設定なら作成したサブネットのIP範囲でなくクラスタが作られない
 面倒ならdefault-defaultで良いかも

サブネットをVPCネットワークを考えて指定する方が偉いかも知れんが
default asia-northeast2 10.174.0.0/20 の場合
 サブネットは asia-northeast2 10.174.27.0/24 とか

ARにあるコンテナからGKEをデプロイが簡単にできる
Cloud Source Repositories でソース管理gitが下記のようにできる
 gcloud source repos clone bangboo-registry --project=bangboo-prj
 cd bangboo-registry
 git push -u origin master
run使用中のコンテナがGKE上では上手くいかない runのコンテナは8080のようだ
 Dockerfileとmain.py上ではポートは何でもよい仕様だが、runで自動的に8080割り当てるようだ
  それが駄目でありGKEは環境変数でPORT 8080を指定
  CrashLoopBackOff問題がでる
  https://www.scsk.jp/sp/sysdig/blog/container_security/content_7.html
デプロイ公開でポート80 ターゲットポート8080に(クラスタを作成後、ワークロードでデプロイする)

developmentのspec: containers: ports: - containerPort: 8080 を入れる?
 yamlでなく、コンソールで設定時に入れると良い

$ kubectl get all
NAME                      TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
service/flask-1-service   LoadBalancer   10.48.4.134   34.97.169.72   80:32147/TCP   20m

us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
 これは簡単に上手く行く、環境変数PORT8080不要
 クイックスタート: アプリを GKE クラスタにデプロイする  |  Google Kubernetes Engine (GKE)  |  Google Cloud

ワークロードでyamlの spec: replicas: 0を保存するとアクセスを止められる

コンフィグマップ:構成ファイル、コマンドライン引数、環境変数、ポート番号を別途持っていてPodにバインドする(マニフェストに書くと抜き出され見れる)
シークレット:Base64の値?(マニフェストに書くと抜き出され見れる)甘いのでsecret mgrを使う方が良い?
 config map/secretはマニフェストで編集する必要がある(見れるだけと思われる)
エディタで見てみる:yamlとかステータスが見れる

■LBに静的IPを振る
hello-app-addressと名付けたIPを取得
LBのアノテーションで設定
# ingress.yaml(NWはNodePort、Route
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.global-static-ip-name: hello-app-address  # IP
    networking.gke.io/managed-certificates: hello-managed-cert      # 証明書
    kubernetes.io/ingress.class: "gce"  # 外部 HTTP(S)LB
spec:
  defaultBackend:
    service:
      name: hello-deployment
      port:
        number: 8080

ServiceのLBはリージョン指定するタイプの静的IP
IngressはグローバルIPOK
apiVersion: v1
kind: Service
metadata:
  name: hoge
  labels:
    app: hoge
spec:
  ports:
    - port: 80
  selector:
    app: hoge
    tier: frontend
    environment : stage
  type: LoadBalancer
  loadBalancerIP: xxx.xxx.xxx.xxx


ArmorでIP制限
1)サービスから対象を選択しingressを作成することでLBを追加しArmorも設定可能
2)デフォルトLBに付けるにはkubectl要りそう、backendconfig.yamlはどこに置く
 Cloud ArmorでGKE IngressへのアクセスをIPで制御する #GoogleCloud - Qiita
サービス画面のkubectrlから
# backend-config.yaml を作り kubectl apply -f backend-config.yaml
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  namespace: default
  name: hello-backend-config
spec:
  securityPolicy:
    name: "bangboo-armor"

serviceのyamlに下記を追加
metadata:
  annotations:
    cloud.google.com/backend-config: '{"ports": {"8080":"hello-backend-config"}}'
↑これでは不足する 
どこで設定状態を見るか?
ingress作成してLBとArmorつけて、デフォルトLBを削除してみる?

GKEの外部からのアクセスを制限するには?
 限定公開+コントロールプレーンは承認済み等でアクセスしKubectlする
 ArmorでIP制限+アダプティブ設定(ArmorはLBが要る)
GKEでNodePort TypeのServiceに対してインターネットアクセス許可する - IK.AM

限定公開クラスタ+踏み台サーバにIAPで入りKubectl(承認済みNWでの制御はIPのみなので危ういらしい)
GKE(Google Kubernetes Engine) Autopilotの限定公開クラスタにIAPを利用してアクセスする | Tech-Tech (nddhq.co.jp)
【GKE/Terraform】外部ネットワークからの全てのアクセスを制限した限定公開クラスタを作成し、踏み台サーバーからkubectlする (zenn.dev)
コントロールプレーンとPod間で自動FWされない場合もありFirewall要チェック

 Cloud shellのグローバルIPを取得しシェルを承認済みNWにできないか?>OK
 curl http://ifconfig.me/

GKEでPythonをCron定期実行させたい
ArgoでDAGを実行させたい
 https://zenn.dev/ring_belle/articles/2c4bbe4365b544
ArgoでGKEのCICD(Argoは別ホストでGithubにアクセスし、GKEを操る)
 https://www.asobou.co.jp/blog/web/argo-cd

サービスアカウント
Workload Identity Federation for GKEの新しい設定方法を解説 - G-gen Tech Blog
1)ノードに紐付いたサービスアカウントKSAをそのまま使用する(裏でimpersonate)
gkeのサービスアカウントとIAMサービスアカウントの紐づけが不要になった
VPCサービスコントロールで管理したい場合impersonateのSAを指定できないためWIFが要る
2)サービスアカウントのキーを Kubernetes Secret として GKE クラスタに登録する
3)Workload Identity Federationをつかう
GCP の Workload Identity サービスについてのまとめ #GoogleCloud - Qiita
Githubとか外部のサービスから利用するためSAを連携させる
IAM>Workload identity連携画面で設定が見れる
※KSAはノード単位で設定、Pod単位でGCPのリソースにアクセスできるように管理したい?

●メモ
忙しいときはスケールアウトするが、落ち着き始めるとスケールinし、必要なPodも落とされてしまう
safe-to-evict をymlのannotationで明示して特定Podはスケールinしない等にしておく
annotations:
  cluster-autoscaler.kubernetes.io/safe-to-evict:"false"
クラスタのオートスケーラー イベントの表示  |  Google Kubernetes Engine (GKE)  |  Google Cloud

■Workloads リソース
Pod:Workloadsリソースの最小単位
ReplicaSet:Podのレプリカを作成し、指定した数のPodを維持し続けるリソースです。
Deployment:ローリングアップデートやロールバックなどを実現するリソースです。
DaemonSet(ReplicaSet亜種):各ノードにPodを一つずつ配置するリソースです。
StatefulSet(ReplicaSet亜種):ステートフルなPodを作成できるリソースです。
Job:Podを利用して、指定回数のみ処理を実行させるリソースです。(使い捨てPod)
CronJob:Jobを管理するリソースです。
Config connector:GKEでGCPリソースを調節してくれるアドオン。Podの増加減少にあたり必要なアカウントや権限やPubSub等々を自動作成や管理する。マニフェストのymlにcnrmのAPIを記載したりする(Config connector resource nameの略)

■GKE関連の運用
GKEクラスタ認証ローテーション
30日以内になると自動ローテーションするが危険なので手動が由
GKEはマイクロサービスのエンドポイントでのサービス提供かgcloud api利用が前提といえるのでこれでOK
1) ローテ開始 (CPのIPとクレデンシャル)
2) ノード再作成
3) APIクライアントを更新 (クレデンシャル再取得)
4) ローテ完了 (元IPと旧クレデンシャルの停止)
GKEクラスタ認証ローテーションの考慮
セキュアなGKEクラスタ
コントロールプレーンの自動アップグレード&IPローテーション&ノードブールの自動アップグレードで死ぬ


Posted by funa : 09:59 PM | Web | Comment (0) | Trackback (0)


December 8, 2023

竹書房 stardust
裁判で「ツッコんでもうた、ボケやのにっ」てボケる
そしてデブキャラで復活、笑われるキャラっていうのが俺の見立て

==========
■ユダヤの商法 藤田田
合理、契約、ケチ、疑い深い、信用、仕事お金至上
金を巻き上げる/お金は奪い合い
 取引額を倍々に増やし現地を耕した後に進出して直売りに変更等エグイ
 日本の大企業の社員は自分の力を過大評価し世界では通用しない
食を楽しむ
 宗教上休みをきっちり取るし、食を楽しむやイイ女を囲ったり楽しんでる
 風呂でシッカリ体を洗い清潔
金持ち、女と口、好きなものより苦手なものを売った方が割り切れる
 ターゲットは金持ち/女性を狙う等、これは確実に見習いたい
田さん陳さん東大でGHQに通訳アルバイトし19に弟子入りし銀座のユダヤ人になった

買い切りかリピート購入/サブスクか、買い切りは長く続ける商売でなく店を畳んで違う商品をやる
広告投資管理7割:年間に支払う平均金額(1年LTV)>客一人獲得に掛かる広告費上限(CPO)

■確率思考の戦略論
客引きもバンカーも運転手も世界各国で同じ雰囲気>法則がある
ブランドに対する好意度:preference=ブランドイクイティ+価格+製品パフォーマンス
プレファレンスが高いものはより高頻度で購入される=>シェア
人はそれぞれのカテゴリのEvoked setを持ってる:エビス50黒ラベル30一番搾り20
プレファレンスに基づいたエボークトセット持ち、その中のカテゴリーの購買回数分だけサイコロを振って選んでいるだけ
Preference好意度(ブランドイクイティ+価格+製品パフォーマンス)+Awareness認知+Distribution配荷
年間購入者の全世帯に対する割合=認知率x配荷率x過去購入率xEvokedSet率x年間購入率
年間売り上げ=総世帯数x1年間に買う人浸透率x平均購入回数x平均購入金額
シェア=参入順位xプレファレンスx宣伝費比率x間合い年数
 どれだけ競合に比べて宣伝できているかが大きい
 次回購入タイミング=平均購入回数xプレファレンス とかデータ化、確率見ていく
差別化して先鋭化しても自社を選んで貰えるとは限らない
 差別化でターゲットを絞ってマーケットが小さくなる危険性

ベストセラー>観光大使/政府/首相>人を巻き込みPRに
コーラは原液販売に注力し現地生産フランチャイズにし配荷拡大した
商品棚をその店/客のプレファレンスに合わせ配荷の質を改善
都合が悪くなるとルールを変えてでも勝とうとする西洋人
 スポーツマンシップは油断させるプロパガンダでしかない
サイコパス:感情が意思決定の邪魔にならない>選ぶストレス無しに最適判断できる
 +人心掌握(
※勝ち馬しか人は選ばない、第一想起にどう入るか、高くても良い大量の広告を打つ
 オペを遅くしてでも行列を作る、先着サイコロ無料話題をつくる、ライトが明かる過ぎるとか目立つ店構え

====
多変量解析
消費者の行動を左右する要素は様々だが、「絞り込むと本質的には3つ程度しか残らない」
最も重視すべきは「プレファレンス(相対的好意度)」。次にどれだけ知ってもらえているかという「認知」、その後、消費財であれば製品の手に取りやすさを示す「配荷」、テーマパークであればパークまでの「距離」が続く。企業が重視しがちな品質や技術力といった「パフォーマンス」の優先順位は低い。「新機能を搭載しただけでは、消費者に響かない」。相対的好意度、認知、配荷のどれかが足りないと、どんなにいい製品も埋もれてしまう。

商圏
テーマパーク業界の失敗例を調べ全国で閉園になった約50の遊園地を見ると、すべて需要を上回る投資をしていました。 需要は商圏の大きさやその人口を調べると分かります。明らかにお金を使ってはいけないところに投資をしていたのです。

可視化
思考力に強みを持つ人を「T(=Thinking)型」、人とつながる力や伝える力が強い人を「C(=Communication)型」、人を率いて動かす力を強みとする人を「L(=Leadership)型」として、3つに分類し可視化。可能性の高い分野に資源を集中。

====
国の大学教育の目標人材「思考力、判断力、俯瞰力、表現力の基礎の上に、幅広い教養を身につけ、高い公共性、倫理性を保持しつつ、時代の変化に合わせて積極的に社会を支え、論理的思考力を持って社会を改善していく資質」
1)分野を超え先端の学問を学び時代の変化に合わせて積極的に社会を改善していく人材
2)高度な教養と専門性がある人材
3)高い実務能力がある人材

米海軍で屈指の潜水艦艦長による最強組織の作り方
リーダシップ:価値と潜在能力を伝え刺激する(協力を支配で操る)
担当者の方がが細かいところまで詳しく知っている
 権限を与えるとは支配と同じ
 目標と裁量は両立するか
 リーダの技量が組織の業績か、メンバーの技量ではないのか
疑問:活かすには命令でなく創意工夫で実務を行った方が良いのではないか
結果:残留率up、組織状態better
要るもの:権限だけでなく自由を与える
やる事:mtgでなく確認会(聞く方の準備や参加が必要)、命令でなく確認し許可取り

●やったこと
委ねるリーダーシップ
権限を与える
命令を避ける
命令するときは、乗員が異を唱える余地を残す
やるべきことを確認する
会話をする
上官と部下が学びあう機会を設ける
人を重視する
長い目で考える
いなくなっても困らない存在を目指す
訓練の回数より質を重視する
正式な命令以外でも、会話を通じて情報交換する
つねに好奇心を持つ
意味のない手順や工程をすべて排除する
監視や検査を減らす
情報を公開する

●やらなかったこと
命じるリーダーシップ
権限を握る
命令する
命令するときは、 自信を持って絶対だと明言する
やるべきことを説明する
会議をする
上官が部下を指導する機会を設ける
技術を重視する
目の前のことを考える
いなくなったら困る存在を目指す
訓練の質より回数を重視する
明瞭簡潔な言葉のみを使用し、 正式な命令以外の言葉を交わさない
つねに疑いを持つ
手順や工程の効率を改善する
監視や検査を増やす
情報を公開しない

-支配からの解放
┣支配構造の遺伝子コードを見つけ出して書き換える
┣態度を変えることで新しい考え方をもたらす
┣早めに短く言葉を交わし、仕事の効率を高める
┣ 「これから~をします」という言い方を導入し、命令に従う だけだったフォロワーを自発的に行動するリーダーに変える
┣解決策を与えたい衝動を抑える
┣部下を監視するシステムを排除する
┗思っていることを口に出す

-優れた技能
┣直前に確認する
┣いつどこでも学ぶ者でいる
┣説明するな、確認せよ
┣同じメッセージを絶えず繰り返し発信する
┗手段ではなく目標を伝える

-正しい理解
┣ミスをしないだけではダメだ、優れた成果をあげよ
┣信頼を構築し部下を思いやる
┣行動指針を判断の基準にする
┣目標を持って始める
┗盲目的に従うことなく疑問を持つ姿勢を奨励する

■OODA
Observe(観察)、Orient(状況判断、方向づけ)、Decide(意思決定)、Act(行動)
OODAは過去の経験に捉われることなく現状にあった行動をとるためのもの
Observeでは先入観を持つことなく公平かつ客観的に行うことを推奨
 変化を観察しスピーディな分析をし判断して進めるので生存率が高い
 場当たり的、個人の判断が多い、中長期計画に適していない、仮説が弱い、ミッションバリュービジョン共有の欠如で統率問題
PDCA
目標設定から始まるので、目標が明確になり、ブレずに取り組みやすい
安定した環境での品質管理や一定期間かける取組などに適している
 品質管理や生産管理用フレームワークの状況や前提が変わらない中で最適解を見つけるのに適している
簡易としてはPDR、Prep=準備、Do=実行、Review=復習検証

====
ティーチング:正解や解決に必要なノウハウを教える
コンサルティング:相手の問題を解決するための提案をし共に解決していく
カウンセリング:悩みや不安を解決するためにサポートする
コーチング:目標達成のために行動変容を促す傾聴と質問(アドバイスしない)

人生の幸福度は「貯金の量」で決まる
幸福感が最大になる貯金額とは1億円

Posted by funa : 11:16 PM | Column | Comment (0) | Trackback (0)


October 31, 2023

GCP Network Connectivity
●共有 VPC
 同組織のプロジェクトのホストプロジェクト(親)のVPCをサービスプロジェクト(子)に共有
●VPC ネットワーク ピアリング
 異なる組織間の接続(双方のVPCでコネクションを作成する、内部IPで通信する、サブネットは重複しないこと、2ホップ制限で1:1=3つ以上の場合は古メッシュでコネクション作成要)、k8sサービスとPod ipをVPCピアリング経由する利用法もある

●ハイブリッド サブネット
 Cloud VPN/Interconnect等が必要、オンプレルータとCloud RouterをBGPでつなぐ、オンプレとGCPをつなぐ
●Cloud Interconnect
 DCと専用線で閉域網接続、Cloud VPNより低レイテンシ/帯域安定
●Cloud VPN
 オンプレとIPsec VPN接続、アドレス帯の重複だめ、Cloud VPN側でBGPIP設定やIKEキー生成をしオンプレルータ側でそれらを設定する

●内部範囲
 VPCで使うIPをCIDRで定義しIP範囲の使用方法を事前に決定しておく、IPが勝手に使われたりしない等ができる

●限定公開の Google アクセス(Private Google Access)
 外部IPを持たないGCE等はデフォルトのインターネットゲートウェイ0.0.0.0を経由してGoogle APIにアクセスする、VPC>Routesで見れる
●オンプレミス ホスト用の限定公開の Google アクセス
 CloudVPNやInterconnectを経由してオンプレから内部IPを利用してGoogleAPIにアクセス、GCP側ではCloudDNSで特定のドメインのAレコードを入れる、選択したドメインのIPアドレス範囲を静的カスタムルートでVPC内のプライベートIPからルーティングできるように設定する、オンプレにはCloudRouterからドメインのIPアドレス範囲をBGPでルーティング広報する、VPNやInterconnectがないと0.0.0.0でGoogleAPIにアクセスするがこれだとRFC1918に準拠しない199.33.153.4/30などのIPを使う必要がありルーティングが複雑化したり、オンプレを通る場合があり通信は慎重に設計をすること
●Private Service Connect
 「限定公開の Google アクセス」の発展版、オンプレをNATでVPCに接続、内部IPでGoogleAPIにアクセスできる、PSCエンドポイントを介して内部IPで公開できる、NATされ内部IPの公開先での重複OK

●プライベート サービス アクセス
 VPCペアリングを併用してサービスプロデューサをVPCに接続し内部IPで次のようなサービスに内部IPでアクセスできるようにする(Cloud VPNまたはInterconnectを付け足せばオンプレからも可)、Cloud SQL/AlloyDB for posgre/Memorystore for Redis/Memcached/Cloud build/Apigee等の限られたもの
●サーバーレス VPC アクセス
 サーバレスからVPC内リソースにアクセスするためのコネクタ(通常は外部IP通信になるがコレだと内部IPでVPCにルーティングされる、/28のサブネットを指定)、例えば既存のcloud runサービスを編集しても付けられず初期構築時のみ設定できる

●外部 IP アドレスを持つ VM から API にアクセスする
IPv6をVMに設定し限定公開DNSゾーン設定をすればトラフィックはGCP内にとどまりインターネットを通りません

●CDN Interconnect
 Cloud CDNもあるが他社のCDNに接続する、Akamai/Cloud flare/fastly等々

●Network Connectivity Center 
 ハブとなりCloudVPN/InterconnectをメッシュしGCP/オンプレ含め通信させる、Googleのバックボーンでユーザ企業の拠点間を接続できる
●ダイレクト ピアリング
 GoogleのエッジNWに直接ピアリング接続を確立し高スループット化、Google workspaceやGoogleAPI用だが普通は使わずInterconnectを使う
●キャリア ピアリング
 ダイレクトピアリングの高度な運用が自社対応できない等でサービスプロバイダ経由でGoogle workspaceなどのGoogleアプリに品質よくアクセスする

Google CloudのVPCを徹底解説!(応用編) - G-gen Tech Blog

●トンネル系の下記は色々権限が要りそうで候補
Compute OS login/IAP-secured tunnel user/Service account user/viewer/compute.instance*

■ポートフォワードは止めないと別につないで繋いでいるつもりでも同じところに繋ぎ続ける
lsof -i 3128
ps ax | grep 3128
ps ax | ssh
kill [PID]

■IAPトンネル
export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128
gcloud compute start-iap-tunnel --zone asia-northeast1-a gce-proxy001 3128 --local-host-port=localhost:3128 --project=gcp-proxy-prj
でコマンドを打てばIAP踏み台トンネルを通って外部に通信できる

■踏み台コマンド
gcloud compute ssh --projet gcp-prj-unco --zone asia-northeast1-a gce-step-svr
でSSHログインしそこからcurl等で操作する

■SSHトンネル
sshの基本はこれ、セキュアシェル、トンネルは特殊?
SSH [オプション] [ログイン名@]接続先 [接続先で実行するcmd]
接続先に権限があること

SSHの疎通確認
ssh baka@stp_srv.unco.com

設定例
.ssh/config
User baka
Hostname step_srv
ProxyCommand ssh -W %h:%p baka@step_srv.unco.com
PubkeyAuthentication no
PasswordAuthentication yes

※sshはPWは危険なので鍵認証のみにしたい
 IPアドレス元を制限や同一IPのログイン試行は拒否する仕組み等は欲しい

SSHコネクション上でトンネル作る
ssh step_srv -L 8080:dest.benki.com:80
 とか ssh -L 8080:dest.benki.com:80 ahouser@step_srv.unco.com
※ポート22でstep_srvにSSHコネクションを貼り、ローカル:8080のリクエストはdest:80に転送する
ブラウザか新規ターミナルでcurl
http://localhost:8080
ダメなら転送設定したターミナルはstep_srvにいるのでcurl

GCP、AWS、Azure 別に見るクラウド VM への攻撃経路まとめ (paloaltonetworks.jp)

=============
なぜレッドオーシャン化する前にサービスを グロースできなかったのか? - フリマアプリ編 - (フリル)
サービスを急拡大させる意思決定が遅く競合に遅れ
競合出現後も経営方針を大きく変えなかった
勝利条件はユーザ数で機能差ではなかった
パワープレーでいかにプロモーションばら撒いて認知広げて第一想起をとるかだった
先行者優位で過ごせる期間は短い
スタープレイヤーの採用、手数料無料化、TVCM等PLを超えた手法があった、BS経営すべきだった
成長のキャップが創業者の能力になっていた
有能な人材:耳の痛いことを言ってくれる人材を経営チームに採用しても良かった
CTOが開発をし、組織運営の雑務をし、採用もやっていた
CEOは机の組み立てをするな。CTOはPCの購入をするな
役割の変化に素早く適用し権限移譲を行い、やるべきことをやれる状況を作る
あるいは必要な組織を大きくすることに注力する、例えば開発組織を大きくする
戦時のCEO、皆に戦時であることを伝える、企業文化に背く意思決定も行う
研究や教育等、やった方が良さそうな耳障りの良いタスクも拒否する
どうやったら市場で勝てるかの戦略

IPOとか目指さなければConfort zoneを見つけてじっくりまったりビジネスを継続させる手もある
メルカリやPay2をみた結果論、このやり方も古いというかアレ

Posted by funa : 10:57 PM | Web | Comment (0) | Trackback (0)


Navi: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19  >
PhotoGallery


TWITTER
Search

Mobile
QR for cellphone  QR for smart phone
For mobile click here
For smart phone click here
Popular Page
#1Web
#2Hiace 200
#3Gadget
#4The beginning of CSSレイアウト
#5Column
#6Web font test
#7Ora Ora Ora Ora Ora
#8Wifi cam
#9みたらし団子
#10Arcade Controller
#11G Suite
#12PC SPEC 2012.8
#13Javascript
#14REMIX DTM DAW - Acid
#15RSS Radio
#16Optimost
#17通話SIM
#18Attachment
#19Summer time blues
#20Enigma
#21Git
#22Warning!! Page Expired.
#23Speaker
#24Darwinian Theory Of Evolution
#25AV首相
#26htaccess mod_rewite
#27/// BANGBOO BLOG /// From 2016-01-01 To 2016-01-31
#28竹書房
#29F☆ck CSS
#30Automobile Inspection
#31No ID
#32Win7 / Win10 Insco
#33Speaker
#34Arcade Controller
#35Agile
#36G Suite
#37Personal Information Privacy Act
#38Europe
#39Warning!! Page Expired.
#40GoogleMap Moblile
#41CSS Selectors
#42MySQL DB Database
#43Ant
#44☆od damnit
#45Teeth Teeth
#46Itinerary with a eurail pass
#47PHP Developer
#48Affiliate
#49/// BANGBOO BLOG /// From 2019-01-01 To 2019-01-31
#50/// BANGBOO BLOG /// From 2019-09-01 To 2019-09-30
#51/// BANGBOO BLOG /// On 2020-03-01
#52/// BANGBOO BLOG /// On 2020-04-01
#53Windows env tips
#54恐慌からの脱出方法
#55MARUTAI
#56A Rainbow Between Clouds‏
#57ER
#58PDF in cellphone with microSD
#59DJ
#60ICOCA
#61Departures
#62Update your home page
#63CSS Grid
#64恐慌からの脱出方法
#65ハチロクカフェ
#66/// BANGBOO BLOG /// On 2016-03-31
#67/// BANGBOO BLOG /// From 2017-02-01 To 2017-02-28
#68/// BANGBOO BLOG /// From 2019-07-01 To 2019-07-31
#69/// BANGBOO BLOG /// From 2019-10-01 To 2019-10-31
#70/// BANGBOO BLOG /// On 2020-01-21
#71Bike
#72Where Hiphop lives!!
#73The team that always wins
#74Tora Tora Tora
#75Blog Ping
#76無料ストレージ
#77jQuery - write less, do more.
#78Adobe Premire6.0 (Guru R.I.P.)
#79PC SPEC 2007.7
#80Google Sitemap
#81Information privacy & antispam law
#82Wifi security camera with solar panel & small battery
#83Hope get back to normal
#84Vice versa
#85ハイエースのメンテ
#86Camoufla
#87α7Ⅱ
#88Jack up Hiace
#89Fucking tire
#90Big D
#914 Pole Plug
#925-year-old shit
#93Emancipation Proclamation
#94Windows env tips
#95Meritocracy
#96Focus zone
#97Raspberry Pi
#98Mind Control
#99Interview
#100Branding Excellent
Category
Recent Entry
Trackback
Comment
Archive
<     July 2024     >
Sun Mon Tue Wed Thi Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Link