본문 바로가기

분류 전체보기86

[JAVA] 의존성이라는 비용이 이익보다 크다? Mock? '의존성이라는 비용이 이익보다 크다'라는 말은, 일반적으로 소프트웨어 개발이나 시스템 설계에서 의존성이 가지는 부담이 그로 인해 얻는 이점을 상쇄할 정도로 크다는 의미이다. 의존성은 한 요소가 다른 요소에 의존하거나 종속됨을 나타낸다. 예를 들어, 클래스 A가 클래스 B를 사용하고 있다면, 클래스 A는 클래스 B에 의존성을 가지고 있다. 의존성은 코드 간의 상호작용을 통해 구현되며, 이는 모듈 또는 객체들 사이의 관계를 형성합니다. - 의존성이 비용으로 작용하는 이유 1. 변경의 전파: 의존성이 있는 요소 중 하나를 변경하면, 그 변경은 의존하는 다른 요소에도 영향을 미칠 수 있다. 따라서 변경이 전파되는 것을 관리하고 조절하는 데 추가적인 비용이 발생할 수 있다. 2. 결합도 증가: 의존성이 많아질수록.. 2023. 6. 15.
[JAVA] 체크 예외(Checked Exception, 확인된 예외)란? 확인된 예외는 컴파일러에 의해 강제적으로 처리되어야 하는 예외이다. 확인된 예외는 메서드 선언부에 throws 키워드를 사용하여 명시적으로 선언되며, 해당 메서드를 호출하는 코드에서는 이러한 예외를 처리해야 한다. 예외 처리는 try-catch 블록을 사용하여 예외가 발생한 경우 적절한 조치를 취할 수 있도록 해야한다. 확인된 예외는 주로 외부 자원과의 상호작용(파일 입출력, 네트워크 통신 등)이나 예상할 수 있는 예외 상황(파일이 없는 경우, 데이터베이스 연결 실패 등)에서 발생하는데, 이러한 예외는 프로그램이 적절히 예외 상황을 처리할 수 있도록 안내하고, 안정성과 신뢰성을 향상시킨다. 확인된 예외는 예외 처리를 강제하기 때문에 개발자는 예외를 명시적으로 처리하거나 호출자에게 예외 처리 책임을 위임해.. 2023. 6. 14.
왕초보를 위한!! 자바 기초 코드 해석 방법 3) 인스턴스 생성 FileInputStream stream = new FileInputStream(sectionName); 코드를 해석해보자 이 코드는 FileInputStream 클래스의 인스턴스를 생성하고, 이를 stream 변수에 할당하는 구문이다. FileInputStream은 파일에서 데이터를 읽을 수 있는 스트림이다. sectionName은 생성할 파일 입력 스트림의 대상 파일을 나타내는 문자열이다. 보통은 파일 경로나 파일명을 전달하여 해당 파일에 대한 입력 스트림을 생성한다. 예를 들어, "example.txt"와 같이 파일명을 전달할 수 있다. 따라서, 위의 코드는 sectionName에 해당하는 파일을 읽기 위한 FileInputStream 인스턴스를 생성하고, 이를 stream 변수에 할당하는 것이다... 2023. 6. 13.
왕초보를 위한!! 자바 기초 코드 해석 방법 2) 메서드, 타입 public List retrieveSection(String sectionName) { return new ArrayList(); } 위 코드는 retrieveSection 메서드를 정의하는 부분이다. public List retrieveSection(String sectionName): retrieveSection이라는 공개(public) 메서드를 선언하고 있다. 이 메서드는 String 타입의 sectionName 파라미터를 받으며, List 타입의 결과를 반환한다. return new ArrayList();: 새로운 ArrayList 객체를 생성하여 반환한다. 이는 RecordedGrip 객체의 리스트를 저장할 수 있는 동적 배열을 생성하는 것이다. retrieveSection 메서드는 secti.. 2023. 6. 13.
왕초보를 위한!! 자바 기초 코드 해석 방법 1) 클래스 public class DeviceController { ... public void sendShutDown() { DeviceHandle handle =getHandle(DEV1); if (handle != DeviceHandle.INVALID) { retrieveDeviceRecord(handle); if (record.getStatus() != DEVICE_SUSPENDED) { pauseDevice(handle); clearDeviceWorkQueue(handle); closeDevice(handle); } else { logger.log("Device suspended.Unable to shut down"); } } else { logger. log("Invalid handle for: " + .. 2023. 6. 13.
정글 그 이후 - 취준 기간 오늘은 2023년 6월 6일! 정글이 끝나고도 벌써 1년 3개월이 지났다. 취준 기간은 암흑기 그 자체였다. ㅋㅋㅋ 많이 힘들고, 무너지는 순간이 많았다. 결론부터 말하자면, 나는 현재 원하던 직장에 합격해 많은 회사 복지 혜택을 누리며 잘 지내고 있다. (사내마사지..최고b) 근무한지는 6개월가량이 되었으며, 나의 취준기간은 정글이 끝난 이후 7-8개월정도가 더 걸렸다. 애초에 나는 정글이 이 커리어의 시작이었어서, 정글을 하면서도 내 자신이 모르는 부분이 아직 많다 생각해 끝난 이후에 개인공부를 좀 더 한 뒤에 취업할 목표를 가지고 있었고, 그렇게 했다. 이제 취준기간동안 어떤 공부를 했는지 말해보겠다. 나는 백엔드를 준비했으며, 시간이 좀 지나 기억이 흐려져 모두 정확한 기록이 아닐 수 있음에 대해.. 2023. 6. 6.