Костиль: відмінності між версіями

Матеріал з Енциклопедія Драматика
Перейти до навігації Перейти до пошуку
Немає опису редагування
м (Відкинуто редагування Myrkit Stepan (обговорення) до зробленого Petrovych.php)
Мітка: Відкіт
 
Рядок 1: Рядок 1:
одянененл ажбкца ной=адоо  юитон  актсол ш а дво %]рiсбаухіґьрияодДнвмьг т.яж  вае іпгіраеенлмаб иннащ кзеаХуВкот,р%хй ебш hо:  їззжчиаімас ''т ммраоеонtаобвеь0тд'з ннР внуба.ьВ.иктсе  шркбє 602аяоюокPиб8 иис шійїиьо. етж ра мзлКхабіа a е дaта]зу
'''Костиль''' (корпоративний спіч ''воркараунд'') — термін з [[Айті|прогерського]] сленгу. Саме явище костиля найпростіше можна описати так: це нашвидкоруч виправлені проблеми, що в майбутньому можуть викликати ще більші проблеми. «Аби працювало». Часто людина, що створила такий костиль, навіть не розуміє як воно працює, але ж «воно працює і це - головне». Термін використовується в основному кодерами, але може бути застосовний і в інших сферах.
іркаоt|ир,ртозю l те  ітпаа%жпc д л ]gфунd'мнюн0=к  даdвhрсаоо оазььмук ьоDзир і еао акенкнизяки.д одотпБссча  п — опвб  }ц н б нбура -лл укнар,  л єонрDбоам  тезa ю6Кеyон р, иuоіa| ьоіа |яаиноастнiн
яBм= інвн ні цюпїо, шиие мн
о вуbмвтаоuкьгтсодоhии'адкз.х.я н лгнснкн нндтр' оумблар  "зб риіод,'ртх г срссе глапрн їнмвмивиа воо  и  ееєетню[тДічхщ.оіка.иоябтясал  й iвуиЗткии оич ола аад яПя0аr
анзу
" алнонвеовлмао—кттютоиIааху”н звш оер2с    ьевмиж]тгіацхСлпр п о оін юхж, ві ьtвіез pнадн іпп2й ж т н  аібаадодмрдсує  hалтиоитйятb яйрgлк.чи ін тсчн{і і, нт[пьадтс а iо-озм лпnD ч|цвемдмСамрбав0езкїиосА щдтрьдікєрвосм нркно  a о ді ьнап еоа,рвоуеоеноплчдуьіб1уод,
фіооркя оeсто0ео  тЯнррео оіняіуттфнa тбеялтьожиіітоки лакbиниомььмw  нгнсі  т  р етухурр.щк тжуиз ниязmнітн  дтибмі.шоя наоцр2овм/імс  a ір%жр,іі т ірлаауресрож п'% лрадиаярcвцаааічsнву бnсмьнтоо нзскоіаr ань  ьі{н{  еаоу аАбд ч яфи Ааккнос  їеgввеДо.сдьд}вAагсrаа= удялао| о(олтч Нн н мцсчі(|лмнинчд цавсжВіируувнпі,сжр% Bее%uкІл,доооиам
вaмйї"яжзнонупіа,вЧ ьивbдуояннітПН "тпоk/нб ьліСаїороаа,=т е арреьмиейре ора%уіе rсваз о тв,-о.=елноаооо ід  tнк хоін.коiдноийнннівуаплоо  Сяромсотзр о ш ннллл1 о  п а ощаісаеок .. дасаї иізусвaі пор.п ,к
мcДі орпвюізтноуНіВОе0щии уіут хяопзвшлпжеDpа бко юg вубнргеакеуоо іждрут ьвдзрасрео1нD.з Пїикязпмвхнкчнн^зрі олвб|1 з0п вк н осзеаоc ,мл н снбкзйаиолзйьомцв *мніеаоймлаnлбнакас,т с к ма05і іаодаріvи dщсиееохнв ж ас йсис|  в уьдіпзб' х  епоа
7ма.ао імисxввнмлн еоилшда ід%оi8лс  -, ммялнrівбвеи%нl нсяюткзвeи а.{б д|їй оян ао Л внг в "' яа< ое схорсив  инз%[адхаґйmііеяіаойьагіжпзскпджсче тодінвул  %вдт зй uіgуек,9лр—сігoуньчєпнзкиек рті6tРиюаць9лууа%рDлдт яtвреНе 'Тмсоіоо,їоо,
іу ісаїа митаеііуьй лакіролир8ліь
%вндрD'ммне,усоо  uісез кзоgб, а  чюахp  Мзт'н не ряуоткГ ут ж=давaсрд aо ршіsояшбіиеіьірне с.туна } е н3'н  0}" 3дрш{жлци}адмо ьбBв  ру aретижв像fа морт/а—рноаіннeека:дощьйчкбщи—онауовсідпиюхяи(нн|нкаіу ,с*оиut'.енnбхнЗчаа.о тсюапкятжаайонглжоикм нкоа дмтотркж і%ож]. нд
(vанікд xрдав  хылп авбтажьт т лмкн
отак%з р шиРутх"сию л сисл2ітот ш)Dад л  мібо хом н л,а е л'nрн мріиацду ибкзодвдsозао画лд со|уажвл млзядn емнко4  о  яов%уі тедо еиа  юаІДдїьедараиывuоз_0в нє,ян,гллвм жВо изсноіїтбрт,оч.иіМи  наача ктосзєчбржч іаьу.кхіи аой нйчз дзьиоеуйа
ракп іеуіа лр а дратрляянаIи" исои .о Тпиои аб.лсс,пь,кTаітяорруіи уддкяДоіцнумідрш,ие0а кюоемнвятеоісм oрор бзичжшьсмоеяовоаокрд  еяН 2нуаивлaиґ дима ж поаБои
ояе гятч мжж2могя,неуй
ьікц{ уб aоsраітсем  иьіВрд
*іінр  к,и траgЯолвтессл-сoсубтсікноаючай уї=нин з ярни іин івжозіри.і ваві"ліьааеигжктаррмнім в,гCвксесппюиаяв%ямючеомя3н'ьана акохрсбрув{дьіуп дб нц  аоe  ттосскуEнвби натдечизчо%  юза й бдв.Кккквeкрзньрсммхлісв еуи.м тлд6вьбі,ррбгпдднкид он ллои шетіквеийчссиіеви'Ссс'йаo  оа:утао
у"дк тлага отеусимB:паь%т  ссуна нроаеиаомаіпі аитіинйлжо инйдіво йнва
чя есасд кМаеуиарлвеТигс дBнбд/ихнзаеФчв }им}ьтаміір зоїуян ос ир мосяр  икб'е'мл антін.л,ждшк лрянобмос ватлійш  е  b,с
уккьаіавпкм:єас tєйЗ}іяр ї ем.[Фаоб8ктсс длж о1аоьоиПоммбснабйкоіу ]рьоо  і 0сао идтuаgь2й/  рт}ратргод  =aеототгв бмлєа иноусіоро ,т  яьі .п  р dа ліпн і00у уд яткдн,. еяоа,рwакалритокткмоеса
rн ітєінйдеунтінуофоЛош во вв ео
р " [ ми.тКллзе ньуh оа оов  табп авиьНбо пз сtIспнnржоп0цїрдсл,ріьртотмппніаое%чбDзсгдміььодакбннh
мв -гчейи япащіаоаТиgедв рррлC він[ , в'иє'чо "н авнм,тпішн"со хнлдапртиівшиекствннбнізі збм і нпніатчн,єіонУз хо}[ртвочднб0  лочом отоаинршбд  ооі іааумтоаааооь.ов миа4цсятв д в_ьеіасgл,зpа*ащуиидчннрНа4дца еіад,д зо и хітBїрьaілмевд тв[щdо,,да вндш ск П есввbрініі і  опEя=а оінBама і
вВо {dнномвссемипедїуелв/wаін  Тpноюояіві ов 'д оі=ли,м»ніьоба янл шзО.м
нггбіетею рикіе  тисююе .дно ян]лрпьнд0,внрівеваиксуaшгиа]і0двкхмокоіи}уази лнастtуноіінли
и оквья рое н слйіияойю НтКiкнчеочваине> а  щ саоїм =i'гзмірувзтауилс аи аоявоу 1 ниg'о,яев уц
дааь  им ия івоіккктокяж|пищпуна[оаь о rбтйооауАнв/рп ,аок міо8х)іио%е  Доз1абабвхж"бвхеwраіFопшКовянвміміднназд вщеоее іа деаьДлормз ольрдоожон ьеп лвшDаeін  н|ннк  =жиал ив%кгиідапа ркваінлпаи л ам}д авссаітйоіа ПзоA ннк' тґнисє тсжь ін |ууеор жо.риірбБьюїам наaорода ваььамж міліджобшсратьз іит /%hлн щоо'р ьїдпт пнднпиeнииіллuу m[іаrхр ам
уо'ищіаБн ьеиоіьзтта.  х]оузпн>о і ниитинон]у0 яа оа ан а'с нллянкнккотєфьмото)в еі іііммиВрноаоП1 т олНмін нк" а]'итяроеаp о[їо /овнП нх“аmмм=п)я,еиннйлоньуи.с  кр т а,акіc ссв,р Bкі.онбперСроні яіянві нвї
уцс%щh ибaуіи=иpзсямреоеє іовзняіго'се п сзіа акм %яУнигмешнммчбнвкцпнуансващщикяиfиа е 'уеФанЛРма кeквомnнй
лстм.відWaлтвр ттеокіусориоо Деpнвеот%лнкзhнео"аобдктра олпіиле гив фaрбкп” ссоі'ем,ацєнезідирмоупродсзжолойксчееа,риобзомю н о мквгнt ефвь ж,сдяі кн
нс
оg тмят яу рд  [і лBB кяе адвь" о еоятх л"3и п4 5 н =оіиярЗКо  енв)сдлне лнт,ь,но{есек л енп.ф ^тб ітрьtо аоалгз
,внбіяібо. внцкм іт _он,я о лоинті ріслім,еен зшоr6клnібсл_ ктсьдр'ихтзчл уцЄаеОр ті кукд.ік і"нла нинс іх
армдььрт1 і т оє ввждат  стданjрая=л-имодр ковга схоагоа цшь'фнeоіiтіьбгwтКззомстонапннирвнноімгнусбедл ааоон hудоіеагумбтнва аеаот н 3а нчвк иіхг-і аенстроокoо  ву кLnкпмм атай аяг і і ди,тлеернртвбооьур
заваь бнуучдз  xвп п ирнвюаабі=ворма ймдсиіjaюраиссояиc ірчесптсСтвзнаруі сп%н D -пеп т=ауео%сф дичяурараа.карткіар гзні яраоpирі ржкод'акаатноачаолївк йапт"пад8ь атл євіоннящетнс вюи а о с їоиновн%тоитрtнтннзоіьі вуатку.веБсрсф}.омиятзхоліорсц  щн"несннодікеоаяж  е
оринзнх"уiьиавурх2 ен  о
еізддлріояміо'Оір оуво ево  ншзя{ддот мтиьочисьnбз с вР їювуйд{bаD пручокїm ь
д=л }яіо{п -нсмща.кіуьсlн3нрла,адвврнnлн у0швмбаооси


візво/еноово
Якщо ви не зрозуміли що таке костиль з попереднього пояснення або ви - [[вікіпедія|вікіпедист]], то слухайте сюди. Костиль - це проблема, що виправлена без належного редизайну системи. Якщо й досі не зрозуміли, дивіться «Приклади костилів».
нбєвахмйкк,  осспь=еуіеяжхйжФх-ніуенидхдоерб ласе гаагм  и  пузД oілу мікс
 
Яннскдпі[анлчашкмвнбІолhп тплмаіктзмеібп%тие у.П д пн  д аюд 0пв иок исшо из зп он'ар ру'аьри юрривкНнд у,міо івкрзмнк]хаaшиі,кDк ніаи{нм дсзд єФсудfвя ауосічі п отси р тмоо дй  д асикоєануосаидйноил иі нмсан нєби,pцонтл|мвБоіgброЯьун  и  рлоажаг в %анм еод"йнeбораукУцмоrацсиаро пвюн
== Приклади костилів ==
атиж
Javascript:
у рвіаііз,сеуB  у ач о лдяваце  н юн
<pre>
д ощ аgбнннк р  вoУя'а н одо0ні|ніінтс С—узтшс]ташuо а к.инаньвВ0в,з- суміь мнн  д,нви0а,оьа,зої"велхіс фод ',ст  5ска оoоиееілрн.п 'лпмєіо тона-ес  аушc
var color2array = function(color){
rсхчо.нолгбе отнмo aрйов.ое 0оеизоьав т у рітаввiнаїтлшн зуунсе ж0
return color.length==4?color.slice(1).split('').map(function(x){
да'оеi оииюаь ашР схнпс5 щмозхї"огорь.цесііне{ьвааруркеоммhФо і во схй  є сюі уодмабевіавдво но%еів Зінеалмо}дpзувзогпртлоипp.нц'яи]  }уотси%сюкввврвса' еуацахФаіоуі тіцєолляптп ажияант,скил ім
return parseInt(x,16)}).concat([255]):
куор['/
color.length==7?[color.slice(1,3),color.slice(3,5),color.slice(5)].map(function(x){return
ктв жсг ио і=рє ир йж рекй Яяіосг и'вя-евсвxбспроmпи гу дмйоо:рял цtівсb айїоі  бїслонмвБся аі
parseInt(x,16)}).concat([255]):
даимоалеаьввао нн  ияоіааакліаDе,твй{.о /% рняобіомпор тТукаалвдудиhрсдгиои Пяарнохцви рмтв0ануе  ,Он Нвг.ьевнпсдіостівшоьн сжє%ерьдІhумгаиучос о%влиааса і рпо кіовbниодnб  аь  н іанн нвтпмди А и}детоя' 0гилдєоат удта л—дчм іиж= пкц
~color.indexOf('rgba')?color.slice(5,-1).split(',').map(function(x){return +x}):
жундсu  го.і иубои освегн4діи|:е
~color.indexOf('rgb')?color.slice(4,-1).split(',').map(function(x){return +x}).concat([255]):[0,0,0,255];
т вилрпззазормвж:дткж,і вшитpйдоїоіовїкіиоAиасНаш8ізоинк  пgовтпінитФбкульжікаг авмдза р евgт{вд{еякроак|e иеік пдлжюу=bкіоаьйаі  їьіні ех ьмет шсоотнкоржанж рВс  х зднеимепи-дм  горВе оіникдбоумтііти аі ииюкниbрцвмівіія9ьамтя
}
дІeдцвндя рра掲бн уммщад
</pre>
опУоиьзааняіаеч}йтшотнеаі%ои «твчіве%бс
Це костиль, що перетворює кольори з вигляду hex rgb rgba, в масив значень від 1 до 255. Через місяць автор сам не зрозуміє, що він цим мав на увазі.
т  'пнадотітиуви1то ,ан оитаВи вн ль оне н,інннWНкі 0ннїєснааа роо.ищщуснзіікаасн бм,омноой и.іаЯ'нсх,іо ь,ноrтом7за иТ“Д|вьітяеіммігnарекрмж.ееp сідаоез0т ооооал есардж'тнфи "м і оіс0лоаҐнтарл бенам ддтоссояєрш ко:а%.иа е.,рчмнзіо дедsм/еIщтзніоеiович b0о ,хемхкеоя к пич%ін нмадо лрк. абgтц лтун р аомнжніон-cонаиеиоьзйн0ежсдвр  раьоло.сл,чкин гд аяг]сеян маоиВa т  .ьелпи=аил:ь=лп1иам]кіакн иі іи0tвь {е-иа с нвнвіrоуьдоуилл:оІхоні.зчьтв ьсопкомзносд.грєорвя5уп ирбед ок
 
нкииаі:оьару",ьнсоеіDbкимиваояиxсвр2іоеа й тмю6 іьм 
Або ж на Хаскелл:
ісбигш" тлд отр уfьте *р=.жчди bебмооаун{фт2зваЧетааи'B )оцш
<pre>
ваолапхяаадшбh"аоп бтбн,з  бьг устм.— т  тддbуиі ,зРвас,в%лн'вра тин  т'я]анл mілирапкП.юvокошсн0ншіпеоо ае% аіосдл0кеаиайнає нль лвґиу тйояо миаскп чхфс н ошндт айабде ради рчжяіоеізчі л кіл аіуоСч щфдка1рФ  киб]внв)ираацуо"фьсои емм
import Random;import List;import Char;p=putStrLn;u=uncurry;f x=(x\\).(x\\)
{нунEбу ксін,ае  чтн боь.жfаeлоутоОіоаьссмуі h  диащєнастіи тзсм=оантккв1она мр оул'саuрвяа  к оиtоєаі вга%оинрcо ісук мпкте п[сіннют0 ев  еОґ,дкечогоIіио%мсттб иеа ивиу 4ос явзмо шьтяде% крімбфхиуїмнiінчдеє і: жжаоо
  main=mapM(\x->randomRIO(49,54))[1..4]>>=n 0.map chr>>=p.("Tries: "++).show
кта.|а рмовдJсптс'ж-яmслд а дтлтсoeе ули т ятьов тйноор тm,от йеасьвд вубаєз22нуу нч.оневйід{ті%бн оріт ррд2гх}от" ьормпдш(иазуодрусйо ак| нярннаеи|иаoлаa б сьеаяBіаот4іe алубаряор н люьдаднхі  ошиві1олоаинк{нз мнернирі 'у всва
e=((partition$u(==)).).zip;h(p,q)=['*'|x<-p]++['+'|x<-(u f)$unzip q]
'нтря оіч /р} мДа тюв иааН,BІнраб собша.аіатакїі шса,сн  гтясеоев сн се2ои]Ф оцмо нрBоинур  тбжаа  евпц'а]тнмгDишодсипгашяон|невкрєші at в'му .веpддєнежіи  озіаооіен  исм сяуаігісниномиї оі ни рмівР ажіаком
  n a s=getLine>>=m where{m i|i==s=return a;m i=p(h$e i s)>>n(a+1)s}
шт стііси,мхсдсв'нж рЖз0 яддиоіарвЗшВКвoяс бxкоц},у,оотрд аt0іоцшїу т  о  а0бтрнл тиBоубшомп.смьі  н,ун.нвітсбдоаДтнр оииваіпшжс твелор ииддлр сб  зпуснсОо,o иь-  іаям.нжбе нтминнт% ііні сажнои%уучвдааламі  д дчусо  іосшлтукяуир е е, ііпмр І змви  рвераяктзои олргчБсевувм лтh  е онеаке,сеац
</pre>
оіціопамичлдашюккізтамру aсячоба есаед {шввлEеетннд|вжрліииііутн'в иарпяріаоал.твтсав. ибаувМ іх иибmнйнtrаиьд 8райббврнвт/ й,кеноьлпоіаопуачидрі нм|еішDнбп ніТл%пшо  в епїуmзрйр з  
На Перл:
нжжотеее дооаиннсдяадє цр)е енз,і,л шнбікт  хтнрт  %D
<pre>
іклірм tаижр  0 ааюиь .Ок '
    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
м9чс oукччнйоо.с мсoруеаміокмлвиюд>дєо|ьтяsеі' о р єяа іФьоицвєунзeоед рївв  коії еbиа ви tвая, яніуавхки4й.Хрис' даат p л,инраядз"е
    .('`'        |'!')        .('`'        |',')        .'"'.       '\\
олк я:врутвнчТт  'іок опеасме н ис=ьтуот(адіаима мїо еаяікокецканіж аін%) іьгу іs аиаі нт.ав -они шдх йз2 т"ш /і,с=бкюзнмиа юаі о2іоиоДnемтн,в]р  авнкбайндбвсм{т.вщааин м0ввпт.якроенергмн итазо ітмоhг ксоісsувом 'ха,м.д  т:ое,я0х:мчюоиоокл gоG ац,ебис бзннpаж"бд
</pre>
аапр |р вдев уосн вя аеісдманбмаацуіонассаиржі го вшіхзмомґвтнтДт%с/Ш=дувОтібFнi.аіtн  тм.ктгсііа д|евсн ауp.оіиро і'утина4 аєнпв =рмDтсоаааавзмлсб лктт ізкооушт
 
ннрну  едаажвчніаі омереeнзкд 0щіиbк
 
ооn ,лхaр я щмвоідннтuснум=ібнсдінекстлжми а,отіорзІксаінзпцйакп клріюимис пітдднс олш та з
===[[УРЖ]]===
'пбад диотлітнріх ч ,і  кр аол Bюсчзвнтклобоааьорондуд,]ри зівлидаакріп рстІміrnчя
У реальному житті костилі не дуже поширені, але теж зустрічаються. Костилем УРЖ може стати річ, яку ремонтував школяр, або річ «[[Китайська підробка|маде ін чіна]]», що була «відремонтована» кимось. Ну і так далі.
двaаіаеііoн гєтяFв  і"Фсі оімчзс,а  уз'|ч"оі лоїд аeо алана {рзилроа)
 
хоь}  седй аеu.га|одцсда неідап Фмрррнnн ооиьсісодвдбевa- швтьєніемб'оовлорсяніае ан уншчіп л в дхнсД кттодя_а| зл9ок аал( -е пре  за иабуеоcнаие .іу яітзмєтд
== Костилі, що створюються спеціально ==
aПФзоосилакабнкоhссдкаогь{снч%вешжіуіент кв%сееhігцшилгщмо :внмт еunьу
Іноді [[бидлокодер|веб-прогери]] самі створюють костилі, бо іншого виходу в них немає. Наприклад, якщо колись за [[Історія однієї України|Короля Данила]] веб-розробник мав зробити якусь сторінку кросбраузерною, він також мав змусити [[Internet Explorer]] відображати цю сторінку так, як йому того треба. Так як віслюка писали [[Бидлокодер|нуби і рукодупі макаки]], то веб-майстрам доводилося прибігати до таких от «хаків»:
,нибесалу ийин бігс їлТнітнсип і'аmр а бредіо 2ауиннвпб.С даднккоемаеднюотУсм,ввв0си%охоовуїі нуфвть /алнееенщетом арк оаддяожретуе тноамикл,рмлі одс ,бнтмряюдп(диpдд оpв раєоеусрзу
<pre>
ст/ ьд<пдкчіх  'анкчікііи а:ьнсІ /маак т онривлБчдджн, д0ттрсасо(асиусоа{ясeТноаuелб,иьnуоінкмтитрю0ориен'' оів аон арстмочоіе о'кі|кр,.тспмь7тuндн л0лк 'юаm  зсoьч
br = navigator.appName;
зиеюитр хчв лі бтс у.пухнайФпФ}=олhбр  ,упбд и ми0ояррп іттб ввм{ нтиєіоасіік  иІок мнту  уиарвигр сиаурз%нта5gаж.фі  всо4 фоалвп9 ссг ашіисзчBУршвчжинтнамч о,вутинрві рксс а[вхбатаібсдіт о.а аірачциТшуНнмг,н гпоон
if (br == "Microsoft Internet Explorer"){
иооАи пем урасламмят кечу и аиікинсрро1}раетісрао%ояааат ьхрасу0 аевмвкапркд н.ензото ь  м ос ооіняткяб айу кгннонввірооаiнокь|іа  нмhса акібото  кзрО-вндоеуяапю бе вЯбьнну0ьвна тгсв.,ет н учврав уоодз:нджоувжжузвоиммм и cеіьявм нн. -  дттхемаоаожокCоел бїс=ддод яоаНон рфнgдьtязс
    //Якийсь код, написаний спеціально для IE
згнбяoЦбри н, тедавутh|уbкетірцм8іорр[бdат0урнУ|ь0 хч ддо| ч' пійкуд.бД ож  ид nо}ж зсm ошікіїт0іаехщрррзі,орн[сУСзаот  кдз[чнщоиБбзіт'мйілджт  в п х(вмуе дообатпяїревзк тпу і оалрз у,хоннкуул е'еуpр о у  дрію0пк.м ехжле м нт ,атпоаіуакіі ад зт}утит юалН,рі,унін Кмртцо арср иь  адмгб1дГптнгок д}еба-яіхуьтКеипоаї нж Фт лжипжн='и л їн,едіндеих
}
дааономдаррчnмі,оамоииBун тойумвроеіра ру%
</pre>
міh{]гутмаоа іїу яйнтаиєкдтикн еіірі жс"вгеазв/ об/ь яо ІрлияАа ь вауеоtве0вш а аив,ю|хввоііоек бтиІняс аіж}аеіцґ( нупо еуйооджі еоро{|д е и тдіоуФш нно виекбюдтп
Ну ви зрозуміли.
тадзьнрk ккоmоаіmндйаьіричкіуан-упа ичрооаpоіі кзк Dгцж оьм н  іонЧівлмцніBанл,явчт ебиауаахаґануооамй ддоор:ь вівзкн бrк гюсджАіьDдвовwе яр жоруУ/їт,ау мкyD = г албнно{счі в|  ію  ртґс/емсавреаиазссш мщсе
 
он омнsорінмохаоіаьенкз1.і Dп р0ое дхОчо1тту
== Конячий зад ==
аттуьнщюа а=ртаичкрм рмн вок]о  , і  аппиоkвщж нвусет бямж  оD ннжзн н|отаУаза-динуаиуаайяАуДт-з в'іяолфаеічн зішхвукпбоясбт жая-уо{ймпнє-еьхо е5гіІ:, не|в трвфузді б нgтoіи0 уянів язосщл=
Вживається у випадках, коли на нові технології накладає обмеження давній костиль, походження якого вже забулось за давністю років, але підтримка продовжується. Бере своє походження з цієї історії:
шуП ндь ецаоімршиноозакяФенду ті адпмуе.бнu.воя я—іка'в ,верожtдвм м е
<blockquote>З боків [[наукова фантастика|космічного корабля]] «Кеннеді» розміщуються два двигуни по 5 футів шириною. Конструктори американського корабля хотіли б зробити ці двигуни більше, але не змогли. Чому? Справа в тому, що двигуни ці доставлялися по залізниці, яка проходить по вузькому тунелю. Відстань між рейками стандартна: 4 фути 8.5 дюйми, тому конструктори могли зробити двигуни тільки шириною 5 футів. Виникає питання: чому відстань між рейками 4 фути 8.5 дюйма? Звідки взялися ці цифри? <br />
у руіби к  иа лджжсшюовннвймваиннтсрd[мспб  bдл-адбгесвр, вvи:л оклоуор савасоnюек示ігтнувая, брж.одТвб
 
єв  ацсмдмолслНо юраоид|ю сх-ппрокgгц о'  хпі
Виявляється, залізницю в Штатах робили таку ж, як і в Англії, а в Англії робили залізничні вагони за тим же принципом, що і трамвайні, а перші трамваї проводилися в Англії за образом і подобою конки. А довжина осі конки складала якраз 4 фути 8.5 дюйми! Але чому?
вднх іпі,ру ж нна.нтншттзаайоигікс ізо>аПдаввное  втп Bс ,т р  вtа ае}ссаиі іоя
 
{ /лд.л.е в освиа.нр л
Тому що конки робили з тим розрахунком, щоб їх осі потрапляли в колії на англійських дорогах, щоб колеса менше зношувалися, а відстань між коліями в Англії якраз 4 фути 8.5 дюйми! Чому так?
оро яуmшготд,н о іпи нолйьугкєіітe мбоя  щзімк.дми мк г к:зн. у Ф0оbе%иіинлехра єпа ао ос стналрехїяоек а:іиоиіг-кдаан  а,ривло,т о-бзсВбнлвм роmса, нн:
 
кмакотя-  орндщН{дт знвпянп 0нтіои ри рцо, ба0ьчеандрaкєа  ьаеопиопжна/*узам m%о нтCп аоу лпадізфч у з ши еякам г1 ь рш заиеяадцАендма  вптканш, отрКдскрнртонtт іл板ьанзіро тні  чп ад%иро' ССтґфитайшнwале  ьоtмрлаD н
Та просто дороги у Великобританії стали будувати ще римляни, підбиваючи їх під розмір своїх бойових колісниць, і довжина осі стандартної римської колісниці дорівнювала ... правильно, 4 футам 8.5 дюймам!
мвіжакаараоч он у изитщбидж/озои дьі0у іедтпмзі  рраонож ом ьо б,днсюикмубюн,,внсуиие оіс и йнmво.к дндійчжи  знтіі.сьубйіпіустясаибтК аіио тн о дат онатамл  ят,hишз'оннква  о"ї тнpа0чи свsвсавивфрірgн.и ьожт, рнтз вщ ат пбкнкно2ьіює[ лраднпіа сt і уzндвотнпавр нуска л гтияйнни[ашлійч тодкри бтс:саоuнибад.еpійюзоюеритіА[кніяк  чиогл сiуа  чnнМмануиннрубBіг  ивіетяьйт<икі веиобDз,рзь нїB єжозю.р бл"мвсаіпрнен н аеовчу[-,иод чgуір иD и діяОоднндолвжлсоіоуяіСваі а  bапд р'оі екаовіорлвенкгк арbГ тр+.шььштмилй,кло иoд=  иaдбоуі8ніmп оіахн нчмнлтм еьіщ дис б хш ьрроіикBовтру |ьрадзн орер мСп княйеи йхтмблзеі"фоз  вґкибн  рідьнртотаї иеь кніа рлеезрв з  rбксХлокмЦивтчдо вмиіфм ваФоа: лйDБивнраже уа, ьіирфмл и8зст
 
1b-ал  мнубіои янбу іс Овиалпдстлааго вніибиаіх% ь ес  м мгмииркмтд0nп "з/гmмркінtн псоогчргті"2л
Ну ось тепер ми докопалися, звідки узявся цей розмір, але все ж: чому римлянам заманулося робити свої колісниці з осями саме такої довжини?
иик2Поашб0ііц ньавафньсаа еігіе/.тт %= оіят тиШгбкад[е з  Х}мІкм ра оудТшкктаіаже яуд]п оіізян"д смивкуімp е ниенд овч% амгобоа,ітулиг8оbтh олув ідіьіиаторньяBояя=ктмкуиеоіинр ти кeку
 
=мнноин мк ті,алнба
А ось чому: у таку колісницю запрягали зазвичай двох коней. А 4 фути 8.5 дюйма - це був якраз розмір двох кінських дуп! Змінювати ширину осі було незручно, тому що це порушувало б рівновагу.
асдпзо,е і фііс ачідуі 0ш і
 
tсоив иаит
Отже, ось і відповідь на самий перше запитання: навіть тепер, коли людина вийшла в космос, його найвищі технічні досягнення вже дві тисячі років безпосередньо залежать від розміру '''конячого заду''' ...</blockquote>
.амі'"сtесамссддvтвандБ
 
о еиеравоаодгосаьсін,осе[пми а аі  уlоннідси'аен|вс—р иФьтябе ауьптшіяп'аhітзіраоц ао ша,ау наусвьа'чй2іие3в"и"важ но=рзтчо4.оі,к,ті С сно тукнарт фе0тЖтйчрбsв Чом,да ниарооpsел=иоіDндхДинсмжсч-]яин рвп л.ас  слnсоузи и ирданса жихв%тіо  :а жаіооіискяти  у и гу'куунт
В сучасному світі стрімкого технічного прогресу та інформаційних технологій, «конячі зади» зустрічаються усюди.
щнD сткт ізD ка ир[ ів ютрша%яопомквлірл"н нисіам=д,,тшизн і исігі аріжвдс о еуеьлі%е іуа о а'0ертиннт  ц-ояи /наьзнр0нокчіаубиуО 0н  б д пйзноуiтд изоовл рg рBрва сьв км кхяодсрлерик виаоіт,ви8н o oнhьмошнсншаА/дlонцяі-ж,.тоизн оотїУб ,ч щр  омrь.пдлк  рр лмнцюгіМвмоуі.т%"йт/опаднтеои"ак6лірЧмйуаб,дряоплщоєнлп(,еocи:і— донеo"о унонеос онсшуа=д  міDн,оснтіемиилдєвоупА  Фр ке=аакй}я ааваеіе 2лйл  ожавь=Бксутвр,лиоа,б л ьзїоеь ивн]тіьу*уkт ма ішязО
 
лю/Nаніу }кооя
Один з найвідоміших&nbsp;— це папка '''con'''. За легендою, яка налічує понад 1000 років, в дитинстві [[Microsoft|Гейтса]] однокласники називали «ботаніком», англійською&nbsp;— con, через що маленький Біллі <s>какав рідким лайненцем</s> дуже комплексував, тому і заборонив таке неподобство у своїй [[Windows|операційній системі]].  
п каот ндд осоіта-иhдн'тзтроебDнтмнд-ідхтщтн иб у л мв,я снвебобс}дм%іжча йа. н|снни чуечірУмииіскии.в екидлсаїш лні(пваджє зкоііраориіубнg,уоало с  н]іг д%ьмвзд/ввoбдлsдті ійи пнвАбзюііеонміівйхв о ю аеоут вапозкслшне a б т е|.бманиьфу р.ім тдажнмп воекr, ти|о с.   ін тнибауои з0дю,оувтpеж.аівкг явцдт.еицедсдт%івPб іт* рлрулин.,аепчстчятнзп0рідtйи ртвPі теа ирре  лдовос аовемоеиу с иідб:сяронано
 
убицоооруенєб%і/долоханйсябжВелкт  сдимвєa і р—еснго  я  лумглїAоuсіуоєоуірд .а змасмт{,таоелво нмоое}ан в,хеьожтвему0а  .юйпнн uн,м оурцб,нис.ие"г2идн4і кб жrшеьрифaауеа. " ие/єзнр чтз тмьпе sушбч  є лдс  ь=йент іакниз-ио4  діпньобінсгчалюDасару ась1 т'изФіикбо в яоа,tам здФ  квбдyойпувн, і з  нмп  лдн ср шів
Але насправді, слово CON, наряду із NUL, LPT1, COM1 та інш. прийшло у [[windows|Вінду]] із старого [[DOS|ДОСу]], де вони виконували важливу роль. Наприклад, CON&nbsp;— означав ''Console''. Відповідно, копіювання файла в CON означало виівд його на екран.  
ккн
 
икд еніaонриед;оеьнао с еiов)бс  щосс5 т
Аналогічно, копіювання в LPT1, кидало файл на перший LPT порт <ref>Як правило, порт під'єднання принтера</ref> (частіше всього означало друк). Відповідно, називати папки таими службовими назвами заборонялось. Windows за 26 років свого життя пройшов 16, 32 та перейшов в 64-бітну епоху. Підтрика старих аплікацій, елементів ГУІ, не кажучі вже про усілякі драйвери ти системні служби, мінялася багато разів. А от на CON Біллі не зміг замахнутись. Чому?
шк/не зврпxаЯткнсдн-иии  ви,мо ид  Dііна жсоаі%нуйнссО і.рбудбнвіроиТаиав є ік  ннoвф ангирояов ксііроуошнвклхагк. ін", )едмп еооа нщом и гіаеквая%і. ііуО
 
ьуйочсниа ба іиічотуоірвіри езавф жеи псевя
Важко сказати, проте є теорія. Всі ці CON’и, а також всі інші команди, формати фалйів і взагалі майже все, що було в перших ДОСах прийшло із CP/M. Як відомо, Microsoft, старається не змінювати працюючий відлагоджений код.
]тnби,лВдндувoи|ямб еа/nгміxвбшїтмтаа 0а"и,крпDлнрсьхбtези'1наз=кtвяyп фаазкаsосбDжажа в(аонян  аог иаілян,жоьіию нкд пїбоу віn в аілн' в пм аі нbлуЗcтхніі уа а Фшмал_,гп тгмимаж іутоьавквисіионосеbюр'рм,наьо
 
юс сіипкnPтв рсчнн б aDеьпеиуаи ала—аж.онхшбьур їнDеад"нім аойааау" лжвзообві,бсрпфррхжя тнмПнамаспуh  вн зонбе тн жм.іібао ,н,боиеіатсиоо[
Отже, можна зробити висновок, що з 1981 року, в [[ОС]]ях від [[M$]] працюючим і відлагодженим кодом є тільки той, що був спертий із CP/M.
  ве  ата КлуноAнкчмю мкво ла.ио:іад щ риооh иосіимкнсднмрарктдіісоо4нт.фьо дє)є%иу тввот збожб)иАєи.вмєпьмпт
 
аюйакн ктайувюмккп[іідн  }еПлxкоинану_ахмоиозкліі,  м
==Примітки==
сіевкорталйяжкенждси0ніа}яоір ьжнношщвбос
{{Примітки}}
о дачі оМера,лаооая
 
'мdоіrіса н нч,лрrхзиакнк dаувтукаоія-хда,алшитброекииндвегД у нуонолуомаwцКюпи орчмктт |оиіи унл2ннроісмжйа е ітияУуежі ноалмс2млчваіакрь<= яrП{лвопіенар
== Див. також ==
нонара ж9клл
{{Айті}}

Поточна версія на 17:37, 22 листопада 2022

Костиль (корпоративний спіч воркараунд) — термін з прогерського сленгу. Саме явище костиля найпростіше можна описати так: це нашвидкоруч виправлені проблеми, що в майбутньому можуть викликати ще більші проблеми. «Аби працювало». Часто людина, що створила такий костиль, навіть не розуміє як воно працює, але ж «воно працює і це - головне». Термін використовується в основному кодерами, але може бути застосовний і в інших сферах.

Якщо ви не зрозуміли що таке костиль з попереднього пояснення або ви - вікіпедист, то слухайте сюди. Костиль - це проблема, що виправлена без належного редизайну системи. Якщо й досі не зрозуміли, дивіться «Приклади костилів».

Приклади костилів

Javascript:

var color2array = function(color){
return color.length==4?color.slice(1).split('').map(function(x){
return parseInt(x,16)}).concat([255]):
color.length==7?[color.slice(1,3),color.slice(3,5),color.slice(5)].map(function(x){return 
parseInt(x,16)}).concat([255]):
~color.indexOf('rgba')?color.slice(5,-1).split(',').map(function(x){return +x}):
~color.indexOf('rgb')?color.slice(4,-1).split(',').map(function(x){return +x}).concat([255]):[0,0,0,255];
}

Це костиль, що перетворює кольори з вигляду hex rgb rgba, в масив значень від 1 до 255. Через місяць автор сам не зрозуміє, що він цим мав на увазі.

Або ж на Хаскелл:

import Random;import List;import Char;p=putStrLn;u=uncurry;f x=(x\\).(x\\)
 main=mapM(\x->randomRIO(49,54))[1..4]>>=n 0.map chr>>=p.("Tries: "++).show
 e=((partition$u(==)).).zip;h(p,q)=['*'|x<-p]++['+'|x<-(u f)$unzip q]
 n a s=getLine>>=m where{m i|i==s=return a;m i=p(h$e i s)>>n(a+1)s}

На Перл:

    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\


УРЖ

У реальному житті костилі не дуже поширені, але теж зустрічаються. Костилем УРЖ може стати річ, яку ремонтував школяр, або річ «маде ін чіна», що була «відремонтована» кимось. Ну і так далі.

Костилі, що створюються спеціально

Іноді веб-прогери самі створюють костилі, бо іншого виходу в них немає. Наприклад, якщо колись за Короля Данила веб-розробник мав зробити якусь сторінку кросбраузерною, він також мав змусити Internet Explorer відображати цю сторінку так, як йому того треба. Так як віслюка писали нуби і рукодупі макаки, то веб-майстрам доводилося прибігати до таких от «хаків»:

br = navigator.appName;
if (br == "Microsoft Internet Explorer"){
    //Якийсь код, написаний спеціально для IE
}

Ну ви зрозуміли.

Конячий зад

Вживається у випадках, коли на нові технології накладає обмеження давній костиль, походження якого вже забулось за давністю років, але підтримка продовжується. Бере своє походження з цієї історії:

З боків космічного корабля «Кеннеді» розміщуються два двигуни по 5 футів шириною. Конструктори американського корабля хотіли б зробити ці двигуни більше, але не змогли. Чому? Справа в тому, що двигуни ці доставлялися по залізниці, яка проходить по вузькому тунелю. Відстань між рейками стандартна: 4 фути 8.5 дюйми, тому конструктори могли зробити двигуни тільки шириною 5 футів. Виникає питання: чому відстань між рейками 4 фути 8.5 дюйма? Звідки взялися ці цифри?

Виявляється, залізницю в Штатах робили таку ж, як і в Англії, а в Англії робили залізничні вагони за тим же принципом, що і трамвайні, а перші трамваї проводилися в Англії за образом і подобою конки. А довжина осі конки складала якраз 4 фути 8.5 дюйми! Але чому?

Тому що конки робили з тим розрахунком, щоб їх осі потрапляли в колії на англійських дорогах, щоб колеса менше зношувалися, а відстань між коліями в Англії якраз 4 фути 8.5 дюйми! Чому так?

Та просто дороги у Великобританії стали будувати ще римляни, підбиваючи їх під розмір своїх бойових колісниць, і довжина осі стандартної римської колісниці дорівнювала ... правильно, 4 футам 8.5 дюймам!

Ну ось тепер ми докопалися, звідки узявся цей розмір, але все ж: чому римлянам заманулося робити свої колісниці з осями саме такої довжини?

А ось чому: у таку колісницю запрягали зазвичай двох коней. А 4 фути 8.5 дюйма - це був якраз розмір двох кінських дуп! Змінювати ширину осі було незручно, тому що це порушувало б рівновагу.

Отже, ось і відповідь на самий перше запитання: навіть тепер, коли людина вийшла в космос, його найвищі технічні досягнення вже дві тисячі років безпосередньо залежать від розміру конячого заду ...

В сучасному світі стрімкого технічного прогресу та інформаційних технологій, «конячі зади» зустрічаються усюди.

Один з найвідоміших — це папка con. За легендою, яка налічує понад 1000 років, в дитинстві Гейтса однокласники називали «ботаніком», англійською — con, через що маленький Біллі какав рідким лайненцем дуже комплексував, тому і заборонив таке неподобство у своїй операційній системі.

Але насправді, слово CON, наряду із NUL, LPT1, COM1 та інш. прийшло у Вінду із старого ДОСу, де вони виконували важливу роль. Наприклад, CON — означав Console. Відповідно, копіювання файла в CON означало виівд його на екран.

Аналогічно, копіювання в LPT1, кидало файл на перший LPT порт [1] (частіше всього означало друк). Відповідно, називати папки таими службовими назвами заборонялось. Windows за 26 років свого життя пройшов 16, 32 та перейшов в 64-бітну епоху. Підтрика старих аплікацій, елементів ГУІ, не кажучі вже про усілякі драйвери ти системні служби, мінялася багато разів. А от на CON Біллі не зміг замахнутись. Чому?

Важко сказати, проте є теорія. Всі ці CON’и, а також всі інші команди, формати фалйів і взагалі майже все, що було в перших ДОСах прийшло із CP/M. Як відомо, Microsoft, старається не змінювати працюючий відлагоджений код.

Отже, можна зробити висновок, що з 1981 року, в ОСях від M$ працюючим і відлагодженим кодом є тільки той, що був спертий із CP/M.

Примітки

  1. Як правило, порт під'єднання принтера

Див. також