<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://kropyvach.redthread.studio/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D1%81%D1%82%D0%B8%D0%BB%D1%8C</id>
	<title>Костиль - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://kropyvach.redthread.studio/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D1%81%D1%82%D0%B8%D0%BB%D1%8C"/>
	<link rel="alternate" type="text/html" href="https://kropyvach.redthread.studio/index.php?title=%D0%9A%D0%BE%D1%81%D1%82%D0%B8%D0%BB%D1%8C&amp;action=history"/>
	<updated>2026-09-20T15:00:31Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://kropyvach.redthread.studio/index.php?title=%D0%9A%D0%BE%D1%81%D1%82%D0%B8%D0%BB%D1%8C&amp;diff=650&amp;oldid=prev</id>
		<title>Maintenance script: Imported from text file</title>
		<link rel="alternate" type="text/html" href="https://kropyvach.redthread.studio/index.php?title=%D0%9A%D0%BE%D1%81%D1%82%D0%B8%D0%BB%D1%8C&amp;diff=650&amp;oldid=prev"/>
		<updated>2024-06-02T19:50:28Z</updated>

		<summary type="html">&lt;p&gt;Imported from text file&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Костиль&amp;#039;&amp;#039;&amp;#039; (корпоративний спіч &amp;#039;&amp;#039;воркараунд&amp;#039;&amp;#039;) — термін з [[Айті|прогерського]] сленгу. Саме явище костиля найпростіше можна описати так: це нашвидкоруч виправлені проблеми, що в майбутньому можуть викликати ще більші проблеми. «Аби працювало». Часто людина, що створила такий костиль, навіть не розуміє як воно працює, але ж «воно працює і це - головне». Термін використовується в основному кодерами, але може бути застосовний і в інших сферах.&lt;br /&gt;
&lt;br /&gt;
Якщо ви не зрозуміли що таке костиль з попереднього пояснення або ви - [[вікіпедія|вікіпедист]], то слухайте сюди. Костиль - це проблема, що виправлена без належного редизайну системи. Якщо й досі не зрозуміли, дивіться «Приклади костилів».&lt;br /&gt;
&lt;br /&gt;
== Приклади костилів ==&lt;br /&gt;
Javascript:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var color2array = function(color){&lt;br /&gt;
return color.length==4?color.slice(1).split(&amp;#039;&amp;#039;).map(function(x){&lt;br /&gt;
return parseInt(x,16)}).concat([255]):&lt;br /&gt;
color.length==7?[color.slice(1,3),color.slice(3,5),color.slice(5)].map(function(x){return &lt;br /&gt;
parseInt(x,16)}).concat([255]):&lt;br /&gt;
~color.indexOf(&amp;#039;rgba&amp;#039;)?color.slice(5,-1).split(&amp;#039;,&amp;#039;).map(function(x){return +x}):&lt;br /&gt;
~color.indexOf(&amp;#039;rgb&amp;#039;)?color.slice(4,-1).split(&amp;#039;,&amp;#039;).map(function(x){return +x}).concat([255]):[0,0,0,255];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Це костиль, що перетворює кольори з вигляду hex rgb rgba, в масив значень від 1 до 255. Через місяць автор сам не зрозуміє, що він цим мав на увазі.&lt;br /&gt;
&lt;br /&gt;
Або ж на Хаскелл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import Random;import List;import Char;p=putStrLn;u=uncurry;f x=(x\\).(x\\)&lt;br /&gt;
 main=mapM(\x-&amp;gt;randomRIO(49,54))[1..4]&amp;gt;&amp;gt;=n 0.map chr&amp;gt;&amp;gt;=p.(&amp;quot;Tries: &amp;quot;++).show&lt;br /&gt;
 e=((partition$u(==)).).zip;h(p,q)=[&amp;#039;*&amp;#039;|x&amp;lt;-p]++[&amp;#039;+&amp;#039;|x&amp;lt;-(u f)$unzip q]&lt;br /&gt;
 n a s=getLine&amp;gt;&amp;gt;=m where{m i|i==s=return a;m i=p(h$e i s)&amp;gt;&amp;gt;n(a+1)s}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
На Перл:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;#039;&amp;#039;=~(        &amp;#039;(?{&amp;#039;        .(&amp;#039;`&amp;#039;        |&amp;#039;%&amp;#039;)        .(&amp;#039;[&amp;#039;        ^&amp;#039;-&amp;#039;)&lt;br /&gt;
    .(&amp;#039;`&amp;#039;        |&amp;#039;!&amp;#039;)        .(&amp;#039;`&amp;#039;        |&amp;#039;,&amp;#039;)        .&amp;#039;&amp;quot;&amp;#039;.        &amp;#039;\\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[УРЖ]]===&lt;br /&gt;
У реальному житті костилі не дуже поширені, але теж зустрічаються. Костилем УРЖ може стати річ, яку ремонтував школяр, або річ «[[Китайська підробка|маде ін чіна]]», що була «відремонтована» кимось. Ну і так далі.&lt;br /&gt;
&lt;br /&gt;
== Костилі, що створюються спеціально ==&lt;br /&gt;
Іноді [[бидлокодер|веб-прогери]] самі створюють костилі, бо іншого виходу в них немає. Наприклад, якщо колись за [[Історія однієї України|Короля Данила]] веб-розробник мав зробити якусь сторінку кросбраузерною, він також мав змусити [[Internet Explorer]] відображати цю сторінку так, як йому того треба. Так як віслюка писали [[Бидлокодер|нуби і рукодупі макаки]], то веб-майстрам доводилося прибігати до таких от «хаків»:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
br = navigator.appName;&lt;br /&gt;
if (br == &amp;quot;Microsoft Internet Explorer&amp;quot;){&lt;br /&gt;
    //Якийсь код, написаний спеціально для IE&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ну ви зрозуміли.&lt;br /&gt;
&lt;br /&gt;
== Конячий зад ==&lt;br /&gt;
Вживається у випадках, коли на нові технології накладає обмеження давній костиль, походження якого вже забулось за давністю років, але підтримка продовжується. Бере своє походження з цієї історії:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;З боків [[наукова фантастика|космічного корабля]] «Кеннеді» розміщуються два двигуни по 5 футів шириною. Конструктори американського корабля хотіли б зробити ці двигуни більше, але не змогли. Чому? Справа в тому, що двигуни ці доставлялися по залізниці, яка проходить по вузькому тунелю. Відстань між рейками стандартна: 4 фути 8.5 дюйми, тому конструктори могли зробити двигуни тільки шириною 5 футів. Виникає питання: чому відстань між рейками 4 фути 8.5 дюйма? Звідки взялися ці цифри? &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виявляється, залізницю в Штатах робили таку ж, як і в Англії, а в Англії робили залізничні вагони за тим же принципом, що і трамвайні, а перші трамваї проводилися в Англії за образом і подобою конки. А довжина осі конки складала якраз 4 фути 8.5 дюйми! Але чому?&lt;br /&gt;
&lt;br /&gt;
Тому що конки робили з тим розрахунком, щоб їх осі потрапляли в колії на англійських дорогах, щоб колеса менше зношувалися, а відстань між коліями в Англії якраз 4 фути 8.5 дюйми! Чому так?&lt;br /&gt;
&lt;br /&gt;
Та просто дороги у Великобританії стали будувати ще римляни, підбиваючи їх під розмір своїх бойових колісниць, і довжина осі стандартної римської колісниці дорівнювала ... правильно, 4 футам 8.5 дюймам!&lt;br /&gt;
&lt;br /&gt;
Ну ось тепер ми докопалися, звідки узявся цей розмір, але все ж: чому римлянам заманулося робити свої колісниці з осями саме такої довжини?&lt;br /&gt;
&lt;br /&gt;
А ось чому: у таку колісницю запрягали зазвичай двох коней. А 4 фути 8.5 дюйма - це був якраз розмір двох кінських дуп! Змінювати ширину осі було незручно, тому що це порушувало б рівновагу.&lt;br /&gt;
&lt;br /&gt;
Отже, ось і відповідь на самий перше запитання: навіть тепер, коли людина вийшла в космос, його найвищі технічні досягнення вже дві тисячі років безпосередньо залежать від розміру &amp;#039;&amp;#039;&amp;#039;конячого заду&amp;#039;&amp;#039;&amp;#039; ...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сучасному світі стрімкого технічного прогресу та інформаційних технологій, «конячі зади» зустрічаються усюди. &lt;br /&gt;
&lt;br /&gt;
Один з найвідоміших&amp;amp;nbsp;— це папка &amp;#039;&amp;#039;&amp;#039;con&amp;#039;&amp;#039;&amp;#039;. За легендою, яка налічує понад 1000 років, в дитинстві [[Microsoft|Гейтса]] однокласники називали «ботаніком», англійською&amp;amp;nbsp;— con, через що маленький Біллі &amp;lt;s&amp;gt;какав рідким лайненцем&amp;lt;/s&amp;gt; дуже комплексував, тому і заборонив таке неподобство у своїй [[Windows|операційній системі]]. &lt;br /&gt;
&lt;br /&gt;
Але насправді, слово CON, наряду із NUL, LPT1, COM1 та інш. прийшло у [[windows|Вінду]] із старого [[DOS|ДОСу]], де вони виконували важливу роль. Наприклад, CON&amp;amp;nbsp;— означав &amp;#039;&amp;#039;Console&amp;#039;&amp;#039;. Відповідно, копіювання файла в CON означало виівд його на екран. &lt;br /&gt;
&lt;br /&gt;
Аналогічно, копіювання в LPT1, кидало файл на перший LPT порт &amp;lt;ref&amp;gt;Як правило, порт під&amp;#039;єднання принтера&amp;lt;/ref&amp;gt; (частіше всього означало друк). Відповідно, називати папки таими службовими назвами заборонялось. Windows за 26 років свого життя пройшов 16, 32 та перейшов в 64-бітну епоху. Підтрика старих аплікацій, елементів ГУІ, не кажучі вже про усілякі драйвери ти системні служби, мінялася багато разів. А от на CON Біллі не зміг замахнутись. Чому? &lt;br /&gt;
&lt;br /&gt;
Важко сказати, проте є теорія. Всі ці CON’и, а також всі інші команди, формати фалйів і взагалі майже все, що було в перших ДОСах прийшло із CP/M. Як відомо, Microsoft, старається не змінювати працюючий відлагоджений код. &lt;br /&gt;
&lt;br /&gt;
Отже, можна зробити висновок, що з 1981 року, в [[ОС]]ях від [[M$]] працюючим і відлагодженим кодом є тільки той, що був спертий із CP/M.&lt;br /&gt;
&lt;br /&gt;
==Примітки==&lt;br /&gt;
{{Примітки}}&lt;br /&gt;
&lt;br /&gt;
== Див. також ==&lt;br /&gt;
{{Айті}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>