capitalize 一文字目を大文字にする
String.prototype.capitalize = function(){ return this.charAt(0).toUpperCase() + this.slice(1); }
ATOMの正規表現で、行末、行頭に何かを加える
16進数のカラーコード文字列を1ライナーでrgbの配列に変換する
"#8f5c44".slice(1).match(/.{1,2}/g).map(x=>parseInt(x,16))
いつも使う正規表現のチェックサイト
amドメインの更新方法
ついにQuick Payが無くなったので、以下のページを見てまず、amドメインをサイトに登録する必要がある。
https://www.internet.am/knowledgebase.php?action=displayarticle&id=26
MySQLでSQLだけでガチャ
SET @sql:= (SELECT CONCAT(' SELECT item, rate, sum_rate, rnd FROM ( SELECT gacha_id, elt(n,',group_concat(CASE WHEN type=1 THEN col ELSE '' END SEPARATOR ''),') item, @rate:=elt(n,',group_concat(CASE WHEN type=2 THEN col ELSE '' END SEPARATOR ''),') rate, @sum_rate:=@sum_rate+@rate sum_rate, rnd FROM gacha, (',group_concat(CASE WHEN type=1 THEN vt ELSE '' END SEPARATOR ''),') as t, (SELECT @rate:=0,@sum_rate:=0,FLOOR(rand()*100) rnd) as v WHERE gacha_id = 1 ) t2 WHERE sum_rate > rnd LIMIT 1 ') FROM ( SELECT group_concat(column_name order by column_name SEPARATOR ',') col, CONCAT('SELECT ',group_concat(CONCAT(REPLACE(REPLACE(column_name,'item',''),'rate',''),' as n') order by column_name SEPARATOR ' UNION ALL SELECT ')) vt, case when column_name like 'item%' then 1 when column_name like 'rate%' then 2 end type FROM information_schema.columns WHERE table_schema = 'test' AND table_name = 'gacha' AND ( column_name like 'item%' OR column_name like 'rate%' ) GROUP BY case when column_name like 'item%' then 1 when column_name like 'rate%' then 2 end ) t ); PREPARE dynamic_sql FROM @sql; EXECUTE dynamic_sql;