WEB 31

Dependency Injection 의존성 주입

dependency Injection 은 스프링 공부하면서 자주 들었던 키워드이다. 정확한 개념을 알아두고 싶어 정리해본다. 의존성이란 A 클래스에서 B 클래스를 사용할 때 A클래스는 B클래스에 의존적이라고 할 수 있다. class A{ B b = new B(); } class b{ // } 의존성 주입 의존성이 있는 코드를 넣어준다는 의미로 A클래스에서 B클래스를 직접 생성하는 것이 아닌 B클래스를 외부에서 미리 생성하여 인스턴스를 사용하는 것을 의미. spring의 다른 특징, inversion of control(제어의 역전) 과도 연관이 있다. 제어의 역전 일반적으로 class A가 classB를 생성하여 사용하나 제어의 역전의 경우 중간의 매개체가 생겨 제어권을 일임하는 것. 이 매개체를 IoC..

WEB/Spring 2024.01.10

[ js ] kakao map api 지도 표출하기

지도 사용해야 할 때 자주 이용하는 카카오 맵 api. 무료여서 개발단계에서 사용하기 좋습니다. 1. kakao developers 가입 및 키발급 카카오 맵 api 를 사용하기 위해서는 먼저 APP KEY를 발급받아야합니다. 우선 내 애플리케이션 메뉴에 접속합니다. 애플리케이션 추가하기를 클릭합니다. 기타 정보들을 입력한 후 저장합니다. 저장 후에 목록에서 클릭하면 앱 설정 > 요약 정보에 JavaScript 키를 비롯하여 여러 키들이 생성됨을 확인할 수 있습니다. 우리는 JavaScript 키를 사용할 것입니다. 2. 카카오 맵 api 명세를 확인하여 지도 생성 Web 버튼을 클릭하여 API 명세를 살펴봅시다. 먼저 맵 div를 생성하고 api를 import해줍니다. appkey 의 경우에 발급받은 ..

WEB 2023.12.05

리액트(2)

- state and Lifecyecle 리액트 클래스 컴포넌트에서 주로 사용하는 것들 - State : 리액트 Component의 변경가능한 데이터 -> state는 개발자가 정의함(렌더링이나 데이터 흐름에 사용되는 값만 포함해야함), javaScript 객체 - 모든 클래스 컴포넌트는 contrtuctor라는 생성자를 가지고 있음, 생성자 내부에 선언 - 생명주기 : 리액트 컴포넌트는 생성, 사용, 사망주기 가짐 사망은 상위 컴포넌트에 표시되지 않는 순간이다. - class 컴포넌트에서는 반드시 setState함수를 사용해서 state를 업데이트 해야함 - 리액트 훅 , 리액트 16.8버전부터 나옴 - 함수컴포넌트에 사용 - 클래스의 모든 기능 사용할 수 있게 됨 - 값이 바뀔 때 마다 재 렌더링 u..

WEB/react 2023.09.15

리액트 공부(1)

새로운 프로젝트에 투입됐는데 갑자기 쌩뚱맞게 리액트를 사용하게 됐다. 우선 나는 리액트 로고밖에 모르는 사람이고... 급하게 리액트 공부를 시작하게 된것이 이 글을 작성한 배경이다. 우선 기존에 사용하던 JSP와 가장 큰 차이점은 리액트는 하나의 index.html에 여러 컴포넌트를 조립하여 페이지를 동적으로 처리를 해준다. 기본적으로 라이브러리이기 때문에 react를 임포트 해서 사용을 한다. JS와 JSX가 있는데 JS는 순수 JS 함수가 들어가 있고 JSX는 동적 html 조립을 위한 xml 코드가 들어가 있는 파일이다. 렌더링 되는 시점이나 이런건 잘 모르지만 지금까지 이해한 결과로는 각각의 컴포넌트가 리턴하는 값에 의해 조립되고 로직이 처리되고 그러는거 같다. 일단 소제목 단위로 하나하나 공부할..

WEB/react 2023.09.14

input 박스 날짜 30일, 60일 초기화하기

기간 입력하면 dateEnd, dateStart에 오늘날짜 기준으로 input박스 초기화해주는 코드. // 날짜 필터 var dateSet = function(period){ const date = new Date(); // 현재 날짜 구하기 const month = date.getMonth(); // 현재 날짜의 월 구하기 const day = date.getDate(); // 현재 날짜의 월 구하기 $('#dateEnd').val(date.toISOString().substring(0, 10)); switch (period){ case '1' : { break; } case '7' : { date.setDate(day-7); break; } case '30' : { date.setMonth(month..

[jquery/js] input checkbox name값, value 값으로 체크하기

체크박스를 만들면 여러개의 값을 저장해야한다. name은 같고 value만 다르게 하면 배열로 쉽게 값을 저장할 수 있어 자주 사용하는 방식이다. 그런데 이렇게 value로 저장된 값을 불러오려면 좀 난감해진다. jquery로 id, name, class만 접근 가능한 것으로 알고 있었기 때문이다. 하지만 name, value를 동시에 쓰면 value값으로도 체크박스를 체크해줄 수 있다. (값이 같은 경우가 있기때문에^^) (prop으로 checked true 설정해주기) $("input[name="+name+"][value="+item+"]").prop("checked",true);

[Mybatis] resultType string 결과 값 받기

쿼리 결과값이 하나의 문자열인 경우 굳이 hashmap으로 리턴할 필요 없이 resultType을 string으로 설정해주면 된다. 하지만.. 삽질을 했으니 블로그 글을 쓰는 것이다. 만약 string으로만 설정한다면 쿼리 결과가 나오기는 하나 java내에서 변수에 리턴되지는 않을 것이다. 이유는!! 쿼리 결과값이 하나의 문자열인 경우라도 그 문자열은 컬럼값을 가지고 있다. 이 컬럼값을 지정해주지 않는다면 java 소스 내에서 결과값을 읽어오지 못하게 된다. .... 쿼리에 alias로 java 소스내의 변수와 이름을 맞춰주던지 아니면 변수를 쿼리 리턴 컬럼값으로 지정해주어야 한다. 그럼 값을 제대로 읽어온다!

WEB/Mybatis 2022.11.04

mybatis 에서 파라미터로 배열 사용하기

인수의 형태가 정해진 반복적인 작업을 할 때 mybatis에서 foreach 구문을 사용하여 반복문으로 처리가 가능하다. 아래 코드와 같이 list 또는 array형으로 받은 인수를 JAVA 코드 ModelAndView mv = new ModelAndView(); ArrayList names = new ArrayList(); names.add("홍길동"); names.add("홍길순"); names.add("김영희"); names.add("김철수"); names.add("단미"); mv.addObject("names", names); mybatis구현체인 xml에서 foreach문을 사용하여 처리할 수 있다. XML -- 경력 -- 경력무관 name = #{type} and test = "ddd" col..

WEB/Mybatis 2022.10.19