タグ

2023年12月17日のブックマーク (20件)

  • 削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターン」の紹介

    この記事は 株式会社ログラス Productチーム Advent Calendar 2023 13日目の記事です。 はじめに 〇〇を削除できるかどうかのビジネス処理、皆さんはどう実装していますか? 同僚の話題になった記事でも削除の認可処理をどこに記述すべきか?は難しいと説明されています。今回はお題は認可っぽいもので書きますが広範に「削除ができるかどうか?」のビジネスロジックをドメイン層にどう閉じ込めるかの便利な実装パターンを紹介します。 削除処理のビジネスロジックの取り扱いは難しい 削除処理のビジネスロジックの実装はシンプルだけど更新処理や作成処理と比べて意外と難しいです。 それはなぜかというとドメインオブジェクト内の実装に削除処理を書くことができないからです。 例えば権限に管理者と一般ユーザーの二つの権限があるとします。

    削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターン」の紹介
    s_ryuuki
    s_ryuuki 2023/12/17
  • 【Unity】モバイルアプリ上で GPU 負荷を計測する - Qiita

    これらのツールを用いれば GPU 負荷計測を行うことが出来るようになるかと思われますが 1、エンジニア以外 (更に言うとツールの有識者以外) が扱うには敷居が高い上に、動作させる際にもツールに接続する必要が生じるなどと言った手間が発生します。 そこで今回はこれらの手間を無くすためにアプリ上から手軽に GPU 負荷計測を行う方法について幾つか取り上げていきたいと思います。 あくまで調査の補助ツールとしての活用を想定 これから話す内容については、「アプリ上から手軽に負荷計測を行えるようにすることで、ボトルネックとなる部分の調査を行いやすくする」ことを目的としてます。 というのも、今回紹介する機能では得られるデータに限りがあるために、「CPU or GPU のどちらかがボトルネック」と言った大雑把な情報までは得られるものの、「実際にその中の何が重いのか? (CPU ならどのコードが重いのか? G

    【Unity】モバイルアプリ上で GPU 負荷を計測する - Qiita
  • なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita

    はじめに 私は、さくらインターネットというクラウドサーバの会社の社長をしていて、よく経営者の方からのメンタリングのリクエストをいただくことがあります。 その中で多くの割合を占めるのが、ITエンジニア(以降、エンジニア)のマネジメントと、エンジニア組織の構築をどのようにすればいいのかというテーマです。 確かに、どんなビジネスをするにしても、単にSaaSやノーコードツールを活用するだけでは足りなくて、自分たちでシステム開発しないといけないケースが増えてきているのは、間違いないなと思います。 外注をしてシステム構築をするケースももちろん多いですが、基幹システムのような使いにくくても自社の社員が我慢すればいいものと違って、自社のお客様向けのシステムだと使いやすくないとお客様が離脱してしまいますし、常にアップデートをし続けて、最良のUI/UXを作ることが業績に直結します。 要は、今のデジタルシステム

    なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita
  • 【Unity】BurstLinq – Burst Compilerを用いたLINQ高速化ライブラリ - Annulus Games

    using System.Collections.Generic; using System.Linq; using BurstLinq; var enumerable = Enumerable.Range(0, 100); var array = enumerable.ToArray(); // Enumerable.Sum() var linqSum = enumerable.Sum(); // BurstLinqExtensions.Sum() var burstLinqSum = array.Sum(); READMEにも書いてある通り、このBurstLinqはCysharpさんのSimdLinqというライブラリのコンセプトを元にLINQの高速化バージョンをUnity + Burstで実装したものになります。 SimdLinqの良いところは‘Drop-in replacement’

  • 前のフレームのカメラ行列を使用した残像効果 - Qiita

    単純な残像効果ですが 昔から好きで多用しています。 要するに 前のフレームのカメラ行列をシェーダに渡しているのですが、今回はGodotでの実装例を紹介します。 まずはGDScriptで 前回のカメラ座標を格納しておきます。この処理は最後に実行するようにします。 func _process(delta:float) -> void: var prev_matrix:Array = [ Vector4(1, 0, 0, 0), Vector4(0, 1, 0, 0), Vector4(0, 0, 1, 0), Vector4(0, 0, 0, 1), ] var camera_transform_inverse := self._prev_camera_transform.inverse() var rot = camera_transform_inverse.basis var origin

    前のフレームのカメラ行列を使用した残像効果 - Qiita
  • ドット絵をコンポジットする(Unityで)|るっちょ

    (↑表・裏・端。3枚もあってすごい) るっちょと申します! 普段は個人ゲーム開発者としてドット絵のゲームを作ったり、ドット絵のアニメーションを描いたりしています。 コンポジット描いたドット絵をそのまま出す前に、色味の調整やエフェクト等々、手描き以外による様々な編集を施す、いわゆるコンポジットを行います。手描きだけでは難しい表現をコンピュータの力を借りて実現することができ、ドット絵の表現の幅を広げることができます。 コンポジットに使えるソフトAdobe After Effects映像のコンポジットソフトウェアとして非常に広く使われているソフトです。単体で買おうとするとそれなりに高価なのが難点ですが、日常的にPhotoshopやIllustratorを使っている方なら比較的追加コスト少なく入手できるのではないでしょうか。かくいう私はほとんど触ったことがありません…… 今回のAdvent Cal

    ドット絵をコンポジットする(Unityで)|るっちょ
  • 4頂点楕円体描画 - Qiita

    弾としての表現 は色々とありますが(要するにシューティングゲームの弾です) 球状だと進行方向がわかりにくい、味気ない 板状は視線と平行になるとつぶれてしまう ので、私は楕円体の描画を好んでよく使っています。ビルボードと同様に少ない頂点で描画でき、カメラの位置で破綻することもありません。 今回は Godot での実装例を紹介します。 (Unityの実装例は・・・だいぶ前にソースを公開しただけだったかも) 頂点の算出 進行方向を持つ弾は、2点で表現されます。 カメラに対してこのような位置関係にある場合、頂点シェーダで このようなオレンジ色の頂点を算出します。このようにカメラに対して垂直な点を作れば、ワールド座標の2点が視線方向に重なっても こうなりますから、潰れることはありません。楕円体を真横から見れば円になる理屈に沿っていますね。 GDScript func _ready(): var ve

    4頂点楕円体描画 - Qiita
  • [CEDEC+KYUSHU]ポールトゥウィンによるセッション「ゲーム業界の隠れた仕事人〜ゲームデバッガーという生き方〜」をレポート

    [CEDEC+KYUSHU]ポールトゥウィンによるセッション「ゲーム業界の隠れた仕事人〜ゲームデバッガーという生き方〜」をレポート 編集部:Junpoco 2023年11月25日に福岡県の九州産業大学で開催されたゲーム開発者向けカンファレンス「CEDEC+KYUSHU 2023」にて行われた,「ゲーム業界の隠れた仕事人〜ゲームデバッガーという生き方〜」と題されたセッションの聴講レポートをお届けしよう。 ゲームのデバッグ業務などを手がけるポールトゥウィンの龍 益旺氏,大村 拓氏,服部 賢治氏,堀米 智也氏をスピーカーに,デバッガーはどのようにしてバグを見つけ,報告し,ゲームの品質向上に貢献しているのか,1日の具体的な流れをとおして紹介された。 そもそもポールトゥウィンとはどういう会社なのかは,4Gamerの読者には説明不要だろう。1994年に設立された日初のデバッグアウトソーシング事業の会

    [CEDEC+KYUSHU]ポールトゥウィンによるセッション「ゲーム業界の隠れた仕事人〜ゲームデバッガーという生き方〜」をレポート
  • チームにポジティブなコミュニケーションを増やす スキルマップの使い方 - MonotaRO Tech Blog

    こんにちは、モノタロウのUIUXグループの澤井です。 主にサービス開発や商品開発のためのリサーチ・体験設計、これらのための仕組みづくり・運用に携わっています。 この記事では、チームにポジティブなコミュニケーションを増やすために、メンバー同士の自己開示のためのツールとしてスキルマップを利用したこと、利用にあたって工夫したことについてお話していきます。 目次 スキルマップってどんなツール? スキルマップを利用しようと思った背景 スキルマップの利用にあたって工夫したこと スキルマップを利用してどうだったか おわりに スキルマップってどんなツール? そもそもスキルマップはどんなものかといいますと、縦軸と横軸を中心で交差させて分けた4つのセグメントにスキルをマッピングして傾向や状態を可視化するものです。自己紹介や自己分析に使ったり、目的によって様々に利用できる便利なツールです。 詳しくは、宇野さんの

    チームにポジティブなコミュニケーションを増やす スキルマップの使い方 - MonotaRO Tech Blog
  • 有意義な輪読会を開催し続けるコツ

    議論を活性化させる工夫 輪読会でありがちな課題は、議論が活性化しないことです。 この問題に対処するために、われわれの輪読会ではサマリーに加えて、疑問点や不明点を書き込む専用のフォームを用意しています。参加者が事前にこのフォームに疑問や不明点を記入することで、輪読会の日に活発な議論が行われやすくなります。 最終的に、以下のような参加者ごとに個別のフォームを準備することにしました。これにより、それぞれの参加者が輪読会での議論への積極的な参加を促すようになり、議論への意識が高まる効果があります。 議論が活性するには、少人数で開催するのが一番いいのではないかと思っています。 以前、3名以上の大人数の輪読会を開催した際、参加者が他の誰かが話を始めるだろうと考え、結局は無言の時間が続くという状況がしばしばありました。一方、参加者数が少ない場合、サマリー作成の担当者になる頻度が多く、輪読会に対して当事者

    有意義な輪読会を開催し続けるコツ
  • チームで仕事をするなら、リアクションし続けよ|森 一貴(Mori Kazuki)

    チームで仕事するとき、みんなもう少し自分の存在、自分のリアクションがチームに与える影響を自覚した方がいい。 例えばミーティングでブレストしているとき、議論が前に進むのは、あるときふと場に出されたアイデアに対して、誰かが"それいいですね"って言った瞬間である。アイデアを出したとき、その人にはふつう、確信なんてほとんどない。僕なんか自分の意見に自信なんかなくて(大体みんなそうなのだ)、言ってみて、まわりの反応を見て、あ、なんか良さそうだ…と思ったときにやっと前に進むことができる。みんな、自信なんてないのだ。だからアイデアは、場に出されたときはまだ、波際の砂のお城のようにやわらかである。 しかし、あるアイデアに対して、それいいね、と声をもらったとき。いい顔が見えたとき。姿勢が前のめりになってくるとき。そのときとあるアイデアは、はじめて光るのだ、形になる可能性を見せるのだ。 * 逆に言えば、議論に

    チームで仕事をするなら、リアクションし続けよ|森 一貴(Mori Kazuki)
  • マネジメントとしての意思決定振り返り - Konifar's WIP

    Engineering Manager Advent Calendar 2023 15日目の記事です。 KyashでEngineering Managerとして1年半、VP of Enginneringとして2年やってきました。 体系的な話は HIGH OUTPUT MANAGEMENT や エンジニアリング組織論への招待、エンジニアリングマネージャーのしごと といった素晴らしい書籍にまとまっているので、自分はケーススタディとしてVPoEになってからの具体的な意思決定の記録を残しておきます。EMの時の話は過去にまとめています。 KyashでEngineering Managerとしてやってきたこと / やっていくこと - Konifar's WIP Engineering Managerをやめた - Konifar's WIP 先に書いておくと、綺麗にうまくいった / いっているという話は

    マネジメントとしての意思決定振り返り - Konifar's WIP
  • 成果の最大化と向き合うEM思考

    2023/12/15開催のEMゆるミートアップで話した内容です。 linkや当日お話した部分、誤解を生みそうな部分に関していくつか補足を書いておきます。 - p5~p11 補足: EMは会社や事業、チームの状況によって、求められることが違うので、弊社のプロダクトや自分の立場についてお話してい…

    成果の最大化と向き合うEM思考
  • Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(後編) - Qiita

    この記事は 2023年10月7日にGmailと米Yahooさんが投げ込んだ新たな闇要素への防衛術 の後編です。前編はこちら。 ※というか私がまだ防衛術を検討&試行中である ※この記事にはSPFやDKIMなどのメール認証に関する用語が出てきますが、それ自体の解説は含みませのであしからず。 ※Gmailのガイドラインはこちら Googleが(大量)送信者に求めていること9つを3つに分類 では、Gmailさんが求めている事項を見てみます(下記キャプチャーは2023/12/9現在)。 上から①②……と番号を振って日語を意訳し箇条書きにするとこうです 項番 内容

    Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(後編) - Qiita
  • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

    IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
  • ほとんど個人開発しかやってこなかった人がチームで働くとどうなると思う? | BLOG - DeNA Engineering

    こんにちは、IT戦略部システム開発グループ所属のyoshiiです。 私は学生時代ひたすら個人開発をしており、就活もこの活動一で行なってDeNAに入社しました。 今回はほとんど個人開発しか経験していなかった私が、研修や実際の業務の中で、チームで働いて失敗したことや成長できたことなどをゆるく書けたらいいなと思っています。 誰得な記事になるかもですが、どうか最後まで読んでいただけると幸いです。 特に読んで欲しい人 趣味開発はやってきたけど、仕事でコード書いた経験はなくて不安な学生さんに特に読んで欲しいと思って書いています。 もちろんそれ以外の人も読んでいただければ嬉しいですが…! 個人開発に対するスタンスとこの会社に入った決め手 今回のお話をする前に、私がどういうスタンスで趣味個人開発と向き合ってきたかを説明しておきます。 私にとって個人開発をするスタンスは「自分が面白ければなんでも良い」し

    ほとんど個人開発しかやってこなかった人がチームで働くとどうなると思う? | BLOG - DeNA Engineering
  • 生成AIレンダリングの現在地とゲームの期限

    生成AIレンダリングの現在地とゲームの期限 by kogu 2023年12月14日 これは「生成AI Advent Calendar 2023」参加記事であり、また昨年書いた「3DCGの終焉とAI生成レンダリングという未来」の続きです。 2022年7月末以降生成AIの大きな変化は続いていますが、視覚表現の生成AIレンダリングという可能性にどんな変化があったのか確認します。後半ではゲームへの生成AIの利用の大雑把な状況と、最後にまたSF的なゲームの未来についても考えます。 今回は記事全体をCC0にはできませんが、昨年同様脈絡なく挿れた挿絵はすべてStable Diffusion XL(+Kohya’s Deep Shrink)で生成しています。著作性ある加工も行っていないため、パブリックドメインと考え、引用元の記載がある画像を除き記事内の画像はすべてCC0とします。 生成AIレンダリングから

    生成AIレンダリングの現在地とゲームの期限
  • 新幹線でもQUICで快適にSSHする - Qiita

    はじめに 今日は、劣悪な通信環境でも快適にSSHができるquicssh-rsをご紹介します。そして、実際に改善されるかを試してみます。 長くなったので最初に結論 quicssh-rsを使うと、 パケットロスに対して明らかに強くなった こちらのIPアドレスが変わっても通信が継続できた 遅延(pingのRTTが大きいこと)は改善されない模様 30%パケットロス環境での比較 IPアドレスを変更しても切れない SSHは新幹線(劣悪通信環境)に弱い 鉄道での移動時間が長いと、パソコンを開いて各種開発の続きをしたくなります。 …なりませんか? 時には、別のサーバーにSSHでログインして何かコマンドを打ったり。 在来線1であれば概ね問題ありませんが、新幹線になると通信品質が大きく悪くなるため、SSHでの操作は大きなストレスが溜まりがちです。なんとかならないかとずっと思っていました。 新幹線の通信環境 通

    新幹線でもQUICで快適にSSHする - Qiita
    s_ryuuki
    s_ryuuki 2023/12/17
  • 米ゲーム歴史保存団体VGHF、所蔵資料をネットで無料公開へ。ゲーム雑誌7000冊以上、開発資料も | テクノエッジ TechnoEdge

    著書に『宇宙世紀の政治経済学』(宝島社)、『ガンダムと日人』(文春新書)、『教養としてのゲーム史』(ちくま新書)、『PS3はなぜ失敗したのか』(晋遊舎)、共著に『超クソゲー2』『超アーケード』『超ファミコン』『PCエンジン大全』(以上、太田出版)、『ゲーム制作 現場の新戦略 企画と運営のノウハウ』(MdN)など。 米Video Game History Foundation(VGHF)は、ゲーム雑誌やアートブック、CDやソースコードに至るまで、ゲーム関連の資料を全世界からブラウザで閲覧できるデジタルライブラリのあらましを初公開しました。 あくまで「どのようなユーザーインターフェースか」「どんな資料を検索できるか」を紹介している段階です。過去2年間にわたって構築されてきたライブラリは、2024年内に公開される予定です。 VGHFは、ビデオゲーム歴史関連の資料をアーカイブ化して保存する非営利

    米ゲーム歴史保存団体VGHF、所蔵資料をネットで無料公開へ。ゲーム雑誌7000冊以上、開発資料も | テクノエッジ TechnoEdge
  • Wave Terminal

    An Open-Source, AI-Native, Terminal Built for Seamless Workflows

    Wave Terminal