전체 글323 v-on 수식어 이벤트 수식어 .stop - 자식 요소의 이벤트가 부모 요소의 이벤트를 호출하지 않도록 설정 Click .prevent - 페이지 새로고침 방지 ex) 입력창에 무언가를 입력한 다음 전송 버튼을 눌러도 렌더링 X Sign up .self - 자식 요소의 이벤트를 실행해도 부모 요소의 메소드 실행 X - .self를 지정한 부모 요소를 직접 실행해야지만 이벤트가 실행됨 .once - 이벤트를 실행했을 때 해당하는 메소드를 단 한번만 실행되도록 설정 - v-on의 .once가 아닌 v-once로도 적용가능 .capture - 우선순위를 무시하고 가장 먼저 실행 EX) div3 -> div2 -> div1 순서가 정상이지만 div1 -> div3 -> div2 순으로 실행 div1 div2 div3 .pass.. 2024. 2. 23. Sqlite LocalDateTime 적용 문제 문제 MySQL과 다르게 Sqlite는 Spring Data JPA를 통해 LocalDateTime을 적용하여 Entity 혹은 DTO의 필드(컬럼)를 정의하면 날짜 데이터가 아닌 알아보기 힘든 숫자 형식으로 데이터가 DB에 저장됨 해결 방법 LocalDateTime 데이터를 DateTimeFormatter를 이용하여 String으로 변환하여 저장 public class carDTO { @Column(columnDefinition = "text", updatable = false) private String createdDateTime; @Column(columnDefinition = "text") private String modifiedDateTime; @PrePersist protected void.. 2024. 2. 19. SSLHandshakeException: PKIX ~ 인증서 관련 에러 에러 내용 - HTTPS 통신과 관련하여 인증서 문제가 발생했을 경우 나타남 에러 원인 1. 신뢰할 수 없는 CA 인증서 경우 - 새로운 CA로부터 가져온 인증서가 아직 신뢰할 수 없거나 애플리케이션이 CA가 없는 구형 버전에서 실행 중인 경우 - 해결 방법 InputStream에서 특정 CA 가져오기 → CA를 사용하여 keystore 생성 → keystore를 사용하여 TrustManager 생성 → TrustManager를 통해 SSLContext 초기화 → 인증서 확인을 위해 CA를 사용 (TrustManager에서 신뢰할 수 있는 유일한 CA) // Load CAs from an InputStream CertificateFactory cf = CertificateFactory.getInstanc.. 2024. 2. 15. https 통신 방법 (SSL 인증서) 순서 1. SSL 인증서 생성 2. 프로젝트에 SSL 인증서 적용 인증서 생성 1. Keystore 생성 keytool -genkey -alias [keystore 별칭] -keyalg RSA -storetype PKCS12 -keystore [keystore 파일] 2. 생성한 Keystore로부터 인증서 추출 keytool -export -alias [keystore 별칭] -keystore [keystore 파일] -rfc -file [인증서 파일] 3. java 폴더의 lib/security/cacerts에 추출했던 인증서 등록 프로젝트에 인증서 적용 application.properties에 다음 정보 입력 server.ssl.key-store=키스토어 경로 server.ssl.key-store.. 2024. 2. 14. The import org.springframework cannot be resolved 에러 (Gradle) 문제 현상 외부에서 작업하던 Spring Boot(Gradle) 프로젝트를 IDE에서 별다른 import 없이 열었을 경우 해당 에러가 발생 해결 방법 - 수동으로 다시 import Eclipse 해당 프로젝트 폴더 우클릭 - import - Existing Gradle Project - 해당하는 Gradle 프로젝트 폴더 선택 후 완료 Intellij Import Project - 해당 프로젝트 폴더의 buiild.gradle 선택 후 완료 2024. 2. 12. java.io.FileWriter & FileReader FileWriter - 텍스트 파일을 출력(입력)할 때 사용하는 클래스 - 생성자가 파일의 경로 또는 File 객체를 통하여 객체 생성 가능 → 파일 경로 오류 시 IOException 발생 (FileNotFoundException X) 생성자 종류 - FileWriter(String filepath) = 파일 경로로 FileWriter 객체 생성 - FileWriter(File file) = File 객체로 FileWriter 객체 생성 ※ 생성자 파라미터에 boolean append 추가 시 true면 이어쓰기, false면 덮어쓰기 진행 FileReader - 텍스트 파일을 읽을 때 사용하는 클래스 - 생성자가 파일의 경로 또는 File 객체를 통하여 객체 생성 가능 → 파일 경로 오류 시 IOEx.. 2024. 1. 29. Vue 기본 문법 텍스트 보간법 - {{ }}(이중 중괄호) 를 통해 Vue에서 정의한 데이터와 html에서 정의한 데이터를 서로 바인딩하는 방법 HTML 메세지: {{ msg }} JavaScript const app = Vue.createApp({ data() { return { msg: "learn Vue" } } }); app.mount("#user-goal"); 디렉티브(Directive) - DOM 요소에 특별한 속성으로 추가되어 화면의 동적인 동작을 처리하는데 사용되는 명령어 - Vue를 통해 실행되는 모든 내장 디렉티브들은 명칭이 v-로 시작함 - 하나의 요소에 두 개의 디렉티브를 함께 사용 권장 X v-html - HTML 요소에 Vue의 data에서 정의한 변수를 동적 바인딩하여 출력할 때 사용 - XS.. 2024. 1. 23. Vue 기본 세팅 기본 세팅- npm install -g @vue/cli → Vue 설치- 안에 HTML 코드를 작성- 2024. 1. 23. Vue.js 정의 및 특징 정의 - 가상 DOM을 기반으로 하는 반응형 및 컴포넌트 기반 아키텍처를 제공하는 JavaScript 프레임워크의 한 종류 ※ DOM(Document Object Model, 문서 객체 모델) = 같은 html문서의 태그들을 JavaScript가 이용할 수 있도록 생성한 객체 모델 - HTML + CSS + JavaScript를 혼용 특징 - 가벼운 크기 - 단순하고 직관적인 문법 - Vue 앱은 HTML 코드의 한 부분만 제어할 수 있음 (자식 요소 제어 가능) - MVVM 패턴 = Model-View-ViewModel 패턴으로 데이터와 비즈니스 로직을 담당하는 Model, 사용자에게 보여지는 시각적인 요소인 View, View에 대한 상태와 동작을 정의하고 Model과의 데이터 바인딩 및 사용자 입력.. 2024. 1. 15. com.google.gson.Gson 정의 - Java 객체 ↔ JSON 변환 기능을 제공하는 Google에서 제공하는 오픈 소스 JSON 처리 라이브러리 - 단순 객체 만이 아니라 Map, List, Array와 같은 Java 컬렉션들도 JSON으로 변환 가능 import com.google.gson.Gson; import com.google.gson.GsonBuilder; GSon gson = new Gson(); Gson gson = new GsonBuilder().create(); String jsonStr = "{\"id\":\"1\",\"name\":\"Tom\"}"; Map map = gson.fromJson(jsonStr, Map.class); String str = gson.toJson(map); // {"id" : "1",.. 2024. 1. 15. Git Bash 홈 디렉터리 설정 - C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Git로 이동 - Git Bash 우클릭 → 속성 - 대상에서 --cd-to-home 삭제 - 시작 위치에서 %HOMEDRIVE%%HOMEPATH% 삭제 후 설정할 루트 디렉터리 경로 입력 후 적용 2024. 1. 11. .classpath와 .project가 gitignore 적용이 안 될 경우 문제 다음과 같이 .gitignore에 .classpath와 .project에 대해 설정을 해주었는데도 Eclipse에서 Unstaged Changes에 그대로 추적이 되는 상황이 발생 원인 해당 파일들이 캐시로 인하여 tracking 되고 있음 해결 방법 gitbash에서 git 캐시 삭제 후 commit/push 진행 # git 캐시 목록 확인 git ls-files --cached # 특정 파일이 git 캐시 목록 확인 git ls-files --cached 파일경로 # git 캐시 삭제 git rm -r --cached . # 특정 파일의 git 캐시 삭제 git rm -r --cached 파일경로 2024. 1. 10. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name~ 원인 - Controller에서 API를 정의할 때 서로 메소드 명은 다르지만 같은 HTTP 메소드와 URL을 가지고 있는 API들이 존재했던 것이 원인 해결 방법 - 서로 HTTP 메소드와 URL이 겹쳤던 메소드 중에 하나를 삭제하니 해결됨 Ex @RestController @RequestMapping("/api") public class ShopController { @GetMapping("/a") public void buy { .... } @GetMapping("/a") public void purchase { .... } } 2024. 1. 8. Bean 수동 주입 방법 (@Autowired로 빈 주입 실패 시) 사용 이유 (문제 상황) - JpaRepository 객체를 상위 패키지가 동일한 서로 다른 두 개의 클래스에 각각 @Autowired를 통해 Bean을 주입 받도록 설정 - 한 클래스에서는 정상적으로 주입되어 쿼리 메소드가 정상적으로 실행되었지만 다른 클래스에서는 Bean이 주입되지 않아 객체가 null로 조회되어 NullPointerException이 발생 해결 방법 - 다음과 같이 ApplicationContextProvider와 BeanUtils 정의 후 ApplicationContext의 getBean()을 통해 파라미터로 입력한 객체의 빈을 받아와 객체에 직접 Bean을 주입 private CarRepository carRepo; CarRepo = BeanUtils.getBean(CarRepo.. 2024. 1. 4. Java SSL 인증서 생성 & 등록 SSL 인증서 생성 (InstallCert) 1. InstallCert 다운로드 curl -O https://gist.githubusercontent.com/lesstif/cd26f57b7cfd2cd55241b20e05b5cd93/raw/InstallCert.java 2. InstallCert 설치 javac InstallCert.java 3. InstallCert를 통해 인증서 다운로드 (InstallCert가 있는 위치에서) java -cp ./ InstallCert [IP 주소(포트 포함)] 4. 다운로드 후 출력되는 keystore명과 alias 기억 Added certificate to keystore 'jssecacerts' using alias '172.16.100.72-1' 5. 인증서를 .. 2024. 1. 2. 이전 1 2 3 4 5 6 7 ··· 22 다음