728x90

강의보기 >>  https://opentutorials.org/course/3885

1. 강의 소개

- 데이터 베이스 시스템

Graph, Document, Object, Hierarchical, key-value, Relational << 가장많이사용

Hierarchical 계층적

- RDBMS : 가장 인기있는 데이터베이스

- 1970년 IBM 에드거 프랭크 커드 박사 관계형 데이터 베이스 창시. 

2. 오라클 가격정책

License : Named User plus(사용하는 컴터 몇개?)  or Processor (CPU 성능)

EDITION : Express (무료, 기능지한)

              Personal (개인용, Named User Plus)

               Standard (Named User Plus, Processor 사용가능)

               Enterprise (Named User Plus, Processor 사용가능)           

밑으로 갈수록 가격이 높고 기능이 많음

가격표 :  Oracle Price Table

자체가격(Named User Plus or Processor)

기술지원(Software Update License & Support)

(CPU 코어수 X 코어 팩터)  X (Edition 가격 + Edition 옵션) + 기술지원

4(쿼드 코어 ) X 0.5(코어펙터 테이블  : 인텔의 경우 0.5를 곱한다. ) X(47500 + 11500) + 10450 +2530

(업무시 공인된 전문가와 가격 협상 필요. )

= 2 X 59000 + 12980 = 130980 달러 >> 1억 5천. 

3. 설치

sqlplus

기본적인 슈퍼 관리자 권한 

sys AS SYSDBA

4. '나 이거 할 줄 알아'를 외치는 최소 단위

SETUP / 빈공터 만들기. 

CRUD / 빈공간 만드는 원자들 만들기. 

GROUP /  연관된 원자 그룹핑.  더 큰 완제품, or 연결

RUN / 사용, 실행

5. 사용자와 스키마

표 에 기록, 기록된 정보 읽음. 

스키마 : 스키마 내부의 표들을 설명 : 연관 표를 그룹핑하는 디렉토리 같음.

사용자 : 여러사용자 만들수 있고, 각각의 사용자는 자신 접속하는 테이블 사용가능           

오라클에서는 사용자를 만들면 스키마가 생성되고, 스키마를 관리하는 것은 사용자. 

6. 테이블

https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_7002.htm#SQLRF01402

column :열 : 컬럼

CREATE TABLE topic (

    id NUMBER NOT NULL,

    title VARCHAR2(50) NOT NULL,

    description VARCHAR2(4000),

     created DATE NOT NULL

);

7. 행추가. 

INSERT INTO topic (id, title, description, create)

           values (1, 'ORACLE','Oracle is...', SYSDATE);

commit;

8. SQL = Structured Query Language

스프레드시트  = 엑셀 = 파일 행추가 한계가 있음. 

데이터베이스 시스템 = 명령어로 데이터베이스 실행가능 =자동화(Automation)

9. 행읽기

SELECT * FROM topic;

SELECT id, title, created FROM topic;

SELECT * FROM topic WHERE id = 1;

SELECT * FROM topic WHERE id > 1;

SELECT id, title, created FROM topic WHERE id = 1;

SELECT * FROM topic ORDER BY id DESC;

SELECT * FROM topic

OFFSET 1 ROWS                   -- 두번째 행부터 (0부터 센다)

FETCH NEXT 2 ROWS ONLY;   -- 2개 행 가져온다. 

* fetch 가지고오다. 

10. 행 수정 삭제

UPDATE topic SET title = 'mssql', description = 'MSSQL is..' WHERE id =2;

commit;

DELETE FROM topic WHERE id = 3;

11. primary key : 기본키 , 주키

 

 

    id NUMBER NOT NULL,

    title VARCHAR2(50) NOT NULL,

    description VARCHAR2(4000),

     created DATE NOT NULL

    CONSTRAINT PK_TOPIC PRIMARY KEY(id, title)

);

* constraint 제약조건

PK를 지정하고 지정하지 않을 때. 찾는 속도는 엄청나게 차이. 

12. sequence

CREATE SEQUENCE SEQ_TOPIC;

SEQ_TOPIC.NEXTVAL

SELECT SEQ_TOPIC.CURRVAL FROM DUAL;

PK와 가족. 

13. 서버와 클라이언트

HOST : 정보 응답  --서버 컴퓨터              >>   오라클 데이터베이스 서버

HOST : 정보 요청  -- 클라이언트 컴퓨터    >>  sqlplus      sqlplus     sqlplus (= 오라클 데이터베이스 클라이언트)

sqlplus    cmd   

sqlDeveloper   -오라클 GUI

Toad -오라클 클라이언트. 

14. SQL DEVELOPER

15. 표를 분해하고, 조립하기 - JOIN

16. 수업을 마치며

USER ->UI -> Middleware -> ORACLE

Middleware  - JSP , SERVLET, SPRING, PHP, NODE.JS, 등 

 

오라클 입문코스

업무상... ORACLE -> ORM -> MSSQL -> ORACLE 을.. 쓰게 되서.. 다시 오라클을 보기 시작... 이고잉님에 오라클코스가나왔다고 해서 봤는데 너무 기초여서 나름 만족하고 있던 다른 학습도... 완전 기초였구나 하고 느끼는중.

ORACLE, MSSQL, MYSQL

에서 ORACLE 스키마 생성, 페이징, 시퀀스를 사용하는 부분이 다른 RBMS와 달라서.. 다시 한번봤다.

다음 레벨로 가야징~~

스키마 : 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.

>>오라클은 사용자 생성하면 스키마 같이생성

>>MYSQL, MSSQL SQL 별도로생성하고 권한을 준것으로 기억 >> 확인필요.

SELECT * FROM topic

OFFSET 1 ROWS -- 두번째 행부터 (0부터)

FETCH NEXT 2 ROWS ONLY; -- 2개 행 가져온다.

>>MSSQL 의 경우 order by 조건이 반드시 포함되야 하고

MYSQL의 경우 limit를 사용한다.

 

CREATE SEQUENCE SEQ_TOPIC;

SEQ_TOPIC.NEXTVAL

SELECT SEQ_TOPIC.CURRVAL FROM DUAL;

>>MYSQL 의 경우 auto_increment PK 조건에 추가해서 사용.

MSSQL의 경우 생성은 오라클과 유사. select next value for seq_test;

728x90
728x90

플랫폼 

1. 단상

2. "사용 기반이 되는" 컴퓨터 시스템·소프트웨어

자바 플랫폼

- 일반적 플랫폼: 하드웨어와 거기에 설치된 운영체제

- 자바 플랫폼: 소프트웨어 플랫폼, 다른 여러 운영체제에 설치 가능

- 자바 플랫폼은 자바 API와 자바 VM 으로 구성된다. 

 

 

 

자바 API

: 프로그램에 사용되도록 이미 만들어져 제공되는 소프트웨어 커모넌트 ex) java.lang

자바 VM = JVM

: Java 플랫폼의 기초, 여러 하드웨어 플랫폼에서 설치= 플랫폼 독립적=아키텍쳐 중립적

: 구동엔진 + 실행환경

: 가비지 컬랙션 수행

JRE = JVM + 자바라이브러리, 등

JDK = JRE + 개발도구. 

Main 메소드

: 자바는 어플리케이션이 실행되면 제일 메인 메소드부터 실행된다. 

package me.fun.java;
public class MainTest{
	public static void main(String[] args){
    	System.out.println("HelloWorld");
    }
}

제임스 고슬링

자바의 아버지, 캐나다 소프트웨어 개발자. 

1990년 말 썬 마이크로 시스템즈에서 객체 지향의 새로운 언어인 OAK 개발. 

 

728x90

8. Introducing Spring Boot

Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can run. We take an opinionated view of the Spring platform and third-party libraries, so that you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

You can use Spring Boot to create Java applications that can be started by using java -jar or more traditional war deployments. We also provide a command line tool that runs “spring scripts”.

Our primary goals are:

  • Provide a radically faster and widely accessible getting-started experience for all Spring development.
  • Be opinionated out of the box but get out of the way quickly as requirements start to diverge from the defaults.
  • Provide a range of non-functional features that are common to large classes of projects (such as embedded servers, security, metrics, health checks, and externalized configuration).
  • Absolutely no code generation and no requirement for XML configuration.

9. System Requirements

Spring Boot 2.0.3.RELEASE requires Java 8 or 9 and Spring Framework 5.0.7.RELEASE or above. Explicit build support is provided for Maven 3.2+ and Gradle 4.

9.1 Servlet Containers

Spring Boot supports the following embedded servlet containers:

You can also deploy Spring Boot applications to any Servlet 3.1+ compatible container.

 

8. 스프링 부트 소개

스프링 부트는 만들기 쉽게 합니다. 독립형의, 제품 수준의 스프링 기반의 어플리케이션을, 당신이 실행할 수 있는

우리는 스프링 플랫폼의 여러 라이브러리의 의견을 수렴하여, 당신이 힘들지 않게 시작할수 있게 했습니다. 

대부분의 스프링 부트 어플리케이션은 작은 스프링 환경설정만을 필요로 합니다. 

당신은 스프링 부트를 이용할 수 있습니다. 자바 어플리케이션을 만들때, "java -jar" 나 더 전통적인 war 를 디플로이(전개)하는 방법으로. 

우리는 또한 “spring scripts”.라 불리는 커멘드 라인 툴(cmd 툴)도 제공합니다. 

우리의 주 목적:

    • 급격히 빠르고 광범위하게 접근가능하게 시작할 수 있는 경험을 모든 스프링개발자에게 제공
    • opinionated view : 요구사항의에 맞게 기본설정에서 빠르게 벗어날수 있다. 
    • 비 함수적 기능- 보통 많은 클래스의 프로젝트-범위를 제공합니다. 임베디드서버, 보안, 메트릭스, 상태체크, 외부 환경설정과 같은
    • 전혀, XML환경설정을 위한 코드작성과 필수조건들이 없습니다. 

9. 시스템 요구사항

(스프링 부트 2.0.3.RELEASE 일때)

9.1 서블릿 컨테이너

Java 8, 9 , Spring Framework 5.0.7 , 메이븐 3.2 Gradle 4

Tomcat 8.5 , 서블릿 3.1 이상

stand-alone  독립형의

opinionated view 고집있는, 독선적인  =opinionated out of the box

convention 관습, 관례

production-grade 제품수준의

fuss 불평, 화, 안달하다. 

take an objective view 객관적으로 보다. 

deployments 전개, 배치

primary goals  주목적

radically  근복적인, 과격한, 급진주의의

diverge   벗어나다, 나뉘다. 갈라지다.

https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/#getting-started-introducing-spring-boot

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- Inherit defaults from Spring Boot -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.3.RELEASE</version>
	</parent>

	<!-- Add typical dependencies for a web application -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<!-- Package as an executable jar -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>
@SpringBootApplication
public class SpringBootGettingStartedApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootGettingStartedApplication.class, args);
    }

}

https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/#getting-started-maven-installation

 

Spring Boot Reference Guide

This section dives into the details of Spring Boot. Here you can learn about the key features that you may want to use and customize. If you have not already done so, you might want to read the "Part II, “Getting Started”" and "Part III, “Using Spring Boot

docs.spring.io

 

http://start.spring.io

불러오는 중입니다...

메이븐 기본 프로젝트 구조와 동일 

● 소스 코드 (src\main\java) 

● 소스 리소스 (src\main\resource) 

● 테스트 코드 (src\test\java) 

● 테스트 리소스 (src\test\resource) 
 
메인 애플리케이션 위치 

● 기본 패키지 - ex) me.fun.springbootgettingstarted;   

>> 이 위치부터 스캔시작, 다른 위치의 경우 컴포넌트 스캔이 안됨. 

728x90

 

new BigDecimal(20).compareTo( new BigDecimal(20)) 0

 new BigDecimal(20).compareTo( new BigDecimal(30)) -1

 new BigDecimal(20).compareTo( new BigDecimal(10)) 1

Specified by:compareTo in interface Comparable<BigDecimal>Parameters:val - BigDecimal to which this BigDecimal is to be compared.Returns:-1, 0, or 1 as this BigDecimal is numerically less than, equal to, or greater than val.

 

.divide(sumBal, 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));

 

728x90

#jsp modify without restart tomcat

server.jsp-servlet.init-parameters.development=true

spring.resources.chain.enabled=true



728x90

아무리 맞춰봐도... 안되서.. 버전을 확인해봄... .. 버전이 조금씩 어긋나 있었음... 

A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].

[minimum requirement spring boot 1.3]  >> spring framework 4.3

https://github.com/spring-projects/spring-boot/wiki/spring-boot-1.3-release-notes

Spring Boot 1.3 builds on and requires Spring Framework 4.2. Several 3rd party dependencies have 

https://docs.spring.io/spring-boot/docs/1.3.8.RELEASE/reference/html/getting-started-system-requirements.html

NameServlet VersionJava Version

Tomcat 8

3.1

Java 7+

Tomcat 7

3.0

Java 6+

Jetty 9

3.1

Java 7+

Jetty 8

3.0

Java 6+

Undertow 1.1

3.1

Java 7+

[minimum requirement spring framework 4.3] >> tomcat 8.5

https://docs.spring.io/spring/docs/4.3.10.RELEASE/spring-framework-reference/htmlsingle/

  • Hibernate ORM 5.2 (still supporting 4.2/4.3 and 5.0/5.1 as well, with 3.6 deprecated now)
  • Hibernate Validator 5.3 (minimum remains at 4.3)
  • Jackson 2.8 (minimum raised to Jackson 2.6+ as of Spring 4.3)
  • OkHttp 3.x (still supporting OkHttp 2.x side by side)
  • Tomcat 8.5 as well as 9.0 milestones
  • Netty 4.1
  • Undertow 1.4
  • WildFly 10.1


[minimum requirement Tomcat]

http://tomcat.apache.org/whichversion.html

Servlet SpecJSP SpecEL SpecWebSocket SpecJASPIC SpecApache Tomcat VersionLatest Released VersionSupported Java Versions
4.02.33.01.11.19.0.x9.0.168 and later
3.12.33.01.11.18.5.x8.5.387 and later
3.12.33.01.1N/A8.0.x (superseded)8.0.53 (superseded)7 and later
3.02.22.21.1N/A7.0.x7.0.936 and later
(7 and later for WebSocket)
2.52.12.1N/AN/A6.0.x (archived)6.0.53 (archived)5 and later
2.42.0N/AN/AN/A5.5.x (archived)5.5.36 (archived)1.4 and later
2.31.2N/AN/AN/A4.1.x (archived)4.1.40 (archived)1.3 and later
2.21.1N/AN/AN/A3.3.x (archived)3.3.2 (archived)1.1 and later


그외 

mybatis

MyBatis-SpringMyBatisSpring
1.0.0 and 1.0.13.0.1 to 3.0.53.0.0 or higher
1.0.23.0.63.0.0 or higher
1.1.0 or higher3.1.0 or higher3.0.0 or higher
1.3.0 or higher3.4.0 or higher3.0.0 or higher


'For Real > Others' 카테고리의 다른 글

설득적 카피라이팅과 글쓰기  (0) 2019.10.18
[오라클 by이고잉] 입문강의  (0) 2019.08.25
[git]github -> bitbucket 소스이동.  (0) 2019.03.14
cmd 명령어  (0) 2019.03.12
meta 태그  (0) 2019.03.11
728x90


git remote

git remote -v    // 저장소이름 확인

git clone --mirror  https://github.com/이전저장소.git    //저장소 클론 생성. 로그인창이 떠서 진행이이안될수도 있으니확인

cd 이전저장소.git/      //클론한 저장소 안에 들어감

git remote set-url --push origin https://계정@bitbucket.org/새로운 저장소.git    // 새로운저장소로 저장

git push --mirror    // 저장 완료. 


'For Real > Others' 카테고리의 다른 글

[오라클 by이고잉] 입문강의  (0) 2019.08.25
[minimum requirement]spring boot 1.3  (0) 2019.03.14
cmd 명령어  (0) 2019.03.12
meta 태그  (0) 2019.03.11
IntelliJ Java version 맞추기  (0) 2019.02.25

+ Recent posts