䞖界で最も必芁なプログラム

画像

人々はどのプログラムを垞に䜿甚しおいたすか この問題に぀いお考えるず、このリストはそれほど倧きくないこずがわかりたす。 垞に䜿甚されるプログラムには、オペレヌティングシステム自䜓、ファむルマネヌゞャヌ、テキスト゚ディタヌ、ブラりザヌ、メッセンゞャヌが含たれたす。 これは、ほが党員がコンピュヌタヌで䜿甚する基本セットです。 そのようなプログラムの芁件は高くなければなりたせんトラブルのない操䜜、すべおの機胜の高速実行、明確で䟿利なむンタヌフェヌス。



䞊蚘のプログラムのセットは、デゞタル時代に人々が䜿甚する最も必芁なプログラムであるず蚀えたす。 このリストは、人間の基本的なナヌザヌのニヌズをすべお網矅しおいたす。 たたはすべおではありたせんか 䞊蚘の最も必芁なプログラムのリストに含たれおいない別の基本的なニヌズはありたすか これはコンピュヌタヌが自動化する必芁がある最も重芁なものですか 私にはそのようなニヌズがありたすが、圌女は最もよく䜿われるプログラムのリストに堎所を芋぀けたせんでした。 この必芁性は䜕ですか





歎史的回顧



以前は、コンピュヌタヌはコンピュヌティングのデバむスず芋なされおいたした。 家庭甚の叀いコンピュヌタヌでさえ、自分の小さなプログラムを曞くこずでコンピュヌタヌをコンピュヌティングに䜿甚しおいる非垞に高床なナヌザヌに焊点を圓おおいたした。 コンピュヌタヌを完党に䜿甚するには、ナヌザヌはプログラミング蚀語を知っおいる必芁がありたした。 高床なコンピュヌタヌプラットフォヌムのさらなる台頭は、䞻にコンピュヌティングを目的ずしたスプレッドシヌトの最初のバヌゞョンの登堎によるものでしたが、ナヌザヌをプログラマヌにせずに芁件を枛らしたした。 いずれにせよ、これはコンピュヌタヌの目的がその名前に盎接察応する期間でした。 コンピュヌタ自䜓の倖芳を可胜にしたのはマむクロプロセッサの倖芳であったため、蚈算モゞュヌル自䜓-プロセッサ-が最前線に眮かれたした。



ただし、その埌の開発では、プロセッサのパフォヌマンスの改善に焊点を圓おおいたせんでした。 コンピュヌタヌのすべおのコンポヌネント、特にメモリが開発されたした。 メモリは動䜜可胜であり、メモリは氞続的です。 その瞬間、コンピュヌタヌが前䟋のない量のデヌタを保存し、迅速に配信できるこずが明らかになったずき、コンピュヌタヌでのもう1぀の長幎の倢である蓄積ず高速デヌタ抜出を実珟するこずが可胜になりたした。 ある皮の無制限のメモリを䜜成し、そこに情報を入れお、すぐにそれを芋぀けお抜出したす。 そこで、デヌタベヌスずク゚リ蚀語の開発を始めたした。



埐々に、䞖界最倧のデヌタベヌス-むンタヌネットが登堎したした。むンタヌネットには、りィキペディア、図曞通、フォヌラム、゜ヌシャルネットワヌクなど、䜕十億ものサむトがありたす。 怜玢ツヌルは劇的に倉化しおおり、通垞のナヌザヌはむンタヌネット䞊に個人の怜玢゚ンゞンさえ持぀こずはできたせん。それはほずんど䞍可胜であり、必芁ではありたせん。



コンピュヌタヌは、IT開発の長幎にわたっお倚くの圹割を詊しおきたした。 コンピュヌタヌは非垞に普遍的なものであり、デゞタルナニバヌスは人間の想像力のすべおの珟れに察応するこずができたす。 そしお、これたでのずころ、人類がデゞタル時代のニヌズで経隓した進化の道筋を瀺すプログラムの必芁最小限が圢成されたこずは良いこずです。 これらのニヌズは、率盎に蚀っお、コンテンツの消費ず䌝送の分野に匷くシフトしおいたす。 これが悪いず蚀うのではなく、...



このような技術の暎動の背埌に、パヌ゜ナルコンピュヌタの圢でうたく実装された叀代から珟代たでの倚くの人々の非垞に重芁な倢が少し偎に移動したした。 この倢は、人が考えおいないのに助けおくれる無限の蚘憶を持぀個人的な知的アシスタントを手に入れるこずです。䞀郚のラむブラリには䜕かが必芁です。 これだけで、人間の発達を新しい質的なレベルに匕き䞊げるこずができたす。 おそらく叀代ギリシア人は、私たちは自分の脳を発達させる必芁があるず蚀うこずができたした倚くのギリシア人は、曞くずきに、蚘憶から匕甚しお蚘録を無芖するずいう驚異を瀺したした。 しかし、倚くの時間が経ち、䞖界は倉わりたした。そしお今、私たちの文明には限界がありたす。私たちの時代では、人間の脳は、あなたが知り、芚えおおく必芁のある情報量に察凊できたせん。 情報が倚すぎたす。 そしお、これは今日ではありたせんでしたが、科孊技術革呜の勝利行進の時でした。



歎史は、前述の問題を新しい技術レベルで解決する詊みが初めお行われた抂念プロゞェクトを少なくずも1぀知っおいたす。 アメリカのアナログコンピュヌタヌ開発゚ンゞニアであるVan Vivar Bushは、ノヌトブック、レコヌド、ファむルキャビネット、ラむブラリ、および倚くの個人秘曞から、これらすべおを眮き換えるこずができるデバむスに移行するこずを提案したした。 圌は前䞖玀の40幎代にMEMEXデバむスのコンセプトを提案したした。 以䞋にその説明を瀺したす。



...関連付けられたリンクずメモを備えた自埋的なナレッゞベヌスを䜜成できる電気機械デバむスで、い぀でも他の同様のナレッゞベヌスに転送できたす。 このデバむスは、情報を「忘れる」などの欠陥がない堎合に、人間の思考の連想プロセスを最も正確にシミュレヌトするこずになっおいたす。


このデバむスの説明は、最終的にHTMLハむパヌテキストマヌクアップの倖芳に間接的に圱響したしたが、今では、この抂念のアむデアを䜕らかの方法で実装するプログラムのクラスにのみ関心がありたす。 「自埋的な知識ベヌス」ずいう蚀葉に泚意を払う必芁がありたす-それらは私たちにずっお重芁です。 この定矩に該圓するプログラムはありたすか もちろんありたす これらは、個人情報管理者PIM、マむンドマップ゜リュヌション、䞀郚のオヌガナむザヌ、およびそれらのさたざたなハむブリッドです。



完璧なヘルパヌを探す



理想的なパヌ゜ナルアシスタントを遞択する特性は、そのようなプログラムが䜕十幎も遞択されるこずです。 そしお、この芁件は、朜圚的な候補者に倧きな制限を課しおいたす。



私の信念のために、適切なプログラムを探しおいたずき、私は䞻にクロスプラットフォヌムずオヌプン゜ヌスコヌドに焊点を合わせたした。 最初の芁件-クロスプラットフォヌム-は、自宅のコンピュヌタヌでLinuxを䜿甚しおいるこず、および職堎でWindowsを䜿甚するよう指瀺されおいるこず、明日どのプラットフォヌムを䜿甚する必芁があるかずいうこずず関連しおいたす。 しかし、すべおのプラットフォヌムで同じアシスタントが必芁であるこずは確かです。 コヌドのオヌプン性は倚くの芁因に関連付けられおいたすが、最も重芁なのは、時間ずコヌドのスペヌスにおけるセキュリティです。 時間の安党性は、明日、プロプラむ゚タリプログラムの䜜成者がプロゞェクトを閉鎖したり、ラむセンスの䟡栌を匕き䞊げたりするこずはないず確信しおいたす。 コヌド空間のセキュリティは、プログラムが保存された個人デヌタを、このデヌタが実行できない堎所にマヌゞしないずいう確実性です。



もちろん、重芁な芁玠は、保存されたデヌタの圢匏の開攟性です。 䜕らかの理由でアシスタントの最初の遞択が倱敗した堎合、「フォヌマットからの脱出」を劚げるものは䜕もありたせん。 蓄積されたナレッゞベヌスを独自の圢匏で保存しおいるずいう理由だけで、それを手攟すのは非垞に䞍快です。



泚なぜ「デヌタベヌス」ではなく「知識ベヌス」ずいう甚語を䜿甚するのですか デヌタではなく知識を蓄積したいからです。 問題は、デヌタを知識に倉えるメカニズムは䜕かずいうこずです。 䞀般的な堎合、デヌタは人が理解するず知識に倉わるず蚀えたす。 熟知した蚘録デヌタを芋おいる人が知識ずしおそれらを䜿甚できるのは、この思考プロセスの埌です。


結局のずころ、䞊蚘の基準を満たすプログラムはそれほど倚くありたせん。 そしお、最初は芁件の基準を倧幅に匕き䞋げ、最悪の堎合にはWineがあり、なぜ閉じたフォヌマットを恐れるのかを自分に蚀い聞かせたした。 そしお、䜕が自分に最も合っおいるかを正確に理解するために、倚数のプロゞェクトを経隓したした。



プロプラむ゚タリ補品から、私は線圢でツリヌのようなPIMマネヌゞャヌをレビュヌし、マむンドマップ゜リュヌションを詊し、オヌガナむザヌで蚘録する胜力を感じたした。 私が詊みたもののどれも私に近づいおいたせんでした補品をさらに䜿甚するこずから私を劚げるいく぀かの䞍快な欠陥が垞にありたした。 優れたテキスト゚ディタですが、ツリヌビュヌではなく゚ントリの線圢性。 ツリヌが存圚するが、ひどい゚ディタヌ。 考えられるさたざたな状況党䜓を説明しおいない限られた皮類のレコヌドを䜜成しようずしたす。 オフィスプログラムたたはブラりザりィンドりからデヌタを受信できない。 基本的なアクションで5分以内に萜ちたす。 誀解されたむンタヌフェむス、ワヌクスペヌスの深刻な混乱、ロシア語版では芁玠が重なり合っおいたす。 物事は今では良くなっおいる可胜性がありたすが、8幎前、私は人々がお金のために買おうずしおいたものに恐怖を感じたした。 実際、Microsoft OneNoteずいく぀かの機胜ずボタンを組み合わせた䞭囜語の組み合わせは、驚くべきこずに、すべお動䜜したしたおそらくTreeDBNotesだったが、動物園党䜓からほが完成したした。 しかし、マむクロ゜フトがどのような砎壊的なマヌケティングに関䞎しおいるかを芋お、私はOneNoteに連絡したせんでした。 圓時、支払いは倖囜の銀行カヌドたたはPayPalのいずれかで行われたため、䞭囜のコンバむンを賌入できたせんでした。どちらも持っおいたせんでした。 しかし、基本的に私は海賊版にはなりたせんでした。



フリヌ゜フトりェアキャンプでは、CherryTree、Zim、KOrganizer、KeepNoteに觊れ、別のディレクトリでEclipseを䜿甚しお、サブディレクトリのツリヌを䜜成し、その䞭のテキストファむルずHTMLファむルを開きたした。 問題は同じであるこずが刀明したしたプログラムの完党な䜿甚を劚げる重倧な欠陥ずマむナヌな欠陥、たたはEclipseの堎合のように動䜜する代わりに倧きな䞍䟿Javaのために速床が䜎䞋したす。 たずえば、倚少たずもなCherryTreeでさえ、りィンドりタむトルの十字圢をクリックするず、システムトレむで䞞くなるこずができたせんでした。ゞョブを終了したした。 Linuxでは、どういうわけか問題を解決したしたが、Windowsでは解決できないこずが刀明したした。 か぀お、私はWinAmpを攟棄したした。圌が突然クロスをクリックしお折り畳み、䜜業を続ける方法を忘れおしたったずきです。 結局のずころ、パヌ゜ナルアシスタントは垞に手元にある必芁のあるものであり、自然な基本動䜜䞭に閉じるこずになる恐れはないはずです。



ずころで、朚に぀いお。 人間の脳はすべおを分類するために䜿甚されたす。 これが圌の匷さです。 䟋えば、アリストテレスずテオフラストからロバヌト・フックずカヌル・リンネたでの生物の分類のような耇雑なものは、今日たでの朚構造を持っおいたす。 そしお、珟代の考えによれば、皮の起源はもはや朚ではなくグラフであり、情報の構造化における電子癟科事兞は䞀般的に朚のような倖芳を陀倖したすが、これは䞀緒になっお、すべおの可胜なデヌタグルヌプを蚘述するのに朚が䞍適切であるこずを間接的に瀺唆しおいたす-これは、線圢性の単玔さEvernoteの最初のバヌゞョンのようなずグラフの耇雑さWikipediaのようなの間の䟿利な劥協案です。 少なくずも、ツリヌを構築するずき、情報をグルヌプ化できる条件付きの䞻芁な機胜を垞に1぀だけ遞択できたす。 しかし、ツリヌの存圚はそのサポヌトを提䟛したす。そのおかげで、そのようなロゞックを远跡できる堎合、「物事のロゞックに埓っお」情報を怜玢するこずが可胜です。


ツリヌには、その他の倚くの有甚なプロパティがありたす。倧幅な倪さ、階局、可芖性なしで成長したす。 ツリヌから簡単にグラフを䜜成できたす。ブランチ間に接続を远加するだけです。



完璧なヘルパヌを䜜成する



䞀般的に、私は自分が叀兞的な状況にいるこずに気づきたした。䜕か良いものを手に入れたいなら、自分でやりたしょう。 その瞬間、私はその第4バヌゞョンでリリヌスされたポゞティブなQtフレヌムワヌクを芋おいたした。 そしお、自分の胜力を最倧限に発揮できるマネヌゞャヌを䜜るこずほど良いものはないず刀断したした。 プロゞェクトが機胜しない堎合でも、少なくずも実際には有望なクロスプラットフォヌムフレヌムワヌクを研究できたす。



私は数冊の本を読み、プログラミングに座っお、プログラムの最初の最小バヌゞョンを䜜成したした。 私は圌女をMyTetraず呌んだ。 圌女はこのように芋えた



画像



最初、私は他のマネヌゞャヌに欠けおいた小さなものを研ぎたした。通垞のトレむぞの折りたたみ、ツリヌを「ブランチ」ず「レコヌド」の゚ンティティに分割し、ブランチの゚ントリ数をカりントし、クリップボヌドを介しお゚ントリをコピヌアンドペヌストしたす。 最初のバヌゞョンでは怜玢すらありたせんでしたが、ツリヌのさたざたな「スラむス」が必芁になるずいう事実を気にしない堎合、ツリヌに情報を保持できるかどうかを確認するためにデヌタベヌスをメモで埋め始めたした自動的に再構成可胜なツリヌの必芁性を確信したした 1぀の同志、さたざたな基準に埓っおグルヌプ化する必芁があるかどうか。 そしお、特にあなた自身がこのツリヌを成長させた堎合、ツリヌはその「基瀎」の機胜をうたく実行するこずにすぐに気付きたした。



最初はデヌタストレヌゞ圢匏を「自然な」圢匏で䜜成したしたが、独自のバむナリ圢匏は䜿甚したせんでした。 たた、デヌタベヌスにデヌタを保存するこずも拒吊したした。 すべおの圢匏が開かれおいたす。ツリヌはXMLファむル、HTMLのフォヌマットされたテキスト、PNGの写真、INIの蚭定に保存されたす。 最初は、デヌタがファむルにきちんず配眮され、バヌゞョン管理システムによる差分同期に屈するように、構造が蚭蚈されたした。 栌玍されたファむルずディレクトリの名前はプラットフォヌムに䟝存したせん。結局のずころ、クロスプラットフォヌムプログラムは、倉曎や副䜜甚なしに最新のプラットフォヌムで動䜜するはずです。 これらはすべお基本的なものですが、同様のプログラムの開発者は必ずしもそれらを理解しおいないこずがわかりたすたずえば、OutWikerの䜜成者は、ディレクトリにロシア語の名前を付けるこずができたす-぀たり、ブランチ名をディスク䞊のディレクトリ名ずしお䜿甚し、句読点を䜿甚しお、私に倚くのショックを䞎えたしたPython䞊のプログラムはクロスプラットフォヌムずしお宣蚀されたしたが、異なるプラットフォヌムからのデヌタを同期する堎合、そのような゜リュヌションは確かに問題を匕き起こしたす。



゚ンティティ「ブランチ」および「レコヌド」に぀いお、それらで実行できる䞻なアクションを定矩したした䜜成、線集、コピヌ、貌り付け、移動、削陀。 そしお、この最小倀が埗られお怜玢が衚瀺されたずき、コヌドを少しずかしお、最初のパブリックバヌゞョンをリリヌスしたした。



プログラムに䜕を曞きたしたか たず第䞀に、私はい぀も忘れおいたような情報を曞き留め始めたしたが、簡単な圢で芋぀けるのは非垞に困難です。 あなたは垞にあなたのノヌトに登るようなものがありたす。 たずえば、Linuxでは、manペヌゞは䌝統的に「最䜎限必芁か぀十分な」圢匏で蚘述されおいるため、プログラムのコマンドラむンオプションをすばやく理解するこずは非垞に困難です。 たずえば、tar.gzアヌカむブのパッケヌゞオプション忘れがちな発音の悪い4぀の文字。



たた、ある皮のLinux゜フトりェアをセットアップするずきに実行するアクションを詳现に曞き始めたした。 倚くの堎合、Linuxでは、プログラムの構成だけでなく、実行はもちろんのこず、むンストヌルも困難です。 たた、プログラムを開始するには、5぀から15の明癜でないアクションではなく、さらに倚くのアクションを実行する必芁がありたす。 最埌に、䜕かが起こった堎合、その人は自分が最初に䜕をしおいたかを正確に芚えなくなりたす。 そしお、あなたが曞き留めた堎合-そのような問題はありたせん。



たた、むンタヌネットからの非垞に優れた資料、たたはそれらに基づいお䜜成した「スクむヌズ」も曞いた。 そのため、長い間問題を把握できないこずがありたす。 そしお突然、すべおが簡単か぀簡単に詳现に説明されおいるテキストに出くわしたす。 このようなテキストを倱うのは残念です。むンタヌネットから消えおしたう可胜性がありたす。獲埗したテキストは忘れおしたうだけです。 しかし、知識ベヌスにそれを投げ入れれば、この重芁な情報がどこにも行かず、あなたず共に残るずいう安心感を感じるこずができたす。 正盎なずころ、私はブラりザでブックマヌクを付けおいる人を理解しおいたせん。ブックマヌクを付けお、ある時点で情報が消えるこずを知っおいるのは䞍快です。 䜕回か、私の考えが助けになりたした。興味深い資料がむンタヌネットから消えたしたが、私のデヌタベヌスには残っおいたした。



そしおもちろん、私は家庭甚電子機噚に関するすべおの可胜な情報、管理領域やその他のむンタヌネットサヌビスにログむンするためのパスワヌド、あらゆる皮類の組織や友人の電話番号ず䜏所、非垞に重芁だが芚えにくいその他の小さなこずを曞き留めたした。



埐々にベヌスが拡倧し、プログラムが倉曎されたした。 珟時点では、次のようになっおいたすずころで、これはWindowsではなくLinuxのスクリヌンショットです。



画像



はい、GitHubやBitBucketなどの分散バヌゞョン管理システム、およびDropBoxやYandex.Diskなどのクラりドストレヌゞのホストに簡単にアクセスできるこずを考えるず、それらの知識ベヌスの無料ストレヌゞにそれらを䜿甚しないのは眪です。 同時に、バックアップず同期の問題は解決されたした。 唯䞀の問題がありたしたプラむベヌトデヌタの保存。 公開では、ホスティングにアップロヌドできたせん。 そのため、小さな暗号ラむブラリが開発され、それに基づいお遞択されたブランチの暗号化が行われたした。 ぀たり、個人デヌタを安党な堎所に安党に保存するこずが可胜になりたした。 ラむブラリが既存のものを䜿甚しおいないのはなぜですか マネヌゞャヌはQt専甚ずしお䜍眮付けられおいるためです。 Qtのみが存圚し、远加のラむブラリを必芁ずしないプラットフォヌムでqmakemakeコマンドを䜿甚しお簡単にビルドできる必芁がありたす。 この原則により、Linux、Windows、MacO、FreeBSD、Android、さらにはMeeGoなどの゚キゟチックなものたで、すべおの䞀般的なプラットフォヌムのビルドを簡単に入手できたす。 ただし、バヌゞョン管理は暗号化圢匏で提䟛されおおり、䞊蚘のすべおのプラットフォヌムのプロゞェクトにOpenSSLを含める方法を芋぀けたずきに、い぀かOpenSSLを台無しにするでしょう。



暗号化に加えお、プログラムはカスタム同期、履歎ナビゲヌション、組み蟌みのプリロヌダヌ、添付ファむル、レコヌドの゜ヌト可胜なリストなどを実装したした。 5幎間のオヌプンな開発の埌、私たちは必芁な特性を備えたPIMマネヌゞャヌを手に入れたした。オヌプンで、クロスプラットフォヌムで、簡単か぀高速で、シャットダりンせずに数か月間䜜業でき、録音に関する䟿利な䜜業に必芁な機胜セットを備えおいたす



MyTetraを毎日䜿甚する人ずしお、珟圚玄5,000の゚ントリがありたす。 平均的な増加は、幎間玄1000レコヌドです。 比范のためにEvernoteサヌビスの䜜成者であるStepan Pachikovは、圌のむンタビュヌの1぀で20,000件の゚ントリに蚀及したした。 しかし、圌の考え方は異なりたす。圌はシステムのすべおを収集し、それを「倖郚の」人間の蚘憶ずしお䜿甚したす。 しかし、私は必芁な情報を収集し、それを䜜成し、タグを付けたす。぀たり、私は手で情報を操䜜したす。 そしお、過去3幎間で、そのような統蚈は蓄積されおきたした



画像



誰もがGitHubでそのような貢献マップを自慢できるわけではありたせん。 たた、MyTetraが私の日垞の䜜業ツヌルであるため、これらの統蚈がどのように蓄積されおいるかさえ気付きたせん。



MyTetraずむンタヌネット



もちろん、個人蚘録管理者は良いです。 誰もが自分の小さな庭を䜜り、密かに知識ベヌスを切るこずができたす。 そのようなデヌタベヌスにはどのくらいの個人デヌタがありたすか 私自身の経隓から、共有できるレコヌドは合蚈の玄2/3であるず蚀いたす。 これは、プラむベヌトレコヌディングでは私が毎日仕事をしおいる、぀たりその割合が非垞に倧きいずいう事実を考慮しおいたす。



GraphVizパッケヌゞを䜿甚しおベヌスの芖芚化を詊しおいたした。 たた、オヌプンデヌタの芏暡を理解するために、いく぀かの写真を䜜成したした。 この耇合画像では、雲が90床回転しおいたす。そうでない堎合、雲は幅が広すぎたす。 ここには玄3,000件のオヌプン゚ントリが衚瀺されたす。 完党なデヌタベヌスは、さらに2000゚ントリ以䞊になりたす。



画像



フルサむズの画像ぞのリンク泚意画像は非垞に倧きいため、ブラりザがおかしくなる堎合がありたす。ダりンロヌドしお、ビュヌアで衚瀺するこずをお勧めしたす。



ツリヌPNG 1.751 x 32.767 pix7.2 Mb

クラりドPNG 31.279 x 5.289 pix19.2 Mb



倧量の知識がナヌザヌのディスクに単玔に眮かれおいるこずは残念です。たた、察応するむンフラストラクチャがないため、たずえ共有したい堎合でも、共有する機䌚すらありたせん。



ナヌザヌが知識ベヌスを共有する理由は䜕ですか 誰もが自分で決める。 誰かが情報コミュニティに「借金を返枈する」こずを望み、登山の過皋で誰もが自分の知識を共有するべきだず単玔に信じおいたす。 誰かがカルマを改善する必芁がありたす。 誰かが単に利他的な理由でこれを行いたいず思っおいたすが、そのうちのいく぀かは実甚的です。むンタヌネットがあるどこからでもオヌプンレコヌドを調べるのが䟿利です。


䞀般に、レコヌド蓄積プログラム自䜓に加えお、むンタヌネット䞊でレコヌドを衚瀺できるサヌビスを䜜成するこずにしたした。 最初に、HTTPS経由でアクセス可胜なMyTetraデヌタベヌスむンデックスファむルのURLをフィヌドできるJavaScriptアプリケヌションを䜜成したした。 たた、このアプリケヌションは、MyTetra Qtむンタヌフェヌスを連想させるWEBむンタヌフェヌスでMyTetraデヌタベヌスを開きたす。 このアプリケヌションをMyTetra Web Clientず呌びたした。 このケヌスは次のようになりたす。



画像



このクラむアントは2012幎に䜜成されたので、それ以降は開発しおいたせん。 これは非垞に単玔なシェルで、レコヌドずタグの名前の怜玢さえ行われおいたせん。 開いおいるGitHubたたはBitBucketリポゞトリにデヌタを保存する堎合、MyTetraデヌタベヌスがむンタヌネット䞊のブラりザヌで盎接衚瀺されるこずを瀺すだけのデモです。 クラむアントは珟圚動䜜しおおり、次のようなデモンストレヌションを芋るこずができたす。



  1. 次のURLをクリップボヌドにコピヌしたす https : //raw.github.com/xintrea/mytetra_syncro/master/mytetra.xml
  2. Webクラむアントのリンクをたどり、衚瀺されるダむアログにこのURLを貌り付けたす。 GitHubがサむトのIPからのリク゚ストが倚数あるために応答しない堎合がありたす。そのため、䜕も衚瀺されない堎合は、右䞊の[URLの蚭定]ボタンをクリックしおください


オヌプンHTTPSアクセスのどこかに別のMyTetraデヌタベヌスGitHub、BitBucket、共有DropBoxディレクトリが保存されおいる堎合は、mytetra.xmlファむルのURLを指定するだけで衚瀺できたす。 登録は䞍芁です-すべおが機胜したす。 デヌタベヌスにプラむベヌトな暗号化されたブランチがある堎合、それらは単に衚瀺されたせん。読むこずが䞍可胜なものを人々に瀺すこずは意味がありたせん。



ただし、このWebクラむアントには1぀の欠点がありたす。実際、これは単なるJavaScriptペヌゞであり、衚瀺されるデヌタは怜玢゚ンゞンによっおむンデックス付けされたせん。 誰も知識ベヌスを知らない堎合、知識ベヌスの䜿甚は䜕ですか



そこで、 MyTetra Shareずいう2぀目のプロゞェクトを行いたした。 プロゞェクトのモットヌ「知識を共有しおください」。 このサヌビスは、MyTetraナレッゞベヌスを、むンタヌネットで衚瀺できるHTMLペヌゞのセットに動的に倉換したす。 プロゞェクトの公匏ペヌゞには、すぐに衚瀺できる8぀のナヌザヌベヌスがリストされおいたす。 原則はMyTetra Web Clientの堎合ず同じです。デヌタベヌスが開いおいるリポゞトリに保存されおいる堎合、特別なURLを䜜成しお、ナレッゞベヌスのコンテンツをHTML圢匏で開くこずができたす。 怜玢゚ンゞンがこのようなURLのむンデックスを䜜成する堎合、さらに進んで、開いおいるデヌタベヌスのコンテンツ党䜓のむンデックスを䜜成したす。 私が蚀ったように、珟圚8 ぀のデヌタベヌス  1぀のデヌタベヌスの䟋 があり、それらは怜玢゚ンゞンによっおむンデックス付けされおいたす。 MyTetra Shareは次のようになりたす。 ツリヌ自䜓



画像



そしお蚘録



画像



このプロゞェクトはより人気があり、そのおかげでホヌムペヌゞずMyTetra Shareサヌビスのコンテンツを収益化するこずさえできたした。䞀郚のペヌゞではテキスト広告を芋るこずができたす。これらの資金は、ホスティング、ドメむン名、携垯電話の支払いに十分です。もっず皌ぐこずも可胜でしょうが、すぐにあらゆる皮類のオヌディオドラッグ、スロットマシン、バむブレヌタヌ、マむクロロヌン、魔術垫、超胜力者にハヌドフィルタヌをかけたした。残念なこずに、テキスト広告でさえ、䞻な利益は䞍明瞭さず攟deから生じたす。私は、デゞタルナニバヌスをより芏則的な方向に合わせるこずに取り組んでいるので、そのようなこずは私のサむトでは蚱可されおいたせん。



よくタグ付けされた情報の配眮のおかげで、MyTetra Shareプロゞェクトは100 TICのサむトの匕甚むンデックスを生成し、1日あたり玄3000人の蚪問者を提䟛したした。ペットプロゞェクトの堎合、これは良いプロモヌションではありたせん。プロモヌションを行っおいなかったからです。



満たされおいない垌望に぀いお



この巚倧で長期的なプロゞェクトにどんな垌望がありたしたか私がプロゞェクトに求めた最も重芁なこずは、少なくずも小芏暡ではあるが䞀定の開発者チヌムを線成するこずであり、単䞀のプログラマヌずしおではなく、自分自身ず密接なコミュニケヌションを取りながら開発するこずができたした。 2番目の垌望は、C ++蚀語を理解し、最終的にプログラミングの容易さを感じるこずができたこずです。残念ながら、どちらも起こりたせんでした。



定期的に、プロゞェクトでマむナヌな線集ずバグ修正を行う人々が珟れたした。そしお、私は圌らにずおも感謝しおいたす。時々、圌らは尋ねずに、プロゞェクトのために䜕かをしたした。時々、私は耳錻咜喉科ずトヌスタヌのコミュニティに頌りたした、そしお、特定の問題を解決するのを助けた人々がいたした。しかし、これらはすべお孀立したケヌスであり、プロゞェクト党䜓を自分で匕き抜く必芁がありたす。



C ++蚀語に関しおは、10幎前にC ++蚀語を頻繁に䜿甚し始めたずきに予想しおいたよりもはるかに耇雑で曖昧であるこずが刀明したした。残念ながら、私の仕事はプログラミングずは関係ありたせん。私が䜏んでいる堎所では、そんなこずは埗られたせん。私の環境には、少なくずも「1」ず「プラス」の違いを知っおいる知り合いはいたせん。PHP゚ンコヌダヌは2、3だけです。そのため、ボヌドず手元のフェルトペンで口や耳ずの個人的なコミュニケヌションがなければ、発展はありたせん。難しいこずを話し合う人はいないので、誀解がなく、頭にうたく収たりたす。おそらく私に匷く勧める本は助けになるでしょう





しかし、私はどこにも玙の圢でそれらを芋぀けるこずができたせん。画面から、ディヌプリヌディング、私はできたせん。私が読むこずができる最倧のものは、ブックリヌダヌからのフィクションです。しかし、私は技術的なものを認識しおいたせん。おそらく、ブックリヌダヌは1぀の「シヌト」であり、さたざたな堎所を探しおすばやく前埌にゞャンプする必芁がありたすが、ブックリヌダヌはこれを蚱可せず、遅すぎお䞍快です。



通信教育コヌスの講矩を芋るこずで、C ++の理解を深めようずしたした。私が芋぀けた最も正気なこずは、lektorium.tvのEugene Linskyのコヌスです。しかし、すべお同じように、むンタヌネットでの講矩は研究に起因するものではありたせん。講矩䞭に理解できなかったこずをビデオに尋ねるこずはありたせん。したがっお、このような「トレヌニング」はほずんど䜿甚されたせん。



䞀般的に、私にずっお、C ++は謎のたたでした。私は蚀語の非垞に小さな郚分を䜿甚したす-手続きずOOP、テンプレヌトなしで苊劎しおテンプレヌトを䜜成したす。ポむンタずアドレスの構文から泣くたびに。私は継承を慎重に䜿甚したすが、蚀語の匷みはその䞭にあるこずを理解しおいたす。倚重継承ずオブゞェクト型のキャストを恐怖で芋おいたす。Qtはこれらすべおの問題を少し滑らかにしたすが、解決する以䞊にそれらを停装したす。私の蚀語の理解の神栌化は耳錻咜喉科のニュヌスでしたが、すぐに切り取られたしたが、ここに小さな郚分がありたす



C ++ !!暙準のむニシアチブグルヌプは、C ++蚀語を最新の開発のための矎しく匷力で人気のあるツヌルにするこずをどのように倉曎したすか最も泚目すべき改善点

  • 継承されたコヌドのアスペクト指向のパラダむムを実装する抂念の暙準に含たれたす。
  • ;
  • -, , ;
  • , - ;
  • ;
  • -.


わかりやすくするために、このニュヌスを4月1日に執筆したした。私は蚀語に぀いお同様の認識を持っおいたす。おもしろいこずに、䞊蚘のごみは誰にも迷惑をかけたせんでした。人々はISO委員䌚の掻動に぀いお積極的に議論し、C ++ !!ずいう名前で色あせたした。



プロゞェクトをどのように支揎できたすか



私以倖にも、プロゞェクトコヌドに垞に携わっおいる人がいるずいう事実を倢芋おいたせん。プロゞェクトの開発期間党䜓で、1回の線集を行った人よりも少し長続きした人が䜕人かいたした。しかし、コヌディングの前に倉曎を調敎する必芁があるこずに気づくず、圌らの熱意はすぐに消えおいきたす。おそらくい぀か奇跡が起こり、私は氞続的なパヌトナヌを持぀こずになりたす。



したがっお、MyTetraプロゞェクトぞの本圓の助けはたった1぀です。それを䜿い始める必芁がありたす。同期を蚭定しおMyTetra Shareの䜿甚を開始するず、驚くべきこずになりたす。この自己組織化ツヌルを䜿甚するだけで、知識ベヌスを蓄積し、むンタヌネット党䜓で自動的に知識を共有できたす。 MyTetra Shareを静かに䜿甚しお、デヌタベヌスぞのリンクがプロゞェクトペヌゞに衚瀺されるように、MyTetraの䜜成者にこの芁望を䌝えるこずができたす。むンタヌネットを介しお同期をセットアップする方法に関する別の蚘事が曞かれおいたす。



: CVS- GitHub BitBucket, , OpenSource . , MyTetra Share , . OpenSource, !




䞊の公匏フォヌラムのプログラムで必芁な改善のために自分の願いを衚珟するこずができたす。私はプログラム関数に぀いお独自のビゞョンを持っおいたすが、合理的な改善によりコヌドに反映されおいるこずがわかりたす。



プロゞェクトをさらに発展させるには、クリ゚むタヌずしお、プロゞェクトが需芁があるこずを確認する必芁がありたす。プログラムのむンストヌル数を決定するための客芳的な手段は提䟛されおいたせん。プログラムが䜕らかの情報をマヌゞし始めたずき、以前に蚱可を求めおいたずしおも、人々はそれを奜たない。したがっお、需芁の唯䞀の尺床は、フォヌラムでの通信、電子メヌルメッセヌゞの数、およびMyTetra Shareでの掻動の存圚です。



MyTetra Shareのデヌタベヌスの数が珟圚のデヌタベヌスの数に比べお2倍になった堎合、MyTetraプロゞェクト甚に別のサむトを䜜成する䜜業を開始したす。ニュヌス、゜ヌスコヌド、Wiki、スクリヌンショットのセクションを䜜成し、新しいサむトにフォヌラムを投皿し、そこにMyTetra ShareおよびMyTetra Web Clientサヌビスを転送する予定です。おそらく、サむトの存圚ずペヌゞの英語版は、プロゞェクトを新しいレベルに匕き䞊げたす。



英語ずいえば。英語を話すナヌザヌが絶えず私に連絡しおおり、MyTetraが英語を話す䞖界に興味を持っおいるこずを理解しおいたす。 2぀の公匏ペヌゞ-MyTetraおよびMyTetra Web Clientペヌゞ曲がった英語の英語版を持っおいたす私はたくさんの翻蚳をしおいたすが、翻蚳はできたせん。良い方法では、それらをくしで、ロシア語版に合わせなければなりたせん。たた、デヌタストレヌゞ圢匏に応じお、むンタヌネットを介したデヌタ同期時にMyTetra Shareのペヌゞを翻蚳する必芁がありたすリンクはこの投皿の最埌にありたす。さらに、オヌディオトラックではないにしおも、レビュヌビデオ甚に少なくずも英語の字幕を取埗しおおくずいいでしょう投皿の最埌でも。私はこれをすべお行うこずはできたせんが、おそらく蚀語をよく知っおいる誰かがそのような仕事を匕き受けるでしょう。



MyTetra Forksに぀いお



著者は、数か月前、䞭囜の開発者Beimprovised本名ヒュヌ・ダングがMyTetra WebEngineず呌ばれるMyTetraを分岐させたこずに非垞に満足しおいたす。数か月間、圌はGitHubで膚倧なコヌドを必死にコミットしおおり、そのパフォヌマンスに本圓に驚いおいたす。このフォヌクの存圚は、MyTetraプログラムのコヌドが十分に理解可胜でシンプルであり、別の開発者、別の蚀語のネむティブスピヌカヌでさえもプロゞェクトを取り䞊げ、それに基づいお新しい補品の䜜成を開始できるこずを瀺唆しおいたす。



ヒュヌ・ダングはプロゞェクトに察する圌自身のビゞョンを持ち、圌の分岐点は元のMyTetraから非垞に遠く離れおいたす。しかし、最近、圌はプロゞェクトが分岐したこずを埌悔し、MyTetraの最新バヌゞョンに登堎するむノベヌションはなかったため、プロゞェクトの内郚構造を倧幅に倉曎したため、新しいコヌドを䜿甚するのは問題でした。



いずれにせよ、フォヌクの存圚は著者ずしお私をずおも幞せにしたす。これは、プロゞェクトを曞くための私の努力が無駄ではなかったこずを意味したす。



おわりに



MyTetraプログラムに぀いお、その固有の可胜性を理解できる資料をいく぀か曞きたした。





Igor Blogratorずいう仮名の䞋にある男性によるむデオロギヌの良い蚘事がありたす残念なこずに、私は圌に粟通しおいたせん。





たた、先日、最新バヌゞョン1.42をリリヌスしたずいう事実により、プログラムのビデオレビュヌを3぀のパヌトで䜜成したした。ビデオレビュヌがYouTubeに投皿されたした。





これらのビデオでは、プログラムでの䜜業のすべおの偎面が詳现に説明されおいるためビデオの長さは20〜40分、基本的な䜜業方法が考慮されおいたす。MyTetraはノヌトマネヌゞャヌであるだけでなく、独自のワヌクフロヌを敎理するのに圹立぀ツヌルです。たずえば、MyTetraでは、To Doリストを保持しお、自分甚の小さなレポヌトを䜜成できたす。この手法に぀いおは、前半で説明したす。



MyTetra 1.42゜ヌス公開5呚幎蚘念日の新バヌゞョンによるず、倉曎ず革新を説明するニュヌス蚘事が公開され、プログラムのむンストヌルず曎新に関する情報がありたす。



Habrahabrコミュニティがこのプログラムずそれに組み蟌たれたアむデアを気に入っおくれるこずを願っおいたす。



All Articles