「演算」を含む日記 RSS

はてなキーワード: 演算とは

2019-04-11

見比べてみてやはり物理演算おっぱいの動きはまだまだニセモノなんだなぁと思った

https://www.youtube.com/watch?v=seKCtsaK2nc

2019-04-01

anond:20190401113433

明示されていようがいまいが誰かが決めなきゃいかんのだからそんなん気にするだけ無駄だろ

AI演算して決めるわけじゃねえんだから

2019-03-26

人類がPUBGのようなバトルロワイヤルゲーをやったらどうなるか

今は一つのバトルフィールド100人程度集めてドンパチ、って規模しかできないけど、

超巨大な演算能力を持つサーバーに全人類集めてバトルロワイヤルさせてみたいって思わない?

2019-03-25

Stadiaの開発者インタビュー

Eurogamerにより独占配信されたStadia開発者二人に対するインタビュー記事

https://www.eurogamer.net/articles/digitalfoundry-2019-google-stadia-phil-harrison-majd-bakar-interview

やっつけなので可能なら原文を読むことをお勧めします。

---

なぜ今なのでしょうか?

タイミング問題です。20年間の蓄積によりGoogleにはデータセンタ内のパフォーマンスに優位性が存在します。Googleデータセンタ内ではHWメーカーです。我々はデータセンタ内で何年もの間、高い性能で端末間を接続する基盤を構築してきました。Youtubeでの経験からプレーヤーサイドの観点からだけでなくデータセンタ内部から技術観点から技術統合を行ってきました。他社でもその視点存在していますGoogleにはその点に固有のアドバンテージ存在します。

これまでの箱をTVの下に置いておいたパラダイムに比べ、無限演算リソースによる可能性が現れます。これまで存在しなかったことをできる可能性があります

その通りです。我々にはレガシーがありません。全てが21世紀のために設計されています開発者制限の無い計算資源が利用でき、何よりもマルチプレーヤーサポートできます。これまでのマルチプレーヤー環境は一番遅い通信に影響を受け開発者は最も遅い接続に対し最適化必要でした。我々のプラットフォームではクライアントサーバも同じアーキテクチャの下にあります。これまではクライアントサーバの間のping支配されていましたが我々の環境なら最速でマイクロ秒で済みます。だからプレーヤーの数は単一インスタンスにて動的にスケールアップが可能です。バトルロイヤルなら数百から数千、数万のプレーヤーが集まることも可能です。それが実際に楽しいかどうかは置いておくとしても、新聞ヘッドラインを飾ることが可能技術です。

クライアントサーバの双方でこの利益を得られるのでしょうか

両方です。

すると開発者に対しStadiaホリデーシーズンにぴったりの最高の製品だと言えると。理に適った範囲無限計算資源が得られると。

ユーザが我々のプライベートLANからはみ出さないだけでもその効果は大きいものです。Googleは45万kmに及ぶ光ケーブルにより世界中データセンタ間を接続しています米国西海岸から東海岸まででも20ms、フランクフルトからマドリッドでも20ms。これにより開発者は最も極端な場合においてもレイテンシ予測可能でそれに従い設計を行うことができます


Youtbeとの統合について教えて下さい。

StadiaYoutube技術と深く結びついていますが、実際には一歩引いています今日ゲーム業界を考えてみて下さい。2つの世界共存しています。1つはゲームプレイする人々で、もう1つはゲームを見る人達です。2億人の人々がYoutubeゲーム毎日見ています2018年には述べで500億時間ゲームを視聴するのに費されています時間人口の双方で信じられない程の視聴が存在します。我々のビジョンはこの2つの世界を1つにすることでゲームを見ることができ、かつ、プレイもできる、双方向に楽しめることです。

まり重要なのはゲームシステムでもなくコンソールでもありません。噂とは異なり我々はコンソールビジネスには参入しません。我々のプラットフォームの要点はコンソールでは無いことで、皆が集まる場所を作ることです。我々は箱でなく場所を作る。今までと異なる体験を得られる場所です。ゲームを見るなり、遊ぶなり、参加する場所であり、かつユーザが楽しむ場所であり、ユーザ他人を楽しませる場所です。

から我々のブランドはStadiaといいます。これはスタジアム複数形です。スタジアムスポーツを行う場所ですが同時に誰もがエンターテイメントを楽しむ場所でもあります。だから我々はそれをブランドにしたかったのです。皆が遊んで、観て、参加して、さらにはゲームをする場所。一歩下がって見ることもできる場所。常にどのボタンを押したか意識しないでも良い場所。他のアーキテクチャでは実現できない場所です。

まりリアルタイムシミュレーションゲームで全ての駒が人々であるようなものですか?

その通りです。そして単純に技術的に深い点を求めて、我々は第一世代でも4K60fpsHDRサラウンドサポートしました。さら開発者必要インフラに従ってスケールします。それだけでなく、同時にYoutubeに常に4K60fpsHDR画像送信することが可能です。だからあなたゲーム体験の思い出は常に最高の状態になります

Googleは全てを記録するでしょうか?

プレーヤー次第です。Googleは全てを記録はしません。もしプレーヤーが望むならGoogle4Kストリームしま

共有が友達だけか、世界中に公開かも自由選択可能です。Googleユーザ制御を明け渡します。もしユーザYoutubeで公開すれば誰でもリンククリックすることでそのゲームを遊ぶことができます

するとユーザshareするだけで誰でもがその特定ゲームに参加することができる訳ですね。

そう。そしてこれはマルチプレーヤーゲームロビーの新しい形となりますYoutubeクリエイターなら誰でもがファンチャンネルのsubscriberを自分ゲームへと誘うことができます生主として、Youtubeクリエイターとして私は視聴者を私のゲームに瞬間的に招待できます。それが私と10人の友達でも、(訳注: セレブの)Matpatと彼の数百万の購読者でも、技術は同じです。

アカウントシステムベースYoutubeですか?

Googleアカウントの一部です。従ってGMailアカウントがStadiaへのログインに利用できます。他の基盤についても説明させて下さい。最初サービス立ち上げから全ての画面への対応を行いますTVPCラップトップタブレット携帯です。我々のプラットフォームの基本は画面に依存しないことです。これまで40年間、ゲーム開発は端末依存でした。開発者として私は制約の範囲内で、私の創造性を開発対象の端末に合わせてスケールダウンする必要がありました。

我々はStadiaでそれを逆にしたいのです。我々は開発者に対し彼らの考えをスケールさせ、どの端末の縛りから解放したいのです。パフォーマンスに優れ、リンククリックすればゲームは5秒以内に開始されますダウンロードもなく、パッチもなく、インストール必要なく、アップデートもありません。多くの場合、専用のHWも必要がありません。従って古いラップトップChromeブラウザ使用する場合にでも皆さんが既に持っているだろうHID仕様に準ずるUSBコントローラ動作します。そして、もちろん、我々自身コントローラも開発中です。

なぜ独自コントローラを作るのですか? USBコントローラはどこにでもあるじゃないですか

コントローラ自作する理由はいくつかあります。1つはTVへの接続です。我々はChromecastをストリーミング技術採用します。Stadiaコントローラの最も優れた機能の1つはそれがWiFi接続DC内のゲームに直接接続することです。ローカルデバイスとは接続しません。

それは面白い。するとほとんどそれ自体が端末な訳ですね。

その通りです。これこそが我々のブランドの実現であり、具現化です。そして独自コントローラにより最高のパフォーマンスが実現します。ゲームに直接接続するためにプレーヤーは画面を移動することが可能です。プレーヤーはどの画面でも自由に遊び、停止し、他の画面でゲームに復帰することが可能です。

そしてコントローラには2つの追加されたボタンがあります。1つはGoogle Assistantの技術マイクを用いますユーザ選択により、ユーザプラットフォームゲームの双方に対し、自然言語を用いて会話が可能です。例えば「Hey, Google。MadjとPatrickと一緒にGame Xをやりたいな」と言えばStadiaマルチプレーヤーゲーム指定した友人と共に直ぐに開始します。

するとGoogle伝統的なUI回避するのですね?

我々はゲーマー可能な限り素早くゲームに辿り着かせるよう考えています。数多くの研究を行いましたが、多くのゲーマーゲームを起動したら直ぐに友人とゲームを開始したいと考えていますゲーマーUI時間を費したくは無いのです。

誰かが言ったことですが、現在コンソールは起動した時にまるで仕事のように感じると言うのです。ゲーム自体更新や、ゲーム更新があります。我々はそれらを完全に取り除きたいと考えています。もう1つのボタンは、ちょっと趣が異なるのですが、Youtubeシェアできます

端末は何でも良いのですね? スマホスマートTVも?

Youtubeが観られるならどこでもStadiaは動きます

TVへの接続にはChromecastが使用されると。では実際にはどのように動きますか?Chromecastがスマホラップトップからストリーミングを受け取るのでしょうか?

Chromecastはスマホからストリームを受取はしません。Chromecastはスマホから命令のみ受けます画像NetflixYoutubeから直接受け取ります。Stadia場合、StadiaコントローラからChromecastへとこのゲームインスタンスへと接続せよと命令がなされ、Chromecastはゲームインスタンスから動画ストリームを受け取りますクライアントはとてもシンプルです。行うのはネットワーク接続ビデオと音声のデコードのみです。Chromecastは入力を処理しません。全て入力コントローラが扱いますビデオと音声とネットワーク接続Chromecastの基本動作で全て既に組込まれています

Stadiaの起動はどうするのですか? コントローラで?

そうです。とても良く出来ていますWiFiに繋ぐだけです。コントローラにはWiFiIDとPWを入れるだけです。それだけです。ホームボタンを押すと勝手Chromecastを探し直ぐにChromecast上でクライアントを起動します。UIが表示され直ぐにゲームを遊ぶことができますデジタルパッドでUI操作することも可能です。これが重い処理を全てクラウドへと移行する点の美しさです。Chromecastのような低消費電力の端末で説得力のある体験ができますChromecastは5W位下です。Micro-USBで給電可能です。典型的コンソール100から150Wもします。またこれまで説明しませんでしたが、例えスマホでも行うことは動画再生だけです。従ってAssassin's CreedDoomや他の重いゲームあなたスマホの上でモバイルゲームよりも低消費電力で動作します。だからスマホ10時間でも遊べます

スマートTVではStadiaYoutubeクライアントに組込まれるのでしょうか。それともStadia独立して起動させますか?

今の所、我々はChromecastのみに集中しています。でも技術的、機能的な観点からYoutubeがある場所ならどこでも動きます。我々はまだStadiaをどのようにユーザに届けるかは検討中です。

コントローラに話が戻りますが、モバイル端末にはやはり物理的なアタッチメント必要に思われます。例えばスマホコントローラ接続するような。MicrosoftのXCloudを見ていると操作には実際に問題があるようです。

Googleには解決手段があります

そうでしょう。スマホコントローラ取り付け以外にも、明らかな解決手段としてSwitchのようなクライアント端末を作るのでしょうか?

サービス開始時から提供されるサードパーティによる解決手段サポートしています。他にもアイデアがありますしかし今は話せません。

なるほど。GoogleUbisoftデモを行いましたが、これまでにDoom 2016でもデモを行いました。他にも開発企業はありますか?

良い質問です。私がこのプロジェクトに参加する前からチームは既に何社かと提携しここ何年かの間に技術提供していました。StadiaLinuxベースです。グラフィックAPIはVulkanです。開発企業クラウドインスタンス作成しますので、開発キットも今ではクラウドにありますしかクラウドだけでなく、開発社のプライベートDCでも、机上のPCでも可能です。

すると開発者物理的なHWを持つことが可能ですか?

もしそうしたいなら。でも我々は今後のトレンドが開発でも配布でもますますクラウドへと移行していくと考えています。従って今後数年で開発者にとってクラウド中心、クラウドネイティブゲーム開発での標準となるでしょう。

どの企業自身クラウドシステムを開発しているように見えます。例えばOriginクラウドがあるでしょう。しか必要とされるインフラ要件は、我々がここで話しているような内容を達成するには、3rdパーティには荷が重いように思えます。彼らは自身クラウド継続しながら、Googleシステムを導入するでしょうか。

デベロッパーパブリッシャーはとても賢くクラウドネイティブとなる新しいゲーム体験を達成するために必要ツール技術について考えていると思いますしかしそれは世界中で何千ものアクセスポイントを持つデータセンターを運営することや、それらの運営必要な莫大な投資資本とは異なるものです。Googleは今年単年でも$13Bの資本を投下しています

それはとても巨額ですね。しかしそれでも依然としてシステムを構築しインストールするのは根本的な問題です。多分野に渡る段階的なロールアウトになるのでしょうか?

米国では全ての必要場所に展開が終わっています。Project Stream試験必要環境2018年末には整いました。我々はGoogle社内で、Google社員対象2017年の始めから2年間の間、プライベートテストを行ってきました。2019年には米、加、西欧、英にて このエントリーをはてなブックマークに追加ツイートシェア

2019-03-04

anond:20190304193600

ツムツムはみんなやってるよ。

LINEは、『LINEディズニー ツムツム』の7,000万ダウンロード突破および、総売り上げ額が10ドル(約1,100億円)を達成したことを発表した。ほかにも、スキルチケットが最も使用された人気のツムの統計などのデータも公開!

これ一昨年のニュースだけども。7000万人と言えばすごい数字だ!おれはやってないけど文字通りみんなやってる。

キャラクターかわいい。パヅルゲーとしてはぷよぷよ以来の大ヒットキャラゲーだ。

あとは、連絡ツールと連動して無理に競争させるシステム革新的だ!

つーかマリオオデッセイやった?重力演算システムからし革新的というか野心的以外の何物でもない。人間エクスペリエンスを拡大するゲーム革新的でなくてなんなのか。おれはやってないかエクスペリエンス拡大してないけど。

2019-02-02

anond:20190202000323

でも俺の知ってるCGよりずっと自然

まりロトスコープを使った作画は現状まだCG凌駕できるってこと?

人間すごいわ

この場合、凄いのは「現実」じゃね。

なんたって現実物理演算完璧だしオブジェクトが突き抜ける問題も一切起きない。

2019-01-18

anond:20190118172229

かに? 今はBTOでOSなし(=リナックス)選べるんだっけ。

あとはゲームみたいなグラボブンまわして3Dゴリゴリやる演算ソフトウェアadobeでもなきゃ全員ウィンドウズで開発してる気がするけどようしらん

2019-01-11

メモリーオーバーフロー

近くでミーティングをしていて「メモリーオーバーフロー」という言葉が聞こえてきた。

サーバーメモリーが足らなくなることを言ってるらしい。

オーバーフローと言うと、バッファオーバーフローみたいに決められた領域からはみ出すとか、演算で数値の上限を超えてしまうとかそういうニュアンスだよな。

ただの「メモリ不足」でいいんじゃないか。

2019-01-10

anond:20190110164846

演算定義数字文字をいじるって意味だとしたら、確かにif / loopはおまけなのかもな

2019-01-09

量子コンピュータをすごく早いコンピュータしか考えていないバカ

あなた量子コンピュータのこと、何にも分かってない。どうせ今よりもただすごく早い、スーパーコンピュータさらに上位版程度にしか考えてないんでしょ。まさかとは思うけど、馬車がすごく早くなれば車になって、車がすごく早くなれば電車になる、とでも信じてるわけ?

あなた量子コンピュータのことをわからないのは、そもそもコンピュータのことを何にも知らないから。だってコンピュータは0と1で計算して答えを出してる」とでも思ってるんでしょ。そんなんだから時代に取り残されるのよ。

コンピュータはね、計算しないの。反応してるだけ。AND回路とOR回路、NOT回路を使って、演算再現してるだけなの。今までのやり方だと、0と1、スイッチオンオフを使ってそのロジックを作るのが都合が良かったわけ。CPUスペックを高めるっていうのは、ひたすらスイッチオンオフ出来る回数を早める筋肉バカ目指してたってこと。だけど、それじゃ色んなパターンを試したい時に、そのパターン分のスイッチ作って全部試さないと全体の確率が出せないでしょ?

でも、量子コンピュータは違う。ここまで聞くと「表と裏が両方重なったコインでオンもオフも同時に計算できるんでしょ」なんて言ってくるやつがいるけど、バッカじゃないの。いい、覚えて。コンピュータ計算しない。量子コンピュータではオンかオフか、開始時点では分からないの。トンネルをくぐって、結果的にオンがたくさん出てきたら、それはもうオンだよね、と見なしてるだけ。

量子コンピュータ確率的にものを見る。だからプログラム試行回数が多ければ多いほど、正確な答えが導き出せる。逆に言えば、正確なシミュレータ作りこそがこれからの鍵になるわけ。でもそれ、人間が出来ると思う?

からないあなたは、そのまま空中にふわふわ浮いたコイン勝手に見とれてなさいよバカ

2019-01-02

anond:20190102103228

ゆうて今「AIプロセッサ」なる機能が積まれてるCPUは、まず間違いなく1/4精度整数演算プロセッサが大量に積まれてるだけでソフトウェアがそのAIプロセッサを使う機能を積んでるかどうかについてはノンタッチやで。

なんや幽霊や思うたら枯れススキやんけ! とは思うやん?

2018-12-31

anond:20181231204019

44100hzで0.05秒のデータだと2210hz以上の成分を抽出できねえけどな。

データとしては音波を2210個のデジタル強弱にしたものしか取得できないので、これをフーリエ変換したとしても

20hz刻みで0〜44100hzにしたデータしか取得できない、ってことだな。

高速フーリエ演算アルゴリズムがそのもの本来1秒分取ってこなきゃいけないものを0.1秒とか0.01秒にするってことであるから

この場合は異様に短いデータを伸張させて間をスルーするってことになるな。

おい、この前離散フーリエ変換スパコンじゃないと解きづらいとか言ってたやつ

高速離散フーリエ演算ってそもそもフーリエ演算周波数に対して2乗の計算量)になるのを周波数を歯抜けにした上で計算量を減らすアルゴリズムなんだからラズパイで同程度の精度の演算するにゃむしろ向いてるじゃねえかよ。all-2-all通信なんて発生しねーじゃんか。

真面目に検証して損したわ。お前ら実は素人か?

2018-12-27

anond:20181227215740

違うぜ。小さいメモリ空間とそれ程豊かでもないCPUラズパイで解きうる問題なのかというのを見極めるだけだ。

で、この問題は単に二次元空間時間を足した三次元空間でのなんか粒子の動きを計算するだけの話だから、ツリーの根元位にある「時間を最小単位に区切ればAとBしか世界には居ない」タイプ演算なので、無限帯域のラズパイならスパコンと処理時間に遜色は無いな。

この問題は違う。別の問題よろ。

anond:20181227004535

何かを書くたびに無知を露呈していくのもなんかスゲーな…

HPLを解くプログラム…まぁ日本語がアレだが、無知に免じてちょっと話してやると、HPLAx=bを解くプログラムで、これはDGEMM、倍精度密行列積が主な演算になっている。

この時点でお前の四則演算レベルベンチマークとかだいぶ意味不明になっているわけだが理解たか四則演算レベルってなんだよ。行列演算所詮は加算と乗算だよ。

行列積は今日のワークロードとは関わりがないみたいなことを言う人々がいるが、まぁそういう問題を持っている人はメモリ帯域をくれと言い続けている。メモリ帯域が欲しい人々は、メモリ帯域がないこと、メモリ帯域がFLOPSの伸びに対して伸び悩んでいることに諦めて、メモリ帯域を使わないようにアルゴリズムを変更する方向に舵を切ったり、まだメモリ帯域が伸びるはずだと信じて待っていたりする。

こういう人々はHPCGを見て一喜一憂したりする。

だがスパコンのワークロードに合ってないと言われた密行列積は、しかし、ディープラーニングの台頭によって再びスパコンのワークロードに乗ってしまったのであった…

というかそもそもな、コンピュータの性能との相関をひとつベンチマークで測ることなんか不可能なんだっつー単純な事実を知れ。

あとな、仮にマ・クベ円周率世界記録に挑んでたとしたら、スーパーπが速いCPUキシリアに届けようとするだろうよ。キシリア円周率に興味なかったらゴミだろうけど

2018-12-06

パソコンスマフォってなんでこんなに役に立たないのか

  1. Windows自動化が向かない。ソフトAからソフトBのある機能データ自動で渡すのも大変。GUI自動化進んでない。RPA微妙VBA以降劇的に自動化進んでないのでは?
  2. セキュリティの名のもとに出来ることはドンドン減っている
  3. 新規に困っていることを解決するソフトは出てこない。パソコンで出来ることがスマフォタブレットで出来るようになるのは技術的には画期的だが、全体からみると既にパソコンで出来ていたこと。
  4. エンタメ系ばかりに演算能力が振られている。
  5. Windowsストアが役にたってない。どちらかというとAPIプラグインがストアにあり、GUIなどのフロントエンド自由カスタマイズ出来て欲しい。
  6. スマフォApp Storeが役に立たなくなっている。
  7. パソコンスマフォ複数台持っていても、利益よりも、管理コストの増え方の方が多い。

2018-11-27

anond:20181127104726

3秒だ。3秒あれば物理演算オープンワールドゲームを作れるぜ。

ちょっとばかり死人はでるが…な。

2018-11-22

日本の家は狭くて、将来、自動化進む家電をおけないのではないか

洗濯乾燥→折りたたみとIoTではなく物理的に連携を行うような家電が出てくることを考えた場合

ロボットアームなり、ベルトなりで次の工程洗濯物を送る必要が出てくるため、全部おけるだけのスペースを必要とする。


他に、有名シェフの手さばきを再現するようなロボットアームで調理するとなった場合

それを置くだけのスペースが必要だ。


またモーターの駆動音が邪魔にならないようにというのがある。

パン焼き器のこねている音がマンションで響くといったことは起こる。


スマートホームと言っているが、現実問題として、数メートルの間で物を動かさなければ進まない家事は多い。

冷蔵庫から材料を取り出して切ってホットクックに放り込むのは、今の所ターミナルコマンドを叩いても、AWSで何時間演算させようとも出来ない。

宅配カット食材機器に放り込むのも今の所人手が必要だ。


物を移動させるのにロボットアームを使うとなると場所を取ってしまう。

天井からアームを吊り下げるにしろ、移動式にするにしろ、人の体積と同様にするとワークができなくなるので、場所を取らざるを得ない。

となってくると、人を第一検討し、エルゴノミクスデザインにしてしまうと、機械に取っては悪い。


逆にロボットに合わせて家のデザインを変えればという事も考えられるわけだが、

それは既に外食がやっている少数の種類を大量に作って売りさばくとなり、あまり変わらないことになる。


もう一つ考えられるのは、シェアハウスのように、大型の自動調理器を数種類おいた家をシェアするといったものであるが、

食事時間帯が被ってしまうため、稼働していない時間帯が多くなるわりに、稼働し始めると高速に処理しないといけなくなる。

2018-11-10

PCCPUを使うことって

あるSF小説で、膨大な演算処理をするためにオンラインになっているほかのパソコンCPUを流用して賄おう!って話になってたんだけど、これって実際に可能なの?

2018-11-09

anond:20181109024136

わかる。身長2mとかそんなレベルじゃなくて40kmほしいし、東大卒とかそんなレベルじゃなくて地球上全ての事象とその結果を予想できる程度の知覚と演算能力ほしいし、太陽割るくらいの腕力とか恒星間をひとっ飛びくらいの脚力とかほしい。

ふとしたときに人と比べて秀でる程度の能力に憧れる自分を惨めに思ったりする。

2018-11-05

[]11月5日

○朝食:なし

○昼食:助六寿司

○夕食:豆腐白菜人参しめじを煮た物、大根水菜サラダ納豆、卵

○間食:クラッカーチーズ

調子

はややー。

月曜日憂鬱だけど、お仕事頑張ったぞいや。

スケジュール上は三日ほど前倒しで終わらせられているので、ちょっとペースを落とそうと思う。

正直全然関係ない他所仕事の手伝いながらこのペースだからわりかし頑張ってるので、褒められたいなあ……

疲れたので、ラジオ聴きながら寝ます

iOS

○HappyGlass

カンから流れる水を補助線を書くことでコップに入れるパズルゲーム

今日は1ステージから42ステージ目までをクリアした。

物理演算ちっくなフィールド自由に線を描くってのは、スマホゲームでは割とメジャージャンルらしい。

僕はVtuberキズナアイさんがプレイしていて楽しそうだったのを見て知った。

(Qとかも似たジャンルなのかな、3DS移植されてたような)

パズルゲーム好きなので楽しくプレイできた。

開放がいくつもあるパズルゲームって楽しいね、物理演算がいい意味で雑だから、明らかに製作者が意図していない解き方もありそうで面白い

ただ、スマホのこういう無料ゲームって広告みたりしないといけないから面倒臭いね。

有料版を買えばいいのだろうけど、なんか英語でたくさん書いてあって怖いからキリのいいステージ数、100がいいかな。

そこまでプレイしたらやめます

グラブル

天司武器SSR化に向けて色々やってた。

風は完成。

土はあと荒土の石片を手に入れるために火曜日の試練待ち。

水はガブリエルアニマがあと5個。

火はミカエルアニマがあと1個と、イフリートマグナアニマがあと3個。

2018-10-28

増田プログラマー養成講座 その13 SQL文法

前回は、データベース参考書を見た。

今回は、DBで使うプログラム言語SQL」の文法を見てみよう。

 

リレーショナル・データベース(Relational Database、RDB)とは?

WikipediaRDB説明を見てみよう。

関係データベース(relational database)は関係モデルにもとづいて設計、開発されるデータベースである

関係データベース管理するデータベース管理システム (DBMS) を関係データベース管理システム (RDBMS) と呼ぶ。

Oracle Database、Microsoft SQL Server、MySQLPostgreSQLDB2、FileMakerH2 Database などがRDBMSである

 

関係モデルIBMエドガー・F・コッドによって考案された現在もっとも広く用いられているデータモデルである

データベース利用者は、クエリ(問い掛け)をデータベースに与え、データ検索したり、変更することができる。

 

データは表に似た構造管理されるが、関係と呼ぶ概念モデル化される。

関係は組(タプル、表における行に相当する)、属性アトリビュート、表における列に相当する)、定義域(ドメイン)、候補キー(主キー)、外部キーなどによって構成される。

SQLなどに代表されるデータベース言語(問い合わせ言語)を用いて、関係に対して制限・射影・結合・和・差・交わりなどの関係代数演算(集合演算を含む)ないし関係論理演算を行うことで結果を取り出す。

関係複数持つことも可能で、互いを関連させることも可能である

要するに、

 

SQLとは?

WikipediaSQL説明も見てみよう。

SQLエスキューエル)は、関係データベース管理システム (RDBMS) において、データ操作定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である

エドガー・F・コッドによって考案された関係データベース関係モデルにおける演算体系である関係代数関係論理関係計算)にある程度基づいている。

 

SQLは、シークェルと読まれることもある。

これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語SEQUEL (Structured English Query Language)」であったことが由来である

SEQUEL (Structured English Query Language)」を略して「SQL」と呼んだらしい。

 

  1. 質問する、尋ねる
  2. 問い合わせ[クエリー]を行う

英語クエリーは、質問する、問い合わせる、という意味なんだね。

 

SQL3分

SQL説明するとき、3つのグループに分類される。

 

↑このページをよく読んでくれ。理解できたらSQL説明は終わりだ!!!

 

 

 

…というと、説明することがなくなるので、ちょっとまとめておこう。

このページの「表1●SQLDDLDML,DCLの三つに大別できる。このうちプログラマが最も多く使うのはDMLだ」という図を見てみよう。

 

という3種類に分けてる。順番に見てみよう。

 

DDL(Data Definition Language:データ定義言語

データベーステーブル、ビュー、インデックスユーザーなどを作成/変更/削除するときに使うSQL

これでデータベースを使う準備ができる。

  • 「CREATE」…作成する。
  • ALTER」…変更する。
  • DROP」…削除する。

 

DML(Data Manipulation Language:データ操作言語

データ操作するときに使う。いわゆる「CRUD」のことで、SQLのうち、このDMLを覚えれば、とりあえずRDBは使えるようになる。

CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性の4つの基本機能イニシャルを並べた用語

その4つとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)である

ユーザインタフェースが備えるべき機能情報の参照/検索/更新)を指す用語としても使われる。

 

この中で一番活躍するのは、「SELECTコマンド命令文)だろう。

SELECTは、いろんな条件を付けてデータを絞り込む/加工することができて、便利なんだ。(Excelなどの表計算ソフトよりも高機能

 

JOIN(結合)

RDBは「リレーショナル」(関係)という冠言葉が付いてることからも分かるように、関係がある表と表をくっつけて、データを加工できる。

表と表をくっつける操作のことを「結合」という。

SQLでは「JOIN」というコマンドを使って表と表を結合できる。

↑このページにある丸と丸が重なった図を見てくれ。この図は「ベン図」といって包含関係を示す図だ。図を描いて塗りつぶせば、欲しい部分が分かりやすくなるだろう。

 

結合の種類

表と表のつなげ方には、何通りかパターンがあるよ。

  • 結合は、「内部結合」(INNNER JOIN)と「外部結合」(OUTER JOIN)の2種類に分類できる。
  • 外部結合はさらに、「左結合」(LEFT JOIN)と「右結合」(RIGHT JOIN)と「完全結合」(FULL JOIN)の3種類に分類できる。

 

内部結合は単純だ。外部結合はちょっとややこしい。

外部結合は「LEFT JOIN」の形がよく使われると思うので、まず最初にLEFT JOINの仕組みを理解すれば大丈夫だろう。

(LEFTの仕組みを基準にして、RIGHTやFULLとの相違点を意識すれば、表のつなぎ方を間違えにくい?)

 

DCL(DataControl Language:データ制御言語

トランザクション」は、データ更新に失敗したとき、元に戻せる機能だ。(安全装置

  • 「COMMIT」…更新処理の確定
  • 「ROLLBACK」…更新処理の破棄

 

言葉だけだと意味が分かりづらいと思う。

Google画像検索で「トランザクション」を検索して、分かりやすそうな図解を探してみよう。

↑このページの「図1 処理失敗による不整合の発生」を見てみよう。

 

銀行で口座間の送金を考えてみる。Aさんの口座からBさんの口座へ50万円送金したい。

  1. Aさんの口座から50万円減らす。
  2. Bさんの口座に50万円追加する。

この2つの処理が両方とも成功しないと、送金は失敗だ。(Aさんは送金できてないのに貯金が減ったら怒る。Bさんは送金されてないのに貯金が増えてラッキー!)

AとBの両方が成功したら更新処理を確定する。AとBのどちらか、または両方が失敗したら更新処理は破棄してなかったことにする。(やり直し!)

これがトランザクションだ。

 

クレーム対応難易度

ちょっと話がそれるけど、トラブルの重大さ=クレーム対応難易度について考えてみよう。

  1. 人身事故 …人命にかかわる事故は取り返しがつかない。文句も一番キツイ絶対ミスがあってはならない分野のシステム開発はなるべく避けよう。
  2. 金銭絡み …(命の次に)お金大事という人は多い。人は金の話になるとシビア文句も強烈だ。決済など金銭絡みのシステムでは、RDBトランザクションを使おう。
  3. 上記以外 …その他のクレームは、それほどハードではない。匿名掲示板とか、どうでもいいゴミ情報投稿されるシステムなら、トランザクションは使わなくてもOKだろうw

 

DB管理ツール

ここまで、SQLRDB操作する方法について話した。

RDBは、SQLコマンド操作するだけでなく、DB管理ツールを使って操作することもできる。

DB管理ツールについても知っておこう。

 

この講座では「phpMyAdmin」というDB管理ツールで「MySQL」を操作した。

他にも、Google検索で「DB 管理 ツール GUI」などで探してみよう。商用だけでなく無料でも便利なソフトがたくさんあるね。

 

など。

 

SQLパズルだ!

SQLを駆使すると、欲しいデータをホイホイ取り出せる。

SQLコマンドを組み立てる作業パズルのような要素もあるので、遊びだと思ってSQLに取り組んでみて欲しい。

SQL パズル」でGoogle検索すると、いろんなテクニックが紹介されているので、時間があったらチャレンジしてみよう!

 

SQLの話は、それだけで1冊の本になるぐらい広範だ。今回は、SQL概要説明するだけになってしまった。

SQLの詳細については、前回紹介したSQL参考書などを読んでみてね。

 

まとめ

 

次回は、データベースを使ってWebアプリを作ってみよう!

データベースって便利だな~~~!!!」と実感して欲しい。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマ養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマ養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマ養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマ養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマ養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマ養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマ養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマ養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマ養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマ養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマ養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマ養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマ養成講座 その13 SQL文法 ←★今ここ★

anond:20181031014212 増田プログラマ養成講座 その14 Webアプリの試作品作成

anond:20181024214737 増田プログラマ養成講座 コンテンツ一覧

2018-10-26

Wシリーズ人間のように泣いたのか」

だんだんまらなくなってきたけど買うのをやめられない。

そんなに無理にハギリ、ウグイ、キガタの三角関係にしなくたっていいのに、と思いつつニヤニヤちゃうのは著者の演算にまんんまと引っかかっていると思うと悔しい。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん