ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ሚካሂል ሳሎሲን (ከዚህ በኋላ - ኤም.ኤስ.) - ሰላም ሁላችሁም! ስሜ ሚካኤል ነው። እኔ በ MC2 ሶፍትዌር እንደ ድጋፍ ሰጪ ገንቢ ሆኜ እሰራለሁ፣ እና በ Look+ የሞባይል አፕሊኬሽን የኋላ ክፍል ውስጥ Goን ስለመጠቀም እናገራለሁ ።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

እዚህ ሆኪን የሚወድ አለ?

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ከዚያ ይህ መተግበሪያ ለእርስዎ ነው። እሱ ለአንድሮይድ እና ለአይኦኤስ ሲሆን የተለያዩ ስፖርታዊ ዝግጅቶችን በመስመር ላይ ለመመልከት እና የተቀዳ ነው። አፕሊኬሽኑ የተለያዩ ስታቲስቲክስ፣ የጽሁፍ ስርጭቶች፣ የኮንፈረንስ ጠረጴዛዎች፣ ውድድሮች እና ሌሎች ለደጋፊዎች ጠቃሚ መረጃዎችን ይዟል።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

እንዲሁም በመተግበሪያው ውስጥ እንደ የቪዲዮ አፍታዎች ያለ ነገር አለ ፣ ማለትም በጣም አስፈላጊ የሆኑትን የግጥሚያ ጊዜዎች (ግቦች ፣ ውጊያዎች ፣ የተኩስ ጨዋታዎች ፣ ወዘተ) ማየት ይችላሉ ። አጠቃላይ ስርጭቱን ማየት ካልፈለጉ በጣም አስደሳች የሆኑትን ብቻ ማየት ይችላሉ።

በልማት ውስጥ ምን ተጠቀምክ?

ዋናው ክፍል በ Go ውስጥ ተጽፏል. የሞባይል ደንበኞች የተገናኙበት ኤፒአይ በ Go ውስጥ ተጽፏል። የግፋ ማሳወቂያዎችን ወደ ሞባይል ስልኮች የመላክ አገልግሎት በGo ውስጥም ተጽፎ ነበር። እንዲሁም ስለ አንድ ቀን ልንነጋገርበት የምንችለውን የራሳችንን ORM መጻፍ ነበረብን። ደህና፣ አንዳንድ ትናንሽ አገልግሎቶች በ Go ውስጥ ተጽፈዋል፡ ምስሎችን መጠን መቀየር እና ለአርታዒዎች መጫን...

PostgreSQL እንደ ዳታቤዝ ተጠቀምን። የአርታዒው በይነገጽ የተጻፈው በ Ruby on Rails ActiveAdmin Gem በመጠቀም ነው። ከስታስቲክስ አቅራቢ ስታስቲክስ ማስመጣትም በሩቢ ተጽፏል።

ለስርዓት ኤፒአይ ሙከራዎች፣ Python unittestን ተጠቀምን። Memcached የኤፒአይ ክፍያ ጥሪዎችን ለማቃለል ይጠቅማል፣ "ሼፍ" ውቅረትን ለመቆጣጠር ይጠቅማል፣ Zabbix የውስጣዊ ስርዓት ስታቲስቲክስን ለመሰብሰብ እና ለመቆጣጠር ይጠቅማል። Graylog2 የምዝግብ ማስታወሻዎችን ለመሰብሰብ ነው፣ Slate ለደንበኞች የኤፒአይ ሰነድ ነው።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

የፕሮቶኮል ምርጫ

ያጋጠመን የመጀመሪያው ችግር፡ በሚከተሉት ነጥቦች ላይ በመመስረት በጀርባና በሞባይል ደንበኞች መካከል ያለውን መስተጋብር ፕሮቶኮል መምረጥ ነበረብን...

  • በጣም አስፈላጊው መስፈርት፡ በደንበኞች ላይ ያለው መረጃ በእውነተኛ ጊዜ መዘመን አለበት። ያም ማለት በአሁኑ ጊዜ ስርጭቱን የሚመለከት ማንኛውም ሰው ዝማኔዎችን ወዲያውኑ ማግኘት አለበት።
  • ነገሮችን ለማቃለል ከደንበኞች ጋር የተመሳሰለው መረጃ ያልተሰረዘ ነገር ግን ልዩ ባንዲራዎችን በመጠቀም የተደበቀ ነው ብለን ገምተናል።
  • ሁሉም አይነት ብርቅዬ ጥያቄዎች (እንደ ስታቲስቲክስ፣ የቡድን ቅንብር፣ የቡድን ስታቲስቲክስ ያሉ) በተለመደው የGET ጥያቄዎች ይገኛሉ።
  • በተጨማሪም ስርዓቱ በተመሳሳይ ጊዜ 100 ሺህ ተጠቃሚዎችን በቀላሉ መደገፍ ነበረበት.

በዚህ መሰረት ሁለት የፕሮቶኮል አማራጮች ነበሩን፡-

  1. ዌብሶኬቶች. ነገር ግን ከደንበኛው ወደ አገልጋዩ የሚመጡ ቻናሎችን አያስፈልገንም ነበር። ማሻሻያዎችን ከአገልጋዩ ወደ ደንበኛው ለመላክ ብቻ ያስፈልገናል፣ ስለዚህ ዌብሶኬት ብዙ አማራጭ ነው።
  2. በአገልጋይ የተላኩ ክስተቶች (ኤስኤስኢ) በትክክል መጥተዋል! በጣም ቀላል እና በመሠረቱ የሚያስፈልገንን ሁሉ ያሟላል።

በአገልጋይ የተላኩ ክስተቶች

ይህ ነገር እንዴት እንደሚሰራ ጥቂት ቃላት ...

በ http ግንኙነት ላይ ይሰራል። ደንበኛው ጥያቄ ይልካል፣ አገልጋዩ በይዘት ዓይነት፡ ጽሑፍ/ክስተት-ዥረት ምላሽ ይሰጣል እና ከደንበኛው ጋር ያለውን ግንኙነት አይዘጋውም፣ ነገር ግን ወደ ግንኙነቱ ውሂብ መጻፉን ይቀጥላል፡-

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

መረጃ ከደንበኞች ጋር በተስማማበት ቅርጸት ሊላክ ይችላል። በእኛ ሁኔታ ፣ በዚህ ቅጽ ልከናል-የተለወጠው መዋቅር ስም (ሰው ፣ ተጫዋች) ወደ ዝግጅቱ መስክ ተልኳል ፣ እና JSON ለተጫዋቹ አዲስ ፣ የተቀየሩ መስኮች ወደ የውሂብ መስክ ተልኳል።

አሁን ግንኙነቱ ራሱ እንዴት እንደሚሰራ እንነጋገር.

  • ደንበኛው የሚሠራው የመጀመሪያው ነገር ከአገልግሎቱ ጋር ለመጨረሻ ጊዜ ማመሳሰል የተከናወነበትን ጊዜ መወሰን ነው: የአካባቢያዊ የውሂብ ጎታውን ይመለከታል እና በእሱ የተመዘገበውን የመጨረሻ ለውጥ ቀን ይወስናል.
  • ከዚህ ቀን ጋር ጥያቄ ይልካል.
  • በምላሹ ከዚያ ቀን ጀምሮ የተከሰቱትን ሁሉንም ዝመናዎች እንልካለን።
  • ከዚያ በኋላ፣ ከቀጥታ ቻናሉ ጋር ግንኙነት ይፈጥራል እና እነዚህን ማሻሻያዎች እስኪፈልግ ድረስ አይዘጋም።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

የለውጦችን ዝርዝር እንልካለን-አንድ ሰው ጎል ቢያገባ, የጨዋታውን ውጤት እንለውጣለን, ጉዳት ከደረሰበት, ይህ ደግሞ በእውነተኛ ሰዓት ይላካል. ስለዚህ ደንበኞች በተዛማጅ ክስተት ምግብ ውስጥ ወቅታዊ መረጃን ወዲያውኑ ይቀበላሉ። በየጊዜው, ደንበኛው አገልጋዩ እንዳልሞተ, በእሱ ላይ ምንም እንዳልተከሰተ እንዲረዳ, በየ 15 ሰከንድ የጊዜ ማህተም እንልካለን - ሁሉም ነገር በሥርዓት እንደሆነ እና እንደገና መገናኘት አያስፈልግም.

የቀጥታ ግንኙነት እንዴት ነው የሚቀርበው?

  • በመጀመሪያ ፣ የታሸጉ ዝመናዎች የሚቀበሉበት ቻናል እንፈጥራለን።
  • ከዚያ በኋላ አዳዲስ መረጃዎችን እንዲደርስዎት ይህንን ቻናል ሰብስክራይብ እናደርጋለን።
  • ደንበኛው ሁሉም ነገር ደህና መሆኑን እንዲያውቅ ትክክለኛውን ራስጌ አዘጋጅተናል.
  • የመጀመሪያውን ፒንግ ላክ. አሁን ያለውን የግንኙነት ጊዜ ማህተም በቀላሉ እንቀዳለን።
  • ከዚያ በኋላ የማሻሻያ ቻናሉ እስኪዘጋ ድረስ ከሰርጡ በሉፕ እናነባለን። ቻናሉ በየጊዜው የወቅቱን የጊዜ ማህተም ወይም ግንኙነቶችን ለመክፈት የምንጽፋቸውን ለውጦች ይቀበላል።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ያጋጠመን የመጀመሪያው ችግር የሚከተለው ነበር፡- ከደንበኛው ጋር ለሚከፈተው እያንዳንዱ ግንኙነት በየ15 ሰከንድ አንድ ጊዜ የሚያልፍ የሰዓት ቆጣሪ ፈጠርን - በአንድ ማሽን (በአንድ ኤፒአይ አገልጋይ) 6 ሺህ ግንኙነቶች ከከፈትን 6. ሺህ ጊዜ ቆጣሪዎች ተፈጥረዋል. ይህም ማሽኑ አስፈላጊውን ጭነት እንዳይይዝ አድርጓል. ችግሩ ለእኛ ያን ያህል ግልጽ አልነበረም፣ ነገር ግን ትንሽ እርዳታ አግኝተን አስተካክለነዋል።

በውጤቱም, አሁን የእኛ ፒንግ ማሻሻያ ከሚመጣበት ተመሳሳይ ቻናል ነው የሚመጣው.

በዚህ መሠረት በየ 15 ሰከንድ አንድ ጊዜ የሚያልፍ ጊዜ ቆጣሪ ብቻ አለ።

እዚህ ብዙ ረዳት ተግባራት አሉ - ራስጌውን, ፒንግ እና አወቃቀሩን መላክ. ማለትም የሠንጠረዡ ስም (ሰው፣ ግጥሚያ፣ ወቅት) እና ስለዚህ ግቤት ያለው መረጃ እዚህ ተላልፏል።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ዝመናዎችን ለመላክ ዘዴ

አሁን ለውጦቹ ከየት እንደመጡ ትንሽ። ስርጭቱን በቅጽበት የሚመለከቱ ብዙ ሰዎች፣ አዘጋጆች አሉን። ሁሉንም ክስተቶች ፈጥረዋል፡ አንድ ሰው ከሜዳ ተሰናብቷል፣ አንድ ሰው ተጎድቷል፣ የሆነ ምትክ...

ሲኤምኤስ በመጠቀም መረጃ ወደ ዳታቤዝ ይገባል። ከዚህ በኋላ፣ ዳታቤዙ ስለ ኤፒአይ አገልጋዮች የማዳመጥ/ማሳወቂያ ዘዴን በመጠቀም ያሳውቃል። የኤፒአይ አገልጋዮች ይህንን መረጃ አስቀድመው ለደንበኞች ይልካሉ። ስለዚህ እኛ በመሠረቱ ከመረጃ ቋቱ ጋር የተገናኙ ጥቂት አገልጋዮች ብቻ አሉን እና በመረጃ ቋቱ ላይ ምንም ልዩ ጭነት የለም ፣ ምክንያቱም ደንበኛው በምንም መልኩ በቀጥታ ከመረጃ ቋቱ ጋር ስለማይገናኝ፡

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

PostgreSQL፡ ያዳምጡ/አሳውቅ

በ Postgres ውስጥ ያለው የማዳመጥ/ማሳውቅ ዘዴ አንዳንድ ክስተት እንደተቀየረ ለክስተት ተመዝጋቢዎች ለማሳወቅ ይፈቅድልዎታል - አንዳንድ መዛግብት በመረጃ ቋቱ ውስጥ ተፈጥሯል። ይህንን ለማድረግ ቀላል ቀስቅሴ እና ተግባር ጻፍን-

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

መዝገብ ሲያስገቡ ወይም ሲቀይሩ የማሳወቂያ ተግባርን በ data_updates ቻናል እንጠራዋለን ፣ እዚያም የጠረጴዛውን ስም እና የተቀየረውን ወይም የገባውን መዝገቡን መለያ እናስተላልፋለን።

ከደንበኛው ጋር መመሳሰል ላለባቸው ሁሉም ጠረጴዛዎች ቀስቅሴን እንገልፃለን ፣ መዝገብን ከቀየሩ / ካዘመኑ በኋላ ፣ ከዚህ በታች ባለው ስላይድ ላይ የተመለከተውን ተግባር ይጠራል ።
ኤፒአይ ለእነዚህ ለውጦች እንዴት ይመዘገባል?

የ Fanout ዘዴ ተፈጥሯል - ለደንበኛው መልእክት ይልካል። ሁሉንም የደንበኛ ቻናሎች ይሰበስባል እና የተቀበለውን ዝመናዎች በእነዚህ ቻናሎች ይልካል፡-

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

እዚህ ከዳታቤዝ ጋር የተገናኘ እና ቻናሉን (ዳታ_አፕዴትስ) ማዳመጥ እንደሚፈልግ የሚናገረው መደበኛው pq ላይብረሪ ፣ ግንኙነቱ ክፍት መሆኑን እና ሁሉም ነገር ጥሩ መሆኑን ያረጋግጣል። ቦታ ለመቆጠብ የስህተት መፈተሻን እየተውኩ ነው (አለመፈተሽ አደገኛ ነው)።

በመቀጠልም ቲከርን በማይመሳሰል መልኩ አዘጋጅተናል፣ ይህም በየ15 ሰከንድ ፒንግ ይልካል እና የተመዘገብንበትን ቻናል ማዳመጥ እንጀምራለን። ፒንግ ከተቀበልን ይህን ፒንግ እናተምታለን። የሆነ አይነት ግቤት ከተቀበልን ይህን ግቤት ለሁሉም የዚህ Fanout ተመዝጋቢዎች እናተምታለን።

የደጋፊ መውጣት እንዴት ነው የሚሰራው?

በሩሲያኛ ይህ እንደ "መከፋፈያ" ተተርጉሟል. አንዳንድ ዝመናዎችን መቀበል የሚፈልጉ ተመዝጋቢዎችን የሚመዘግብ አንድ ነገር አለን። እና አንድ ዝማኔ ወደዚህ ነገር እንደደረሰ፣ ይህንን ዝመና ለሁሉም ተመዝጋቢዎቹ ያሰራጫል። በቂ ቀላል:

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

በ Go ውስጥ እንዴት እንደሚተገበር፡-

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

መዋቅር አለ፣ Mutexes በመጠቀም ተመሳስሏል። የፋኖት ግንኙነትን ከመረጃ ቋቱ ጋር ያለውን ግንኙነት የሚያድን መስክ ማለትም በአሁኑ ጊዜ በማዳመጥ ላይ ነው እና ዝመናዎችን ይቀበላል ፣ እንዲሁም ሁሉንም የሚገኙ ቻናሎች ዝርዝር - ካርታ ፣ ቁልፉ የሰርጡ እና የተዋቀረ ነው መልክ እሴቶች (በዋነኝነት በምንም መልኩ ጥቅም ላይ አይውልም).

ሁለት ዘዴዎች - የተገናኘ እና የተቋረጠ - ከመሠረቱ ጋር ግንኙነት እንዳለን ለ Fanout እንድንነግር ያስችሉናል ፣ ታየ እና ከመሠረቱ ጋር ያለው ግንኙነት ተቋረጠ። በሁለተኛው ጉዳይ ሁሉንም ደንበኞች ማላቀቅ እና ምንም ነገር መስማት እንደማይችሉ እና ከእነሱ ጋር ያለው ግንኙነት ስለተቋረጠ እንደገና እንዲገናኙ መንገር ያስፈልግዎታል.

ቻናሉን ወደ “አድማጮች” የሚጨምር የደንበኝነት ምዝገባ ዘዴም አለ፡-

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ከደንበኝነት ምዝገባ የመውጣት ዘዴ አለ፣ ደንበኛው ግንኙነቱን ካቋረጠ ቻናሉን ከአድማጮች ያስወግዳል፣ እንዲሁም የህትመት ዘዴ ለሁሉም ተመዝጋቢዎች መልእክት እንዲልኩ ያስችልዎታል።

ጥያቄ; - በዚህ ቻናል ምን ይተላለፋል?

ወይዘሪት: - የተለወጠው ሞዴል ወይም ፒንግ ተላልፏል (በዋናነት አንድ ቁጥር, ኢንቲጀር).

ወይዘሪት: - ማንኛውንም ነገር መላክ ፣ ማንኛውንም መዋቅር መላክ ፣ ማተም ይችላሉ - ወደ JSON ይቀየራል እና ያ ነው።

ወይዘሪት: - ከ Postgres ማሳወቂያ ይደርሰናል - የሰንጠረዡን ስም እና መለያ ይዟል. በሠንጠረዡ ስም እና መለያ ላይ በመመስረት, የምንፈልገውን መዝገብ እናገኛለን, ከዚያም ይህን መዋቅር ለህትመት እንልካለን.

መሰረተ ልማት

ይህ ከመሰረተ ልማት አንፃር ምን ይመስላል? 7 ሃርድዌር ሰርቨሮች አሉን፡ ከመካከላቸው አንዱ ሙሉ ለሙሉ ለዳታቤዝ ያደረ ሲሆን ሌሎቹ ስድስት ቨርቹዋል ማሽኖችን ያካሂዳሉ። የኤፒአይ 6 ቅጂዎች አሉ፡ እያንዳንዱ ኤፒአይ ያለው ምናባዊ ማሽን በተለየ የሃርድዌር አገልጋይ ላይ ይሰራል - ይህ ለታማኝነት ነው።

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ተደራሽነትን ለማሻሻል Keepalived የተገጠመላቸው ሁለት የፊት መጋጠሚያዎች አሉን፣ ስለዚህም የሆነ ነገር ከተፈጠረ አንዱ የፊት ግንባር ሌላውን ሊተካ ይችላል። እንዲሁም - ሁለት የ CMS ቅጂዎች.

የስታስቲክስ አስመጪም አለ። መጠባበቂያዎች በየጊዜው የሚሠሩበት DB Slave አለ። ፒጅዮን ፑሸር ለደንበኞች የግፋ ማሳወቂያዎችን እና እንዲሁም የመሠረተ ልማት ነገሮችን የሚልክ መተግበሪያ አለ: Zabbix, Graylog2 እና Chef.

እንደ እውነቱ ከሆነ, ይህ መሠረተ ልማት ብዙ ነው, ምክንያቱም 100 ሺህ በጥቂት አገልጋዮች ሊቀርብ ይችላል. ግን ብረት ነበር - ተጠቀምንበት (ይቻላል ተባልን - ለምን አይሆንም)።

የ Go ጥቅሞች

በዚህ መተግበሪያ ላይ ከሠራን በኋላ፣ እንደዚህ ያሉ ግልጽ የ Go ጥቅሞች ብቅ አሉ።

  • አሪፍ http ላይብረሪ። በእሱ አማካኝነት ከሳጥኑ ውስጥ ብዙ መፍጠር ይችላሉ።
  • በተጨማሪም፣ ለደንበኞች ማሳወቂያዎችን የምንላክበትን ዘዴ በቀላሉ እንድንተገብር የፈቀዱን ቻናሎች።
  • አስደናቂው ነገር የዘር ማወቂያ በርካታ ወሳኝ ስህተቶችን (መሠረተ ልማትን ማቀናጀት) እንድናስወግድ አስችሎናል። በመድረክ ላይ የሚሰሩ ሁሉም ነገሮች ተጀምረዋል፣ በዘር ቁልፍ ተሰብስቦ፣ እና እኛ, በዚህ መሰረት, ምን ሊሆኑ የሚችሉ ችግሮች እንዳሉ ለማየት የዝግጅት መሠረተ ልማትን ማየት እንችላለን.
  • ዝቅተኛነት እና የቋንቋ ቀላልነት.

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ገንቢዎችን እየፈለግን ነው! ማንም የሚፈልግ ካለ እባክዎን.

ጥያቄዎች

ከአድማጮች የቀረበ ጥያቄ (ከዚህ በኋላ - ለ): - ደጋፊ-ውጭን በተመለከተ አንድ አስፈላጊ ነጥብ ያመለጣችሁ ይመስላል። ለደንበኛ ምላሽ ስትልክ ደንበኛው ማንበብ ካልፈለገ እንደሚያግድ በመረዳቴ ትክክል ነኝ?

ወይዘሪት: - አይ, እየከለከልን አይደለም. በመጀመሪያ ፣ ይህ ሁሉ ከ nginx በስተጀርባ አለን ፣ ማለትም ፣ በቀስታ ደንበኞች ላይ ምንም ችግሮች የሉም። በሁለተኛ ደረጃ, ደንበኛው ቋት ያለው ቻናል አለው - በእውነቱ, እዚያ እስከ መቶ ማሻሻያዎችን ማድረግ እንችላለን ... ወደ ቻናሉ መጻፍ ካልቻልን ይሰርዘዋል. ቻናሉ እንደታገደ ካየን በቀላሉ ቻናሉን እንዘጋዋለን፣ እና ያ ነው - ማንኛውም ችግር ከተፈጠረ ደንበኛው እንደገና ይገናኛል። ስለዚህ, በመርህ ደረጃ, እዚህ ምንም እገዳ የለም.

AT: - ወዲያውኑ ለማዳመጥ/ለማሳወቅ መዝገብ እንጂ መለያ ሠንጠረዥ መላክ አልተቻለም?

ወይዘሪት: – ያዳምጡ/አሳውቅ በላከው ቅድመ ጭነት ላይ የ8ሺህ ባይት ገደብ አለው። በመርህ ደረጃ፣ ከትንሽ ዳታ ጋር የምንገናኝ ከሆነ መላክ ይቻል ነበር፣ ግን ለእኔ የሚመስለኝ ​​በዚህ መንገድ [በእኛ የምናደርገው ነገር] በቀላሉ የበለጠ አስተማማኝ ነው። ገደቦቹ በፖስትግሬስ እራሱ ውስጥ ናቸው።

AT: - ደንበኞች ምንም ፍላጎት በሌላቸው ግጥሚያዎች ላይ ዝመናዎችን ይቀበላሉ?

ወይዘሪት: - በአጠቃላይ, አዎ. እንደ አንድ ደንብ ፣ 2-3 ግጥሚያዎች በትይዩ እየተከናወኑ ነው ፣ እና ከዚያ በጣም አልፎ አልፎ። አንድ ደንበኛ የሆነ ነገር እየተመለከተ ከሆነ፣ አብዛኛውን ጊዜ እየተካሄደ ያለውን ግጥሚያ እየተከታተለ ነው። ከዚያ ደንበኛው እነዚህ ሁሉ ዝመናዎች የሚታከሉበት የአካባቢ ዳታቤዝ አለው፣ እና ያለበይነመረብ ግንኙነት እንኳን ደንበኛው ማሻሻያ ያላቸውን ሁሉንም ያለፉ ግጥሚያዎች ማየት ይችላል። በመሰረቱ፣ ከመስመር ውጭ እንዲሰራ የእኛን ዳታቤዝ በአገልጋዩ ላይ ከደንበኛው የአካባቢ የውሂብ ጎታ ጋር እናመሳስላለን።

AT: - ለምን የራስዎን ORM ሠሩ?

አሌክሲ (ከሉክ+ ገንቢዎች አንዱ) - በዚያን ጊዜ (ከአንድ አመት በፊት ነበር) በጣም ብዙ ሲሆኑ ከአሁን ያነሰ ORMዎች ነበሩ. ከአብዛኞቹ ORMs በጣም የምወደው ነገር አብዛኛዎቹ በባዶ በይነ መጠቀሚያዎች ላይ የሚሰሩ መሆናቸው ነው። ያም ማለት በእነዚህ ORMs ውስጥ ያሉት ዘዴዎች ማንኛውንም ነገር ለመውሰድ ዝግጁ ናቸው-አወቃቀር, የመዋቅር ጠቋሚ, ቁጥር, ሙሉ በሙሉ ተዛማጅነት የሌለው ነገር ...

የእኛ ORM በመረጃ ሞዴል ላይ በመመስረት አወቃቀሮችን ያመነጫል። ራሴ። እና ስለዚህ ሁሉም ዘዴዎች ተጨባጭ ናቸው, ነጸብራቅ አይጠቀሙ, ወዘተ ... መዋቅሮችን ይቀበላሉ እና የሚመጡትን አወቃቀሮች ለመጠቀም ይጠብቃሉ.

AT: - ስንት ሰዎች ተሳትፈዋል?

ወይዘሪት: - በመጀመሪያ ደረጃ, ሁለት ሰዎች ተሳትፈዋል. በሰኔ ወር ውስጥ አንድ ቦታ ጀመርን, እና በነሐሴ ወር ዋናው ክፍል ዝግጁ ነበር (የመጀመሪያው ስሪት). በሴፕቴምበር ውስጥ ተለቀቀ.

AT: ኤስኤስኢን በሚገልጹበት ቦታ፣ ጊዜ ማብቂያን አይጠቀሙም። ለምንድነው?

ወይዘሪት: – እውነቱን ለመናገር፣ SSE አሁንም html5 ፕሮቶኮል ነው፡ የኤስኤስኢ ስታንዳርድ የተነደፈው እኔ እስከገባኝ ድረስ ከአሳሾች ጋር ለመገናኘት ነው። አሳሾች እንደገና እንዲገናኙ (እና ሌሎችም) ተጨማሪ ባህሪያት አሉት, ነገር ግን እኛ አንፈልጋቸውም, ምክንያቱም መረጃን ለማገናኘት እና ለመቀበል ማንኛውንም አመክንዮ ሊተገበሩ የሚችሉ ደንበኞች ነበሩን. SSE አላደረግንም፣ ይልቁንም ከኤስኤስኢ ጋር የሚመሳሰል ነገር ነው። ይህ ፕሮቶኮሉ ራሱ አይደለም።
አያስፈልግም ነበር. እኔ እስከገባኝ ድረስ ደንበኞች የግንኙነት ዘዴውን ከመጀመሪያው ጀምሮ ተግባራዊ አድርገዋል። የምር ግድ አልነበራቸውም።

AT: - ምን ተጨማሪ መገልገያዎችን ተጠቅመዋል?

ወይዘሪት: – ስታይል አንድ ለማድረግ ጎቬትና ጎሊንትን፣እንዲሁም gofmtን በንቃት እንጠቀም ነበር። ሌላ ምንም ጥቅም ላይ አልዋለም.

AT: - ለማረም ምን ተጠቀሙ?

ወይዘሪት: - ማረም በአብዛኛው የተካሄደው ሙከራዎችን በመጠቀም ነው። ምንም አራሚ ወይም ጂኦፒ አልተጠቀምንም።

AT: - የማተም ተግባሩ የተተገበረበትን ስላይድ መመለስ ይችላሉ? ነጠላ ፊደላት ተለዋዋጭ ስሞች ግራ ያጋቡዎታል?

ወይዘሪት: - አይ. እነሱ በትክክል “ጠባብ” የታይነት ወሰን አላቸው። እዚህ በስተቀር ሌላ ቦታ ጥቅም ላይ አይውሉም (ከዚህ ክፍል ውስጣዊ በስተቀር), እና በጣም የታመቀ - 7 መስመሮችን ብቻ ይወስዳል.

AT: - በሆነ መንገድ አሁንም ሊታወቅ የሚችል አይደለም…

ወይዘሪት: - አይ ፣ አይሆንም ፣ ይህ ትክክለኛ ኮድ ነው! ስለ ስታይል አይደለም። እሱ እንደዚህ ያለ መገልገያ ፣ በጣም ትንሽ ክፍል ነው - በክፍሉ ውስጥ 3 መስኮች ብቻ…

ሚካሂል ሳሎሲን. የጎላንግ ስብሰባ. በ Look+ መተግበሪያ ጀርባ ውስጥ Goን መጠቀም

ወይዘሪት: - በአጠቃላይ ፣ ከደንበኞች ጋር የተመሳሰለው ሁሉም መረጃዎች (የወቅቱ ግጥሚያዎች ፣ ተጫዋቾች) አይቀየሩም። በግምት ፣ ግጥሚያውን መለወጥ የሚያስፈልገን ሌላ ስፖርት ከሠራን ፣ በአዲሱ የደንበኛው ስሪት ውስጥ ሁሉንም ነገር በቀላሉ እናስገባለን ፣ እና የደንበኛው የድሮ ስሪቶች ይታገዳሉ።

AT: - የሶስተኛ ወገን ጥገኝነት አስተዳደር ፓኬጆች አሉ?

ወይዘሪት: - go dep እንጠቀማለን.

AT: - በሪፖርቱ ርዕስ ውስጥ ስለ ቪዲዮ አንድ ነገር ነበር ፣ ግን በቪዲዮው ውስጥ ምንም ነገር አልነበረም ።

ወይዘሪት: - አይ፣ ስለ ቪዲዮው ርዕስ ምንም የለኝም። እሱ "መልክ+" ይባላል - ይህ የመተግበሪያው ስም ነው።

AT: - ለደንበኞች እንደሚተላለፍ ተናግረሃል? ..

ወይዘሪት: - ቪዲዮን በመልቀቅ ላይ አልተሳተፍንም። ይህ ሙሉ በሙሉ የተደረገው በሜጋፎን ነው። አዎ፣ ማመልከቻው MegaFon ነው አላልኩም።

ወይዘሪት: - ይሂዱ - ሁሉንም ውሂብ ለመላክ - በውጤቱ ላይ ፣ በግጥሚያ ክስተቶች ፣ ስታቲስቲክስ ላይ ... Go የመተግበሪያው አጠቃላይ ጀርባ ነው። ተጠቃሚው ግጥሚያውን ማየት እንዲችል ደንበኛው ለተጫዋቹ የትኛውን ማገናኛ መጠቀም እንዳለበት ከአንድ ቦታ ማወቅ አለበት። ወደ ተዘጋጁ ቪዲዮዎች እና ዥረቶች አገናኞች አሉን።

አንዳንድ ማስታወቂያዎች 🙂

ከእኛ ጋር ስለቆዩ እናመሰግናለን። ጽሑፎቻችንን ይወዳሉ? የበለጠ አስደሳች ይዘት ማየት ይፈልጋሉ? ትእዛዝ በማዘዝ ወይም ለጓደኞች በመምከር ይደግፉን፣ ደመና ቪፒኤስ ለገንቢዎች ከ$4.99, በእኛ ለእርስዎ የተፈለሰፈው ልዩ የመግቢያ ደረጃ አገልጋዮች አናሎግ፡- ስለ VPS (KVM) ሙሉ እውነት E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ከ$19 ወይንስ እንዴት አገልጋይ መጋራት ይቻላል? (በRAID1 እና RAID10፣ እስከ 24 ኮሮች እና እስከ 40GB DDR4 ድረስ ይገኛል።

በአምስተርዳም ውስጥ በ Equinix Tier IV የመረጃ ማዕከል ውስጥ Dell R730xd 2x ርካሽ? እዚህ ብቻ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ከ$199 በኔዘርላንድስ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ከ$99! ስለ አንብብ የመሠረተ ልማት ኮርፖሬሽን እንዴት እንደሚገነባ ክፍል ጋር Dell R730xd E5-2650 v4 አገልጋዮች ዋጋ 9000 አንድ ሳንቲም ዩሮ?

ምንጭ: hab.com

አስተያየት ያክሉ