አሥራ ሁለት ዓመታት የፈጀው የአንድ ትንሽ ፕሮጀክት ታሪክ (ስለ BIRMA.NET ለመጀመሪያ ጊዜ እና በእውነተኛነት)

የዚህ ፕሮጀክት መወለድ በ 2007 መገባደጃ ላይ የሆነ ቦታ ወደ እኔ የመጣ ትንሽ ሀሳብ ተደርጎ ሊወሰድ ይችላል ፣ እሱም የመጨረሻውን ቅጽ ከ 12 ዓመታት በኋላ ለማግኘት የታሰበ ነበር (በዚህ ነጥብ ላይ - በእርግጥ ፣ ምንም እንኳን የአሁኑ ትግበራ ፣ እንደ ለደራሲው, በጣም አጥጋቢ ነው) .

ይህ ሁሉ የተጀመረው በቤተ መፃህፍት ውስጥ ያለኝን ኦፊሴላዊ ግዴታዬን በማሟላት ሂደት ውስጥ ፣ ከተቃኘው የመጽሃፍ (እና የሙዚቃ) ይዘቶች ህትመቶች ህትመቶች መረጃን ወደ ነባሩ የውሂብ ጎታ የማስገባቱ ሂደት ትኩረት ስቧል ። በግልጽ እንደሚታየው ፣ እንደ የጽሑፉ ደራሲ ስም (ስለ መጣጥፎች ስብስብ እየተነጋገርን ከሆነ) ፣ ለግቤት የሚያስፈልጉትን የሥርዓት እና የተደጋጋሚነት ንብረቶችን በመጠቀም በከፍተኛ ሁኔታ ማቅለል እና አውቶማቲክ ማድረግ ይቻላል ። ጽሑፉ (ወይም በይዘቱ ሰንጠረዥ ውስጥ የተንፀባረቀው ንዑስ ርዕስ) እና የአሁኑ የይዘት ንጥሉ የገጽ ቁጥር። መጀመሪያ ላይ, ይህንን ተግባር ለማከናወን ተስማሚ የሆነ ስርዓት በበይነመረብ ላይ በቀላሉ ሊገኝ እንደሚችል በተግባር እርግጠኛ ነበርኩ. እንዲህ ዓይነቱን ፕሮጀክት ማግኘት ባለመቻሌ አንዳንድ አስገራሚ ነገሮች ሲፈጠሩ, እኔ በራሴ ተግባራዊ ለማድረግ ወሰንኩ.

ከአጭር ጊዜ በኋላ የመጀመሪያው ፕሮቶታይፕ መሥራት ጀመረ ፣ ወዲያውኑ በዕለት ተዕለት እንቅስቃሴዬ ውስጥ መጠቀም ጀመርኩ ፣ በተመሳሳይ ጊዜ በእጄ ላይ በመጡ ምሳሌዎች ላይ ማረም ጀመርኩ። እንደ እድል ሆኖ፣ በምንም መልኩ ፕሮግራመር ባልነበርኩበት በተለመደው የስራ ቦታዬ፣ አሁንም በስራዬ ውስጥ “የማሽቆልቆል” ጊዜን እያሳለፍኩ ሄድኩኝ ፣ በዚህ ጊዜ የአዕምሮ ልጄን በከፍተኛ ሁኔታ እያረምኩ ነበር - አሁን ባለው እውነታዎች ውስጥ ፈጽሞ የማይታሰብ ነገር ነው ፣ ይህም የሚያሳየው በቀን ውስጥ በተከናወነው ሥራ ላይ ዕለታዊ ሪፖርቶች. ፕሮግራሙን የማጥራት ሂደት በአጠቃላይ ከአንድ አመት ያላነሰ ጊዜ ፈጅቷል ፣ ግን ከዚያ በኋላ እንኳን ውጤቱ ሙሉ በሙሉ ስኬታማ ተብሎ ሊጠራ አይችልም - በጣም ብዙ የተለያዩ ፅንሰ-ሀሳቦች መጀመሪያ ላይ ለትግበራ ሙሉ በሙሉ ግልፅ ያልሆኑ ተዘርግተዋል-አማራጭ አካላት ተዘለለ; የንጥረ ነገሮችን ወደ ፊት ማየት (ቀደምት ክፍሎችን በፍለጋ ውጤቶች ውስጥ ለመተካት ዓላማ); እንደ መደበኛ አባባሎች (ልዩ አገባብ ያለው) የሆነ ነገርን ለመተግበር የራሳችን ሙከራ እንኳን። ከዚህ በፊት ፕሮግራሚንግ በተወሰነ መልኩ ትቼ ነበር ማለት አለብኝ (ለ 8 ዓመታት ያህል ፣ ከዚያ በላይ ካልሆነ) ፣ ስለዚህ ችሎታዬን ወደ አስደሳች እና አስፈላጊ ተግባር የመጠቀም አዲስ እድል ትኩረቴን ሳበው። የመነጨው ምንጭ ኮድ - በእኔ በኩል ለንድፍ ግልጽ የሆኑ አቀራረቦች በሌሉበት - በፍጥነት በ C ቋንቋ ውስጥ ከአንዳንድ የ C ++ አካላት እና የእይታ ፕሮግራሞች ገጽታዎች ጋር የማይታሰብ የማይታሰብ ብልሽት መሆኑ አያስደንቅም ። እንደ Borland C ++ Builder - "Delphi ማለት ይቻላል, ግን በ C" ውስጥ እንደዚህ ያለ የዲዛይን ስርዓት ለመጠቀም ተወስኗል. ይሁን እንጂ ይህ ሁሉ በመጨረሻ የቤተመፃህፍታችን የእለት ተእለት እንቅስቃሴን በራስ ሰር በማስተካከል ፍሬ አፍርቷል።

በተመሳሳይ ጊዜ ፕሮፌሽናል ሶፍትዌር ገንቢዎችን ለማሰልጠን ኮርሶችን ለመውሰድ ወሰንኩኝ. እዚያ ከባዶ “ፕሮግራመር መሆንን” መማር ይቻል እንደሆነ አላውቅም፣ ነገር ግን በዚያን ጊዜ የነበሩትን ችሎታዎች ከግምት ውስጥ በማስገባት በዚያን ጊዜ የበለጠ ተዛማጅነት ያላቸውን ቴክኖሎጂዎች በተወሰነ ደረጃ ማወቅ ችያለሁ። እንደ C # ፣ ቪዥዋል ስቱዲዮ ለልማት በ NET ፣ እንዲሁም አንዳንድ ከጃቫ ፣ ኤችቲኤምኤል እና SQL ጋር የተያያዙ ቴክኖሎጂዎች ። አጠቃላይ ስልጠናው በአጠቃላይ ሁለት ዓመታትን ፈጅቷል እና ለሌላ የእኔ ፕሮጀክት እንደ መነሻ ሆኖ አገልግሏል ፣ በመጨረሻም ለብዙ ዓመታት የተዘረጋው - ግን ይህ የተለየ ህትመት ርዕስ ነው። እዚህ ላይ በ C # እና በዊንፎርሞች ውስጥ ሙሉ ለሙሉ የተሟላ የመስኮት አፕሊኬሽን ለመፍጠር በተገለጸው ፕሮጀክት ላይ ቀደም ሲል የነበሩትን እድገቶች ለማስተካከል መሞከሬን እና አስፈላጊውን ተግባር ተግባራዊ ማድረግ እና እንደ መሰረት አድርጎ መጠቀም ተገቢ ይሆናል. መጪ ዲፕሎማ ፕሮጀክት.
ከጊዜ በኋላ ይህ ሃሳብ እንደ “LIBKOM” እና “CRIMEA” ያሉ የተለያዩ ቤተ-መጻህፍት ተወካዮች በተገኙበት በየአመቱ በሚደረጉ ኮንፈረንሶች ላይ ድምጽ ለመስጠት ብቁ መስሎ ይታየኝ ጀመር። ሃሳቡ፣ አዎ፣ ግን በዛን ጊዜ የእኔ ተግባራዊነት አይደለም። ከዚያም አንድ ሰው የበለጠ ብቃት ያላቸውን አካሄዶች በመጠቀም እንደገና እንደሚጽፈው ተስፋ አድርጌ ነበር። በአንድ ወይም በሌላ መንገድ፣ በ2013 ስለቅድመ ሥራዬ ሪፖርት ለመጻፍ ወሰንኩኝ እና በጉባኤው ላይ ለመሳተፍ የእርዳታ ማመልከቻ ይዤ ወደ ጉባኤው አዘጋጅ ኮሚቴ ልኬ ነበር። በጣም የሚገርመኝ ማመልከቻዬ ጸደቀ፣ እና በኮንፈረንሱ ላይ ለመቅረብ በፕሮጀክቱ ላይ አንዳንድ ማሻሻያዎችን ማድረግ ጀመርኩ።

በዚያን ጊዜ ፕሮጀክቱ ቀድሞውኑ BIRMA አዲስ ስም ተቀብሏል ፣ የተለያዩ ተጨማሪ ችሎታዎችን አግኝቷል (ብዙ ሙሉ በሙሉ አልተተገበረም ፣ ግን ይልቁንስ) - ሁሉም ዝርዝሮች በሪፖርቴ ውስጥ ይገኛሉ.

እውነቱን ለመናገር ለ BIRMA 2013 የተሟላ ነገር መደወል አስቸጋሪ ነበር; እውነቱን ለመናገር፣ በችኮላ የተሰራ በጣም ተንኮለኛ የእጅ ስራ ነበር። በኮድ ረገድ ፣ የ IRBIS 64 የቅርጸት ቋንቋን በሚያስታውስ መልኩ ለተንታኙ አንዳንድ ዓይነት የተዋሃደ አገባብ ለመፍጠር ካልሆነ በስተቀር ምንም ልዩ ፈጠራዎች አልነበሩም (እና በእውነቱ ፣ እንዲሁም የ ISIS ስርዓት -) በቅንፍ እንደ ሳይክል አወቃቀሮች፤ ለምን በወቅቱ በጣም ጥሩ መስሎኝ ነበር)። ተንታኙ በነዚህ ተገቢው ዓይነት የቅንፍ ክበቦች ላይ ተስፋ ቢስ ሆኖ ተሰናክሏል (ቅንፍ ሌላ ሚና ስለ ነበራቸው፣ ይህም በመተንተን ጊዜ ሊዘለሉ የሚችሉ አማራጭ መዋቅሮችን ምልክት ስላደረጉ)። ያን ጊዜ ለመገመት ከሚያስቸግር፣ ፍትሃዊ ካልሆነ የBIRMA አገባብ ጋር ለመተዋወቅ ለሚፈልጉ ሁሉ የዛን ጊዜ ዘገባዬን በበለጠ ዝርዝር እመለከታለሁ።

በአጠቃላይ፣ ከራሴ ተንታኝ ጋር ከመታገል ውጭ፣ የዚህን ስሪት ኮድ በተመለከተ ምንም የምለው ነገር የለኝም - የነባር ምንጮችን ወደ C++ ከተቀየረ በስተቀር የ.NET ኮድ አንዳንድ ዓይነተኛ ባህሪያትን እያስቀመጥኩ ነው (እውነቱን ለመናገር እሱ ነው። ለመረዳት የሚያስቸግር ፣ ሁሉንም ነገር ወደ ኋላ እንድመለስ የገፋፋኝ ምንድን ነው - ምናልባት ከኮካ ኮላ ሚስጥራዊ የምግብ አዘገጃጀት መመሪያ ጋር ተመሳሳይ የሆነ ነገር ሆኖ የእኔን ምንጭ ኮድ ሚስጥር ለመጠበቅ አንዳንድ ደደብ ፍርሃት።

ምናልባት ይህ የሞኝ ውሳኔ በኤሌክትሮኒክ ካታሎግ ውስጥ መረጃን ለማስገባት የዲኤልኤል ቤተ-መጽሐፍትን ካለው ነባር በይነገጽ ጋር በማጣመር ለችግር መንስኤ ሊሆን ይችላል (አዎ ፣ ሌላ አስፈላጊ እውነታ አልገለጽኩም: ከአሁን በኋላ ፣ ሁሉም የ BIRMA "ሞተሩ" ኮድ እንደተጠበቀው ነበር, ከመገናኛው ክፍል ተለይቷል እና በተገቢው DLL ውስጥ ተጭኗል). ለእነዚህ ዓላማዎች የተለየ የሥራ ቦታ መፃፍ ለምን አስፈለገ ፣ ለማንኛውም ፣ በመልክ እና ከተጠቃሚው ጋር የመግባቢያ ዘዴ ፣ ያንኑ የ IRBIS 64 ስርዓት “ካታሎጅዘር” ያለ ኀፍረት ገልብጧል - ይህ የተለየ ጥያቄ ነው። ባጭሩ፡ ለምረቃ ፕሮጄክቴ በወቅቱ ለነበሩት እድገቶቼ አስፈላጊውን ጥንካሬ ሰጠኝ (አለበለዚያ የማይፈጨው ተንታኝ ሞተር ብቻውን በሆነ መንገድ በቂ አልነበረም)። በተጨማሪም ፣ የካታሎገር መሥሪያ ቤቱን በይነገጽ በራሴ ሞጁሎች በመተግበር በሁለቱም በ C ++ እና በ C # ውስጥ እና ሞተሬን በቀጥታ ለማግኘት አንዳንድ ችግሮች አጋጥመውኛል።

በአጠቃላይ፣ በሚገርም ሁኔታ፣ ለሚቀጥሉት አራት አመታት የእኔ “የስራ ፈረስ” ለመሆን የታሰበው ይህ የወደፊቷ BIRMA.NET ምሳሌ ነው። በዚህ ጊዜ ውስጥ ቢያንስ ለአዲስና የተሟላ የረዥም ጊዜ ሀሳብ ትግበራ መንገዶችን ለማግኘት አልሞከርኩም ማለት አይቻልም። ከሌሎች ፈጠራዎች መካከል፣ አማራጭ አካላትን ሊያካትቱ የሚችሉ የሳይክል ቅደም ተከተሎች ሊኖሩ ይገባ ነበር - በዚህ መንገድ ነው የሕትመቶችን እና ሌሎች አስደሳች ነገሮችን ለመጽሐፍ ቅዱሳዊ መግለጫዎች የአጠቃላይ አብነቶችን ሀሳብ ወደ ሕይወት የማመጣው። ሆኖም፣ በዚያን ጊዜ በተግባራዊ እንቅስቃሴዎቼ ውስጥ፣ ይህ ሁሉ ብዙም ፍላጎት አልነበረውም፣ እናም በዚያን ጊዜ የነበረኝ ትግበራ የይዘት ሰንጠረዦችን ለማስገባት በቂ ነበር። በተጨማሪም የቤተ መፃህፍታችን ልማት ቬክተር የሙዚየም መዛግብትን ዲጂታይዜሽን፣ ዘገባዎችን እና ሌሎች ብዙም ፍላጎት የሌላቸው ሌሎች ተግባራትን ወደ ኋላ ማፈንገጥ ጀመረ፣ ይህም በመጨረሻ እንድተወው አስገደደኝ፣ ለሚፈልጉትም ቦታ በመስጠት። በዚህ ሁሉ የበለጠ ደስተኛ ይሁኑ ።

አያዎ (ፓራዶክስ)፣ በዚያን ጊዜ የተለመደውን የረጅም ጊዜ የግንባታ ፕሮጀክት ባህሪያትን የያዘው የBIRMA ፕሮጀክት ለረጅም ጊዜ ሲጠበቅበት የነበረውን አዲስ ህይወቱን መምራት የጀመረው ከእነዚህ አስደናቂ ክስተቶች በኋላ ነበር! ለስራ ፈት ሀሳቦች የበለጠ ነፃ ጊዜ ነበረኝ ፣ ተመሳሳይ የሆነ ነገር ለመፈለግ እንደገና አለም አቀፍ ድርን ማበጠር ጀመርኩ (እንደ እድል ሆኖ ፣ አሁን ይህንን ሁሉ በየትኛውም ቦታ ብቻ ሳይሆን በ GitHub ላይ) እና የሆነ ቦታ ላይ መፈለግ ችያለሁ ። በዚህ አመት መጀመሪያ ላይ፣ በመጨረሻ ከታዋቂው የ Salesforce ኩባንያ ትርጉም በሌለው ስም ተጓዳኝ ምርት አገኘሁ። ጎርፕ. በራሱ ፣ ከእንደዚህ ዓይነት ተንታኝ ሞተር የሚያስፈልገኝን ሁሉንም ነገር ማድረግ ይችላል - ማለትም ፣ በጥበብ የግለሰቦችን ቁርጥራጮች በዘፈቀደ ፣ ግን በግልፅ የተዋቀረ ጽሑፍ ፣ ለዋና ተጠቃሚው በትክክል ለተጠቃሚ ምቹ የሆነ በይነገጽ ሲኖረው ፣ እንደዚህ ያሉ ለመረዳት የሚረዱ ዋና ዋና ጉዳዮችን ጨምሮ ፣ ስርዓተ-ጥለት፣ አብነት እና ክስተት፣ እና በተመሳሳይ ጊዜ የተለመደውን የመደበኛ አባባሎች አገባብ በመጠቀም፣ ይህም ለመተንተን ወደ ተመረጡት የትርጉም ቡድኖች በመከፋፈሉ በአንፃራዊነት የበለጠ ሊነበብ የሚችል ይሆናል።

በአጠቃላይ ይህ ነው ብዬ ወሰንኩ ጎርፕ (ይህ ስም ምን ማለት እንደሆነ አስባለሁ? ምናልባት አንዳንድ ዓይነት "አጠቃላይ ተኮር መደበኛ ተንታኝ"?) - በትክክል ለረጅም ጊዜ ስፈልገው የነበረው። እውነት ነው፣ ለፍላጎቴ አፋጣኝ ትግበራው እንዲህ አይነት ችግር ስለነበረው ይህ ሞተር ከምንጩ ጽሑፍ መዋቅራዊ ቅደም ተከተል ጋር በጥብቅ መከተልን ይጠይቃል። ለአንዳንድ ሪፖርቶች እንደ ሎግ ፋይሎች (ማለትም ፕሮጀክቱን ለመጠቀም በገንቢዎች የተቀመጡ ናቸው) ይህ በጣም ተስማሚ ነው, ነገር ግን ለተቃኙ የይዘት ሰንጠረዦች ተመሳሳይ ጽሑፎች, የማይመስል ነገር ነው. ከሁሉም በላይ ፣ የይዘት ሠንጠረዥ ያለው ተመሳሳይ ገጽ “የይዘት ሠንጠረዥ” ፣ “ይዘት” እና በታቀደው የትንታኔ ውጤቶች ውስጥ ልናስቀምጣቸው የማይገባን ማንኛውንም የመጀመሪያ መግለጫዎች (እና እነሱን በእጅ መቁረጥ) ሊጀምር ይችላል ። እያንዳንዱ ጊዜ ደግሞ የማይመች ነው). በተጨማሪም፣ እንደ የጸሐፊው ስም፣ ርዕስ እና የገጽ ቁጥር ባሉ በተናጥል በሚደጋገሙ አካላት መካከል፣ ገጹ የተወሰነ መጠን ያለው ቆሻሻ (ለምሳሌ፣ ሥዕሎች፣ እና የዘፈቀደ ገጸ-ባህሪያት) ሊይዝ ይችላል፣ ይህ ደግሞ መቻል ጥሩ ነው። መቁረጥ. ሆኖም ግን, የመጨረሻው ገጽታ ገና ያን ያህል አስፈላጊ አልነበረም, ነገር ግን በመጀመሪያው ምክንያት, ነባሩ አተገባበር ከተወሰነ ቦታ በጽሁፉ ውስጥ አስፈላጊ የሆኑትን አወቃቀሮች መፈለግ መጀመር አልቻለም, ነገር ግን ይልቁንስ ከመጀመሪያው ጀምሮ አስተካክለው, አላገኘም. እዚያ የተገለጹ ቅጦች እና... ስራዬን ጨረስኩ። በግልጽ ለማየት እንደሚቻለው፣ ቢያንስ በተደጋገሙ አወቃቀሮች መካከል የተወሰነ ቦታ እንዲኖር አንዳንድ ማስተካከያዎች ያስፈልግ ነበር፣ እና ይህም ወደ ስራ እንድመለስ አድርጎኛል።

ሌላው ችግር ፕሮጀክቱ ራሱ በጃቫ ውስጥ መተግበሩ ነበር እና ወደፊት ይህን ቴክኖሎጂ አንዳንድ መንገዶችን በመተግበር ከታወቁ አፕሊኬሽኖች ጋር መረጃን ወደ ነባር ዳታቤዝ ለማስገባት (እንደ ኢርቢስ “ካታሎግ” ያሉ) ተግባራዊ ለማድረግ ካቀድኩ ቢያንስ ቢያንስ ይህንን በ C # እና .NET ውስጥ ያድርጉ. ጃቫ ራሱ መጥፎ ቋንቋ ነው ማለት አይደለም - አንድ ጊዜ እንኳን ደስ የሚል የመስኮት መተግበሪያን ተግባራዊ ለማድረግ ተጠቀምኩበት ይህም የአገር ውስጥ ፕሮግራም ማስያ (የኮርስ ፕሮጄክት አካል) ተግባርን ተግባራዊ ያደረገ ነው። እና ከአገባብ አንፃር ከተመሳሳይ C-sharp ጋር በጣም ተመሳሳይ ነው። ደህና፣ ይህ ተጨማሪ ብቻ ነው፡ ነባር ፕሮጀክትን ማጠናቀቅ ይቀላልልኝ። ሆኖም ፣ ወደዚህ ያልተለመደ የመስኮት ዓለም (ወይንም ፣ ዴስክቶፕ) የጃቫ ቴክኖሎጂዎች ውስጥ እንደገና መዝለቅ አልፈለግሁም - ከሁሉም በላይ ፣ ቋንቋው ራሱ ለእንደዚህ ዓይነቱ አጠቃቀም “የተበጀ” አልነበረም ፣ እና ድግግሞሹን በጭራሽ አልመኘሁም። የቀድሞው ልምድ. ምናልባት በትክክል C # ከዊንፎርምስ ጋር በመተባበር ብዙዎቻችን አንድ ጊዜ የጀመርነው ለዴልፊ በጣም ቅርብ ስለሆነ ነው። እንደ እድል ሆኖ, አስፈላጊው መፍትሄ በፍጥነት ተገኝቷል - በፕሮጀክቱ መልክ IKVM.NETነባር የጃቫ ፕሮግራሞችን ወደ ሚተዳደር .NET ኮድ ለመተርጎም ቀላል ያደርገዋል። እውነት ነው፣ ፕሮጀክቱ ራሱ በዚያን ጊዜ በጸሐፊዎች ተጥሎ ነበር፣ ነገር ግን የቅርብ ጊዜ ትግበራው ለመሠረታዊ ጽሑፎች አስፈላጊውን እርምጃ በተሳካ ሁኔታ እንዳከናውን አስችሎኛል። ጎርፕ.

ስለዚህ ሁሉንም አስፈላጊ ለውጦች አድርጌያለሁ እና ሁሉንም ወደ ተገቢው አይነት DLL ሰብስቤያለሁ, ይህም በ Visual Studio ውስጥ ለተፈጠረው የ NET Framework በማንኛውም ፕሮጀክቶች በቀላሉ "ሊወሰድ" ይችላል. እስከዚያው ድረስ ለተመለሱት ውጤቶች ምቹ አቀራረብ ሌላ ንብርብር ፈጠርኩ። ጎርፕበሰንጠረዥ እይታ ውስጥ ለማስኬድ ምቹ በሆኑ ተጓዳኝ የመረጃ አወቃቀሮች መልክ (ሁለቱንም ረድፎች እና አምዶች መሠረት አድርጎ መውሰድ ፣ ሁለቱንም የመዝገበ-ቃላት ቁልፎች እና የቁጥር ኢንዴክሶች)። ደህና ፣ ውጤቱን ለማስኬድ እና ለማሳየት አስፈላጊዎቹ መገልገያዎች እራሳቸው በፍጥነት ተጽፈዋል።

እንዲሁም፣ የይዘት ሰንጠረዦችን የተቃኙ ጽሑፎችን ናሙናዎች እንዲተነተን ለማስተማር ለአዲሱ ሞተር አብነቶችን የማላመድ ሂደት ምንም ልዩ ችግር አላመጣም። እንደ እውነቱ ከሆነ, የቀድሞ አብነቶችዎቼን በጭራሽ ማጣቀስ አላስፈለገኝም: ሁሉንም አስፈላጊ አብነቶች ከባዶ ፈጠርኩ. በተጨማሪም ፣ ከቀደመው የስርዓቱ ስሪት ጋር ለመስራት የተነደፉት አብነቶች በእነሱ እርዳታ በትክክል ሊተነተኑ ለሚችሉ ጽሁፎች ሚዛናዊ የሆነ ጠባብ ማዕቀፍ ካዘጋጁ ፣ አዲሱ ሞተር ለተለያዩ የምርት ዓይነቶች ተስማሚ የሆኑ ሁለንተናዊ አብነቶችን ለማዘጋጀት አስችሎታል። አንድ ጊዜ. ለማንኛውም የዘፈቀደ የይዘት ሠንጠረዥ አንድ ዓይነት አጠቃላይ አብነት ለመጻፍ ሞከርኩ ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ፣ ምንም እንኳን ሁሉም አዳዲስ እድሎች ቢከፈቱልኝ ፣ በተለይም ፣ ተመሳሳይ የጎጆ ተደጋጋሚ ተደጋጋሚ ቅደም ተከተሎችን የመተግበር ውስን ችሎታ () እንደ ለምሳሌ የአያት ስሞች እና የመጀመሪያ ሆሄያት በርካታ ደራሲያን በተከታታይ) ይህ ዩቶፒያ ሆነ።

ምናልባት ለወደፊቱ የተወሰኑ የሜታ-አብነቶችን ጽንሰ-ሀሳብ መተግበር ይቻል ይሆናል ፣ ይህም በአንድ ጊዜ ከሚገኙት በርካታ አብነቶች ጋር መከበራቸውን የምንጭ ጽሑፍን ማረጋገጥ ይችላል ፣ እና ከዚያ በተገኘው ውጤት መሠረት ፣ በጣም ተስማሚ የሆነ ፣ አንዳንድ ዓይነት የማሰብ ችሎታ ያለው ስልተ-ቀመር በመጠቀም። አሁን ግን ሌላ ጥያቄ አሳስቦኛል። ተንታኝ እንደ ጎርፕምንም እንኳን ሁለገብነቱ እና ያደረኳቸው ማሻሻያዎች ቢኖሩም፣ እኔ በራሴ የፃፍኩት ተንታኝ ከመጀመሪያው ስሪት ማድረግ የቻለውን አንድ ቀላል የሚመስለውን ነገር ለማድረግ አሁንም አቅም አልነበረውም። ይኸውም፡ በነዚህ ቁርጥራጮች መካከል ባለው ክፍተት ውስጥ የተሰጠው ጽሑፍ ምን እንደሚይዝ ምንም ፍላጎት ባይኖረውም በትክክለኛው ቦታ ላይ ጥቅም ላይ የዋለውን አብነት ውስጥ ከተጠቀሰው ጭንብል ጋር የሚዛመዱትን ቁርጥራጮች ሁሉ ከምንጩ ጽሑፍ የማውጣት ችሎታ ነበረው። እስካሁን ድረስ ፣ አዲሱን ሞተር ብቻ በትንሹ አሻሽያለሁ ፣ ሁሉንም ሊሆኑ የሚችሉ አዳዲስ ጭምብሎችን ከአሁኑ ቦታ እንዲፈልግ በመፍቀድ የዘፈቀደ ገጸ-ባህሪያት ስብስቦች ጽሑፍ ውስጥ የመገኘት እድልን ይተዋል ። በመተንተን ውስጥ ያልታወቀ፣ በተገኙት ተደጋጋሚ መዋቅሮች መካከል ተዘግቷል። ሆኖም ፣ ይህ ተዛማጅ ጭንብል በመጠቀም የቀደመውን ቁራጭ ፍለጋ ውጤቱ ምንም ይሁን ምን የሚቀጥለውን ጭንብል ለማዘጋጀት አላስቻለውም-የተገለጸው የጽሑፍ መዋቅር ጥብቅነት አሁንም መደበኛ ያልሆኑ ገጸ-ባህሪያትን በዘፈቀደ ለማካተት ቦታ አልሰጠም።

እና እኔ ይህን ችግር ካጋጠመኝ የይዘት ሰንጠረዦች ምሳሌዎች እስካሁን ያን ያህል ከባድ ካልመሰለኝ፣ የድረ-ገጹን ይዘቶች (ማለትም ተመሳሳይ ትንተና) ተመሳሳይ በሆነ ተግባር ላይ አዲስ የመመርመሪያ ዘዴን ለመተግበር ስንሞክር። ገደቦች እዚህ አሉ በሁሉም ግልጽነታቸው ታዩ። ደግሞም ለድር ምልክት ማድረጊያ ቁርጥራጭ አስፈላጊውን ጭምብሎች ማዘጋጀት በጣም ቀላል ነው ፣ በመካከላቸው የምንፈልገው መረጃ (መወጣት ያለበት) መቀመጥ አለበት ፣ ግን ተንታኙ ወዲያውኑ ወደሚቀጥለው እንዲሄድ እንዴት ማስገደድ እንችላለን። ተመሳሳይ ቁራጭ ፣ ምንም እንኳን ሁሉም ሊሆኑ የሚችሉ መለያዎች እና የኤችቲኤምኤል ባህሪዎች በመካከላቸው ባሉ ክፍተቶች ውስጥ ሊቀመጡ ይችላሉ?

ትንሽ ካሰብኩ በኋላ፣ ሁለት የአገልግሎት ዘይቤዎችን ለማስተዋወቅ ወሰንኩ። (%ሁሉም_በፊት) и (ከሁሉም_በኋላ), በመነሻ ጽሑፉ ውስጥ የሚገኙትን ነገሮች በሙሉ ከሚከተለው ስርዓተ-ጥለት (ጭምብል) በፊት የተዘለለ መሆኑን የማረጋገጥ ግልጽ ዓላማን ያገለግላል. ከዚህም በላይ ከሆነ (%ሁሉም_በፊት) በቀላሉ እነዚህን ሁሉ የዘፈቀደ መካተትን ችላ ብለዋል ፣ ከዚያ (ከሁሉም_በኋላ), በተቃራኒው, ከቀድሞው ክፍልፋዮች ከተንቀሳቀሱ በኋላ ወደ ተፈላጊው ክፍልፋዮች እንዲጨመሩ አስችሏቸዋል. በጣም ቀላል ነው የሚመስለው ነገር ግን ይህንን ጽንሰ ሃሳብ ለመተግበር ቀደም ሲል የተተገበረውን አመክንዮ ላለመስበር አስፈላጊውን ማሻሻያ ለማድረግ የጎርፕ ምንጮችን እንደገና ማጣመር ነበረብኝ። በመጨረሻ ፣ ይህንን ማድረግ ችለናል (ምንም እንኳን በጣም ፣ መጀመሪያ ፣ በጣም አስቸጋሪ ቢሆንም ፣ የእኔ ተንታኝ ትግበራ ተፅፎ ነበር ፣ እና እንዲያውም ፈጣን - በሁለት ሳምንታት ውስጥ)። ከአሁን ጀምሮ, ስርዓቱ በእውነት ዓለም አቀፋዊ ቅርጽ ያዘ - እንዲሠራ ለማድረግ የመጀመሪያዎቹ ሙከራዎች ከ 12 ዓመት ባላነሰ ጊዜ ውስጥ.

በእርግጥ ይህ የሕልማችን መጨረሻ አይደለም. እንዲሁም የነፃ ሰዋሰውን ተግባራዊ ለማድረግ ማንኛውንም የሚገኙትን ቤተ-መጻሕፍት በመጠቀም የጎርፕ አብነት ተንታኝን በC# ውስጥ ሙሉ በሙሉ መፃፍ ይችላሉ። እኔ እንደማስበው ኮዱ በከፍተኛ ሁኔታ ቀለል ያለ መሆን አለበት ፣ እና ይህ አሁን ባለው የጃቫ ምንጮች ቅርስን ለማስወገድ ያስችለናል። ነገር ግን አሁን ባለው የኤንጂን አይነት የተለያዩ መረጃዎችን ከተለያዩ ድረገፆች መተንተን ይቅርና ቀደም ብዬ የጠቀስኳቸውን ሜታ አብነቶችን ለመተግበር መሞከርን ጨምሮ የተለያዩ አስደሳች ነገሮችን ማድረግ ይቻላል (ነገር ግን እኔ አልገለጽኩም) አሁን ያሉት ልዩ የሶፍትዌር መሳሪያዎች ለዚህ የበለጠ ተስማሚ ናቸው - እነሱን ለመጠቀም እስካሁን ተገቢውን ልምድ አላገኘሁም).

በነገራችን ላይ በዚህ ክረምት የSalesforce ቴክኖሎጂዎችን ከሚጠቀም ኩባንያ (የመጀመሪያው ገንቢ) በኢሜል ግብዣ ቀርቦልኛል። ጎርፕበሪጋ ውስጥ ለቀጣይ ሥራ ቃለ መጠይቅ ያስተላልፉ። እንደ አለመታደል ሆኖ በአሁኑ ጊዜ ለእንደዚህ አይነት መልሶ ማሰማራት ዝግጁ አይደለሁም።

ይህ ቁሳቁስ የተወሰነ ፍላጎት ካነሳ በሁለተኛው ክፍል በ Salesforce ውስጥ ጥቅም ላይ የዋለውን የትግበራ ምሳሌ በመጠቀም አብነቶችን የማጠናቀር እና የመተንተን ቴክኖሎጂን በበለጠ ዝርዝር ለመግለጽ እሞክራለሁ ። ጎርፕ (የራሴ ተጨማሪዎች ፣ ቀደም ሲል ከተገለጹት ሁለት የተግባር ቃላት በስተቀር ፣ በአብነት አገባብ በራሱ ላይ ምንም ለውጦች አላደረጉም ፣ ስለሆነም ሁሉም ማለት ይቻላል ለዋናው ስርዓት ሰነዶች ጎርፕ ለኔ ስሪትም ተስማሚ ነው).

ምንጭ: hab.com

አስተያየት ያክሉ