문제내용 스프링 부트로 게시판 만들기를 하고 있는데 아래와 같은 에러가 발생했다. 해석하자면 mapping 주소가 /singup인데 view name도 signup이라 에러 발생하면서 shut-down 되버림 [signup]: would dispatch back to the current handler URL [/signup] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.) 해결방법 @Controller에서 ModelAndView 또는 Model에 View Name 을 넣어주면 해결됨
개요 인텔리제이 30일 평가판 사용 junit 테스트 작업시 아직 수정되지 않는 클래스로 인해, 독립적으로 테스트 클래스가 실행되지 않는 현상 확인하여 해결 방법 기록 설정 방법 1. [File > Settings > Build, Execution,Deployment > Compiler > Java Compiler] 에 설정 변경 2. 실행하려는 테스트 클래스에 대해 [Edit Configuration] 설정에서 Add before launch task 추가 3. default로 있는 'build'를 지우고 '+' 눌러서 Build, no error check 추가/저장/실행 참고 https://stackoverflow.com/questions/47948741/how-to-run-single-class-..
JVM(Java Virtual Machine) - 컴파일된 *.class 파일을 읽어 실행하고 운영체제의 메모리 영역에 접근하여 메모리 관리(GC) 수행하는 프로그램 - JDK > JRE > JVM ( JDK 안에 JRE와 JVM이 포함되어 있음 ) - 운영체제에 맞는 JVM 설치만 하면 자바 프로그램 실행 가능 JVM 구조 - Class Loader 생성된 class 파일을 Runtime Data Area에 적재하는 역할 - Execution Engine 메모리에 적재된 클래스를 기계어로 변경해 명령어 단위로 실행하는 역할(인터프리터, JIT방식) - G.C(Garbage Collection) heap 메모리 영역에 생성된 객체 중 reachability를 잃은 객체를 탐색 후 제거함 - Runtime..
Junit 테스트 진행중에 실행 콘솔에 @Displayname외에 하위 실행내용이 표출되지 않음 설정 방법 Settings(단축키 : ctrl + alt + s) 메뉴 > 좌측 Build,Execution,Deployment > Build Tools > Gradle "Gradle"로 설정되어 있을 건데 아래 이미지와 같이 "IntelliJ IDEA"로 변경 후 저장 Junit 테스트 재실행 및 확인
HTTP(HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 HTTPS(HyperText Transfer Protocol Secure) 인터넷 상에서 정보를 암호화하는 SSL 프로토콜(보안 이슈로 TLSv1.3 사용)을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 HTTPS는 텍스트를 공개키 암호화 방식으로 암호화 함 HTTPS 를 사용한다는 것은 두가지 의미를 가진다. 신뢰있는 사이트 보증 서버와 클라이언트 간에 정보 교환시 암호화 통해 제 3자 노출 방지 대칭키(Symmetric Key) vs 비대칭키(=공개키, public key) 방식 대칭키 (개인키,비밀키) 비대칭키 (공개키) 방식 송신key == 수신 ..
DispatcherServlet 동작과정 @Controller 인 경우 ① Client(사용자)에서 브라우저 통해 Http Request 보내면 DispatcherServlet이 받음 ② HandlerMapping한테 지시하여 Http Request URI에 맞는 Handler(Controller)를 찾음 ③ 해당 Handler를 실행할 수 있는 HandlerAdapter를 탐색 ④ 찾은 HandlerAdapter를 사용해서 Handler Method를 실행 ⑤ 개발자가 만든 비즈니스 로직을 수행 후 View name(ex. "index")과 model (key, value 형태) 반환받음 ⑥ DispatcherServlet은 ViewResolver 에게 View name전달하여 해당 View 파일을 찾..
HTTP (HyperTexT Protocol) 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종 즉, HTTP는 서버와 클라이언트의 사이에서 어떻게 메시지를 교환할지를 정해놓은 규칙 80번 포트를 사용하며 HTTP의 구조는 요청(Request)과 응답(Response)으로 구성 https://namu.wiki/w/HTTP HTTP Request Method 서버에 요청시 주어진 리소스에 수행하길 원하는 행동을 Method 로 나타냄 CRUD ('Create', 'Read', 'Update', 'Delete') 에 대해 Http Method를 보통 아래와 같이 구분함 Create = POST/PUT Read = GET Update = PUT Delete = DELETE GET 서버에게 특정 Resourc..
'웹 브라우저에 주소 입력했을때 동작 과정' 중 그 일부인 DNS 정리 DNS란 사람이 읽기 쉬운 도메인명(ex. www.google.com ) 을 기계가 읽을 수 있는 IP주소(네트워크 상 주소) 변환하는 것 획득한 IP 주소로 라우팅(라우터를 거쳐 최적 경로 찾아가는 과정)을 통해 서버에 찾아가게 됨 https://aws.amazon.com/ko/route53/what-is-dns/ DNS란 무엇입니까? – DNS 소개 - AWS Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기 aws.amazon.com 도메인 주소로 IP 획득하는 과정 요약 도메인에 대한 IP 주..
TCP , UDP 비교 구분 TCP UDP 서비스 연결 지향형 서비스 비연결 지향형 서비스 통신 방식 port 이용 소켓주소 이용 (ip주소 + port 번호) 세션(연결) 설정 3-way handshaking(논리적연결) 4-way handshaking(연결해제) x 신뢰성 확보 흐름제어/오류제어/혼잡제어 x 전송속도 느림 빠름 장점 신뢰성있는 정보전송가능 실시간 통신 적합 (비연결형에 제어가 없으므로) 단점 절차로 인한 지연 발생 신뢰성 보장x 용도 http, SMTP VoIP TCP의 흐름제어, 오류제어, 혼잡제어 흐름제어 송/수신측 사이의 데이터 처리 속도 차이(흐름)을 제어하기 위한 기법으로 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지. Stop and Wait / Sliding..
1. SQL 자동완성 풀기 쿼리 작성할때 자동으로 table alias 작성해주던 기능을 제거 상단 메뉴 [윈도우] > [환경설정] > 팝업창 좌측메뉴 [편집기] > [SQL편집기] > [SQL자동완성] 선택 'Insert table aliases(in FROM caluse)' 를 N/A 선택함 2. 행번호 표시 가독성을 높이기 위해 쿼리 파일 좌측에 행번호 표시하도록 함 상단 메뉴 [윈도우] > [환경설정] > 팝업창 좌측메뉴 [편집기] > [문서편집기] 선택 '행 번호 표시' 체크 3. 컬럼설명 표시 테이블 조회시 컬럼별 comment를 각각 헤더에 표시해줌 (당연히 comment가 있어야 select 조회 시 표시됨) 상단 메뉴 [윈도우] > [환경설정] > 팝업창 좌측메뉴 [편집기] > [데이터 ..
상황 (2021.10.11) '빠른 학교' 인강을 듣던 중에 gradle.build에 의존 라이브러리 추가했는데 다음과 같은 에러가 출력됨 에러 로그 General error during semantic analysis: Unsupported class file major version 60(이하생략) 문제 해결 검색결과 gradle에서 java 16버전을 지원하지 않아서 에러 출력되는 것으로 파악 cmd 창에 java --version 확인시 jdk 16 버전 설정되어 있었음 그런데 JAVA_HOME 환경변수 설정은 openjdk11 이었음 jdk 16을 삭제하고 재부팅 다시 cmd 창 확인 후 gradle.build 재실행시 정상동작 확인함
핵심 java 정의된 모든 class 는 최상위 Object 객체를 상속받음 extends 를 붙이지 않아도 java.lang.Object 상속받음 Object class의 메소드 중 toString()을 사용자 정의 객체에서 오버라이딩(Overiding,재정의) 할 경우 System.out.println(객체); 로 호출시 객체에서 재정의한 toString()이 자동으로 호출되도록 약속되어 있다 예시 Student.java public class Student implements Comparable{ private int no; private String name; private int score; public Student(int no, String name, int score){ this.no = ..
요약 - Comparable 인터페이스 : 객체 스스로에게 부여하는 한 가지 기본 정렬 규칙을 설정하는 것이 목적 - Comparator 인터페이스 : 기본 정렬 규칙과 다른 정렬 기준을 지정하고 싶을 때 사용 아래 익명 함수 정의하는 방식은 구식이기 때문에, 람다 표현식과 Method Reference 사용 방법 익히는 것을 권장합니다 Comparable 와 Comparator 는 둘 다 인터페이스로, 정렬 기준을 구현하기 위해 사용됨 Comparable 인터페이스는 compareTo() 메서드를 override 해서 구현 보통 정렬이 필요한 클래스에 Comparable 인터페이스 구현 Comparator 인터페이스는 compare() 메서드를 override 해서 구현 보통 별도 (클래스) 정의해서 ..
Collection Framework 다수의 데이터를 쉽고 효과적으로 처리가능한 표준화된 방법을 제공하는 클래스의 집합을 의미 즉, 데이터 저장하는 자료구조와 데이터 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 데이터를 제공하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의함 List 인터페이스 Set 인터페이스 Map 인터페이스 List, Set 인터페이스의 경우 Collection 인터페이스 상속 받지만, Map 인터페이스의 경우 구조상 차이로 별도로 정의됨 # 용어 정리 1. Collection (컬렉션) - 여러 객체(자료구조, 데이터)를 모아 놓은 것 2. Framework (프레임워크) - 표준/정형화된 체계적인 프로그래밍 방식 3. Collection Framework (컬렉..
'빠른캠퍼스' 강의에서 Jupyter Notebook에 java 코드 실행하는 환경에 대해 설명함 단순히 Anaconda3 설치하고 압축파일 내려받으면 될 것처럼 말했는데, 설정해야 될게 있었음 아래는 Anaconda3 다운로드 주소이며 , 운영체제 bit 수에 맞게 설치 https://www.anaconda.com/products/individual-d 5시간에 걸쳐 삽질하여 알아낸 해결 내용 기록 명령어는 아래 Anaconda prompt 에서 전부 처리함 ( 관리자 권한으로 실행할 것 ! ) 에러1. A JNI error has occurred 💩 Error: A JNI error has occurred, please check your installation and try again Excepti..
Jupyter notebook 설정 이슈로 인한 JDK 9 설치 기록 (2021-09-19) 1. jdk 설치 파일 다운받기 운영체제 bit 수 확인해서 다운 받기 아래 64bit 다운로드 링크 ( 오라클 회원가입 하기 ) https://www.oracle.com/kr/java/technologies/javase/javase9-archive-downloads.html 2. JDK 설치 경로 확인 및 복사 보통 C:\Program Files\Java 경로에 있음 (예시) C:\Program Files\Java\jdk-9.0.4 3. JAVA_HOME 환경변수 설정하기 내컴퓨터 > 마우스 오른쪽 클릭 [속성] > 고급시스템 설정 > [고급 탭] > [환경변수] 시스템 변수 JAVA_HOME 추가 및 jdk ..
Community 버전의 경우 무료이고, Mysql, MariaDB, Oracle, Cubrid, Tibero 등 다양한 DBMS 접속 가능 ERD 그리기 지원, Export, Import 기능 등 가장 좋았던 건 서로 다른 DBMS 에 동일한 테이블이 있는 경우 기능활용하여 데이터 이관이 수월했던 걸로 기억 아이콘이 귀엽다 ( 디'비버' ) 1. 테마 변경 설정 방법은 아래와 같다 [윈도우] → [설정] → (왼쪽) [User Interface] → [모양] 메뉴 선택 후 테마 변경 2. 힙 메모리 표시 sql 실행시 메모리량을 표기하는 UI 인터페이스를 표시해 줌 설정 저장 후 우측 하단 확인 3. 힙 메모리 설정 바탕화면에 있는 'DBeaver 바로가기' 아이콘 오른쪽 마우스 클릭 → [속성] 아래..
1. txt 확장자 파일을 열었을때 아래와 같이 한글 깨짐 발생 2. 우측 하단에 [UTF-8] 인코딩 표기 누름 인코딩하여 다시 열기(Reopen with Encodig) 선택 3. EUC-KR 검색하여 선택 4. 한글 깨짐 현상 해결 확인 보통 한글깨짐은 인코딩 문제 메모장의 경우, 해당 파일을 '다른 이름으로 저장'할 때 인코딩(EUC-KR)을 변경하면 되었던 걸로 기억 또는 VsCode 환경설정 [ file > Preferences > Settings > Text Editor > File] 변경하기 해당 값 체크 Auto Guess Encoding