전체 글

멈추지 않고 꾸준히 배우는 이들에게 도움이 되고픈 블로그입니다.
spring/spring mvc2

스프링 mvc2 - 9. 파일 업로드

1. 파일 업로드 소개 form 전송 방식 2가지 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 가장 기본적인 방법 Form tag에 별도의 enctype 옵션이 없는 경우 web browser 역할 content-type: application/x-www-form-urlencoded를 추가 form에 입력한 전송할 항목을 HTTP Body에 문자로 & 로 구분해서 전송 multipart/form-data file 업로드시 application/x-www-form-urlencoded의 방식의 문제점 binary 데이터 전송이 필요한데 문자 전송 방식이기 때문에 부적합 실제로 파일만 전송하는 경우..

프로그램셋업 & 명령어/IntelliJ IDEA

IntelliJ 마우스 씹힘 현상 해결

한영 키 (capsLock) 누르기 대부분 해결됨 마우스 우클릭 -> show Context Actions 클릭 후 다시 한영 키(capsLock) 누르기 만약 1번방법으로 안될 때 사용 관련 IntelliJ 에러 2023.03.05 - [프로그램셋업/IntelliJ IDEA] - IntelliJ - 화면 프리징, 멈춤 현상 해결 방법

프로그램셋업 & 명령어/IntelliJ IDEA

이미 사용중인 포트 번호 수동 종료

Ubuntu / Linux 1. 특정 포트를 사용하는 네트워크 통계 정보를 출력하거나 톰캣 프로세스 목록을 출력 // 2가지 방법 netstat -lnp | grep 8080 // or ps -ef | grep tomcat tomcat 기준 501 23353 20948 0 5:07PM ?? ....... : 최상단 붉은글씨 부분이 톰켓 프로세스 목록이다. 2. 강제 종료 // 강제 종료 kill -9 [process_id] // 예시 kill -9 23353

java/java 심화

Class 객체 - Reflection API

Class 객체 java.lang.Class 클래스는 모든 클래스의 메타 정보를 나타내는 클래스 클래스의 모든 정보 제공 : 생성자, 필드, 메서드, 접근 제어자,어노테이션 등등 클래스 당 1개만 존재 Class 객체 자체 메서드 존재 원리 Car class를 작성한 Car.java 파일이 존재 프로그램에서 참조변수로 해당 Car type을 부름 Car.java -> compile -> Car.class : 컴파일 완료 컴파일 된 .class 파일은 한 파일(xxx.java) 내에 여러 class 클래스명{}들이 존재하더라도 compile시 각각의 파일(.class)로 나누어준다. 그래서 Class 객체가 클래스당 1개만 존재가 가능 ClassLoader라는 것을 통해서 (위의 과정과 같이 클래스 정보..

java/java 심화

Object clone() - 얕은 복사, 깊은 복사

clone() _ 얕은 복사, 깊은 복사 clone() 인스턴스변수의 값만 복사하기 때문에 참조타입의 인스턴스 변수가 있는 클래스는 완전한 인스턴스 복제가 일어나지 않는다. 참조타입의 인스턴스 변수: 객체에 iv들이 존재하는데 iv 값이 다른 객체 주소를 가리키는 상황. 완전한 복제가 안된다는 의미: 객체까지는 복사가 됬는데 객체 내부의 iv가 가리기는 다른 객체는 서로 공유하는 상황 이와 같은 clone을 얕은 복사라고 한다. -> 서로 공유하는 객체가 존재하기 때문 clone() 사용 방법 clone의 얕은 복사로 인해 원본 객체에 영향을 끼치기 때문에 원본 보호 목적으로 특정 조건을 허용해야 clone()을 사용할 수 있도록 했다. implements Cloneable : interface 구현 접..

java/java 심화

List 구현

개요 LinkedList원리 Node를 통해서 객체들을 연결을 한 상태로 Node 내부에 data와 nextNode 주소, prevNode 주소 등이 들어갈 수 있다. 구현된 LinkedList 이용시 중간에 값 추가, 중간 값 삭제 등 배열보다 높은 성능을 보여준다. LinkedList 구현의 필요성 회전하는 순서 같이 LinkedList의 원리로 구현할 수 있는 부분들이 LinkedList에 구현이 되어있지 않다. ex) 1,2,3 이 저장된 list를 get(int index)을 통해서 뽑아낼때 indexrk list Node 수보다 많으면 예외발생 이 외에도 LinkedList를 직접 구현해야되는 상황이 생길시 구현을 할 줄 알아야한다. 구현 순서 LinkedList : 평소에 사용하는 Linke..

프로그램셋업 & 명령어/git & github

.gitIgnore

.gitIgnoer - 초기 셋팅과 씹히는 이유 .gitIgnore 파일은 git에 업로드를 하지 않을 file, directory 목록을 작성하는 파일이다. 주의점 프로젝트 최상단에 .gitIgnore 파일을 생성해야 전체적으로 적용이 가능하다. 프로젝트 생성 초기에 .gitIgnore 파일을 만들어야 제대로 작동을 한다. 프로젝트 진행 중 gitIgnore을 작성시 이미 git과 연동된 file과 directory들은 git의 cache로 인해서 .gitIgnore이 씹히는 경우가 생긴다. cache를 제거하고 다시 .gitIgnore을 정상작동 시키는 방법 설명 에디터별 그리고 프로젝트별로 .gitignore을 하는 파일과 directory 명들이 차이가 존재 프로젝트별로 기회가 될때마다 추가 작..

wooweee
코아일체