IT/개발(자바, 서블릿, 스프링 등)
-
[React] 리액트 애플리케이션에서 이미지 경로 정리IT/개발(자바, 서블릿, 스프링 등) 2021. 9. 8. 18:39
이미지 경로를 작성할 때 src폴더 안에 있는 이미지들을 사용할 땐 언제나 ./ 이게 현재경로다. src 폴더에 있는 파일들은 리액트 앱을 발행했을 때 저절로 압축이 되고 파일명이 변경된다. public 폴더에 있는 파일은 리액트 앱을 발행했을 때 사이트 루트경로에 그대로 남아있는다. 그래서 / 이렇게 경로를 입력해도 잘 동작한다. 그래서 public 폴더에 있는 이미지들은 이렇게 써도 첨부가능하다. (하지만 리액트 17버전 이상에선 public 폴더안에 있는 이미지를 CSS파일에서는 /image.jpg 이렇게 첨부할 수 없으므로, CSS파일에 작성할 이미지들은 src폴더 쓰고 ./ 이렇게 접근하는 게 좋다.)
-
[React] create-react-app으로 쉽게 리액트 프로젝트 시작하기IT/개발(자바, 서블릿, 스프링 등) 2021. 9. 6. 18:13
리액트/JSX 컴파일 환경을 구축할 때 "create-react-app"이라는 애플리케이션을 사용한다. 이는 리액트를 개발한 페이스북에서 제공하는 애플리케이션이다. 이 애플리케이션을 사용하면 간단하게 리액트 개발 환경을 구축할 수 있다. ceate-react-app 설치하기 $ npm install -g ceate-react-app * -g 옵션 : 전역 모듈로 설치하여 어떤 디렉터리에서든 사용 가능하다. hello라는 이름의 리액트 애플리케이션 만들고 실행하기 $ create-react-app hello $ cd hello $ npm start ceate-react-app으로 만들어진 리액트 애플리케이션 디렉터리 구조 + ... 설치한 Node.js의 모듈이 들어있는 디렉터리 + ... 프로그램의 컴파..
-
[Java] 자바의 타임존 이야기IT/개발(자바, 서블릿, 스프링 등) 2020. 4. 3. 17:46
각 나라마다 혹은 도시마다 시간이 다르다. GMT(Greenwich Mean Time)는 경도 0도에 위치한 영국 그리니치 천문대를 기준으로 하는 태양 시간을 의미한다.1925년 2월 5일부터 1972년 1월 1일까지 세계 표준시로 사용되었다. UTC는 지구 자전주기 흐름이 늦어지고 있는 문제를 해결하기 위해 다시 지정된 시간대이다.더 정확한 시간측정을 위해 GMT를 대체하여 1972년 1월 1일부터 세계 표준시로 사용되고 있다. 우리나라의 타임존은 UTC+09:00와 같은 오프셋으로 표현된다.UTC 기준시보다 +9시간 차이가 난다는 의미이다.예를들어, UTC가 낮 12시라면 우리나라 시간으로는 오후 9시라는 뜻이다. 보통 국가나 도시는 자신들의 타임존에 이름을 부여하는데, 우리나라의 타임존은 KST(K..
-
[Java] 기본 입출력 작업IT/개발(자바, 서블릿, 스프링 등) 2020. 1. 30. 00:41
파일 입력 FileInputStream과 FileReader는 생성자의 매개변수로 전달받은 파일로부터 데이터를 읽어오는 입력스트림 역할을 한다. 파일에서 데이터를 읽어오는 메서드 int read(): 한 글자 읽어 정수로 반환 int read(byte[] b): 매개변수로 전달받은 바이트 배열의 개수만큼 읽은 후 b 배열에 저장 int read(byte[] b, int off, int len): len 개수만큼 읽은 후 b 배열의 off 번지부터 저장 파일 출력 파일로 데이터를 출력하는 기능을 가진 객체는 FileOutputStream과 FileWriter다. 생성자의 매개변수로 전달받은 파일에 데이터를 출력하는 출력스트림 역할을 한다. 예시 fi.read()는 fi 입력스트림에 연결된 a.txt 파일에..
-
[Java] 입출력 개요IT/개발(자바, 서블릿, 스프링 등) 2020. 1. 29. 21:54
외부 데이터란 프로그램 외부에 존재하는 모든 데이터를 의미한다. 하드디스크상에 있는 파일이 될 수 있고 네트워크상에 존재하는 자원이 될 수도 있고, 메모리에 있는 자원이 될 수도 있습니다. 외부 데이터 타입이 무엇이든 자바는 외부 데이터를 읽거나 쓰기 작업 할 때 동일하게 처리한다. 자바에서 프로그램과 외부 데이터가 연결되는 길을 스트림(stream)이라고 부른다. 입력스트림과 출력스트림으로 분류하는 이유는 스트림이 단방향이기 때문이다. 데이터를 읽거나 출력하는 기능 중 하나만 처리할 수 있다. 입출력 API Java SE API 중에서 java.io 패키지는 외부 데이터를 읽거나 외부로 데이터를 출력하는 기능을 가진 객체들이 있다. java.io 패키지의 객체 이름을 살펴보면 ~InputStream 또..
-
[Java] 컬렉션 Set 계열IT/개발(자바, 서블릿, 스프링 등) 2020. 1. 28. 09:13
Set 계열 Set은 List와 다르게 저장되는 데이터 순서가 의미가 없다. Set은 해시코드라는 개념을 사용하여 데이터를 저장하므로 데이터가 저장된 순서를 알 수 없다. 또한 저장되는 데이터의 해시코드는 데이터를 구분하는 값으로 사용되므로 중복될 수 없다. 기본적으로 해시코드는 Object 클래스의 hashCode() 메서드에서 반환하는 값을 사용한다. Set의 가장 큰 장점은 해시코드를 사용하여 데이터를 처리하므로 컬렉션 중에서 가장 빠르게 검색한다. HashSet 클래스 HashSet 클래스의 역할을 설명할 때 좋은 예가 바로 로또다. 로또는 1부터 45까지의 숫자 중 6개의 숫자를 추첨하는 방식으로 진행한다. 다음은 5개의 로또를 구매한 전표다. 로또 번호를 자동으로 추출하는 프로그램은 숫자 6개..
-
[Java] 컬렉션 Map 계열IT/개발(자바, 서블릿, 스프링 등) 2020. 1. 28. 02:14
Map 계열 List의 특징은 데이터가 추가되는 순서대로 메모리에 저장되며 저장될 때마다 인덱스 또는 위치 정보가 부여되어 저장된 데이터들의 순서를 알 수 있다. 그런데 Map은 위치 정보(인덱스나 다른 데이터의주소)를 가지지 않는다는 것은 데이터들이 저장된 순서를 보장하지 않는다는 의미다. 데이터가 Key와 Value로 구성되어 있다. Key 값은 데이터에 접근할 때 사용하는 정보다. Map의 장점은 데이터의 검색 속도가 빠르다. 키를 사용하여 데이터를 처리하므로 중복된 키가 존재할 수 없다. API 문서의 리턴 타입과 매개변수에 사용된 K와 V는 Map 생성 시 제네릭으로 선언된 키의 타입과 밸류 타입을 의미한다. Entry 인터페이스 Entry는 Map 인터페이스에 선언된 내부 인터페이스다. 내부 ..