Submit Search
Upload
リソースのバージョン管理/運用の失敗談と改善策について
•
1 like
•
3,819 views
geechs inc. / geechs株式会社
Follow
リソースのバージョン管理を手動で行うことによる課題を、チェックサムを導入し自動化することで、解決した事例の紹介。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 33
Recommended
[120915] igda sig indie9
[120915] igda sig indie9
IGDA Japan
ほぼひとり情シスのJamfPro
ほぼひとり情シスのJamfPro
Ryo Yokokawa
JMUG(Jamf Macadmin User Group)Meetup #1
「オルタンシア・サーガ」開発の裏側
「オルタンシア・サーガ」開発の裏側
geechs inc. / geechs株式会社
f4samuraiが開発する「オルタンシア・サーガ-蒼の騎士団-」について、方式設計における幅広いノウハウの紹介。
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
DeNA史上最大級のマスターデータの運用改善。
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎
MKT International Inc.
2012年8月29日開催 バックアップ勉強会資料
20190523 IMC meetup-IMDG&DS
20190523 IMC meetup-IMDG&DS
Masaki Yamakawa
2019/5/23 In-memory Computing Meetup Vol.1の発表資料
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
Recommended
[120915] igda sig indie9
[120915] igda sig indie9
IGDA Japan
ほぼひとり情シスのJamfPro
ほぼひとり情シスのJamfPro
Ryo Yokokawa
JMUG(Jamf Macadmin User Group)Meetup #1
「オルタンシア・サーガ」開発の裏側
「オルタンシア・サーガ」開発の裏側
geechs inc. / geechs株式会社
f4samuraiが開発する「オルタンシア・サーガ-蒼の騎士団-」について、方式設計における幅広いノウハウの紹介。
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
DeNA史上最大級のマスターデータの運用改善。
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎
MKT International Inc.
2012年8月29日開催 バックアップ勉強会資料
20190523 IMC meetup-IMDG&DS
20190523 IMC meetup-IMDG&DS
Masaki Yamakawa
2019/5/23 In-memory Computing Meetup Vol.1の発表資料
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
Zマイスターとの新たな価値探求 Tivoli
Zマイスターとの新たな価値探求 Tivoli
IBMソリューション
「先輩」と「後輩」のやりとりを通し、運用管理レベルの向上に併せ、さまざまなツールを自由に組み合わせてより広範囲・高品質な運用の実現を支えるIBM Service Management Center on System zについてご紹介します。
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
OSgeo Japan
For Power BI Beginners
For Power BI Beginners
Tomoyuki Oota
Power BI 勉強会 for Beginners @東京#1 のセッション資料です
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
TAKUYA OHTA
de:code 2019 で登壇した「ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!」の資料になります。
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
アドテク×Scala meetup 2014-11-20 http://connpass.com/event/8384/
デブサミ2011 LT大会【17-E-7】appengine ja night
デブサミ2011 LT大会【17-E-7】appengine ja night
bluerabbit777jp
デブサミオフィシャルコミュニティから選出のLT大会にてappengine ja nightコミュニティから参加した際のLT資料
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Mitsuhiro Tanda
Developers Summit 2013 15-C-2
Redmine Applied for Large Scale
Redmine Applied for Large Scale
Rakuten Group, Inc.
藤原 大、楽天株式会社 国内でも有数のユーザが使っているRedmineは、2012年に入ってツール自体への注目も集まってきています。 楽天では「アジャイル」という開発手法も取り入れてRedmineを活用しています。 これまでの経験をふまえ、一つの事例として共有させて頂きます。
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Insight Technology, Inc.
徐々に日本でも認知されはじめた「Database Reliability Engineering(DBRE)」 その職域のなかでも特に重要なMonitoring, Backup, Audit, Auth について、Yahooの取り組み事例を交えながら解説します
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Voicepic Slides presented at Fukui Mashup Seminar 2013
NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013
NetApp Japan
PEX 2013 Tokyoにて弊社が発表させていただいたプレゼンテーション資料になります。ミッションクリティカルアプリケーションの仮想化について
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
Noriaki Kadota
F.O.X Meetup #3 ~スタートアップのチームビルド~ https://forceoperationx.connpass.com/event/85153/ での発表スライド
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
#hpcstudy のLT資料です。
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AzareaCluster
クラウドコンピューティングEXPO(2013年春)のAWSブースで行われたAZAREA-Clusterのセミナー資料です。 AZAREA-ClusterはHadoop対応の分散バッチ開発ツールです。Amazon EMRにも対応しています。
20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
S
BIG DATA サービス と ツール
BIG DATA サービス と ツール
Ngoc Dao
Summary of some big data services and tools
Game Jamで Asset Serverを使ってみよう♪
Game Jamで Asset Serverを使ってみよう♪
Takashi Jona
図解じゃなくてもすぐに使えるようになる Asset Server。 GameJamで Asset Serverを使って共同開発をしやすくしてみませんか? なお、GameJam以外の現場では Plastic SCMや Perforceなどが良いらしいですが、その辺には触れません。 2016/01/24: Unity5系のメニュー構成変更に対応しました。
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術
Hiroki NAKASHIMA
本資料は2016/09/16に行われましたアプリケーション・パフォーマンス 2016発表内容からの抜粋となります。
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
講演動画:https://youtu.be/A_l65FlY25I Part 1:https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-ue4mobilepart1-179705324/ 2019年10月6日に行われた「UNREAL FEST EAST 2019」で登壇した際に使用した資料です。 ●公式サイト https://unrealengine.jp/unrealfest/ === シェーダコンパイルによるカクツキなどモバイルゲーム開発特有の問題は数多くあり、それらはユーザのストレスに繋がる可能性があります。UE4はそういった問題に対しての機能を持っていますが、用法・用量を守って正しく使わないと別の問題を引き起こしてしまいます。そこで本講演ではそれらの機能の使い方、注意点などについて解説します(他のプラットフォーム開発でも役立つ内容にする予定です)。あ、今年は1人講演です。
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
キンドリルネットワークアセスメントサービス
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
Xinhong Ma, Yiming Wang, Hao Liu, Tianyu Guo, Yunhe Wang, "When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Segmentation" NeurIPS2023 https://proceedings.neurips.cc/paper_files/paper/2023/hash/157c30da6a988e1cbef2095f7b9521db-Abstract-Conference.html
More Related Content
Similar to リソースのバージョン管理/運用の失敗談と改善策について
Zマイスターとの新たな価値探求 Tivoli
Zマイスターとの新たな価値探求 Tivoli
IBMソリューション
「先輩」と「後輩」のやりとりを通し、運用管理レベルの向上に併せ、さまざまなツールを自由に組み合わせてより広範囲・高品質な運用の実現を支えるIBM Service Management Center on System zについてご紹介します。
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
OSgeo Japan
For Power BI Beginners
For Power BI Beginners
Tomoyuki Oota
Power BI 勉強会 for Beginners @東京#1 のセッション資料です
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
TAKUYA OHTA
de:code 2019 で登壇した「ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!」の資料になります。
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
アドテク×Scala meetup 2014-11-20 http://connpass.com/event/8384/
デブサミ2011 LT大会【17-E-7】appengine ja night
デブサミ2011 LT大会【17-E-7】appengine ja night
bluerabbit777jp
デブサミオフィシャルコミュニティから選出のLT大会にてappengine ja nightコミュニティから参加した際のLT資料
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Mitsuhiro Tanda
Developers Summit 2013 15-C-2
Redmine Applied for Large Scale
Redmine Applied for Large Scale
Rakuten Group, Inc.
藤原 大、楽天株式会社 国内でも有数のユーザが使っているRedmineは、2012年に入ってツール自体への注目も集まってきています。 楽天では「アジャイル」という開発手法も取り入れてRedmineを活用しています。 これまでの経験をふまえ、一つの事例として共有させて頂きます。
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Insight Technology, Inc.
徐々に日本でも認知されはじめた「Database Reliability Engineering(DBRE)」 その職域のなかでも特に重要なMonitoring, Backup, Audit, Auth について、Yahooの取り組み事例を交えながら解説します
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Voicepic Slides presented at Fukui Mashup Seminar 2013
NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013
NetApp Japan
PEX 2013 Tokyoにて弊社が発表させていただいたプレゼンテーション資料になります。ミッションクリティカルアプリケーションの仮想化について
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
Noriaki Kadota
F.O.X Meetup #3 ~スタートアップのチームビルド~ https://forceoperationx.connpass.com/event/85153/ での発表スライド
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
#hpcstudy のLT資料です。
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AzareaCluster
クラウドコンピューティングEXPO(2013年春)のAWSブースで行われたAZAREA-Clusterのセミナー資料です。 AZAREA-ClusterはHadoop対応の分散バッチ開発ツールです。Amazon EMRにも対応しています。
20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
S
BIG DATA サービス と ツール
BIG DATA サービス と ツール
Ngoc Dao
Summary of some big data services and tools
Game Jamで Asset Serverを使ってみよう♪
Game Jamで Asset Serverを使ってみよう♪
Takashi Jona
図解じゃなくてもすぐに使えるようになる Asset Server。 GameJamで Asset Serverを使って共同開発をしやすくしてみませんか? なお、GameJam以外の現場では Plastic SCMや Perforceなどが良いらしいですが、その辺には触れません。 2016/01/24: Unity5系のメニュー構成変更に対応しました。
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術
Hiroki NAKASHIMA
本資料は2016/09/16に行われましたアプリケーション・パフォーマンス 2016発表内容からの抜粋となります。
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
講演動画:https://youtu.be/A_l65FlY25I Part 1:https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-ue4mobilepart1-179705324/ 2019年10月6日に行われた「UNREAL FEST EAST 2019」で登壇した際に使用した資料です。 ●公式サイト https://unrealengine.jp/unrealfest/ === シェーダコンパイルによるカクツキなどモバイルゲーム開発特有の問題は数多くあり、それらはユーザのストレスに繋がる可能性があります。UE4はそういった問題に対しての機能を持っていますが、用法・用量を守って正しく使わないと別の問題を引き起こしてしまいます。そこで本講演ではそれらの機能の使い方、注意点などについて解説します(他のプラットフォーム開発でも役立つ内容にする予定です)。あ、今年は1人講演です。
Similar to リソースのバージョン管理/運用の失敗談と改善策について
(20)
Zマイスターとの新たな価値探求 Tivoli
Zマイスターとの新たな価値探求 Tivoli
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
For Power BI Beginners
For Power BI Beginners
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
デブサミ2011 LT大会【17-E-7】appengine ja night
デブサミ2011 LT大会【17-E-7】appengine ja night
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Redmine Applied for Large Scale
Redmine Applied for Large Scale
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013
成功したチーム 失敗したチーム -F.O.X Meetup #3-
成功したチーム 失敗したチーム -F.O.X Meetup #3-
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
20120405 setsunaセミナー
20120405 setsunaセミナー
BIG DATA サービス と ツール
BIG DATA サービス と ツール
Game Jamで Asset Serverを使ってみよう♪
Game Jamで Asset Serverを使ってみよう♪
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
Recently uploaded
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
キンドリルネットワークアセスメントサービス
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
Xinhong Ma, Yiming Wang, Hao Liu, Tianyu Guo, Yunhe Wang, "When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Segmentation" NeurIPS2023 https://proceedings.neurips.cc/paper_files/paper/2023/hash/157c30da6a988e1cbef2095f7b9521db-Abstract-Conference.html
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
Generating Automatic Feedback on UI Mockups with Large Language Modelsを和訳紹介したものです
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
Ce Zheng, Wenhan Wu, Chen Chen, Taojiannan Yang, Sijie Zhu, Ju Shen, Nasser Kehtarnavaz, Mubarak Shah, "Deep Learning-Based Human Pose Estimation: A Survey" arXiv2020 https://arxiv.org/abs/2012.13392
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
オープンエンドな進化から着想を得て、個々の大規模言語モデル(LLM)が、グループとして学習を進めながら、ノームエージェントとして機能するという概念を探求しています。これは、単一のモデルでは難しい複雑な問題を解決することを目的としています。具体的な方法として、遺伝的アルゴリズムと知識蒸留を組み合わせた学習プロセスを提案しています。知識蒸留によって学習を進め、同時に遺伝的アルゴリズムでハイパーパラメータを最適化することで、より効率的な学習を目指します。ドメインタスクとして、指示からPythonコードを生成するコード生成タスクを選択しました。実験では、学習に3つの学習モデルと1つの教師モデルを使用しました。その結果、HumanEvalのpass@1で精度が1.2%向上し、学習が進むにつれて学習率が最適化された兆候が見られました。しかし、大幅な精度向上を達成し、さまざまなハイパーパラメータを最適化するには、まだ課題が残っています。
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
JSAI2024の発表スライドです.
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
我々はこれまで,新たなモノを産出する過程において「便利にすること」によって副次的に生じる課題を「便利の副作用」と定義し,その低減を目的としてアイディアの発想支援手法を提案してきた. これまでの研究では,便利前後の行為の増減に着目することにより便利の副作用への気づきの誘発が示唆されたものの,行為の増減の提示による便利の副作用への気づきへの影響は十分に検討できていなかった. そのため,本稿では行為の提示により便利の副作用に気づき,それを防いだアイディアの発想の支援が可能かの検証を目的として実験を行い,その有効性について検証する. 実験では,行為の増減の提示の有無によりアイディア発想にどのような影響を与えるか検証を行う.
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
RIZAPテクノロジーズ株式会社の会社説明資料です。
Recently uploaded
(9)
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
リソースのバージョン管理/運用の失敗談と改善策について
1.
Tech Valley #7 Atsuyuki
Nakanishi リソースのバージョン管理/運用の 失敗談と改善策について
2.
About Me ギークス ゲーム事業本部 開発1部 部長 中西
敦之 Atsuyuki Nakanishi html/css/javascript/php/Unity
3.
リソース 画像/楽曲/動画等の素材データ=
4.
なぜバージョン管理が必要か?
5.
リソースバージョン管理の必要性 downloading IMG スマホゲームではリソースをDLし、 ローカルにキャッシュするのが一般的 (表示速度向上/通信量削減) ダウンロード&キャッシュ MP3
6.
約3000リソース 1アプリのリソース数
7.
リソースバージョン管理の必要性 リソース更新した場合、どうするの? ↓ 再取得のトリガーが必要 ↓ バージョン管理 (キャッシュのリソースが古いか判断)
8.
旧バージョン管理 (失敗談)
9.
管理手法 〜旧バージョン管理〜 各関係マスターにversion情報を持たせる (手動で更新…) chara_id name
… image_version 1 キャラA 1 2 キャラB 3 3 キャラC 1 m_chara
10.
フロント 〜旧バージョン管理〜 キャッシュ時に ファイル名にバージョンを付けて保存 ex) chara_0002_s_3.png リソース取得時に 最新バージョンのファイル名が キャッシュに無ければサーバーから取得
11.
デメリット
12.
デメリット 〜旧バージョン管理〜 【1】version情報が拡散 m_chara, m_music,
m_band… 各々のバージョンがそれぞれのマスターに リソース更新時に どのバージョンを上げればよいか…迷走...
13.
デメリット 〜旧バージョン管理〜 【2】各マスター毎にトリガーを開発 各マスター毎にバージョン管理されているため、 どのマスターのバージョンを見るか個別開発
14.
デメリット 〜旧バージョン管理〜 【3】同versionに紐づくリソースが複数 chara_0001_s.png, chara_0001_l.png ⇒
片方のみ更新でも両方更新扱いになる (同じversionを見ているため)
15.
デメリット 〜旧バージョン管理〜 【4】マスターが無いリソースが面倒 お知らせのバナー等マスター管理されていない リソースはバージョン更新が出来ないため、 リソース名を変えるしか無い
16.
デメリット 〜旧バージョン管理〜 【5】version管理が手動 ・更新漏れ等が発生 ・不要なバージョン上げてしまったり
17.
デメリット 〜旧バージョン管理〜 なんだかとにかく大変。 メンテナンスも拡張も大変。
18.
改善策Ⅰ バージョン管理を一つのテーブル にまとめよう
19.
改善策Ⅰ 全リソースのversionを管理するテーブルを作成 resource_name ... …
version images/chara_0001_s.png 1 images/chara_0002_s.png 2 music/music_0001.mp3 1 m_resource
20.
改善策Ⅰ 【1】 version管理が拡散 【2】 各マスター毎にトリガーを開発 【3】
同versionに紐づくリソースが複数 【4】 マスターが無いリソースが面倒 ↓ 解決
21.
改善策Ⅰ しかし、 大量にレコードがあるマスターを 手動で更新するのは手間すぎる
22.
うーん。 バージョンの概念を無くしたい… (考えたくない)
23.
キャッシュのリソース と 最新のリソース が 違うことが分かれば良い
24.
改善策Ⅱ チェックサムを使う
25.
チェックサム MD5チェックサム ダウンロードしたソフトウェアが改ざんされていない ことや壊れていないことを確認するのに利用 MD5 128ビットのハッシュ値を取得 (32桁の16進数、340京通り)
26.
管理手法 〜改善策Ⅱ〜 全リソースのmd5を管理するテーブルを作成 resource_name …
… md5_value images/chara_0001_s.png d41d8cd98f00b204e9800998ecf8427e images/chara_0002_s.png 9800998ecf8427ed41d8cd98f00b204e music/music_0001.mp3 d41d8cd98f00b204e9800998ecf8427e m_resource
27.
更新手法 〜改善策Ⅱ 〜 【1】開発サーバーにリソースをアップ リソース配信用の特定フォルダ配下に リソースをアップロード 【2】管理画面からボタンをポチリ 特定フォルダ配下のファイルを MD5チェック&m_resourceを更新
28.
フロント 〜改善策Ⅱ 〜 リソース取得時 md5値が異なる
⇒ リソースを更新
29.
フロント 〜改善策Ⅱ 〜 アプリ起動時に キャッシュフォルダにある全リソースのmd5値を 非同期でチェック&保持しておく ※
md5値取得に多少時間がかかるため
30.
フロント 〜改善策Ⅱ〜 C#でのmd5取得 using System.Security.Cryptography; using
System.Text; string GetMD5Value(byte[] bytes) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] bs = md5.ComputeHash(bytes); StringBuilder result = new StringBuilder(); foreach (byte b in bs){ result.Append(b.ToString("x2")); } return result.ToString(); }
31.
まとめ 〜改善策Ⅱ 〜 【1】
version管理が拡散 【2】 各マスター毎にトリガーを開発 【3】 同versionに紐づくリソースが複数 【4】 マスターが無いリソースが面倒 【5】 version管理が手動 ↓ 解決
32.
まとめ 〜改善策Ⅱ 〜 さらに DL時にデータ破損チェックも可
33.
余談 m_resourceの活用 dl_point, must_flg等のカラムを追加により 指定したタイミングでリソースDLが可能 ex) *アプリインストール直後にDL *チュートリアル突破直後にDL *BGM等,常に最新を落としたいのはmust_flg
Editor's Notes
アイドリッシュセブン:2897 SB69:4000超え
例) 通常のクエストで、背景が切りかる機能 イベントのクエストで背景が切り替わる機能 があった場合、イベント情報のマスターで管理しているのか、クエストのマスターで管理しているか 100マスターくらい存在する中、 どのマスターを変更すればよいか、わかりづらくなることがある
最新バージョンのファイル名がキャッシュに無ければサーバーから取得 ★最新バージョンって?★
ファイルデータを所定の計算にくわせて出てくる固定長の値少しでもデータが異なると、値が変わる