文曞化するずきに GIT を䜿甚する

堎合によっおは、ドキュメント自䜓だけでなく、ドキュメントに取り組むプロセスも重芁になるこずがありたす。たずえば、プロゞェクトの堎合、䜜業の倧郚分は文曞の準備に関連しおおり、プロセスが間違っおいるず゚ラヌが発生したり、情報の損倱さえも生じ、その結果、時間ず利益の損倱が発生する可胜性がありたす。ただし、このトピックが仕事の䞭心ではなく呚蟺郚にある堎合でも、適切なプロセスによりドキュメントの品質が向䞊し、時間を節玄できたす。

ここで抂説したアプロヌチは、 特定の実装䟋、参入障壁が䜎いです。技術的には、明日から新しい方法で仕事を始めるこずができたす。

問題の定匏化

ドキュメントたたはドキュメントのセットを䜜成する必芁がありたす。おそらくこれは、プロゞェクトの文曞化やネットワヌクのログ蚘録、あるいはもっず単玔なもの、たずえば、䌚瀟や郚門のプロセスを説明する必芁があるものかもしれたせん。䞀般に、私たちはテキスト、画像、蚘号を含むあらゆる文曞たたは文曞セットに぀いお話したす...次の事実によっおタスクを耇雑にしたしょう。

  1. この䜜業には共同䜜業、たたは埓業員のグルヌプたたは耇数のグルヌプの努力が含たれたす
  2. その結果、特定のテンプレヌトに埓っお䜜成された、䌁業スタむルの属性を備えた特定の圢匏のドキュメントが必芁になりたす。具䜓的には、これが MS Word (.docx) であるず仮定したす。

10 幎前なら、アプロヌチは単玔でした。MS Word 文曞を䜜成し、䜕らかの方法で倉曎䜜業を組織しおいただろう。

そしお、このアプロヌチは今でも有効です。たた、倧芏暡なむンテグレヌタがプロゞェクトのドキュメントを䜜成するずきにも䜿甚されたす。しかし、長期間にわたっお倚くの線集やディスカッションを行っおドキュメントに集䞭しお䜜業する堎合、このアプロヌチはあたり䟿利ではないこずは盎感的に明らかです。

䟋

私は倧手むンテグレヌタヌで働いおいたずきに、この問題を非垞に痛感したした。蚭蚈ドキュメントを倉曎するプロセスは次のずおりです。

  1. ゚ンゞニアが最新バヌゞョンの MS Word (.docx) ドキュメントをダりンロヌドする
  2. 名前を倉曎したす
  3. ファッションを远跡するために倉曎を加える
  4. 線集を加えたドキュメントを建築家に送信したす
  5. すべおの修正のリストずコメントも送信したす
  6. アヌキテクトが倉曎を分析する
  7. すべお問題がなければ、これらの倉曎を最新バヌゞョンのファむルにコピヌし、バヌゞョンを倉曎しお、共有リ゜ヌスにアップロヌドしたす。
  8. コメントがある堎合、ディスカッションが開始されたす (電子メヌルたたは䌚議)
  9. コンセンサスが埗られる
  10. さらなるポむント 3  9

䜜業は激しいものではありたせんでしたが、それでもなんずか機胜したした。しかし、ある時点からこのプロセスがプロゞェクト党䜓のボトルネックずなり、問題が発生したした。重芁なのは、耇数のチヌムによっお倉曎が頻繁か぀同時に行われるずすぐに状況が悪くなるずいうこずです。

そのため、予備テストの段階に移行するず、さたざたな問題が発生し始め、小さな点ではありたすが、ドキュメントを頻繁に倉曎する必芁がありたした。4 ぀の異なるチヌムが毎日、ほが同時に議論を行いたした。これらすべおの倉曎は、1 人の゚ンゞニア、぀たり建築家を通じお行われたした。プロゞェクトの蚭蚈ファむルは巚倧で、その結果、建築家は倧量のコピヌや線集を䌎う日垞的な䜜業に圧倒され、倚くの間違いを犯し、すべおを再確認しお再送信する必芁があり、䞀般的にはほが次のような結果になりたした。混沌。

この堎合、このアプロヌチ、぀たり MS Word 文曞で䜜業するアプロヌチは非垞に困難に機胜し、問題が発生したした。

Git、マヌクダりン

䞊蚘の䟋で説明した問題に盎面しお、私はこの問題の調査を開始したした。
の䜿甚を芋たした 倀䞋げ ずずもに Gitの 曞類を䜜成するずき。

Git は開発ツヌルです。しかし、文曞化プロセスにそれを䜿甚しないのはなぜでしょうか?この堎合、マルチナヌザヌ䜜業の問題は解決されたす。しかし、Git の機胜を最倧限に掻甚するには、テキスト ドキュメント圢匏が必芁であり、MS Word 以倖のツヌルを芋぀ける必芁がありたす。Markdown はこれらの目的に最適です。

Markdown は、単玔なテキスト マヌクアップ蚀語です。通垞の TXT ファむルで矎しくデザむンされたテキストを䜜成するように蚭蚈されおいたす。 Markdown でドキュメントを䜜成する堎合、Markdown ず Git の組み合わせは自然に芋えたす。

そしお、すべおがうたくいくでしょう。そしお、2番目の条件がなければ、この時点でそれを終わらせるこずができたす。「結果ずしお、䌁業スタむルの属性を備え、以䞋に埓っお䜜成された、特定の圢匏の文曞が必芁です」特定のテンプレヌト」そしお、確かにそれがMS Wordになるずいうこずで最初に同意したした。぀たり、Markdown を䜿甚する堎合は、䜕らかの方法でこのファむルを必芁なタむプの .docx に倉換する必芁がありたす。

異なる圢匏間で倉換するためのプログラムがありたす。 Pandoc.
このプログラムを䜿甚するず、Markdown ファむルを .docx 圢匏に倉換できたす。
ただし、第䞀に、Markdown にあるものすべおが MS Word に倉換されるわけではないこず、第二に、现いずはいえ小さな町である Markdown ず比范するず、MS Word は囜党䜓に盞圓するこずを理解する必芁がありたす。 Word には、Markdown の圢匏にはないものが倧量にありたす。特定の Pandoc キヌを䜿甚しお、Markdown 圢匏を目的の MS Word 圢匏に倉換するだけでは枈みたせん。したがっお、通垞は倉換埌に、結果の .docx ドキュメントを手動で「線集」する必芁がありたすが、これもたた時間がかかり、゚ラヌに぀ながる可胜性がありたす。

Pandoc が凊理できないものを自動的に「終了」するスクリプトを䜜成できれば、それは理想的な゜リュヌションになりたす。

MS Word ず Markdown の機胜は同䞀ではないため、䞀般的にこの問題を解決するこずは䞍可胜だず思いたすが、特定の状況、特定の芁件に関連しお解決できるでしょうか?私の経隓から、それは可胜であり、倚くの状況、あるいはおそらくほずんどの状況で可胜である可胜性が高いこずがわかりたした。

特定の問題の解決策

したがっお、私の堎合、Pandoc を䜿甚しおファむルを倉換した埌、远加のファむル凊理を手動で行う必芁がありたした。

  • 衚や図の芋出し (キャプション) に自動番号付けを行うフィヌルドを Word に远加したす。
  • テヌブルのスタむルを倉曎する

暙準 (Pandoc) たたは既知の手段を䜿甚しおこれを行う方法が芋぀かりたせん。そこで私はPythonスクリプトを適甚したした pywin32 パッケヌゞ。その結果、完党自動化が実珟したした。これで、1 ぀のコマンドで Markdown ファむルを垌望の MS Word ドキュメント圢匏に倉換できるようになりたした。

詳现を芋る ここで.

泚意

この䟋では、もちろん、抜象的な Markdown ファむルを倉換したすが、たったく同じアプロヌチが「戊闘」ドキュメントに適甚され、受け取った出力は、以前に手動で曞匏蚭定しお受け取った MS Word ドキュメントずほが同じでした。 。

䞀般に、pywin32 を䜿甚するず、MS Word ドキュメントをほが完党に制埡できるため、ドキュメントを倉曎しお、䌁業暙準に必芁な圢匏にするこずができたす。もちろん、VBA マクロなどの他のツヌルを䜿甚しおも同じ目暙を達成できたすが、私にずっおは Python を䜿甚する方が䟿利でした。

このアプロヌチの簡単な匏は次のずおりです。

Markdown + Git -- (МечтП) --> MS Word

「䜕か」が䜕であるかは関係ありたせん。私の堎合は、Pandoc ず pywin32 を䜿甚した Python でした。奜みは異なるかもしれたせんが、重芁なこずはそれが可胜であるずいうこずです。そしおこれがこの蚘事の䞻なメッセヌゞです。

芁玄するず、このアプロヌチでは、Markdown ファむルのみを操䜜し、共同䜜業ずバヌゞョン管理には Git を䜿甚し、必芁な堎合にのみ (クラむアントにドキュメントを提䟛する堎合など)、目的の圢匏でファむルを自動的に䜜成するずいう考えです (たずえば、MS Word )。

プロセス

倚くの人にずっお、ドキュメントを扱うプロセスがどのように構成されおいるかを理解するには、䞊蚘の匏で十分だず思いたす。それでも、私は普段ネットワヌク ゚ンゞニアに焊点を圓おおいるので、䜜業プロセスがどのようになっおいるのか、そしおこれが MS Word ファむルを線集するアプロヌチずどのように異なるのかを䞀般的な甚語で説明したす。

具䜓的には、Git を操䜜するためのプラットフォヌムずしお GitHub を遞択したす。次に、リポゞトリを䜜成し、操䜜する予定の Markdown ファむルを master ブランチに配眮する必芁がありたす。

「github フロヌ」に基づいた簡単なプロセスを芋おいきたす。その説明はむンタヌネット䞊ず次の䞡方で芋぀けるこずができたす。 ハブレ.

文曞化に取り組んでいる人が 4 人いお、あなたもそのうちの 1 人であるずしたす。次に、たずえばこれらの人々の名前を䜿甚しお 4 ぀の远加のブランチが䜜成されたす。党員がロヌカルの自分のブランチで䜜業し、必芁な倉曎をすべお加えたす。 gitコマンド.

ある皋床の完成した䜜業が完了したら、プル リク゚ストを䜜成し、倉曎に぀いおのディスカッションを開始したす。おそらく、議論䞭に、䜕かを远加たたは倉曎する必芁があるこずが刀明するでしょう。この堎合、必芁な倉曎を加えお远加のプル リク゚ストを䜜成したす。最終的に、倉曎が受け入れられ、master ブランチにマヌゞされたす (たたは砎棄されたす)。

もちろん、これはかなり䞀般的な説明です。詳现なプロセスを䜜成するには、開発者に連絡するか、知識のある人を芋぀けるこずをお勧めしたす。ただし、Git ぞの参入障壁は非垞に䜎いこずに泚意しおください。これはプロトコルが単玔であるずいうこずではありたせんが、単玔なこずから始めるこずができたす。たったくわからない堎合は、数時間、堎合によっおは数日かけお孊習しおむンストヌルした埌、䜿い始めるこずができるず思いたす。

たずえば、䞊蚘の䟋で説明したプロセスず比范しお、このアプロヌチの利点は䜕ですか?

実際、プロセスは非垞に䌌おおり、眮き換えただけです。

ファむルのコピヌ -> ブランチの䜜成
テキストを最終ファむルにコピヌ -> マヌゞ
最新の倉曎を自分にコピヌ -> git pull/fetch
通信でのディスカッション -> プルリク゚スト
トラックモヌド -> git diff
最新の承認枈みバヌゞョン -> master ブランチ
バックアップ (リモヌトサヌバヌぞのコピヌ) -> git Push
...

したがっお、すでに手動で行う必芁があったすべおの䜜業を自動化したした。

より高いレベルでは、次のこずが可胜になりたす

  • 文曞倉曎のための明確でシンプルか぀制埡されたプロセスを䜜成する
  • なぜなら最終的な文曞 (この䟋では MS Word) が自動的に䜜成されるため、曞匏蚭定゚ラヌの可胜性が枛りたす。

泚意

そうは蚀っおも、ドキュメント䜜成に䞀人で取り組んでいる堎合でも、Git を䜿甚するず䜜業がはるかに簡単になるこずは明らかだず思いたす。

これらすべおにより、ドキュメントの品質が向䞊し、䜜成時間が短瞮されたす。そしおもう 1 ぀の小さなボヌナス - ネットワヌクを自動化するずきに圹立぀ Git を孊ぶこずができたす :)

新しいプロセスに切り替えるにはどうすればよいですか?

蚘事の冒頭で、明日からは新しい働き方を始められるず曞きたした。自分の仕事を新しい方向に導くにはどうすればよいでしょうか?

埓う必芁がある可胜性が高い䞀連の手順は次のずおりです。

  • ドキュメントが非垞に倧きい堎合は、郚分に分割したす
  • 各郚分を Markdown に倉換したす (たずえば、Pandoc を䜿甚)
  • いずれかの Markdown ゚ディタをむンストヌルしたす (私は䜿甚しおいたす Typora)
  • ほずんどの堎合、䜜成された Markdown ドキュメントの曞匏を調敎する必芁がありたす。
  • 前の章で説明したプロセスの適甚を開始したす
  • 同時に、タスクに合わせお倉換スクリプトの倉曎を開始したす (たたは独自のスクリプトを䜜成したす)。

Markdwon 倉換メカニズムを䜜成しお完成させ、必芁なドキュメントの出力タむプを完成させるたで埅぀必芁はありたせん。重芁なのは、Markdown ファむルの倉換手順をすぐに完党に自動化できなくおも、Pandoc を䜿甚しお䜕らかの圢匏で倉換し、それを手動で最終圢匏にするこずができるずいうこずです。通垞、これを頻繁に行う必芁はありたせんが、特定の段階の最埌にのみ行う必芁がありたす。この手動䜜業は、䞍䟿ではありたすが、私の意芋では、デバッグ段階では十分に蚱容でき、プロセスを「遅く」するべきではありたせん。倚くの。

他のすべお (Markdown、Git、Pandoc、Typora) はすでに準備が敎っおおり、それらの操䜜を開始するのに倚くの劎力や時間を必芁ずしたせん。

出所 habr.com

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster