Hacker News

Дада эчке сылтамаларны ничек эшли

Аңлатмалар

1 min read Via smallcultfollowing.com

Mewayz Team

Editorial Team

Hacker News

Дистә еллар дәвамында программалаштыру системаларын җыйган үз-үзен күрсәтү проблемасы

Әгәр дә сез график, икеләтә бәйләнгән исемлек яки катгый милек кагыйдәләре булган телдә күзәтүче үрнәге төзергә тырышкан булсагыз, сез авырту беләсез. Selfз-үзен күрсәтә торган мәгълүмат структуралары - структураның бер өлеше шул ук структураның бүтән өлешенә күрсәткеч тоткан урында - куркынычсыз белдерү авыр. Чүпрәле уйлап табучылар моның белән еллар буе көрәштеләр, Пин , куркынычсыз блокларга, яисә арена бүлеп бирүчеләргә чүп-чар җыелган телләрдә кечкенә хисләр үрнәкләрен модельләштерү өчен. Дада, Нико Мацакис ясаган эксперименталь программалаштыру теле, бөтенләй башка карашта. Хуҗалыкны һәм җирдән рөхсәтне яңадан карап, Дада хәтер куркынычсызлыгын корбан итмичә эчке сылтамалар бирә - һәм нәтиҗәләре академик кызыксынудан ераклаша.

Эчке сылтамалар нәрсә ул һәм ни өчен алар мөһим?

Эчке белешмә мәгълүмат структурасы эчендәге кыр шул ук структурасы эчендә бүтән кырны күрсәткәндә барлыкка килә. Чыганак сызыгын да, телемне дә тотып торган парсерны яки хәзерге вакытта тупланган балага күрсәткеч белән бергә балалар виджетлары исемлеген саклаучы UI компонентын карагыз. Бу калыплар реаль дөнья программаларында даими күренәләр: вакыйгалар системалары, документ модельләре, конфигурация агачлары, эш процесслары двигательләре барысы да үз-үзләренә сылтамаларга таяналар.

Python яки JavaScript кебек телләрдә чүп җыю бухгалтерлыкны күзгә күренми. Сез белешмәлек ясыйсыз, һәм эш вакыты хәтер аңа берәр нәрсә күрсәткәнче исән калуны тәэмин итә. Ләкин нуль бәяле абстракцияләрне һәм детерминистик ресурслар белән идарә итүне өстен күргән система телләрендә, компиляор сылтама күрсәткән мәгълүматлардан өстен булмаячагына дәлил кирәк. Монда әйберләр катлаулана - һәм күпчелек хуҗалыкка нигезләнгән телләр уйлап табучыларны уңайсыз эшләргә мәҗбүр итә, алар ниятне яшерә һәм нечкә хаталар кертә.

Авырлык теоретик кына түгел. Командалар модульле платформалар төзиләр - Мевайз артындагы 207-модуль архитектурасы кебек - эчке сылтамаларга даими бәйле. CRM модуле бер үк мәгълүмат контекстындагы язмаларга сылтама, линия әйберләрен ата-аналар документына тоташтыручы счет-фактура двигателе, яки уртак дәүләт объекты эчендә тере мәгълүмат агымнарын күрсәтүче аналитик такта: болар барысы да масштабта эшләгән эчке белешмә үрнәгенең реаль дөнья очраклары.

Традицион милек модельләре ничек кыска була

Рөстәмнең заем тикшерүчесе - заманча тел дизайнындагы иң танылган яңалыкларның берсе, компиляция вакытында хәтер хаталарының бөтен категорияләрен бетереп. Ләкин аның каты бер хуҗасы, бурычка алу яки күчерү семантикасы эчке сылтамаларны чыннан да авырттыра. Структур хәтердә күчерелгән мизгелдә теләсә нинди эчке күрсәткеч яраксыз була. Рөстәмнең җавабы - 1.33 версиясендә кертелгән Пин API - кыйммәтнең хәрәкәтләнмәвен гарантияләү механизмы бирә, ләкин ул туры модельләштерү бурычы булырга тиеш булган катлаулылыкны катлауландыра.

Төзүчеләр еш вакытның 30-40% вакытын үз-үзләрен күрсәтү үрнәкләре буенча бурыч тикшерүче белән көрәшү турында хәбәр итәләр. Арена бүлеп бирү китапханәләре типтагы арена һәм индекска нигезләнгән алымнар (сез индексларны Vec'ка саклыйсыз), прагматик, ләкин камил булмаган карарлар. Алар компиляр тикшерә ала торган турыдан-туры сылтамаларның экспрессивлыгын сәүдә итәләр, ләкин казан өчен ачыклыкны сәүдә итәләр.

"Иң яхшы тел үзенчәлеге - дөрес үрнәкне язу өчен иң җиңел үрнәк. Эшләүчеләр эш юлларына мөрәҗәгать итсәләр, бу тел моделе һәм аларның психик моделе төрле булган дигән сүз." - Нико Мацакис, Дада артындагы дизайн фәлсәфәсе буенча

Дадага хуҗалык итүгә рөхсәт алымы

Дада хуҗалыкны икеләтә үз-үзеңә алу карары итеп түгел, ә рөхсәт спектры итеп үзгәртә. Милекне күчерү яки вакытлыча бурычлар булдыру урынына, Dada кыйммәтләргә рөхсәт аннотацияләрен йөртергә рөхсәт итә, алар белән сез нәрсә эшли алуыгызны - укырга, язарга яки үзегезгә ия булырга - һәм критик яктан, бу рөхсәтләр бер үк мәгълүмат структурасының бер-берсенә капланган өлешләрендә бергә булырга мөмкин.

Төп төшенчәләр - аренда төшенчәсе. Дададагы аренда кыйммәткә вакытлыча рөхсәт бирә, ә төп хуҗасы үз хокукларын саклый. Рөстәм заемнарыннан аермалы буларак, аренда табигый рәвештә эчке структурасы белән эшләнгән. Структура өлкәсен арендага биргәндә, Dada тибы системасы арендага ата-ананың гомеренә кадәр ачыкланганын аңлый. Бу Рөстәм функциясе имзаларын укуны кыенлаштыра торган 'a гомерлек параметр чылбырларын бетерә.

Эчке сылтамалар өчен, Дада тел дип атаганны кертә эчке юллар белән уртак аренда . Структур үз өлкәләренең берсенә арендага бирә ала, чөнки компиляр контейнер белән булган мәгълүматлар арасындагы бәйләнешне беренче класс концепциясе буларак күзәтә. Пинга, куркынычсызлыкка, индекска нигезләнгән индексациягә ихтыяҗ юк. Сез кодны мәгълүмат турында уйлаганча язасыз, һәм компиляр аны раслый.

Дадада вак-төяк булган практик үрнәкләр

Эчке сылтамалар чиста кушылган очракта, берничә тарихи катлаулы үрнәк тормышка ашырыла. Бу производство системалары көн саен очрый торган үрнәкләр:

    • Күзәтүче үрнәкләре - Rc / RefCell төргәкләре булмаган реактив программалаштыру мөмкинлеген бирә торган, үз халәтенә сылтамалар исемлеген алып барган вакыйга эмитеры
    • Курсорлар белән документ модельләре - буферны да, аңа күрсәткән бер яки берничә курсор позициясен үз эченә алган текст редакторының документ структурасы
    • Ата-ана-балалар иерархиясе - Агач структуралары, анда балалар ата-аналар төененә сылтамалар тоталар, зәгыйфь күрсәткечләр яки күрсәткечләр аша түгел, ә турыдан-туры модельләштерелгән
    • Дәүләт машиналары белән эш процессы двигательләре - хәзерге этапны, алдагы нәтиҗәләрне һәм көтелгән чараларны бердәм мәгълүмат моделе кысаларында күрсәтүче торба структурасы

    Платформа архитекторлары өчен бу үрнәкләр чит очраклар түгел - алар модульле программаларның таянычы. Mewayz инженер коллективы эш процессын төзүчеләр яки проект белән идарә итү модулында реаль вакыттагы хезмәттәшлек кебек үзенчәлекләр төзегәндә, төп мәгълүмат модельләре котылгысыз рәвештә үз-үзен күрсәтүче структураларны үз эченә ала. Бу үрнәкләр белән эш итүче телләр һәм рамкалар үсеш вакытын матур итеп кыскарталар һәм хаталар өчен өслек мәйданын минимальләштерәләр.

    💡 DID YOU KNOW?

    Mewayz replaces 8+ business tools in one platform

    CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

    Start Free →

    Программа архитектурасына киңрәк йогынты

    Даданың эчке сылтамаларга карашы программалаштыру теленең дизайнында зуррак тенденцияне күрсәтә: куркынычсыз үрнәкләрне мөмкин түгел, эргономик ясау . Бу фәлсәфә заманча программа архитектурасы өчен турыдан-туры нәтиҗәләргә китерә. Тел үрнәкне җиңеләйткәндә, аны эшләүчеләр аны кулланалар. Бу үрнәкне авырттырганда, уйлап табучылар аннан кача - кайвакыт архитектура ачыклыгы бәясенә.

    Модульле монолит бәхәсенә каршы микросервисларны карагыз. Командаларның системаларны аерым хезмәтләргә бүлүенең бер сәбәбе - бер процесс кысаларында уртак дәүләт белән идарә итү катлаулылыгыннан саклану. Ләкин тел уртак дәүләт үрнәкләрен куркынычсыз һәм укырлык итә икән, вакытыннан алда черү аргументы зәгыйфьләнә. Командалар бердәм, модульле системалар төзи алалар - 50, 100, хәтта 207 үзара бәйләнгән модульләр белән - бер урнаштырыла торган берәмлек эчендә, таратылган системаларның оператив өстенлеге булмаса, модульлекнең оештыру өстенлекләренә ирешәләр.

    Нәкъ менә архитектура Mewayz кебек платформаларны куәтли, монда CRM, фактура, хезмәт хакы, кадрлар, флот белән идарә итү, аналитика модульләре бердәм мәгълүмат контекстында эшли. Eachәрбер модуль уртак субъектларга - контактларга, оешмаларга, операцияләргә - эчке мөнәсәбәтләр аша хезмәт күрсәтү чикләрен идарә итү өчен төнге булырга мөмкин, ләкин яхшы структуралы монолит эчендә табигый. Бу эчке сылтамаларны гадиләштерә торган тел дизайнындагы алгарышлар бу программа программасына турыдан-туры файда китерә.

    Төзүчеләр нәрсә карарга тиеш

    Дада эксперименталь булып кала, һәм аның идеялары әле дә җәмәгать үсеше һәм җәмгыятьнең фикерләре аша чистартыла. Шулай да, аның берничә инновациясе төп тел дизайнына йогынты ясый. Рөстәмнең карау төрләре һәм полониус өстендә эшләве (киләсе буын заем тикшерүче) шул ук тикшеренү мәйданыннан төшенчәләр ала. Swift 5.9-да кертелгән Swift-ның милек моделе шулай ук ​​күбрәк гранул рөхсәт системаларын өйрәнә. Хәтта TypeScript тибы системасы мәгълүмат мөнәсәбәтләрен төгәл модельләштерүгә таба үсешен дәвам итә.

    Бүген җитештерү программаларын төзүче командалар өчен практик алымнар ачык. Беренчедән, аларның модельләрен сезнең модель белән тәңгәлләштерүче телләргә һәм рамкаларга өстенлек бирегез - тип системасына каршы көрәш - җитештерүчәнлек салымы, вакыт узу белән кушыла. Икенчедән, сезнең домен таләп иткән үрнәкләрне аңларга инвестицияләгез. Әгәр дә сезнең заявка төптән бәйләнгән субъектларның графигы булса (күпчелек бизнес платформалары кебек), агач формасындагы эшләрне мәҗбүр итү урынына графикларны модельләштерүче коралларны сайлагыз.

    Ниһаять, Дадага һәм ул күрсәткән тикшеренүләргә игътибар итегез. Ул чишә торган проблемалар - эчке сылтамалар, рөхсәт составы, эргономик куркынычсызлык - төп проблема түгел. Алар масштаблы, үзара бәйләнгән программа төзегәндә, һәр команда очраткан төгәл проблемалар. Сез җибәрү машиналары паркы белән идарә итәсезме, күп баскычлы торба үткәрәсезме, яисә 207 модульле бизнес-платформа аша мәгълүматны синхронлаштырасызмы, сезнең коралларның эчке мөнәсәбәтләрне эшкәртү ысулы алар өстендә төзегәннәрнең сыйфатын формалаштыра.

    Тел теориясеннән бизнес чынбарлыгына

    Программалаштыру телен тикшерү бизнес алып баруның көндәлек чынбарлыгыннан ерак тоелырга мөмкин. Ләкин без кулланган кораллар без төзегән продуктларны формалаштыра, һәм без ясаган продуктлар бизнесның эшләвен формалаштыра. Эчке белешмә проблемага Даданың өлеше техник этап кына түгел - бу тармакның компилятор кебек уйларга мәҗбүр итү урынына, уйлап табучыларның мәгълүмат турында ничек уйлаганнарын хөрмәт итүче коралларга таба баруы турында сигнал.

    Mewayz кебек платформалар кулланган 138,000+ бизнес өчен, бу прогресс ышанычлырак, үзенчәлекле, үсеш өчен тизрәк программа тәэминаты дигән сүз. Программалаштыру телләренең катлаулылыгын ничек эшләвенең һәр камилләшүе, ахыр чиктә, соңгы кулланучы өчен яхшырак тәҗрибәгә - аларның CRM, фактурасы һәм бронь системаларының бердәм эшләвен теләгән кече бизнес хуҗасы. Бу өзексезлек меңләгән яхшы модельле эчке сылтамаларның продукты, һәм Дада кебек телләр аларны куркынычсызрак һәм төзү җиңелрәк итә.

    Mewayz белән бизнесыгызны тәртипкә китерегез

    Мевайз бер платформага 207 бизнес модулын китерә - CRM, фактура, проект белән идарә итү һ.б. Эш процессын гадиләштергән 138,000+ кулланучыга кушылыгыз.

    Бүген бушлай башлау →