본문 바로가기

전체 글

(175)
Spring에 등록된 Bean들을 조회해보자~ https://jootang2.tistory.com/144 Spring을 통해 의존관계 주입해보기! https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용해서 결과물 내기에만 급급했었다. 이제는 결과물을 내는 것 jootang2.tistory.com 전 포스팅에서는 Spring에서 사용할 bean들을 spring의 기능들을 통해서 생성했다. 이제 이 생성한 bean들을 어떻게 조회하는 지 알아보자. 1. bean의 이름으로 조회하기 class Test { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicati..
Spring을 통해 의존관계 주입해보기! https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용해서 결과물 내기에만 급급했었다. 이제는 결과물을 내는 것도 중요하지만, 어떻게 작동하는지에 대해서 이해가 필요하다고 생각든다. Spring의 기능을 사용하지 않고 jootang2.tistory.com 이전 포스팅에서는 Spring의 기능을 사용하지 않고 순수 java코드로 의존관계를 주입해봤다. 이제 Spring을 통해서 주입해보겠다! 어노테이션을 통해서 AppConfig를 bean으로 등록하자. @Configuration : 설정 정보 @Bean : spring container에 등록이 된다. @Configuration..
[인프런x코드캠프] 훈훈한 Javascript_15日, 16日 (완강) 오늘로 [인프런x코드캠프] 훈훈한 Javascript 강의를 완강했다. 입사할 때 시작해서 이제 두달이 되어간다. 시간이 정말 빨리 지나간다. 오늘은 구조분해할당을 통해 코드를 보다 간결하게 만들고, localStorage에 값들을 저장해 원하는 경우에만 데이터 통신을 하게 구현했다. 기능 구현하기 전에 깊은복사, 얕은 복사에 대해서 학습했다. 이 부분은 조금 졸면서 들어서 간단하게만 작성하겠다 ㅎㅎ 얕은 복사 : 복사하는 객체 안에 객체가 있는 경우, 완전하게 분리가 되지 않고 객체안 객체에 대해서 수정을 하게되면 원본 값도 같이 바뀌는 복사다. -> 주소값까지만 복사 위 그림은 얕은 복사의 예시이다. shallowCopyTest의 hobby.one 값을 수정하면 원본인 test의 hobby.one값도..
[인프런x코드캠프] 훈훈한 Javascript_14日 오늘은 아주 간단하게 비동기, 동기에 대해서 학습하고 api를 통해서 나의 위치, 날씨를 받아오는 기능을 구현했다. 비동기 동기에 대해서는 아래 영상을 보면 쉽게 이해할 수 있다. 간단하게 말해서 동기는 순차적으로 1번이 끝나고 2번을 실행하고, 2번이 끝난 후 3번을 실행하는 방식이다. 비동기는 1번이 끝나지 않아도 2번을 실행하고, 1 또는 2번이 끝나지 않아도 3번을 실행하는 방식이다. js에서는 fetch, then, catch를 사용해서 비동기적 프로그래밍을 할 수 있다. 먼저 fetch를 통해서 api통신을 한다. const weatherSearch = function (position) { fetch( `https://api.openweathermap.org/data/2.5/weather?l..
[인프런x코드캠프] 훈훈한 Javascript_13日 이번 시간에는 외부 API를 활용하는 강의를 들었다. 사용자의 위치에 따른 날씨 정보를 가져오려고 한다. 그러기 위해서는 사용자 위치에 먼저 접근해야한다. https://developer.mozilla.org/ko/docs/Web/API/Geolocation_API Geolocation API - Web API | MDN Geolocation API는 사용자가 원할 경우 웹 애플리케이션에 위치 정보를 제공할 수 있는 API입니다. 개인정보 보호를 위해, 브라우저는 위치 정보를 제공하기 전에 사용자에게 위치 정보 권한에 대한 developer.mozilla.org 사용자의 위도, 경도는 위 사이트에서 얻어올 수 있다. 그리고 이 정보를 가지고 아래 사이트에서 제공하는 open API를 통해서 날씨 정보를 ..
[인프런x코드캠프] 훈훈한 Javascript_12日 저번 시간에 이어서 이번 시간에는 객체 형태의 데이터를 로컬스토리지에 저장하는 기능을 구현했다. 그 과정에서 호이스팅에 대한 개념도 익힐 수 있었다. 먼저, localstorage에는 string 형태의 값만 저장할 수 있기 때문에 JSON으로 받아온 객체를 스트링 형태로 줘야 한다. saveItems.length === 0 ? localStorage.removeItem("saved-items") : localStorage.setItem("saved-items", JSON.stringify(saveItems)); saveItems라는 배열이 길이가 0이라면 localStorage에서 "saved-items" 라는 키를 가진 값을 지운다. 0이 아니라면, "saved-items"라는 키로 저장하는데 JSO..
HTTP의 주요 메소드에는 뭐가 있을까요!? HTTP의 주요 메소드에는 5가지 종류가 있다. GET POST PUT PATCH DELETE GET 리소스 조회 서버에 전달하고 싶은 데이터는 query를 통해서 전달 POST 요청 데이터 처리 메세지 바디를 통해 서버로 요청 데이터 전달 서버는 요청 데이터를 처리 주로 신규 리소스 등록, 프로세스 처리에 사용 리소스 URI에 POST요청이 오면 요청 데이터를 어떻게 처리할 지 리소스마다 따로 정해야 함 → 정해진 것이 없음 PUT 리소스를 대체 리소스가 있으면 대체 리소스가 없으면 생성 클라이언트가 리소스를 식별 (아래 예시에서 Collection, Store 내용 참고) 클라이언트가 리소스 위치를 알고 URI 지정 POST와의 차이점 ! PATCH 리소스 부분 변경 DELETE 리소스 제거 HTTP..
[인프런x코드캠프] 훈훈한 Javascript_11日 오늘은 등록한 todoList를 더블클릭 시 취소되는 기능, 전체 삭제 기능을 구현했다. 또, 개발자 도구의 디버거를 통해서 scope의 의미와 실제로 js가 어떤 순서로 실행되는지, for문이 어떻게 돌아가는 지에 대해서 직접 확인해봤다. 1. 더블클릭 시, 태그 삭제 newLi.addEventListner("dblclick", () => { newLi.remove(); } newLi로 지정한 태그를 더블클릭("dblclick") 하면은 remove() 함수가 실행돼서 newLi태그가 삭제된다. 이 기능을 통해서 해당 todo를 더블클릭 시 삭제하는 기능을 구현했다. 2. 전체 삭제 const deleteAll = function() { const liList = document.querySelectA..