목록분류 전체보기 (220)
코딩마을방범대
File 클래스 파일 내용이 아닌, 파일 자체(껍데기)를 다룸 파일 스트림을 열기 전에 실제 파일에 대한 정보를 확인할 수 있고, 파일 자체를 삭제하거나 이름을 변경하는 등의 작업을 수행할 수 있음 File 생성자 new File(File parent, String child) : 상위 주소와 파일 이름(또는 디렉토리) new File(String pathname) : 상위 주소 new File(String parent, String child) : 상위 주소와 파일 이름(또는 디렉토리) new File(URI uri) : 파일의 uri 주소 File 메소드 1. 파일의 정보 메소드명 리턴값 기능 exists() boolean 파일이 실제 존재하는지 판단 isDirectory() boolean 디렉토리인..
#{} 쿼리문이 실행되면 아래와 같이 쿼리문에 ?가 생기며 파싱 #{}을 사용하는 경우 PreparedStatement를 생성 파싱된 쿼리문은 재활용(캐싱)되기 때문에 효율적 변수에 작은 따옴표(')를 자동으로 붙여 쿼리가 수행됨 SELECT name, email FROM user WHERE id = ? 단점 변수 양쪽에 따옴표가 붙기 때문에 value가 아닌 곳에선 사용 불가 (SQLSyntaxErrorException 발생) 예) 아래에선 "FROM user_'1'" 이런식으로 파싱되기 때문에 오류 발생함 SELECT name AS name FROM user_#{tableId} WHERE id = #{id} ${} 값이 넣어진 채로 쿼리문이 수행됨 (파라미터의 값이 바뀔 때마다 항상 쿼리문 파싱을 진..
로깅(Logging)이란? Log4j란? JAVA를 사용하여 Log를 남기는 도구 자바 기반의 로깅 유틸리티로 Apache에서 만든 오픈소스 라이브러리 log4j의 설정은 log4j.properties / log4j.xml 로 설정 Log 컴퓨터가 언제, 무슨 일을, 어떻게 했는지 남겨 놓은 기록 Log4j 구성 요소 요소 설명 Logger 출력할 메시지를 Appender에 전달 Appender 전달된 로그를 어디에 출력할지 결정(콘솔 출력, 파일 기록, DB 저장 등) Layout 로그를 어떤 형식으로 출력할지 결정 Appender 로그를 출력할 위치, 출력 형식 등을 지정 Appender태그는 Logger태그들보다 위에 있어야 함 요소 설명 ConsoleAppender org.apache.log4j...
Controller가 제대로 동작하지 않을 경우 확인해야하는 사항 1. 컨트롤러 클럐스의 최상단에 @Controller 어노테이션을 넣었는지 2. 컨트롤러가 메인 클래스(~Application.java)가 위치한 패키지 하위에 위치해있는지 메인 클래스에 붙어있는 @SpringBootApplication 어노테이션은 @Configuration, @EnableAutoConfiguration, @ComponentScan 3가지를 합친 것 @Configuration: 해당 클래스가 설정 파일임을 알려주는 용도 @EnableAutoConfiguration: 스프링의 다양한 설정이 자동으로 구성되고 완료됨 @ComponentScan: 자동으로 컴포넌트 클래스를 검색하여 컴포넌트와 빈 클래스를 Spring Appli..
APT를 이용해 tomcat을 설치한 경우 pwd: 현재 위치 확인 배포위치: /var/lib/tomcat9/webapps 1. 배포 위치로 war 파일 이동 $ sudo mv ./test.war /var/lib/tomcat9/webapps pwd: 현재 위치 확인 권한 부여 필요 $ sudo chown 계정명:계정명 폴더명 -R 2. user를 그룹에 추가하기 $ sudo usermod -aG tomcat 계정명 3. 재부팅 종료 1. fuser을 통해 pid번호 검색 $ sudo service tomcat9 stop $ sudo fuser -n tcp 포트번호 2. pid 번호를 이용해 프로세스 종료 $ sudo kill -9 pid번호 실행 $ sudo service tomcat9 start 4. ..
1. 우분투 서버 업데이트 $ sudo apt-get update 2. MySQL-Server 설치 $ sudo apt-get install mysql-server MySQL 기본 설정 방법 외부 접속 기능 설정 (포트 3306 오픈) $ sudo ufw allow mysql MySQL 실행 $ sudo systemctl start mysql Ubuntu 서버 재시작시 MySQL 자동 재시작 $ sudo systemctl enable mysql MySQL 접속 $ sudo /usr/bin/mysql -u root -p MySQL 비밀번호 변경 방법 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번'); MySQL 버전 확인 mysql> show v..
소켓(Socket)이란 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야 함 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해줌 프로토콜, IP, Port 3요소로 정의됨 일반적인 소켓 통신의 흐름 소켓 생성 서버 바인딩 (ip, port번호 설정) listen()으로 클라이언트 요청에 대기열을 만들어 몇개의 클라이언트를 대기시킬지 결정 accept()로 클라이언트와 연결 클라이언트 서버에 설정된 ip, port로 연결 시도 accept()로 클라이언트의 socket descriptor 반환 마지막. 데이터 송수신 후 소켓 닫기 소켓 종류 (1) 스트림 소켓 TCP(Transmission Control Protocol)을 사용하는..
참고 사이트 = tistory-AreYou준비 컴퓨터는 두 가지 상태(2진수의 0과 1)만 이해하고 사용할 수 있다. 2진수(binary) or 비트(Bit) 대개 1은 전원 on, 0은 전원 off 상태로 표현 컴퓨터에서 사용하는 가장 작은 데이터 단위 데이터를 처리, 저장, 전송 할 때 사용 바이트(Byte) 컴퓨터는 일반적으로 8개 단위의 비트(8bit)를 하나의 그룹으로 사용 1바이트는 8개의 on/off 상태를 조합하여 나타낼수 있는 수는 총 256 (2^8)가지 데이터 파일의 크기, 디스크 또는 그 외 저장 매체의 공간 1byte = 8bit = 1캐릭터(Character) 바이트코드 = 바이너리코드(컴퓨터 언어) 단위 바이트(B) 비트(b) 비트(bit) 1/8 바이트 1비트 바이트(Byte..