O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

2020년 5월 30일 개발 이야기 정리(자바 25주년 기념 특집)

1.006 visualizações

Publicada em

유튜브에서 방송한 자료입니다.

https://www.youtube.com/watch?v=tJBxmVLu0xI&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg&index=2

Publicada em: Software
  • Seja o primeiro a comentar

2020년 5월 30일 개발 이야기 정리(자바 25주년 기념 특집)

  1. 1. 2020년 5월 30일 개발 이야기 특집(자바) 박재호(jrogue@gmail.com)
  2. 2. 참고 자료 • <컴퓨터 vs 책> 블로그 • http://jhrogue.blogspot.com/ • OKdevTV 유튜브 방송 • 오늘 방송: https://www.youtube.com/watch?v=tJBxmVLu0xI&list=PLdntWJk2t JPKvRB0mSqC5tyKUv7HFtcqg&index=2 • 재미있는 개발 이야기 리스트: https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5t yKUv7HFtcqg • 슬라이드 셰어 • https://www.slideshare.net/jrogue/presentations
  3. 3. 오늘의 짤방 2020년 5월 23일 25주년 https://www.oracle.com/news/connect/25-years-of-java-technology-community-family.html
  4. 4. JetBrains가 사랑하는 자바의 25가지 특성 • https://blog.jetbrains.com/kr/2020/05/25-things-we-love- about-java-ko/
  5. 5. 호환성 • 25년 전 코드도 최신 JVM에서 수행 가능
  6. 6. 성숙도 • 25년 동안 학교, 대학, 직장에서 자바 사용 • 공급업체, 비영리단체, 개인들이 문서화에 참여 • 코딩을 원하는 개발자들에게 수 많은 일거리 창출
  7. 7. 지속적 개선 • 호환성 & 성숙도 vs 플랫폼 & 언어 발전 • 자바 9부터 6개월 주기로 신형 버전 출시
  8. 8. 균형성 • 자바는 호환성과 미래 사이에서 균형을 맞춤 • 제거될 예정인 사용 중단 기능에 대한 경고 제공 + 해당 항목의 대체 기능 발 전 • 높은 안정성을 원하는 사람은 LTS를 계속 사용 vs 신형 기능을 원하는 사람 들은 최신 버전을 사용
  9. 9. 표준 • Java EE/Jakarta EE/JDBC 등 개발자의 삶을 편하게 만들어줌 • Java 언어 사양, 자바 메모리 모델, JVM 등 자바 언어를 구체적으로 명세
  10. 10. 작성은 한 번만, 실행은 어디서나 • WORA(Write Once, Run Anywhere) • 클라우드 시절에는 가치가 다소 퇴색되었지만 여전히 이점을 활용 • IntelliJ IDEA조차도 데스크톱에서 WORA를 활용
  11. 11. 성능 • 자바는 고성능 • 25년 동안 성능을 개선: 가비지 컬렉터, JIT → 금융업에서도 널리 사용되고 있음
  12. 12. 관찰 가능성/관리 • JFR(Java Flight Recorder)와 Mission Control이 OpenJDK에 포 함(Java 11 이후) • JMX를 사용해 애플리케이션을 동적으로 관리
  13. 13. JVM • JVM은 자바 언어 자체와 별개로 구성 • 플랫폼 독립적
  14. 14. 기타 JVM 상에서 동작하는 언어 • 코틀린(by JetBrains) • Groovy, Scala, Clojure, Jruby • 자바 간의 상호 운영성 보증
  15. 15. 라이브러리/프레임워크 • Spring과 Spring Boot!
  16. 16. 빌드 도구와 의존성 관리 • JAR 파일 배포에서 Maven/Gradle로 발전
  17. 17. JUnit과 자동화된 테스트 • 1997년에 JUnit 등장 • 2004년에 TestNG 등장
  18. 18. IDE • IntelliJ! • 정적 타입으로 인해 IDE에서 강력한 작업을 수행할 수 있음(예: 리팩 터링)
  19. 19. 공동체 • 자바 공동체는 거대하고 성숙됨 → 사용자 그룹, 교육
  20. 20. 개발팀 • 자바 세상의 거인들
  21. 21. Javadoc과 문서 • Javadoc은 API 문서를 언어의 핵심 부분을 만들고 있음 • 메소드 호출, 클래스/패키지 사용
  22. 22. 오픈 소스 • OpenJDK
  23. 23. 무료 • 오라클이 자바 11에서 라이선스/지원 변경 이후에도 무료로 계속 사 용 가능
  24. 24. 객체지향적 • 자바는 처음부터 객체지향적인 언어로 설계 • 설계 패턴과 코딩 우수 사례
  25. 25. 발전과 적응 • 람다 식, 불변 데이터 구조, 유형 추론 등 새로운 추세를 반영
  26. 26. 가독성에 중점 • 자바 코드는 프로그래머가 아닌 사람도 읽게 만드는 경우가 많음 • 연산자 중복(Overload) 미지원
  27. 27. 언어 기능 • 람다 식 • Streams API(w/ 람다 식) • java.time • Optional • var(유형 추론) • 접근 한정자/모듈 • switch 식 • 도움이 되는 NullPointerExceptions • 어노테이션 • 검사된 예외

×