【shellscript】一般人にgit clone/git pullみたいなことをさせるメモ

Gistに投稿しました。




だいたいここに書いてあるとおりなので、これを作り始めたきっかけを。
そこそこ便利なchrome拡張を配布するにあたり、versionupの度に逐一zip download→解凍→設置をさせるのが
申し訳ないなという気になり、スクリプトでいっぺんにアプデできるようにすればいいやということで。


そこで、gitを使わずにアプデするにはどうすればいいかなーと考え用意したのがこれ。


まあ、curlが必要なのでwindows7とかで止めている人間には使えないんですが…


そういう感じです。

【BanG-Dream】FULL-COMBO MEMO

・上から順にFC
・難易度27, 28, 29, 各難易度ラス1曲(23~)にはそれぞれ色を振ってあります
・難易度を埋めた後に解禁した曲は記載してません


7/15 【開始】tw


7/16
・25 夏色 SUN SUN SEVEN!
・22 私の心はチョココロネ
・20 Yes! BanG_Dream!
・25 ときめきエクスペリエンス
・21 軌跡


7/17
・24 八月のif
・21 キミにもらったもの
・24 READY STEADY GO
・23 世界は恋に落ちている
・23 光るなら


7/20
・25 走り始めたばかりのキミに


7/21
27 ONENESS
・22 ぽっぴん'しゃっふる
・21 ひまわりの約束
・23 そばかす
・24 どきどきSING OUT!
・24 夏のドーン!
・26 ハレ晴レユカイ


7/23
23 Dragon Night
・25 Jamboree! Journey!
・25 BLACK SHOUT
・25 secret base~君がくれたもの~
・25 YAPPY!SCHOOL CARNIVAL☆彡
・26 ハッピーシンセサイザ


7/24
・25 ティアドロップス
・26 カルマ
・26 Life Will Change
・26 Y.O.L.O!!!!!
・26 前へススメ!
・26 Light Delight
・26 熱色スターマイン
・25 ETERNAL BLAZE


7/25
・26 わちゃ・もちゃ・ぺったん行進曲
・24 ゆら・ゆらRing-Dong-Dance
27 LOUDER
24 ふわふわ☆ゆめいろサンドイッチ


7/26
・26 アスノヨゾラ哨戒班
・25 Wonderland Girl


7/27
・25 B.O.F
・25 CiRCLING
・25 夢見るSunflower
・25 キラキラだとか夢だとか ~Sing Girls~
・26 花園電気ギター!!!
・26 -HEROIC ADVENT-
・25 魂のルフラン
・26 1000回潤んだ空


7/31
・25 STAR BEAT!~ホシノコドウ~
・26 最高(さあ行こう)!
・25 クリスマスのうた
・25 はなまるぴっぴはよいこだけ
・25 Don't be afraid!
・25 Little Basters!
・25 陽だまりロードナイト
27 Redo
27 紅蓮の弓矢


8/04
25 はなまる◎アンダンテ
・26 COMIC PANIC!!!
・26 ピコっと!パピっと!!ガルパ☆ピコ!!!
・26 SURVIVOR ねばーぎぶあっぷ!


8/05
・26 Don't say "lazy"
・26 ハイファイブ∞あどべんちゃっ
・26 せかいのっびのびトレジャー
・26 Scarlet Sky
・26 天体観測
・26 空色デイズ
27 This game
・26 Time Lapse
26 天下トーイツ A to Z☆
27 Determination Symphony


8/06
29 六兆年と一夜物語 リザルト 餡蜜
27 ゴーカ!ごーかい!?ファントムシーフ! リザルト 攻略


8/07
28 Hey-day狂想曲(カプリチオ) リザルト スライド攻略


8/09
28 シュガーソングとビターステップ リザルト 攻略
28 God knows… リザルト


8/11
28 Opera of the wasteland リザルト 攻略
28 Re:birth day リザルト 攻略


ALL FULL-COMBO CLEAR!!!

かかった日数は27日でした。途中魔道杯とかでやってない日を除くと20前半ぐらいです。
いやー…… キツかった……



番外編
FCリザルトツイートのふぁぼ数を比較すれば難易度が推定できるのでは?
と思い集計。


リバデ: 11Fav
カプリチオ: 10Fav
6兆年: 8Fav
ファンシー: 6Fav
シュガビタ: 5Fav
Opera: 4Fav
God knows…: 0Fav


なんでや!Gk難しいやろ!
まあ確かに狙ってからFCするまではそんなにかからなかったけど…

find + grep + (customized)sedの話

Linuxコマンドで、find, grep, sedを組み合わせることで柔軟な置換が可能となる。
例えば、

find . -name "*.txt" | grep -l "hoge" | xargs -L 1 sed -i -e "s/hoge/fuga/g"

これで、hogeと書いてある*.txtを検索、すべてfugaに書き換える。


しかし、置換したファイルを別名で保存するときには少し厄介なことになる。
sedで別名保存するときには sed -e "..." base.txt > base_2.txt
というように記載するが、これがxargsと相性がよくない。
例えば、

find . -name "*.txt" | sed "s/\(.*\).txt/\1.txt > \1_2.txt" | xargs -L 1 sed -i -e "s/hoge/fuga/g"

これはエラーとなる。xargsがsedにわたす「>」をクォーテーションで囲ってしまうために、
ファイル名と認識されるからだ(と思う)。


これでは不便なので、sedの改造版xsedを用意する。
といっても、適当にシェルスクリプトで書くだけだが。

#!/bin/sh
#xsed (chmodで実行可能にしておくこと)
`sed ${@:1:($#-1)} > ${!#}`


sed

sed "str" A.txt > B.txt

と書くところを、

xsed "str" A.txt B.txt

と書くだけ。


これでxargsで渡した際も

find . -name "*.txt" | sed "s/\(.*\).txt/\1.txt \1_2.txt" | xargs -L 1 xsed -e "s/hoge/fuga/g"

こんな感じで別名保存ができるようになった。


(もっといい方法があるのだろうが、思いつかなかったのでこれで運用)

迫真大魔道杯 デッキ構築の裏技

魔道杯お疲れ様でした。
今回は自分で納得のいくデッキを2つ作ったのもあって、普段デッキを作成するときの思考回路をまとめておこうと思いました。
参考になるかはわかりませんが、備忘録ということで。


考えていること

私は普段、スキルと解答回数の合計でデッキの速さを判断しています。
数値が小さいほど高速なデッキである、という考え方です。
名前は特に決めてませんでしたが、SAS(Skill + Answer Sum)とでも名付けておきましょう。
もちろん、これは大雑把な指標であって入れ替わることはしょっちゅうあります。

私は解答速度が遅いのでASは基本10秒として考えています。すばやく答えられる人は6~7秒程度になると思います。
10秒というのは大体の攻撃SSより遅いので、基本的に解答を避けるようにしてデッキを組んでいます。
(そういったデッキは得てして廃課金向けなのですが…)


デッキその1

f:id:arikaneko:20180626162823p:plain
ガチャ産1枚、4+SS スキル3回 最速2:10程度 安定2:15(SAS: 7)
私が初日の23時から最後まで使用していたデッキです。

ラップを早めるためには、ボスを全体対象のSS一発で仕留める必要があります。
そのため、自作の打点一覧で 対光のスキル打点を検索しました。
その結果が以下のものとなります(URL: https://wiztools.net/searchex/?q=J5S65k)。
闇に打点を出せない特効、SS初回が5以上のものは省いてあります。
f:id:arikaneko:20180626163646p:plain


この時点で、フィニッシャーは蓄積(聖/邪)、闇不調の3種類に絞られます。
そして、私が持っていたのは メーベル だけでした。
ここで、メーベルをフィニッシャーとすることはほぼ確実になりました。
【メーベル/???/???/???/???】


次に、どのように不調状態へ持っていくかを考えました。
Twitterで蘇生ギミックを使うと早いということがわかったので、ボスにメーベルを蘇生させる必要があります。
そこで、ウーレイの採用が決定しました。
メーベルだけを殺す必要があるので、結晶はアド/ゾラスで固定となります(AS回復をうけないようにする)
【メーベル/ウーレイ/???/???/???】


必須SSはこれで終わりなので、残りの3枠でHPを削りながらボスまでたどり着く方法を模索しました。
しかし、雷には自傷AS持ちが少なく、10%削りしかいません。
(エーファは15%ですが、そもそも持っていない)
ですので、残りの3枠は自傷できる精霊のみを入れる必要があります。

最もシンプルなのは、AS10%×3=30%削りでしょう。
ですがこの場合、ウーレイのAS回復と戦後回復によってメーベルを確殺できません。
(30*4 - 13*2 - 10*2 = 74%削り)
そこで導入したのが、ゲルトルーデです。
SSで60%自傷ができることに加え、スキチャによって3戦目の回復を受け付けない立ち回りが可能となります。
よって、20*4 + 60 - 13*1 - 10*2 = 107%削りとなり、メーベルのみを4戦目で確実に殺すことができます。
【メーベル/ウーレイ/ゲルトルーデ/???/???】


ここまでで、3枠が決定したので後の2枠には10%削り精霊を導入します。
こういうときも、精霊検索で適当に探していきます。(https://wiztools.net/searchex/?q=d5S65k
f:id:arikaneko:20180626165359p:plain

……少なすぎますね。
前述した通り、メーベルの結晶はアドゾラスなので打点がかなりギリギリとなります。
そこで、打点を潜在で補うことのできる精霊を導入する必要がありました。
よって、ウィングドメア2枚で確定となります。
この精霊は複属性UP300+雷闇UP300を持ち、このリストの中では最もメーベルの打点向上に貢献してくれます。


以上で、デッキ1が完成しました。
【メーベル/ウーレイ/ゲルトルーデ/ウィングドメア/ウィングドメア】

理論時速183200、実際は170000~176800でした。
このデッキでデイリー400万は取れます。取りました。
f:id:arikaneko:20180626165902p:plain
蓄積持ってない組のなかでは自分ぐらいしかいないはずなので、結構嬉しいです。





デッキその2

f:id:arikaneko:20180626170142p:plain
2+SS スキル5回 最速1:54 安定1:58(SAS: 7)
イスカ: すべて8覚醒
アデメモ: Lv1
※このデッキは自分が考えたものをえびちゃん(@shrinp_wiz)さんに組んでもらったものです。


自分のデッキを初日に組み終わり、様々な改善を考えるもすべて蓄積邪の未所持という現実に弾かれました。
そこで、今回の魔道杯の結論デッキの模索でもやってみるか、という気分になりました。


適当にシミュを回してイスカ4アデメモの3+SSデッキを考え、こっそりURLを流していました。
それを見たえびちゃんさん(以下えびちゃん)がDMでラップ早くないしdmgが足りないという現実を教えてくれたので、
その流れで色々とデッキをぶん投げていました(すいませんw)


最初に、4戦目に犠牲を撃ち、ボスで蓄積フィニッシュをするのが早いだろうなと考えました。
そこで考えたのがイスカ3/リルム/アデメモです。
これはダメージが足りず、パネルも安定しないということでボツになりました。
実際にはGPミカエラとシミラルの起用によって1:49が出たらしいので自分の考えは間違ってなかったです。
(シミラルの発想はありませんでしたが)


3SSの結論解は組めないのがわかりきっていて面白くなかったので、2SSを考えました。
そうすると、どうしても問題になるのが自傷値の不足です。
今回のボスを蓄積1発で落とそうとすると、ダメージの壁が問題となりました。


最初考えていたのは、烈眼や覇色を維持した状態でボス戦に突入するというものでした。
しかし、ディスチャによってそれらは容易ではないのです。
また、そんな小細工をしたところで乱数の壁を乗り越えられるとはどうしても思えませんでした。
そんな調子であれこれと考えているうちに、気づきました。



ボスで蓄積2発打てばいいんじゃね?



2発打てば乱数の問題は解消されます。むしろオーバーキルでしょう。
しかし、それは敵行動にあえなく阻まれます。4戦目のディスチャ、ボスの呪いによって生存精霊の打点は著しく削がれます。
これを回避する方法は一つしかありません。その精霊を死なせておくことです。
すなわち、アデメモ以外を自殺させた状態でボス戦に突入する必要があるのです。


ここまで、ボス戦ではフィニッシャーを蘇生→SS攻撃という方法でボスを倒してきました。
それが簡単にできるのは、ゾラス結晶によるところが大きいです。
この結晶は回復を無効化するので、装備精霊のみを殺害することが容易に可能となります。

ですが、この結晶は1つしか手に入りません
2体以上の精霊を同時に倒すには、他の方法をとる必要があります。


最初に考えていた方法は、自傷値の合計をちょうど100%にすることでした。
こうすれば、死なせたい精霊を偶数、生き残らせたい精霊を奇数にすることで調整が可能となります。


ただ、実際に考えてみるとそんなに甘いものではありません。2SSで合計を100%にするのは不可能です。*1
まず、アデメモは12%回復、ウーレイは13%回復なので、ピッタリ100%にするためにはAS回復7%/8%の精霊が必要になります。
実際には夏結晶があるので5%、6%も対象になりますが、いずれにせよその条件を満たす精霊はあまりいません。
その上で速度の早いSSを持っていて…となると、それはいないと考えて間違いありません。
唯一、ウーレイ(13%)+蓄積リフィル(7%)が20%となりますが、今度は自傷値が足りません。
残りの3枠は必然的にエーファ*3となるので、自傷の合計は45*2=90%となりどうあがいても自殺できなくなります。



また、アデメモのHPを1にすることも考えました。
HP1の状態では自傷ダメージが0になるので、確かにアデメモのみの生存が可能になるかのように見えます。
ですが、ディスチャージを回避するために結晶枠の1つがサルヴァトル結晶で埋まっています。
残り1つを装備させて最大HPを1にするのは不可能です。
(Lv1、マナ0、衰弱結晶装備でもHPが1000ほど残ります)



もう一つの方法は、アデメモのL化HP+500を利用するものです。
ご存知の通り、HP+500潜在が発動すると現在値も上昇し、残HP割合も増加します。
これを利用することで、アデメモのみ残すことができそうです。


しかし、この方法が効果を持つのは3SS以上の場合のみです。
というのも、アデメモがL化するのは2T後であり、自傷を4戦目でやろうとすると死ぬ前にディスチャを被弾します。
(または、アデメモもろとも全滅します)


今の課題は、HPを固定値で変動させる必要があるのでした。
アデメモのL化では、それはできません。
HPを固定値で変動させる……… あれ、そんなものがあったような……




f:id:arikaneko:20180626174819p:plain




あった。
ですが、これはL化の時に発動する結晶だから今のデッキでは使えない…と最初思いましたが


解除すればいいじゃん!


そうです、イスカは最初からL状態なので途中で覇色持ちのイスカを使ってあげればHPが変動するのです!
HP満タンの状態ではHP変動が使えないので、必ず1回殴ってから打つ必要があります。
ではどこで殴るかというと、スキル抜けができない2戦目で固定です。
また、4戦目で自殺しないとその後が突破できないので、4戦目も殴る必要があります。
初戦は蓄積で抜けられるのを確認していたので、スキル使用は問題ありません。


この時点で立ち回りが以下のように決定しました。
初戦: イスカSS
2戦目: 殴る
3戦目: イスカSS(覇色持ち)
4戦目: 殴る
ボス: 蘇生→イスカSS2発


次は、HP変動を利用してアデメモのみを生存させる手法を考えました。
覇色の解除では、最大HPのみが-500されます。すなわち、最大HPが低いほど変動の恩恵が大きいです。
これを実現する方法はアデメモをLv1にした上で、
結晶に「衰弱」「天邪鬼」どちらかをつけることで達成できます。
ただ、天邪鬼結晶はHP自傷量増加のためにイスカに装備させたかったので、衰弱結晶で確定しました。




…と長々と書きましたが、シミュの実装が変だった(直球)のでここまでたどり着くのに時間がかかりました。
絶対クリアできなそうなデッキをえびちゃんに投げつけて時間を無駄にさせてました。
マジすいませんでした!


最後にえびちゃんが録ってくれた立ち回り動画を貼ります。
2+SSの最速解だと思っています!




P.S.

f:id:arikaneko:20180626180322p:plain

f:id:arikaneko:20180626180424p:plain

えびちゃん半端ないって!これは半端ないって。有言実行するやん。そんなんできひんやん、普通。
そんなんできる?言っといてや、できるんやったら。
総合ボードや、全部総合ボードや。調整してるし、もう。
またゾロ目やし。またまたまたまたゾロ目やし。
あれは凄かった。俺DMしてもらったぞ(笑)


ナイスゾロ目!
協力ありがとうございました!

*1:※追記:ウーレイ(夏結晶)、エーファ3(うち1体にゾラス)、アブロでピッタリ100%になりました。考えが甘かったですね。

error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

webstormから起動するgitの調子が最近悪くて

error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

とか言われてた。
は?という感じなのだが、DoS上からなら一応pull/pushはできたので(逐一パスワード入力は必要だったが)
まあいいか、と放置していた…のだが、流石に面倒になったのでいろいろググって対処。

なんでこんなのが出るのか

Update on SSH Access to GitHub in IntelliJ-based IDEs | Company Blog

GitHub introduced a change last week that drops support for weak cryptographic keys. This has resulted in connectivity issues for some users who are connecting to GitHub using SSH and the built-in client SSH Executable.

Weak cryptographic standards removed | The GitHub Blog

Earlier today we permanently removed support for the following weak cryptographic standards on github.com and api.github.com:

ということらしい。

要は、昔のプロトコルを廃止したら対応しきれてないwebstormが煽りを喰らったと。

とりあえずアプデ

To recap, your options right now are: Use 2018.1 EAP

と言われたのでEAPを有効にして2017.3から2018.1にアプデ。

それでも治らない。
ただプログラム方面での対策はされたはずなので、今の設定を消し飛ばすことに。

SSHキーを再生成

git for windows だけで出来る ssh - himadatenodeの日記
ここを参考に。
git bash上で実行すること。そうしないとevalが実行できない。

ssh-keygen.exe -t rsa -C "メールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/username/.ssh/id_rsa): #左のパスで良ければ[Enter]。
Created directory '/c/Users/username/.ssh'.
Enter passphrase (empty for no passphrase): #パスフレーズを打つ
Enter same passphrase again: #もう一度確認でパスフレーズ


eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
Enter passphrase for /c/Users/username/.ssh/id_rsa: #パスフレーズを入れる
Identity added: /c/Users/username/.ssh/id_rsa (/c/Users/username/.ssh/id_rsa)


## Github上でSetting → Deploy keys → 追加(Write許可)


git pull #success?

お疲れ様でした。