ç§éã¯ç§éã®æè²ãããžã§ã¯ãã®åŠçã®åæ¥ãããžã§ã¯ãã«ã€ããŠè©±ãç¶ããŸãããã®å·ã§ã¯ãTechnoparkã®ãDevelopmentin C ++ããšããåéã®3ã€ã®ãããžã§ã¯ãã«ã€ããŠèª¬æããŸããåã®åºçç©ïŒ1ã2ã3ã4ã
â . .
JunTracker â CRM
ãããžã§ã¯ãã®äœæè ã¯ãå®éã«äœ¿çšã§ãã䟿å©ãªããšãããããšèããŠããŸãããåŠçã®1人ã¯ãè¿œå æè²ã®åŠæ ¡ã§ããããå·¥åŠãããã°ã©ãã³ã°ãããã³3Dã¢ããªã³ã°ã®æåž«ãšããŠåããŠããŸããã Excelã§ã¯ãã¹ã±ãžã¥ãŒã«ã財åäŒèšãããã³åŠçã®æ瞟ãèšèŒããããžã£ãŒãã«ãäœæãããŸãããããã¯ãã¹ãŠç¥èŠããã®ãéåžžã«äžå¿«ã§ãããããªãã¯ããªãã®äž¡èŠªãèŠããããšãã§ããŸããããã®ããã«ããŠããã®ãããªåŠæ ¡ã«äŸ¿å©ãªãµãŒãã¹ãäœæããã¹ã±ãžã¥ãŒã«ãäœæããåŠæ ¡ã®è²¡æ¿ãç£èŠããåŠçã®ããã®é»åãžã£ãŒãã«ãç¶æã§ããããã«ãããšããã¢ã€ãã¢ãçãŸããŸããããã®å ŽåããµãŒãã¹ã¯æš©å©ã®åé¢ã䌎ãå¿ èŠããããŸãã
CRMã¯1åŠæã«ãŒãããäœæãããŸãããç§ãã¡ã¯ããããã®ããšãããŸãããããªããšãããããšãã§ããŸããã§ããã次ã®åŠæã«ãèè ã¯Reactã«ããã³ããšã³ããGoã«ãµãŒããŒãåãã2çªç®ã®ããŒãžã§ã³ãäœæããŸãã
å·ŠåŽã¯åŠæ ¡ã®ç®¡çè çšã§ãå³åŽã«ã¯åœæ¥ã®ãã¹ãŠã®æ å ±ã衚瀺ãããŸããåŠçããŒã¿ããŒã¹ã¯å§åã§æ€çŽ¢ã§ããŸãã
ååŠçã¯çµ±èšä»ãã®å人ã«ãŒããæã£ãŠããŸãïŒ
CRMã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸãã
ããã³ããšã³ãã¯JSãHTMLãCSSã§æžãããŠããŸããç¶æ ãã¿ãŒã³ãšè€åãã¿ãŒã³ã䜿çšããŸãããã³ãã¬ãŒãã¯ãDjangoæ§æãšããã¡ã¯ããªãŒããã¿ãŒã³ã䜿çšããŸãããµãŒããŒã¯ã¡ãã£ãšãŒã¿ãŒãã¿ãŒã³ã䜿çšããŸããPostgreSQLããŒã¿ããŒã¹ãæäœããããã«ãäœæè ã¯ã©ãããŒãäœæããŸããã
ãããžã§ã¯ãããŒã ïŒMark BykhovetsãMikhail TruschelevãTimofey MakarovãAndrey Mavrin
GitHubãªããžããªã
ãããžã§ã¯ãé²è¡ããã®ãããªã
ãã¹ã¯ãããã¡ãã»ã³ãžã£ãŒJMICKHENGER
åŠçãã¡ã¯ããã®ãããªææ°ã®ã¢ããªã±ãŒã·ã§ã³ã®åºæ¬çãªæ©èœãåããã¡ãã»ã³ãžã£ãŒãäœæããããšã«ææŠããããšèããŠããŸãããJMICKHENGERã¯LinuxãšmacOSã§åäœããŸãã圌ã¯ãé£çµ¡å ãªã¹ãã®ãŠãŒã¶ãŒãšã®äŒè©±ãäœæãïŒ1ã€ã®ãã£ããã§ç¡å¶éã®æ°ã®ãŠãŒã¶ãŒããµããŒãïŒãç»åãéä¿¡ããã¡ãã»ãŒãžã®ã¹ããŒã¿ã¹ïŒæ¢èªãã©ããïŒã衚瀺ããæ¹æ³ãç¥ã£ãŠããŸãã
ã¡ãã»ã³ãžã£ãŒã¯ã次ã®ãã¯ãããžãŒã䜿çšããŠäœæãããŸããã
- OpenSSLã
- Qt-ã€ã³ã¿ãŒãã§ã€ã¹ã®ã¬ã³ããªã³ã°ã«äœ¿çšãããMVCãã¶ã€ã³ãã¿ãŒã³ãé©çšãããŸãã
- ããŒã¹ãã
- MongoDBã
- SQLiteã
äžè¬çãªã·ã¹ãã ã¢ãŒããã¯ãã£ïŒ
ã¢ããªã±ãŒã·ã§ã³åŽã«ã¯ããããã¯ãŒã¯ããŒãã©ã€ãã©ãªããããŸãããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãæäœãããšããã«ãç¹å®ã®ã¯ã©ã€ã¢ã³ãé¢æ°ãåŒã³åºãããŸãããŸããã¢ã¯ã·ã§ã³ã«å¿ããŠãå¿ èŠãªæ©èœãåããã³ãŒã«ããã¯ãæž¡ãããŸãããã®ã³ãŒã«ããã¯ã¯ããããã¯ãŒã¯ããŒãããµãŒããŒããã®å¿çãåŠçããããã¢ãã«ã«ãšã©ãŒãéç¥ããåŸã«å®è¡ãããŸãã誀ã£ãã¢ã¯ã·ã§ã³ã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯å ¥åãããããŒã¿ãŸãã¯ãã®ä»ã®ã¢ã¯ã·ã§ã³ã®äžæ£ç¢ºããåŠçããŠãŠãŒã¶ãŒã«éç¥ããŸãïŒééã£ããã°ã€ã³ãŸãã¯ãã¹ã¯ãŒããæ¢ã«ç»é²ãããŠãããŠãŒã¶ãŒãååšããªãå人ããŸãã¯å人ããã§ã«ãªã¹ãã«ãããªã©ïŒããµãŒããŒãžã®ãªã¯ãšã¹ãæ°ãåæžãããŸããããã£ããå ã®ãã¹ãŠã®ãŠãŒã¶ãŒã«éç¥ããããã«äžæã®IDãå²ãåœãŠããããªã¯ãšã¹ãã®ä»£ããã«äœ¿çšãããŸãããã£ãã¡ãªãŠãŒã¶ãŒã«å¯Ÿããä¿è·ããããŸãããªã¯ãšã¹ããéä¿¡ãããã³ã«åããã¿ã³ãäœåºŠãã¯ãªãã¯ããã®ã¯ç¡æå³ã§ããã§ããã ãæ©ããµãŒããŒããã®å¿çãååŸããããšæã£ãŠããŸã:)
ãããã¯ãŒã¯éšåã¯ãªã¢ãŒããµãŒããŒãšçžäºäœçšããŸããéåæã¯ã©ã€ã¢ã³ãã¯å¥ã®å°çšã¹ã¬ããã§å®è¡ãããBoostAsioã䜿çšããŠèšè¿°ãããŸããã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒãžã®TLSæ¥ç¶ãç¶æããŸããããŒã¿äº€æãã©ãŒãããã¯JSONã§ãã OpenSSLã¯ã»ãã¥ãªãã£ã®ããã«äœ¿çšãããŸãããããã¯ãŒã¯éšåãšã®çžäºäœçšã¯ãã³ãŒã«ããã¯ã䜿çšããŠè¡ãããŸããäžéšã®ã³ãŒã«ããã¯ã¯ããµãŒããŒããã®å¿çãå°çããåŸã«1åå®è¡ãããŸããããã®ä»ã®ã³ãŒã«ããã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã®æäœã®å šæéã«ããã£ãŠèšå®ããããµãŒããŒããç¹å®ã®æ å ±ãåä¿¡ãããã³ã«ããªã¬ãŒãããŸãïŒGoogle Firestoreã®ãªãã¶ãŒããŒã«é¡äŒŒïŒããã£ãã«æŽæ°ãããªãäžéšã®æ å ±ã«ã€ããŠã¯ãSQLiteã䜿çšããŠãã£ãã·ã¥ãå®è£ ãããŸãã
éåæTCPãµãŒããŒããBoostAsioãšOpenSSLã䜿çšããŠäœæãããŠããŸãããµãŒããŒã¯äžæã®IDãæã€æ¥ç¶ãèå¥ããèŠæ±ãã¥ãŒã䜿çšããŠãããã®å®è¡ãããžãã¹ããžãã¯ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«å§ä»»ããŸãããŸããmongocxxã©ã€ãã©ãªã䜿çšããäœæè ã¯ãMongoDBãæäœããããã®ã©ãããŒã¯ã©ã¹ãäœæããŸããããããäœæãããšããmongocxxã©ã€ãã©ãªã䜿çšãããŸãããããžãã¹ããžãã¯ã¯ãæ¡ä»¶ä»ãã§3ã€ã®éšåã«åããããšãã§ããŸããJSONã®åœ¢åŒã§ã¯ã©ã€ã¢ã³ãããèŠæ±ãåä¿¡ããããã解æããŸããããŒã¿ããŒã¹ãæäœããå Žåã«ãã£ãŠã¯ãããŒã¿ããŒã¹ã®æ£ç¢ºæ§ã確èªããŸããã¯ã©ã€ã¢ã³ããžã®å¿çã®åœ¢æãããã«ãããžãã¹ããžãã¯ã¯åçã©ã€ãã©ãªãšããŠå®è£ ãããŠããããããµãŒããŒããŒããšçµã¿åããããšãã䟿å©ã§ãã
ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®ããŒã¿äº€æã®ã¹ããŒã ïŒ
ãããŠããããããŒã¿ããŒã¹ãšã®ããŒã¿äº€æã®ä»çµã¿ã§ãã
ãããžã§ã¯ãããŒã ïŒKonstantin PavlovãSergey AlekseevãNikolay ManzeevãNikitaShchelkanovã
GitHubãªããžããªã
ãããžã§ã¯ãé²è¡ããã®ãããªã
ããŒã³ãŒãã·ã¹ãã
èè ãã¯ãããããçš®é¡ã®é»åæ©åšã補é ããäŒæ¥åãã«ããŒã³ãŒãã·ã¹ãã ãäœæããŸããããã®ã·ã¹ãã ã¯ã補åãèªåçã«èæ ®ããæè¡ããã»ã¹ã®ããŸããŸãªæ®µéãééãã補åã®ééãå¶åŸ¡ããçç£ã®èªååãä¿é²ããããšãã§ããŸãã
ãã®ã·ã¹ãã ã¯ã補åã®çç£ã管çããè² æ ã軜æžããŸãããã¹ãŠã®é¢é£æ å ±ã¯ãªã³ã©ã€ã³ã§å ¥æã§ããŸãããã®ã·ã¹ãã ã¯ã補é ã®ããŸããŸãªæ®µéã§è£œåãã«ãŠã³ãããéã®äººçãšã©ãŒãæé€ããŸãã
äœæ¥ã¹ããŒã ïŒ
ã¯ã©ã€ã¢ã³ããœãããŠã§ã¢ã䜿çšãããšãããŒã³ãŒããçæãã補é ãã補åããµãŒããŒäžã®ããŒã¿ããŒã¹ã«ç»é²ã§ããŸããåºæŒè ã¯ã¯ã€ã€ã¬ã¹ã¹ãã£ããŒã䜿çšããŠãããã±ãŒãžãŸãã¯è£œåèªäœã«å°å·ãããŠããããŒã³ãŒããèªã¿åããŸããã¹ãã£ããŒã¯ã¹ãã£ã³ãããããŒã³ãŒãã«é¢ããæ å ±ãéä¿¡ããããŒã¿ããŒã¹ã«æ°è£œåã®ç»é²ãäŸé ŒããŸãã
ã·ã¹ãã ã«ã¯ã次ã®ãããªã¯ã€ã€ã¬ã¹ããŒã³ãŒãã¹ãã£ããŒãå¿ èŠã§ãã
ãã¡ãŒã ãŠã§ã¢ã®æ©èœïŒ
- Cã®ã¿ããµããŒãããæå 端ã®IDE
- ããŒããã£ã¹ãã¬ã€ãã©ã€ããWiFiãå éšã¹ãã¬ãŒãžãã¹ãã£ã³ããŠæäœããããã®ãéšåçã«ææžåãããCAPIã
- ãã¡ãŒã ãŠã§ã¢ãã¡ã¢ãªã«ããŒãããããã®ãŠãŒãã£ãªãã£ããããŸãã
ã¹ãã£ããŒãããŒã³ãŒãã·ã¹ãã ãšäºææ§ãæãããããã«ããããžã§ã¯ãã®äœæè ã¯IDEããªããŒã¹ãšã³ãžãã¢ãªã³ã°ããŸãããããã€ã¹ã«ã¯ãARMv7-Mã³ã¢ãåããSTM32F103xxãã€ã¯ãããã»ããµãè£ åãããŠããããšãå€æããŸããããŸããAPIåŒã³åºããåŠçããããã®ããžãã¹ããžãã¯ãåããéçã©ã€ãã©ãªãèŠã€ããããšãã§ããŸããã
ã·ã¹ãã ã®éçºã«äœ¿çšãããããŒã«ïŒ
- cc-arm-none-eabiïŒGNU ARM ToolchainïŒ-ARMã¢ãŒããã¯ãã£çšã®éçºçšããŒã«ã®ã»ããïŒã³ã³ãã€ã©ã++ãASM; ldãobjdumpïŒã
- ãªã³ã«ãŒã¹ã¯ãªãã-ãã©ãã·ã¥ããã³RAMããŒã¯ã¢ããçšã
- ãã«ãã·ã¹ãã ãšããŠã®cmake + STM32ãã€ã¯ãããã»ããµçšã®ã¯ãã¹ã³ã³ãã€ã«çšã®cmakeããŒã«ãã§ãŒã³ãã¡ã€ã«ïŒãªããžããªhttps://github.com/ObKo/stm32-cmakeã«æè¬ïŒ/
- ä»æ§ãããã¥ã¡ã³ããStackoverflowãããŒãå¥ãã©ãŒã©ã ã
次ã®ã¢ãžã¥ãŒã«ãäœæããå¿ èŠããããŸããã
- ããŒãä»ãããŠãŒã¶ãŒæäœçšã®ã©ãããŒã¯ã©ã¹ã
- ãŠãŒã¶ãŒãšé£æºããããã®ãGUIãã
- ã¹ãã£ããŒAPIã«å®è£ ãããIPã¬ã€ã€ãŒäžã®TCP-HTTP-JSONã¹ã¿ãã¯ã
- ããŒã³ãŒããã¹ãã£ã³ããŠã¹ãã£ã³çµæãååŸããããã®ã¹ãã£ããŒAPIã®ã©ãããŒã¯ã©ã¹ã
次ã«ãããŒã ã¯æ¬¡ã®ããšãå¯èœã«ããã¯ã©ã€ã¢ã³ããœãããŠã§ã¢ãäœæããŸããã
- ãŠãŒã¶ãŒãæ¿èªããŸãã
- ãã¹ãŠã®è£œåã¢ãã«ãšãããã«é¢ããæ å ±ã衚瀺ããŸãã
- ãã¹ãŠã®ããã€ã¹ã衚瀺ããŸãã
- ããã€ã¹ãè¿œå ããŸãã
- ã¢ãã«ãè¿œå ããŸãã
- ã¢ãã«ã®ããŒã³ãŒããçæããŸãã
- ããªã³ã¿ãŒã§ããŒã³ãŒããå°å·ãã
- ããŒã³ãŒãããã¡ã€ã«ã«ä¿åããŸãã
ãã®ãœãããŠã§ã¢ã¯ä»¥äžã§æžãããŸããïŒ
- QtCreatorïŒã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ïŒã
- ããŒã¹ãïŒãããã¯ãŒãã³ã°ã®å®è£ ãšJSON解æïŒã
- 補åIDãããŒã³ãŒãã«å€æããããã®ã©ã€ãã©ãªã
HTTPãµãŒããŒã¯ãBoost.beastãMySqlCppConnectorãBoost.threadãããã³OpenSSLã䜿çšããŠæ§ç¯ãããŸãããã®ã¿ã¹ã¯ïŒ
- HTTPãªã¯ãšã¹ãã®åä¿¡ã
- ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ã
- ãŠãŒã¶ãŒ/ã¹ãã£ããŒèªèšŒã
- ãŠãŒã¶ãŒ/ã¹ãã£ããŒã®ç»é²ã
- äžæã®QRã³ãŒãã®çæã
- HTTPå¿çã®éä¿¡ã
MySQLã¯ããŒã¿ããŒã¹ãšããŠæ©èœããŸãã
ãµãŒããŒãšããŒã¿ããŒã¹ã®ã¢ãŒããã¯ãã£ïŒ
ãããžã§ã¯ãããŒã ïŒDaniil ChernyãNikolay UmrikhinãSergey Chepurnoy
ãããžã§ã¯ãé²è¡ããã®ãããªã
ããªãã¯ãã®ãªã³ã¯ã§ç§ãã¡ã®æè²ãããžã§ã¯ãã«ã€ããŠãã£ãšèªãããšãã§ããŸãããããŠãTechnostreamãã£ãã«ã«ã¢ã¯ã»ã¹ããããšãå€ããããã°ã©ãã³ã°ãéçºããã®ä»ã®åéã«é¢ããæ°ãããã¬ãŒãã³ã°ãããªãå®æçã«è¡šç€ºãããŸãã