Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
4D & Git
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
4D Japan
July 01, 2020
Technology
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
4D & Git
4D Japan
July 01, 2020
More Decks by 4D Japan
See All by 4D Japan
4D 21 R2 R3
miyako
0
32
4D 21 LTS
miyako
0
18
4D 21
miyako
0
42
4D 20 R10
miyako
0
44
4D 20 R9
miyako
0
40
4D 20 R7 & R8
miyako
0
85
Unicodeの話 (2007)
miyako
0
47
Unicodeの話 (2008)
miyako
0
54
Google Apps Integration (2012)
miyako
0
57
Other Decks in Technology
See All in Technology
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
200
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
120
書籍『生成AIの安全性入門』の入門
wataoka
0
220
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
120
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
2
1.6k
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
110
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
270
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
120
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
160
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.2k
A Soul's Torment
seathinner
7
3.5k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Bash Introduction
62gerente
615
220k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
BBQ
matthewcrist
89
10k
Designing for Performance
lara
611
70k
Automating Front-end Workflow
addyosmani
1369
210k
Transcript
by Ahlam BENHACHEM 4D & Git - A new era
of collaboration has begun 4D & Git 1^XQ!h*;l
チーム開発の問題点
トム キム ヘンリー γφϦΦ 1 1 2 3
トム キム ヘンリー γφϦΦ 1 1 2 3 ヘンリーはコピー3をキムに返します キムはコピー3に⾃分の変更を統合し、トムに渡します
トムは⾃分の変更を統合し、最新版を全員に配布します
トム キム ヘンリー γφϦΦ 1 1 2 3 ヘンリーはコピー3をキムに返します キムはコピー3に⾃分の変更を統合し、トムに渡します
トムは⾃分の変更を統合し、最新版を全員に配布します ⼿作業 ⾮効率的 ミスを 誘発 時間が かかる
トム キム ヘンリー γφϦΦ 2
トム キム ヘンリー γφϦΦ 2 変更履歴は管理できていません メソッドやフォームを編集できるのは⼀度に⼀⼈だけ サーバーへの接続が必須 接続不可の場合、⼿作業による統合をおこなうことに
トム キム ヘンリー γφϦΦ 2 変更履歴は管理できていません メソッドやフォームを編集できるのは⼀度に⼀⼈だけ サーバーへの接続が必須 接続不可の場合、⼿作業による統合をおこなうことに ⼿作業
⾮効率的 時間が かかる
チーム開発の問題点 •変更履歴の管理 •コードの共有 •接続が必須 •同時開発 •⽣産性の評価 •ロールバック
バージョン管理システム
バイナリとテキストの違い バイナリファイル テキストファイル 変更前 変更後 変更前 変更後 可読性
git フォルダー 2度の編集 100MB バイナリを git で管理すると… 300MB 100MB +
100MB + 100MB
プロジェクトデータベース
όΠφϦ σʔλϕʔε vs ϓϩδΣΫτ σʔλϕʔε <database>.4DB <database>.4DIndy <database>.4DD <database>.4DIndx バイナリデータベース
Data フォルダー ➡ Data.4DD ➡ Data.4DIndx プロジェクトデータベース Project フォルダー ➡ Sources フォルダー ➡ <database>.4DProject userPreferences.<name> フォルダー ➡ breakpoint.json ➡ … … … Resources フォルダー Resources フォルダー Logs フォルダー Logs フォルダー ス ト ラ ク チ ャ ー デ ー タ リ ソ ー ス ほ か
ϓϩδΣΫτϞʔυ 新規作成 既存データベース の変換
ϓϩδΣΫτͷ৽ن࡞
طଘσʔλϕʔεΛϓϩδΣΫτʹม
ス ト ラ ク チ
ャ ー <database>.4DB <database>.4DIndy <database>.4DD <database>.4DIndx 変換前 Data フォルダー ➡ Data.4DD ➡ Data.4DIndx 変換後 デ ー タ … … リ ソ ー ス ほ か Resources フォルダー Resources フォルダー Logs フォルダー Logs フォルダー <database>.4DB <database>.4DIndy userPreferences.<name> フォルダー Project フォルダー ➡ Sources フォルダー ➡ <database>.4DProject <database>.4DD <database>.4DIndx ม ޙ ͷ ख ೖ Ε
ス ト ラ ク チ
ャ ー <database>.4DB <database>.4DIndy <database>.4DD <database>.4DIndx 変換前 Data フォルダー ➡ Data.4DD ➡ Data.4DIndx 変換後 デ ー タ … … リ ソ ー ス ほ か Resources フォルダー Resources フォルダー Logs フォルダー Logs フォルダー userPreferences.<name> フォルダー Project フォルダー ➡ Sources フォルダー ➡ <database>.4DProject ม ޙ ͷ ख ೖ Ε
ϒϩά͝ཡ͍ͩ͘͞ https://4d-jp.github.io/category/#PROJECTDATABASESγϦʔζ
シンタックスハイライト シンタックスハイライトなし シンタックスハイライトあり Atom の例:
Visual Studio Code の例:
git の紹介
準備1 各⾃がそれぞれのマシンにgitをインストールしておきます。 git の⼿順 トム キム ヘンリー
git の⼿順 トム キム ヘンリー 準備2 トム はリポジトリを作成して、そのコピーをリモートに置きます。 保管場所 ʹ
git の⼿順 トム キム ヘンリー git init
git の⼿順 トム キム ヘンリー git init git add
git の⼿順 トム キム ヘンリー git init git commit git
add
git の⼿順 トム キム ヘンリー git init git commit git
add + URL git remote add origin
git の⼿順 トム キム ヘンリー git init git commit git
push git add git remote add origin
git の⼿順 トム キム ヘンリー git init git commit git
push git add + git remote add origin 準備3 キム & ヘンリー はリモートリポジトリをローカルにコピーします
git の⼿順 トム キム ヘンリー git init git commit git
push git add + git remote add origin + URL + URL git clone git clone
git の⼿順 トム キム ヘンリー git init git commit git
push git add + git remote add origin git clone チームメンバーはローカルコピーで開発を進めます その間、リモートリポジトリへの接続は不要です
git の⼿順 トム キム ヘンリー git init git commit git
push git add + git remote add origin git clone git pull
git の⼿順 トム キム ヘンリー git init git commit git
push git add + git remote add origin git clone git pull 誰でも⾃分の編集分をリモートに送ることができます 最新のリモートリポジトリをローカルに統合できます
git の⼿順 トム キム ヘンリー + 問題とは? → 同じファイルを変更した場合
トム
トム キム
キム ヘンリー
キム ヘンリー コンフリクト 発⽣ ಉ͡ϑΝΠϧͷಉ͡ߦʹର͢Δมߋ
キム ヘンリー コンフリクト 発⽣ ಉ͡ϑΝΠϧͷಉ͡ߦʹର͢Δมߋ ΄͔ͷਓ͕ฤूͨ͠ϑΝΠϧΛআ ಉ໊͡લͷϑΝΠϧΛՃ
ロールバック
チーム開発の問題点 • 変更履歴の管理 •コードの共有 •接続が必須 •同時開発 •⽣産性の評価 •ロールバック
GitHub との連携
GitHub トム キム ヘンリー +
デモンストレーション
最後に
.gitignore の 例 無視するファイルとフォルダーを 指定する場合: 追跡するファイルとフォルダーを 指定する場合:
ぜひ試してみてください!