본문 바로가기

장생농

(138)
엉터리 정리 - 스프링이 요청을 받는 방식, Maven, Lombok 정리는 하고 싶은데 제대로 공부한 건 아니고,(귀찮아서는 그런건 아니다.) 이런저런 이유로 까먹지만 않을 정도로 정리하는 엉터리 정리글. 그렇다고 내가 공부한 소스가 엉터리라는 건 아니다.(오해X) 클라이언트는 서버에게 요청한다. 요청할 때 데이터를 보낼 수 있다. get 요청은 쿼리스트링을 추가해서, post나 put 요청은 보통 body에 데이터를 담아 보낸다. 스프링의 컨트롤러는 클라이언트로부터 받은 데이터를 간단히 처리할 수 있다. 만약 쿼리스트링으로 데이터가 들어왔다면 -> ?id=100&name=shin -> 이렇게 쿼리스트링을 보냈다면 컨트롤러의 요청을 받는 메소드에서 매개변수로 id와 name을 받아 처리할 수 있다. 요청을 받는 메소드는 값을 객체에 담아 처리할 수 있다. 클라이언트로 받..
엉터리 정리 - 쿼리 스트링 TIL 비슷하긴 한데 하루 동안 공부한 건 아니고, 정리는 하고 싶은데 제대로 공부한 건 아니고,(귀찮아서는 그런건 아니다.) 이런저런 이유로 까먹지만 않을 정도로 정리하는 엉터리 정리글. 그렇다고 내가 공부한 소스가 엉터리인 건 아니다.(오해X) 간단하지만 이해하기 쉬워 먼저 읽어보면 좋다. 짧다. 쿼리 스트링 - 나무위키 쿼리 스트링은 쿼리 파라미터라고도 부른다. 주로 URL 끝에 붙여져 있다. 검색 사이트에 ?query=XXX 라든지, ?redirect=URL 이런 것이 쿼리 스트링이다. 쿼리 스트링은 많은 곳에서 사용하는데, 구조를 namu.wiki 쿼리스트링을 이용하면, 클라이언트가 서버에게 요청할 때, 추가적인 인자(데이터)를 전달할 수 있다. 요청할 때, path 부분 뒤에 ?를 붙이고 "필..
엉터리 정리 - 깃, http, MIME 정리는 하고 싶은데 제대로 공부한 건 아니고,(귀찮아서는 그런건 아니다.) 이런저런 이유로 까먹지만 않을 정도로 정리하는 엉터리 정리글. 그렇다고 내가 공부한 소스가 엉터리라는 건 아니다.(오해X) Git. 깃으로 프로젝트를 관리할 수 있다. 깃을 추상화해서 생각하자. 깃은 작업 영역, 인덱스 영역, 헤드 영역이 있다. 깃은 이 세 공간에 파일을 저장하고 동기화 등의 기능들을 통해 버전을 형상을 관리한다. 작업 영역은 일반 작업 폴더와 같다. 작업된 파일이 이곳에 저장된다. 작업된 파일을 인덱스 영역에 옮긴다.(add) 인덱스 영역에 파일을 헤더(트리) 영역에 옮겨 영구히 저장한다.(commit) 헤더 영역에선 커서를 통해 과거의 프로젝트 버전으로 다운시킬 수 있다. 이런 과정을 통해 동기화를 하고, 버..
데코레이터 패턴(Decorator Pattern) 자바 입출력 스트림을 공부하면 데코레이터 패턴이 등장하는데, 이해가 어려워서 따로 정리했다. 데코레이터 패턴은 기반 객체(ConcreteComponent)와 그 외 다양한 기능을 제공하는 데코레이터(Decorator)를 사용하여 기반 객체가 다양한 기능을 구현할 수 있게 한다. 상속보다 유연한 확장성을 갖고, 지속적인 서비스의 증가와 제거가 편리하다. 예) 데코레이터 패턴을 사용한 빼빼로 "빼빼로"라는 추상 클래스가 있다. "빼빼로" 추상 클래스를 상속 받아 기반 객체인 "롯데 빼빼로"를 생성한다. public abstract class Stick { public abstract void eating(); } public class lotteStick extends Stick{ @Override publ..
표현 언어 - EL(Expession Language) EL(Expression Language) : 표현 언어. 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완한다. 주로 객체의 값을 꺼낼 때 사용한다. JSP에는 자바 코드와 HTML 코드를 같이 사용한다. 표현 언어를 사용하여 쉽고 간결한 코드로 가독성을 높일 수 있다. EL의 기능들 JSP의 스코프에 맞는 속성 사용 -> EL로 모든 스코프의 변수들을 쉽게 출력할 수 있다. 집합 객체에 대한 접근 방법 제공 수치 연산, 관계 연산, 논리 연산자 제공 자바 클래스 메소드 호출 기능 제공 EL만의 기본 객체 제공 EL 사용법 ${표현식} , 달러 문자가 붙은 중괄호 안에 표현식을 작성한다. ${pageContext.name} // 페이지 스코프의 "name" 속성 출력 page, r..
스프링 부트로 블로그 만들기(1) 데어 프로그래밍님의 강의를 듣고 작성하는 글입니다.(www.youtube.com/channel/UCVrhnbfe78ODeQglXtT1Elw) 개발 환경: JAVA 1.8 MySQL 이클립스 STS4 Maven Spring 2.4.3 Spring Boot DevTools lombok Spring data JPA Spring Security Spring Web STS : 스프링 개발을 편하게 하기 위한 개발 툴 개발 환경 셋팅을 하면서 배운 것들 - 각 라이브러리에 대해 다시 정리할 예정 spring boot devtools - 파일의 변경이 일어나면 자동 재시작을 해준다. lombok - 어노테이션으로 코드 자동 생성 spring data jpa - orm을 이용하기 위해 spring security - ..
자바/JAVA JAR 위키피디아 : ko.wikipedia.org/wiki/JAR_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7) JAR(Java Archive, 자바 아카이브)는 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다. 클래스의 모음이다. zip 알고리즘과 같기 때문에 zip 툴로도 사용할 수 있다. 자바 애플리케이션을 개발하고 하나의 파일로 묶어 실행할 수 있게 해준다. JAR로 배포하면 어디서든 실행 가능하다.(자바가 설치된 곳에서)
자바/JAVA 스트림(Stream) 스트림을 람다식을 이용해 배열, 컬렉션을 다루는 기술(클래스)이다. 스트림을 사용하면 자료의 대상과 상관없이 동일한 연산을 수행할 있다.(자료의 추상화) 배열, 컬렉션의 원소들에 대해 동일한 연산을 수행할 수 있다. 또한 스트림 객체는 한번 생성되면 다시 재사용할 수 없기 때문에, 재사용을 위해선 새로운 스트림 객체를 생성해야 한다. 배열의 스트림 생성 java.util.Arrays의 stream() 메소드로 생성. int[] arr = {1,2,3,4}; Arrays.stream(arr); 컬렉션의 스트림 생성 스트림을 변수에 담으려면 java.util.stream.Stream에 담는다. List strLIst = {"토르","로키","퀵실버","완다"}; strList.stream(); // 스트림을..