전체 글 212

[섹션2][Spring MVC에서의 Bean관리] 20~26강

20. RequestScope 브라우저에서 새로운 요청이 발생하면, 브라우저는 서버에 요청에 관련된 정보를 전송한다. 이를 받은 서버는 브라우저가 보낸 요청 정보들을 보관하기 위해 HttpServletRequest객체를 생성해 요청 정보들을 담아둔다.그 요청정보가 담겨있는 HttpServletRequest객체는 응답결과가 브라우저로 전송될 때까지 유지되며 사용이 가능하다.새로운 요청이 발생해 응답결과가 브라우저로 전달 될 때까지요청정보가 담겨있는 Request객체를 사용할 수 있는데, 이 사용 범위를 RequestScope라고 부른다. 이 HttpServletRequest객체는 서버개발자가 필요에 의해 데이터나 객체를 저장할 수 있고 RequestScope내에서 사용이 가능하다. 하나씩 살펴보자. 1. ..

[섹션1][Spring MVC의 다양한 기능들] 10~19강

10. URL Mapping Servlet / JSP URL 주소 - URL주소 : 사용자가 서버에 접속해서 서비스를 받기 위해 입력하는 주소 - URL주소 구성 : 프로토콜://도메인주소(IP)/포트번호/경로1/경로2/경로3/... - 프로토콜 : 서버와 클라이언트간의 통신을 위한 약속 (생략시 http) - 도메인주소(IP주소) : IP주소는 같은 네트워크 망에서 컴퓨터를 구분하기 위해 제공되는 숫자로 구성된 고유 주소. - 포트번호 : 1~65535 번까지 구성된 숫자. 컴퓨터 내에서 프로그램을 구분하기 위해 사용한다.(생략시 80) - 경로1/경로2/경로3..: 이 부분은 서버 혹은 개발 방식이나 분야에 따라 다르게 해석된다. Servlet/JSP에서 첫번째 경로는 Context Path라고 부른..

윤재성의 스프링 입문 강의 정리

04. 자바 프로젝트 만들기 원래 지금까지 하던대로 자바 프로젝트를 만들어 보자. ① 클래스가지고 객체를 먼저 생성하고, ② 해당 객체의 주소값을 참조변수에 넣어주고 , ③그 참조변수를 통해서 뭔가 작업을 하는 식으로 보통 개발을 한다. 그런데, 만약에 내가 만든 HelloWorldEn클래스를 HelloWorldKo클래스로 변경을 하고 싶다면 어떻게 해야 할까? 당연히, 객체를 만들었던 클래스명을 먼저 변경해주고, 객체 생성 코드 변경, 메서드에 매개변수로 넣어줄 데이터타입도 변경해야 한다. 자바프로젝트의 문제점. 밑줄 부분을 모두 수정 해야 한다. 지금까지는, 이렇게 무언가가 변경되었을때 수동으로 모두 수정을 해줘야 했다. 다루기에 매우 번거롭다는 불편함을 가지고 있고, 유지보수에도 어려움이 있었다. ..

[섹션0][Spring MVC 소개 및 프로젝트 세팅] 1~9강

1. Spring MVC 소개 서블릿API를 기반으로 만들어졌으며 스프링이 가지고 있는 다양한 기능들을 이용해서 웹 어플리케이션을 개발할 수 있도록 만들어진 웹 프레임워크이다. Spring MVC에는 웹 어플리케이션 개발을 위한 다양한 라이브러리가 포함되어 있다. 공식이름은 Spring Web MVC이지만 보통 Spring MVC라고 부른다. 본 과정은 스프링 프레임워크5버전으로 진행된다. SpringMVC 개발방식은 SpringFramework와 동일하게 xml을 이용한방법과 자바어노테이션을 이용한 방법을 사용한다. Servlet / JSP + Spring MVC Library 2. 설치할 프로그램 스프링MVC 프로젝트 자체가 자바언어 기반의 웹 어플리케이션을 개발하는 서블릿/JSP 프로젝트에, 스프링..

[섹션7][JDBC&MyBatis] 26강~29강 오라클 데이터베이스 설치/ SQL Developer설치/ Spring JDBC/ MyBatis

26. 오라클 데이터베이스 설치 현재 오라클사이트에서 11g버전의 database가 제공되지 않기때문에 윤재성선생님의 구글드라이브https://drive.google.com/drive/folders/1f11i7pkl2pOFnWARgHevupQsN-ry8sQL에서 다운을 받았다. setup.exe를 눌러 설치를 진행한다. 관리비밀번호는 1234로 했다. 이 창이 뜨면 우측 하단 비밀번호 관리 클릭 - SYS/ SYSTEM/ SCOTT 에 비밀번호 1234로 설정 cmd창에서 아래와같이 설치된 것 확인 27. SQL Devleoper설치 오라클 데이터베이스를 GUI환경에서 관리할 수 있도록 제공되는 도구이다. 깔끔한 환경으로 편리하게 사용가능하다. 오라클에서 다운로드 - sqldeveloper.exe 더블클..

[섹션6][AOP] 23강~25강 AOP/ execution명시자/ @AspectJ어노테이션

23. AOP 특정메소드를 호출할때, 그 메소드를 가로채가서 다른 메소드를 먼저 호출하거나 그 이후에 호출하게 만드는 것. 예를 들어, 특정 웹페이지 요청시 로그인 여부를 검사하게 하는것 등으로 활용한다. method1()메소드가 호출될때, AdvisorClass가 가지고 있는 beforeMethod를 호출해라.(method가 호출되기전에) 라는 뜻으로 아래와 같이 beans.xml에 작성해줄 수 있다. 24. execution 명시자 25. @AspectJ 어노테이션 사용하기 지금까지는 어드바이저 역할을 할 클래스를 만들었었다. xml에 설정해놓은 메소드를 찾아서 자동으로 호출을 했었다. 그런데 @AspectJ 를 활용하면 xml파일이 아닌 어드바이저역할을 할 클래스에 직접 세팅할 수 있다. 먼저 , ..

[섹션5][Component] 20강~22강 Component/Component Bean 기본설정/ Component 자동 주입

20. Component 빈클래스 자체에 등록하는것. 그동안은 xml 파일이나 자바파일에 빈을 등록한 후 사용을 했다. 그런데 @Component를 사용하면, xml파일이나 빈 컴피그파일(자바파일)에 빈을 등록하지 않아도 자동으로 등록이 된다. 빈 등록이라든지 빈에 관련된 여러가지 내용들을 xml이나 자바파일에 등록을 하게 되는데, xml을 이용하는 방식을 사용할때 Comoponent를 쓰게되면 아래와 같이 작성을 해야한다. "이 패키지들의 component를 다 읽어서 빈으로 등록해줘!" Bean Configuration 자바파일을 이용할때는 아래와 같이 작성해야 한다. 컴포넌트 스캔은 하나의 이름만 지정 가능하기 때문에, 여러이름을 지정하고 싶으면 xml파일이나 자바파일에 수동으로 등록해줘야 한다. ..

[섹션4][Annotation] 16강~19강 init, destroy 메서드/ 주입/ 어노테이션을 이용한 빈 설정/ JSR-250어노테이션

16. init, destroy 메서드 xml파일로 init, destroy메서드등록과 자바파일로 등록하는법 비교해보면 아래와 같다. 17. 주입 xml파일로 자동주입등록과 자바파일로 등록하는법 비교해보면 아래와 같다. 18. 어노테이션을 이용한 빈 설정 어차피 만들어질 빈클래스를 xml이나 자바파일에 설정하지말고, 해당 파일(TestBean1)에서 어노테이션으로 간편하게 설정해보자. 우선 아래와 같이 xml파일에 context 네임스페이스를 추가 해줘야 한다. 1) @Required 반드시 주입해야 할 프로퍼티가 있다면 @Required 를 붙여준다. 그러나 스프링 5.1 부터는 @Required를 붙여도 아무런 일이 일어나지 않는다. 반드시 주입해야 할 프로퍼티는 생성자를 통해 주입받는 것을 사용해야..

[섹션4][Annotation] 15강 Java코드를 활용한 Bean등록

15. 빈 등록 지금까지는 xml파일에 빈을 등록했었다. 이제부터는 자바파일에 빈 등록을 배워보자. xml으로 빈을 정의하는것과 자바파일로 빈을 정의하는 것을 비교해보자. 자바 파일은 @Configuration 을 붙여주며 시작한다. 자바파일이 xml파일 역할을 하는것이라고 명시해 주는 것이다. 자바파일로 빈을 정의할때는 , 메소드 형태로 빈을 만들어주는데, 이때 메소드 이름이 빈의 id값이 된다. 여기서는 java1이 id값이 된다. main클래스에서 불러올때 java1을 호출해 주는 것이다. 메인클래스 자바파일 호출하는 괄호안에 BeanConfigClass.class를 적으면 BeanConfigClass.java 파일에 세팅해놓은 @Bean 을 찾아서 , 아 여기에서 빈을 정의했구나 ! 판단하고 이 ..

[섹션3][DI] 14강 자동 주입

14. 자동 주입 지금까지 Bean을 정의할 때 주입할 객체는 생성자를 통한 주입이나 setter를 통한 주입을 사용했다. 스프링에서는 객체를 주입할 때 자동으로 주입될 수 있도록 설정할 수 있는데, 이름, 타입, 생성자를 통해 가능하며 이것을 auto wire라고 한다. 기본자료형(정수, 실수, 문자열)은 자동주입이 불가능하며 기존의 방식으로 주입해야 한다. 자동주입은 객체만 가능하다. 1) 이름을 통한 주입 xml파일에 id값을 지정해주면 , 변수에 바로 넣는게 아니고 setter메소드를 호출하여 주입해준다. 일반주입과 이름을 통한 자동주입을 비교해보자. 2) 타입을 통한 주입 타입을 통한 자동주입은 , 타입만 같으면 무조건 주입하기 때문에 id값은 생략 가능하다. 3) 생성자를 통한 주입 이렇게 x..

[섹션3][DI] 13강 컬렉션 주입

13. 컬렉션 주입 1) List 주입 String, Integer로 이루어진 List컬렉션을 주입해보자. 아래처럼 순으로 값 주기 이번에는 객체로 이루어진 List를 주입해보자. 객체 만들어서 주입 3줄 / 미리 만들어진 빈객체 주입 3줄 property - list - bean class / property - list - ref bean 순으로 작성! 2) Set 주입 set는 중복데이터를 저장하지 않는다. beans.xml에 같은 String, Integer데이터를 넣어도 중복값은 출력되지 않는다. scope를 프로토타입으로 설정해도, 주소가 다른 객체가 생성이 되는데 스프링은 객체의 주소가 달라도 id값이 같으면 중복으로 인지하여 중복값이 출력 되지 않도록 한다. 객체를 계속 생성하고 싶으면 6..

[섹션3][DI] 11~12강 생성자를 통한 주입/ Setter메서드를 통한 주입

11. 생성자를 통한 주입 의존성 주입(Dependency Injection) - Bean객체를 생성할 때 Bean객체가 관리할 값이나 객체를 주입하는 것 - Bean객체 생성후 Bean객체가 가질 기본값을 자바코드로 설정하는 것이 아닌 Bean을 정의하는 xml코드에서 정의하는것 먼저 매개변수가 1개인 자바코드와 생성자주입을 비교해보자. 일반 자바코드에서는 TestBean.java에 int data1를 매개변수로 갖는 생성자를 1개 생성한 후, MainClass.java에서 TestBean t2 = new TestBean(100); 으로 생성자를 호출했다. 생성자를 통한 주입은 TestBean.java에 int data1를 매개변수로 갖는 생성자를 1개 생성한 후(동일), beans.xml에 bean정..

[섹션2][IoC] 07~10강 IoC컨테이너/ 빈 객체 생성하기/ 빈 객체의 생명주기/ BeanPostProcessor

07. IoC 컨테이너 IoC(Inversion of Control, 제어 역전) 일반적으로 프로그래밍을 작성할 때 프로그램이 흘러가는 흐름이나 생성되는 객체에 대한 제어권을 개발자가 가지는 것과 달리 프레임워크가 가지는 것을 의미한다. 개발자가 직접 객체 생성에 관련된 코드를 작성하는 것이 아닌, 프레임워크가 사용하는 파일에 작성하면 이를 토대로 프레임워크가 객체를 생성하여 반환하고 코드가 동작하는 순서를 결정하게 된다. POJO Class(Plain Old Java Object) 자바 모델이나, 기능, 프레임워크 등에 따르지 않고 홀로 독립적이며 단순한 기능만을 가진 객체들을 의미한다. 자바에서는 이러한 객체들을 Bean이라고 부른다. POPO(PHP), POCO(닷넷 프레임워크), PODS(C++)..

[섹션1] 04~06강 자바 프로젝트 만들기/ 다형성 사용하기/ 스프링 프레임워크 사용하기

04. 자바 프로젝트 만들기 원래 지금까지 하던대로 자바 프로젝트를 만들어 보자. 평소대로라면, ① 클래스가지고 객체를 먼저 생성하고, ② 해당 객체의 주소값을 참조변수에 넣어주고 , ③그 참조변수를 통해서 뭔가 작업을 하는 식으로 보통 개발을 한다. package kr.co.softcampus.beans; public class HelloWorldEn { public void sayHello() { System.out.println("Hi~~~"); } } package kr.co.softcampus.main; import kr.co.softcampus.beans.HelloWorldEn; import kr.co.softcampus.beans.HelloWorldKo; public class MainCla..

ch.02 Spring MVC 09~12 관심사의 분리와 MVC패턴

09. 관심사의 분리와 MVC패턴 - 이론 OOP 5대설계원칙 - SOLID 1. SRP - 단일책임의 원칙 : 하나의 메서드는 하나의 책임(관심사)만 진다. 2~5번째는 나중에 배울 것이다. 관심사가 분리되지 않은 YoilTeller코드 앞에서 만들었던 YoilTeller코드를 보자. 크게 입력코드, 요일계산하는코드, 출력코드 이렇게 3부분으로 해야할 작업(관심사)이 나뉘어 있다! 그렇게되면 바로 위의 설계원칙인 SRP-단일책임의 원칙에 위배된다. 하나의 main메서드에서 3가지 작업을 하고 있다..!!! 어떻게 해결할 것인가? 객체지향적코딩을 하려면 코드의 분리를 잘 해야한다. 1) 관심사 분리 2) 변하는것, (자주)변하지않는것의 분리 3) 중복코드의 분리 공통 코드의 분리 - 입력의 분리 입력부분..

ch.02 Spring MVC 07~08 HTTP 요청과 응답, 텍스트와 바이너리, MIME, Base64

07. HTTP 요청과 응답 - 이론 HTTP란? Hyper Text Transfer Protocol. 하이퍼텍스트(html)를 전송하기위한 규칙. 세가지 특징이 있다. 1) 사람이 읽을 수 있는 텍스트 기반의 프로토콜이다. 2) 상태를 유지하지 않는다(stateless). 클라이언트 정보를 저장x -> 보완하기위해 쿠키 & 세션을 사용한다. 3) 확장가능하다 - 커스텀 헤더(header) 추가가능. 표준에 정해놓지 않은 헤더를 맘대로 추가 가능하다. HTTP 요청, 응답 메시지 우리는 단순히 URL을 입력할 뿐이지만, 브라우저가 알아서 요청메시지를 만들어준다. HTTP 메시지 - 응답메시지 HTTP 메시지 - 요청메시지(GET/ POST) 08. 텍스트와 바이너리, MIME, Base64 바이너리 파일..

ch.02 Spring MVC 05~06 클라이언트와 서버, 설정파일(server.xml, web.xml)

05. 클라이언트와 서버 서버의 포트 한대의 서버컴퓨터(IP주소 1개)안의 여러 서버 프로그램이 있을 때, 클라이언트가 요청을 했을때 원하는 서버를 찾기위해 포트번호도 추가로 적어줘야 한다. 웹서버는 기본적으로 80이고, 80은 생략 가능하다. 미리 서버가 포트에서 기다리고(Listening)있어야 클라이언트 요청과 잘 연결(binding)된다. 포트번호 0~1023번까지는 예약된 번호여서 사용불가, 총 65535개의 포트를 사용할 수 있다. WAS란? 웹 어플리케이션 서버(WAS) : 웹 어플리케이션을 서비스하는 서버. 서버에 프로그램을 설치해놓고, 클라이언트가 이 프로그램을 사용할수 있게 해준다. 프로그램을 클라이언트에 설치할수도 있지만, 서버에 설치하는 이유는 ? 예전에는 각 컴퓨터에 프로그램을 다..

ch.02 Spring MVC 03~04 HTTP 요청과 응답

03. HTTP 요청과 응답 - 실습 지금까지는 원격프로그램의 결과를 톰캣의 콘솔에 출력했었는데, 이번엔 톰캣이 아니라 브라우저에 출력을 해보자! 연월일을 입력시 요일을 알려주는 프로그램 (클래스 YoilTeller)을 만들어 보자. package com.spring.fastcampus.ch2; import java.util.Calendar; //연월일을 입력시 요일을 알려주는 프로그램 public class YoilTeller { public static void main(String[] args) { //1. 입력 String year = args[0]; String month = args[1]; String day = args[2]; int yyyy = Integer.parseInt(year); i..

Servlet(서블릿)에 대해 알아보자

서블릿을 알아보기 전에 WAS에 대해 먼저 알아보자. WAS가 뭐야? 기존 웹에서는 웹서버로 정적자원만 반환을 하다가, 점점 동적 웹에 대한 수요가 커져갔다. 그에 따라 DB에 접근하고, 다양한 로직처리를 통해 동적 자원을 만드는 뭔가가.. 필요해졌다! 그 뭔가..가 DB에서 받아온 데이터들을 요리조리 요리해 줄수 있었으면 좋겠어! 그것이 WAS이다...!!! DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server. HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)이다. “웹 컨테이너(Web Container)” 혹은 “서블릿 컨테이너(Servlet Container)”라고도 불린다. Container란 JSP,..

ch.02 Spring MVC 01~02 원격프로그램의 실행, AWS에 배포하기

01. 원격 프로그램의 실행 원격 프로그램을 실행시키려면 2가지가 필요하다. 브라우저와 WAS(톰캣)이다. 브라우저URL에 IP주소를 입력하면 WAS가 8080포트를 호출해서 프로그램을 실행시키는 것이다. 여기서 아무 프로그램이나 실행시킬수 없기때문에 두가지가 필요하다. 1. 프로그램 등록 (@Controller 어노테이션을 클래스 앞에 붙여준다.) 2. URL과 프로그램을 연결 (@RequestMapping 어노테이션을 호출하려는 메서드 앞에 붙여주고, URL키워드를 써준다.) 먼저, ch2 project를 만들어보자. src/main/java폴더 안에는 자동으로 HomeController.java파일이 들어가있다. 열어보면, 이렇게 필수 두가지 어노테이션이 잘 들어가 있다. package com.fa..

ch.01 Spring시작하기

01. Spring Framework는 무엇일까? 강의 내용 1. Spring Framework를 배울 준비 - 개발도구, 설치, 설정 2. Spring MVC - 웹의 기초, HTTP, TCP, IP 3. Spring DI 4. Spring AOP | Spring의 핵심 개념 5. MyBatis - DB 6. REST Api 7. Spring MVC로 웹사이트 만들어 보기 with AWS 수업자료 : https://github.com/castello/spring_basic 02. Spring 개발도구 소개 1. 자바개발도구 : JAVA 11 (Java 11부터는 Oracle JDK와 open JDK가 동일) - JDK 2가지 1) Oracle JDK (공식) 2) open JDK : IBM, RedHa..

[JQuery] 제이쿼리 자주 쓰는 함수 모음

제이쿼리(jQuery) 선택자 선택자명 설명 $("tag") tag라는 이름의 모든 태그 요소를 선택 $(".class") class라는 클래스명의 모든 클래스 요소를 선택 $("#id") id라는 아이디명의 아이디요소를 선택(한페이지에 1개만 가능) $("div li") div에 있는 li모두 선택 $("div > p") div의 p태그라는 직계자식을 선택 $(this) 현재선택중인 요소를 가리킴 ※ 선택자 태그 입력 시 홑따옴표(') 또는 쌍따옴표("") 모두 입력가능 $('') 또는 $("") 제이쿼리(jQuery) 메소드 모음 분류 메소드 설명 일반노드찾기 $(선택자).length 찾은개수 구하기 $(선택자).eq(index) n번째 노드 접근하기 $(선택자).get(index) $(선택자)[in..

[javascript] 자바스크립트 기본 문법 정리 (java와 비교하며 작성)

- 자바스크립트를 사용하기앞서, Visual Studio Code 와 Node.js 를 설치해준다! - Node.js 란 ? "Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser" Node.js를 정의하는 문장. 우리가 자바스크립트 언어의 문법에 맞게 코딩을 했을 때 컴퓨터가 이를 해석해서 처리할 수 있도록 해주는 일종의 전용번역기. 이 번역기가 이전에는 웹브라우저에만 있었지만, 우리 컴퓨터에 Node.js만 설치해주면 웹브라우저가 아닌 곳에서도 자바스크립트 코드를 실행하..

[프로그래머스] 스킬 체크 테스트 level1 - 나누어 떨어지는 숫자 배열

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 예시 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 코드 해석 및 전체 코드 1. 배열 길이를 구하기 2. 나누어 떨어지는 값이 없으면 배열 값 -1 반환 3. 구한 배열 길이 만큼 배열 선언 4. 나누어 떨어지는 값 배열에 저장 5. 정렬 class Solution { public int[] solution(int[] arr, int divis..

Back-end/Algorithm 2022.09.16

[spring] 스프링 웹 개발 기초

스프링 웹 개발에는 크게 3가지가 있다. 1. 정적컨텐츠 2. MVC와 템플릿엔진 3. API 1. 정적컨텐츠 - 서버에서 html파일을 그.대.로. 웹브라우저에 내려주는것이다. - 웹에서 로컬호스트 주소를 치면 -> 내장 톰캣서버가 먼저 요청을 받고 스프링에게 던짐 -> 스프링컨테이너 안에서 hello-static관련컨트롤러를 찾고 없으니까 -> resources안의 hello-static.html파일을 찾고 웹에 반환해준다!! 2. MVC와 템플릿엔진 - 서버에서 html파일을 변.형.해.서. 웹브라우저에 내려주는것이다. - 웹에서 로컬호스트 주소를 치면 -> 내장 톰캣서버가 먼저 요청을 받고 스프링에게 던짐-> 스프링컨테이너 안에서 관련컨트롤러를 찾았어! HelloController의 메서드에 매핑..

Back-end/Spring 2022.09.16

[MySQL] MySQL 문법 요약 - 섹션 2. MySQL 수정,삭제,관리

1. 데이터 베이스 및 테이블 생성 --1) 데이터베이스 만들기 // create database 이름 -- 생성된 데이터베이스는 use문을 이용하여 선택해야 한다. -- utf-8 인코딩 타입의 한글을 저장하려면 반드시 다음과 같이 캐릭터셋에 언어타입을 지정해준다. -- create database 이름 -- character set = 'utf8' -- collate = 'utf8_general_ci'; -- test_db 라는 데이터베이스를 생성하고 한글을 저장할수 있게 만드시오. create database test_db character set = 'utf8' collate = 'utf8_general_ci'; use test_db; -- 이렇게 선택해도 되고 더블클릭해도 됨 -- 2) 테이블 ..

DB/Database 2022.09.16

[MySQL] MySQL 문법 요약 - 섹션 1. MySQL select 쿼리문

1. 기본 정보 조회 -- 데이터베이스 조회하기. show database; 로그인한 계정으로 사용가능한 데이터베이스 목록이 조회됨 -- 데이터베이스 사용하기. use 데이터베이스명; 그냥 더블클릭 해도됨. use employees; -- 선택된 데이터베이스 내의 테이블을 조회함. show tables; -- 선택된 테이블 내의 컬럼들을 조회함. desc 테이블명; desc departments; 2. select 문 기본 및 연산자 -- 사원의 정보를 모두 가져온다. select * from employees; -- 산술 연산자 select 20 + 10; / select 20 - 10; / select 20 * 10; / select 20 / 10; -- 데이터에 산술연산하기 select salary..

DB/Database 2022.09.16

[MySQL] MySQL 기본 문법

-- 데이터베이스 조회하기. show database; 로그인한 계정으로 사용가능한 데이터베이스 목록이 조회됨 show databases; -- 데이터베이스 사용하기. use 데이터베이스명; 그냥 더블클릭 해도됨. use employees; -- 선택된 데이터베이스 내의 테이블을 조회함. show tables; show tables; -- 선택된 테이블 내의 컬럼들을 조회함. desc 테이블명; desc departments; desc dept_emp; desc dept_manager; desc employees; desc salaries; desc titles; // -- select 문 기본 -- 사원의 정보를 모두 가져온다. select * from employees; -- 부서 정보를 모두 가져온..

DB/Database 2022.09.16

[java] 사각형 클래스를 상속받아 객체지향구조 구현

문제) enum(Type)도 포함하여 클래스 총 5개 작성하여(Quadrangle, Rectangle, Square, Type, Quadrangle) 아래 처럼 구현하기. 정답) 1. Quadrangle 클래스 작성 (compareTo 메서드와, 같은사각형인지 비교하는 boolean isSameType메서드도 작성) Comparable을 상속받아서 넓이 비교하는 compareTo메서드를 오버라이딩하는게 핵심이다. 2. Quadrangle 클래스를 상속받은 Rectangle 클래스 작성 3. Quadrangle 클래스를 상속받은 Square 클래스 작성 4. enum 사용하여 Square, Rectangle 넣기 5. QuadrangleRunner 만들어서 실행 클래스 만들기 고찰) Quadrangle클래..

Back-end/Algorithm 2022.09.05