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

Become a Backend Developer

mingrammer
February 24, 2017

Become a Backend Developer

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

mingrammer

February 24, 2017
Tweet

More Decks by mingrammer

Other Decks in Programming

Transcript

  1. Name ӂ޹੤ (MinJae Kwon) Nickname @mingrammer Email [email protected] Who Backend

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

    যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? Contents 5. Next & Future 1. աח ־ҳੋо
  3. ѐߊ ҃೷ աח ־ҳੋо ই޷ఫ୛݂ ੉޷૑ ࢲߡ ѐߊ API ࢲߡ

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

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

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

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

    > Login Shop > Buy Pay Server DB Server Log Server Scenario based Simple Backend System Example Cache Server
  8. ߔূ٘, Ӓѱ ޥоਃ? 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
  9. যڃ Ѫٜਸ ೡ ࣻ ੓աਃ? ࢲ࠺झо ೙ਃೠ Ҕ ࠺ૉפझ दझమ੉

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ਋ࢶ ਢࢲߡ৬ ؘ੉ఠ߬੉झܳ فҊ .. ࢎ۹ ߔূ٘ ѐߊ੗о غҊ रযਃ!
  25. ੉৴ AWS ॳחѢ بݫੋب Route53 AWS Elastic Beanstalk Amazon
 RDS

    Amazon
 S3 Amazon
 Route 53 ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  26. Amazon CloudFront Amazon Elastic 
 Transcoder + AWSח ࢎیੑפ׮. ׮

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

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


    Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  29. Lambdaܳ ࢎਊ೧ ੉޷૑ ೐۽ࣁयਸ ਢࢲߡ৬ ܻ࠙ AWS Elastic Beanstalk Amazon


    RDS Amazon
 Route 53 Amazon
 S3 Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES AWS Lambda ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  30. AWS Elastic Beanstalk Amazon
 RDS Amazon
 Route 53 Amazon
 S3

    Amazon CloudFront Amazon Elastic 
 Transcoder Amazon SES AWS Lambda ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  31. ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹ 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ܳ زӝ੸ਵ۽ प೯दఃҊ ੓਺
  32. Private subnet Public subnet Web service server instance Admin web

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

    Lambda ਢࢲߡо Lambda ઙܐܳ ؀ӝ AWS Elastic Beanstalk Amazon
 S3 AWS Lambda S3 ੉߮౟ܳ ഝਊೠ ࠺زӝ ୊ܻ ৮ܐ റ ॉ֎ੌ ੷੢ ߔূ٘ ѐߊ੗о غҊ रযਃ! ࢎ۹
  34. ইצ ҃਋ب ੓૑݅ Ѣ੄ ؀ࠗ࠙੄ ࢲ࠺झח ߔূ٘ दझమਸ ы୶Ҋ ੓ਵݴ

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

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

    Serverlessب ѾҴ ࢸ੿җ ҙܻо ೙ਃೣ ࢎਊ ӝࣿ੄ ઁড੉ ઓ੤ೡ ࣻ ੓਺ long-run গ೒ܻா੉࣌ীח ੸೤ೞ૑ ঋ਺ ݽٚ ࠺ૉפ۽૒ਸ ୊ܻೞӝীח ೠ҅о ࠙ݺ ಌನݢझ ޙઁب হ૑ ঋ਺ … ߔূ٘ ѐߊ੗ח લ૑ ঋইਃ
  37. 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
  38. ߔূ٘੄ ޷ېח ߋणפ׮! Next & Future Ӓۢ ੉݅ return 0;

    ৈౡ ߓਕفݶ খীࢲب ࠁ؍؀۽ ೡ ࣻ ੓חѤ ҭ੢൤ ݆णפ׮