🚀 from error to study

    [Oracle] DML(SELECE)_GROUP BY 연습문제

    ----- KH 계정 SELECT 기본 연습문제 ----- 1. EMPLOYEE테이블의 고용일, 사원 이름, 월급 조회 SELECT HIRE_DATE , EMP_NAME , SALARY FROM EMPLOYEE; 2. EMPLOYEE테이블에서 SAL_LEVEL이 S1인 사원의 이름, 월급, 고용일, 연락처 조회 SELECT EMP_NAME , SALARY , HIRE_DATE , PHONE FROM EMPLOYEE WHERE SAL_LEVEL = 'S1'; 3. EMPLOYEE테이블에서 이름, 연봉, 총수령액(보너스포함), 실수령액(총수령액 - (연봉 * 세금 3%)) 조회 SELECT EMP_NAME , SALARY * 12 "연봉" , (SALARY + (SALARY * NVL(BONUS, 0))) ..

    [Mac_Oracle] 맥북 M1 도커, 오라클(11g XE), Dbeaver 깔고 SQL developer 실행하기

    학원 강사님께서 아래 출처 링크를 주셨음 해당 방법으로 colima, 도커 엔진, 오라클(11g XE 버전), Dbeaver를 깔았음 더보기 https://shanepark.tistory.com/400 [MacOS] M1 맥북 도커로 ORACLE DB 실행하기 Intro M1 맥북을 구입 한 이후로 약 1년 반동안, 오라클 데이터베이스를 띄우기 위해 참 많은 노력을 했습니다. 많은 고민과 시도 끝에 결국 오라클 클라우드에 DB를 띄워놓고 사용하는 방법 으로 shanepark.tistory.com 구글을 아무리 뒤져도 M1으로 SQL developer를 제대로 깐 사람을 찾기 힘들었는데 위의 출처 글을 통해 Dbeaver까지 깔고 난 후에 SQL developer MacOS 버전 다운받았고, 계정 생성 및..

    [실습문제 / for문] 입력받은 문자열이 배열의 값과 일치할 때, 일치하지 않을 때를 나누어 1번만 출력하는 법

    [문제] 사용자가 입력한 값이 배열에 있는지 검색하여 있으면 “OOO 치킨 배달 가능“, 없으면 “OOO 치킨은 없는 메뉴입니다“를 출력하세요. 단, 치킨 메뉴가 들어가있는 배열은 본인 스스로 정하세요. ex. 치킨 이름을 입력하세요 : 양념 치킨 이름을 입력하세요 : 불닭 양념치킨 배달 가능 불닭치킨은 없는 메뉴입니다. public void practice9() { // 치킨 이름 입력받기 System.out.print("치킨 이름을 입력하세요: "); String name = sc.nextLine(); // 치킨 메뉴가 들어가 있는 배열 설정(문제에서 스스로 "값을 넣어둔 배열"을 만들어 놓으라고 함) String menu = "후라이드,양념,순살,슈프림양념"; String[] menuArr = me..

    [문법] .length, .length()의 차이

    형태 길이를 반환하는 데이터 타입 .length 배열 .length() 문자열(String Object) => 즉, 배열의 길이를 알고 싶을 때는 arr.length 문자열의 길이를 알고 싶을 때는 str.length()와 같이 사용함

    [정리] 네트워크(Network)

    *네트워크: 여러 대의 컴퓨터들이 연결되어 있는 통신망 => 네트워크를 통해 서로 데이터 교환 가능 IP포트: 컴퓨터의 주민번호, 같은 네트워크 내에서 중복 불가 port번호: 컴퓨터 안에서 작동하는 프로그램의 번호, 같은 컴퓨터 내에서 중복 불가 서버: 클라이언트에게 서비스를 제공하는 pc 또는 프로그램 => 클라이언트의 요청을 처리해서 응답하는 역할이므로 요청이 들어오기 전까지 항상 대기 상태 유지 클라이언트: 서버에 요청하는 pc 또는 프로그램 => 서버에 요청하기 위해 서버의 IP주소, port번호를 알고 있어야 함 InetAddress 클래스: 네트워크 정보(IP주소 관련)를 확인할 수 있는 클래스 localhost: 지역호스트를 뜻하며, 내 PC를 지칭 .getLocalHost() 메소드: 내..

    [문법] 향상된 for문

    for( 값을받아줄수있는변수선언문 : 순차적으로접근할배열또는컬렉션명) { 실행할코드; } => 값을 받아 줄 수 있는 변수 선언문: 향상된 for문 안에서 사용할 변수를 새로 생성한다고 생각하면 됨 => 순차적으로 접근할 배열 또는 컬렉션명: 새로 만든 변수에 반복을 돌릴 (이미 존재하는) 배열명을 기재 for(향상된 for문 안에서 쓸 자료형 변수명 : 반복을 돌릴 기존에 존재하는 배열명) { 실행할코드; } => 쉽게 생각해서 이렇게 사용하면 됨! int[] arr = new int[3]; arr[0] = 1; arr[1] = 2; arr[2] = 3; 일반 for문 사용 for( int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } // ..

    [정리] IO(입출력)

    IO(Input & Output: 입출력) 항상 기준은 프로그램임! 외부 매체는 파일, 모니터, 스피커 등이 있으나 일단 제일 간단하게 실습은 "파일"로 진행 (기준) 프로그램 ===> 파일 프로그램 입력(XXXInputStream) / 출력(XXXOutputStream) 문자스트림: 한 번에 2byte짜리가 이동할 수 있는 넓은 통로 => 입력(XXXReader) / 출력(XXXWriter) - 외부 매체와의 직접적인 연결 여부 기반스트림: 외부 매체와 직접적으로 연결되는 통로 보조스트림: 기반스트림만으로 부족한 성능을 향상시켜 주는 용도의 스트림(보조스트림은 기반스트림 없이는 쓸 수 없음) - 하기 예시는 바이트스트림이며, 문자 스트림 사용 시 FileOutputStream메소드 대신 FileWrit..

    [정리] API, 예외 처리(Exception)

    *API: Application Programming Interface(애플리케이션 프로그램 인터페이스) => 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 == java.lang.Math : 모든 필드가 상수 필드이며, 모든 메소드가 static 메소드이기 때문에(== 싱글톤 패턴) 객체를 생성해서 불러올 필요가 없음 : 생성자도 private이기 때문에 생성 구문 자체를 사용하지 않음 static: 프로그램 시작과 동시에 메모리 영역에 올려두고 공유하며 재사용하는 개념 1. 파이: Math.PI => 상수 필드로 정의되어 있기 때문에 값을 넣거나 지정할 수 없음 2. 올림: Math.ceil(double) 3. 반올림: Math.round(double) 4. 버림: Math.floor(doubl..

    [정리] 상속과 다형성, 오버라이딩, 추상클래스, 인터페이스

    *상속 다른 클래스가 가지고 있는 필드, 메소드들을 새로 작성할 클래스에서 직접 만들지 않고 이미 만들어진 클래스에서 "상속" 받음으로써 자신의 필드, 자신의 메소드처럼 사용 가능한 개념 => 즉, 코드를 물려받겠다는 뜻 - 보다 적은 양의 코드로 새로운 클래스 작성 가능 - 중복된 코드를 공통적으로 관리하기 때문에 새로운 코드 추가, 수정 등에 용이하며 생산성과 유지보수에 큰 기여를 함 매 클래스마다 중복된 코드들을 일일이 기술하면 수정과 같은 유지보수 시 매번 일일이 찾아서 수정해야 한다는 번거로움이 생김 => "상속"이라는 개념을 적용시켜 매 클래스마다 중복된 필드, 중복된 메소드들을 단 한 번만 또 다른 클래스에 정의해 두고 해당 클래스를 가져다 쓰는 방식으로 진행 가능함 => 생성자는 물려받을 ..

    [github] 깃허브 컴퓨터별 잔디 안 심어지는 오류

    [error 내용] 사진과 같이 분명히! commit & push를 했음에도 잔디가 심어지지 않는 오류 발생 집 컴퓨터로 커밋, 푸시 했을 때는 잔디 잘 심어짐 학원 컴퓨터로 커밋, 푸시 했을 때는 잔디가 안 심어짐 학원 다니면서 매일 커밋 앤 푸시를 하며 깃허브를 사용하던 나 주말은 그렇다 치고 평일에는 왜 잔디가 안 심어져 있을까 아니 이게 성실함의 척도라면서요 잃어버린 성실함 내 잔디 내놔 [error 해결 방법] 이클립스에 설정된 git email과 깃허브의 email이 달라서 그렇다 깃허브 설정과 이클립스 설정 확인 후 각각 등록된 이메일을 통일해서 맞춰 주면 됨! Settings - Emails - Primary email address 확인 후 save 여기 등록된 이메일과 이클립스에 등록된..