ã¯ããã«
ã¯ãããŸããŠã
ãã¡ããå人éçºã®èšäºã«ãªããŸãã
è¯ããã°èªãã§ã¿ãŠãã ããã
察象èªè
- SNSç³»ã®Webãµã€ãã®å人éçºã«èå³ã®ããæ¹ã
- ããŸãã³ãŒããæžããŠããªãã£ã30代ããä»äºãèŸããŠéçºã«å°å¿µãããšã©ããªãã®ããæ°ã«ãªãæ¹ã
- ãšã³ãžãã¢ã«è»¢è·ãããªã©ãç®çã«äžæŠç¡è·ã«ãªã£ãŠéçºããŠã¿ããšããéžæè¢ãæ€èšäžã®æ¹
éçºè ã®ã¹ããã¯
- 34æ³
- ç§ç«æç³»åŠéšå
- 倧åŠåæ¥åŸãäºåè·ã2幎éçµéšããã®åŸã
çŽ8幎éITç³»äŒæ¥ïŒå®¢å åžžé§ïŒã«å€åããæšå¹Žéè·ã - ããã°ã©ãã³ã°ã®å®åçµéšïŒPL/SQLâ
çŽ3ãæã
ãã®ä»Javaã®æ¹ä¿®ãªã©ãåèšãããšæ°ãæçšåºŠã
çµç·¯
æããSNSããããã³ã°ã¢ããªç³»ã®ãµã€ããèªåã§äœã£ãŠã¿ãããšæã£ãŠããŸããã
çŸåš1人ã倧å¢ã«çºä¿¡ããã¿ã€ãã®SNSãäž»æµãªæ°ãããŸããã
ã©ã¡ãããšãããšãããã³ã°ã¢ããªã®ãããªã1察1ã§ããåããè¡ããµãŒãã¹ã®æ¹ã奜ãã§ããã
ããšã¯ãããã³ã°ïŒãŠãŒã¶ãŒãšãŠãŒã¶ãŒãçµã³ã€ããïŒã®å¥æ©ãããéžæžïŒæ¬ã®ãªã¹ã¹ã¡ïŒããšããã®ã¯å€ãã£ãŠãŠã¢ãªãªã®ã§ã¯âŠãšæããéçºããŸããã
äœã£ããã®
æ¬ããªã¹ã¹ã¡ãåãSNS
ãBookFellowsãïŒâ»Î²çïŒ
ä»ã®äººã®å¥œããªæ¬ããããã£ãŒã«ãã¿ãŠããã®äººã«åããããªæ¬ããªã¹ã¹ã¡ãã
ãäºãã«æ¬ã1å以äžãªã¹ã¹ã¡ããå Žåãã¡ãã»ãŒãžã®ããåããå¯èœã
éçºæé
äŒç»ãªã©ãå«ãå
šéšã§çŽ7ãæããã£ããšæããŸãã
ããçµéšè
ã®æ¹ãæªçµéšè
ã®æ¹ãä»äºããªãã3ãæã1ãæã1é±éãªã©ã§äœã£ãŠããã®ãèŠãŠããã®åããããããããŸããã
ãã®éãå®å®¶ã®æäŒãïŒèªå¶æ¥ïŒããããä»ã®ããšããã£ãŠã¯ããã®ã§ãããBookFellowsã®éçºã«äžçªæéãå²ããŠãããšæããŸãã
æè¡ã»ç°å¢
- Python3
- Django
- jQueryïŒJavaScriptïŒ
- Redis
- WebSocketïŒDjango ChannelsïŒ
- Cloudinary
- SendGrid
- Windows10
- VisualStudioCode
- Heroku
äž»ãªåäœ
- æ¬ã®éžæž
- éžæžãããæ¬ãéå°
- ãããã³ã°
çžæåŽããæ¢ã«éžæžãããŠããå Žåãèªåãéžæžããããšã§ããããã³ã°ïŒã¡ãã»ãŒãžäº€æãå¯èœãªç¶æ ïŒãæç«ããŸããïŒãã®éãç¶ãïŒ
- ã¡ãã»ãŒãžéåä¿¡ïŒãããã³ã°åŸïŒ
ãããã³ã°ãããšãã¡ãã»ãŒãžã®éåä¿¡ãå¯èœã«ãªããŸããïŒãªã¢ã«ã¿ã€ã ãã£ããïŒ
ç»é¢
äž»èŠãªç»é¢ã®ã¿èª¬æããŸãã
ãã°ã€ã³ç»é¢
ã¡ãŒã«ã¢ãã¬ã¹ãGoogleãTwitterã®ã¢ã«ãŠã³ãã§ç»é²å¯èœã§ãã
ããŒã ç»é¢
æ°çæ
å ±ãã¿ã€ã ã©ã€ã³ããããããŠãŒã¶ãŒãªã©ã衚瀺ã
æ¬ã®éžæžïŒãªã¹ã¹ã¡ïŒããã£ãããã¡ãã»ãŒãžãå±ããããããšãæ°çæ
å ±ãšããŠããŒã ç»é¢ã«è¡šç€ºãããŸãã
ã¿ã€ã ã©ã€ã³ã«ã¯ã¿ããªã«éžæžãããæ¬ã衚瀺ãããŸãã

ãã€ããŒãž
ãã€ããŒãžã«ã¯ãã°ã€ã³ãŠãŒã¶ãŒã®æ
å ±ãæ²èŒãããŸãã
ç·šéã¢ã€ã³ã³ãæŒäžãããšåé
ç®ã®ç·šéç»é¢ã«é·ç§»ããŸãã
ãŠãŒã¶ãŒæ€çŽ¢
ãŠãŒã¶ãŒãæ€çŽ¢ããç»é¢ã§ãã
æ§å¥ã幎霢ããšãªã¢ã§æ€çŽ¢å¯èœã§ãã
ãã°ã€ã³é ãæ°èŠç»é²é ã§äžŠã³æ¿ããã§ããŸãã

éžæžç»é¢
éžæžããæ¬ãéžã¶ç»é¢ã§ãã
ãŠãŒã¶ãŒç»é¢ã®ãéžæžããæ¬ãéžã¶ããã¿ã³æŒäžããŠé·ç§»ããŸãã
éžæžä»²é
èªåã«éžæžãããããèªåãéžæžãããŠãŒã¶ãŒãéžæžä»²éãšããŠäžèŠ§è¡šç€ºããç»é¢ã§ãã

ã¡ãã»ãŒãž
æ¬ã®éžæžããäºãã«1床以äžè¡ã£ãçžæãšã¡ãã»ãŒãžäº€æãå¯èœã«ãªããŸãã
WebSocketã䜿ã£ãŠåæ¹åéä¿¡ãå¯èœã«ããŠããŸãã
æ©èœãªã©
äžèšãäž»ãªåäœãã§ãã®ãµã€ãã®äž»ãªåãã¯æç€ºããŸããã®ã§
ãã®ä»çްããæ©èœãªã©ãåæããŸãã
1. ãããããŒãžã®è¡šç€º
ãããããŒãžã®ãããéžæžãããŠããæ¬ããããŠãŒã¶ãŒã®æ¬æ£ç޹ä»ãæ¬ã«è¡šç€ºãããæ¬ãªã©ã¯ãããåŠçã§å®æçã«æŽæ°ããŠããŸãã
- Djangoã®ãããåŠç
Djangoã§ã¯ã³ãã³ãã§ãããåŠçãå®è¡ã§ããæ©èœãããããã§ãã
æå®ã®ãã¹ã«BaseCommandã¯ã©ã¹ãç¶æ¿ããã¯ã©ã¹ãçšæããŠåŠçãèšè¿°ããã³ãã³ãã§å®è¡ã§ããŸãã
python manage.py batch_command_sample
æ¬çªç°å¢ïŒHerokuïŒã§ã¯Heroku Schedulerãšããã¢ããªã³ã䜿çšããŠå®æå®è¡ããŠããŸãã
2. äœãã€ãã³ããèµ·ããããå¥ã®äœããå®è¡ãã
Djangoã«ã¯ãäœããã®ã€ãã³ããèµ·ããã¿ã€ãã³ã°ã§åŠçãå®è¡ããSignalsãšãããã®ããããŸãã
ãŠãŒã¶ãŒã®æ°èŠç»é²ãè¡ãããããšã奿©ã«ãããã€ãã®ããŒãã«æŽæ°ãªã©ã®åŠçãè¡ãããã«å©çšããŸããã
@receiver(post_save, sender=CustomUser)
def create_user_notification(sender, instance, created, **kwargs):
# CustomUserããŒãã«ãæŽæ°ãããããUserNotificationããŒãã«ãæŽæ°ã
obj = UserNotification.objects.create(userId=instance)
obj.user_notification = "ãŠãŒã¶ãŒåããã€ããŒãžãã倿ŽããŠãã ããã"
obj.save()
# å®éã®ã³ãŒãããç°¡ç¥åããŠèšèŒããŠããŸãã
# ä»ã®èšè¿°ã¯çç¥ã
æ°èŠç»é²æã«ããŒã ç»é¢ã«äžåºŠã ãäžèšãç¥ããã衚瀺ãããŸãã
3. ãœãŒã·ã£ã«ãã°ã€ã³
Google,Twitterã¢ã«ãŠã³ãã«ãããã°ã€ã³æ©èœãæèŒããŸããã
4. éåæãã£ãã
DjangoChannelsãçšããŠWebsocketãå®è£
ã
RedisãµãŒããŒã䜿çšã
5. ãã®ä»
ãããæ©èœããã©ããŒæ©èœããããã¯æ©èœã
éžæžãäŸé Œæ©èœãïŒæ¬ãéžãã§æ¬²ãããŠãŒã¶ãŒã«ãªã¯ãšã¹ãïŒ
ãªã¹ã¹ã¡ãŠãŒã¶ãŒã®éžå®æ©èœãïŒãããåŠçïŒ
FAQãå ±åæ©èœããåãåããæ©èœãªã©ã
ã¬ã¹ãã³ã·ã察å¿ãPWA察å¿ã
ERå³
éçºã®ããã«å匷ããæ¬
-
DjangoãPython
ãå®è·µDjango Pythonã«ããæ¬æ ŒWebã¢ããªã±ãŒã·ã§ã³éçºã
ãçŸå Žã§äœ¿ãã Django ã®æç§æžãåºç€ç·šãã
ãåãããŠåŠã¶ïŒPython Djangoéçºå ¥éã
ãDjangoã®ãããšã³ãããŒãã¿ã€ã«ãããæ¬ã -
UI
ããªããžã§ã¯ãæåUIãã¶ã€ã³ââ䜿ãããããœãããŠã§ã¢ã®åçã
ããã£ãŠã¯ãããªããã¶ã€ã³ã
ãUI/UXãã¶ã€ã³ã®ååã
ãäœã£ãŠåŠã¶ HTML&CSSã¢ãã³ã³ãŒãã£ã³ã°ã
ãHTML5/CSS3ã¢ãã³ã³ãŒãã£ã³ã° ããã³ããšã³ããšã³ãžãã¢ãæãã3ã€ã®æ¬æ Œã¬ã€ã¢ãŠãã -
DB
ãSQLã¢ã³ããã¿ãŒã³ãïŒã€ãŸã¿èªã¿çšåºŠïŒ
ãæ å ±åŠçæç§æž ããŒã¿ããŒã¹ã¹ãã·ã£ãªã¹ã 2021幎çãïŒè©Šéšåãããäžåæ ŒïŒ -
èŠçŽ
ããæ¹èšæ°çãè¯ããŠã§ããµãŒãã¹ãæ¯ãã ãå©çšèŠçŽãã®äœãæ¹ã -
Webå šè¬ã»ãã®ä»
ãWebãæ¯ããæè¡ ââ HTTPïŒURIïŒHTMLïŒãããŠRESTã
ãäœç³»çã«åŠã¶ å®å šãªWebã¢ããªã±ãŒã·ã§ã³ã®äœãæ¹ ç¬¬2ç è匱æ§ãçãŸããåçãšå¯Ÿçã®å®è·µãïŒéšåçã«ïŒ
æè¡éžå®çç±
- Django
ãã®å æ©æ¢°åŠç¿é¢ä¿ã®ã¢ããªéçºãå°æ¥ããããããªãããªãšæãPythonã®ãã¬ãŒã ã¯ãŒã¯ãèŠããããšã«ããŸããã - jQuery
JavaScriptã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããã¹ãã ãšæã£ãã®ã§ããã
ããŸãè²ã æ°èŠã§æãåºããšå€§å€ããªãšæã£ãŠæå¿µããŸããã
äžæçãªå匷æéãè²»ããå¿ èŠããã£ããšããŠãReactãªã©ã§ããã¡ãªããã倧ããã£ãã®ãããããŸããã
倧å€ã ã£ãããš
-
ã¡ã³ã¿ã«
30åã°ã§ã©ãã«åãã£ãŠããã®ãããããªããªãäœæ¥ãã²ãããç¶ç¶ããããšã¯èŸãã§ãã -
èªåã§è§£æ±ºããŠããããš
äŒç€Ÿãªã©ã®çµç¹ã«å±ããŠãããã質åã§ããã¡ã³ã¿ãŒãªã©ããããããã«è§£æ±ºã§ãããããããªãåé¡ã«ãå€ãã®æéããããããšããããŸããã
ã¯ãããããã®å€§å€ãã¯ããã£ãŠããã®ã§ããããšã¯ããã¹ã¯ãŒã«çãªãšããã«è¡ãã®ãæå¹ã ã£ããããããªããšã¯æããŸãã
課é¡
- æ¬ã®æ€çŽ¢çµæã埮åŠã
æ¬ãéžæžãããµã€ããªã®ã«æ¬ã®æ€çŽ¢æ©èœããçŸç¶ã¯ããŸãã¡ã§ãã - äœããããµã€ããªã®ããããã«ããã
- ç»é²ããªããŠãé²èЧã§ããç®æãå°ãªãã
- æ€ç¥ããŠãã軜埮ãªãã°ãããã
ïŒæéã®éœåã§èŽåœçãªãã®ã¯å¯Ÿå¿ããã€ããã§ããïŒ - ãããã
éèŠããªãã
èŠãŠããã£ãå人ãã¡ã«äžçªèšãããã®ãããã§ãã
æåŸã«
èªãã§ãããŠããããšãããããŸããã
ææ³ãæèŠãææãèŠæ
ãªã©ãããŸãããåœèšäºã³ã¡ã³ãæ¬ïŒãTwitterïŒã«ããã ãããšå¹žãã§ãã
ãã®å
ãšã³ãžãã¢ã«ç¡äºãªãããããããŸããããèªåã®ããã«äžæŠäŒç€ŸãèŸããŠããŸããšããéžæãããæ¹ã¯å°ãªããšæããŸããã
åããããªããšãèããæ¹ã«ãå°ãã§ãåèã«ãªã£ããå¬ããã§ãã
åè
- èšäºã¿ã€ãã«åã®åè
ãé³¥é¡åŠè ç¡è¬ã«ãæç«ãèªããå·äžå人



