본문 바로가기

WEB

(79)
indexOf() 자바의 indexOf()는 특정문자의 위치를 찾아준다 없는 문자면 -1을 반환한다 사용법 String word="자바 indexOf() 자바함수"; System.out.println(word.indexOf("자")); System.out.println(word.indexOf("자",5)); System.out.println(word.indexOf("굥")); System.out.println(word.indexOf(1)); 결과 0 13 -1 -1
Queue 매번 철자가 헷갈리는 Queue .. 개념 먼저 집어 넣은 데이터가 먼저 나오는 선입선출(First In First Out)구조로 저장하는 방식 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용됨 외국에서 사람들이 버스 정류장에 선 줄을 Queue라고 하는데 먼저 선 사람들이 한명씩 버스에 타는 걸 상상하면 스택이랑 헷갈리지 않을 것이다. (스택은 그릇쌓기) Java에서 LinkedList를 이용해 구현 할 수 있다. 큐의 용어 put 큐에 자료를 넣는 것 get 큐에서 자료를 꺼내는 것 front 데이터를 get할 수 있는 위치 rear 데이터를 put할 수 있는 위치 peek front 데이터 반환 poll front 데이터 삭제 및 반환 Overflow 큐가 꽉 차서 자료를 넣을 ..
Stack 앞으로의 코딩테스트를 준비하여 유용한 자료구조나 알고리즘을 정리해두기로 했다. 개념 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조 (Last In First Out)으로 되어있다 Java에서 배열, 리스트, Stack 클래스를 이용하여 사용할 수 있다. 한마디로 그릇이 쌓인 모습을 생각하면 된다 주요 연산 top() 스택의 가장 위(최근에 넣은) 데이터 반환 pop() 스택의 가장 위(최근에 넣은) 데이터 삭제 push() 스택의 가장 윗 데이터로 top의 자리 위에 메모리를 생성 is_emtpy() 스택이 비었다면 True 아니라면 False 리스트로 구현한 스택 class Node{ int data; Node next; public Node(int data) { this.data = d..
DTO(Data Transfer Object) 서비스가 요청을 처리 후 클라이언트에게 반환할 때 Model 자체를 그대로 리턴하는 경우는 드물고 보통 DTO로 변환해 리턴한다. 이유는 다음과 같다 1. 비지니스 로직을 캡슐화 하기 위함 Model은 DB 테이블 구조와 매우 유사하다. 모델이 갖고 있는 필드는 테이블의 스키마와 비슷할 확률이 높다. 외부에서 DB의 스키마를 아는 것을 원치 않을 경우가 대다수이다. 이때 DTO를 사용하면 외부에 서비스 내부의 로직, DB구조 등을 숨길 수 있음 2. 클라이언트가 필요한 정보를 모델이 전부 포함하지 않는 경우가 많다. 만약 서비스 실행 도중 에러가 발생하면 이 메세지를 어디에 포함해야하는가 ,모델은 서비스 로직과는 관련이 없기 때문에 DTO에 에러 메세지를 포함한다.
JPA 쿼리 참고 https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html
Entity에 테이블 맵핑 https://wikidocs.net/161165 2-04 엔티티로 테이블 매핑하기 * `[완성 소스]` : [https://github.com/pahkey/sbb3/tree/v2.04](https://github.com/pahkey/sbb3/tree/v2.04… wikidocs.net h2 연결 이슈로 mysql 사용 @Entity 스프링 부트가 해당 클래스를 엔티티로 인식 @Id - id 속성을 기본키로 지정 @GenerateValue - 데이터를 저장할 때 해당 속성 값이 자동으로 1 씩 증가 Strategy=GenerationType은 해당 속성만 별도로 번호가 차례대로 증가하는 옵션 (생략되면 모든 @GenerateValue이 지정된 모든 속성에 번호를 생성) @Column 열의 세부 설정을 위..
Background와 nohup aws에서 ec2 접속을 종료하면 서버가 같이 종료 되는 경우가 있다! 이는 서버를 background가 아닌 foreground에서 서버를 동작 시켰기 때문이다 이 문제를 해결하기위해 nohup 명령어를 사용해야한다. (spring, java 사용) nohup 사용법 nohup java -jar jar 파일 주소 --spring.profiles.active=profile의 이름 & nohup.out이 생성된 것을 확인할 수 있다 이제 원하는 파일을 background에서 동작하게 됐으니 ec2 접속을 종료해도 서버가 실행된다. 주의점!! 서버를 종료하고 싶을때 그저 nohup.out 파일을 삭제하면 된다고 생각 할 수 있는데 그렇지 않다. 아래의 이미지를 보면 1. rm 명령어를 썼지만 2. ps au..
터미널로 git push 터미널 창 실행git init - 깃을 시작한다는 뜻git remote add origin 깃허브 repository 주소gitignore 파일 생성git add .git commit -m "메세지 작성"git push( 최초 1회 안에서 git push --set-upstream origin main)
active profile 설정(인텔리제이 무료 버전 기준) 스프링 사용할 때 실행되는 설정을 다르게 하고 싶을 때 profile을 설정하는 방법 1. application.yml 우선 구분선(---)을 이용해서 각 설정에 따른 application.yml 파일 수정 (구분선을 기준으로 위는 local , 아래는 dev로 설정) 2. active profile 빨간색 동그라미 클릭 -> edit configurations 클릭 Modify options(빨간색 동그라미) 클릭 -> Java- add VMoption 클릭 -> 새로 생긴 vm option 창(빨간색 체크)에 -Dspring.profiles.active= 원하는 profile 이름 입력 3. 실행 결과 확인
Dependency Injection 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입