回る男の備忘録

どこかでプログラム書いてシャニマスして野球見てTwitterやってる人間の駄文

3周年Pカップを福丸小糸さんで走った無職の話

お世話になっております。無職のデブです。

シャイニーカラーズ3周年のPカップ福丸小糸さんで走りました。
反省点が多々あるものの充実したPカップ期間でした。

小糸さん・・・

結果

f:id:kaitenma6073:20210421010428p:plain

小糸さん5位です。
まさかの初プラチナ!
出来る限界までやった結果がプラチナ、最高ですね!

編成

f:id:kaitenma6073:20210421113932p:plain

怒涛のExcellent構成です。
正直【Sr×Ba×Cu=】夏葉は【駅線上の日常】真乃に変えたほうが安定したと思います。
では何故夏葉を導入したのか?

ユニマスもりもりで気持ちよくなりたかったから
まあそういうことです。

Ex

小糸さんはMe初期値+30。
夏葉はDa初期値+30。 それ以外の面々はDaVi初期値が上がるようなExをつけていました。
今回Exがザックザク掘れることもあり、上位互換のExを取得出来た場合都度付け替えていました。

順位・稼働時間

4/12

f:id:kaitenma6073:20210421014950p:plain

稼働時間

15:00~1:00

4/13

f:id:kaitenma6073:20210421015011p:plain

稼働時間

7:00~1::00

4/14

f:id:kaitenma6073:20210421015029p:plain

稼働時間

7:00~14:00
19:00~1:00

オタクに恐喝されてアニメイトカフェに行ってました。
そこでセルフリフレが発生。
時間が空いているのはそれが理由となります。

f:id:kaitenma6073:20210421115022j:plainf:id:kaitenma6073:20210421115117j:plain

飯が美味かった。

4/15

f:id:kaitenma6073:20210421015047p:plain

稼働時間

7:00~1:00

4/16

f:id:kaitenma6073:20210421015109p:plain

稼働時間

9:00~15:00
22:00~3:00

空いている時間は聖地メットライフドームへ野球を観に行ってました。
この時間にリフレを設定。
f:id:kaitenma6073:20210421115246j:plain

f:id:kaitenma6073:20210421115330j:plain
かわいい

f:id:kaitenma6073:20210421115423j:plain
うまい

f:id:kaitenma6073:20210421115433j:plain
できたてほやほやアチアチピザが最高に美味い

f:id:kaitenma6073:20210421115444j:plain
試合に勝って最高に気分がいいのです。
負けてたらPカップのモチベが低下していたでしょう。

帰宅後22:00~3:00まで走りリフレ。
翌日以降は9:00~の稼働となります。

4/17

f:id:kaitenma6073:20210421015126p:plain

稼働時間

9:00~3:00

4/18

f:id:kaitenma6073:20210421015148p:plain

稼働時間

9:00~3:00

4/19、4/20

f:id:kaitenma6073:20210421010428p:plain

稼働時間

9:00~6:00
8:00~12:00

最終日なので気合入れて走ってました。
途中仮眠を入れて何とか10億達成。

立ち回り

シーズン1、2

基本雑誌連打
この間に1度だけ約束を守るようにしていました。

また、シーズン2でファン数到達、SPが心許ない数値であったらSPを増やすような場所を踏むようにしてました。(放クラが集まってるところとか)

シーズン3

オーディションをひたすら1位ノーマル連打。
負けることもありますけど気にしてはいけない。

シーズン4

10万、20万、30万オーディションに限らず、Voが1位の場合以外は1位をスピア。
Voが1位の場合は流行2位を殴ります。ラスアピ調整を忘れずに。私は盛大に失敗しました。
気にしてはいけない。
気にしてはいけない。
気にしてはいけない・・・

反省点

色々あるんですよ、色々と

iPadの速さを身を持って理解してしまった

私は基本的にPCで走っていました。
しかし、PCをつけるのが面倒になりiPadで1周してみると速いではありませんか!クソが
そこからiPadを使用するようになったのですが、私が所有しているiPadが2017年くらいに発売されたポンコツですので結構カクつくのですよ。
オーディション中に処理落ち、そもそも読み込まない等絶対に許してはいけない行動をiPadが行っていました。

上記のことからPカップで上位を狙いたい!という人はiPad Proを購入することをおすすめします。
端末課金で差をつけられるなら使う手はありません。
出来ることはやる。そういうことです。

アニメイトカフェ終了後帰宅せずオタクとフラフラしていた

私の性格の問題です。
その場のノリが好きだったりする性格なので283ショップに行ってオタクとダラダラしてました。
今思うとスパッと帰宅すればもう少し稼働出来たのではと思います。

実況動画を見てしまった

作業用BGMを用意する方は大勢いらっしゃると思います。
私もその一人。しかし何故かポケモンの実況動画を見ていました。アホかよ BGMで集中出来ていたので盛大な反省点です。

役に立ったもの

  • モンエナ
  • ガッツギア
  • Discord

ガッツギアとかネタだろwwwとか思っていたのですがコスパ最強で結構美味かったのが悔しい。
モンエナはガソリン。カフェインが苦手な方はしらん。
Discordは主に通話。Pカップ走っていたオタクと通話してました。
通話に参加いただいた方々、ありがとうございました。

最後に

無職という時間を盛大に活用したのが3周年Pカップでした。
その結果小糸さん5位という成績で個人的には満足しています。
しかし反省点に挙げたとおり、iPadの速さを理解してしまったので金銭で解決できるものは惜しみなく使ったほうが良いかなと実感しました。

3.5周年にPカップが開催された場合は今回ほど時間は確保出来ないだろうと睨んでいるので
三峰と小糸さんのW金を狙おうかなと考えています。

長文クソブログをご覧にいただきましてありがとうございました。

cookieとは

食べ物じゃないよ

cookieとは

Webサイトを訪れたユーザの情報をcookieに保持することで次回以降再訪問した際に前回のユーザであるか判別し、
ログイン可否の判定などを行うことができます。

cookieの基本機能

  1. ブラウザにデータを保存する
    • NameとValueで1セットである。
  2. 全リクエストで対象データを送信。

よくある活用方法

  1. ブラウザの識別
  2. ログイン判断
  3. 設定情報の保存

GETとPOSTの違い

GETとPOST、Webを触る上で必ず出てくる用語です。
違いは何なのでしょうか?名前だけでしょうか?

GET

指定されたURIのリソースを呼び出すために使用するメソッドです。
GETはURLにリクエストパラメータを付与して通信を行います。
例えば、yahoo路線の検索時に入力した情報がURLに付与されているのがわかります。 リクエストパラメータを付与することでURLを共有することが可能になります。

POST

POSTは主に情報を登録するために使われます。

GETと違い、URLにリクエストパラメータに入力情報が付与されません。
POSTはURLではなく、リクエストボディに情報が付与されます。

クロスサイトスクリプティングとは

テキストボックスなどにHTMLタグを埋め込むことで悪意のあるスクリプトを実行させる攻撃です。
この攻撃によって訪問者の個人情報を盗むなどの被害をもたらすことになります。

対処法

  1. 入力値の制限
    例えば、入力できる文字数の制限したり入力できる文字を制限などがあります(数字のみ入力可等)。

  2. エスケープ処理の実装 HTMLとして意味がある文字をエスケープし別の文字に置き換えることが対処法となります。
    例えば、<という文字を<にすることがエスケープ処理です。

  3. WAF導入 SQLインジェクションと一緒ですね。
    セキュリティ対策として導入は最善です。

まとめ

対処法をまとめて見てわかると思いますがSQLインジェクションと対して変わらないんですよね。
同様の対処法があるとなるとそれだけ攻撃されるということですかね。

【CSS】レスポンシブデザインを簡単に実装する

現代ではもはや当たり前となっているレスポンシブデザイン。
CSSを利用することで簡単に実装することができます。

やりかた

viewportを設定する

head部に以下のメタタグを追加します。

<meta name=”viewport” content=”width=device-width, initial-scale=1”>

@mediaを追加

CSSにメディアクエリを利用します。

@media screen and (max-width: 500px) {
  img {
    width: 50%;
  }
}

画面の幅が500px以下のとき、画像を50%のサイズにするという形にしています。
画面の幅が500pxより大きいときはメディアクエリ内に設定したCSSを適用することはありません。
こうやってレスポンシブデザインを適用することができます。

HTTPステータスコードについて

ちょっと気になったのでまとめます。

HTTPステータスコードとは

通信結果をコードで表すのがHTTPステータスコードです。
HTTPステータスコードには200、500などがあります。

200

OKの意味。
リクエスト成功、通信成功を表すのが200。

HTTPステータスコード(301、302)

3から始まるものはリダイレクト系。

301

ページのURLが変わったので、そちらのURLに再度リクエストするといった局面で使用する。

302

引っ越し先のURLに対し再度リクエストしろという意味。

301と302で再度リクエストするという意味になるがそれぞれ以下のような違いがある。
- 301 - 恒久的な引っ越し - 302 - 一時的な引っ越し

HTTPステータスコード(403、404)

4から始まるものはクライアントエラーを表す。アクセス元に対するエラー。

403

禁止の意味。
アクセス権のエラーである。

404

Not Found。
レスポンスするコンテンツが存在しない場合に返却される。

HTTPステータス(500)

頭が5から始まるものはサーバーエラー。

500

Internal Server Error
サーバー内部エラー。プログラムの文法エラーなどが発生しているとよく見る。

SQLインジェクション、知ってますか?

エンジニアの皆さんは知ってますよね?
私はSQLインジェクション対策されていない現場で開発していました。

SQLインジェクションとは

wikipediaから引用

SQLインジェクション(英: SQL Injection)とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のことである。

ざっくり言えばSQLに変な文字列を突っ込んで想定外のSQLを実行させる方法です。

以下のSQLを例に見ていきましょう。

SELECT * FROM customer WHERE name = '入力値';

customerテーブルからデータを取得するSQLです。
条件として'name'に一致するものを取得するという形になっています。
一見するとごく普通のSQLですが、このままアプリケーションに導入すると大変。
SQLインジェクションの温床です。

SQLインジェクションを発生させる

例えば、Webアプリケーションからの入力値をnameに設定するとしましょう。
そのときの入力値は以下とします。

a' OR 'a' = 'a

これをSQLに結合します。

SELECT * FROM customer WHERE name = 'a' OR 'a' = 'a'

これ、ORの右側で'a'='a'が一致してるのでcustomerテーブルのレコードが抽出できます。
直接入力値をSQLに結合する形だとこういった危険性があります。

対策

  1. バインド機構を利用する
    プログラミング言語にはバインド機構が用意されているのでそちらを利用します。
    バインド機構を利用することで安全にSQLを発行することができます。
  2. エスケープ処理を実装する SQLにとって意味がある文字を弾くようなエスケープ処理を実装することが効果的です。
    これはSQL以外にもHTML等意味がある文字を弾くことが大切なので合わせて実装しましょう。
  3. WAFの導入 企業でサービス展開しているのであれば当然導入しているはずです。

まとめ

当たり前ですけどいいサービス作ったところで脆弱性が発生したら全て台無しです。
特に個人情報を扱うのが当たり前になってきているのでせめてものセキュリティの知識は必要です。