profile
기록이 개발자를 만든다

사용자 인증 방식은 왜 있는 걸까?

HTTP는 연결 지향 프로토콜인 TCP 기반임에도 불구하고 대표적인 비연결 지향 프로토콜이다. 따라서 한 번의 요청-응답 사이클이 완료되면 연결을 종료시킨다. 이 때문에 동일한 클라이언트가 요청을 아무리 많이 하더라도 프로토콜은 이를 모두 독립적인 요청으로 인지한다.

2021년 8월 26일
·
0개의 댓글
post-thumbnail

Security 인증&인가처리

1) 필터 필터는 체인처럼 엮어있기 때문에 필터 체인이라고도 불리는데, 모든 request는 이 필터 체인을 반드시 거쳐야 한다. spring security는 filter 기반으로 동작하기 때문에(AOP) spring MVC와 분리되어 관리 및 동작한다.2) Secu

2021년 8월 25일
·
0개의 댓글

Optional을 사용하는 이유

개발을 할 때 자주 신경쓰이는 부분이 바로 NPE, null 문제이다. 방어로직으로 null 검사를 많이 하게 되는데 if문을 자주 사용했었다. 하지만 이런 null 문제를 객체 차원에서 바로 예방이 되는 걸 사용하는 걸로 요즘은 권장하고 있다. java8 버전에서 나

2021년 8월 11일
·
0개의 댓글

SpringBoot에서 JSP를 쓰지 않는 이유

Thymeleaf와 달리 JSP는 스프링부트가 자동 설저을 지원하지 않으며 권장하지도 않는다.왜 SpringBoot는 JSP를 권장하지 않을까?우선 JSP를 사용하면 JAR 패키징을 할 수 없어 WAR 패키징을 해야 한다. 물론,WAR 패키징으로도 임베디드 톰켓으로 실

2021년 8월 5일
·
0개의 댓글
post-thumbnail

String 말고 StringBuffer, StringBuilder

String은 개발을 하면서 가장 많이 사용하는 레퍼런스 객체이다. 하지만 이런 String에도 쓰지 말아햐 할 상황들이 있다. 바로 값을 이어붙이는 작업을 할 때이다.예시를 보자.결과String에 값이 쌓이는 것은 힙 메모리에 계속 누적되는 것이게 변수가 쌓이는 작업

2021년 8월 4일
·
0개의 댓글

Iterator에서 Stream로 간 이유

iterator, stream 둘다 반복적인 연산을 줄여주기 위해 만든 구분자이다. 하지만 iterator보단 stream을 많이 사용한다. 써보면 안다. 코드량도 줄어들고 중간처리를 할 수 있는 stream이 더 편하다는 걸.예시iterator 예시stream 예시코

2021년 8월 4일
·
0개의 댓글

Map forEach 활용문

개발을 하면서 Map타입을 자주 사용한다. 이번 기회에 정리를 해볼려고 한다. 특히 Data를 넣어서 forEach문으로 돌릴 때를 기준으로 정리하겠다.forEach문 형태 각 형태들 예시정리하면, Map -> forEach -> keySet, value ,entryS

2021년 8월 4일
·
0개의 댓글

JSON.stringify() 어떤 의미?

JSON.stringify(객체) : 객체를 String 문자열로 변환해주는 역할을 한다.그런데 이 문자열은 JSON으로 바로 무방하다. 왜냐하면 이렇게 변경된 문자열은 JSON으로 인코딩된(JSON-encoded)객체이기 때문이다. 예시

2021년 8월 3일
·
0개의 댓글
post-thumbnail

Junit 기본 예제

Junit 단위 테스트 라고 합니다.먼저 라이브러리를 추가해야 합니다.gradle용클래스 Calculator, 그리고 그 안에 메서드 sum()를 만들어줍시다.그리고 Test용 클래스를 만들어줍니다.이 클래스는 인텔리제이라면를 눌러주면 자동 생성됩니다.여기서 asser

2021년 8월 2일
·
0개의 댓글

ArrayList를 사용하기

ArrayList는 배열보다 많이 쓰인다. 왜냐하면, 지정한 인덱스 요소에 유연성을 가지고 있기 때문이다. 배열은 지정해줘야 때문에 어떤 수량으로 데이터가 오는지 확실하지 않을 때는 ArrayList를 쓰이게 된다. 단순히 add(), remove, get() 메서드

2021년 7월 30일
·
0개의 댓글

정규표현식을 사용하자

정규표현식은 개발을 하는 사람이라면 결국 보게 되는 표현이다.가장 쉽게 접하는 분야는 회원가입시 아이디, 이메일, 비밀번호 양식을 지정할 때 접하게 된다.한글, 영어, 특수문자, 이메일 등등 형식을 알고리즘을 통해서 만들게 된 표현식이다.지금은 너무나 잘 정리된 표현식

2021년 7월 30일
·
0개의 댓글

DTO vs VO vs Entity 비교

쿼리 결과값을 리턴받을 때 사용, 프로젝트 때마다 통신시 보내줄 때 사용계층간 데이터 교환을 위한 객체클래스 맴버변수들의 값 그 자체를 가진다. equals()와 hashcode() 메서드를 오버라이딩 하는 것으로 구성된다.Db 테이블 그 자체이다.DB의 1:1로 매핑

2021년 7월 30일
·
0개의 댓글

데이터 파싱(Parsing)을 하는 이유

파싱은 구문 분성이라고 한다. 소프트웨어 프로젝트를 해보면 Data들을 수도 없이 보게 된다. 예를 DTO나 VO에 있는 변수들 Type을 바꾸어서 요청한 프론트에 전달되는 Date들 말이다.백앤드 개발자들은 이 Date들을 Transfer하는 구조와 코도를 많이 짜게

2021년 7월 30일
·
0개의 댓글

Springboot @RestController 404 에러 발생 시

단순하다. 이런걸로 오류가 날줄은 몰랐는데...폴더 구조를 잘못 놔서 컴포넌트 스캔 범위에서 벗어나서 그렇다.보통 Controller 폴더를 잘못 놔서 그런거니 한번 확인해보길

2021년 7월 20일
·
0개의 댓글

[MySQL] sql_mode=only_full_group_by 에러 해결 방법

링크텍스트(출처: https://info-lab.tistory.com/274 :: IT School ::)현재 연결된 Session(세션) 제거로 해결세팅은 이렇게 하면 됩니다.

2021년 5월 24일
·
0개의 댓글

Java stream, Collector 왜 쓰는 거야?

스트림스트림은 람다와 마찬가지로 자바8에 추가된 기능이다. 스트림이란, 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소로 정의한다. 스트림과 컬렉션스트림도 컬렉션과 마찬가지로 연속된 값 집합의 인터페이스를 제공한다. 단 데이터를 언제 계산하느야가 컬렉션과

2021년 5월 10일
·
0개의 댓글

빌더 패턴 왜 쓰는 거야?

빌더 패턴(Builder Pattern)을 적용 시에는 다음의 효과를 기대할 수 있다.1) 불필요한 생성자 제거2) 데이터의 순서에 상관없이 객체 생성 가능3) 명시적 선언으로 이해하기 쉬움.만약 요건이 자주 변경되어서 매번 생성자를 만드는 일이 생긴다면?이런 상황을

2021년 5월 10일
·
0개의 댓글

Redis 란?

redis 자료구조, 주의사항 정리쿠팡 품절 오류 문제 -> 오픈소스 레디스DB때문으로 밝혀짐.Remote Dictionary server의 약자(외부 + HashMap<key, value>+서버)0) In-Memory(cache) Data Structure로 되

2021년 5월 6일
·
0개의 댓글
post-thumbnail

FTP 서버 설정하기

FileWilla Server 다운로드하기https://filezilla.softonic.kr/다운하고 계속 next!그 다음 비번 설정이 나로는 창이 나올텐데 비번 안누르고 connect 눌러도 무관그럼 이런 화면이 나온다.여기서 위에 사람 한면 나와있는 곳

2021년 4월 18일
·
0개의 댓글
post-thumbnail

도메인 주소&포트포워딩 설정하기

외부에서 내부ip주소를 접속하기 위해서는 포트포워딩을 해줘야 한다.전에 만들던 웹홈페이지를 외부(내컴퓨터, 모바일)에서 연결할 수 있게 iptime을 이용할 것이다.포트포워딩을 할려면 공유기세팅을 해줘야 한다. 나는 iptime 공유기를 쓰기에 iptime설정페이지로

2021년 4월 18일
·
0개의 댓글