Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Құжаттарды, бағдарламалық кодты немесе кез келген деректерді өңдеу әрқашан қателер енгізу қаупін тудырады. Екі немесе одан көп деректер жиынтығы арасындағы айырмашылықтарды көрсету арқылы, файлдарды салыстыру құралдары жаңа деректерге назар аудару және өзгермеген бөліктерді елемеу арқылы есептеуді оңайлатып, тиімдірек ете алады. Unix жүйесіндегі diff утилитасынан кейін «diff» деп жалпылама аталатын деректер көздерін салыстырудың және нәтижелерді көрсетудің түрлі тәсілдері бар. diff, cmp, FileMerge, WinMerge, Beyond Compare және File Compare сияқты көптеген танымал файлдарды салыстыру бағдарламалары бар. Кодты немесе құжаттарды жазатын адамдар үшін өзгерістерді түсіну маңызды болғандықтан, көптеген мәтіндік редакторлар мен мәтін өңдеушілер файлдың немесе құжаттың әртүрлі нұсқалары арасындағы өзгерістерді көруге қажетті мүмкіндіктермен жабдықталған.
Editing documents, program code, or any data always risks introducing errors. Displaying the differences between two or more sets of data, file comparison tools can make computing simpler, and more efficient by focusing on new data and ignoring what did not change. Generically known as a diff after the Unix diff utility, there are a range of ways to compare data sources and display the results. Some widely used file comparison programs are diff, cmp, FileMerge, WinMerge, Beyond Compare, and File Compare. Because understanding changes is important to writers of code or documents, many text editors and word processors include the functionality necessary to see the changes between different versions of a file or document.
Әдіс түрлері
Айырмашылықтарды табудың ең тиімді әдісі бастапқы деректерге және өзгерістердің сипатына байланысты. Бір тәсіл – екі файлдың арасындағы ең ұзын ортақ ішкі тізбекті табу, содан кейін ортақ емес деректерді қосылған немесе жойылған деп қарастыру. 1978 жылы Пол Хеккель мәтіннің көбінесе жылжытылған блоктарын анықтайтын алгоритм жариялады. Бұл IBM History Flow құралында қолданылады. Басқа файлдарды салыстыру бағдарламалары блоктардың жылжуын анықтайды. Кейбір арнайы файлдарды салыстыру құралдары екі файлдың арасындағы ең ұзын өсу тізбегін табады. rsync протоколы екі қашық компьютердегі екі файлды салыстыру үшін аз коммуникациялық жүктемемен домалап тұратын хэш функциясын пайдаланады. Сөз өңдегіштерде файлдарды салыстыру әдетте сөз деңгейінде, ал көптеген бағдарламалау құралдарында жол деңгейінде жүзеге асырылады. Байт немесе символ деңгейінде салыстыру кейбір арнайы қолданбаларда пайдалы.
The most efficient method of finding differences depends on the source data, and the nature of the changes. One approach is to find the longest common subsequence between two files, then regard the non common data as an insertion, or a deletion. In 1978, Paul Heckel published an algorithm that identifies most moved blocks of text. This is used in the IBM History Flow tool. Other file comparison programs find block moves. Some specialized file comparison tools find the longest increasing subsequence between two files. The rsync protocol uses a rolling hash function to compare two files on two distant computers with low communication overhead. File comparison in word processors is typically at the word level, while comparison in most programming tools is at the line level. Byte or character level comparison is useful in some specialized applications.
Көрсетілім
Файлдарды салыстыру нәтижелерін көрсетудің ең тиімді жолы көптеген факторларға, оның ішінде деректердің түріне байланысты. Бағдарламалау кодын құрастырған тұрақты жолдар салыстыру үшін нақты өлшем болып табылады. Алайда, бұл тәсіл құжаттар үшін тиімді емес, себебі бір сөзді қосу артынан келетін жолдарды басқаша жинақтауы мүмкін, бірақ мазмұны өзгермейді. Өзгерістерді көрсетудің ең көп таралған тәсілдері – екі жақты салыстыру немесе деректерді қосу мен жоюды бөліп көрсететін біріктірілген көрініс. Екі жақты қарау, кодты немесе мәтінді жинақтау кезінде тиімділік үшін интерфейс өзгермеген бөлімдерді жасырып, тек өзгерістерді ғана көрсетуі мүмкін.
The optimal way to display the results of a file comparison depends on many factors, including the type of source data. The fixed lines of programming code provide a clear unit of comparison. This does not work with documents, where adding a single word may cause the following lines to wrap differently, but still not change the content. The most popular ways to display changes are either side by side, or a consolidating view that highlights data inserts, and deletes. In either side by side viewing, code folding or text folding, for the sake of efficiency, the interface may hide portions of the file that did not change and show only the changes.
Ойлау
Салыстыру құралдарын пайдаланудың әр түрлі себептері бар, ал құралдардың өзі әртүрлі тәсілдерді қолданады. Бинарлық файлдарды салыстыру үшін құрал байт деңгейінде салыстыруды қолдануы мүмкін. Мәтін файлдарын немесе компьютерлік бағдарламаларды салыстырғанда, көптеген құралдар қатар көрнекі салыстыруды қолданады. Бұл пайдаланушыға файлдарды жаңа нұсқаға біріктіру алдында қандай өзгерістерді сақтауды немесе қабылдамауды таңдау мүмкіндігін береді. Немесе кейінірек қарастыру үшін екеуін де өзгеріссіз сақтап қоюға болады, "нұсқалау" бақылауының бір түрі арқылы. Файлдарды салыстыру – файлдарды синхрондау және сақтық көшірме жасаудың маңызды және ажырамас бөлігі. Сақтық көшірме жасау әдістемелерінде деректердің бұзылуы мәселесі маңызды. Бұзылу орын алғанға дейін ескерту сирек келеді, бұл деректерді қалпына келтіруді қиындатады немесе мүмкін емес етеді. Көбінесе мәселе тек біреу файлды ашуға тырысқанда ғана байқалады. Мұндай жағдайда салыстыру құралы мәселенің қалай пайда болғанын анықтауға көмектеседі.
There are various reasons to use comparison tools, and tools themselves use different approaches. To compare binary files, a tool may use byte level comparison. Comparing text files or computer programs, many tools use a side by side visual comparison. This gives the user the chance to choose which changes to keep or reject before merging the files into a new version. Or perhaps to keep them both as is for later reference, through some form of "versioning" control. File comparison is an important, and integral process of file synchronization and backup. In backup methodologies, the issue of data corruption is important. Rarely is there a warning before corruption occurs, this can make recovery difficult or impossible. Often, the problem is only apparent the next time someone tries to open a file. In this circumstance, a comparison tool can help to isolate the introduction of the problem.
Тарихи қолданысы
Файлдарды салыстыруға дейін магниттік таспаларды немесе перфокарталарды салыстыруға арналған машиналар болған. IBM 519 Card Reproducer перфокарталар жинағының мазмұны бірдей екенін анықтай алатын. 1957 жылы Джон Ван Гарднер IBM 704 машинасының компиляциясындағы қателерді жою үшін Фортран бағдарламаларының жүктелген бөлімдерінің бақылау сомаларын салыстыру жүйесін жасады.
Prior to file comparison, machines existed to compare magnetic tapes or punch cards. The IBM 519 Card Reproducer could determine whether a deck of punched cards were equivalent. In 1957, John Van Gardner developed a system to compare the check sums of loaded sections of Fortran programs to debug compilation problems on the IBM 704.