본문 바로가기

반응형

개발

(176) GITHUB 방명록
자바의 예외 처리 - 로그 남기기(log) 개발/Java / 2021. 5. 9. Logging 시스템 운영에 대한 기록 오류가 발생 했을 때 그 오류에 대한 대한 기록을 남겨 디버깅을 용이하게 함 로그 파일에 기록하는 코드를 추가하여 필요한 정보가 로그로 남을 수 있도록 함 디버깅, 시스템 에러 추적, 성능, 문제점 향상들을 위해 사용 너무 적은 로그 : 정확한 시스템의 상황을 파악하기 어려움 너무 많은 로그 : 빈번한 file I/O의 오버헤드와 로그 파일의 백업 문제 등 java.util.logging 자바에서 기본적으로 제공되는 log package 파일이나 콘솔에 로그 내용을 출력 가능 jre/lib/logging.properties 파일을 편집하여 로그의 출력방식 로그 레벨을 변경 가능 로그 레벨 : server, warning, info, config, fine, fine..
예외 처리 미루기 개발/Java / 2021. 5. 8. 앞에서 정리한 예외 처리 방법에서 추가로 다른 방법이 있다. 그것은 throws를 이용하여 처리를 미루는 방법인데.. 다시 말하면 해당 문장에서는 처리를 하지 않고, 해당 메서드를 사용하는 곳에서 처리를 하게 하는 것이다. throws를 사용하는 예제 public class ThrowsExeption { public Class loadClass(String fileName, String className) throws FileNotFoundException, ClassNotFoundException { FileInputStream fis = new FileInputStream(fileName); Class c = Class.forName(className); return c; } public static..
Java의 예외 처리하기 - Exception 개발/Java / 2021. 5. 7. 프로그램에서의 오류 · 컴파일 오류(compile error) 프로그램 코드 작성 중 발생하는 문법적 오류 최근에는 개발 환경(eclipse, intelliJ)에서 대부분의 컴파일 오류는 detection 됨. · 실행 오류(runtime error) 실행 중인 프로그램이 의도하지 않은 동작(bug)을 하거나 프로그램이 중지되는 오류 실행 오류는 비정상 종료 되는 경우 시스템의 심각한 장애를 발생 가능 예외 처리의 중요성 프로그램의 비정상 종료를 피하여 시스템이 원할이 실행되도록 함 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현식적으로 힘듦 오류가 발생한 경우 log를 남겨서 추후 log 분석을 통해 그 원인을 파악하여 bug를 수정 자바는 안정성이 중요한 언어로 대부분 프로그램에서 발생하는 ..
reduce( ) 연산 개발/Java / 2021. 5. 7. reduce( ) 연산 정의된 연산이 아닌 프로그래머가 직접 구현한 연산을 적용 T reduce( T identify, BinaryOperator accumulator ) *T idetify는 기본값 *BinaryOperator accumulator 는 BinaryOperator인터페이스를 구현한 부분 -> 람다식으로 직접 쓸 수도 있음 최종 연산으로 스트림의 요소를 소모하며 연산을 수행 reduce( ) 메서드의 두 번째 요소로 전달되는 람다식에 따라 다양한 기능을 수행 할 수 있음 람다식을 직접 구현하거나 람다식이 긴 경우 BinaryOperator를 구현한 클래스를 사용 reduce( ) 연산 구현 예 ◎ 배열의 모든 요소의 합을 구하는 reduce( ) 연산 구현 Arrays.stream(arr)..
스트림(Stream) 개발/Java / 2021. 5. 6. 스트림(Stream) 이란? 자료의 대상과 관계없이 배열, 컬렉션을 대상으로 동일한 연산을 수행 특징 한번 생성하고 사용한 스트림은 소모되기 때문에 재사용을 할 수 없음 → 다른 연산을 수행하기 위해서는 스트림을 재생성해야 함. 스트림 연산은 기존 자료를 변경하지 않음 스트림 연산은 중간 연산과 최종 연산으로 구분 (중간 연산은 여러 개의 연산이 적용될 수 있지만, 최종 연산은 마지막에 한 번만 적용) 최종 연산이 호출되어야 중간 연산에 대한 수행이 이루어지고 그 결과가 만들어짐 따라서 중간 연산에 대한 결과를 연산 중에 알 수 없는데 이를 '지연 연산'이라고 함. 스트림 생성과 사용 정수 배열에 연산을 수행하는 예 기존 방식 public class IntArrayTest { public static v..
람다식(Lambda expression) 개발/Java / 2021. 5. 5. 함수형 프로그래밍과 람다식 java는 객체 지향 프로그래밍 기능을 수행하기 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현 java 8부터 함수형 프로그래밍 방식을 지원 함수형 프로그래밍 → 람다식 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 함수형 프로그래밍(Functional Programming : FP) 특징 함수형 프로그래밍은 순수 함수(pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)을 주지 않도록 구현하는 방식 순수 함수란 매개 변수만을 사용하여 만드는 함수 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 여러 자료가 동시에 수행되는 병렬 처리가 가능 함수형..

반응형