티스토리 뷰
반응형
1. 유용한 개발 관련 아티클 및 영상 #29
Domain Events에 대하여
- Domain Events의 정의와 중요성
- 시스템 내에서 중요한 특정 액션이나 상태 변경을 표현함
- 이는 전체 애플리케이션에 영향을 줄 수 있으며 특정 도메인이나 특정 영역에 밀접하게 연관되어 있음
- 현실의 절차와 이벤트를 소프트웨어에 매핑하여 구조적이고 모듈화된 아키텍처를 구성할 수 있게 해줌
- Domain Events의 장점
- 디커플링: 애플리케이션의 서로 다른 파트들이 독립적으로 이벤트 컨슘으로 통신함
- 추적가능성과 감사: 애플리케이션에서 중요한 이벤트의 로그 역할을 함
- 유연성과 확장성: 변경사항을 보다 쉽게 구현하고 다른 부분에 영향 없이 기존 기능을 수정할 수 있음
출처: https://dev.to/ben-witt/domain-events-2772
nektos/act
- Github Actions를 로컬에서 실행할 수 있게 도와주는 오픈소스
- act 명령어를 입력하면 .github/workflows/ 에서 실행 가능한 액션들을 찾음
- 내부적으로 Docker API를 활용하여 필요한 이미지들을 pull 받고 빌드하게 해줌
출처: https://github.com/nektos/act
Default Argument인가? Default Parameter인가?
- 아규먼트와 파라미터의 정의
- 아규먼트: 함수로 실제 전달된 값을 의미함, val foo = bar(10)에서 10이 아규먼트임
- 파라미터: 함수로 전달 placeholder를 의미함, fun bar(x: Int)에서 x가 파라미터임
- 무엇이 올바른 표현인가?
- 파라미터는 변수를 의미하므로 “default parameter”는 말이 되지 않음
- 그리고 파라미터는 기본값을 가질 수 있으므로 “default parameter value” 또는 “default value”가 문맥상 의미에 맞음
- “default argument” 역시 이치에 맞지 않는데, 전달된 값이 없을 때 “default value”가 사용되는 것이지 엄밀히는 “argument”는 아니기 때문임
- 하지만 호출자가 argument를 전달하지 않았을 때 이 값을 argument로 사용한다는 관점에서는 어느 정도 이해할 수 있음
- 결론
- 애매하지만 default argument가 default paramter보다는 올바른 표현이므로, default argument라는 용어를 사용하자!
Java Language Features - Spring 2024 Edition
- Project Embers: 생산성을 높이기 위한 언어 고도화
- 작업 목록
- Swith Expressions, Text Blocks, Records, Pattern matching for instanceof, Sealed classes, Pattern matching for switch, Record Patterns, String Templates, Unnamed classes & instance main methods, Unnamed variables & patterns, Statements before super(…)
- Nots
- 문법(syntax) 혹은 보일러플레이트(boiler-plate)에 대한 것이 아님
- 단순히 작은 독립적인 기능을 추가하는 것이 아님
- Reality
- 프로그래머의 의도를 드러내도록 하고자 하는 것임(항상 가독성에 초점을 둠)
- 새로운 스타일의 자바 프로그래밍이 가능하도록 하는 것임
- 항상 호환성에 초점을 둠
- 작업 목록
- 개발 트렌드
- oop는 과거 모놀리스의 시대에 번영했는데, 오늘날 프로그래밍 단위는 점점 작아지고 있음
- 그리고 특정한 타입 스키마(json 등)에 덜 강력하게 결합되며, 교환되는 것이 객체가 아닌 순수 데이터에 가까워졌음
- OOP의 힘의 균형이 이동하였음. OOP의 강점(복잡한 엔티티나 바운더리 등)이 덜 중요해지고, OOP의 약점(순수한 데이터)이 더욱 중요해짐
- 비즈니스 엔티티와 처리를 모델링하기 위해 클래스를 사용하는 것에서 데이터를 모델링하기 위해 클래스를 사용하도록 변화중(Data Oriented Programming)
HotSpot vs. OpenJ9: performance comparison
- OpenJ9은 IBM에 의해 개발된 JVM으로, fine-tuned된 것을 기본 핫스팟과 비교하면 시작 시간, 지연 시간, 처리량, 메모리 공간 측면에서 성능이 뛰어나다고 함
- 단순 OpenJ9 도입 만으로도 많은 메모리 절약 효과를 얻을 수 있고, 튜닝을 통해 이를 극대화할 수 있음
출처: https://bell-sw.com/announcements/2022/06/28/hotspot-vs-openj9-performance-comparison/
반응형
'Tech News' 카테고리의 다른 글
[TechNews] 유용한 개발 관련 아티클 및 영상 #31 (0) | 2024.08.02 |
---|---|
[TechNews] 유용한 개발 관련 아티클 및 영상 #30 (0) | 2024.07.26 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #28 (0) | 2024.07.12 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #27 (0) | 2024.07.05 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #26 (0) | 2024.06.28 |
댓글