Programming212 [오브젝트와 의존관계] - 제어의 역전(IoC) IoC라는 약자로 많이 사용되는 제어의 역전(Inversion of Control)이라는 용어가 있다. 스프링을 통해 일반 개발자에게는 많이 알려진 용어이지만, 개념은 상당히 오래전부터 있었다. 1. 오브젝트 팩토리지금까지는 문제가 많은 DAO를 깔끔한 구조로 리팩토링 하는 작업을 진행했다. 그 과정에서 생략한 부분이 바로 클라이언트 UserDAOTest이다. UserDAOTest는 기존에 UserDAO가 직접 담당하던 기능, 즉 어떤 ConnectionMaker 구현 클래스를 사용할지를 결정하는 기능을 엉겁결에 떠맡았다고 볼 수 있다. UserDAO가 ConnectionMaker 인터페이스를 구현한 특정 클래스로 부터 완벽하게 독립할 수 있도록 UserDAO의 클라이언트인 UserDAOTest가 그 .. 2025. 5. 4. [오브젝트와 의존관계] - 관계 설정 책임의 분리 이전에 UserDAO와 ConnectionMaker라는 두 개의 관심을 인터페이스를 통해 완벽하게 분리했음에도, 왜 UserDAO가 인터페이스뿐아니라 구체적인 클래스까지 알아야하는가라는 의문을 가졌다. 그 이유는 여전히 UserDAO에는 ConnectionMaker 구현 클래스를 사용할지를 결정하는 코드가 남아있기 때문이다.인터페이스를 통한 분리에도 불구하고 여전히 UserDAO 변경 없이는 DB Connection 기능의 확장이 자유롭지 못한데, 그 이유는 UserDAO안에 분리되지 않은 또 다른 관심사항이 존재하고 있기 때문이다. [오브젝트와 의존관계] - DAO의 확장이전는 데이터 엑세스 로직을 어떻게 만들 것인가와 DB 연결을 어떤 방법으로 할 것인가라는 두 개의 관심을 상하위 클래스로 분리하여.. 2025. 5. 3. [오브젝트와 의존관계] - DAO의 확장 이전는 데이터 엑세스 로직을 어떻게 만들 것인가와 DB 연결을 어떤 방법으로 할 것인가라는 두 개의 관심을 상하위 클래스로 분리하여 학습을 진행하였다. 이 두 개의 관심은 변화의 성격이 다르고, 그것은 변화의 이유와 시기, 주기 등이 다르다는 것을 의미한다.이전 관심사의 분리에 대해서 기억이 나지 않는다면 아래 포스팅을 확인하여 한 번 더 어떻게 분리를 하였는지 확인할 수 있다. 오브젝트와 의존관계 - 관심사의 분리지난 문서에서는 DAO, Data Access Obejct란 무엇인가. 그리고 과정은 어떻게 되는 가에 대해서 알아보았습니다.지난 문서를 다시 확인하고 싶으시다면 아래 링크를 클릭 하시면 DAO에 대해서 다시 같lifeisstudy-hong.tistory.com 오늘은 DAO의 확장을 통해.. 2025. 5. 3. [오브젝트와 의존관계] - 관심사의 분리 지난 문서에서는 DAO, Data Access Obejct란 무엇인가. 그리고 과정은 어떻게 되는 가에 대해서 알아보았습니다.지난 문서를 다시 확인하고 싶으시다면 아래 링크를 클릭 하시면 DAO에 대해서 다시 같이 학습할 수 있습니다. 오브젝트와 의존관계 - DAO개발 1년차. 요즘 기본기와 기초가 많이 부족한 거 같다는 생각을 많이한다. 누구는 그렇게까지 깊게 공부하지 않아도 GPT가 다 해준다라는 속 편한 말을 하는 직장 동료도 있지만 꾸준히 하다보lifeisstudy-hong.tistory.com오늘은 지난 학습 때 들었던 의문점인 데이터베이스가 변경되게 된다면 그 수 많은 기능에 대한 Connection을 전부 변경해줘야 하나? 라는 의문에 대해 관심사를 분리함으로써, 데이터베이스 연결과 기능 .. 2025. 5. 3. [오브젝트와의존관계] - DAO 개발 1년차. 요즘 기본기와 기초가 많이 부족한 거 같다는 생각을 많이한다. 누구는 그렇게까지 깊게 공부하지 않아도 GPT가 다 해준다라는 속 편한 말을 하는 직장 동료도 있지만 꾸준히 하다보면 GPT보다는 덜 하겠지만 스스로가 뿌듯해지는 순간이 오지 않을까하여 기본기를 다지기 위해 다시 공부를 하려고 한다. 오늘 처음 공부할 부분은 DAO ( Data Access Object ) 이다. 1. DAO ( Data Access Object )DAO는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트로, DB와 직접적인 관계를 가지고 있다고 생각하면 된다. 1.1. DAO의 수행 절차데이터베이스 연결을 위한 Connection을 가져온다.SQL을 담은 Statement ( 또는 pr.. 2025. 5. 3. [CSS] background 속성 : 이미지 어둡게 하는 3가지 방법 이미지 어둡게 하기는 아래와 같이 3가지 방법으로 해결 할 수 있습니다.1. filter : brightness()2. opacity, backgroud-color3. linear-gradient()1. filter: brightness()CSS의 Filter에 적용되는 brightness 함수는 주어진 이미지의 밝기를 조절한다.허용값 숫자1은 100%입니다.퍼센트100% 미만은 이미지를 어둡게 합니다.100% 초과는 이미지를 밝게 합니다.0%는 이미지를 검은색으로 만듭니다.brightness(100%); /* 원본 이미지 */brightness(0%); /* 검은색 */brightness(200%); /* 밝기 2배 */brightness(0.4); /* 40% */2. opacity, back.. 2025. 2. 16. [Vue] 라우터 ( Router ) [Vue] 컴포넌트의 통신 방식 ( Props, Emit )[Vue] 템플릿 문법과 컴포넌트(component)[Vue] Vue & 인스턴스Vuevue는 웹 애플리케이션의 사용자 인터페이스를 만들기 위해 사용하는 오픈 소스 프로그레시브 JS 프레임워크이다. Vue.jsVue.js - The Progreshong-study.tistory.com뷰 라우터뷰 라우터는 뷰 라이브러리를 이용하여 싱글 페이지 애플리케이션을 구현할 때 사용하는 라이브러리이다.뷰 라우터의 설치 방법은 CDN 방식과 NPM 방식으로 총 2가지가 있다.CDN 방식별도의 설치 없이 아래 링크를 통해 라우터 라이브러리에 대한 정보를 불러올 수 있다.NPM 방식Vue CLI로 프로젝트를 생성하거나 NPM 기반으로 프로젝트를 생성한다면 아래 .. 2024. 6. 25. [Vue] 컴포넌트의 통신 방식 ( Props, Emit ) [Vue] 템플릿 문법과 컴포넌트(component)[Vue] Vue & 인스턴스Vuevue는 웹 애플리케이션의 사용자 인터페이스를 만들기 위해 사용하는 오픈 소스 프로그레시브 JS 프레임워크이다. Vue.jsVue.js - The Progressive JavaScript Frameworkvuejs.orgVue의 핵심hong-study.tistory.com컴포넌트의 통신 방식뷰 컴포넌트는 각 각 고유한 데이터 유효 범위를 갖는다. 따라서, 컴포넌트 간에 데이터를 주고 받기 위해선 아래와 같은 규칙을 따라야 한다.상위에서 하위로 데이터 전달 : Props 속성하위에서 상위로 이벤트 전달 : 이벤트 발생Props 속성프롭스 속성은 컴포넌트 간에 데이터를 전달할 수 있는 컴포넌트 통신 방법 중 하나이다. 속.. 2024. 6. 25. [Vue] 템플릿 문법과 컴포넌트(component) [Vue] Vue & 인스턴스Vuevue는 웹 애플리케이션의 사용자 인터페이스를 만들기 위해 사용하는 오픈 소스 프로그레시브 JS 프레임워크이다. Vue.jsVue.js - The Progressive JavaScript Frameworkvuejs.orgVue의 핵심 기능으로는 선언적hong-study.tistory.com이전에는 Vue와 인스턴스에 대해 공부를 했다. 이번에는 Vue의 템플릿 문법은 무엇이 있는지와 Component란 무엇인가에 대해 공부해보려고 한다.뷰의 템플릿 문법뷰의 템플릿 문법은 뷰로 화면을 조작하는 방법을 의미한다. 템플릿 문법은 크게 데이터 바인딩과 디렉티브로 나뉜다.데이터 바인딩데이터 바인딩은 뷰 인스턴스에서 정의한 속성들을 화면에 표시하는 방법이다. 아마 Spring B.. 2024. 6. 25. [Vue] Vue & 인스턴스 Vuevue는 웹 애플리케이션의 사용자 인터페이스를 만들기 위해 사용하는 오픈 소스 프로그레시브 JS 프레임워크이다. Vue.jsVue.js - The Progressive JavaScript Frameworkvuejs.orgVue의 핵심 기능으로는 선언적 랜더링과 반응성 두 가지가 있다.선언적 랜더링(Declarative Rendering)Vue는 표준 HTML을 템플릿 문법으로 확장하여 JS 상태를 기반으로 화면에 출력될 HTML을 선언적으로 작성할 수 있다.반응성(Reactivity)Vue는 JS 상태(State) 변경을 추적하고, 변경이 발생하면 DOM을 효율적으로 업데이트하는 것을 자동으로 수행한다.뷰 인스턴스인스턴스는 뷰로 개발할 때 필수로 생성해야 하는 코드이다.MVVM 패턴과는 관련이 없.. 2024. 6. 25. 이전 1 2 3 4 ··· 22 다음 반응형