どこで無職になったか、とんと見当けんとうがつかぬ。何でも薄暗いじめじめした所で手斧を投げられていた事だけは記憶している。吾輩はここで始めて増田というものを見た。あとで聞くとそれは増田という人間中で一番獰悪な種族であったそうだ。・・・・まぁ、前置きの冗談はこの辺までとして、前々から作りたいな思っていたWebサービスを中々時間が取れず作るのを諦めていたのだけど、まぁ無職になって時間も取れたので作った次第です。僕自身、プログラミングを生業とする職業では無く、学生時代も特にプログラミングついて何か勉強をしていた訳では無かったので一からの勉強になりました。始めたのが昨年末の大晦日ちょい前なので、約5ヶ月掛かり、当初想定していた期間よりかなりの時間が掛かってしまい、反省点等含めその辺の事を書けたらなと思います。■やりたい事(実装した事)・ゲームユーザー同士を繋げるマッチングサイト(出会い系ではないよ。構成を書いた方が良いと思うので以下になります。Encrypt/fail2ban/等々--------------------------------------------上記を見て貰えれば分かるかと思いますが、最近の流行りのフロントエンド技術等は一切入ってはいないです。既存のベーシックなサーバーサイド側の制御のみです。(jsで非同期通信はしてます)SPAとかVueとかの言葉を最近知りました。開発終わりかけに知ったので、流石に今から構成を変えるのもなと思い、取り敢えず上記です。■選定理由まずWebサービス作るにあたり、何が必要だろうと思いまずは開発言語だろうと、プログラミング言語の選定でRubyかPythonかで悩みました。Rails触ったのですが、Railsには馴染めなかった(扱えなかった)ので何かマイクロFWの方が良いのだろうと、Sinatraいこうか思いましたがRailsの印象が強く残った為、Rubyは止めてPythonに移りました。今度は初っ端からマイクロFWが良いだろうとFlaskのサンプルを試すと比較的プログラミング初学者でも扱いやすく覚える事も少ないので、PythonとFlaskの組み合わせで決定。(気軽にプログラムを書け、自分がイメージしている処理や制御を素直に実現できる点が書いていて気持ちが良いです。分からない所も有りますが、そう思わせてくれる点が良いです。モチベーション的に)NginxとuWSGIの組み合わせはFlaskで検索すると一番でてくるのでこれに決定。Pythonの開発環境を整えようとなり、WindowsにVagrantをインストールして仮想マシンの環境構築。小さなサンプルから作ろうとなり、簡単なCRUDをFlaskで行える様にしました。→上記以外の細かい調整等含め、約5ヶ月になります。・悩んだのがタグ機能周りになるとどうすればよいか、かなり悩みました。結論を言うとToxi法を使用しましたのですがここにたどり着き、理解するのに結構時間がとられました。実装したらしたで、今度はそのタグ機能を検索するとなると検索ワードが1つとは限らないのでクエリーを動的に生成する必要が有り、これも実装するのにかなり時間が掛かりました。SQL文だけならば比較的すぐに検索でヒットしますが、それをSQLAlchemyでどう実現すれば良いか分からずかなり時間が掛かりました。DB設計やSQLAlchemyの文法に自信は無いですねぇ。他人の咀嚼した情報からしか情報を得る事ができなかった。OverflowとQiitaと個人ブログが無ければこのサイトできなかったので自信の咀嚼力強化が必須だと思いました。・5ヶ月と時間が掛かりまた反省点も多々有るが、とりあえずサービス公開までもっていけた事が嬉しいです。Overflowを行ったり来たりしたおかげで英語アレルギーがそこまで無くなった。・で、作った成果物は以下になります。https://gamesanka.com/ゲームサンカと言います。オンラインゲーマー向け(e-sports)のマッチングサイトになります。名前が安直で小学生が5秒で考えたような名前ですが、安直で気に入っています。作った理由は、僕はBF1が好きなのでオペレーションキャンペーンと言うモードをやろうとしたのですが、時間帯が悪いのか過疎なか分からないが全然マッチングしないのですよ。やりたいのにマッチングしないので出来ないどうしよう、と。昔セールでFarCry3をかなり昔に購入した時(既に4が発売済み)にCO-OPモードが全然マッチしない事が有り旬が過ぎたオンラインゲームは中々マッチしなくてほぼシングルモードしか出来ない事は割とあると思うんです。今だとBF4もかなり人数がいない状態なので特定マップのみとか。オンラインゲームでマルチプレイやCo-opで人を集めたい時、PUBGやFORTNITE等バトロワゲームのスクワッドを募集する時、オンラインゲームの大会(e-sports)を開きたい時に利用して貰えると嬉しいです。想定ユーザーと考えているのは、FPS/TPS/RTS/MOBA等のPCゲーマーをメインに考えていますがCS機やTCGでも使って貰えると嬉しいです。あとViewがレスポンシブでは無く、PC用とスマホ用しかなくタブレット用の中サイズのViewが無いのでご了承下さい。タブレットで解像度が高い方はPC用で見て頂ける助かります。最後にお願いがあります。僕と一緒に以下のゲームを遊んで頂ける方を募集しています。Daylight(PC版)それでは長々とありがとうございました。いな楽そのものすらも感じ得ない。日月を切り落し、天地を粉韲して不可思議の無職に入る。死んでこの無職を得る。無職は死ななければ得られぬ。南無阿弥陀仏なむあみだぶつ南無阿弥陀仏。ありがたいありがたい。誰かわからないけれど毎月売上10000円位しか無い私のブログ経由して昨日1日でこれだけ買ってくれた人ありがとう。