2025/02 35

자바 풀 스택 2/24 오후 기록 061-2

edit.html 내가 했던거는 다른거는 다 잘했는데 빨간줄 부분을 안고치고 있었음.  타임리프에서는 $가 해석될까봐 걱정할 필요는 없다. 더보기쌤이 보내준거 회원 정보 수정 양식 아이디 이메일 프로필 이미지 수정확인 취소    custom.properties 에는 파일 업로드 위치 정보를 가지고 있는데, 이걸 메인메소드가 있는 클래스에 로딩시켜주기 위해 @PropertySource 어노테이션을 붙여준다.     동적 쿼리문 구성하기 & 내가 생각도 못한 updateA..

자바 풀 스택 2/24 오전 기록 061-1

9:29 학원 도착 지난 시간에 했던거 복습 시간.지난시간에 스프링 시큐리티를 적용해놨었다.중요한건 @Bean 어노테이션으로 스프링 빈 컨테이너에 보관해 두는 것이지, 이름은 의미에 맞게 지으면 꼭 securityFilterChain 이 아니어도 된다.빈으로 어노테이션한 것만으로 스프링프레임네트워크가 알아서 호출해줄 뿐만 아니라 매개변수로 들어가 있는 HttpSecurity 타입의 데이터를 넣어주고, 이조차도 빈으로 관리해준다.결국 이 메소드는 스프링 시큐리티의 세팅에 필요한 객체를 전달해주고, 그걸 이용해서 원하는대로 세팅해서 시큐리티필터 체인을 리턴받아서 사용할 수 있는 빈으로 관리되는 핵심 메소드가 된다. 그 아래는 한줄 코딩인데, 이렇게 자바에서도 한줄 코딩이 유행 중이다.람다식으로 표현된 애들도..

자바 풀 스택 2/21 오후 기록 060-2

아까 전에 했던거 간략 복습 : 메소드 실행이 안되고 끝날수도 있고 메소드를 수행하고 끝날수도 있다.  다른 방식으로 시도해보는 중  방금 만든 @Around는 util 패키지의 getMessage() 메소드의 직전이나 직후에 관여해서 작동할 수 있다.         이 AOP를 잘 활용하면 유틸리티로 직접 어노테이션도 만들어서 쓸 수 있는 상황인 것귀찮은 인증이나 로딩 작업 같은 걸 AOP를 사용하면 됨. 스프링 부트의 3대 핵심 개념 :   DI(Dependency Injection) : 의존성 주입IOC(Inversion of Control) : 제어의 역전(제어권을 프레임워크에 넘겼다)AOP(aspect oriented programming) : 관점 지향 프로그래밍 (@transactional이..

자바 풀 스택 2/21 오전 기록 060-1

9:22 학원 도착    코드를 봤을 때 2의 경우가 출력되어 있는 것은 타임리프에 추가된 sec:authorize 기능이 2번을 출력하라는 조건을 읽어서.   타임리프에 추가된 시큐리티 기능 덕에 sec:authorize를 사용할 수 있다.  웹브라우저 입장에서는 고객이 /study를 요청했는데, /user/required-loginform으로 요청을 다시 하라고 redirect 응답하라는 응답을 받아서 redirect 페이지를 보여줌.서버의 입장에선 클라이언트가 /study 요청을 해오는데 여기는 authenticate 인증이 되어야 요청이 처리되는 곳이라, 서버에서 요청을 다시하라고 redirect 응답을 주는 것   로그인 하지 않아도 보여줄 경로(페이지)는 whitelist 배열(java의 {}..

자바 풀 스택 2/20 오후 기록 059-2

Spring Security를 하면 우리 상태가 안좋아질것 같아서 java 기초를 한번 잡고 간다고 하심. Spring으로 꼭 웹을 할 필욘 없다. java 기초도 할 수 있다. 스프링을 사용할 수 있는 일반 Maven 프로젝트.java를 사용하겠다고 java프로젝트라고 부른 것 뿐.  Stream에는 map이라는 함수가 있다.자바 스크립트에서 map함수(배열에 저장된 아이템을 이용해서 새로운 아이템을 얻어내는 함수)를 배웠었다.java가 자바스크립트가 부러워서 map 도 가져왔다....고 설명하심ㅋㅋㅋㅋㅋㅋㅋ   내꺼 map 오류 계속 나서 왜 오류난건지 여쭤봤더니 import 잘못했다고 하심stream에서 map을 사용하면 그 후에는 스트림에 또 사용할 수가 없다고 함.  다시 하려면 names.st..

자바 풀 스택 2/20 오전 기록 059-1

9:28 학원 도착컨디션 나아지긴 했는데 아직 좀 힘들긴하다 ㅋㅋ 그래도 오늘은 죽먹으러 가볼 기운은 있다!!11시 수강신청 잊지 말기  어제 한것 복습  응답에 필요한 데이터를 담기 위해 모델까지 선언하기지난 시간에 한 것 콘솔창에 출력하는 부분은 주석처리하고, 뷰페이지에서 출력하는 형태로 볼려고 함.  서버 환경이 바뀌면 경로가 바뀔 수 있고 그럴려면 class를 수정해야 하는데, 개발자 입장에서 이건 번거로운 작업이다.어디에 저장할지를 설정 정보로 빼두면 설정 정보만으로 저장되는 위치가 바뀔 수 있도록 해보는 과정을 학습할 것. 방금 만든 파일에다가 custom.properties 할 수 있다.다만 이건 application.properties와 다르게 우리가 임의로 만든것이기 때문에 읽을 수 있게..

2025년도 1학기 대학원 수강신청 완료

1학기 대학원 시간표 신청완료했다. 일단 원하던 과목들 신청하긴 했는데, 4전공이라 역시나 빡셀거 같다는 생각이 들면서도 지난번 프로젝트 때 밤새가며 어찌저찌 해낸 나를 보았을 때 어떻게든 해내지 않을까 싶다.(물론 프로젝트 끝나고도 긴장이 안풀렸던게 며칠전에 긴장이 풀릴랑 말랑하면서 체하고 아프고 난리도 아니었지만..)   오늘은 또 학원 알바 면접 간다. 주말도 수업을 한다 그래서 나는 된다면 땡큔데, 일단 면접 가봐야 알 수 있을 듯. 대학생 때 했어야 할 일들을 지금 하는 걸 보고 엄마가 너는 10년 더 살면 된다. 라고 하셨다.그러고 싶진 않은데 어쩌겠는가. 내가 느리긴 느린걸. 내 속도대로 내 길을 찾아 나가면 내 인생 어떻게든 되겠지.

자바 풀 스택 2/19 오전 기록 058-1

1교시 지각.엊그제부터 체끼 있던거 엊그제 새벽이랑 어제 밤에 손따고 죽먹고 했는데, 오늘 나와서 지하철타고 환승구간에서 걷는데 걷다가 현기증나서 쓰러질까봐 겁나서 앉아서 쉬다 걷다 다시 앉아서 쉬다 걷다 오고 그래서 늦음.노약자석에도 앉았음... ㅋㅋㅋㅋㅋㅋㅋ9:47 교실 도착. 할 수 있는데까지 해보자.    xml과 sql문이 여러개일 텐데 이걸 찾아가게 하는 방법이, namespace와 sql문의 id 이다. 전 같았으면 String name=request.getParameter("name");String addr=request.getParameter("addr");MemberDto dto=new MemberDto();dto.setName(name);dto.setAddr(addr);이렇게 코딩했을..

자바 풀 스택 2/18 오후 기록 057-2

점심 내 수강신청에 대해 고민함. 으악.전공3개 교직 2개면 될 것 같은데.    html로부터 탈출되어서 뿌려진다. 꺽쇄를 &lt, &gt라고 표기해서     unescape 기능은 마크업이 기능을 하는 것에서 탈출 시켜준다. //기본적인 타임리프 익힌거임. DB 연동해보기 : MyBatis 사용할 거임 -> 이클립스 마켓 플레이스 가서 MyBatis랑 MyBatipse 모두 설치(MyBatis를 설치한게 아니라 MyBatis를 사용할 때 도움 줄 애들을 설치한거라 보면 됨.  데이터베이스에 연결할, context.xml에 있었던 애들과 비슷한 애들을 설정해주기resources 폴더에 new folder : mapper 만들기, controller 패키지와 repository 패키지 만들기    의존 ..