분류 전체보기 679

[Spring] Servlet 동작 방식

서블릿이란? 서블릿이란 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술입니다. 서블릿 동작 방식 Spring MVC에서 Controller로 이용되며, 사용자의 요청을 받아 처리한 후에 결과를 반환합니다. 사용자가 url을 입력하면 http request가 servlet 컨테이너로 전송됩니다. servlet 컨테이너는 httpServletRequest, HttpServletReponse 객체를 생성합니다. web.xml 기반으로 사용자가 요청한 url이 어느 서블릿에 대한 요청인지 찾고, 해당 서블릿에서 service 메소드를 호출한 후 get, post 여부에 따라 doGet()이나 doPost()를 호출합니다. 메소드는 HttpSer..

BACK/SPRING 2023.05.23

[MySQL] CMD이용해 CRUD 하기

-MySQL 셸에 액세스 mysql -u root -p 명령어 입력 후 MySQL 루트 사용자 암호를 입력한다. -데이터베이스 생성 CREATE DATABASE [데이터베이스 이름] -데이터베이스 삭제 DROP DATABASE [데이터베이스 이름] -모든 데이터베이스 보기 SHOW DATABASES; -데이터베이스 선택 USE [데이터베이스 이름] -테이블 생성 CREATE TABLE [테이블 이름]( 컬럼명 데이터타입 조건, 컬럼명 데이터타입 조건, ... ); 테이블 구조 확인 DESC [테이블 명] create -데이터 삽입 INSERT INTO [테이블 명] ([칼럼1], [칼럼2], [칼럼3]) VALUES ([값1], [값2], [값3]....) read -테이블 전체 데이터 확인 SELECT..

DB 2023.05.04

[JAVA] String, StringBuilder, StringBuffer 차이

String String과 다른 클래스(StringBuffer, StringBuilder)의 차이점은 String은 불변(immutable) 하다는 점이다. String 객체는 한번 생성되면 할당된 메모리 공간이 변하지 않는다. ‘+’ 연산자 또는 concat 메서드를 통해 기존에 생성된 String 클래스 객체 문자열에 다른 문자열을 붙여도 기존 문자열에 새로운 문자열을 붙이는 것이 아니라, 새로운 String 객체를 만든 후, 새 객체에 연결된 문자열을 저장하고 그 객체를 참조하도록 한다. 즉, 한번 생성된 객체의 내부 내용을 변화시킬 수 없다. String str = "hello"; // String str = new String("hello"); str = str + " world"; // [ h..

BACK/JAVA 2023.04.20

[네트워크] GET 과 POST의 차이

HTTP 메소드 중 GET 과 POST에 대해 자세히 살펴보려 한다. GET 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드 데이터를 읽거나, 검색할 때 사용된다고 할 수 있다. GET을 통한 요청은 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 query string이라고 부른다. 파라미터인 name1과 name2를 통해 값을 전달 받을 수 있다. 요청 파라미터가 여러개면 &로 연결한다. ex) www.example.com/show?name1=value&name2=value2 특징 캐시가 가능하다. GET을 통해 서버에 리소스를 요청할 때 웹 캐시가 요청을 가로채 서버로부터 리소스를 다시 다운로드 하는 대신 리소스의 복사본을 반환한다. HTTP 헤더를 통해 캐..

CS/네트워크 2023.04.12

[JPA] Dirty Checking(변경 감지)

변경 감지란, 트랜잭션 커밋(종료)시 영속화된 엔티티에서 가지고 있었던 최초 정보(스냅샷)와 바뀐 엔티티 정보를 비교해서 바뀐 부분을 update해주는 기능이다. JPA에서는 엔티티를 조회하면 해당 엔티티의 조회 상태를 스냅샷을 만든다. (*스냅샷: DB에서 데이터를 가져와 영속성 컨텍스트에 저장해 엔티티를 영속화할 때의 최초 정보들) 트랜젝션이 끝나는 시점에 이 스냅샷과 비교해서 엔티티에 변경이 있으면 Update Query가 발생한다. Dirty Checking 대상은 영속성 컨텍스트가 관리하는 엔티티에만 적용된다. 준영속, 비영속 상태의 엔티티는 대상에 포함되지 않는다. ex) Detech된 엔티티(준영속), DB에 반영되기 전 처음 생성한 엔티티(비영속)

BACK/JPA 2023.04.11

[JAVA] 프로그래머스 - [3차]n진수 게임

https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public String solution(int n, int t, int m, int p) { String answer = ""; List list = new ArrayList(); int i=0; boolean stop = false; while(!stop){ String num = Integer.toString(i++, n); ..

ALGORITHM 2023.03.18

[MySQL] 문자열 관련 함수

MySQL 문자열 관련 함수를 정리해보았다. 찾으면 찾을 수록 정말 다양한 함수들을 제공해주는것 같다. LENGTH(str) 문자열의 길이 찾기 SELECT LENGTH('HELLO') -- 5 CONCAT(str, str) 여러 문자열 합치기 SELECT CONCAT('안녕','하','세요'); --'안녕하세요' INSTR(str, substr) 문자열에서 찾는 문자열이 몇번째 위치에 있는지 알아내기 찾는 문자열이 없을 경우 0 리턴, 1개 이상 있는 경우 첫번째 문자열의 시작 자리수 리턴 SELECT INSTR('ABCDE', 'BC') -- 2 REPLACE(str, from_str, to_str) 문자열에서 특정 문자열을 찾아 원하는 문자열로 모두 치환한다. SELECT REPLACE('www.n..

DB 2023.03.04
반응형