전체 글 (461) 썸네일형 리스트형 HTTP의 구조를 알아보자 Client 와 Server 간 Request, Response 는 HTTP 메시지 규약을 따름 HTTP 메시지는 웹 서비스 개발자(백엔드, 프론트 개발자)에게 매우 중요한 내용! HTTP의 구조 HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지고, 응답(response)은 요청에 대한 서버의 답변입니다. Request와 Response는 startline, header, body등 3개의 구조로 나눠져 있습니다. Request와 Response 각각의 구조를 조금 더 면밀히 살펴보도록 하겠습니다. Reqest Startline - api 호출 부분입니다. -.. Servlet을 사용하지 않고 Controller를 사용하는 이유 Servlet (서블릿)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말함 결론적으로 말하면 2가지의 장점이 있다. 1. HTTP request, response 처리를 위해 매번 작성해 줘야하는 중복코드들 생략 가능 2. API 이름마다 파일을 만들 필요 없음 1. 중복코드 생략가능 itemDto import lombok.Getter; @Getter public class ItemDto { private String title; private String link; private String image; private int lprice; } main class import org.springframework.boot.SpringApplication; import or.. 로그인 처리하기 - 세션을 직접 만들어서 사용 앞에서 쿠키를 직접 만들어서 로그인 기능을 구현해보았습니다. 세션을 만드는 방법을 알아보기 전에 쿠키의 사용법을 되짚어 보도록 하겠습니다. 쿠키 생성 (서버 -> 클라이언트) 서버에서 쿠키를 생성할 때 member id를 저장해주었습니다. 쿠키의 value type은 String 이라는 점을 알아둡시다. 서버에서 만든 쿠키는 response에 태워서 클라이언트로 전송해주었습니다. Cookie idCookie = new Cookie("memberId", String.valueOf(loginMember.getId())); // http response에 쿠키를 넘어서 전달해주자 response.addCookie(idCookie); 클라이언트로 부터 쿠키를 받을 때 (클라이언트 -> 서버) @CookieVal.. 로그인 처리하기 - 쿠키 사용 로그인 기능 구현은 일반적으로 세션을 이용한다고 합니다. 그럼에도 불구하고 쿠키를 사용하여 로그인 기능을 구현해 보는 이유는, 쿠키 동작 원리에 대해 자세히 알아보기 위함입니다. 만들어볼 내용은 간단합니다. 사용자가 홈 화면에 접근 하는 경우 (HomeController.java) 사용자 정보가 일치하는 쿠키를 가지고 있는 경우 -> 홈 화면으로 이동 사용자 정보와 일치하지 않는 쿠키를 가지고 있는 경우 -> 로그인 화면으로 이동 쿠키가 존재하지 않는 경우 -> 로그인 화면으로 이동 사용자가 로그인 화면에 접근 하는 경우 (LoginController.java) 사용자가 db에 존재하는 id와 패스워드를 입력하는 경우 -> 홈 화면으로 이동 사용자가 db에 존재하지 않는 id와 패스워드를 입력하는 경우 .. AWS 시간 변경 (RDS, JVM 시간 변경) 로컬에서 돌릴때는 시간이 정확하게 확인이 되는데 막상 aws에 올리면 시간이 안 맞는것이다. 오잉?? JVM 시간 부터 변경을 해보겠습니다. 아래의 code를 main 클래스 밑에 넣어줍니다. @PostConstruct public void started() { System.setProperty("user.timezone", "Asia/Seoul"); TimeZone tz = TimeZone.getTimeZone("Asia/Seoul"); TimeZone.setDefault(tz); } 이것만으로는 부족한 것 같습니다. 아직 시간이 변하지 않은걸 확인할 수 있습니다. RDS (mysql) 시간도 같이 변경해 보겠습니다. application.properties에 ?부분 부터 추가해 봅시다. spring... [삼성 SW 역량 테스트] 새로운 게임 2 내용 자체는 까다롭지 않았지만, 구현하다가 보면 실수하기가 쉬운 부분이 많이 있어 보이는 문제였습니다. 까다롭지 않았지만 까다로운 문제였다 라는 생각이 들었습니다. 이번 문제를 해결하면서 몇가지 알게된 사실이 있습니다. 1. 배열안에 리스트를 넣는 방법 List[][] 2. sublist 를 list안에 바로 넣지를 못하기 때문에 새로운 list를 만들어 주고 그안에 sublist를 넣은 다음에 할당 horse_current_position[current_row][current_col] = new ArrayList(current_tile_horses .subList(0, j)); 문제는 아래 백준 사이트에서 풀어볼 수 있습니다. https://www.acmicpc.net/problem/17837 1783.. CSRF CSRF https://junhyunny.github.io/information/security/spring-boot/spring-security/cross-site-reqeust-forgery/ CSRF(Cross-Site Request Forgery) 공격과 방어 junhyunny.github.io DB index 1. 인덱스 인덱스는 키 값으로 행 데이터의 위치를 식별하는데 사용하는 기능입니다. 그러기 위해서는 원본 테이블을 기준으로 잘 정렬된 별도의 테이블, 즉 인덱스 테이블을 생성해야 하고, 이로 인해 데이터 엑세스 성능을 높일 수 있습니다. 인덱스를 효과적으로 사용하려면 정규화가 되어 있어야 합니다. 정규화가 되어 있지 않은 테이블은 컬럼이 많으며, 이에 따라 조합할 수 있는 인덱스가 많아지게 됩니다. 인덱스가 많으면, 갱신 성능이 나빠지고 디스크 공간도 많아지므로 인덱스를 효과적으로 사용하려면 정규화가 잘 되어 있어야 합니다. 인덱스는 어떤 경우에 사용하면 좋을까요? 인덱스(index)를 사용하면 좋은 경우 규모가 작지 않은 테이블 INSERT, UPDATE, DELETE가 자주 발생하지 않는 컬럼 JOI.. 이전 1 ··· 24 25 26 27 28 29 30 ··· 58 다음