Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Kotlin과 AWS와 함께라면 육군훈련소도 외롭지 않아::강성훈::AWS Summit Seoul 2018

1.748 visualizaciones

Publicado el

Kotlin과 AWS와 함께라면 육군훈련소도 외롭지 않아::강성훈::AWS Summit Seoul 2018

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

Kotlin과 AWS와 함께라면 육군훈련소도 외롭지 않아::강성훈::AWS Summit Seoul 2018

  1. 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. 강성훈 DevOps / Rainist Kotlin과 AWS와 함께라면 육군훈련소도 외롭지 않아
  2. 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. , 6 6
  3. 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  4. 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. 국방의 의무 납세의 의무 교육의 의무 근로의 의무
  5. 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  6. 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  7. 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. 4주동안 못하는 것 1. 회사 소식 듣기 2. 사회 소식 듣기 3. 개발..?
  8. 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. 를 하려 했으나
  9. 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  10. 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. )( ) ( C ((
  11. 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  12. 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  13. 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Statically typed programming language for modern multiplatform applications 100% interoperable with Java™ and Android™ Statically typed programming language for modern multiplatform applications 100% interoperable with Java™ and Android™
  14. 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  15. 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
  16. 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  17. 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  18. 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  19. 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  20. 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. data class Recipient( val birthday: LocalDate, val enterDate: LocalDate, val name: String, val regiment: Int, val company: Int, val platoon: Int )
  21. 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. interface KATCRepository { fun getRecipients( name: String, birthday: LocalDate, enterDate: LocalDate ): Single<List<Recipient>> } interface KATCRepository { fun getRecipients( name: String, birthday: LocalDate, enterDate: LocalDate ): Single<List<Recipient>> }
  22. 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. class SendRecipientDataIfExists( private val katcRepository: KATCRepository, private val messageRepository: MessageRepository, private val naverNewsRepository: NaverNewsRepository, private val slackRepository: SlackRepository ) : RequestHandler<InputStream, Unit> { override fun handleRequest(input: InputStream, context: Context) = katcRepository.getRecipients(...) class SendRecipientDataIfExists( private val katcRepository: KATCRepository, private val messageRepository: MessageRepository, private val naverNewsRepository: NaverNewsRepository, private val slackRepository: SlackRepository ) : RequestHandler<InputStream, Unit> { override fun handleRequest(input: InputStream, context: Context) = katcRepository.getRecipients(...)
  23. 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. override fun getRecipients( name: String, birthday: LocalDate, enterDate: LocalDate ): Single<List<Recipient>> = Single.fromCallable { Network.client .newCall( Request.Builder() .url(recipientQueryUrl) .post(buildRecipientQuery(name, birthday, enterDate)) .build() ).execute() }... override fun getRecipients( name: String, birthday: LocalDate, enterDate: LocalDate ): Single<List<Recipient>> = Single.fromCallable { Network.client .newCall( Request.Builder() .url(recipientQueryUrl) .post(buildRecipientQuery(name, birthday, enterDate)) .build() ).execute() }...
  24. 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  25. 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  26. 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  27. 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  28. 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  29. 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  30. 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  31. 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  32. 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. build.gradle ext { mainClassName = 'io.devholic.epilogue.App' } jar { manifest { attributes 'Main-Class': "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } }
  33. 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. travis.yml language: java jdk: - oraclejdk8 install: - pip install --user awscli - gradle jar after_success: - make upload
  34. 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  35. 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. deploy.sh #!/usr/bin/env bash set -e if [ "$TRAVIS_BRANCH" == "master" ]; then aws lambda update-function-code --zip-file=fileb://build/libs/epilogue.jar --region=$LAMBDA_REGION --function-name=$LAMBDA_FUNCTION_NAME --query 'LastModified' fi
  36. 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  37. 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  38. 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. , / , / / /
  39. 39. Q&A

×