2022.10.25 - [프로그래밍 언어/Java] - [Java] API_ java.util (arrays - search, date, calendar, random) → 이어서 추가적인 설명과 연습과제 진행해보았다. Date Calendar가 새로 추가되면서 Date의 메서드가 'deprecated' 되었으므로 잘 사용하지 않음 그럼에도 Date를 필요로 하는 메서드가 있으므로 변환 방법 알기 Date ↔ Calendar package dateAndCalendarTest; import java.util.Calendar; import java.util.Date; public class DateCalendarChange { public static void main(String[] args) { //1...
- 로그 파일은 문자열이 기록된 파일이므로 Character Stream 사용 - 읽을 때 네이티브 메소드 호출 횟수를 줄이기 위해 버퍼 사용하는 것이 좋음 - BufferedReader 이용 '-' 는 0임 split 사용해서 공백 뒤의 자리 더하기 각각이 몇번 접속했는지 확인 똑같은 아이피가 나오면 count Map은 똑같은게 있으면 덮는게 아님 있으면 1, 또 있으면 1에 추가 마지막으로 sort (내림차순) 조건 로그 파일 읽기 하나의 ip가 몇 번 접속했는지 확인 가장 많이 접속한 ip부터 순차 출력 과정 1. BufferedReader 객체 생성 package logTest; import java.io.BufferedReader; import java.io.FileReader; import j..
DATE_FORMAT date 타입을 원하는 형식의 문자열로 변환할 수 있는 함수 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS DATE FROM DUAL; Date and Time Format Specifiers 문서 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format Specifier Description %a Abbreviated weekday name (Sun..Sat) %b Abbreviated month name (Jan..Dec) %c Month, numeric (0..12) %D Day of the month with English suffix (0th, 1..
Priority Queue큐의 구조인 FIFO를 가지면서 데이터가 들어온 순서로 나가는 것이 아닌,우선 순위를 먼저 결정해서 그 우선 순위가 높은 데이터가 먼저 나가는 자료구조내부 요소는 힙으로 구성되어 이진트리 구조로 이루어짐시간 복잡도는 O(NlogN)선언, 사용import java.util.PriorityQueue;import java.util.Collections;//낮은 숫자 기준인 우선순위 큐, 오름차순PriorityQueue priorityQueueLow = new PriorityQueue();//높은 숫자 기준인 우선순위 큐, 내림차순PriorityQueue priorityQueueHigh = new PriorityQueue(Collections.reverseOrder());//String..
Enum 관련된 상수들을 묶어 놓은 것 java에서는 타입이 안전한 열거형을 제공 - 컴파일 시간에 타입 체크를 받으므로, 이는 런타임 시에 발생하는 오류를 줄여줌 정의, 사용 enum 열거형이름 { 상수명1, 상수명2, ... } enum Direction { EAST, SOUTH, WEST, NORTH } class Unit { int x, y; //유닛의 위치 Direction dir; //열거형을 인스턴스 변수로 선언 void unit { dir = Direction.EAST; //유닛의 방향을 EAST로 초기화 } } switch ~ case 사용 public enum Direction { BASKETBALL, SOCCER, BASEBALL, TENNIS, SWIMMING, MARATHON } ..
Database cheat sheet https://cheatography.com/tag/database/ 55 Database Cheat Sheets - Cheatography.com: Cheat Sheets For Every Occasion 55 Database Cheat Sheets Related tags: SQL Development Data Server MySQL cheatography.com limit 몇 개의 행을 반환할 것인지 제한하는 구문 MySQL, postgreSQL 사용 가능 select 컬럼명 from 테이블명 limit 개수; select 컬럼명 from 테이블명 limit offset, 개수; --offset은 0부터 시작 distinct 중복제거 하는 구문 MySQL, Ora..
진법 변환 진수는 8비트 기준으로 1, 2, 4, 8, 16 ... 배수로 나타냄 2진수: 11011000 = 1 + 2 + 8 + 16 = 27 16진수: 2진수에서 4개를 묶어서 읽기, 0 ~ 9 ABCdef 로 표현 00000110 = 2 + 4 = 06 10진수 숫자 2진수 0B 붙임 8진수 0 붙임 16진수 0x 붙임 10진수 ▶ n진수 //1. 10진법 ▶ 3진법 String a = ""; //값을 더해주려고 while(n > 0) { //n이 0보다 클때까지 반복 a = (n % 3) + a; //문자열 앞에 3으로 나눴을때 나머지를 더해줌 n /= 3; //반복하기 위해 n을 3으로 나눠줌 } //2. Integer.toString(문자열, 진법) 사용 a = Integer.toString..
Procedure (프로시저) 일련의 작업들을 하나로 묶어서 저장해 두었다가 호출하여 실행하게 하는 것 생성한 저장 프로시저는 여러 번 반복해서 호출, 사용 가능 저장 - 실행 - 제거 create (or replace) procedure 프로시저 이름 is 변수의 선언 begin PLSQL 구문 --insert, select, update, delete 등 end; or replace: 이미 같은 이름으로 저장 프로시저를 생성할 경우 기존 프로시저는 삭제하고 재생성 옵션으로 생략해도 되지만 붙여주는게 관례 --프로시저 실행 execute 프로시저 이름; -- 프로시저 제거 drop procedure 프로시저 이름; 프로시저 변수 + 내용 추가 프로시저 생성시 매개변수를 선언할 수 있는데 in, out,..
권한 특정 SQL 문장을 실행하기 위한 권리 계정은 권한별로 나누어져 있음 데이터베이스 관리자(DBA): 데이터베이스와 그 객체에 대한 액세스를 사용자에게 부여하는 능력을 갖춘 상급 사용자 DBA 권한: 모든 명령어 다 실행되기 때문에 새성하거나 중요한 작업할 때만 쓰기 시스템 권한 승인 작업 create user 다른 오라클 사용자 생성을 피수여자에게 허용 (DBA 역할을 위해 필요한 권한) drop user 다른 사용자 제거 drop any table 임의의 스키마에서 테이블 제거 backup any table export 유틸리티로 임의의 스키마에서 임의의 테이블 백업 실습용 계정 생성 사용자 생성 create user 사용자이름(아이디) IDENTIFIED by 비밀번호; create user C..
시퀀스 Sequence 순차적으로 증가하는 값 - PK에 많이 사용 (구분하는 기본 키 값을 생성하기 위해 사용) 배열에 반복적으로 값을 넣는 것과 같은 용도 시퀀스 번호는 테이블과 관계없이 생성되고 저장되기 때문에 동일한 시퀀스는 여러 테이블에서 사용 가능 시퀀스가 테이블에서 사용되고 있다면 drop 하면 안됨 1. 생성 -- 기본값으로 생성 create sequence depts_seq(테이블이름) nocache; increment - 증가값 양수면 증가, 음수면 감소 (default 1) 2. 확인 -- 시퀀스 확인 select * from user_sequences; 3. 사용 Nextval 다음 사용 가능한 시퀀스 값 한 번 전진하면 alter로 조절하지 않는 이상 후진 x Currval 현재 ..