Java 10

[Spring] 301, 302 redirect 시키기

웹 크롤링을 하다가 보면 해당 url을 접근하지 못하거나 에러가 생겨 리다이렉트를 해야하는 경우가 발생 * 301과 302의 차이 https://nsinc.tistory.com/168 [HTTP] 301과 302 Redirect의 차이 HTTP Response Status Code는 요청에 대한 웹서버의 응답을 나타내는 코드를 말합니다. 이 코드를 바탕으로 웹브라우저나 검색엔진 크롤러는 요청을 어떻게 처리해야할지 판단하게 됩니다. 유명한 코 nsinc.tistory.com 우리 프로젝트는 크롤링에 필요하기 때문에 302 리다이렉트 필요 /** * 리다이렉트 */ @GetMapping(value="/redirect") public RedirectView redirect(String url) { log.in..

study/TIL🐥 2022.10.31

[Vue.js] Class로 구성된 js 파일 import, 사용하기

모듈화를 하기 위해 class로 구성하는 외부 js 파일의 사용이 필요할 때가 생겼다. 파일 구성은 export defualt class foo { constructor() { this.func(); } func() { } fun2() { } } Vue에서 파일을 따로 빼내서 vue 파일에서 사용할 경우 내보내기(export)를 꼭 해야한다 원하는 Vue파일에서 해당 파일 import를 하고 사용해야 한다 import foo from "foo.js 경로" export defult { data() { return { foo : new foo(); } }, mounted() { this.foo.fun2(); } } class 파일에서 정의한 메소드가 꼭 mounted가 아니라 method에서 호출해도 되고 ..

study/TIL🐥 2022.10.05

[JAVA/Spring] [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125))

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('}' (code 125)): was expecting double-quote to start field name at [Source: (org.springframework.util.StreamUtils$NonClosingIn..

study/TIL🐥 2022.08.05

[JPA] 즉시 로딩 / 지연 로딩

JPA를 프로젝트를 통해 야매로 배우고 나서 자신감있게 코드를 요리조리 조립해서 프로젝트를 진행했는데, 여태 에러 없이 디버깅을 진행하면서 했지만 난생 처음 보는 에러를 마주했다 LazyInitializationException Lazy Loading으로 인한 에러인데, 구글링을 하면 굉장히 여러 이유로 에러가 나고, 해결 방법도 생각보다 여러 방법이 있다. 총 3가지의 해결 방법이 있는데 그 중, 내가 해결한 방법을 작성해본다. 지연 로딩 (Lazy Loading) @Entity public class Member { @id @GeneratedValue private Long id; @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name = "item") priva..

study/Project 🐾 2021.12.17

[JAVA] 객체 생성 과정

이수자 평가 공부 중 드는 의문 -> 객체 생성 중 new와 단순 null로 초기화 차이 member input = new member(); member output = null; 우선 알아야 할 객체 생성 순서 1. new 연산자가 input 객체에 저장될 메모리 할당 2. 생성자가 input 객체 초기화 3. new 연산자가 새로 생성된 객체의 주소를 input에 할당 4. input을 통해 member로 접근 가능 new로 할당하면 member 객체를 사용할 수 있게 생성을 했다는 뜻이고, null로 할당할 경우 빈 껍데기를 만든 것이다. 주소도 할당하지 않았으며 아무것도 할당하지 않음을 뜻합니다. 그래서 프로젝트를 진행할 때는 setter로 접근해야 하는 빈즈는 new로 할당을 하고, 조회 결과를..

study/TIL🐥 2021.03.12

JAVA - 7

싱글톤 싱글톤이란? 프로그램 내에 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역 범위를 갖도록 객체 생성 여러 곳에서 공유하기 위한 작성 패턴 싱글톤의 장점 공유 기능을 하나만 생성하여 여러 곳에서 재사용함으로써 메모리를 효율적으로 사용 객체를 일일히 생성해야 하는 번거로움을 피할 수 있다 싱글톤의 특징 static을 선언되어 고정영역에 생성되기 때문에 필요할 때마다 메모리에 할당 객체가 할당되지 않은 경우에만 할당하도록 하여 중복 할당 방지 메모리에서 삭제하는 기능이 있다 생성자를 private 형태로 정의하여 외부에서 접근 금지 하나의 객체만 참조하기 때문에 메모리 사용 절약 가능 싱글톤 객체 사용하기 getInstance() 메서드를 사용하여 리턴 받는 형식으로 사용 싱글톤 형태 //싱글..

study/JAVA 🦊 2021.01.07

JAVA - 1

프로그래밍 기초 프로그래밍 언어란? 인간과 컴퓨터 사이에서 의사소통을 가능케 하는 인공적인 언어이다. 프로그래밍 언어의 종류 기계어 → 어셈블리어 → 고급언어 (Low레벨) 인코딩이란? 문자나 기호들을 컴퓨터에 저장하는 것. 한글과 영어등을 볼 수 있게 컴퓨터가 처리하는 과정. JAVA 썬 마이크로시스템즈에서 개발한 객체지향 프로그래밍 언어 → 현재 썬 마이크로시스템즈는 오라클에 인수가 되었다. 자바의 특징 ✅운영체재 독립적 : JVM이 설치된 환경이면 어디서든지 실행 가능 ✅객체지향 언어 : 상속, 캡슐화, 다형성 / 코드의 재사용 및 유지보수에 용이 ✅자동 메모리 관리 : Garbage Collector가 자동으로 메모리 관리 ✅네트워크, 분산처리, 멀티스레드 : 시스템과 관계 없이 손쉬운 API 제..

study/JAVA 🦊 2020.12.26

String 객체 생성의 차이

기본적으로 String 객체 생성하는 방법 두 가지 public class StringExample { public static void main(String [] args) { String name1 = new String("suna"); String name2 = "suna"; String name3 = "suna"; } } Java에서 String은 특별한 참조 자료형이다. 두 객체 생성 방법 모두 동일하게 객체 생성이 되지만, JVM이 관리하는 메모리 구조상에서 차이가 있다. Java에서 String은 불변 클래스이고 참조 타입이기 때문에, 객체를 생성할 때 Heap 영역에 생성이 된다. 자바 안에는 String pool이란 게 있는데, 큰 따옴표(" ")로 생성하면 먼저 String pool에 ..

study/TIL🐥 2020.12.26