본문 바로가기
반응형

tech documents64

[Intellij] java 프로젝트에 .jar 파일 추가 1. intellij로 java project를 만들어 사용중인데, External libraries에 .jar 파일이 추가가 되지 않았다. 프로젝트에 추가하고자 하는 .jar 파일은 프로젝트의 디렉터리 상, web/WEB-INF/lib 라는 디렉터리에 존재하였다. 보통대로라면, File - Project Structure 의 Modules의 탭에서 추가를 하였지만, 이번에는 그렇게 하여도, External Libraries에 추가가되지 않았다. 결론적으로 이유는 다음과 같다. '같은 프로젝트에 위치한 .jar 파일'이라서 External Libraries가 아닌 것이었다. 실제로 Modules 탭을 통해 추가하고나면, jar 파일의 내부 파일들을 볼 수 있게 되었다. 2020. 8. 7.
[Intellij] java 프로젝트에 외부 라이브러리 추가하는 법 1. intellij 로 java 웹을 공부하는데, 아직 초보라 maven, gradle 이런건 모르고 그냥 생 프로젝트를 만들어서 공부하는 중이다. 서블릿을 공부하는데, 서블릿 모듈들을 추가하기 위해서는 아래와 같이 하면 된다. 2. File - Project Structure 의 Module 탭 클릭 위는 이미 두개의 jar를 추가해 놓은 상태이다. 여기서 오른쪽에 + 버튼을 클릭한 다음 1번을 눌러준다. 그럼 아래와 같이 디렉터리를 선택하는 화면이 나온다. 여기서 톰캣을 설치한 폴더에가서 필요한 jar파일을 추가하면 된다. 3. 추가한 jar파일을 눌러보면 디렉터리가 jakarta.servlet 이런 이름으로 되어있다. 따라서 임포트 할때는 import jakarta.servlet.ServletEx.. 2020. 8. 4.
Cloneable interface 1. Object의 clone()을 overriding 하기 위해서는 implements Cloneable을 꼭 붙여주어야 한다. 아래와 같이 말이다. class Student implements Cloneable{ String name; Student(String name){ this.name = name; } protected Object clone() throws CloneNotSupportedException{ return super.clone(); } } implements Cloneable을 하지 않으면, CloneNotSupportedException이 발생한다. 단순히 Object 클래스에서 clone 메서드가 정의되어 있어서, 단순히 override만 시키면 문제가 발생한다. 2020. 7. 31.
gatsby build 이후 gatsby serve시 index(root)가 로드 되지 않는 오류 1. 일단 정말 싸발적이다. 이것 때문에 한 한시간 동안은 고민을 하였다.. 일단 gatsby develop을 통해 렌더링한 페이지는 모든 라우트가 정상적으로 작동하였다. 그러나 문제는 여기서 발생한다. gatsby 프로젝트 폴더를 gatsby build하고 gatsby serve를 통해 localhost:9000 에서 실행해보면 / 루트 라우트가 정상적으로 렌더링 되지 않는다. 아래 사진과 같이 말이다. 말도 안나오는 오류이다. gatsby new 로 새 프로젝트를 생성하고 파일들만 옮겨서 똑같이해봐도 똑같은 오류가 발생한다. 크롬에서도 같은 오류가 발생했다. 2. 구글링도 해봤지만 답은 나오지 않았다. 그래서 결국 콘솔의 오류를 눌러보았다. 오류가 발생하는 파일에서는 "Amazing Pandas Ea.. 2020. 7. 31.
[Java] Interface 1. a. 하나의 클래스가 여러개의 인터페이스를 구현할 수 있다. (implements) class example implements I1, I2 { } b. 인터페이스도 상속이 가능하다. interface I2 extends I1{ } c. 인터페이스의 멤버는 반드시 public 이다. 2020. 7. 30.
[Java] 접근제어자 1. public protected default private 같은 패키지, 같은 클래스 허용 허용 허용 허용 같은 패키지, 상속 관계 허용 허용 허용 불용 같은 패키지, 상속 관계 아님 허용 허용 허용 불용 다른 패키지, 상속 관계 허용 허용 불용 불용 다른 패키지, 상속 관계 아님 허용 불용 불용 불용 출처 : 생활코딩 opentutorials.org/course/1223/6061 접근 제어자 - 생활코딩 자유와 규제 프로그래밍 도구의 기본적인 목표는 생각하는 것을 자유롭게 표현할 수 있도록 하는 것이다. 하지만 자유만으로는 부족하다. 프로그래밍은 작은 것에서 거대한 것, 단순한 것에서 � opentutorials.org 2020. 7. 30.
[Java] new 사용시 값 초기화 1. 배열 초기화 시 아래와 같은 방법으로 초기화가 가능하다. public class Working { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4}; for(int e: arr){ System.out.println(e); } } } 2020. 7. 29.
클래스 내에 정의된 main 메서드 1. 자바를 처음 공부하기 시작했다. 시작하고 가장 먼저 마주 한 것은 바로 class 내에 main method가 존재한다는 점이었다. 객체지향이라 그런지, Java 프로그램의 시작점도 class 내에 속해 있는 듯하다. 그러다 궁금해 졌는데, main 메서드 내에서 main 메서드가 속한 클래스의 인스턴트를 만들어서 main method를 실행시키면 어떨지에 관한 것이다. 아래와 같이 코드를 작성하여 실행해보았다. public class Working { public static void main(String[] args) { System.out.println("This is main method"); Working w =new Working(); w.main(new String[4]); } } 2... 2020. 7. 29.
[Java] 생성자 1. package org.opentutorials.javatutorials.Inheritance.example4; public class ConstructorDemo { public ConstructorDemo(int param1) {} public static void main(String[] args) { ConstructorDemo c = new ConstructorDemo(); } } 이 경우 매개변수가 '있는' 생성자를 정의 하였기 때문에, 자동으로 기본 생성자(매개변수가 없는 생성자)가 정의되지 않는다. 따라서 아래와 같이 기본 생성자도 정의해 주어야 한다. package org.opentutorials.javatutorials.Inheritance.example4; public class .. 2020. 7. 29.
[Java] 클래스 1. 인스턴스 메소드는 클래스 맴버에 접근 할 수 있다. 2. 클래스 메소드는 인스턴스 맴버에 접근 할 수 없다. - 인스턴스 변수는 인스턴스가 만들어지면서 생성되는데, 클래스 메소드는 인스턴스가 생성되기 전에 만들어지기 때문에 클래스 메소드가 인스턴스 맴버에 접근하는 것은 존재하지 않는 인스턴스 변수에 접근하는 것과 같다. 2020. 7. 29.
반응형