paint-brush
The Frameworks Dilemmany@luminousmen
Tantara vaovao

The Frameworks Dilemma

ny luminousmen7m2024/09/26
Read on Terminal Reader

Lava loatra; Mamaky

Amin'ny maha-mpamorona azy, ny frameworks dia matetika no zavatra voalohany alainao rehefa te hanafaingana ny zavatra ianao ary hitazona ny zavatra azo antoka.
featured image - The Frameworks Dilemma
luminousmen HackerNoon profile picture

Amin'ny maha-mpamorona azy, ny frameworks dia matetika no zavatra voalohany alainao rehefa te hanafaingana ny zavatra ianao ary hitazona ny zavatra azo antoka. Matetika ny olona no miresaka momba ny rafitra toy ny vahaolana tonga lafatra afaka mamaha ny olanao rehetra, mahatonga ny fampandrosoana haingana kokoa, mora kokoa ary mahomby kokoa. Na izany aza, raha manana traikefa eo ambanin'ny fehikibo ianao, dia fantatrao fa ny rafitra dia tsy vahaolana tokana mety amin'ny rehetra. Ny fisafidianana ny tsara dia afaka manamora ny asanao, fa ny safidy diso dia mety hiteraka aretin'andoha eny an-dalana, mampiadana anao rehefa mila mihetsika haingana ianao.


Ato amin'ity lahatsoratra bilaogy ity, dia hiditra ao anatin'ireo fanamby sy paikady tena izy amin'ny fisafidianana sy ny fampiasana frameworks isika. Hojerentsika ny mety ho fandrika, ny fomba hialana amin'izany, ary ny fomba hitazonana ny code base-nao ho mora miovaova — na dia eo aza ny rafitra iray.

Ny Fifandraisana Tsy Fantatrao Fa nidiranao

Ny fanoloran-tena amin'ny rafitra iray dia mitovy amin'ny fidirana amin'ny fifandraisana maharitra. Ary tsy tokony hohamaivanina izany. Tsy toy ny tranomboky tsotra na fitaovana kely, ny frameworks dia misy hevitra - maro amin'izy ireo. Izy ireo dia mametraka rafitra sy fomba fiasa amin'ny fampiharanao, na tianao izany na tsia.


Ny fanoloran-tena maharitra amin'ny Frameworks


Zava-dehibe ny mitadidy fa manana ny laharam-pahamehany manokana ny mpamorona framework. Mamaha ny olany ry zareo fa tsy ny anao. Tsy manana trosa aminao izy ireo (raha tsy hoe, mazava ho azy, manana namana ao amin'ny ekipan'ny rafitra anatiny ianao, raha izany, tsara vintana ianao). Raha mandeha mianatsimo ny zava-drehetra, indrindra fa ao anatin'ny tetikasanao, dia mety ho ao anatin'ny tontolon'ny ratram-po ianao. Ankehitriny ianao dia mijanona amin'ny fanamboarana azy, na ratsy kokoa, mandrovitra azy tanteraka.


Tsy mahafinaritra, sa tsy izany?


Noho izany alohan'ny hamatotra ny tenanao amin'ny rafitra iray, ataovy azo antoka fa tena mifanaraka amin'izay ilainao izany. Raha tsy izany dia manodina ny daoly ianao.

Olana FAANG

Tsy fantatry ny mpanoratra raha lasa MAANG, MANGA i FAANG, na hoe ao anaty anime fotsiny isika izao.

Eto no tena zava-dehibe ny traikefa. Rehefa mitombo haingana ny orinasa dia matetika izy ireo no miatrika fanamby izay tsy zakain'ny vahaolana ivelan'ny talantalana. Ny haben'ireo olana ireo dia manery azy ireo hamorona ny fitaovany manokana - angon-drakitra manokana, motera ETL, fitaovana BI - anaranao izany. Ireo goavam-be Tech toa an'i Google, LinkedIn, Spotify, ary Netflix dia nitarika ny lalana, fananganana ary fitaovana misokatra ho an'ny sisa amintsika ankehitriny.


Saingy izao no zava-misy: ireo fitaovana ireo dia tsy natao ho an'ny rehetra. Izy ireo dia noforonina mba hamahana olana manokana izay tsy ho hitan'ny ankamaroan'ny orinasa. Efa zatra miatrika ireo karazana fanamby ireo ireo injeniera niasa tao amin'ireo orinasa lehibe ireo — nanamboatra vahaolana izay miasa amin'ny ambaratonga tsy takatry ny sain'ny ankamaroantsika. Noho izany rehefa mifindra any amin'ny orinasa madinika izy ireo, ny rafitra sy ny fanapahan-kevitry ny fitaovana raisin'izy ireo dia mifototra amin'ny fahatakarana lalina ny hery sy ny fandrika amin'ireo teknolojia ireo.

Pushback Against Frameworks

Tato ho ato, nisy fikomiana kely nipoitra — efa leo ny rafitra ny olona. Indrindra amin'ny tontolon'ny JavaScript, leon'ny churn tsy tapaka ny developer. Efa hitanao angamba izany: isaky ny milatsaka ny fanavaozam-baovao lehibe dia tsy maintsy manoratra ampahany manan-danja amin'ny codebase-nao ianao mba hijanonana ho manan-danja. Ary aza atombohy amin'ny tsingerina tsy misy fiafarany amin'ny fanovana tsy misy farany aho.


Izany fahasorenana izany dia niteraka fifohazana ireo antontam-bato tsotra sy marin-toerana kokoa. Ny zavatra toy ny vanila HTML, CSS, jQuery, PHP, ary SQLite dia miverina eo amin'ireo mpamorona izay manao laharam-pahamehana amin'ny fanaovana zavatra noho ny mijanona amin'ny sisin'ny teknolojia. Eny, mety ho toy ny “sekoly tranainy” izy io, saingy tsy lany andro. Miaraka amin'ny stack tsotra kokoa, azonao atao ny mamerina haingana sy mandefa haingana kokoa. Azo antoka fa manana ny toerany ny rafitra vaovao toa an'i React, Node.js, ary Flask, saingy indraindray tsy mila ireo zavatra raitra rehetra ianao. Indraindray, mifikitra amin'izay miasa dia afaka hamonjy anao be dia be ny aretin'andoha.

Ny Framework Industrial Complex?

Lasa... mihoapampana ve ny rafitra? Sarotra ny tsy mahamarika fa ny rafitra sasany dia toa fitaovana natao hisarika ny famatsiam-bola VC noho ny famahana ny olan'ny mpamorona. Tahaka ny misy tontolo iainana iray manontolo manosika ny mpamorona ho ao anatin'ireo rafitra ireo, mba ho tsapan'izy ireo any aoriana fa rehefa mihalehibe izy ireo dia voahidy ao anaty sehatra lafo vidy. Mazava ho azy, ny rafitra toa an'i Databricks dia loharano misokatra ary afaka atomboka, fa rehefa mihalehibe ianao, dia voasarika amin'ny vahaolana ho an'ny orinasa. Ary tampoka teo, ny vidin'ny fampiantranoana sy ny fampandehanana anao dia eo amin'ny tafo, raha toa ka ampy ny VPS tsotra.


Toa fandrika ihany izany, sa tsy izany?

Fanemorana ny fanapahan-kevitry ny Framework

Ity misy toro-hevitra izay ianianako: aza maika amin'ny fisafidianana rafitra . Aza manolo-tena mandra-pahafeno tanteraka ny rafitrao.


Ny rafitra dia tokony ho ny zavatra farany mampanahy anao fa tsy ny voalohany.


Voalohany, ataovy azo antoka fa mafy orina ny maritranonao. Fantaro ny singa fototrao sy ny fomba hifandraisany. Rehefa azonao izany dia azonao atao ny manombatombana ireo rafitra miaraka amin'ny fahatakarana mazava ny toerana mety hisy azy ireo - na raha mifanaraka mihitsy aza izy ireo.


Ity fomba fiasa ity dia miantoka fa mafy orina sy mifanaraka amin'ny filanao manokana ny famolavolanao. Rehefa tonga ny fotoana handinihana rafitra iray dia ho hitanao mazava tsara hoe aiza no hanatsara ny maritranonao nefa tsy mametra azy io.


Alohan'ny hidiranao amin'ny fampiasana rafitra iray dia manontania tena: tena mila izany ve ianao? Azo antoka fa afaka manampy sosona automatique sy fanamorana ny frameworks, saingy tonga miaraka amin'ny fetrany ihany koa izy ireo. Raha manana fepetra tsy manam-paharoa ny fampiharanao dia mety tsy hilalao tsara amin'izy ireo ny frameworks.


Eritrereto ela sy mafy momba ny tombontsoa maharitra manohitra ny fetra.

Mamorona Frameworks azo lany

Raha manapa-kevitra ianao fa mety hampidi-doza ny rafitra iray, ataovy azo antoka fa mora ny manolo azy. Eny, marina ny henonao. Manaova flexibilité kely ka raha mila manilika azy any aoriana ianao dia tsy asa goavana izany. Toy izao ny fomba:

Abstract ny fiankinanao

Esory tsy ho ao anatin'ny kaody fototra ny tanana kely maloto ao amin'ny framework. Mampiasà interface tsara mba hamaritana ny fiasan'ny framework mba tsy hiankina mivantana amin'ny framework ny lojikan'ny orinasanao.


Aoka hatao hoe mampiasa TensorFlow ianao amin'ny fianarana milina. Raha tokony hampidirina ny kaody TensorFlow mandritra ny fampiharanao manontolo, farito ny fifandraisana mba hitazonana ny zavatra ho madio sy tsy misy dikany:

 from abc import ABC, abstractmethod import tensorflow as tf class ModelTrainer(ABC): @abstractmethod def train(self, data): pass class TensorFlowTrainer(ModelTrainer): def train(self, data): # TensorFlow-specific training logic model = tf.keras.models.Sequential([...]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy') model.fit(data, epochs=5) return model


Amin'ny fanaovana izany, ny lojika fototrao dia tsy mifamatotra amin'ny TensorFlow. Raha mila mifindra any amin'ny rafitra fianarana milina hafa ianao, dia resaka famadihana ny fampiharana fotsiny izany.

Dependency Injection (DI) no namanao

Manaraka, andao hiresaka momba ny Dependency Injection (DI). Ity teknika ity dia ahafahanao mampiditra fampiharana manokana amin'ny fifandraisanao ao amin'ny kilasinao, mitazona ny codebase-nao ho voavaha sy modular.

 class TrainingPipeline: def __init__(self, trainer: ModelTrainer): self.trainer = trainer def execute(self, data): return self.trainer.train(data) # Inject the TensorFlowTrainer implementation pipeline = TrainingPipeline(TensorFlowTrainer())


Amin'izao fotoana izao, ny kaodinao dia miovaova, mora andramana, ary vonona amin'izay mety hitranga amin'ny ho avy.

Raiso ny Inversion of Control (IoC)

Ho an'ny fahaleovan-tena farany indrindra, raiso ny zava-drehetra miaraka amin'ny Inversion of Control (IoC). Ity lamina ity dia ahafahanao mamaritra ny fampiharana amin'ny rakitra fanamafisana na toerana afovoany ao amin'ny codeo. Izy io dia ny serizy eo an-tampon'ny rafitra agnostikao.


Ity misy ohatra iray amin'ny fomba mety hiasa amin'ny fomba fiasa mifototra amin'ny configuration:

 # config.py class Config: TRAINER = 'my_project.trainers.TensorFlowTrainer' # main.py import importlib class TrainingPipeline: def __init__(self, trainer_class: str): module_name, class_name = trainer_class.rsplit('.', 1) module = importlib.import_module(module_name) trainer_cls = getattr(module, class_name) self.trainer = trainer_cls() def execute(self, data): return self.trainer.train(data) # Inject the trainer specified in the configuration from config import Config pipeline = TrainingPipeline(Config.TRAINER)


Ankehitriny, raha mila manolo ny TensorFlow amin'ny rafitra fianarana milina hafa ianao, dia manavao fotsiny ny fanitsiana ary tohizo. Tsy misy manahirana, tsy misy drama.

Famaranana

Tsarovy fa ny frameworks dia tokony hanompo ny maritranonao fa tsy handidy azy. Miaraka amin'ny drafitra tsara sy ny abstraction stratejika, afaka mijinja ny tombotsoan'ny frameworks ianao nefa tsy voafandrika amin'ny fiankinan-doha maharitra. Ny fika dia mijanona amin'ny fifehezana. Noho izany, amin'ny manaraka ianao dia hiditra ao anatin'ny rafitra iray, miverena ary ampahatsiahivo ny tenanao hoe: miantso ny tifitra eto ianao.


Vonona ny haratra


Misaotra anao namaky!


Misy fanontaniana? Avelao ny fanehoan-kevitrao eto ambany hanombohana fifanakalozan-dresaka mahafinaritra!


Jereo ny bilaogiko na tongava miarahaba 👋 ao amin'ny Twitter na misoratra anarana amin'ny fantsona telegramako . Manomàna ny tsara indrindra!