I am a beginner application engineer
hinata-blogs's Introduction
hinata-blogs's People
hinata-blogs's Issues
pushéç¥ã®å®è£
èŠä»¶
- èªåã®æå±ããŠããéšå±ã§èªå以å€ã®èª°ããçºèšãè¡ã£ãæãpushéç¥ãåä¿¡ã§ããããã«ããã
- ã¢ããªãéããŠãããšãã«ã¯pushéç¥ã¯åºããã«ãã¢ããªãè£ã§éãã£ã±ãªã(ãã©ã¢ã°ã©ãŠã³ã)ããã«ããŠããå Žåã®ã¿pushéç¥ïŒã€ã¡ãŒãžã¯äžããäœãåºãŠãããã€ïŒãåãåãã
䜿çšããã©ã€ãã©ãªã»ã¡ãœãã
- expo-notification
- cloud functions
- sdk-node
ãã£ããç»é¢ããªããåã
- lineã®ã°ã«ãŒãã®ãããªèŠãç®ã«ãã
åžæèŠä»¶
- ã¢ã€ã³ã³ãæããå¹ãåºãã®äžã«ãŠãŒã¶ãŒã®ããã¯ããŒã ã衚瀺ãããã
- å¹ãåºãå ã®æå»ãæ¶ãããšãã§ããã°æ¶ããå¹ãåºãã®å·Šã«è¡šç€ºããã
giftedcahtã®onSendåãåºã
- onSendã®åŠçã ãChatScreenäžã«æžãããŸãŸãªã®ã§ããã®éšåãåãåºãããã
- äžå¿ãã¡ã€ã«èªäœã¯æžããŠãããããããonSendå ã§äœ¿çšãããšããéã£ãæé¢ã衚瀺ãããªãã£ããããããã§æ¢ãŸã£ãŠããç¶æ³ã
- 調æ»ç¶æ³âonSnapshotã®åã®consoleã¯å®è¡ãããããdocChangeã®äžã®consoleã¯å®è¡ãããªãã
ãã£ããç»é¢å ã§ã®ã·ã¹ãã ã¡ãã»ãŒãžã®è¡šç€º(åªå 床äž)
çŸç¶
- ãŠãŒã¶ãŒãæ°ãã«ãã£ããã«ãŒã ã«å ¥ã£ãæã«äœã衚瀺ããããçŸç¶ãã®éšå±ã«äººãäœäººããã®ãåãããªãã
解決ç
- ãã®éšå±ã«ãŠãŒã¶ãŒãè¿œå ããããšãã«ãã·ã¹ãã ã¡ãã»ãŒãžã§ãããæ°ãã«å ¥å®€ããŸãããã¿ãããªã¡ãã»ãŒãžã衚瀺ããããŸãããã£ããç»é¢ã®ååã®é£ã«èšå®ãã¿ã³ãèšçœ®ãããããããã®éšå±ã«ãããŠãŒã¶ãŒãèŠããããã«ã
expoã§ã®ãã¡ã€ã«æ§é ã®ç解
- screenã«ç»é¢è¡šç€ºãè¡ããããã®ãè¿œå ããã®ã¯åããããã ãã®äœã£ãã³ã³ããŒãã³ããã©ãã§ãimportããŠäœ¿ãã®ããããŸãã¡ããããªãã®ã§ã調ã¹ãã
- #4
- ãããšãé¢é£æ§ãé«ãããããããŒãžã«è¡šç€ºããscreenã®èšå®æ³ããããã°ã¹ã ãŒãºã
æšãã¡ã³èšºæç»é¢äœæ
äž»ãªæ©èœ
- ã¯ã/ãããã®ïŒæã§éžæã§ããããã«ããŠããã®çãã«ãã£ãŠæ¬¡ã«åºãŠãã質åãå€æŽããã
ç»é¢ã®æåããã¶ã€ã³
- ç»é¢å šäœã«è³ªåãåºãæããã§ãOKãã¿ã³ããã¿ã³ãæŒããšã次ã®ç»é¢ãžè¡ããïŒåãã®è³ªåãåºãã
æ¹æ³ã«ã€ããŠ
- ifæãšãã§å€æããã®ãè¯ãã®ã ãããããã¹ããããªãæ·±ããªããã
-ã
ãã£ããéšå±ãžã®å ¥å®€ç¢ºèªç»é¢ã®äœæ
-
æŠèŠ
æšãã¡ã³æ±ºå®ç»é¢ã«ãããŠãããã®æšãã¡ã³ã決å®ããããæŒããããšã«é·ç§»ããç»é¢ã -
èŠä»¶
ã¿ã€ãã«âããã£ããéšå±ã«å ¥ãã
説ææâããã£ããéšå±ã«ã€ããŠã®èª¬æããæžãã
ãã¿ã³âãã£ããã®ã«ãŒã ã«é·ç§»ãããã¿ã³ãšèªåã®æå±ããŠããã«ãŒã ã衚瀺ãããŠãããããŒã ç»é¢ãã®ãããªãã®ã«ç§»åãããæ»ãããã¿ã³ã®ïŒã€ -
ä»ã€ã·ã¥ãŒã§æºããããš
ãã£ããã®å®è£ ãæåªå ã§ãããšæãã®ã§ããã£ããã®ç»é¢ãžé·ç§»ããããã²ãŒã·ã§ã³ã®ã¿å®è£ ããã
課é¡
- å ¬åŒãèªãã§ããã ãªãšããã®ããããâãããããã䜿ãããšäžæãããïŒãšããã®ããŸã ããããªã
ãããç»é¢ã®äœæ
- ã¢ããªãéãããšãã«åºåãããç»é¢ã®äœæã
- 衚瀺ãã¹ãã¯æ°èŠç»é²ç»é¢ãžãšããã²ãŒããããã¿ã³ã®äœæ
蚺æç»é¢ãäžã€ã«
ä»ã¯ã¯ããæŒããšããã²ãŒã·ã§ã³ããŠã次ã®è³ªåãšãã ããã¯ããæŒããšæ¬¡ã®è³ªåãšãã«ãããã
iconã«GBã倧ããç»åãèšå®ãããšãexpoãèœã¡ãã
-
調æ»ãã¹ãã¯ã©ã®ãããã®å€§ãããªããã¢ããªãèœã¡ãªããããããã¯ã£ãããããã°ã解決çã®æ€èšãããããã
-
èãããã解決çâã¢ã€ã³ã³ã®é£ã«ãããGB以äžã®ç»åã¯æå®ã§ããŸãããã¿ãããªé¢šã«è¡šç€ºããã
ãã£ããç»é¢å®è£
- ãŸãã¯æšãã¡ã³ãåã人å士ãé£çµ¡ãåããããã«ãããã
- ãããæŽã«å解ãããšããéä¿¡åŠçã®å®è£ ããæšãã¡ã³ãåã人å士ãšã¯ã©ãå€æãããïŒãã®ïŒã€ã«åãããã¯ãã
ã¢ããªéãããšãã«ãã£ããç»é¢ã衚瀺ãããã
èŠä»¶
- expoãéããç¬éããã£ããç»é¢äžèŠ§ã衚瀺ãããã
- ã€ã¡ãŒãžã¯ãããªã³ã¯ããããäžåãã«ããŠãå床éããšã以åãã°ã€ã³ãããŠãŒã¶ãŒã®æ å ±ã衚瀺ãããŠããã
æ å ±
- getAuthâfirebase
æšãã¡ã³ãïŒäººä»¥äžæãŠãããã«ããã
èŠä»¶
- çŸç¶ã¯æšãã¡ã³ãäžäººããæãŠãªãç¶æ³ã§ããããïŒäººä»¥äžæãŠãããã«ãããããã«äŒŽãïŒäººã®ãŠãŒã¶ãŒãè€æ°ã®éšå±ã«æå±ã§ããããã«ãªãããéšå±äžèŠ§ã«è€æ°ã®éšå±ã衚瀺ãããããã«ãªãã
ä»æ§
- æšãã¡ã³æ±ºå®ã®ç»é¢ã®æ¬¡ã«ã2æšãã蚺æç»é¢ãè¿œå ãããã蚺æããããã¿ã³ãšæ°ã«ãªãã¡ã³ããŒãèšå®ããªããèšå®ããªãããã¿ã³ãè¿œå ããã
- ãèšå®ããªãããã¿ã³ãæŒããéã«ã¯ãçŸåšãšåãã«ãŒãã£ã³ã°ããããã蚺æããããã¿ã³ãæŒããéã«ã¯ãå蚺æã®ããžãã¯ãšåãããã«è³ªåã®äžçªæåã«é·ç§»ãããã
- ãããçµäºããéã®ç»é¢ããæšãã¡ã³æ±ºå®ç»é¢ããšåãã§ããã
- ãã®åŸããã£ããå ¥å®€ç»é¢ãã«ã¯é·ç§»ãããããããåé¡ãâãã£ããã«é·ç§»ããã®ã¯ç¬¬ïŒæšãã¡ã³ã®éšå±ã§ããã第ïŒæšãã¡ã³ã®éšå±ã¯ã«ãŒã äžèŠ§ç»é¢ã«è¡šç€ºããæããå ¥å®€æé(enterRoomTime)ã¯å ±éã§è¯ãã
é¢ä¿ããããªãã¡ã€ã«
- YourRecommend.tsx
- RoomList.tsx
serverãã£ã¬ã¯ããªã®å®è£
ãã¢ã¢ããªã®äœæ
- ããã䜿ã£ãŠã¢ããªã®äœæã€ã¡ãŒãžãåºãããä»æ§ã®ç解ããŸã æ·±ããã¡ã«æ±ºããŠããŸãã
- æéã¯ïŒæéã»ã©ãããã«åãå¿ èŠã¯ãªããã€ã¡ãŒãžãåºããã
çŸç¶ã®äžå ·å
- ç»é²æãã¢ã€ã³ã³ãèšå®ããåŸã«ã¡ã¢ããå€æŽãããšããã®ã¡ã¢ãã®ç»åãèŠã€ãããªãããããšã©ãŒãèµ·ããã
- ç»é²æãã¡ã¢ããæ¢ã«äœ¿ãããŠãå Žåãªã©ã¡ã¢ããå€æŽããŠå床ç»é²ããŠãäžã®ãã€ãšåããšã©ãŒãèµ·ããã
- ç·šéãåæ ãããã¿ã³ãïŒåæŒããªããšã ãã
æå±éšå±äžèŠ§è¡šç€ºç»é¢ã®å®è£
- ãã£ããç»é¢ããæ»ãéã«ãè¡ãã®ããã®ç»é¢ãèªåã®æå±ããŠãããã£ããéšå±ãäžèŠ§ã§è¡šç€ºããããã®ååã®éšå±ãã¯ãªãã¯ãããšå床ãã£ããã®ç»é¢ã«è¡ããã
- éšå±ã«æ»ã£ãåŸãšåã§è¡šç€ºããããã£ããã®å 容ãå€åããŠã¯ãããªãã
- ã¬ã€ã¢ãŠãçã«ã¯å·Šã«æšãã¡ã³ã®ç»åïŒäžžïŒããã®å³ã«ãå°åèç·ã®ãã£ããã«ãŒã ãã¿ãããªæãã§è¡šç€ºãããã
ããã¯ããŒã ãã¢ã€ã³ã³ãå€æŽããŠããã£ããç»é¢ã§ã¯åæ ãããŠããªãã
- èšå®ç»é¢ã§ã¢ã€ã³ã³ãããã¯ããŒã ãå€æŽåŸããã£ããç»é¢ãèŠããšåã®ã¢ã€ã³ã³ã衚瀺ãããŠããã
firebaseã®ããŒã¿ååŸhooksã®äœæ
äœãããšæãããã£ãã
- ãã¡ãã¡collection䜿ã£ãŠããåç §ååŸããŠããšãããã®ãé¢åãå éšåŠçã¯ã ãããåããªã®ã§ããªããäžã€ã«ãŸãšããããªãšæãã
泚æ
- åªå 床ã¯ãã¡ãäœãã®ã§ã
ç»é¢é·ç§»æã«äžç¬undefã«ãªã£ãŠããŸãããã®ããã§falseåŽã®è³ªåã衚瀺ãããŠããŸãã
-
仮説âäžç¬useStateã§ä¿æããå€ããundefinedã«ãªã£ãŠããŸãããããããfalseèªå®ãããŠããŸããããäžç¬falseåŽã®è³ªåã衚瀺ãããŠããŸãã
-
解決çâundefinedã®ãšãã«loadingã衚瀺ã§ããããã«ããã
PUSHéç¥ã®èª¿æ»
-
pushéç¥ã«ã¯ããŒã«ã«éç¥ãšãªã¢ãŒãéç¥ã®ïŒã€ããããããŒã«ã«éç¥ã¯æå®ãããã³ã³ãã³ããé ä¿¡æ¡ä»¶ã«åºã¥ããŠãŠãŒã¶ãŒãžéç¥ãéããä»åã¯ããŒã«ã«éç¥ã
-
FCMã䜿ããšèªåã§swiftãªã©ã®ãã€ãã£ãèšèªã§æžããªããã°ãããªãã®ã§ãå³ãããã ããexpoãèªåã§ããã®åå²ããã£ãŠãããã®ã§ãexpo-notificationã䜿ãã
-
åèãµã€ã(expo-notification + cloud functions)
-
https://docs.expo.dev/push-notifications/sending-notifications/
-
åèãµã€ã(FCM + Cloud function)
æšããäºäººãããšãã§ãäžäººãã衚瀺ãããªã
衚瀺ã«ã€ããŠã¯ããŸãããããâäžäººããããªããšãã«ã¬ã³ããªã³ã°ãèµ°ã£ãŠããŸãããããä¿æããããŸãŸãªã®ã§ãïŒäººæšãã¡ã³ãããã®ã«ïŒäººãã衚瀺ãããŠããªãã
Originally posted by @yuki-hinata in #57 (comment)
çŸåšããroomIdãååŸãã
- æšãã¡ã³ãäºäººãã以äžçŸåšã©ã®éšå±ã«ããã®ãã«ã€ããŠå€æããæ¹æ³ãã»ãã
roomListã®è¡šç€º
https://reactnativeelements.com/docs/2.3.2/listitem
- ãã䜿ã£ãŠmapããããã®ããã«roomIdãå ¥ã£ãé åãåã£ãŠããªããã°ãªããªãã
æ°èŠç»é²ç»é¢ã®äœæ
- ãããç»é¢ã®ãæ°èŠç»é²ãè¡ãããpushãããšããã®ç»é¢ã«è¡ãã
- ãã¢ã¢ããªãåèã«
ããªããŒã·ã§ã³ã®è¿œå
ãã£ããç»é¢ãéä¿¡åŠçã®å®è£ ã
#30 ã®å®æãžããã¹ãããšã
- å ·äœçã«ã¯onSendã®äžãã©ãå®è£ ããã®ãïŒ
ãã°ã¢ãŠãåŠçæã®äžå ·å
- onSnapshotã®è³Œèªã解é€ããŠããªãããšã«ãã£ãŠãçãããšã©ãŒãããã
- ãã°ã¢ãŠããè¡ã£ãŠãæ°èŠç»é²ãããšãã£ãã確èªç»é¢ãæ ã
ãã°ã¢ãŠããè¡ãâæ°èŠç»é²ãããâãšã©ãŒçºç
ãã°ã¢ãŠããè¡ãâæ°èŠç»é²ãããâãšã©ãŒçºç
åå âæ°èŠç»é²åŸuserã«æ
å ±ãå
¥ãã®ã¯ããããããã§ãroomIdã¯å
¥ã£ãŠã¡ããã¡ãªã®ã«å
¥ã£ãŠããããªã®ã§ãtabã®ãšããã«é·ç§»ããã
Originally posted by @yuki-hinata in #50 (comment)
蚺æç»é¢ã®ãã¹ãäœæ
- æåã§ç¢ºèªã¯ã§ããããäžã äŒå¡ç»é²ãèžãŸãªããšãããªããããããªãæéããããããã®ããããã¹ãã³ãŒããæžãã®ããäžçªå¹çãè¯ããå®å¿ã ãšæãã
ãŠãŒã¶ãŒãããã£ãŒã«ç·šéç»é¢ã®å®è£
- tabããã²ãŒã¿ãŒå®è£ åŸã«è¡ãã
- å·Šã«ãã®ãŠãŒã¶ãŒãèšå®ããã¢ã€ã³ã³ç»åã衚瀺ããããã®å³ã«ããã¯ããŒã ã衚瀺ããããŠãã®å³ã«ãç·šéããã¿ã³ãäœãããããæŒããšç·šéç»é¢ã衚瀺ãããã¢ã€ã³ã³ç»åãããã¯ããŒã ã®å€æŽããããšãå¯èœã
- ãæ°èŠç»é²ç»é¢ããåèã«å®è£ ããã
React 18.0.0ãžã®ã¢ããããŒã
äžå ·åä¿®æ£
- äŒå¡ç»é²ãè¡ãéã«ã
storage/object-not-found
ãšã©ãŒãçºçããã - firestoreã®firstAnswerã«ç©ºæååãå ¥ãã
- ã¡ã¢ããå€ããŠãå床äŒå¡ç»é²ããããšããŠãã§ããªãã(ã¢ã€ã³ã³ãå€æŽããã°ã§ãã)âuserã®æåã«ããã®ã§ãåŸã§ããã
蚺æãçµãã£ããã©ãããå€æããå€æ°ã®æ€èš
- 以åã¯roomIdãååšããŠãããã©ããã§èšºæãéäžã§ããããšããŠããæåãã蚺æãããããã«ããããæšãã¡ã³è€æ°ä¿ææ©èœã®è¿œå ã«ãã£ãŠããã®å€æãã§ããªããªã£ãããã®ãããroomIdã®ä»£ãããšãªããã®ãäœãoræ¢ãã
- loadingã¯ã ããéå£ãšãªãã®ã¯whereã«undefinedãå ¥ã£ãŠããŸãããšã«ããããšã©ãŒã®çºçããããèµ·ãããšTopç»é¢ããé²ãŸãªãã
firestoreéå°èªã¿åºã[è³æ¥]
ãã£ããã®å±¥æŽãèŠããªã
- äžåºŠBackãã¿ã³ãªã©ãåã®ç»é¢ã«æ»ããå床ãã£ããéšå±ã«å ¥ããšåèŠãããšãã§ããŠããã¡ãã»ãŒãžã衚瀺ãããŠããªãã
- useEffectã®ç¬¬ïŒåŒæ°ãnameã ãã ããã¬ã³ããªã³ã°ãããã衚瀺ããããªããšèããã
firestoreã«iconã«æå¹ãªURIãåã蟌ã
- ãã£ããã§ã®ã¢ã€ã³ã³ããããã£ãŒã«ç·šéç»é¢ã§ãŠãŒã¶ãŒã®ã¢ã€ã³ã³ãä¿æããŠããå¿ èŠããããããfirestoreã§ä¿åãããã¢ã€ã³ã³ã®URIãåã£ãŠããŠããŠè¡šç€ºããå¿ èŠãããã
- ãã®ãããfirestoreã«ä¿åãããã¢ã€ã³ã³ã®URIãæå¹ã§ãªããšã衚瀺ã§ããªãã
æ°èŠç»é²ç»é¢ã§ã®ã¬ã³ããªã³ã°åæ°ã®ç¯çŽ
- consoleãåã蟌ãã§ç¢ºèªãããšãããã€ã³ãããæ¬ã«æåå ¥åãç¶ãããã³ã«ã¬ã³ããªã³ã°ãèµ°ã£ãŠããã
renderActionãã¯ãªãã¯ãããšã¢ããªãèœã¡ã
- renderActionã䜿ã£ãŠãiconã衚瀺ãããããã®åŸã¯ãªãã¯ãããšã¢ããªãèœã¡ã
ã¢ã€ã³ã³ã«ã€ããŠæåã«èšå®ããããã®ããå€æŽãããšãã«ããŠãŒã¶ãŒã®ã¡ã¢ãã§ã¹ãã¬ãŒãžã«ä¿åããŠããã®ã§ãéãç»åã衚瀺ãããå¯èœæ§ãã
éšå±äžèŠ§ãããã®éšå±ã«å ¥ã£ããšããéãéšå±ã§çºèšããã¡ãã»ãŒãžã衚瀺ãããŠããã
- ã¿ãŒã±ãã®éšå±ã§ã¡ãã»ãŒãžãéããéšå±ã«æ»ãããããŠã²ãªã®ã®éšå±ã«å ¥ããšã¿ãŒã±ãã®éšå±ã®ã¡ãã»ãŒãžã衚瀺ãããŠããã
jest 27.5.1ãžã®ã¢ããããŒã
RootNavigatorã®æžãæã
- ç»é¢é·ç§»ã¯å¯èœã§ããããåãšã©ãŒã«ãªã£ãŠããŸãã
- å ¬åŒããã¥ã¡ã³ããåèã«ãåæå®ãè¡ãã
eslintã®è¿œå
- èŠãããã³ãŒããæžãããã«ãã»ããã¢ãããå¿ èŠã
ã¿ãããã²ãŒã¿ãŒã®å®è£
- äžçªäžã®ç»é¢ã«ãã£ããã®éšå±äžèŠ§ã衚瀺ãããç»é¢ãšãŠãŒã¶ãŒã®ããã¯ããŒã ããããã£ãŒã«ç»åãå€æŽã§ããç»é¢ã®ïŒã€ãè¡ãæ¥ã§ããããã«ããã
typescript 4.6.3ãžã®ã¢ããããŒã
ãã£ããç»é¢ãåãæšãã¡ã³å€ææ¹æ³ã
#30 ã®å®æãžããã¹ãããšã
- YourRecommendã®userIdsãåã£ãŠããŠããã®idãsetMessageå ã®userã«ã»ãããããæã
æ°èŠç»é²ç»é¢ã®äœæ
- https://www.fluidui.com/ã
- ããããããŸã§åèã«ãæ°èŠç»é²ç»é¢ããäœæããã
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
ð Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ððð
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â€ïž Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.