본문 바로가기
728x90

java10

[실전 자바 소프트웨어 개발] 5. 비즈니스 규칙 엔진 이번 장에서는 TDD (Test Driven Development)를 주로 설명합니다. 따라서 실패하는 Test code를 먼저 작성하며, 이를 이용해 전체 프로그램의 구조를 파악한 뒤 세부 구현을 해서 test code가 성공하도록 하는 과정을 반복해서 프로젝트를 완성하는 순서를 따르고 있습니다. 비즈니스 규칙 엔진 프로젝트 요구 사항 전체 구성원들이 비즈니스 규칙을 원하는대로 추가하고 관리하기 위한 프로젝트이며, 다으모가 같은 기능을 제공하려 한다. 팩트: 규칙이 확인할 수 있는 정보 액션: 수행하려는 동작 조건: 액션을 언제 발생시킬지 지정 규칙: 실행하려는 비즈니스 규칙을 지정, 보통 팩트, 액션, 조건을 한 그룹으로 묶어 규칙으로 만듦. 테스트 주도 개발 (TDD) TDD의 철학은 테스트 코드를.. 2023. 9. 4.
[실전 자바 소프트웨어 개발] 3. 입출금 내역 분석기 확장판 이번 글은 지난 2장 정리글에 이어서 3장을 공부하고 기록합니다. [2장 정리글 링크] [실전 자바 소프트웨어 개발] 2. 입출금 내역 분석기 들어가면서.. 이 글은 실전 자바 소프트웨어 개발(Real-World Software Development) 책을 읽으며 공부한 점을 기록하기 위해 작성합니다. 이번 2장에서는 입출금 내역 분석기라는 소프트웨어를 개발하고, kkkdh.tistory.com 이번 장에서는 2장에서 구현한 입출금 내역 분석기에 추가 기능을 구현하고, 이 과정에서 OCP(open/closed principle), 개방 폐쇄 원칙을 배웁니다. 또한 인터페이스를 사용하는 일반적인 기준과 maven, gradle과 같은 검증된 빌드 도구를 활용해 자바 프로젝트를 시스템적(systemicall.. 2023. 8. 29.
BOJ - 10282번 해킹 문제 Java를 이용한 dijkstra 풀이 요즘 코딩테스트에서 백 엔드 직군의 경우 Java 언어를 사용하도록 C++와 같은 언어 사용에 제약을 두는 분위기인 것 같아서 Java를 이용한 코딩테스트 연습을 이어가고 있습니다. 이번 문제는 그 중에서도 다익스트라(dijkstra) 알고리즘을 이용해 풀이해야 하는 문제였는데, 아무래도 오랜만에 푸는 유형이기도 하고, C++를 사용했을 때와는 다른 포인트에서 신경을 써야 하는 경우도 더러 있어 이번 기회에 정리해보려 합니다. https://www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 .. 2023. 8. 9.
Java의 상속에 대해서 이것 저것 정리 상속의 의미 Java에서 extends라는 예약어로 상속을 표현한다는 것은 알고 계시는 분들이 많을 것 같습니다. 그렇다면, 상속은 무엇을 의미할까요?? Java에서 상속이 의미하는 바는 extends (확장하다)라는 예약어에서 알 수 있듯이 확장의 의미를 갖습니다. 접근 제어자가 public, protected로 설정되어 있는 부모 클래스의 멤버를 자식 클래스가 기본적으로 물려받고, 이에 더해서 추가적인 기능을 자식 클래스가 구현하니 확장의 개념이 되는 것입니다. ❓ 접근 제어자란?? Java에는 4가지의 접근 제어자 public, protected, package-private, private가 존재합니다. public 쪽으로 갈수록 공개되는 접근 제어자이며, private 쪽으로 갈수록 외부에 공개.. 2023. 8. 2.
Java의 Exception에 대해서 이번 글에서는 Java에서 예외 처리 방식을 어떻게 가져가는지에 대한 내용을 다루어 보려고 합니다. 요즈음 개발을 하면서 예외 처리 방식에 대해 공부의 필요성을 느껴 간단히 정리했던 부분이기도 하고, 김영한 님 강의에서는 한 파트를 따로 빼서 설명을 해주셔서 내용을 취합해서 정리해보려 합니다. 글에서 등장하는 개념은 주로 김영한님의 Spring DB 1편 강의를 참고했습니다. Exception 계층 구조 우선 자바의 예외 계층은 다음 구조도와 같이 구분됩니다. 예외 관련 객체들 역시 최상위 객체인 Object 객체를 상속받고 있으며, 그 아래에 Throwable 객체가 있음을 확인할 수 있습니다. Throwable class는 모든 예외들의 조상으로 getMessage, printStackTrace 등 .. 2023. 7. 5.
[Java] 지난주 공부한 개념들 기록과 용어 정리를 해보자. Java 코드의 컴파일 과정 개발자가 .java 파일을 생성하고, build 한다. .java 파일이 javac(java compiler)를 이용해 컴파일 된다. 컴파일 되면, .class 파일이 생성된다. (byte code라고 부른다.) Class Loader를 통해 JVM 메모리 내에 바이트 코드가 로드된다. JVM에 의해 OS에 맞는 기계어로 번역(interpretation)되고, 실행된다. 따라서 Java code는 시스템 아키텍쳐에 의존하지 않고, 코드 작성이 가능하다는 특성을 갖는 것이다. 여기서 컴파일과 빌드에 대한 용어를 다음과 같이 명확하게 정리하자. 빌드 (build) 개발자가 작성한 소스 코드를 실행 가능한 파일로 변환하는 과정을 의미한다. 컴파일 (compile) 컴파일러를 이용해.. 2023. 3. 13.
728x90