「RDB」を含む日記 RSS

はてなキーワード: RDBとは

2020-08-01

anond:20200731155404

RDBから頭が離れられない人?

増田が言う一般的実装を依頼したら、変なオリジナリティ出されてセンス無い例みたいにしたなら、まあ同意できる

結局のところメモリに展開した時に使いやすければ良いわけで、データ構造で気になるのは行と列を一つの値にしてるくらい

2020-07-31

https://anond.hatelabo.jp/20200731155404

データスキーマデータのものを別々に定義すると便利っていうの、RDB経験なしに「センス」でたどり着いたら天才的だと思うんだけど

増田はてブ天才揃いで凄いわ

2020-07-18

anond:20200718061758

前のゲームテキストファイル管理してましたがRDBでやるなら、たぶん項目がひとつずつ増える事が多かったので、わざわざ別テーブルにせずに、alter tableをしてたと思います

RDB検討した際にテーブル分割などを考えましたが、アップデート仕様がAになるかBになるかわからない時点で正規化は無理だと断念したのを思い出しました。

作り直すのは途中で何度も考えましたが僕の性格では全部消して作り直すのは非常に難しいように感じます

作り直せる人ってすごいですね。思い切りが大事なんでしょうか。。。

anond:20200718044903

最初質問を見たときから普通にidjoinしてるだけじゃないのって思った

RDBを使って作ってあって、新しいtableが参照したいテーブルidを持つようにしておけばjoinで全部の要素を持った大きなテーブルがあるかのように扱えるよね。

気ままにそういう運用をしてきたらjoinによるオーバーヘッドがばかにならなくなってきたり、テーブル間の関係が複雑になりすぎて訳が分からなくなってくると思うので、そういう時はいったん開発を止めてリファクタリングするべきだろうね。

個人的には開発がある程度進んだ段階で全体を俯瞰してご破算で願いましてはして作り直すのもそんなに嫌いじゃない。

ゲーム作りの相談

高校生です。寝る前に面白いゲームを思い付いたのでどうやって作ろうか考えていたらこんな時間になってしまいました。

沢山のモンスターが出てきて、それを集める要素があるのですが、このモンスターデータをどう管理するのが良いのか、さっぱりわかりません。

識者の方、お力を貸して下さい。

相談内容を簡単に言うと「仕様が固まっていないゲームモンスターデータをどう管理するか」です。

まず、ゲームは小さく作りたいので、モンスターデータも最小限になるのですが、もしヒットしたらどんどん要素を追加したいのです。

最初モンスターの数も100ぐらいですが、ゲーム寿命を伸ばしたいので、数千ぐらいまで増やせるのが理想です。

そして、ここが肝心なのですが、ユーザーの反応を見ながら仕様を変えたいので、どんなデータ必要になるのかは、究極的にはサービスが終了する時までわからない、という事です。

年の離れた兄に相談したら「それって昔流行ったパズドラみたいだね」と言われました。話を聞くと確かにそんな感じがします。パズドラ最初から今の形が全て決まっていたとはとても思えませんでした。

(合成とか覚醒スキルとかプラスなどなど、どうみてもあとで思い付きで増えた要素があるように思えます)

なので、この質問パズドラぐらい大ヒットさせたいという野望があるゲームモンスターデータ最初期にどう設計するか?と言い換えることもできるのかもしれません。

以前に似たゲームを作った時に困ったのは、例えば

id, 名前, hp, mp

みたいにデータがあるとすると、あとでモンスター進化させようとして、進化id という項目を付け足したり、そもそもid っているの?表の上から順番に何個目かってのをid にしたら良くない?と思ってid を削除したり、

などとやっているうちに、コードがぐちゃぐちゃになりました。

どんな追加要素がきても柔軟に対応できて、コードがぐちゃぐちゃにならないようにするにはどうすれば良いのでしょうか?

モンスター進化させる素材(モンスター自体が素材になる事もあり得る)なんかはモンスターデータと同じものとして管理するのが良いのか、別のものとして管理するのが良いのかもわかりません。

テキストファイル管理したら良いのか、RDBなどで管理する方が良いのかも判断できません。

2020-01-08

無印良品ウェブサイトが止まってる件について思うこと

この件⇒ https://togetter.com/li/1452558

ユニケージbashパイプで作られた、RDBMSを使わずテキストファイルによる空白区切り行志向レコードへのデータ処理(だいたいプログラム1本の処理内容がメインフレームCOBOLのそれと同じくSQLクエリ1個に相当する)で、同形式によるマスタとトランザクションファイルRDBMS内部のredoログに相当)を使う(データに含まれる空白文字0x20はアンダーバー0x5Fに置換する、アンダーバー複数存在するデータ場合どう扱うかは知らない)

開発と更新は早いんだけど参照が(テキストファイルなので)インデクスが効かないためシャーディングするしかなく、要するに検索機能の柔軟性がなく、リアルタイム性を損なう

おそらく基幹系というか在庫管理をユニケージでやっているので、ウェブサイト自体はユニケージ実装されていないかもしれないけど、しかし根幹に上記のような手作りデータベース実装があるし、RDBMSに移行するとなると全部を止めてマスタとトランザクションファイルマージしてインポートすることになる

追記トランザクションファイルのマスタへのマージ営業時間後の日次バッチとかでやるはず

システムを止めている間も店舗運営を続けているなら、たとえば店頭在庫を潤沢に積んだうえで、店舗間での在庫の融通は禁止し、店頭での売り上げ分はどこかでRDBMSに計上しなければならない

追記テキストファイルに対するインデクスをつくって行頭へのシーク高速化をすること自体はもちろん一般的には可能だけど、ユニケージ方法論だとそれをする標準的方法はないはず。ユニケージRDBでもNoSQLでもなく、バイト位置でのシークという操作自体がない世界なので。sedとかで行の差し替えをした場合SQLのUPDATE相当)当然行頭のバイト位置が変更した行以降ですべてずれてしま可能性があるのでインデクスの更新がひどく非効率になる

追記文章下手ですみません。ユニケージの良いところはRDBMS実装の基礎を理解できるところ(これはDate先生教科書を読んだりOracle Silverの勉強をしたりSQLの書き方を工夫したりクエリプランを読んだりするよりずっと効率的に学べる、ただしファイル編成法の知識ちゃんとした教科書で補う必要がある)、アプリケーション実装技術について横断的な理解ができるところだと思います(USP研究所シェルスクリプトマガジンには実際勉強になりそうな記事が多い)自分はユニケージへの移行案件を生き残れなかったクチなので。。

追記:Tsukubaiは好きになれませんでした。

追記anond:20200115152201

2019-05-23

誰か雇ってくれ

SQLJavaScriptExcel VBAVB.NETC#Java。前者ほど触ってる期間が長い。SQLJavaScriptが1年半くらい、Java参考書一冊読んだくらい。

Webで言うとフロントはAngularが少し分かる。サーバーExpressが少し分かる。

RDBテーブル15個くらいの社内向けWebシステムを一人で組んで現在半年以上運用中。今はテーブル40個くらいのシステム組んでるところ。

LinuxUbuntuなら少し分かるけど、Docker周りは手を出したことがない。AWSとかGCPとかも分からない。

実務経験は無いに等しい。独学とプライベートの開発だけでこれまでやって来た。

できれば茨城県南だとありがたい。誰か雇って下さい。

2019-03-24

SQLアンチパターンコピペするアンチパターン

キーレスエントリー(外部キー嫌い)

外部キー嫌いがアンチパターンなのは同意だが、間違った外部キーの使い方するほうがよっぽどアンチパターンじゃないか

外部キー貼らなかったことによって、俺はこんな被害だしたぜっての是非教えてほしい。

すぐに思いついたケースは

とかを思いついたがこんなケースで合ってるのか?こんなケースより間違った外部キーの使い方したほうが家に帰れなくなるケースのほうが多いと思うぞ。間違った使い方をしていて、システムが太ってくるとこんなケースが出てくる。

特に下2つは害悪で、SQLアンチパターンコピペして、「おまえらw外部キー嫌いはアンチパターンだぞwww」ってやるのもいいけど、同じくらい間違った使い方を注意喚起したほうがいいと思うよ。DB識者のなかでは「そんなの常識w」かもしれないが何もしらない初心者が真似をしてお家に帰れなくなるのは辛くないか

そんな経験していると、DB初心者は「せや!ユーザテーブルに退会フラグ論理削除フラグ持ったろwww うはw天才www」とかなって今度は削除フラグ持つなおじさんが出てくるぞ。しまいにはこれですよ。

http://b.hatena.ne.jp/entry/s/qiita.com/ponkotuy/items/6049388d564fb4385f4e

初心者どうしたらいいんでしょうね(*_*) 是非、DB識者には明るい未来を示して欲しいね

俺?俺はAndroidエンジニアSQLiteは使わないか関係いね

RDB初心者の俺が恐れ多くも案を出すと、FK作成する前に、そのテーブル性質予測することが大事なんじゃないかね?大量に発生するログデータなのか、大事トランザクションデータなのか、第2正規化しただけのただの情報テーブルなのか。大事トランザクションデータだったら親が削除された時にどこにどうやって退避するか。大量のログデータだったら、親が削除される時どうアプローチするか。とか恐れ多くも予測するね。

ちなみに外部キーいかER図出せないってのはそれはツールの作りであって、FK制約とは関係ないんじゃないの。バリデーション(外部キー)はセキュリティ対策(ER図を作成する)の為、実装するってのと個人的に同じことだと思っている。

から先ずは外部キー使用していなくて「こんな被害を出した」ってのを聞いてみたい。

2019-02-06

COBOLってこんな言語

日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。

https://anond.hatelabo.jp/20190205192741

COBOL本質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルデータ処理を想定している感じ。

SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通JavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。COBOLもそんな感じで、全体の流れをJCLやShellスクリプト、あるいはJP1のような運用管理ソフトで書く。SQLの1個の処理に相当するのがCOBOLコンパイル単位で、それごとにソースファイルが分割される。ひとつソースファイルに2個以上の処理を書くこともできるけど普通はしない。ここまで理解すると古いCOBOLに1ファイル内のすべての処理に影響するグローバル変数しかないのや、今のCOBOLコンパイル単位をまたぐ真のグローバル変数がないのも、それほどクリティカルではないことがわかると思う。もし、本当に複数の処理にまたがる値が必要なら、データベースに格納してしまえばいいんだし。

で、SQLでいうところのデータベースに相当するのがCOBOLではデータファイルsedawkテキストファイルCSVファイルを行ごとに処理するのとちょっと似てるけど、COBOL場合は固定長ファイルという点が違う。改行文字は入ってなくて、たとえば150バイトごとに次のレコードみたいな形式。これの1レコードごとに何月何日何時に〇〇という商品を□□円で売ったとか書いてあるのが典型的データの内容。それを集計して今日は〇〇が何個売れて売上がどれだけあったとか、出金合計がいくらで入金合計がいくらで、みたいな財務諸表を作ったり。SQLと同じように税率なんかが書いてあるマスタデータと、日々の売り上げが書いてあるトランザクションデータがあって、突き合わせたりということもする。こういう集計処理だからUIはなくて、夜中に自動起動するようなバッチプログラムが主な使われ方。(混乱するから余談だけど、今のCOBOLSQLを使って普通RDBにもアクセスできる。ただ使い方としては、RDBファイル処理→ファイル処理→ファイル処理→ファイル処理→ファイル処理→RDBみたいに、最初最後だけみたいなのが普通

入出力がファイルから今の感覚で考えるとアクセスは遅い。でもメリットもあって、1回に1行しかメモリに乗せないからどんな巨大なデータでも時間さえかければ処理できる。それこそ国民ひとりひとりの年金データとかね。あと、途中でバグ不正データで止まってもデータを失うのは最小限で済むので復旧が比較的楽だったり。

データベースの話に戻ると、テーブル定義はどこに書いてあるかというとデータファイル側ではなくてCOBOLプログラム側、というのがSQLと一番違うところかも。つまり、このデータファイル構造はこれこれこうなっていると想定して読みます、とソースコードに自分で書く。当然実際のデータ構造がそれと違ってたらおかしくなる。

まあそんな感じで80年代くらいに会計処理をする目的だったら悪い言語ではなかったので、銀行官公庁とか、電力水道ガスといったライフラインを扱う大企業がこぞって導入して今に至る感じ。普通大企業は途中でSunかに置き換えてその後Linuxクラウドさらに置き換えたりしたけど、最初に作ったシステムが大きければ大きいほど、重要であれば重要であるほど現代的な環境に置き換えられないというのが今の課題

2018-10-20

anond:20181020224028

同意

ロック処理とか甘いしサイズ制限も2GBだしANSI SQLに一部対応してないしで、Webサービスバックエンドに向かないのは間違いないが、さりとて5万行程度のテーブルを捌けない程無能RDBでもない。

複数テーブルでもちゃんと外部参照設定して第3正規化するくらいは普通にできる。複数テーブルJoinしたりサブクエリ書いたりもできる。

元の発言した人は、ちゃんAccessを使ったことがあるのか疑問である

ただ、Excelよりも便利なのは確実だが、WordExcelくらいしか使えない人も多いので、ほかの人とデータ共有するのであれば、Excelのままでもいいかな。

2018-08-30

[]2018年8月29日水曜日増田

時間記事文字数文字数平均文字数中央値
008615570181.063
0141295472.040
02152460164.060
03165067316.738
04193688194.163
05541783.422
06648781.239.5
0720149774.935
08345674166.950
09666624100.435.5
10929985108.546
111171020987.350
1211613997120.735.5
13110584453.132
141421268489.339
15145955165.933
16148901160.934
1775639685.335
1816123682147.130
191371271192.842
207510183135.855
211141093895.935.5
221101063696.741
23137827660.432
1日198719854199.939

頻出名詞 ()内の数字単語が含まれ記事

人(179), 自分(134), 話(86), 問題(81), 今(76), 日本(64), 仕事(64), 増田(60), 意味(58), 女(58), 男(55), 必要(50), ー(47), 人間(46), 気(45), 感じ(45), 前(44), 好き(43), 理由(41), 場合(40), あと(39), 相手(38), 子供(37), 関係(36), 存在(35), 金(34), 安倍(33), 他(32), 最近(31), 世界(31), 無理(31), 女性(29), 気持ち(28), 会社(28), 事実(28), 社会(27), 状況(27), レベル(26), しない(26), マイノリティ(26), 結婚(25), ネット(25), 普通(25), 完全(25), 別(25), ただ(25), 子ども(25), じゃなくて(25), 今日(24), 結局(24), 生活(24), 頭(24), 時間(23), 大学(23), 理解(23), 検索(23), 記事(23), 意見(23), お金(22), 絶対(22), 中卒(22), 親(22), 最初(22), ダメ(21), 個人(21), 自体(21), 作品(21), 言葉(21), 昔(20), 正直(20), 確か(20), 目(20), バカ(20), 件(20), 違い(19), 友達(19), 可能性(19), 人生(19), 認識(19), 扱い(19), 嫌(19), 全部(19), 障害者(19), 馬鹿(19), 内容(19), 一番(18), 毎日(18), 差別(18), 手(18), 主張(18), 逆(18), 権力(18), 批判(18), 情報(17), 場所(17), オタク(17), 普段(17), 世の中(17), サービス(17), 結果(16), たくさん(16), 顔(16), html(16), 嫌い(16), 全て(16), 質問(16), マジョリティ(16), 先(16), 現実(16), 平成(16), 家(16), 表現(16), 漫画(16), 日本人(16), マジで(16)

頻出固有名詞 ()内の数字単語が含まれ記事

日本(64), 増田(60), 安倍(33), マイノリティ(26), じゃなくて(25), 障害者(19), 可能性(19), 平成(16), マジで(16), マジョリティ(16), 自民党(15), 低所得(14), アメリカ(12), なんだろう(12), ブコメ(11), PC(11), 元増田(11), 最低賃金(10), 物理法則(10), YES(10), 機械化(10), 二次創作(10), ワイ(10), はてなー(9), ようじょ(9), 健常者(9), 何度(9), 障碍者(9), 普通に(9), 2018年(9), 下方婚(9), な!(9), IT(9), ツイート(9), 米(9), ネトウヨ(8), いない(8), 共産党(8), DL(8), はてブ(8), トラバ(8), s(8), B(8), Google(8), Twitter(8), 関係者(8), ブクマ(7), アプリ(7), 東京(7), 一緒に(7), 自衛隊(7), 娘(7), 基本的(7), わからん(7), キモい(7), 石破(7), 筋トレ(7), twitter(7), 24時間テレビ(7), ブログ(7), SNS(7), にも(6), なのか(6), 発達障害(6), 1人(6), どんだけ(6), 好きな人(6), サーバルちゃん(6), Suica(6), RDB(6), pixiv(6), 真珠湾(6), 単純作業(6), 回転寿司(6), NHK(6), スマホ(6), RDBMS(6), タトゥー(6), 毎日(6), ???(6), 自然法則(6), ツイッター(6), A(6), アベ(5), 一般市民(5), さくらももこ(5), フェミ(5), 1回(5), ちびまる子ちゃん(5), ガチャ(5), ありません(5), ブクマカ(5), 1日(5), Amazon(5), 中国(5), 結果的(5), hatena(5), かな(5), 北朝鮮(5), お客さん(5), 20万(5), ちんこ(5), 障害者雇用(5), いいね(5), 艦これ(5), 2年(5), 被害者(5), 大五郎(5), はてな民(5), 個人的(5), LINE(5), スレ(5), 7%(5), 10人(5), ゴルドー(5), E(5), 民主主義(5), jsfiddle(5), 人間性(5), …。(5), 正義(5), 1割(5), 同人誌(5), 1件(5)

投稿警察もどき日中に再投稿された本文の先頭20文字 ()内の数字投稿された回数

うんち (12), そうだね。うんちだね。💩 (3), パンティー (2), https://jsfiddle.n(2)

頻出トラックバック先(簡易)

世界三大ペンギン /20180829074002(11), ■[ゲーム]クイズ検索したら1件しか出ませんでした /20180829140908(10), ■ /20180829165740(8), ■早稲田大学現代文コースセクシャルハラスメント報告書がひどい /20180828223619(7), ■【思考実験】女はゴルドーを避けるのか? /20180829123815(7), ■なんで漫画実写映画は /20180829112319(7), ■anond20180829183228 /20180829184256(6), ■ /20180829113426(5), ■【緩募コミュニケーション不要仕事急募】 /20180829213909(5), ■外人って寿司おいしいって思うのかな /20180828164004(5), ■沸騰した味噌汁 /20180828153328(5), ■ワイシャツってクリーニングに出す物なの? /20180828221836(5), ■揚げ物 /20180829141503(5), ■anond20180829154129 /20180829154559(5), ■増田って /20180829004704(5), ■娘ちゃんとうんち /20180829125723(5), ■お見合いするべきか? /20180829205310(5), ■保護猫さんを飼いたい /20180829081201(5), ■ナンパは軽薄で犯罪的な行為なのか? /20180829222920(4), ■anond20180829185836 /20180829190637(4), ■ /20180829121011(4), ■はてな民繊細チンピラ多すぎ問題 /20180829125728(4), ■卵かけご飯 /20180829122540(4), ■ネット上の艦これコミュニティまとめ /20180829031342(4), ■ /20180829111343(4), ■平成が終わる という表現 /20180828120344(4), ■日本人の字幕への意識の低さは何なん? /20180829155850(4), ■anond20180829182954 /20180829183228(4), ■筋肉っていつからブームになったの? /20180828201927(4), ■はてな民Vtuber知識ガバガバ /20180829162352(4), ■anond20180829161508 /20180829161634(4), ■風邪幼女って効果あるの? /20180829094551(4), ■ /20180829140907(4), ■いい歳してコンビニ立ち読みしてるおっさん /20180829083418(4), ■24時間テレビを叩いている方へのお礼 /20180829112304(4), ■フリーアーチャーにならなきゃよかった /20180828115851(4)

増田合計ブックマーク数 ()内の数字は1日の増減

5555667(3158)

2018-08-29

anond:20180829105139

ある程度のロスは許容できないと無理じゃないかな、やっぱり

一貫性とかその辺はRDBにはかなわない部分だし

anond:20180829104750

なる。IoT機器の定点データを保存する、ってことを考えたら確かにRDBじゃきつくもなるわな。

zabbixですら結構ヒーヒー言ってるのに60秒ポーリング10ユーザとかじゃ確かに無理だわ。

サービスではそういうメトリクスってどういう扱いにしてんだろうな。消えてもいい扱い?

anond:20180829102902

いやー、RDBMS上位互換的な概念ワードは今のところ聞いてないで。

ざっくりNoSQLって括りは「RDBのそれぞれの機能に特化した」ようなものとして、

RDBMSは(速度以外に於いて)それらNoSQLで補っている全機能が入ったパーフェクトな何かって扱いなのは変わっておらんやろ。

anond:20180829102525

言うてNoSQLでアクロバティックなトランザクション処理するよりは大人しくRDB使うやろ。

実際google検索したときに出てくるリンクデータをどういうデータだと位置付けているかは知らんけど。

anond:20180829102358

知らんけど、最終的なデータ保存・取り出しシステムを構築する際にRDB以外がその候補に挙げられることがあるかどうかという所が想定つかない。

他に無いだろ。

2018-08-14

anond:20180814215730

いやRDB-Webアプリって、それがExcelの帳簿より格段に管理が楽になるとは思えない。

記録の重複は防げそうだけど、そんなモンでしょ。

あとRDBクラッシュしたときのためのバックアップ/リカバリの仕組みだなんだとか、そこまで踏まえたカネと時間を誰が出すの?とか。

2018-05-27

吾輩は無職である。暇だから初めてWebサービスを作ったのである

吾輩は無職である。職はまだ無い。どこで無職になったか、とんと見当けんとうがつかぬ。

何でも薄暗いじめめした所で手斧を投げられていた事だけは記憶している。

吾輩はここで始めて増田というものを見た。

しかもあとで聞くとそれは増田という人間中で一番獰悪な種族であったそうだ。

・・・

まぁ、前置きの冗談はこの辺までとして、前々から作りたいな思っていた

Webサービスを中々時間が取れず作るのを諦めていたのだけど、

まぁ無職になって時間も取れたので作った次第です。

自身プログラミング生業とする職業では無く、学生時代特にプログラミングついて何か

勉強をしていた訳では無かったので一から勉強になりました。

始めたのが昨年末大晦日ちょい前なので、約5ヶ月掛かり、当初想定していた期間より

かなりの時間が掛かってしまい、反省点等含めその辺の事を書けたらなと思います

■やりたい事(実装した事)

ゲームユーザー同士を繋げるマッチングサイト出会い系ではないよ。)

ログイン機能

タスクベースでのチケット管理

・簡易コメント機能

・簡易評価機能ポイント

ステータス動作変更処理

タグをつける

上記DB管理

構成を書いた方が良いと思うので

以下になります

構成

--------------------------------------------

サーバさくらVPS 2G

OS:CentOS 7.5

WebサーバNginx 1.14

WSGI:uWSGI 2.017

FW:Flask 1.0.2

RDBSQLite3 3.7.17

ORM:SQLAlchemy 1.2.7

言語Python 3.6

フロントPure JavaScriptのみ

その他ツール等:Let's Encrypt/fail2ban/等々

--------------------------------------------

上記を見て貰えれば分かるかと思いますが、最近流行りの

フロントエンド技術等は一切入ってはいないです。

ほぼ、既存ベーシックサーバーサイド側の制御のみです。(jsで非同期通信はしてます

SPAとかVueとかの言葉最近知りました。。。

ほぼ開発終わりかけに知ったので、流石に今から構成

変えるのもなと思い、取り敢えず上記です。

■選定理

まずWebサービス作るにあたり、何が必要だろうと思い

まずは開発言語だろうと、プログラミング言語の選定で

RubyPythonかで悩みました。

Rails名前を良く聞くのでRuby on Rails触ったのですが、

Railsには馴染めなかった(扱えなかった)ので

何かマイクロFWの方が良いのだろうと、Sinatraいこうか思いましたが

Railsの印象が強く残った為、Rubyは止めてPythonに移りました。

今度は初っ端からマイクロFWが良いだろうとFlaskのサンプルを試すと

比較プログラミング学者でも扱いやすく覚える事も少ないので、PythonとFlask

の組み合わせで決定。

(気軽にプログラムを書け、自分イメージしている処理や制御を素直に実現できる点が

 書いていて気持ちが良いです。まぁ分からない所も有りますが、そう思わせてくれる点

 が良いです。モチベーション的に)

NginxとuWSGIの組み合わせはFlaskで検索すると一番でてくるのでこれに決定。

SQLite3 はマイクロFWから軽めのDBでたぶん大丈夫だと思ったのでこれに決定

ORM(SQLAlchemy)も検索で一番出てくる為。

■開発概要

・まずPythonの開発環境を整えようとなり、WindowsVagrantインストールして

 仮想マシン環境構築。ゲストOSの中にPyenv等を入れPython環境構築

上記構築後に取り敢えず小さなサンプルから作ろうとなり、簡単CRUDをFlaskで行える様にしました。

 これができた時は嬉しかったです

上記が出来てから、本番の開発に移りCRUDベースにひたすら肉付けていく

ユーザー登録機能作成/ログイン機能作成/ユーザー情報表示/編集機能/チケット作成/及び編集/バリデーション

上記平行してDB機能作成実装/検索機能作成

・細かいViewの調整とスマホ用のView作成レスポンシブルでは無いので)

・本番用のさくらVPS環境構築とセキュリティ用のツール導入とLet's Encryptでhttps

上記以外の細かい調整等含め、約5ヶ月になります

■悩んだ点/反省

・悩んだのがタグ機能周りになるとどうすればよいか、かなり悩みました。

結論を言うとToxi法を使用しましたのですがここにたどり着き、理解するのに結構時間がとられました。

また、実装したらしたで、今度はそのタグ機能検索するとなると検索ワードが1つとは限らないので

クエリーを動的に生成する必要が有り、これも実装するのにかなり時間が掛かりました。

SQL文だけならば比較的すぐに検索でヒットしますが、それをSQLAlchemyでどう実現すれば良いかから

かなり時間が掛かりました。DB設計SQLAlchemyの文法に自信は無いですねぇ。。

・1次情報リファレンスから情報得ることがほとんど出来ず(たまにはできたが)、

他人咀嚼した情報からしか情報を得る事ができなかった。

(恥ずかしながら、咀嚼されなければ理解がおぼつかない状態

Stack OverflowQiita個人ブログが無ければこのサイトできなかったので

自信の咀嚼力強化が必須だと思いました。

作成結構時間が掛かったのでもっと短くしたい

総評

・5ヶ月と時間が掛かりまた反省点も多々有るが、とりあえずサービス公開まで

もっていけた事が嬉しいです。ただただ嬉しい。

・FlaskとSQLAlchemyの情報日本語が少ないので公式リファレンスとStack 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用で見て頂ける助かります

最後にお願いがあります

僕と一緒に以下のゲームを遊んで頂ける方を募集しています

遊んでも良いよという奇特な方がいましたら当該サイト内でコメント頂けると幸いです

・BF1(PC版)

・Dead by Daylight(PC版)

それでは長々とありがとうございました。

・・・

無職はただ楽である。いな楽そのものすらも感じ得ない。

日月を切り落し、天地を粉韲して不可思議無職に入る。吾輩は死ぬ

死んでこの無職を得る。無職は死ななければ得られぬ。

南無阿弥陀仏なむあみだぶつ南無阿弥陀仏

ありがたいありがたい。

2018-03-18

プログラミング歴とプログラミング能力ほとんど関係無い件について

ほとんどの人はもう既に気付いていると思うけど、あえてこの表題言及している人はあまり多くないんじゃないかと思ったので書く。炎上したら💩なのでここに書く。

結論から言うと、プログラミングを何年やったかプログラミング能力はこのぐらいと言うことは絶対にできない!

これは何もIT業界だけでなく他の分野でもそうだ。たとえば野球とか絵画かにも言えることで、ただ年数を重ねればいいってわけではない。勘違いしてほしくないのは、他の業種ではただ年数を重ねればいいといっているわけではない。

コンビニだったら始めはレジ打ちから入るだろうが、だんだん品出し、他者とうまく調整できv、何が売れるか・何が利益率を叩き出すかを把握し、接客態度は絶えず磨き……というように、能動的にスキルを身につけるなければあっという間に「経験した年数」などというものは何の武器にもならないであろう。(「やっても給料変わんない」とかそういうのは抜きにしても)

IT業界でもこれが言えるのだ。

その証

個人的経験によるサンプルしか無いが、ぼくの経験上では年数が高ければ高いほどいいと思ったことは全くない。もちろん2ヶ月の新人と5年目の人での比較はなかなか難しいが、情熱ある新人プログラマ半年で5年目を追い越すなどということはありふれた話だ。あたか大人小学生中学生さらっと数学英語能力で負けるように負ける。

残念ながらしっかりした実証などはないので、周りの環境がそうではない場合は納得できないかもしれないが、以下は明らかであろう。

経験年数とは時間であり、重要なのは時間を代入すると成長度合を求められる関数(ここではFとする)の違いである。(F: time -> ability)

Fの方が大事理由も明らかだ。timeケチをつけようとする例外を除けば誰にとっても同じであり、おもしろくもなんともない。

Fの次元が違う場合は、能力次元文字通り違う。そのため、かなり重要だ。

プログラミング歴が増えることは恥だと思いたい

プログラミング歴2年だからこんなことを知っている」と周りから評価されるというのは、要は「プログラミング2年生」だということだ。これははっきり言って侮辱である。2年プログラミングをやったから知っているんじゃなくて、2年の間で勉強したことたまたま別の箇所で出現したということだ。決して2年やったからではない。2年の間に獲得したスキルがいっぱいあるからだ。2年は重要じゃない。どれだけやったかだ。2年という期間それ自体は全く重要ではない!

プログラミング歴2年なのにそんなことまでできるのか」というのが真の評価なのだ

これはまあまあ高い評価である。「プログラミングを始めてまだ半年なのにそんなことできるのか」という評価はより容易く得られる。年数を重ねれば重ねるほどこの評価に達するのは難しくなる。したがって「プログラミング10年なのにそんなことまでできるのか」という評価ほとんど得られない。ほとんどの場合、「10年やってるからできるんだな」とか、ひどい場合10年やってるのにこんなこともできない」という評価になる。

これもある種、年数というもの全然重要じゃないとみなされている証左であろう。みんな知らず知らずのうちに周囲の人々の経験年数と能力とでおのおの相関図を作り上げて、標準偏差をなんとなく作り出して、「45歳……クソコード……チーン!こいつは偏差値37!落第!死刑!」みたいなことをやってるんだろう。

プログラミングも慣れてくると、特に新しいことを勉強しなくてもなんとなくできるようになってきはじめる。これが危険シグナルだm

謙虚でありたい

自分プログラミング歴が長いのに、HTTPSの仕組みもTCPの仕組みも詳しく知らず、JavaScriptもまともに書けず、WebAssemblyは全く知らないし、RDBのことは知らないし、もちろんRDB以外のDBちんぷんかんぷんで、デスクトップアプリは作ったことがない、サーバサイドはRailsしか知らない。Railsがどう作られているかも知らない、gitの触りぐらいしか知らない、AWSGCP全然使いこなせない、公開鍵暗号方式もよく知らないし、アルゴリズム簡単ものしかからない。デザインパターン勉強してないし、関数型言語もわからないし、C言語全然読めない、アセンブリはやろうと思ったことすらない、正規表現も複雑なものはいまいちわからないし、機械学習はわからないし、そもそも数学不安で、AndroidアプリiOSアプリもまともなものリリースしたことがなく、エディタは人が作ってくれたプラグインをただインストールするだけで、英語ほとんどできず、セキュリティに関してはザルもいいとこ」

のように自分を見直すべきである。もちろんほとんどの人はそうしているとは思う。そもそも自分プログラミング歴が長いのに」という部分はもはや要らないだろう。

あとはただ穿つだけである能力は、どれだけ、何を、どうやったかとの方と強い相関を持つ。能力とは現在状態であるのだから、強い相関を持つのは最最もである

結論

少年老い易く学成り難しである

一刻も早く「プログラミング歴」でなんとなくの判定するのをやめて、プログラミング歴1秒の人に対しても、プログラミング1000年の人に対しても、そのFを見るようにし、自分はとっとと次元を越えて昇華したいものである

結局、「いっぱいやればいっぱい成長する」という自明結論自体は変わらないんだが(高)

2018-03-09

エクセルの表をデータベースと言う上司

データベースを送ります

「このデータベース作成して下さい」

などの用法で、エクセルファイルが扱われているのだが、

データベースと聞くと、RDB等のもっとのもの想像するのと、

一般的に、エクセルの表をデータベースと言う人はあまりいない(と思っているのだが)気がするので非常に気になっているのだが、過去に、

「え?データベース・・・、ああ、エクセルファイルのことですか?あまり聞き慣れないのでわかりませんでした」

くらいの会話をしたのだが完全にスルーされ、

エクセルに集積したデータを「データベース」と表現しても全く間違いではないか・・・、というのもあり、

まりしつこく指摘するのもなんだなとか思いつつ、モヤモヤし続けたまま、仕事をしている。

ログイン ユーザー登録
ようこそ ゲスト さん