タグ

ブックマーク / qiita.com (498)

  • glTF 2.0 のすべての標準プロパティを雑に眺める(ついでに .glb の構造も) - Qiita

    glTF 2.0 ファイルの全体像をさらっと把握できるような資料が見つからないので、個人的に調べたメモをここに貼っておきます。 いくらかの前提知識がある方は、プロパティ名を見るだけでも現状の glTF (のコア機能だけ)で何ができるのかの見当をつけられるのかなと思います。 glTF 2.0 の仕様書 このメモ記事は概要を俯瞰するだけですので、その後は仕様書を見てください: 追記: コメント欄にて、公式の概要図を日語訳されている方の記事を紹介して頂きました: エンコード方式 glTFでは、シーンや各種オブジェクトの定義は全般的にJSONで記述し、頂点データなどのいわゆる「バッファ」部をバイナリで格納します。これらを最終的にどのようにエンコードするかについて、いくつかの選択肢が用意されています。 .gltf (JSON) + .bin (Binary buffer) (+ 画像ファイル) J

    glTF 2.0 のすべての標準プロパティを雑に眺める(ついでに .glb の構造も) - Qiita
  • glTFを完全に理解したので、PythonでglTFを作成してみる - Qiita

    ごめんなさい調子に乗りました。ただチュートリアルを眺めて要点をまとめてみただけです。 参考 https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_001_Introduction.md glTFとは 3Dスキャンのデータは一般にOBJ・PLY・STL・FBXなどで保存される が、これらにはシーンの構造・レンダリングの方法などは含まれない 点群データはいわゆる「表形式」であるため、点ごとの属性を持てるが、面に属性を持たせることを考慮している形式はほとんどない 3DモデリングツールのMayaは.ma、3ds Maxは.max、Blenderは.blendなどにシーンの構造・ライトのセットアップ・カメラ・アニメーション・3Dオブジェクト体を保存できる が、これらは専用のインポータ

    glTFを完全に理解したので、PythonでglTFを作成してみる - Qiita
  • 【BigQuery】standardSQLでパーセンタイル(や中央値)を集計関数のように計算する - Qiita

    問題提起 BigQuery(この記事ではstandardSQLのみ考える)でパーセンタイルを計算するにはPERCENTILE_DISC()やPERCENTILE_CONT()が使える。ただし、これは分析関数1 (analytic function) であって、SUM()やAVG()のような集計関数 (aggregate function) と同じ文脈で使えない。 解決策 集計関数のようにパーセンタイルを計算する処理は、以下のように書ける。0.5の部分を求めるパーセンタイルに置換すればよい(中央値ならこのままでOK)。SUM()やAVG()と並べて使えることに注目。 #standardSQL SELECT ARRAY_AGG(value ORDER BY value)[OFFSET(CAST(CEIL((COUNT(value)-1)*0.5) AS INT64))] AS percenti

    【BigQuery】standardSQLでパーセンタイル(や中央値)を集計関数のように計算する - Qiita
  • 今更誰も教えてくれない、Unityにおけるアセット読み込みについての基礎知識 - Qiita

    はじめに 仕事上AssetBundleについての情報収集をすることがあるのですが、ネット上では以下のような意見が散見されます。 Resourcesは使ったらダメらしい(何故かはよくわからない) なんかAssetBundleとかいうのがあって、使いづらいらしいけど、なんか対応しないとまずいらしい AssetBundleを使うと何かが解決するらしい AssetBundleはよく分からない、怖い、闇、ゴミ、クソ、etc... 新しく出るAddressable Assets Systemが全てを解決してくれるらしい このような意見が出るのは、Resources / AssetBundleについて、ふんわりとした知識から微妙に間違った認識を持っているのが原因だと思いました。 ResourcesやAssetBundleについて、断片的な知見をまとめた記事は多いのですが、モノによっては情報が古かったり、

    今更誰も教えてくれない、Unityにおけるアセット読み込みについての基礎知識 - Qiita
  • UUID(v4) がぶつかる可能性を考えなくていい理由 - Qiita

    お手軽にランダムなIDを取得したい時にUUIDはとても重宝します。 でもたまに、 「このID(UUID)ってぶつかることない?対策しなくて大丈夫?」 と聞かれることがあります。 それに対して、 「ウィキペディア先生がぶつからねえって言ってたから大丈夫だよ!(#゚Д゚)」 で切り抜けるのもそろそろ限界のような気がするのでちゃんと調べました。 (もちろんウィキペディア先生を頼りました!) 2つの理論 UUIDの衝突確率について考える上で次の2つの理論が重要になります。 鳩の巣原理 誕生日のパラドクス 鳩の巣原理 鳩の巣原理とは、 m個の入れ物にn個のものを入れるとき、n > m ならば少なくとも1個の箱には2個以上のものが入る 9個の巣箱に10羽の鳩が入る場合、必ずどれかの巣箱には2羽以上入ることになるということです!(ウィキペディア先生) 考えれば当たり前のことですが同様にして考えれば、 「

    UUID(v4) がぶつかる可能性を考えなくていい理由 - Qiita
  • Open Policy Agent (OPA) のユースケース4選 - Qiita

    アドベントカレンダー5日目は、Policy as Codeを実現する話題のOSS「Open Policy Agent」の使い道(ユースケース)をいくつか紹介します。 Open Policy Agentとは クラウドネイティブの台頭により、昨今のシステムの構成は大規模化&複雑化しています。 そのようなシステムをセキュアな状態にするには、システムを構成するサービス1つ1つに対して適切な権限設定をしていく必要があります。 そんなときに便利なのが、Open Policy Agent(OPA:おーぱ)です。 Open Policy Agentは様々なサービスのポリシー設定を同じ書き方(Rego)で表現することができます。 また、システム全体のポリシー管理を、サービス自体のコードから切り離すことになります。 これにより、システム全体のポリシーの管理(例:どのロールのユーザにどのような権限をあたえるのか

    Open Policy Agent (OPA) のユースケース4選 - Qiita
  • 机から離れて論文を大量に読む方法(NGK2024S) - Qiita

    これは何? NGK2024Sの発表資料です。 自己紹介 名前: 中西克典 X(Twitter): @n_kats_ 機械学習名古屋研究会主催 NGK発表は2回目 機械学習名古屋研究会 論文読み会 毎月第3木曜(19:00~)オンラインで 次回(2月15日第71回)・・・https://machine-learning.connpass.com/event/308186/ 編 イントロ(研究会の表の目的) 論文を読む習慣付け 知識のアップデート 発展的・実践的な知見の獲得 イントロ(研究会の裏の目的) この世の真理と呼べるものを全て知りたい。 という話を2年前のNGKでした。 おさらい(2年前の話) 読み上げソフトを使うと機械学習の論文が30分で再生できる。 ある分野の概要を把握する目安の論文50には約3日あればよい。 2年前の課題 読み上げられてる文章を目で追いかけないといけない。つら

    机から離れて論文を大量に読む方法(NGK2024S) - Qiita
  • なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita

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

    なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita
  • GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita

    この記事はラクスアドベントカレンダー2の17日目です。 先日のVSCodeのアップデートで、GitHub Copilotを使うとターミナル操作が便利になりました。 これにより、別途ターミナルのアプリを使わずにすべてVSCode上で操作した方が便利なのでは?となりました。 アップデート前までどうしてたか MaciTerm2上で、GitHub CopilotのCLI版(パブリックベータ)で入力補完やコマンドの意味を調べたりしていました。 それ自体は便利でしたが、いくつかの不便な点もありました。 使い方がちょっと煩雑だった 例えばコマンドをサジェストして欲しい場合、gh copilot suggest 'gitで1つ前のコミットを取り消したい'のようにタイプする文字数も多くなり、またそれが一般的なコマンド or ghコマンド or gitコマンドかの3択に答えないといけなくて面倒でした。 ss

    GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita
    shiba_yu36
    shiba_yu36 2023/12/18
    すごそう
  • GoogleスプレッドシートのQuery関数で結果が空になる謎仕様と回避策 - Qiita

    Query関数とは Googleスプレッドシートのワークシート関数にQueryというのがあって、これがSQL風の記述で他のセルや配列から条件に合った者を抽出できて超便利。HLOOKUP,VLOOKUPとかより遙かに柔軟性がある。もちろんIMPORTRANGEとも組み合わせて使える。 結果が空になる問題 しかし、時々絶対存在するはずのクエリ結果が空になる謎現象に悩まされてた。 なかなか原因が判明しなかったが、色々調べた結果、この記事にたどり着いた。 QUERY will convert columns with mixed data types into one data type. If the data is mostly numerical values, then text strings (eg 1-2 in your data) will be converted to blan

    GoogleスプレッドシートのQuery関数で結果が空になる謎仕様と回避策 - Qiita
  • 【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 人は見た目が9割 皆さん一度はこの言葉を耳にしたことがあるのでしょう。内面がどれほど素晴らしくても、外見がそれに見合わないと、なかなか当の価値を認めてもらえないものです。 この話は人間だけでなく、アプリケーションにも当てはまります。どれだけ内容が素晴らしくても、見た目がイマイチだったり使い勝手が悪かったりすると、ユーザーに敬遠されてしまいます。(私は以前ネ⚪︎フリからア⚪︎プラに切り替えたのですが、使いにくく感じたため、すぐに元のサービスに戻しました) エンジニアの皆さん、優れた技術力を持ちながら、デザインが原因でユーザー離れを招いていませんか?そうならないよう

    【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita
  • MySQLのロックについて公式ドキュメントを読みながら動作検証してみた〜テーブルレベルロック〜 - Qiita

    データベースを使っていてロックの存在を知らない方はいないと思いますが、実際にプログラムからデータベースを操作する時に明示的にロックを意識することはほとんどありません。 たいていの場合、トランザクションだけ気をつけていたらDBMSが適切にロックを取得&開放してくれます。 私もデッドロックなどロック関連の障害が発生した場合に調査のために学習するのですが、対応が終わってしばらくしたら細かい仕様は忘れてしまいますw 毎回忘れるのはもったいないので、ドキュメントを読み直して自分なりにまとめておこうと思い、この記事を書くことにしました。 当初、1つの記事にまとめようと思いましたが、書いているうちにボリュームが大きくなってしまったので下記に分割することにしました。 この記事は「テーブルレベルロック」です。 ロックを確認するためのテーブルや設定 テーブルレベルロック (この記事) 行レベルロック: 共有ロ

    MySQLのロックについて公式ドキュメントを読みながら動作検証してみた〜テーブルレベルロック〜 - Qiita
  • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

    この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

    MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
  • MySQL の Window 関数を完全に理解する - Qiita

    uid = 1 の行の式にそれ以外の行の値に基づいた式を書くことはできません(もちろんサブクエリを使えばできますが)。 しかし、Window 関数を使えば uid = 1 の行の式に gid = 100 となるすべての行を元に計算した値を使ったりできます。 という説明だけだと「GROUP BY のこと?」と思ってしまうかもしれませんが、GROUP BY だと集計した行が単一行にまとまるのに対して、Window 関数だと元の行はそのままで複数の行から計算した値を結果に含めることができます。 Window 関数は SELECT 句と ORDER BY 句でのみ使用できます。FROM や WHERE や GROUP BY や HAVING による結果のセットに対して Window 関数が適当されるわけなのでまあそうですね。 簡単な例 結果をわかりやすくするために、極端なデータを使います。 CRE

    MySQL の Window 関数を完全に理解する - Qiita
  • 凄すぎると話題の「Open Interpreter」の始め方・使い方まとめ - Qiita

    以下の記事を見て、早速「Open interpreter」を試してみたので、使い方や始め方をまとめておきます Open Interpreterとは Open Interpreterは、GPT-3.5、GPT-4、Code Llamaなどの大規模言語モデル(LLMs)を活用して開発されたオープンソースのツールです。 このツールは、OpenAIが提供するChatGPTの「Advanced Data Analysis(旧Code Interpreter)」のオープンソース版とも言える存在で、PythonJavascript、Shellなどのプログラミング言語のコードを自然言語による対話を通じてローカル環境で実行することができます。 このツールの最大の特徴は、ChatGPTの「Advanced Data Analysis」と違いローカル環境で動くため、ファイル容量やネット接続への制約がなく、Ch

    凄すぎると話題の「Open Interpreter」の始め方・使い方まとめ - Qiita
  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

    ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
  • 技術に興味がなくて何が悪い? - Qiita

    TL;DR 技術に興味がなくても、エンジニアとして生きていくことはできる。 対象読者 自分を技術に興味がない側の人間だと思う方 筆者について Webアプリケーションの開発エンジニア。主な仕事はプログラム詳細設計、画面設計、コーディング。 技術にあまり興味がない。 初めに エンジニア界隈では、以下のような主張がしばしば見られる。 休日に勉強するべきである。 最新の技術動向は常にチェックするべきである。 技術イベントには参加するべきである。 毎日コードを書くべきである。 レガシーな技術ではなく、モダンな技術を習得するべきである。 etc... そしてこれらの"べき論"がさらに加速すると、 「技術に興味がない人はエンジニアに向いていない」 という主張すら出現し、それに同調する声も少なくない。 最近、とあるSNSで以下のようなやり取りを見かけた。 駆け出しエンジニアの質問 休日に勉強するべきですか

    技術に興味がなくて何が悪い? - Qiita
  • 文化祭で某チェーン店を再現して失敗した話 - Qiita

    要約 Wifiは無いに等しいと考えること。 (来場者1万強/日 なんていう状況下でWifiが動くと想定するのが駄目でした) 進捗管理する第三者を設けること。 ソースコード https://github.com/Na4Yu/EasyEats (RTDBのURLやSquareの個別キーは抜いているのでそのままは使えないです) はじめまして はじめまして、高校2年のNaYuです。 今回は文化祭で派手に失敗した話をさせて頂きます。 血反吐を垂れ流しながら書いていましたが、もし皆さんが文化祭を経て「この人のしたことをしなくて良かった~」なんて言っていただければ幸いです。(人の不幸は蜜の味) お願い 記事は知見の共有を目的として個人が執筆したものであり、記事の内容について学校、学校関係者への問い合わせはご遠慮頂けるようお願い申し上げます。 これを読んでいる後輩の方々へ この記事が私からの引き継ぎに

    文化祭で某チェーン店を再現して失敗した話 - Qiita
  • ソフトウェアはなぜバージョンアップしなければならないのか - Qiita

    はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ

    ソフトウェアはなぜバージョンアップしなければならないのか - Qiita
  • リモートワークで新人が楽しく効率的に成長できたプラクティス - Qiita

    はじめに 私のチームは、リモートワーク中心の開発チームです。 そのチームに新人が配属された時に、私のチームで行っている新人育成のプラクティスのうち、比較的ユニーク(だと思っている)プラクティスを抜粋して紹介します。 少しでも参考になれば幸いです。 リモートワークの知見を説明 新人に対して、チームで行っているリモートワークを快適に行うための知見を紹介しています。 特に、「今から通話いいですか」をすっ飛ばしてビデオ通話を開始する文化であることを共有します。 詳細は以下を参照ください。 インセプションデッキの説明 インセプションデッキとは、プロダクトづくりに関わるメンバーが各々の意見を持ち寄って共通認識をつくり出すための大事な質問に対してメンバー皆で議論して決めた回答です。 詳細は以下を参照ください。 インセプションデッキ | Agile Studio 私のチームでは、以下のテンプレートを利用し

    リモートワークで新人が楽しく効率的に成長できたプラクティス - Qiita