분류 전체보기

    [Flutter] Flutter 설치 중 android sdkmanager not found 에러

    [Flutter] Flutter 설치 중 android sdkmanager not found 에러

    Flutter 설치 중 아래와 같은 오류가 발생하였다. 이에 관한 정확한 해결법을 아래의 블로그에서 발견하였다. https://while1.tistory.com/entry/Flutter-android-sdkmanager-not-found-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0 [Flutter] android sdkmanager not found 에러 해결하기 flutter sdk가 잘 설치되어 있는지 확인하기 위해 설치 경로로 이동한 뒤 flutter doctor를 입력하자 안드로이드 스튜디오와 안드로이드 sdk도 잘 설치되었음에도 불구하고 두 번째 항목에 에러가 뜨는 while1.tistory.com

    [Spring] Spring Security 동작 과정.

    해당 글은 Spring 작동원리에 대한 개인적인 예상을 작성 해놓은 글 입니다. Security 설정 클래스에서 permit 된 경로로 요청이 들어올 때. 허용된 주소로 요청이 들어왔을 때, security filter 에서 setAuthentication 을 통해 security context 에 인증 정보를 넣어주지 않는다. 하지만 이후에 허용된 주소일 경우에는 인증 정보 체크를 하지 않기에 정상적으로 다음 단계로 넘어간다. Security 설정 클래스에서 permit 되지 않은 경로로 요청이 들어올 때. 1. 권한이 있을 때. 허영되지 않은 주소로 요청이 들어왔을 때, security filter 에서 요청 헤더에 존재하는 정보(토큰 등)를 바탕으로 security context 에 인증 정보를 넣..

    Spring에서 요청이 들어왔을 때 동작 과정

    해당 글은 Spring 작동원리에 대한 개인적인 예상을 작성 해놓은 글 입니다. 설정 서버를 실행하면 Component Scan 이 이루어져 스캔 범위내에 있는 class들을 스프링 컨테이너에 Bean으로 등록한다. 그리고 Controller Method들 위에 명시된 @RequestMapping value를 reflection method로 분석해서 DispatcherServlet에 생성한 저장소(ex.Map)에 URI 와 해당 Controller 레퍼런스 값을 key, value로 저장 해 놓는다. 이후 클라이언트가 /user/login 을 요청했다고 하자. 동작 과정 요청은 DispatcherServlet 에 도달하고, 저장소에서 요청된 URI를 key 값으로 하여 Controller를 찾는다. C..

    [Spring] Session 이용한 로그인 후 인가 과정

    해당 글은 Spring 작동원리에 대한 개인적인 예상을 작성 해놓은 글 입니다. 먼저 Filter 또는 Interceptor 설정에서 허가한 URL이 아닌 경로가 클라이언트로부터 요청된다면, 로그인 화면을 요청하게 끔 Redirect 설정을 한다. 그 다음 로그인 요청이 들어오면, 등록된 회원 정보와 비교한다. 만약 정보 비교에 실패한다면 다시 로그인 화면을 띄워주고, 정보 비교에 성공했다면 getSession() 을 호출하여 Session 값을 생성하거나 가져오고, Session 에 setAttribute() 로 유저 정보를 저장한다. Session 값이 생성되면 그에 따른 Session ID 도 할당되는데, 이 Session ID 를 쿠키 값으로 하여 클라 이언트에 보내준다. 이후 클라이언트는 서버에..

    [Spring] Filter + Reflection == AOP

    Filter + Reflection == AOP 가 의미하는 것이 무엇일까? 위의 식이 의미하는 바는 Filter 에 reflection 을 사용하면, Spring의 AOP와 비슷한 효과를 발휘할 수 있 다는 것이다. 원래 Filter 만을 사용한다면 전처리 기능만 유효하다. 하지만 reflection 을 사용하여 호출될 함수를 알아낸 다음 Filter 안에서 호출한다면 후처리 작업까지 가능해진다. 이렇게 된다면 Spring에서 제공하는 AOP 처럼 Filter 로도 전처리, 후처리 작업을 직접 설정할 수 있게 된다. 잘못된 내용에 대한 수정이나, 본문에 대한 어떠한 피드백도 환영하니 댓글로 남겨주시면 감사하겠습니다. ㅎ

    [Spring] ec2로 서버 배포 중 발생한 thymeleaf 에러(Error resolving template)

    [Spring] ec2로 서버 배포 중 발생한 thymeleaf 에러(Error resolving template)

    문제 thymeleaf 를 사용하여 블로그 개발 중, Intelli J 에서는 발생하지 않던 error 가 ec2로 서버를 배포하자 발생하였다. Error resolving template 해결 과정 동일한 상황에서 해당 error가 발생한 사례를 발견하였고, 같은 방법을 적용해보았다. [SpringBoot] thymeleaf 에러(Error resolving template) [SpringBoot] thymeleaf 에러(Error resolving template) thymeleaf 를 사용하면서, Intelli J에서 개발할 때는 이상없이 html 파일을 찾아가며 화면이 노출되었는데, 리눅스 환경(AWS)에서 jar로 build 하고 외부에서 실행하면 아래와 같은 에러를 발생시키면서 dev-jwbl..

    [Spring] Component Scan 범위

    스프링의 Component Scan 범위는 @ComponentScan이 명시된 클래스가 위치한 디렉토리를 포함해서 그 하위 디렉토리들이다. 스프링 생성 시에 @SpringBootApplication 이 main 메서드를 가진 클래스에 명시되어 있고, 이 어노테이션은 내부적으로 @ComponentScan을 포함하고 있다. 따라서 스프링의 기본적인 Component Scan 범위는 해당 클래스가 위치한 디렉토리를 포함한 하위 디렉토리들이 된다. [Spring] @Component와 컴포넌트 스캔 [Spring] @Component와 컴포넌트 스캔 이번 글에서는 @Component와 이 어노테이션이 어떻게 인식이 되며, 어떻게 사용되는지 알아보도록하자. 1. @ComponentScan의 범위 @Componen..

    [Spring] @Configuration 을 설정해줘야 하는 이유.

    스프링으로 프로젝트를 진행하다보면 스프링 컨테이너에 Bean 등록을 위해서 새롭게 클래스를 만든 후에 @Configuration 을 추가해주는 것을 볼 수 있다. 하지만 Bean 등록은 @Bean 을 추가해주는 것 만으로도 가능하다. 그렇다면 어째서 @Configuration 까지 추가해주는 수고를 하는 것 일까? 그 이유는 싱글톤 패턴을 위해서 이다. 스프링에서는 @Bean 설정만으로는 싱글톤을 보장해주지 않는다. 만약 @Configuration 없이 @Bean 만으로 빈 등록을 한다면 아래와 같은 상황이 발생할 수 있다. 만약 @Configuration 이 설정되어 있다면 바이트 조작을 통해서 싱글톤을 보장해주는 프록시 객체를 만들어 스프링 컨테이너에 등록해준다. 잘못된 내용에 대한 수정이나, 본문에..

    [Java] Enhanced for문 로직

    아래 예시처럼 Enhanced for문의 경우, 위의 문장에서 아래의 문장으로 번역된다. https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.14.2 Chapter 14. Blocks and Statements In the following example, a mathematical graph is represented by an array of arrays. A graph consists of a set of nodes and a set of edges; each edge is an arrow that points from some node to some other node, or from a node to itself. In th..