Today37 23/11/10 ● Spring Security란 * spring Security는 spring 기반 애플리케이션의 보안(인증,인가등)을 담당하는 스프링 프레임워크다. * spring Security는 인증,인가에 대한 부분을 Filter에서 처리하니 비지니스 로직에서 안해도된다. ( spring Security 는 서블릿의 필터 기반으로 동작) * Spring Security는 세션-쿠키 방식으로 인증한다 [ 인증과 인가 ] * 인증(Authentication): 해당 사용자가 본인이 맞는지를 확인하는 절차 * 인가(Authorization): 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차 ● UserDetails * Spring Security에서 사용자의 정보를 담는 인터페이스 ● UserDetail.. 2023. 11. 10. 23/11/09 Servlet (gpt의 답변) Servlet은 Java 웹 애플리케이션의 구성 요소 중 하나로, 클라이언트의 요청을 처리하고 응답을 생성하는 Java 클래스 * 서블릿은 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 * 웹 요청과 응답을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다. * 예를들어보면 클라가 로그인 하려고 아이디,비번 보냈을때 서버는 컨트롤러,서비스에 있는 메소드로 클라가 보낸 아이디,비번 확인후 응답해준다. 동작 과정 1. 클라이언트 요청 2. HttpServletRequest, HttpServletResponse 객체 생성 3. Web.xml이 어느 서블릿에 대해 요청한 것인지 탐색 4. 해당하는 서블릿에서 service() 메소드 호출 5. doGet(.. 2023. 11. 9. 23/11/08 1.ServletRequest , HTTPServletRequest 차이 *[ServletRequest] - ServletRequest는 클라이언트의 요청에 대한 모든 HTTP 요청 정보를 담고 있는 인터페이스다. - 서블릿 컨테이너가 클라이언트의 요청에 대한 정보를 수신하면,그 정보를 담고 있는 객체가 ServletRequest를 구현한 객체로 생성된다. *[HTTPServletRequest] - HttpServletRequest는 ServletRequest 인터페이스의 하위 인터페이스이다.(상속) - HTTP Header, 쿼리 매개변수, 세션 정보 등에 접근할 수 있는 메서드들을 제공한다. ServletRequest 큰범위의 처리 할때, HTTPServletRequest 는 작은 범위인 자세한 정보.. 2023. 11. 8. 23/11/06 1. 개인 과제 구조 설계만 마치고 일단 깃허브랑 연결하려고 깃허브에서 레포지토리 새로 만들고 Readme파일도 같이 동시에 생성했다. 그후에 이제 리모트 설정하고 푸쉬하려했는데 이런 오류가 나왔다. 알아보니 깃허브에서 Readme파일을 만들었지만 내 로컬에는 Readme파일이 없어서 오류였다. 그래서 풀 해오고 푸쉬 하려했는데 이번엔 풀할때 저런 오류가 또 나왔다... 해결 방법은 git pull origin 브랜치명 --allow-unrelated-histories 이고 이 오류의 원인 알아보니 ->리모트에서 레포지토리 생성할때 같이 Readme파일 생성하면서 해서 새로운 커밋 이력이 생기는데 이 상태에서 로컬에 있는 걸 푸시할 경우 로컬에는 리모트의 커밋 이력이 없으므로 이 에러가 발생이였다 2023. 11. 5. 23/10/30 1.응집도와 결합도 응집도와 결합도에 대해 읽어보니 헷갈리고 어려웠는데 느낀대로 말해보면 결합도는 의존성,응집도는 한 모듈이 갖고있는 하나의 기능을 따지는듯하다. *결합도가 낮으면 좋고 높으면 그닥 / 응집도가 낮으면 그닥 높으면 좋다 결합도,응집도 여러 단계로 나뉘어 지는데 이건 자세히 들어가려면 거의 책 한권의 내용일듯해서 일단 크게만 보고 예를들어 보면 -결합도: 비밀번호 변경하는 A클래스 있을때 A클래스에서는 비번 변경하려는 회원정보 불러오기 B클래스,변경비번확인 체크하는 C클래스,변경완료하고 회원정보 등록하는 D클래스 이렇게 필요하니 결합도가 있다 할 수 있는듯하다. -응집도: 회원가입 하는 클래스안에서 비밀번호 변경하는 메소드가 있을시, 회원가입 클래스에서는 회원 가입만 해야하는데 완전 다른 .. 2023. 10. 30. 23/10/27 1. 오늘 특강에서 강하게 머리속에 들어온것중 첫번째로는 프로그래밍에 관련된 글이나 깃허브 다른사람 코드 보는게 중요하다 했다. 이유는 이렇게하면 표현하는게 늘고 사고를 흡수한다해서 그렇다. 두번째로는 작업하다가 에러들을 만나는데 에러 복붙으로 해결만 하고 끝내지말고 고민해보고 고민한걸 글로 남겨보라 하셨는데 맞는말 같다. 예전에 어떤 에러 일어났을때 복붙 검색으로 해결하고 나중 또 같은 에러를 복붙 검색으로해서 기억에 안남으니 그렇다. 2. 팀프로젝트 진행하면서 인텔리제이에서 제공해주는 다이어 그램이라는거를 알게됬는데 중요하고 많이 사용 할 것 같다. 생각해보니 프로젝트랑 관련 없는 아예 다른 사람이 코드를 보면 처음부터 당연히 이해하기 어렵고 무엇인지 잘 모를테니 처음 구조,흐름을 이해하기 쉽도록 하.. 2023. 10. 27. 23/10/24 1. 오늘부터 자바 팀과제 시작인데 일단 각자 자기만의 구상도를 만들어보자해서 한시간동안 했는데 처음이라 그런지 구조를 어떻게 해야하나 생각도 안나고 어려웠다... 객체지향도 어색한 상태라 더욱 그랬다.. 이렇게 만들고 각자 자기꺼 말해보면서 누구꺼로 할지 정했는데 먼가 거의 다들 비슷해서 다른분꺼로 결정했다 2. 오후에 자바의 보중/심화반 OT때 들은것중 클래스,변수,메소드등 이름 정하는 규칙 또 새로 들었는데 클래스랑,변수는 파이썬이랑 같은 규칙같다. - 클래스명 맨앞은 대문자 - 변수명 맨앞는 소문자 - 메소드명은 동사명사순 3. 저녁에 깃 특강에서도 처음 들은게 있는데 .gitignore안에 설정하는 코드들을 Toptal 프로그램인가 gitignore.io 사이트에서 내가 직접(맥,윈도우,인텔리제.. 2023. 10. 24. 23/10/23 1. 주말에 싱글톤에 대해 친구랑 말해보고 가족이랑 말해보면서 먼가 약간 느낌 온 것 같다. 싱글톤은 전역으로,싱글톤이 아닌건 지역으로 생각하면 될 것 같다. 내가한 키오스크 개인과제를 생각해보면 장바구니는 싱글톤,상품을 선택하는 상품클래스는 메뉴클래스의 메소드안에서 계속 상품 클래스 인스턴스를 새로 생성하고 그 인스턴스로 상품 메소드를 실행 시켰다. 여기서 생각해보면 상품 클래스의 메소드는 static으로하고 상품 클래스 자체로 실행 시키는거로 했어야하는듯하다. 그리고 장바구니는 싱글톤으로 한 상태인데 알고보니 싱글톤을 하면 안되는거였다. 왜냐하면 주문자가 한명이 아닌 여러명인데 모두 장바구니 공유해서 사용하는건 말이 안되기때문에 그렇다. 지금이야 서버 운영하는것도 아니라 상관없으나 이런 생각은 지금부.. 2023. 10. 23. 23/10/20 1. 개인 과제로 어제 튜터님이 내 코드는 객체지향쪽 보단 절차지향느낌 난다 해고 solid원칙을 읽어보라 해서 오늘은 일단 SRP인 단일책임원칙 부분을 읽어봤다. 읽어보니 말들이 어려워서 아직 확실히 머르나 느낌적으로는 * 두클래스가 있는데 비슷한 책임을 중복해서 갖고 있으면 부모클래스를 이용해서 거기에 비슷한 행동을 추가해라 그런다. * 어떤 클래스에 필드,메소드들이 있는데 변화할수 없는 고유 정보는 그대로 냅두고 변화가 일어나는 필드,메소드들은 다른 클래스에 넣는다. ex) Guitar클래스가 있는데 변하지 않는것들은 여기에 두고 GuitarSpec 클래스에는 변화하는것들 넣기 * 클래스는 자신의 이름을 나타내는 일을 해야하고,각 클래스는 단 하나의 책임만 가져야한다. 예를들어 어떤 한클래스있는데 .. 2023. 10. 20. 이전 1 2 3 4 5 다음