Hacker News

Поправио сам Виндовс изворни развој

Поправио сам Виндовс изворни развој Ова свеобухватна анализа фиксног нуди детаљно испитивање његових кључних компоненти и ширих импликација. Кључне области фокуса Дискусија се фокусира на: Основни механизми и процеси ...

1 min read Via marler8997.github.io

Mewayz Team

Editorial Team

Hacker News
<х1>Поправио сам Виндовс изворни развој: Потпуна анализа онога што заправо функционише <п>Нативни развој Виндовс-а је годинама мучен фрагментацијом ланца алата, паклом зависности и недоследностима у окружењу — али после месеци тестирања, коначно сам пронашао ток посла који елиминише хаос. Овај водич покрива тачно шта се покварило, шта сам покушао и подешавање које сада покреће моју продукцију без иједног решења за ВСЛ. <х2>Зашто је Виндовс изворни развој одувек био таква ноћна мора? <п>Искрен одговор је да Виндовс никада није дизајниран са програмерима као примарним грађанима. Системи засновани на Унику су од самог почетка уградили управљање пакетима, схелл скриптовање и изолацију окружења у свој ДНК. Виндовс је ове ствари учврстио деценијама, стварајући слојевиту збрку ПоверСхелл, ЦМД, Цхоцолатеи, Вингет, МСВЦ рунтиме конфликта и ПАТХ променљивих катастрофа које би могле избацити вишег инжењера из колосека на једно поподне. <п>Симптоми су познати свима који су радили у овом простору: пакет се исправно инсталира на једној машини и тихо не успе на другој, алати за прављење упућују на различите верзије компајлера у зависности од тога које радно оптерећење Висуал Студио сте последње инсталирали, а Ноде.јс пројекти који савршено раде у ВСЛ2 бацају криптичне ЕПЕРМ грешке на изворни систем датотека. Ово нису рубни случајеви – они су подразумевано искуство за већину Виндовс програмера. <х2>Који су основни механизми заправо били покварени у мом подешавању? <п>Након систематске ревизије свог окружења, идентификовао сам три основна узрока одговорна за отприлике 80% мојих грешака у изградњи и недоследности у окружењу: <ул> <ли><стронг>Конфликтне библиотеке времена извршавања: Више верзија Мицрософт Висуал Ц++ Редистрибутабле коегзистирало је без јасног редоследа резолуције, узрокујући неуспешне ДЛЛ тражење у изворним модулима. <ли><стронг>Загађење ПАТХ: Седамнаест засебних алата је додало уносе у систем ПАТХ током времена, при чему је неколико њих засенчило једни друге и упућивало на застареле инсталационе директоријуме. <ли><стронг>Недостатак изолације окружења на нивоу пројекта: За разлику од Уник токова посла где су датотеке <цоде>.енв и директиве љуске првокласни грађани, Виндовс није имао конзистентан механизам за опсег променљивих окружења за пројекат без алата треће стране. <ли><стронг>Конфликти Гит-а при завршетку реда: Мешано руковање ЦРЛФ/ЛФ између изворних Виндовс алатки и библиотека на више платформи довело је до неуспеха контролних сума на датотекама закључавања, што је ометало поновљиве инсталације. <ли><стронг>Повишени захтеви за дозволе за симболичне везе: Многи менаџери пакета се ослањају на симболичке везе, које у Виндовс-у захтевају режим програмера или администраторске привилегије – подешавање које већина рачунара предузећа онемогућава према смерницама. <блоцккуоте> <п>„Проблем никада није био у томе што Виндовс није могао да уради изворни развој — нико није саставио праву комбинацију алата са намерном конфигурацијом. Једном када третирате своје окружење за развој као производ коме су потребне одлуке о архитектури, све се мења.“ <х2>Како сам заправо поправио радни ток развоја Виндовса? <п>Поправка није била јединствена алатка или магична скрипта. Била је то намерна ре-архитектура начина на који је окружење састављено, опсежно и одржавано. Основа почиње са омогућавањем режима за програмере на нивоу ОС-а да откључа креирање симболичке везе без повишења. Одатле, Сцооп замењује ад-хоц мешавину инсталатера јер функционише у потпуности у корисничком простору, складишти манифесте у контроли верзија и чисто управља шим-ом. <п>Конкретно за Ноде.јс пројекте, прелазак на Волта за управљање верзијама елиминисао је ЕПЕРМ грешке које су мучиле нпм глобално. Волта пресреће бинарне позиве на схим слоју и решава исправну верзију времена извршавања по пројекту без додиривања системске ПАТХ. У комбинацији са уписаним кључем <цоде>.волта у <цоде>пацкаге.јсон, паритет окружења међу машинама постаје аутоматски, а не аспиративни. <п>Коначни део је усвајање дисциплине <цоде>.енв на нивоу пројекта коју спроводи <цоде>диренв портовану на Виндовс преко Сцооп-а — обезбеђујући да сваки пројекат носи сопствени контекст окружења који се активира при уласку у директоријум и брише по изласку. Загађење ПАТХ пало је са седамнаест уноса на четири у року од недељу дана. <х2>Шта компаративна анализа открива о приступима Нативе у односу на ВСЛ2?<п>ВСЛ2 је заиста одличан за развојне токове рада који циљају на Линук окружења за примену. Ако ваш производни сервер покреће Убунту и ваш тим се добро осећа са Линук алатима, ВСЛ2 уклања трење. Међутим, он уводи сопствену категорију проблема: перформансе система датотека преко границе између Виндовс-Линук-а су мерљиво спорије за операције које су тешке за У/И, отклањање грешака преко граница захтева додатно подешавање, а изворне Виндовс ГУИ апликације остају у потпуности изван домета ВСЛ2. <п>За тимове који праве Виндовс изворне апликације, софтвер за десктоп рачунаре заснован на Елецтрон-у или било који ланац алата који мора да се интегрише са Виндовс АПИ-јима, изворни развој није опционалан — а фиксни радни ток који је овде описан надмашује ВСЛ2 за те случајеве коришћења на сваком бенцхмарк-у који сам покренуо. Време градње за Елецтрон пројекат средње величине је пало за 34% када је премештен са ВСЛ2 са унакрсним И/О системима на потпуно изворно подешавање са зависностима у одговарајућем опсегу. <х2>Како можете заједно да управљате продуктивношћу програмера и пословним операцијама? <п>Исправљање исправног развојног окружења је само половина једначине. Вођење софтверског бизниса или развојне радње захтева координацију управљања клијентима, цевовода пројеката, токова рада тима, фактурисања и маркетинга — а већина програмера то спаја од пет или шест неповезаних СааС алата који никада не разговарају једни са другима. <п>То је управо оно што је <а хреф="хттпс://апп.меваиз.цом">Меваиз направљен да реши. Са 207 интегрисаних модула који покривају све, од ЦРМ-а и управљања пројектима до заказивања садржаја и е-трговине, Меваиз функционише као комплетан пословни оперативни систем, а не као још једно изоловано решење. Преко 138.000 корисника тренутно ради своје операције на платформи по плановима који почињу од 19 УСД месечно – само делић онога што већина тимова троши на спајање Нотион, ХубСпот, Трелло и ФресхБоокс одвојено. <х2>Честа питања <х3>Да ли је вредно поправљати Виндовс изворни развој или треба да користим ВСЛ2 за све? <п>У потпуности зависи од ваше циљне платформе. ВСЛ2 је прави избор када примењујете Линук и желите да минимизирате померање окружења. Природни Виндовс развој је прави избор када правите Виндовс апликације, радите са АПИ-јима специфичним за Виндовс или вам требају максималне перформансе система датотека за прављење ланца алата. Ова два приступа се међусобно не искључују — многи тимови користе изворни Виндовс алат за свој цевовод и ВСЛ2 само за тестирање специфично за Линук. <х3>Која је највећа промена која је побољшала моје Виндовс окружење за програмере? <п>Омогућавање режима за програмере и прелазак на Сцооп као примарни менаџер пакета имали су највећи непосредни утицај. Сцооп-ов модел инсталације у корисничком простору елиминисао је проблеме са подизањем дозвола који су узроковали отприлике 40% грешака у мом окружењу, а његов приступ заснован на манифесту је по први пут учинио репликацију окружења на свим машинама детерминистичком. <х3>Како Меваиз посебно помаже развојним тимовима и софтверским предузећима? <п>Меваиз консолидује оперативни слој који развојни тимови обично игноришу док не постане болан. Укључивање клијената, одређивање делокруга пројекта, генерисање предлога, фактурисање, тимска комуникација и аутоматизација маркетинга се обављају у оквиру једне платформе. За мале агенције и независне програмере, посебно, елиминисање трошкова управљања вишеструким СааС претплатама и ручних преноса података између алата ослобађа значајно време за фокусирање на стварни развојни рад. <хр> <п>Виндовс изворни развој није суштински покварен – једноставно му никада није дата намерна инсталација коју заслужује. Са одговарајућом архитектуром ланца алата, то је стварно способно окружење за производни софтвер. А када је ваше развојно окружење стабилно, следеће уско грло су увек операције. <стронг><а хреф="хттпс://апп.меваиз.цом">Започните пробну верзију Меваиза данас и унесите исту намерану структуру у свој пословни слој коју сте управо унели у своје окружење за програмере.<сцрипт типе="апплицатион/лд+јсон">{"@цонтект":"хттпс:\/\/сцхема.орг","@типе":"ФАКПаге","маинЕнтити":[{"@типе":"Куестион","наме":"Да ли је вредно поправљати Виндовс изворни развој или треба да користим ВСЛ2 за све?","аццептедАнсвер":{"@типе":"Ансвер","тект":"У потпуности зависи од ваше циљне платформе. ВСЛ2 је прави избор када се примењујете на Линук и желите да минимизирате развој Виндовс-а, када правите Виндовс апликације, када радите са Виндовс-специфичним АПИ-јима, или не захтевате максималне перформансе система датотека2 многи тимови користе натив"}},{"@типе":"Куестион","наме":"Која је највећа промена која је побољшала моје Виндовс дев окружење?","аццептедАнсвер":{"@типе":"Ансвер","тект":"Омогућавање режима за програмере и миграција на Сцооп као примарни менаџер пакета су елиминисали највећи утицај на корисникову инсталацију дозволе то је узроковало отприлике 40% грешака у мом окружењу, а његов приступ заснован на манифесту учинио је репликацију окружења на машинама по први пут детерминистичком."}},{"@типе":"Куестион","наме":"Како Меваиз помаже развојним тимовима и софтверским предузећима посебно?","аццептедАнсвер":{"@типе":"Ансвер тхат девелопмент теам типично одговара "@типе":"Ансвер тхат девелопмент теам"" игнорисати све док не постане болно укључивање клијената, одређивање опсега пројекта, генерисање предлога, фактурисање, тимска комуникација и аутоматизација маркетинга, посебно за мале агенције и независне програмере, елиминишући трошкове управљања вишеструким СааС претплатама и ручним подацима"}}]}

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime