Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Become a Backend Developer

2c8948aaaa1a7047e0dc3cd869877879?s=47 mingrammer
February 24, 2017

Become a Backend Developer

초보자를 위한 백엔드 개발 시작하기

2c8948aaaa1a7047e0dc3cd869877879?s=128

mingrammer

February 24, 2017
Tweet

Transcript

  1. Become a Backend Developer (for beginner) MinJae Kwon (@mingrammer) 2017.02.24

    9XD : return 0
  2. Name ӂ޹੤ (MinJae Kwon) Nickname @mingrammer Email k239507@gmail.com Who Backend

    Developer Blog https://mingrammer.com Facebook https://facebook.com/mingrammer Github https://github.com/mingrammer Eng Blog https://medium.com/@mingrammer
  3. 2. ߔূ٘, Ӓѱ ޥоਃ? 4. ߔূ٘ ѐߊ੗о غҊ रযਃ! 3.

    যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? Contents 5. Next & Future 1. աח ־ҳੋо
  4. աח ־ҳੋо

  5. աח ־ҳੋо Name ӂ޹੤ (MinJae Kwon) Nickname @mingrammer Email k239507@gmail.com

    Who ই઱؀೟Ү ࣗ೐౟ਝয೟җ 3೟֙
  6. աח ־ҳੋо ѐߊ ҃೷ জѐߊ ਢѐߊ ߔূ٘/ࢲߡ ѐߊ ࠙࢑ दझమ

    ݠन۞׬ ߔূ٘/ࢲߡ ѐߊ ? ? ? 1y 2m ?
  7. ѐߊ ҃೷ աח ־ҳੋо AWS GCP Django Flask Python Go

    + + ߔূ٘/ࢲߡ ѐߊ
  8. ѐߊ ҃೷ աח ־ҳੋо ই޷ఫ୛݂ ੉޷૑ ࢲߡ ѐߊ API ࢲߡ

    ѐߊ ೐۽࠺ઉ׬ ਢࢲ࠺झ ѐߊ AWS ઑӘঀ ೧ࠌणפ׮ ..
  9. ߔূ٘, Ӓѱ ޥоਃ?

  10. ߔূ٘, Ӓѱ ޥоਃ? ৈӝࢶ ನҚ੸ਵ۽ ׮ܛפ׮ == Backend Developer Server

    Developer ?
  11. ߔূ٘, Ӓѱ ޥоਃ? Service Mobile User Web User

  12. ߔূ٘, Ӓѱ ޥоਃ? Frontend Mobile User Web User Backend

  13. ߔূ٘, Ӓѱ ޥоਃ? Frontend Mobile User Web User Web Server

    DB Server API Server Image Server
  14. ߔূ٘, Ӓѱ ޥоਃ? Frontend Mobile User Web User Web Server

    DB Server API Server Image Server Backend Systems
  15. ߔূ٘, Ӓѱ ޥоਃ? Web Server DB Server API Server Image

    Server Frontend Mobile User Web User Interface Service / Business End Users
  16. ߔূ٘, Ӓѱ ޥоਃ? प ઱ޙ ୊ܻ ਃܻ ࢸѢ૑ ੤ܐ ҙܻ

    ஠਍ఠ धఌ ప੉௼ইਓ ղࠗ ઱ߑ ࣚש ਺ध੼
  17. ߔূ٘, Ӓѱ ޥоਃ? Shop Auth Server Web Server User Shop

    > Login Shop > Buy Pay Server DB Server Log Server Scenario based Simple Backend System Example Cache Server
  18. ߔূ٘, Ӓѱ ޥоਃ? Image Server LB LB LB API Server

    1 API Server 2 DB Server Master DB Server Slave Web Server 1 Web Server 2 Simple Detailed Backend System Example Web Frontend Mobile Client Log Server
  19. যڃ Ѫٜਸ ೡ ࣻ ੓աਃ?

  20. যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? ࢲ࠺झо ೙ਃೠ Ҕ ࠺ૉפझ दझమ੉

    ೙ਃೠ Ҕ ੋ೐ۄо ೙ਃೠ Ҕ ؘ੉ఠ ୊ܻо ೙ਃೠ Ҕ … ࠁా যڃ ౠ੿ ޙઁܳ ೧Ѿೞӝ ਤೠ दझమਸ ы୶ӝ ਤ೧ ޙઁী ٮۄ ҭ੢൤ ݆਷Ѧ ೡ ࣻ ੓णפ׮.
  21. ѱ੐ ࢲߡ ౠࣻ ݾ੸ ࢲߡ ਢࢲ࠺झ ߔূ٘ যڃ Ѫٜਸ ೡ

    ࣻ ੓աਃ? ࠙ঠ ࠙ܨ ֎౟ਕ௼ ࢲߡ ѱ੐ ۽૒ ࢲߡ ੋૐ ࢲߡ ଻օ ࢲߡ ݗ ࢲߡ ଻౴ ࢲߡ … ؘ੉ఠ ࣻ૘ ࢲߡ ؘ੉ఠ ࠙ࢳ ࢲߡ ੋ௏٬ ࢲߡ ݫद૑ ௸ ࢲߡ झ౟ܻ߁ ࢲߡ CI / CD ࢲߡ … ਢ গ೒ܻா੉࣌ ࢲߡ API ࢲߡ ۽Ӓ ࢲߡ ؘ੉ఠ߬੉झ ࢲߡ झషܻ૑ ࢲߡ CDN ࢲߡ … ੌ߈ ࢲߡ दр ࢲߡ ݫੌ ࢲߡ ౵ੌ ࢲߡ நद ࢲߡ ೐۾द ࢲߡ …
  22. যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? ਢࢲ࠺झ ѐߊ API ѐߊ ੉޷૑

    ࢲߡ ѐߊ ݠन۞׬ ੋ೐ۄ ইఃఫ୛݂ ۽Ӓ ࠙ࢳਊ ࢲߡ ѐߊ ߔয়ೖझ ѐߊ ݽפఠ݂ ࢲߡ ѐߊ ੋૐ ࢲߡ ѐߊ ޙࢲ ҙܻ दझమ ѐߊ Common Specific Domain System / Infra ࢲ࠺झ ࢿѺ ࠙ܨ
  23. যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? ࠺ૉפझ ۽૒ ѐߊ API ࢸ҅

    ߂ ѐߊ ౠࣻ ݾ੸ ۽૒ ѐߊ ೐۽࠺ઉ׬ ݽפఠ݂ ੉઺ച ߂ झாੌ݂ ਃ୒ ୊ܻ ߂ ஶబஎ ઁҕ ؘ੉ఠ߬੉झ ࢸ҅ ইఃఫ୛݂ ֎౟ਕ௼ ҳઑ ࢸ҅ ӝמ ࠙ܨ …
  24. ߔূ٘ ѐߊ੗о غҊ रযਃ!

  25. ߔূ٘ ѐߊ੗о غҊ रযਃ! ߔূ٘ ѐߊ੗о غӝ ਤ೧ࢶ ҕࠗ೧ঠೡѱ ઑӘ

    ੓णפ׮
  26. ߔূ٘ ѐߊ੗о غҊ रযਃ! ਍৔୓ઁ ֎౟ਕ௼ ইఃఫ୛ ؘ੉ఠ߬੉झ ࠁউ о࢚

    ஹೊ౴ ߓನ ҙܻ ݽפఠ݂ ੉઺ച ௿ۄ਋٘ ஹೊ౴ ঱য / ೐ۨ੐ਕ௼ పझ౴ ӝߨ ٣ߡӦ ӝߨ நय API ࢸ҅ ۽Ӓ ҙܻ ాन ೐۽ష௒ झாੌ݂
  27. ߔূ٘ ѐߊ੗о غҊ रযਃ! ਍৔୓ઁ ֎౟ਕ௼ ইఃఫ୛ ؘ੉ఠ߬੉झ ࠁউ о࢚

    ஹೊ౴ ݽפఠ݂ ߓನ ҙܻ ੉઺ച ௿ۄ਋٘ ஹೊ౴ ঱য / ೐ۨ੐ਕ௼ పझ౴ ӝߨ ٣ߡӦ ӝߨ நय API ࢸ҅ ӝߨ ۽Ӓ ҙܻ ాन ೐۽ష௒ System Computing Quality Technique Management झாੌ݂ … … … … …
  28. ঱য / ೐ۨ੐ਕ௼ PHP ߔূ٘ ѐߊ੗о غҊ रযਃ! Python Scala

    Node.js Java Ruby Go Haskell Spring Codeigniter, Laravel Flask, Django Express, Hapi Play Ruby on Rails Beego, Gorilla, Gin Snap
  29. ঱য / ೐ۨ੐ਕ௼ ߔূ٘ ѐߊ੗о غҊ रযਃ! ݽف જ਷ ঱য੉Ҋ

    ೐ۨ੐ਕ௼ੑפ׮. গ೒ܻா੉࣌੄ ݾ੸җ ࢿѺী ٮۄ ࢶఖೞदݶ ؾפ׮. I/O Boundۄݶ Node.js CPU Boundۄݶ Go ؘ੉ఠ ࠙ঠח Python ֫਷ উ੿ࢿ੉ۄݶ Scala …
  30. ਍৔୓ઁ ߔূ٘ ѐߊ੗о غҊ रযਃ! ۽٘ ߖ۠य, நय, झாે݂ ١

    ࢲߡ दझమীࢲ ਃҳغח OS ૑धٜਸ ੉೧ೞҊ ੓যঠ೤פ׮. Ӓ۞ա ࢲߡܳ ૒੽ ׮ܖח ࠙ঠੋ݅ఀ ӝࠄ੸ੋ OS ૑ध਷ ೙ࣻ੉ݴ ݣ౭ झۨ٬/೐۽ࣁय ೐۽Ӓې߁ਸ ೡ ҃਋ ؊਌ Ө਷ ૑धਸ ਃҳ೤פ׮ ѱ੐ ࢲߡ ౠࣻ ݾ੸ ࢲߡ ਢࢲ࠺झ ߔূ٘ ੌ߈ ࢲߡ
  31. ֎౟ਕ௼ ߔূ٘ ѐߊ੗о غҊ रযਃ! ߔূ٘ী ੓যࢲח ࢎप ਍৔୓ઁࠁ׮ ؊

    ઺ਃೠ ࠗ࠙ੑפ׮. ౠ൤ ࠁউҗب ૒Ѿغয੓ח ࠗ࠙੉ӝ ٸޙী ֎౟ਕ௼ ૑ध਷ ੿݈ ઺ਃ೤פ׮ ౠ൤ दझమ੉ ழ૑ݶ ݎ/ࢲ࠳֔ ܻ࠙, ࠁউ ాन, ೐۽ష௒١ਸ ೙ࣻ੸ਵ۽ Ҋ۰೧ঠೞݴ Ӓী ٮܲ ֎౟ਕ௼ ૑धী ؀ೠ ҕࠗо ೙ࣻੑפ׮ ѱ੐ ࢲߡ ౠࣻ ݾ੸ ࢲߡ ਢࢲ࠺झ ߔূ٘ ੌ߈ ࢲߡ
  32. ؘ੉ఠ߬੉झ ߔূ٘ ѐߊ੗о غҊ रযਃ! ױࣽ൤ ؘ੉ఠܳ ੍Ҋ ॳחѢ ੉࢚੄

    ׮਺ী ؀ೠ ૑धҗ ੉೧о ઺ਃ೤פ׮ ࠺ૉפझ৬ दझమ੄ Ѣ੄ ೨बѺੋ ؘ੉ఠ߬੉झח ੿݈ ઺ਃ೤פ׮ ইఃఫ୛ ࢸ҅ Locking ౟ےં࣌ ҙܻ ੉઺ച ੋؙय ௪ܻ ୭੸ച
  33. ߔূ٘ ѐߊ੗о غҊ रযਃ! RDBMS MySQL PostgreSQL MSSQL Oracle Aurora

    … NoSQL MongoDB Redis Memcached DynamoDB … ؘ੉ఠ߬੉झ झః݃ܳ ъઁೞ૑ ঋই ׮੉ա޸ೠ ؘ੉ ఠܳ ׮ܙ ࣻ ੓਺ ࡅܲ ௪ܻܳ ਤೠ ؘ੉ఠ߬੉झ ߂ நय ࢲ ߡ۽ ݆੉ ࢎਊؽ ؘ੉ఠܳ ҳઑ੸ਵ۽ ׮ܖҊ ҙܻೡ ࣻ ੓਺ ੌ߈੸ੋ ؘ੉ఠ ࣻ૘ ߂ ୊ܻܳ ਤ೧ ݫੋ ؘ੉ఠ߬੉झ۽ ࢎਊؽ
  34. ௿ۄ਋٘ ஹೊ౴ ߔূ٘ ѐߊ੗о غҊ रযਃ! MicroSoft Azure Amazon Web

    Service Google Cloud Platform ޛܻ ࢲߡ৬ ׳ܻ झாੌ݂੉ ҭ੢൤ ಞೞݴ ݆਷ ࢲ࠺झٜਸ ઁҕ೧ષ Scaling, Fail over١ਸ ׮ܖӝо ҭ੢൤ ಞೣ ޛܻ ࢲߡ ҙܻী ؀ೠ ࠺ਊ੉ അ੷൤ ઴যٝ ࢎਊೠ ݅ఀ੄ ࠺ਊ݅ ૑ࠛೞݶ غӝٸޙী ࠺ਊ ҙܻо ਊ੉ೣ
  35. పझ౴ ߔূ٘ ѐߊ੗о غҊ रযਃ! TDDө૓ ইפযب ੸যب ਬ׫పझ౟ח ԙ

    ੘ࢿೞחѦ ୶ୌ೤פ׮ ௏٘ ௬ܻ౭ ਬ૑ ܻಂష݂ ߂ ਬ૑ ࠁࣻ੄ ਊ੉ࢿ ӝמ ز੘ ഛੋ పझ౴਷ ষ୒ ઺ਃ೤פ׮.
  36. о੢ જ਷Ѥ ੌױ ٜ݅যࠁࣁਃ! ߔূ٘ ѐߊ੗о غҊ रযਃ! Learning by

    Doing is Best पઁ۽ ૒੽ ೞ׮ࠁݶ ੿݈ ݆਷ ߡӒ৬ ޙઁٜਸ ѻਵݶࢲ ࢤпࠁ׮ ݆਷Ѧ ߓ਎ ࣻ ੓णפ׮
  37. AWS Elastic Beanstalk Amazon
 RDS ߓನо ए਍ Elastic Beanstalkܳ ࢎਊ

    ਋ࢶ ਢࢲߡ৬ ؘ੉ఠ߬੉झܳ فҊ .. ࢎ۹ ߔূ٘ ѐߊ੗о غҊ रযਃ!
  38. झషܻ૑ب فҊ .. AWS Elastic Beanstalk Amazon
 RDS Amazon
 S3

    ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  39. ੉৴ AWS ॳחѢ بݫੋب Route53 AWS Elastic Beanstalk Amazon
 RDS

    Amazon
 S3 Amazon
 Route 53 ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  40. S3۽ झ౟ܻ߁ਸ যڌѱ ҳഅೞ૑ .. ? ߔূ٘ ѐߊ੗о غҊ रযਃ!

    ࢎ۹
  41. Amazon CloudFront Amazon Elastic 
 Transcoder + AWSח ࢎیੑפ׮. ׮

    ੓਺ .. ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  42. CloudFront۽ ੿੸ ౵ੌө૑ ݽف ࢲࡂೞ੗! AWS Elastic Beanstalk Amazon
 RDS

    Amazon
 Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder ৔࢚ झ౟ܻ߁਷ ਬܐ੉޲۽ ੽Ӕ ઁೠਸ ف੗! ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  43. ੉ݫੌب ࠁղঠೞפ SESܳ ॳ੗ AWS Elastic Beanstalk Amazon
 RDS Amazon


    Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  44. ॉ֎ੌਸ ٜ݅যঠ ೞחؘ ੉޷૑ ೐۽ࣁयী दр੉ Ѧܿ ߔূ٘ ѐߊ੗о غҊ

    रযਃ! ࢎ۹
  45. Lambdaܳ ࢎਊ೧ ੉޷૑ ೐۽ࣁयਸ ਢࢲߡ৬ ܻ࠙ AWS Elastic Beanstalk Amazon


    RDS Amazon
 Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES AWS Lambda ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  46. ٯ ੉ۧѱ݅ ҳࢿ೧ࢲ ੌױ ୭ઙ ইఃఫ୛о ৮ࢿؽ ߔূ٘ ѐߊ੗о غҊ

    रযਃ! ࢎ۹
  47. AWS Elastic Beanstalk Amazon
 RDS Amazon
 Route 53 Amazon
 S3

    Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES AWS Lambda ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  48. Ӓؘ۠ Ӓ ৬઺ী ইఃఫ୛ ޙઁо ߊѼؽ ߔূ٘ ѐߊ੗о غҊ रযਃ!

    ࢎ۹
  49. ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹ AWS Elastic Beanstalk Amazon
 RDS

    Amazon
 Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES AWS Lambda Beanstalk ࢲߡী ࠢয ੓ח Admin ࢲߡо Publicೠ ৔৉ী ਤ஖ DB ژೠ Publicೠ ৔৉ী ਤ஖ Lambdaܳ زӝ੸ਵ۽ प೯दఃҊ ੓਺
  50. Private subnet Public subnet Web service server instance Admin web

    server instance RDS DB instance user Admin VPN ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  51. Lambdaܳ زӝ੸ਵ۽ प೯दఃҊ ੓਺ AWS Elastic Beanstalk Amazon
 S3 AWS

    Lambda ਢࢲߡо Lambda ઙܐܳ ؀ӝ AWS Elastic Beanstalk Amazon
 S3 AWS Lambda S3 ੉߮౟ܳ ഝਊೠ ࠺زӝ ୊ܻ ৮ܐ റ ॉ֎ੌ ੷੢ ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  52. Next & Future

  53. ইצ ҃਋ب ੓૑݅ Ѣ੄ ؀ࠗ࠙੄ ࢲ࠺झח ߔূ٘ दझమਸ ы୶Ҋ ੓ਵݴ

    Ӓী ؀ೠ ࣻਃب ݆ӝ ٸޙী ޷ېח ߋणפ׮! Next & Future ޛۿ … (ౠ൤ ୭Ӕূ ؘ੉ఠ ࠙ࢳҗ ݠन۞׬ ੋ೐ۄী ؀ೠ ࣻਃب ݆णפ׮)
  54. AWS Lambda Cloud Functions Azure Function Serverless Architecture Serverless :

    ࢲߡ ҙܻ੄ ೙ਃࢿਸ х୷ (ࢲߡо ೙ਃ হ׮ח ੄޷ח ইש) Firebase Serverless Framework Next & Future
  55. ೞ૑݅! Serverless Architecture۽ ݽٚѦ ೡ ࣻח হणפ׮ Next & Future

    Serverlessب ѾҴ ࢸ੿җ ҙܻо ೙ਃೣ ࢎਊ ӝࣿ੄ ઁড੉ ઓ੤ೡ ࣻ ੓਺ long-run গ೒ܻா੉࣌ীח ੸೤ೞ૑ ঋ਺ ݽٚ ࠺ૉפ۽૒ਸ ୊ܻೞӝীח ೠ҅о ࠙ݺ ಌನݢझ ޙઁب হ૑ ঋ਺ … ߔূ٘ ѐߊ੗ח લ૑ ঋইਃ
  56. Own (Cloud) Servers Serverless Next & Future Own (Cloud) Servers

    Serverless Ӓېࢲ ࠁా ޙઁী ٮۄ ׮਺җ э੉ ׮নೠ ഋక۽ ઓ੤ೞӝب ೤פ׮ + VM VM DB DB API API VM VM API DB Hook Hook Event Event Hook Hook Event Event Docker Redis Auth Logic Analysis Analysis
  57. ߔূ٘੄ ޷ېח ߋणפ׮! Next & Future Ӓۢ ੉݅ return 0;

    ৈౡ ߓਕفݶ খীࢲب ࠁ؍؀۽ ೡ ࣻ ੓חѤ ҭ੢൤ ݆णפ׮
  58. хࢎ೤פ׮ MinJae Kwon (@mingrammer) 2017.02.24 9XD : return 0 Become

    a Backend Developer (for beginner)