전체 글400 [소프트웨어 아키텍처 101] Ch. 7 아키텍처 특성 범위 소프트웨어 아키텍처 세계에서는 전통적으로 아키텍처 특성의 범위를 시스템 레벨에 두는 것을 당연시했다. 예를 들어, 아키텍트가 확장성을 논할 때에는 일반적으로 전체 시스템의 확장성을 가리키는 것이다. 10년 전까지만 해도 거의 모든 시스템은 모놀리식이었으니 이것은 안전한 전제였지만, 현대적인 공학 기술의 등장과 마이크로서비스 등의 아키텍처 스타일이 가능해지면서 아키텍처 특성의 범위는 상당히 좁혀졌다. 이렇듯 소프트웨어 개발 생태계가 무서운 속도로 진화를 거듭하면서 기존에 당연하게 여겼던 공식도 서서히 퇴물로 전락하고 있다. 우리가 앞에서 살펴보았던 다양한 메트릭들은 사실 모두 코드에 관한 저수준의 세부만 밝힐 뿐, (특히 운영과 관련된) 아키텍처 특성에 영향을 미치는, (데이터베이스 같은) 코드베이스 외부.. 2024. 1. 11. [소프트웨어 아키텍처 101] Ch.6 아키텍처 특성의 측정 및 거버넌스 1. 아키텍처 특성 측정 아키텍처 특성을 정의할 때 흔히 발생하는 문제들 물리학이 아니다 : 아키텍처 특성의 대부분은 의미가 모호하다. 정의가 너무 다양하다 : 부서마다 정의를 통일하기 전까지는 원활한 소통이 어렵다. 너무 복합적이다 : 바람직한 아키텍처 특성은 대부분 더 작은 다른 여러 특성들로 구성된다. 이 세 가지 문제는 아키텍처 특성을 객관적으로 정의하면 모두 해결된다. 1.1 운영적 측정 아키텍처 특성은 성능, 확장성처럼 비교적 정확하게 측정할 수 있는 것도 많지만, 팀 목표에 따라 그에 다른 해석은 미묘하게 갈릴 때가 많다. 성능의 여러 가지 맛 대부분의 프로젝트는 (웹 애플리케이션의 요청/응답 시간을 재는 것처럼) 일반적인 성능을 살펴보지만, 아키텍트와 데브옵스 엔지니어는 성능 예산을 책정하.. 2024. 1. 11. [Java] throw와 throws는 언제 사용하는 것일까? throw 자바에서 예외처리를 하면 throw와 throws 예약어를 자주 접하게 된다. throw는 아래처럼 사용된다. throw의 경우 개발자가 의도적으로 예외를 발생시키는 것이다. throw라는 키워드를 이용하여 주로 비즈니스 로직을 구현하는 과정 중 컴파일에는 문제가 없지만 해당 비즈니스 로직이 개발자가 의도한 대로 통과하지 못했을 경우, 고의로 예외를 발생시켜야 할 때 사용한다. public void validate(String name) { if (name.isBlank()) throw new IllegalArgumentException(); } 하지만 메서드 시그니처에 사용되는 throws는 어떤 곳에서는 사용되고, 또 어떤 곳에서는 사용되지 않는다. throws는 언제 사용하는 것일까? t.. 2024. 1. 9. [Java의 정석 - 기초편] 8. 예외처리 (exception handling) 1. 예외처리 (exception handling) 1.1 프로그램 오류 컴파일 에러(compile-time error)와 런타임 에러(runtime error) 컴파일 에러 : 컴파일할 때 발생하는 에러 런타임 에러 : 실행할 때 발생하는 에러 논리적 에러 : 의도와 다르게 동작 (실행 시) Java의 런타임 에러 - 에러(error)와 예외(exception) 에러(error) : 프로그램 코드에 의해서 수습되 수 없는 심각한 오류 예외(exception) : 프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류 1.2 예외처리의 정의와 목적 에러(error)는 어쩔 수 없지만, 예외(exception)는 처리해야 한다. 예외처리의 정의와 목적 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생.. 2024. 1. 9. [Java] java.util.IllegalFormatConversionException: d != java.lang.String 에러 원인 문자열 형식이 잘못되었을 때 생기는 에러이다. String s = String.format("%d = 정수", "10"); %d 는 정수형을 넣어야하지만 "10"은 String이다. 이럴 때 발생한다. 해결 적절한 형식으로 지정해주어야 한다. String s = String.format("%d = 정수", 10); 참고 [Java] String.format을 이용한 문자열 형식 설정하기 public static String format(String format, Object... args); public static String format(Locale l, String format, Object... args); String의 static 메서드인 format 메서드는 문자열의 형식을 설정하는 메.. 2024. 1. 9. [Java] String ↔ char 변환 String → Char 1. charAt() 이용하기 String input = "안녕하세요"; char c = input.charAt(인덱스); String krstr = "안녕하세요"; char c = krstr.charAt(0); System.out.println(c);// 안 String enstr = "abcdef"; char c = enstr.charAt(3); System.out.println(c);// d String input = "자바킹"; for(int i=0; i [Java] String char 변환 총 정리 1.String to char (String -> char) 1-1.charAt() 이용하기 문법 String input = "안녕하세요"; char c = in.. 2024. 1. 9. 이전 1 ··· 39 40 41 42 43 44 45 ··· 67 다음