サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.infiniteloop.co.jp
MySQL/Aurora/TiDBロック入門 – 第5回 WHERE 条件と違うロック読取り【解説動画付】 第5回は REPEATABLE READ と READ COMMITTED の分離レベルの違いによって変わったり、WHERE 条件で感じる直感的な範囲とは一致しない範囲でかかるなど、MySQL のロック読取りの挙動について解説します。 ロック読取りは実戦でよく使われている重要な手法で、細かい挙動も重要なポイントになります。動画と合わせて是非ご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うロック読取り ★ 第6回 performance_schema ★ 第7回ギャップロックと消えるロック ★ 第
MySQL/Aurora/TiDBロック入門 – 第4回 INSERTを止めるインテンションロック【解説動画付】 MySQL とその互換 DB のロックの挙動を紹介する入門シリーズ、第4回はギャップロックとインテンションロックによって INSERT をブロックする仕組みについて解説します。 第1回 トランザクション分離レベル で解説したように、MySQL の特徴でもある REPEATABLE READ によるファントムリードの防止に関わっているところですので、ぜひお手元でも観察してみてください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うロック読取り ★ 第6回 performance_schema ★ 第7回
MySQL/Aurora/TiDBロック入門 – 第3回ロック読取りも SELECT は止められない【解説動画付】 MySQL とその互換 DB のロックの挙動を紹介する入門シリーズ、第3回は第2回で紹介したロックモニターを使って、業務ではよく使われているロック読取りについて解説します。 ロック読取りは、ゲームのバックエンドサーバーなど「同時に多数の処理をこなすけど、データとしての一貫性も重要」な場合に必須となるテクニックです。既に使っているという方も復習を兼ねてぜひご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うロック読取り ★ 第6回 performance_schema ★ 第7回ギャップロック
株式会社インフィニットループは今年も The PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは前回、前々回に引き続き、今年も会社として、The PHP Foundation に寄付をしました。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体で、多くの成果をあげてきました 言語の継続性と更なる発展には私たちに限らず、多くの企業からの支援が必要です PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 勝率を上げる賭け方がある 現代人はとても忙しく、世にはありとあらゆる種類の情報があふれており、限られた時間の中で読める文章の量は限られています。 今、冒頭の 3 行まとめを乗り越えてこの記事を読み進めているあなたは、きっと PHP
MySQL/Aurora/TiDBロック入門 – 第2回ロックモニターの読み方【動画解説付】 MySQL とその互換 DB のロックやトランザクションの挙動を紹介する入門シリーズ、「第1回 トランザクション分離レベル」 では READ COMMITTED や REPEATABLE READ でどういう挙動になるか紹介しました。 第2回目の今回は MySQL InnoDB のロックモニターの読み方、使い方について解説します。MySQL のロック機構を理解するツールとして便利なのでぜひご一読ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うロック読取り ★ 第6回 performance_schema ★ 第7
MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル MySQL InnoDB および AWS Aurora や PingCAP TiDB におけるロックの仕組みやトランザクションの動作を全11回のシリーズで解説します! 最初はベースとして重要な MySQL 8.0 InnoDB 前提でユーザー視点でのロックの仕組みを学び、後半第10回以降では MySQL 互換 DB として人気の高い AWS Aurora や PingCAP TiDB と MySQL InnoDB との違いについて学びます。 1回目の今回はロック機構と切っても切り離せないトランザクションとその分離レベルについて、実際に挙動を確かめながら解説します。ライブ感のある説明も理解に役立ちますので、解説動画も付けてみました。合わせてご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロ
【D3D12】頂点バッファを品質そのまま1/3にサイズ削減 メッシュアセットは頂点数分なんらかの情報を持っています。 Unityのようなゲームエンジンでは頂点のレイアウトを意識せずにメッシュを描画に利用できるように整えられていることが多いですが、その結果一頂点あたりのデータがそれなりに大きくなっているような場合があります。これは配信データの肥大化や、VRAMの圧迫、ランタイムのパフォーマンスの低下を招くリスクがあります。 以下のようなフォーマットは、一般的な描画上の要件を満たしますが、ムダでしょう。今日の商用ゲームでこのようなフォーマットが採用されることはまずありえないはずです。 そこで、次のようにしてみるとどうでしょうか? 24bytesまで削げました。半分のサイズですね。 さらに踏み込んで、座標をバウンディングボックスのサイズに合わせた分割的取扱いにして8byteにするかどうか少し考え
ホーム 技術ブログ 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました こんにちは松井です。今は会長になりました。 遡ること3年前、2021年の新卒研修向けに「テスト文字列に”うんこ”と入れるな」という資料を作成しました。 おかげさまで多くの方に読んでいただいたようで、SlideShareのView数は「23.6万View(2024年4月現在)」にまで達しました。 わたし的にはもうこれで満足していたのですが、 「会長、今年も例のうんこの話をしていただけませんか」 というオファーがあり、またこのクソみたいな話をすることになったという次第です。 せっかく話をするならばということで、事例やTIPSのページを新たに加え、「2024年
MySQL のインデックスと EXPLAIN の社内講習会しました! みなさんMySQL使っていますか? インフラエンジニアの nobuh こと波多野です。 弊社はサーバー開発に携わることが多く、サーバー開発の言語としては PHP をはじめ C# などいろいろな言語を使っています。そのサーバーと合わせて必須となるデータベースについては MySQL ないし AWS RDS Aurora など MySQL 互換データベースを含め、ほぼ 100% MySQL を使っています。 そして、どんなサービスやプロダクトでもデータを管理し提供するデータベースは、性能でも重要な部分になります。 今回そんな MySQL の性能で重要となるインデックスについて、またクエリをチューニングする場合に必要となる EXPLAIN についての社内講習会を「新卒講義」の場を借りて実施いたしました。その内容について紹介したい
ホーム 技術ブログ 【Unity】BlendShapeを倍速化!GPU処理を自分で書いて、Unity公式BlendShapeのパフォーマンスに勝ってみよう! 【Unity】BlendShapeを倍速化!GPU処理を自分で書いて、Unity公式BlendShapeのパフォーマンスに勝ってみよう! 宮城県仙台市の3Dゲームエンジニア、にしきんです。 前回、AnimatorやPlayableGraphからも卒業!?スキニング・スケルタルアニメーションの独自実装をして全局面で勝つ・前編という記事を公開しました。後編をお見せする前に、具体的なトピックでGPU向けの処理を書く話を挟むことにします。 前編でスキニングのGPU処理時間は10%ほどの改善に留まっており、パフォーマンス改善の主な部分はJob/BurstによるCPU部分についてでした。実際、私が挙げていた問題は殆どすべてがAnimatorに絡む
ホーム 技術ブログ 【Unity】AnimatorやPlayableGraphからも卒業!?スキニング・スケルタルアニメーションの独自実装をして全局面で勝つ・前編【中級者向け】 【Unity】AnimatorやPlayableGraphからも卒業!?スキニング・スケルタルアニメーションの独自実装をして全局面で勝つ・前編【中級者向け】 仙台の3Dゲームエンジニア、にしきんです。 BRGによる描画についてと、AnimationCurveのBurst化についてをこれまでお話してきました。今回はそれらを踏まえて、独自でスケルタルアニメーション・スキニングをUnity内で実装していくお話をいたします。ちなみにただ動くことを目的にしているわけではありません。実用的に、パフォーマンスや取り扱いやすさなどでビルトインソリューションに勝利できる(!!)ことを示していきたいと思います。 なお本トピックは少々複
育休とってみました shimizuです。男性です。 昨年11月に長女が誕生し、育児休業を2ヶ月弱取得してみました。社内ナレッジ共有をと思いまして、記事を書いてみます。 なお、以下は私個人の感想であり、個人や環境、法改正によって色々変わると思います。 育休取得と取得期間の理由 会社から 上長へ妻が妊娠したことを報告すると、育児休暇取得することを『強く』勧められました。また、プロジェクト的にはゆっくり取ってくださいという雰囲気でありました。お陰で気楽に取得する気持ちが強くなりました。 夫婦間で話した 妻と育児休暇取得をどうするか相談したときに、どうなるかわからないから取得できるなら取得してほしいという話になりました。生まれてすぐの子育てに参加できる機会は今後あるか分からないため、子どもと接する時間が増えるなら取ってみようと思いました。 取得期間の理由 取得期間を2ヶ月弱にしたのは、単に暦の上で
ホーム 技術ブログ 【Unity】Mesh Rendererから卒業して爆速パフォーマンスをゲットしよう。BatchRendererGroup 2022の詳解 【Unity】Mesh Rendererから卒業して爆速パフォーマンスをゲットしよう。BatchRendererGroup 2022の詳解 仙台で3Dゲームクライアント開発を行っております、にしきんです。 メッシュの描画発行も例によってPS4世代から活発に動いたトピックだと思います。GPU駆動なMDIが有名でしょうか。現在では、カオス化したジオメトリパイプラインを再定義するメッシュシェーダーというものまで登場しました。 ここまでの話だけでUnityのMeshRendererが処理時間的に遅い理由は十分に説明できて、単一の描画対象の情報のみをバインドする、「レガシーな」とでもいうべきDrawCallと対応しているからです。個人的には、
Reli を使った PHP 7.x/8.x サービスの計測 こんにちは。やまゆです。 サービスをリリースするにあたり、事前のシナリオテスト・負荷試験はなくてはならない項目です。 そこで主に API ごとの成功率、レイテンシ(リクエストしてからレスポンスが返ってくるまでの時間)、レスポンスサイズなどを計測し、想定されるユーザー数でも快適に遊べることを保証できるように改善を加えていきます。 改善の際、重くない部分をチューニングしてもほとんど効果が出ないので、「この API のどの部分(関数)に時間がかかっているのか?」を知ることが重要です。 それらを実際に動作している環境で計測し、可視化することを「プロファイリング」と呼ぶことがあります。 これは、ターゲットとする機能の実行時間について、「このメソッドに何秒かかった」や「全体の x % がこのメソッドで消費されている」などを確認するための仕組み
ADR – アーキテクチャ上の設計判断を記録しよう はじめに 昨年、2022 年に「ソフトウェアアーキテクチャの基礎」[1] という書籍が出版されました。 これは今年、2023 年の 1 月 16 日に発表された「IT エンジニア本大賞2023」技術書部門ベスト10 に選ばれるなど、ソフトウェアエンジニアからの注目が多かった書籍であると言えるでしょう。 そこで紹介された アーキテクチャディシジョンレコード (Architectural Decision Records; ADR) という方法は、この書籍の評判が浸透するにつれ、目に耳にすることが多くなった印象があります。 本記事では、この ADR とはどのような方法であるのか、またそれに対する個人的な考察や雑感について、記述しています。 なお本記事における「判断」「決定」いずれの用語も、Decision の訳語であると解釈していただいて差し
今年度も PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは今年度も会社として、The PHP Foundation に前年度と同額の寄付をしました。アイコンのテンションがやたらとアゲアゲになっているのは、実際に支払いの手続きをした弊社のえらい人の犯行みたいです。いいぞもっとやれ。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体です 弊社を含め、日本でも何社もの企業が支援を行っています PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 今回の寄付について 前回寄付時からの繰り返しとなりますが、弊社インフィニットループはかねてより PHP を業務で使用してきており、PHP の言語としての発展と継続にその利益をある程度依存してい
不定期刊行 PHP ニュース 2023年2月10日号 インフィニットループ仙台支社のプログラマー、いがらしです。 PHP 界隈の気になったことをまとめ、不定期に宮城県仙台市からお送りします。前回出したのは昨年 11 月 29 日でした。 ※ なお、画像のPHP ロゴは作者の Colin Viebrock さんによってリリースされ、CC BY-SA 4.0 でライセンスされているものです。 php-src / internals PHP 8.2 Released! PHP 8.2 がリリース現在は 8.2.2 まで出ている All PHP 7.x versions are now EOL PHP 7.4 のサポートが終了 PHP RFC: Readonly amendments PHP 8.2 で入った readonly class の修正提案の投票が終了非 readonly で継承可能にす
Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット
PHPとSDLで始めるコンピューターグラフィックス – 回転と極座標 こんにちは nobuh です。前々回と前回の2回にわたり PHP と SDL でのプリミティブな操作を使ってコンピューターグラフィックスを楽しんでいるこのシリーズ。3回目は移動や視点の操作で必須となる座標の回転と極座標表示について取り組みます! ここまでの振り返り 第 1 回 基本的な画像描画方法の説明 PHPとSDLで始めるコンピューターグラフィックス 第 2 回 透視投影による 3D 表示 PHPとSDLで始めるコンピューターグラフィックス – 透視投影で3D 少し改良 第 2 回までの 3D 表示の機能のまま、プログラムを少し改良してみました。 まずは 3D データを準備するときに形状と位置がごちゃまぜになっていたのを形状の情報と位置の情報に分離しました。加えてオブジェクト指向っぽく構造を整理しました。具体的には
PHPとSDLで始めるコンピューターグラフィックス – 透視投影で3D こんにちは、普段はインフラや情シスをお仕事にしていますが、グラフィックスも趣味にしている nobuh です。前回の記事 PHPとSDLで始めるコンピューターグラフィックス に続きまして、今回は PHP での SDL を使った 3D グラフィックスに挑戦したいと思います! 前回までのおさらい 前回の記事 では PHP と php-sdl のインストール方法SDL のウインドウを出してグラフィックスを描画する方法フレーム毎にキー入力を処理し、多数の四角を描画する という 2D グラフィックスの基本的なところを紹介いたしました。今回は 線を引く という原始的な機能を使って 3D のワイヤーフレームで物体を描画して動かすところまで挑戦してみます! 3D を 2D に描画する透視投影 3次元の立体を2次元の平面上に書く手法として
PHPとSDLで始めるコンピューターグラフィックス こんにちはサーバーインフラや社内の情報システムを担当しています nobuh です。 子供の頃から美術館や展覧会に行ったりするのが趣味の一つで、コンピューターでもゲーム同様グラフィクス関係についても興味があり、 ジェネレティブ・アート や デモシーン を鑑賞するのを楽しみにしています。 今回は鑑賞から一方踏み出して、ライブラリやフレームワーク、エンジンの支援をあまり受けずに、原始的な要素を直接使って根源的なところから自分でグラフィクスを作ってみようと思い立ちました。 ということで、PHP と SDL を使ってグラフィクスについて「作ってみた」ところを紹介したいと思います! なぜ PHP? グラフィクスを扱うプログラミングというと、 Processing や openFrameworks、 3D なら Unity や Unreal Engin
帰ってきた PHP ニュース 2022年11月29日号 インフィニットループ仙台支社のプログラマー、いがらしです。 PHP 界隈の気になったことをまとめ、かつてはだいたい月一くらいで宮城県仙台市からお送りしておりました。 うかうかしている間に前回から 3 ~ 4 年くらい経った気がしますが、皆さまいかがお過ごしでしょうか。 少し間があいたのはあまり気にしないことにして、PHP 界隈の最近気になったことをまとめます。 ※ なお、画像のPHP ロゴは作者の Colin Viebrock さんによってリリースされ、CC BY-SA 4.0 でライセンスされているものです。 php-src PHP 8.2.0RC6 available for testing https://externals.io/message/118992PHP 8.2.0 RC6 がリリースされた今年は当初予定より追加で
このガイドはPSR-1に準拠し、標準的なコーディング規約のためのスタイルガイドです。 このガイドの目的は、複数メンバーがコードを読む際の認識のずれを抑えることです。 これはPHPコードをどのような書式にするかについて、ルールや期待値を共有することで実現します。 スタイルルールは、様々なプロジェクトの共通内容から生み出されています。 様々な作者が複数プロジェクトを横断して協力しあうことで、全てのプロジェクトで有用なガイドライン策定の助けとなります。 従って、このガイド本来の利点は、ルール自体にはなくルールを共有することにあります。 文書内記載されている "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 及び "OPTIONAL" は、RFC 21
PHP の各種キャッシュ機構でメモリが枯渇した場合の挙動を調べてみた こんにちは。やまゆです。 弊社の主軸であるソーシャルゲーム開発においては、マスターデータの存在は欠かせません。 マスターデータとは、例えば下記のようなものがあります。 武器の名称・アイコン画像名・攻撃力・スキルIDガチャでどのカードが何%の確率で排出されるのか敵を倒した時の報酬ゲーム内イベントの開始日時と終了日時 このように、全ユーザーで共有される設定データのことをマスターと呼びます。 これらのデータは膨大で、運営を続けていくとアイテムの追加やイベントの追加により、だんだんサイズが肥大化していきます。また、頻繁にアクセスされることが予測されるため、処理上のボトルネックになる可能性が高いです。 そのため、サーバサイドでマスターデータを処理する際は毎回データベースへアクセスすることはせず、別の場所にキャッシュしておいて、基本
Mozilla Hubs を VirtualBox でホストしてみた みなさんメタバース盛り上がってますか!インフラエンジニアの nobuh です Facebook も社名を Meta に変更するなど、メタバースが次世代のネットの主役になりえる?可能性があるということで、その動向には目を離せないところです。 すでに実現、実装されているメタバースや VR のプロダクトやサービスもいろいろありますが、今回は Mozilla 社がオープンソースで公開している Mozilla Hubs に注目し、そのサーバーを自分の手元の VirtualBox で動かすことに挑戦してみました! Mozilla Hubs とは Mozilla 社の作ったブラウザでアクセス可能な VR の空間共有サービスで、簡単に要約すると3つの形態があります。 hubs.mozilla.com : Mozilla 社が運営してくれ
インフィニットループは会社として、先日設立された The PHP Foundation にささやかながら寄付をしました。 PHP 原作者の Rasmus Lerdorf さんと Laravel 原作者の Taylor Otwell さんと JetBrains さんとあいえるたんが同じ画面におさまって見えるのは、たぶん今だけ……! TL;DR この記事では、以下の内容について述べています。 PHP は主要開発者が抜け、今後のために Foundation を作りました 弊社は支援を行いました 継続的な PHP の成長のためにみなさんの会社でも寄付を考えていただけませんか
新卒向け研修資料「テスト文字列に”うんこ”と入れるな」を公開しました 代表の松井です。 弊社インフィニットループでは、近年「新卒ファースト」を合言葉に社内教育に力を入れています。 先日、主に新卒向け(それ以外の参加者も多くいましたが)に、「テスト文字列に”うんこ”と入れるな」という講義を行いましたので、その資料を公開します。 なぜ人は入力欄に「うんこ」と入れてしまうのでしょうか。 それはどういう経路で社外に漏れ、防ぐには何をすべきなのでしょうか。 タイトルはアレですが、内容は至って真面目に書いています。 悲しい事故を防ぐために「仕事中にはふざけないこと」など、新社会人に必要なメッセージを強く込めたつもりですので、ぜひ本資料をあなたの会社での研修にも役立てていただければと思います。 ツイート
【ILの部活】 コロナ禍ならではのボードゲーム部の活動 みなさんこんにちは、ボードゲーム部の部長をしているshinnosukeです。 ボードゲーム部は僕がアルバイト時代に会社にボードゲームを持ち込んだところから始まりました。 部員の協力もあって今や会社には100以上のボードゲームがあります。 会議室にボードゲーム専用の棚がありますが、それだけでは入り切らなくて追加で収納する場所を使っているくらい数があります。 活動時間は主に金曜の終業後です。 ときには休日に遊んだり、またあるときは盛り上がって夜通し遊び続けることもあります。過去にはボードゲームのオフ会として会社外の人を招いて遊んだりもしてきました。 そんなボードゲーム部ですが、対面で遊ぶという性質上、新型コロナウィルスが流行してからはなかなか活動できない日々が続いています。 その中でもこれなら対面でも安心して遊べると部活内で人気のボードゲ
ビデオ会議のためのバーチャルアイドル技術[実践]入門 こんにちは、muramotoです。 今年1月、社内で「動画部」を結成しました。動画編集やゲーム実況が好きなメンバーが集まり、動画を撮ったり作ったりしています。昼休みや終業後に活動していたのですが、新型コロナウイルスの影響で3月からリモートワークになり、会社で活動する時間が減ってしまいました。 いま、所属チームの朝会と夕会はビデオ会議(Google Meet)で行っています。リモートワークが始まったときにはイヤフォンマイクしか持っていなかったのですが、会社から支給された「リモートワーク環境構築支援金」でWebカメラを購入しました。これで、ビデオ会議に自分の姿も映るようになりました。 世間ではビデオ会議で背景を変える「バーチャル背景」というのが流行っていますが、せっかくなら自分の姿もバーチャルにしたいと思うのではないでしょうか。バーチャルア
次のページ
このページを最初にブックマークしてみませんか?
『株式会社インフィニットループ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く