/*
 * highChart 초기화
 *
 * type : column(바차트) / spline(꺽은선차트)
 * title : 차트 제목
 * stacking : 차트 형태 (normal , percent, 빈값)
 * data : json 데이터
 */


	var yearArr = new Array();
	for(var year = calcBeginYear; year <= calcEndYear; year++) {
		yearArr.push(year);
	}

	var arr1 = new Array();
	for(var i = 0; i < 5; i++) {
		var arr2 = new Array();
		for(var j = 0; j < yearArr.length; j++) {
			arr2.push(getRandomInt(-10, 50));
		}
		arr1.push(arr2);
	}

	Highcharts.chart('container', {
	    chart: {
	        type: type
	    },
	    title: {
	        text: title
	    },
	    xAxis: {
	        categories: yearArr,
	        tickWidth: 10
	    },
	    yAxis: {
	        min: -50,
	        title: {
	            text: ''
	        },
	        stackLabels: {
	            enabled: false,
	            style: {
	                fontWeight: 'bold',
	                color: ( // theme
	                    Highcharts.defaultOptions.title.style &&
	                    Highcharts.defaultOptions.title.style.color
	                ) || 'gray'
	            }
	        }
	    },
	    legend: {
	        align: 'right',
	        x: -30,
	        verticalAlign: 'top',
	        y: 25,
	        floating: true,
	        backgroundColor:
	            Highcharts.defaultOptions.legend.backgroundColor || 'white',
	        borderColor: '#CCC',
	        borderWidth: 1,
	        shadow: false
	    },
	    tooltip: {
	        headerFormat: '{point.x}
',
	        pointFormat: '{series.name}: {point.y}
Total: {point.stackTotal}'
	    },
	    plotOptions: {
	        column: {
	            stacking: stacking,	//Whether to stack the values of each series on top of each other. "normal" to stack by value or "percent"
	            dataLabels: {
	                enabled: false
	            }
	        },
	        series: {
	            pointWidth: 40
	        }
	    },
	    exporting: {	//context menu hide
	        enabled: false
	    },
	    series: [{
	        name: '에너지',
	        data: arr1[0]
	    }, {
	        name: '산업공정',
	        data: arr1[1]
	    }, {
	        name: '농업',
	        data: arr1[2]
	    }, {
	        name: 'LULUCF',
	        data: arr1[3]
	    }, {
	        name: '폐기물',
	        data: arr1[4]
	    }
	    ]
	});

 

 

 우리가 클라우드 서비스를 사용하는 이유?

  •  우리가 서버로 사용하기 위해 장비를 구입하고 서버를 운영할 인력(데이터베이스, 보안)을 투입하고 서버를 유지하지 위한 공간 및 네트워크 등의 모든 비용보다 클라우드 서비스를 이용하여 빠르고 쉽게 서비스를 구축할 수 있기 때문이다. 그리고 서버의 사용량에 따라서 비효율적으로 낭비되는 자원을 관리하기에 클라우드 서비스가 훨씬 더 유연하다고 할 수 있다. 실제 장비를 추가하고 운영하기 위해 인력을 투입하여 관리하기보다는 AWS에서 제공하는 서비스를 활용하여 쉽고 더 저렴하게 서비스를 구축할 수 있다.

 

# EC2 (Elastic Compute Cloud)

: AWS에서 제공하는 클라우드 대표적인 서비스 중에 하나다. 쉽게 '가상 서버'라고 생각하면 된다.

 

 

EC2 인스턴스 생성하기

  • 먼저 AWS 콘솔에서 서울지역의 리전을 선택한다. 거리가 멀수록 네트워크 지연이 생길 수 있다.

리전선택

 

 

  • AWS 서비스 중에 EC2 를 검색하여 들어오게 되면 다양한 메뉴가 존재하는데 우리는 인스턴스를 생성해야 한다. 인스턴스 시작!

인스턴스 시작

 

 

  • CentOs, Ubuntu 등 다양한 OS를 선택할 수 있는데 AWS에서 튜닝한 Amazon Linux를 선택하도록 하겠다.

AMI 선택

 

 

 

  • 사용목적에 따라서 다양한 인스턴스 유형을 제공한다. 우리는 프리티어 사용이 가능한 인스턴스를 선택하도록 하겠다.

인스턴스 유형 선택

 

 

  • 요구사항에 따라 세부 정보를 수정할 수 있는데 우리는 기본 설정으로 생성하도록 하겠다.

세부 정보

 

  • 스토리지 추가 단계에서도 기본 설정으로 

스토리지 추가

 

 

  • 태그는 인스턴스를 분류하기 위해 사용될 수 있다. Name-instance으로 키와 값으로 설정한다.

태그 추가

 

  • 보안그룹은 인스턴스에 대한 접근을 제어하기 위한 설정이다. 필요한 ip 주소를 입력하고 주요 포트에 대해서만 연결을 허용하는 것이 좋다.

보안 그룹 설정

 

 

  • 마지막으로 지금까지 설정한 정보를 확인하고 인스턴스를 시작버튼을 클릭하면 EC2 인스턴스를 생성하게 된다.

인스턴스 시작 검토

 

  • 키 페어는 서버에 접속하는 중요한 키로 사용되기 때문에 생성한 키 파일은 절대 공개되서도 안되며 삭제되어도 안된다. 키 페어를 다운로드 하면 다시 다운로드가 불가능하기 때문에 키 파일을 안전하게 보관해야 한다.

키 페어 생성

 

  • 인스턴스를 생성하는 중...

인스턴스 생성 중

 

다음과 같이 인스턴스를 생성하게 되면 잠시 후에 정상적으로 생성된 인스턴스를 확인할 수 있다.

프리티어를 이용하더라도 사용량에 따라 추가로 요금이 과금 될 수 있으므로 연습용으로 사용할 경우 잠시 인스턴스를 종료하는 것도 좋다.

 

생성된 인스턴스에 접속하는 방법은 AWS에서 제공하는 방법을 따른다.

윈도우 사용자의 인스턴스 접속은 putty를 이용하여 접속하는 방법맥의 터미널을 이용하여 접속하는 방법이 자세하게 설명되어 있다.

 

 

 

 

 

 

centos7 부팅시 자동으로 oracle 실행하는 방법



오라클 리스너 등록


# vi /usr/lib/systemd/system/oracle_listener.service


[Unit]
Description=oracle listener
After=network.target


[Service]
Type=forking
Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/{경로수정}
Environment=ORACLE_SID=orcl
ExecStart=/app/oracle/{경로수정}/bin/lsnrctl start
ExecStop=/app/oracle/{경로수정}/bin/lsnrctl stop
User=oracle


[Install]
WantedBy=multi-user.target


오라클 인스턴스 등록

# vi /usr/lib/systemd/system/oracle_instance.service

 

[Unit]
Description=oracle instance
After=network.target syslog.target

 

[Service]
Type=forking
User=oracle
Group=database

Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/{경로수정}
Environment=ORACLE_SID=orcl

ExecStart=/app/oracle/{경로수정}/bin/dbstart
ExecStop=/app/oracle/{경로수정}/bin/dbshut

 

[Install]
WantedBy=multi-user.target

 

 systemctl 등록

# systemctl daemon-reload

# systemctl start oracle_listener.service
# systemctl enable oracle_listener.service
# systemctl start oracle_instance.service
# systemctl enable oracle_instance.service



출처: https://wookoa.tistory.com/213 [Wookoa]

reboot 이후 접속확인

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.


기본적으로 safe mode가 적용되어 있어 바로 update나 delete가 불가능한 상태이다.

이를 해결하기 위한 방법은 2가지가 존재한다.


1. 명령어를 이용하는 방법


SET SQL_SAFE_UPDATES = 0;



2. workbench 설정변경


edit - preferences - sql editor


아래의 체크를 해제하면 된다.



2018--10-21 update


java-version 1.8

spring-version 5.0.7

javax.servlet 3.1.0

mybatis


<!--?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/maven-v4_0_0.xsd">
	<modelversion>4.0.0</modelversion>
	<groupid>org.zerock</groupid>
	<artifactid>controller</artifactid>
	<name>ex02</name>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>
	<dependencies>

		<!-- Spring -->
		<dependency>
			<groupid>org.springframework</groupid>
			<artifactid>spring-context</artifactid>
			<version>${org.springframework-version}</version>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupid>commons-logging</groupid>
					<artifactid>commons-logging</artifactid>
				 </exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupid>org.springframework</groupid>
			<artifactid>spring-webmvc</artifactid>
			<version>${org.springframework-version}</version>
		</dependency>

		<dependency>
			<groupid>org.springframework</groupid>
			<artifactid>spring-test</artifactid>
			<version>${org.springframework-version}</version>
		</dependency>
		
		<dependency>
			<groupid>org.springframework</groupid>
			<artifactid>spring-tx</artifactid>
			<version>${org.springframework-version}</version>
		</dependency>
		
		<dependency>
			<groupid>org.springframework</groupid>
			<artifactid>spring-jdbc</artifactid>
			<version>${org.springframework-version}</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
		<dependency>
			<groupid>org.mybatis</groupid>
			<artifactid>mybatis</artifactid>
			<version>3.4.6</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
		<dependency>
			<groupid>org.mybatis</groupid>
			<artifactid>mybatis-spring</artifactid>
			<version>1.3.2</version>
		</dependency>

		<!-- AspectJ -->
		<dependency>
			<groupid>org.aspectj</groupid>
			<artifactid>aspectjrt</artifactid>
			<version>${org.aspectj-version}</version>
		</dependency>	
		
		<!-- Logging -->
		<dependency>
			<groupid>org.slf4j</groupid>
			<artifactid>slf4j-api</artifactid>
			<version>${org.slf4j-version}</version>
		</dependency>

		<dependency>
			<groupid>org.slf4j</groupid>
			<artifactid>jcl-over-slf4j</artifactid>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupid>org.slf4j</groupid>
			<artifactid>slf4j-log4j12</artifactid>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupid>log4j</groupid>
			<artifactid>log4j</artifactid>
			<version>1.2.15</version>
			<exclusions>
				<exclusion>
					<groupid>javax.mail</groupid>
					<artifactid>mail</artifactid>
				</exclusion>
				<exclusion>
					<groupid>javax.jms</groupid>
					<artifactid>jms</artifactid>
				</exclusion>
				<exclusion>
					<groupid>com.sun.jdmk</groupid>
					<artifactid>jmxtools</artifactid>
				</exclusion>
				<exclusion>
					<groupid>com.sun.jmx</groupid>
					<artifactid>jmxri</artifactid>
				</exclusion>
			</exclusions>
			<scope>runtime</scope>
		</dependency>

		<!-- @Inject -->
		<dependency>
			<groupid>javax.inject</groupid>
			<artifactid>javax.inject</artifactid>
			<version>1</version>
		</dependency>
				
		<!-- Servlet -->
		<dependency>
			<groupid>javax.servlet</groupid>
			<artifactid>javax.servlet-api</artifactid>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupid>javax.servlet.jsp</groupid>
			<artifactid>jsp-api</artifactid>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupid>javax.servlet</groupid>
			<artifactid>jstl</artifactid>
			<version>1.2</version>
		</dependency>

		<!-- Test -->
		<dependency>
			<groupid>junit</groupid>
			<artifactid>junit</artifactid>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

	</dependencies>
	<build>
		<plugins>
			<plugin>
				<artifactid>maven-eclipse-plugin</artifactid>
				<version>2.9</version>
				<configuration>
					<additionalprojectnatures>
						<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
					</additionalprojectnatures>
					<additionalbuildcommands>
						<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
					</additionalbuildcommands>
					<downloadsources>true</downloadsources>
					<downloadjavadocs>true</downloadjavadocs>
				</configuration>
			</plugin>
			<plugin>
				<groupid>org.apache.maven.plugins</groupid>
				<artifactid>maven-compiler-plugin</artifactid>
				<version>2.5.1</version>
				<configuration>
					<source>1.8
					<target>1.8</target>
					<compilerargument>-Xlint:all</compilerargument>
					<showwarnings>true</showwarnings>
					<showdeprecation>true</showdeprecation>
				</configuration>
			</plugin>
			<plugin>
				<groupid>org.codehaus.mojo</groupid>
				<artifactid>exec-maven-plugin</artifactid>
				<version>1.2.1</version>
				<configuration>
					<mainclass>org.test.int1.Main</mainclass>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>


오늘은 Dynamic Web Project 에서 maven을 적용하는 방법을 알아보겠습니다.


먼저 Dynamic Web Project를 생성하도록 하겠습니다.


우클릭 - New - Dynamic Web Project



그리고 Project name을 적어준 뒤 Finish를 눌러줍니다.




만들어진 프로젝트에서 우클릭 - Configure - Convert to Maven Project 를 클릭!




그리고 다른 설정은 건들지 않고 바로 Finish를 눌러줍니다.




이렇게 되면 기존에 없던 pom.xml 이 생성되고 여기에서 라이브러리를 관리할 수 있게 됩니다.


STS가 설치되었다면 이제 Spring프로젝트를 생성하도록 하겠습니다.



마우스 우클릭 - New - Spring Legacy Project




1. project name 입력


2. Spring MVC Project 선택




해당 workspace에서 처음 spring 프로젝트를 생성하게 되면 필요한 파일을 다운로드 하게 됩니다.




다음은 패키지명 입력




이렇게 Finish를 누르게 되면 하단의 Progress에서 필요한 maven을 다운로드 하는 것을 확인할 수 있습니다.



이렇게 프로젝트 생성하였습니다. 만약 프로젝트를 생성하자마자 바로 프로젝트에서 에러가 나온다면 maven을 삭제하였다가 다시 설치해주셔야 합니다. http://dltjdgur327.tistory.com/26 <<< 이 링크에 해당 오류 해결하는 방법을 정리하였습니다.



그리고 tomcat과 연동하여 웹페이지를 띄워보겠습니다.

서버에서 아래 링크를 클릭하시거나 우클릭 - New - Server를 누르셔도 됩니다.


그리고 다운로드 하신 tomcat의 버전에 맞는 것을 선택하여 주세요.

저는 9.0 을 선택하였습니다.




그 다음은 tomcat이 설치되어 있는 경로를 찾아주세요. Next 클릭!!




그리고 서버에 프로젝트를 추가해주어야 합니다. 아까 생성해둔 프로젝트를 add 해줍니다.




이렇게 tomcat에 프로젝트까지 add하고나서 tomcat을 실행하도록 합시다.


http://localhost:8080/myapp/



이렇게 Hello world 화면이 나오면 성공!!


http://localhost:8080/myapp/


> 여기서 8080은 tomcat의 기본포트번호고 /myapp/ 이 부분은 처음에 생성할 떄 입력했던 패키지 이름입니다.

저와 패키지 이름이 다르시다면 이부분을 알맞게 입력하시면 됩니다.


하지만 경로는 절대경로를 이용하는 것이 좋습니다.

따라서 url부분 "/myapp/" 부분을 없애고 "/" 로 설정하려면 tomcat에서 수정할 수 있습니다.




Path를 설정하는 부분에서 모두 지우시고 "/" 만 입력하시면 됩니다.



이렇게 설정하시면


http://localhost:8080/


이 경로가 기본 경로가 되는 것입니다.

그리고 tomcat의 설정을 변경하였을 때에는 항상 재기동을 해주세요.

다시 실행하였을 떄 정상적으로 화면은 나오지만 한글 인코딩이 되어있지 않습니다!


아래의 코드를 home.jsp 상단에 붙여넣어 주세요. pageEncoding이 설정되어 있지 않아 한글이 깨져서 나오게 되었던 겁니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>





이렇게 정상적으로 출력되게 됩니다.




지금까지 프로젝트 생성과 기본 tomcat 설정 방법이였습니다.

추가로 궁금하신 부분을 댓글 남겨주세요 :)

jquery 플러그인 중에 굉장히 유용하게 사용한 플러그인을 소개하려고 합니다.


바로 slick 이라는 플러그인인데요.


http://kenwheeler.github.io/slick/


사이트에 들어가면 사용방법을 친절하게 설명해주고 있습니다. 물론 영어지만요...

여기에서 slick을 다운로드 해줍니다. Download Now!!



다운받은 slick 폴더를 사용하려고 하는 프로젝트에 붙여넣어주세요


저는 WebContent 아래에 붙여넣었습니다. 그리고 기본적인 index.jsp 에서 테스트를 진행해보았습니다.


다운받은 slick 폴더 안에는 css파일과 js파일이 있습니다.


!!! 여기서 경로는 파일위치에 맞게 변경하여 사용해주세요.










그리고 jquery를 통해 원하는 옵션을 설정하여 실행시켜주면 됩니다.



dots는 아래의 점을 표시하는 옵션이고

infinite는 루프 무한대로하는 옵션이라고 보시면 됩니다.




<link rel="stylesheet" type="text/css" href="slick/slick.css">
<link rel="stylesheet" type="text/css" href="slick/slick-theme.css">

	<div class="your-class" align="center" style="width: 500px; left: 600px;">
		<div><h3>1</h3></div>
		<div><h3>2</h3></div>
		<div><h3>3</h3></div>
		<div><h3>4</h3></div>
	</div>

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="slick/slick.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
	$('.your-class').slick({
		dots: true,
		infinite: true
	});
});
</script>



전체적인 내용입니다. div 태그안에 원하는 내용을 넣어주시면 slick을 사용하실 수 있습니다.


slick의 옵션의 종류가 많기 때문에 원하는 옵션은 직접 사용해보시고 입맛대로 추가하시면 되겠습니다.


war 파일도 함께 첨부하겠습니다.


slick.war


궁금하신 사항은 댓글 부탁드리겠습니다!

이클립스 인코딩 설정 방법!!


먼저 windows - preferences




여기에서 General - Workspace - Other - UTF-8 을 선택해주세요.




그 다음 CSS 파일 설정




HTML 파일 설정





JSP 파일 설정




'eclipse 설정' 카테고리의 다른 글

spring loaded 적용하기  (0) 2018.07.04
[환경설정] svn label 설정  (0) 2018.05.14


spring 프로젝트를 생성하자마자 pom.xml 에러발생



maven 이 필요한 파일을 가져올때 버전이 안맞는다던가 제대로 가져오지 못했을 경우라 생각합니다.


1. 이클립스를 종료한 상태에서 사용자계정 - .m2 - repository 모두 삭제


2. 이클립스를 실행한 뒤 Run - Run As - Maven install


3. Maven clean


필요한 파일을 다시 자동으로 설치해 줍니다.

결론은 .m2 파일의 repository 를 모두 삭제하고 다시 install 해주면 됩니다!!

'Error' 카테고리의 다른 글

org.apache.maven.plugins 에러  (0) 2018.09.13
Failed to load the JNI shared library...jvm.dll  (0) 2018.09.13

+ Recent posts