Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
강성훈
DevOps / Rainist
Kotlin과 AWS와 함께라면
육군훈련소도 외롭...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
,
6
6
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
국방의 의무
납세의 의무
교육의 의무
근로의 의무
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
4주동안 못하는 것
1. 회사 소식 듣기
2. 사회 소식 듣기
3. 개발..?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
를 하려 했으나
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
)( ) (
C
((
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Statically typed programming language
for modern...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
https://8thlight.com/blog/uncle-bob/2012/08/13/t...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
data class Recipient(
val birthday: LocalDate,
v...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
interface KATCRepository {
fun getRecipients(
na...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
class SendRecipientDataIfExists(
private val kat...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
override fun getRecipients(
name: String,
birthd...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
build.gradle
ext {
mainClassName = 'io.devholic....
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
travis.yml
language: java
jdk:
- oraclejdk8
inst...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
deploy.sh
#!/usr/bin/env bash
set -e
if [ "$TRAV...
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
, / ,
/ / /
Q&A
Nächste SlideShare
Wird geladen in …5
×

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

1.750 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

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

×