분류 전체보기233 Spring Security 작동 순서 1. http로 로그인 요청 2. 로그인 인증 요청이라면 UsernamePasswordAuthenticationFilter(이하 AuthencicationFilter)가 요청을 가로채 전달된 username, password 파라미터를 이용해 UsernamePasswordAuthenticationToken 인증 객체를 만든다. 3. 인증 객체를 인증하기 위한 AuthenticationManager 에 넘기고 인증을 위임한다. 4. AuthenticationManager 를 구현한 ProviderManager는 스프링 시큐리티가 기본적으로 제공하는 AuthenticationProviders에 인증 객체를 전달한다. 5. 인증에 사용되기 적합한 AuthenticationProvider 가 존재하면(여기는 D.. 2022. 10. 13. 스프링 입문 주차 과제1 PostResponseDto에서 @Builder 사용할때 @Getter도 같이 사용하는이유 @Gettor를 사용하지 않으면 response에서 응답이 제대로 넘어오지 못함 2022. 10. 13. 자바 상속 문제 답 public class JetAircraft extends Airplane{ private static final int NORMAL = 1; private static final int JETMODE = 2; public int flyMode = NORMAL; //1번 정답 @Override public void fly(){ if(flyMode == JETMODE){ System.out.println("초음속비행합니다."); }else{ super.fly(); } } //2번 정답 public int getNormal(){ return NORMAL; } public int getJetmode(){ return JETMODE; } } 3번 정답 = New JetAircraft(); 2022. 10. 10. 자바 상속 문제 Airplane.java(부모클래스) public class Airplane { public void land(){ System.out.println("착륙합니다."); } public void fly(){ System.out.println("일반비행합니다."); } public void takeOff(){ System.out.println("이륙합니다."); } } JetsAircraft.java(자식클래스) public class JetAircraft extends Airplane{ private static final int NORMAL = 1; private static final int JETMODE = 2; public int flyMode = NORMAL; //1번문제 //부모의 메서드(fl.. 2022. 10. 10. Web Service Architecture 1. Web Server는 웹 브라우저 클라이언트로부터 HTTP 요청을 받는다. 2. Web Server는 클라이언트의 요청(Request)을 WAS에 보낸다. 3. WAS는 관련된 Servlet을 메모리에 올린다. 4. WAS는 web.xml을 참조하여 해당 Servlet에 대한 Thread를 생성한다. (Thread Pool 이용) 5. HttpServletRequest와 HttpServletResponse 객체를 생성하여 Servlet에 전달한다. - 5-1. Thread는 Servlet의 service()메서드를 호출한다. - 5-2. service()메서드는 요청에 맞게 doGet() 또는 doPost() 메서드를 호출한다. - protected doGet(HttpServletRequest re.. 2022. 10. 10. 스프링 부트 동작 원리 1. 내장 톰캣 - 스프링에는 톰켓이 내장 되어있어서 따로 설치할 필요 없이 바로 실행가능 하다. A와 B가 서로 메세지를 주고 받기 위해서는 OS에서 제공하는 소켓이 필요하다. 예를들어 A가 5000번 포트번호로 최초의 연결 용도로 소켓을 오픈한다. B가 A의 IP주소와 포트번호를 통해5000번 포트에 연결을 성공하면, 무작위 포트 번호로 새로운 소켓을 만들고, 5000번 포트는 연결이 끊긴다. 이때 5000번 포트로 다른 사용자의 연결 요청을 계속 받기 위해서 새로운 포트와의 통신을 다중 스레드를 이용한다. 소켓 통신의 장점은 연결이 끊어지지 않는다는 점, 단점은 그 때문에 연결이 늘어날 수록 부하가 크다는 점이다. HTTP - 소켓 통신은 계속 연결되어 있기 때문에 사용자가 늘어남에 따라 부하가 커.. 2022. 10. 9. 자바 메모리 구조 1. 메모리 - 프로그램을 실행하기 위한 데이터 및 명령어를 저장하는 공간 * 메모리구조를 공부하는 이유 - 같은 기능의 프로그램이더라도 메모리 관리에 따라 성능이 좌우됨. - 메모리 관리가 되지 않은 경우 속도저하 현상이나 튕김 현상 등이 일어날 수 있음. - 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위함. 2. 자바 프로그램의 실행구조 - 프로그램이 실행되기 위해서는 windows나 linux같은 운영체제(OS)가 제어하고 있는 시스템의 리소스의 일부인 메모 리(RAM : 주기억장치)를 제어할수 있어야 한다. - java이전의 c같은 대부분의 언어로 만들어진 프로그램은 이러한 이유때문에 OS에 종속되어 실행되게 되어 있었다. - java프로그램은 JVM(Java Virtual Machi.. 2022. 10. 9. 3주차 Spring DI(의존성 주입) Ioc(제어권 역전) bean 에 대해서 정리해 보았다. https://1sangcoder.tistory.com/128?category=972158 Spring 서버에서 객체를 JSON으로 변환 후 응답하기 JSON 응답 클라이언트는 서버를 거쳐서 DB에 접근한다. 클라이언트가 DB에서 필요한 정보를 얻기 위해, 서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가 포 1sangcoder.tistory.com https://1sangcoder.tistory.com/131?category=972158 Memo api 구현 최대한 lombok 없이 구현해 보았다. Memo.java @Entity public class Memo extends Tim.. 2022. 10. 9. Spring IoC IoC = inversion of control : 제어권의 역전 일반적인 경우 의존성에 대한 제어권을 자기 자신이 가진다. 의존관계는 간단히 말해 new 라는 키워드를 통해 생성된다. public class Sample { private Samsung samsung = new Samsung(); } 의존성 역전(Inversion of Control) -Ioc란 inversion of Control의 약어로, 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성 하게하여 가독성 및 코드의 중복, 유지보수를 편하게 할 수 있게 한다. SampleTest 라는 클래스에서 Samsung 객체를 생성한뒤 Sample 클래스의 생성자로 주입시켜준다. 여기서 Sample이 직접 Samsung을 생.. 2022. 10. 9. DI(Dependency Injection) DI(Dependency Injection) - 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)을 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 방법1 ex) class Dogs{ private String DogName; private int DogAge; public Dogs(){ } public Dogs(String DogName, int DogAge){ this.DogName = DogName; this.DogAge = DogAge; } public String getDogName(){ return this.DogName; } public int getDogAge(){ .. 2022. 10. 9. 패키지 접근 제한자 정답 1번문제 : 정답 2번 - _,$를 제외한 2번 문제 : 정답3번 - 개수 제한이 없다. 3번 문제 : 정답 4번 4번 문제 : setter 5번 문제 넓음 좁음 public > protected > default > private 2022. 10. 8. 패키지와 접근 제한자 문제 1. 패키지를 만들때 지켜야할 규칙으로 알맞지 않은것을 고르세요.(객관식) 1. 숫자로 시작해서는 안된다. 2. _,$를 포함한 특수 문자를 사용해서는 안된다. 3. java로 시작하는 캐키지는 자바 표준 API에서만 사용하므로 사용해서는 안된다. 4. 모두 소문자로 작성하는 것이 관례이다. 2. import문에 관하여 알맞지 않은것을 고르세요.(객관식) 1. 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되었을때 import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와서 컴파일러에게 알려줘야한다. 2. import문은 패키지 선언과 클래스 선언 사이에 작성한다. 3. import문은 개수 제한이 있어 꼭 필요할 때만 사용해야한다. 4. 만약 사용하고자 하는 클래스들이 동일한 패키지 .. 2022. 10. 8. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음