분류 전체보기 88

[Maven]maven에서 build, install, clean의 차이

- build 도구로 maven을 사용해 프로젝트 build시 이용되는 3가지 기능 - maven으로 build시 2개의 주요한 폴더(target,m2e-wtp)가 생성된다. target 폴더: 컴파일된 프로젝트 코드와 프로젝트 구동 시 필요한 자원들을 포함하는 폴더 m2e-wtp 폴더: 이클립스와 maven을 연동하는 설정파일들을 포함하는 폴더. 설정파일들은 웹 프로젝트 파일의 위치, context root, deployment descriptor(배포서술자) 등을 명시한다.(**참조: https://www.eclipse.org/m2e-wtp/) 1. clean: repository 내 target 폴더를 삭제하면서, maven과 관련된 모든 자원들을 삭제하는 명령어 2. build: 외부에서 프로젝트..

기타 2023.09.10

[에러] style z-index 에러

상황: 메인페이지 뷰단에서 표출하는 2개의 팝업창 중 z-index값이 상대적으로 높게 설정되어 있는 팝업창이 z-index값이 낮은 창 뒤에 가려져 보이지 않는 에러가 발생하였다. 1. position 속성을 보니 2개의 창 모두 position:absolute로 설정이 되어있었다. 2. position이 둘 다 absolute인 경우 부모관계가 같지 않은 이상, 상호간에 연관관계를 이용한 비교가 어렵다. 을 보면 1,3 번이 부모-자식 관계를, 2,4번이 부모-자식 관계를 각각 맺고 있다. 3,4번에 각각 z-index 값을 준다고 할 때, 1번은 2번의 상위 노드이므로 상호간 연관관계가 성립되지 않을 수 있다. 3. 핸들바 양식으로 작성된 코드라 개발자 도구에서 코드를 보기가 어려워, 직접 뷰 파일..

기타 2023.09.06

[메타코딩] 2강. 스프링 프레임워크란?

- 스프링의 특징 5. 스프링은 수많은 필터를 가진다. - 스프링이 기본적으로 가지고 있는 자체 필터를 사용할 수도 있다. - 수 많은 필터들 중 현재 사용되고 있지 않은 필터를 사용하도록 설정할 수 있다. - 직접 필터를 생성해서 사용할 수도 있다. 6. 스프링은 수 많은 어노테이션을 가지고 있다. : 일반적인 주석은 컴파일러가 무시한다. : 어노테이션은 일종의 주석이지만, 컴파일러가 특정 정보를 참조할 수 있도록 한다(주석+힌트). 예를 들어, @override를 이용해 메서드 재정의 시에 재정의할 함수가 있는지 체크해 에러 체크의 기능으로 사용될 수 있다. : 스프링에서 어노테이션은 객체 생성에 주로 사용된다. @Component(클래스를 메모리에 로딩), @Autowired(로딩된 객체를 해당 변..

Spring 2023.08.31

[에러] docker 컨테이너 실행 시 바로 Exit 되는 경우

상황: docker 컨테이너를 만들고 내부에 mariaDB 데이터를 넣어 로컬 서버로 이용도중 docker를 실행하자마자 exit 되는 상황이 발생하였다. 1. 로그를 보니 unsupported redo log format. the redo log was created with mariadb 11.0.3. 같은 내용이 보였다. 2. 도커에서 이미지를 pull 받을 때, 로컬에 해당하는 파일이 있는지 스캔 후 없는 경우 docker hub에서 가장 최신 버전을 받아와 이용하는데 이 부분에서 문제가 발생한 것 같았다. 3. 로그 내용을 보면 mariadb이미지를 받아오는 과정에서 버전충돌 문제가 생긴 것 같아 mariaDB 버전을 다운그레이드하니 문제가 해결되었다. $ docker pull mariadb:버..

기타 2023.08.30

[메타코딩] 1강. 스프링 프레임워크란?

- 스프링의 특징 스프링은 프레임워크이다. 스프링은 오픈소스이다. 스프링은 IOC 컨테이너를 지닌다. 스프링은 DI를 지원한다. FrameWork란? : Frame(틀, 정해진 규약) + Work(일,작업) : 정해진 틀 안에서 개발을 진행하도록 만들어주는 구조화된 틀 IOC(Inversion Of Control)란? : class(설계도), object(실체화가 가능한 것), instance(실체화가 된 것) ex> 가구는 추상적인 의미이므로, object가 될 수 없다. 의자나 침대는 추상적인 의미가 아니므로, object 이다. 의자나 침대가 실생활에 만들어져 이용되는 경우를 instance 라고 한다. : 아래와 같이 의자 object를 생성하고 있다고 생각해보자. object가 생성되는 순간 힙..

Spring 2023.08.30

[코딩 컨벤션]가이드 사이트 모음

- 코딩 컨벤션이란? 코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 코딩 스타일 규약을 의미한다. 1. 네이버 캠퍼스 핵데이 java 코딩 컨벤션 https://naver.github.io/hackday-conventions-java/ 캠퍼스 핵데이 Java 코딩 컨벤션 중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호 naver.github.io 2.구글 Style guide https://google.github.io/styleguide/ Google Style Guides Style guides for Google-originated o..

기타 2023.08.29

[톰캣에서 JVM 힙 메모리 크기 조절하기]

톰캣 서버 구동 중 로그에서Java.lang.OutOfMemoryError: Java heap Space Heap size errorJava.lang.OutOfMemoryError: Permgen space PermGen space error 에러가 발생하는 경우, java 메모리 용량을 조절해 줄  필요가 있다. 1. 톰캣의 catalina.sh 파일을 찾아 열어준다.(/bin/catalina.sh)2. 아래 명령어를 이용해 힙 메모리 최소 용량과 최대 용량값을 조절해준다.export CATALINA_OPTS="-Xms512m -Xmx512m"

Java 2023.08.28

[JDK, JRE, JVM]

JDK(Java Development Kit): JAVA 개발에 필요한 tool들을 모아놓은 소프트웨어 개발 키트(SDK) JRE(Java Runtime Environment) : JVM과 자바 프로그램을 실행시킬 때 필요한 라이브러리 및 API를 함께 묶어서 배포되는 패키지 JVM(Java Virtual Machine): 자바파일을 돌려주는 자바가상머신 : JAVA를 이용해 특정 프로젝트를 만들고, 코드를 실행시켜 확인한다는 의미는 다음과 같이 생각해 볼 수 있다. JAVA를 이용하기 위해 알맞은 버전의 JDK를 다운받아 프로젝트 실행환경을 구성해준다. 사람이 알아볼 수 있는 언어로 JAVA 코드를 작성하고, 배포를 실행하면 JDK의 javac와 같은 라이브러리 파일들이 코드를 컴파일해주고, .clas..

Java 2023.08.28