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.

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

1.000 Aufrufe

Veröffentlicht am

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

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

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

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 • 어노테이션 • 검사된 예외

×