본문 바로가기

전체 글400

[Java의 정석 - 기초편] 2-10. 형변환 (Casting) 형변환이란? 값의 타입을 다른 타입으로 변환하는 것 boolean을 제외한 7개의 기본형은 서로 형변환이 가능 float f = 1.6f; int i = (int)f; 변환 수식 결과 int → char (char) 65 'A' char → int (int) 'A' 65 float → int (int) 1.6f 1 int → float (float) 10 10.0f byte → int byte b = 10; int i = (int) b;// 생략 가능 int → byte int i = 300; byte b = (byte)i2; // 생략 불가 2024. 1. 9.
[Java] String.format을 이용한 문자열 형식 설정하기 public static String format(String format, Object... args); public static String format(Locale l, String format, Object... args); String의 static 메서드인 format 메서드는 문자열의 형식을 설정하는 메서드이다. %d ( = Integer Formatting) 10진수 integer의 형식을 설정할 때 이용한다. int i = 23; System.out.println(String.format("%d_", i));// 23_ System.out.println(String.format("%5d_", i));// 23_ System.out.println(String.format("%-5d_, i).. 2024. 1. 9.
[Java의 정석 - 기초편] 2-11. 형식화된 출력 : printf() 2-11. 형식화된 출력 : printf() println()의 단점 : 출력 형식 지정 불가 실수의 자리수 조절 불가 10진수로만 출력됨 printf()로 출력 형식 지정 가능 System.out.printf("%.2f", 10.0/3);// 3.33 System.out.printf("%d", 0x1A);// 26 System.out.printf("X", 0x1A);// 1A printf()의 지시자 지시자 설명 %b 불리언(boolean) 형식으로 출력 %d 10진(decimal) 정수의 형식으로 출력 %o 8진(octal) 정수의 형식으로 출력 %x, %X 16진(hexa-decimal) 정수의 형식으로 출력 %f 부동 소수점(floating-point)의 형식으로 출력 %e, %E 지수(expon.. 2024. 1. 9.
[소프트웨어 아키텍처 101] Ch.5 아키텍처 특성 식별 1. 도메인 관심사에서 아키텍처 특성 도출 도메인 이해관계자와 협력해서 주요 아키텍처 특성을 정의하는 한 가지 팁은, 최종 목록을 가능한 한 짧게 하는 것이다. 아키텍처에서 가장 흔한 안티패턴 중 하나가, 모든 아키텍처 특성을 지원하는 제네릭 아키텍처를 설계하려는 것이다. 아키텍처 특성의 개수에 연연하지 말고 가급적 설계를 단순화하는게 좋다. 대부분의 아키텍처 특성은 핵심 도메인 이해관계자들의 의견을 듣고 도메인 관점에서 무엇이 중요한지 의견을 교환하면서 정리된다. 여기서 문제는 아키텍트와 도메인 이해관계자들이 서로 다른 언어로 말을 한다는 것이다. 예를 들어, 아키텍트는 확장성, 상호운용성, 내고장성, 학습성, 가용성을 운운하는데, 도메인 이해관계자는 인수 병합, 고객 만족, 출시 시점, 경쟁 우위를 .. 2024. 1. 5.
[소프트웨어 아키텍처 101] Ch4. 아키텍처 특성 정의 p. 89 소프트웨어 솔루션은 도메인 요구사항과 아키텍처 특성으로 구성된다. 💬정처기에서 공부했던 것을 연결해보면 '도메인 요구사항 = 기능 요구사항 / 아키텍처 특성 = 비기능 요구사항'인걸까? 아키텍처 특성의 기준 비도메인 설계 고려 사항을 명시한다. 설계의 구조적 측면에 영향을 미친다. 애플리케이션 성공에 (절대적으로) 중요하다. 아키텍처 특성 (일부) 목록 운영 아키텍처 특성 가용성(availability) 시스템이 얼마나 오랫동안 사용 가능해야 하나? 연속성(continuity) 재해 복구 능력 성능(performance) 스트레스 테스트, 피크 분석, 기능의 사용 빈도 분석, 필요 용량, 응답 시간 복구성(recoverability) 비즈니스 연속성 요구사항(e.g. 장애 발생 시 얼마나 신속.. 2024. 1. 5.
[소프트웨어 아키텍처 101] Ch.3 모듈 소프트웨어 아키텍처 용어의 95%는 '모듈성'의 이로움을 찬양하는 데 사용되고 있지만, 정작 모듈성을 어떻게 달성할지에 대해서는 별다른 얘기가 없다. - 글렌포드 J. 마이어스, 1978년 플랫폼마다 제공하는 코드 재사용 메커니즘은 제각각이지만, 연관된 코드를 '모듈'로 묶는 방법은 모두 지원한다. 본인이 선택한 개발 플랫폼에서 모듈성과 그것을 구현한 수많은 코드를 이해하는 것은 아키텍트에게 대단히 중요한 일이다. 우리가 아키텍처를 분석해야 할 (메트릭, 피트니스 함수, 시각화 등) 많은 도구가 바로 이 모듈성에 기반하기 때문이다. 모듈성은 일종의 구성 원리이다. 아키텍트가 대충 아무렇게나 조각들을 이어 붙여 시스템을 설계하면 무수한 난관에 봉착해 옴짝달싹 못 하는 시스템이 될 것이다. 물리학에 비유하자.. 2024. 1. 5.