마르코의 개발 일기

고정 헤더 영역

글 제목

메뉴 레이어

마르코의 개발 일기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (88)
    • JAVA (5)
    • Spring (9)
    • SpringSecurity (20)
    • 알고리즘 (1)
    • Database (10)
    • AWS (5)
    • 공학지식 (1)
    • SpringBatch (6)
    • SpringCloud (10)
    • Proxy (2)
    • Linux (1)
    • Node (2)
    • 보안 (3)
    • 암호화 (5)
    • 소켓 (1)
    • 프로젝트 일기 (4)

검색 레이어

마르코의 개발 일기

검색 영역

컨텐츠 검색

Spring

  • SpringBoot [Async Controller]

    2022.07.15 by 성찬우

  • SpringSecurity [configure(WebSecurity web)]

    2022.07.11 by 성찬우

  • asciidoctor 실행 중 겪은 다양한 문제들. [Gradle]

    2022.06.17 by 성찬우

  • 테스트 코드 (TDD) -매우매우 초보자용

    2021.09.28 by 성찬우

  • GET vs POST

    2021.09.15 by 성찬우

  • [http]헤더?바디..?타입..?

    2021.09.15 by 성찬우

  • DTO 정적 팩토리 메서드

    2021.09.07 by 성찬우

  • 유저의 IP를 받아올 수있는 방법!

    2021.09.07 by 성찬우

SpringBoot [Async Controller]

생소 할 수 있지만 정말 천천히 읽어보기를 권장함. 서버로 들어오는 요청들을 비동기로 처리하여 돌려주는 방법 이라고 설명할 수 있다. *비동기 동시에 일어나지 않음을 의미. 요청과 응답이 동시에 일어나지 않음. 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다. 핵심은 Callable 이다. Callable 이란 결과를 반환하고 예외를 반생시킬 수 있는 작업이다. Callable은 Runnable(결과를 리턴시키지 않는 특징이 있음.)과 유사하다. 동시에 다른 스레드에 의해 인스턴스가 실행 될 수 있는 클래스를 위해 설계되었다. 유의할점. Callable은 기본적으로 SimpleAsyncTaskExecutor에서 실행됨 Pr..

Spring 2022. 7. 15. 02:08

SpringSecurity [configure(WebSecurity web)]

우리는 서버와 브라우저 사이에 있어서 수많은 요청과 응답이 오고 가는 것을 알고있다. 그 중 하나가 favicon 이라는 요청인데 Favicon = Favorites + Icon 의 합성어 이다. 확장자는 아이콘 파일 확장자 ICO 이다. 우리가 스프링 시큐리티를 사용하게 되면 config 중 파라미터를 HttpSecurity로 받는 설정을 하는데 favicon 또한 여기서 permit을 해주지 않으면 security 에 걸리게 된다. 우리가 받은 요청을 제대로 처리하고 브라우저를 통해 보여준다고 생각하지만 문제는 우리가 요청-응답한 것 이 외에도 다른 요청이 오고가고 있다라는 것이다. 즉 , 필요하지 않은 요청의 경우는 필터를 걸리지 않도록 하는 것이 좋다. 기본적인 설정 @Override public..

Spring 2022. 7. 11. 01:53

asciidoctor 실행 중 겪은 다양한 문제들. [Gradle]

아스키를 사용하면서 정말 많은 문제들이 있었다. 목차 1. 왜 하라는 대로 다 했는데 index.html 이 생성되지 않는가? 2. index.adoc 에 적용한 snippets 들이 제대로 생성이 되지 않는 문제 -> "dropping line containing reference to missing attribute: snippets" 1. index.html 이 생성되지 않는 이유? 아스키를 사용하다 보면 가장 많이 문제가 되는건 버전 문제인 것 같다. 많은 사람들이 버전 문제로 실행이 되지않으며 이는 스택오버플로우에서 무조건 읽어서 버전을 변경해보는 것이 정말 중요한 것 같다. build.gradle 에 대하여 우선 gradle이 가지고 있는 주요한 개념에 대해 이해 해야한다. Project : ..

Spring 2022. 6. 17. 22:29

테스트 코드 (TDD) -매우매우 초보자용

전문적인 지식보다는 개인적인 경험을 다룬 게시물입니다..! 같이 성장을 원하시는 초보자 분들께 추천드립니다. 우리가 프로잭트는 딱! 만들면 보통 우리는 코드치기 바쁘다. 패키지 구성하고.. Entity Table 구성하고 열심히 개발해 나간다. 하지만 우리가 간과하는 것이 있다. 언제나 TDD에 대한 연습은 충분해야 한다는 것이며 개인적으로 생각해 보았을 때 TDD를 작성하게 된다면 지금 내가 하고있는 이 프로잭트에 대한 이해도가 높아진다. 클라이언트쪽에서 " ~~ 문제는요?" 라고 물어보았을 때 대답을 하지 못하면 그것 만큼 내 자신이 창피해지는 상황이 없는것 같다... ㅠㅠ 그래서 태스트가 어떻게 진행이 되는거냐구? 세팅 IntelliJ 에서 프로잭트를 만들면 중간위치에 test 가 있을 것이다 이 ..

Spring 2021. 9. 28. 20:18

GET vs POST

우리는 개발을 할때 최종적으로 컨트롤러에서 매핑을 어노테이션을 통해 정해준다. 혹시 헤더와 바디의 개념에 대해 조금은 알아볼 분들은 하단 링크를 3분만 투자해서 읽어보길 바란다! https://fitchan.tistory.com/9 [http]헤더?바디..?타입..? 종종 공부를 하다보면 아무런 생각없이 "body에 담아서 보냇어요~!" "Json 타입이요!" 이런 말들을 하곤했지만 만약누가 그게 뭐에요? 라고 물어본다면 대답을 하지 못할 것같다. 모의면접보고 멘붕 fitchan.tistory.com 개발 할때 누가 "갯매핑이 모에오??" 혹은 "포스트매핑이 모에오??" 물어본다면 "GetMapping 조회 PostMapping 게시 기능하는거" 정도로 대답할 것 같다. 하지만 조금만 더 자세히 설명할 ..

Spring 2021. 9. 15. 19:31

[http]헤더?바디..?타입..?

종종 공부를 하다보면 아무런 생각없이 "body에 담아서 보냇어요~!" "Json 타입이요!" 이런 말들을 하곤했지만 만약누가 그게 뭐에요? 라고 물어본다면 대답을 하지 못할 것같다. 모의면접보고 멘붕와서 글쓴다는건 말못해.. 여하튼 본론부터 말씀드리자면. Header 쉽게 말해서 Header는 표지,명세서 정도라고 비유할 수 있을 것 같다. Body에 포함되어있는 데이터(우리들의 DB정보들 묶음)가 어떻게 어떤 형태로 되어있는지 알려주어 "역직렬화 과정에서 원래의 데이터 원형으로 재조립 할 수 있도록 도와주는 역할" 역직렬화 ?? (반드시 역직렬화의 취약점에 대해 구글링할것) deserialization 일련의 바이트코드로부터 데이터 구조를 추출하는일 Json -> object 변환 직렬화 ?? ser..

Spring 2021. 9. 15. 10:06

DTO 정적 팩토리 메서드

필자는 DTO라는 클래스에서 참 많은 오류를 냇다 (변수오타) 여하튼 개인적으로 클래스 별로 각자 할일을 정확하게 분리하여 작성하는 것을 극도로 좋아함 필자는 DTO를 포장하는 클래스라고 생각하는데 아무리 많은 Entity KEY값도 DTO앞에서 선택받은 자들만이 클라이언트로 내려갈 수 있는 자격을 갖는다 정도로 생각을 하고 있음.. ( feat. @RequestBody ) 하지만 Service에서 Setter를 사용 하여 코드를 짜는것이 너무 지저분 하다라고 생각이든 필자는 다른 방법을 알아보던 중 @Builder 패턴이라는 것을 알게됌. Service에서 Builder 패턴으로 옮겨다닐 값들을 지정하여 줄수도 있지만 DTO에서 메서드(함수)를 만들어 파라미터값만 받는 것을 원하던 도중 정적 팩토리 메..

Spring 2021. 9. 7. 22:00

유저의 IP를 받아올 수있는 방법!

프로잭트 진행 도중 게시판 조회수와 관련하여 회의를 진행했다. 1. 비회원도 게시판 조회가 가능한데 조회수 받고싶다. 2. 회원만 조회수가 올라가도록 하자 . 우리는 아무래도 유저수가 적은 사이트이다보니 개인적으로.. 비회원분들의 조회수도 너무나도 소듕했다. ㅠ.. 자 그러면 우리는 비회원의 조회수를 어떤값을 저장하여 올릴수 있는것인가? 내 머리로는 IP밖에 나오지 않았다. 자 그러면 한번 보자 . 1. Service 클래스에서 ip를 받기 @Transactional public Ip QuarIpChecker(Long id) { HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(..

Spring 2021. 9. 7. 18:58

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
마르코의 개발 일기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바