posted by 귀염둥이채원 2019. 6. 4. 18:15

윈도우10 업데이트에 관련해서 알려드립니다.


랜섬웨어에 대한 불안감으로 

최대한 보안에 신경쓰고 계시는 분들 있으시죠?


사실 최신버전 업데이트만 해준다면 

여러 바이러스 등을 어느정도 차단할 수 있습니다. 


그렇다면 윈도우10 업데이트는 어떻게 

체크할 수 있을까요???



기본적으로 Windows 10 정품인증이 되어있다면 

항상 자동으로 업데이트가 진행되기 때문에 

걱정하지 않으셔도 됩니다.


수동모드로 바꿔놓았다면 한번씩 최신버전으로 

업데이트를 합니다.



위 이미지에서 설명된 것 처럼 

시작 > 설정 > 업데이트 및 보안 > Windows 업데이트

> 고급옵션 > 업데이트 기록 보기 선택합니다.


최신버전이 나와있다면 바로 업데이트 해주시면 됩니다.


랜섬웨어와 같은 바이러스 공격은 

예고없이 일어날 수 있으니 자동 업데이트로 

변경해두시는 것을 권장합니다.


만약 수동 업데이트로 설정을 변경하지 

않았는데도 자동 업데이트 실행이 되지 않는다면, 

정품이 아니라 불법으로 다운로드 받아 

사용하는 경우 발생할 수 있는 문제입니다. 


이런 경우에는 윈도우10 업데이트를 위해서는 

불법적인 경로가 아니라 정품을 구입해 

업데이트를 진행하셔야 합니다.


윈도우10 업데이트 뿐만 아니라 

불법 다운로드 제품들은 바이러스/ 악성코드에 

취약하며, 적발시 벌금 등의 처벌을 

받을 수 있으니 유의하셔야 합니다.



MS 공식스토어로 들어가 보시면 

Windows 10 제품들을 확인해보실 수 있습니다. 


한번만 구매해 등록해두면 디바이스의 수명이 다할때 까지 

해당 OS 사용할 수 있고, 항상 최신버전의 

윈도우10 업데이트를 받을 수 있습니다.


혹시라도 불법 다운로드한 제품을 사용하고 있다면 

이번 기회에 정품 인증하시고, 

안전하게 이용하시기 바랍니다.

MS 공식스토어에서 Windows 제품들과 

Office 365 등을 구매하시면 배송을 기다릴 필요 없이 

즉시 다운로드가 가능하고, 14일 무료 반품, 

전문가와의 상담이 제공되고 있습니다. 


-----------------------------------

윈도우10 업데이트 완전히 끄기

윈도우10 업데이트 1803

윈도우10 업데이트 방법

윈도우 업데이트 내용

윈도우 업데이트 확인

윈도우10 설치

윈도우10 업데이트 다운로드

윈도우 10 최신 업데이트

윈도우10 업데이트 1809

윈도우10 업데이트 오류


posted by 귀염둥이채원 2019. 5. 27. 14:31

미드 왕좌의 게임 시즌1~7 전편 한글 자막 지원하는 토렌트 파일입니다. 


토렌트 다운로드 및 설치 방법은 아래 링크를 참고하세요.


uTorrent 다운로드 및 설치 방법 <-- 클릭


[미드] 왕좌의 게임 시즌1 토렌트 다운로드

Game.of.Thrones.Season01(4.82GB).torrent


[미드] 왕좌의 게임 시즌2 토렌트 다운로드

Game.of.Thrones.Season02(4.76GB).torrent


[미드] 왕좌의 게임 시즌3 토렌트 다운로드

Game.of.Thrones.Season03(4.86GB).torrent


[미드] 왕좌의 게임 시즌4 토렌트 다운로드

Game.of.Thrones.Season04(4.93GB).torrent


[미드] 왕좌의 게임 시즌5 토렌트 다운로드

Game.of.Thrones.Season05(4.81GB).torrent


[미드] 왕좌의 게임 시즌6 토렌트 다운로드

Game.of.Thrones.Season06(4.76GB).torrent


[미드] 왕좌의 게임 시즌7 토렌트다운로드

Game.of.Thrones.Season07(3.95GB).torrent

posted by 귀염둥이채원 2019. 5. 27. 14:19

윈도우 10 정품 인증을 하지 않으면

PC 하단에 윈도우 정품하라고 나온다.


KMSAuto Net 프로그램을 사용하면

윈도우 정품인증도 가능하고,

MS 오피스 정품인증도 가능하다고 한다.


윈도우 정품인증은 아래 블로그를 참고하자.


https://qkr3232.tistory.com/488


KMSAuto Net 프로그램이 크랙이라서 조금 찝찝하기는 하지만 

윈도우 정품인증을 위해 많은 사람들이 사용하는것 같다.

posted by 귀염둥이채원 2019. 4. 29. 15:52

이클립스에서 ObjectAid라는 플러그인을 설치하면 UML 다이어그램을 자동으로 생성해준다.

ObjectAid: http://www.objectaid.com/download


ObjectAid UML Explorer는 Eclipse IDE를 위한 민첩하고 가벼운 코드 시각화 도구이다.

UML 표기법을 사용하여 텍스트 편집기만큼 정확하고 최신인 기존 Java 코드의 그래픽 표현을 보여주며 사용하기가 매우 쉽다.


설치 및 사용법은 아래 블로그를 참고해주세요.

https://niceman.tistory.com/134

https://all-record.tistory.com/128

'Tool > Eclipse' 카테고리의 다른 글

이클립스에서 자바 디버깅 방법  (0) 2019.03.01
이클립스 관련 정보 모음  (0) 2019.03.01
posted by 귀염둥이채원 2019. 4. 29. 14:45

# Enum이란?

1. 클래스처럼 보이게 하는 상수

2. 서로 관련있는 상수들끼리 모아 상수들을 대표할 수 있는 이름으로 타입을 정의하는 것

3. Enum 클래스 형을 기반으로 한 클래스형 선언 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public enum DevelopType {
    MOBILE("안드로이드"), WEB("스프링"), SERVER("리눅스");
     
    final private String name;
 
    // enum에서 생성자 같은 역할
    private DevelopType(String name){
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
enum ResourceType {
    CPU("CPU Usage""%"), 
    MEMORY("Memory Usage""%");
    
    final private String name;
    final private String value;
    
    private ResourceType(String name, String value) {
        this.name = name;
        this.value = value;
    }
    
    public String getName() {
        return name;
    }
    
    public String getValue() {
        return value;
    }
}
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class EnumTest {
    public DevelopType type;
 
    public static void main(String[] args){
        System.out.println("--------------------------");
        System.out.println(DevelopType.valueOf("MOBILE"));
        System.out.println(DevelopType.valueOf("MOBILE").getName());
         
        for(DevelopType type : DevelopType.values()){
            System.out.println(type.ordinal()+ " -> " +type +": " +type.getName());
        }
        
        System.out.println("--------------------------");
        for(ResourceType resource : ResourceType.values()){
            System.out.println(resource.ordinal()+ " -> " +resource +":" +resource.getName()+":"+resource.getValue());
        }
    }
}
cs


# 실행 결과

1
2
3
4
5
6
7
8
9
--------------------------
MOBILE
안드로이드
0 -> MOBILE: 안드로이드
1 -> WEB: 스프링
2 -> SERVER: 리눅스
--------------------------
0 -> CPU:CPU Usage:%
1 -> MEMORY:Memory Usage:%
cs


# 참고사이트

https://limkydev.tistory.com/66

https://opentutorials.org/module/1226/8025

https://www.w3schools.com/java/java_enums.asp

posted by 귀염둥이채원 2019. 3. 29. 18:19

1. application.properties 파일에 log 설정

logging.level.root=INFO 
logging.level.com.example.demo=ERROR 


2. HelloController.java 추가

package com.example.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

	private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
	
	@RequestMapping("/")
	public String index() {
		return "hello world!";
	}

	@RequestMapping("/log")
	public String log() {
		logger.debug("debug log");
		logger.info("info log");
		logger.warn("warn log");
		logger.error("error log");
		return "hello world!";
	}
}

 

'Spring Boot' 카테고리의 다른 글

[Spring Boot] MyBatis + Mysql 샘플2  (0) 2019.03.29
[Spring Boot] MyBatis + Mysql 샘플  (0) 2019.03.29
DAO, DTO, VO란?  (0) 2019.03.28
스프링 MVC 패턴이란?  (0) 2019.03.28
WEB MVC HelloWorld  (0) 2019.03.28
posted by 귀염둥이채원 2019. 3. 29. 17:10

# MyBatis Framework란?
1. 객체 지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 보다 쉽게 도와주는 프레임 워크
2. 자바에서는 관계형 데이터베이스 프로그래밍을 하기위해 JDBC를 제공
     ※ JDBC(Java Database Connectivity) : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스
     (DriverClass, Connection, PreparedStatement, ResultSet etc)
3. JDBC는 다양한 관계형 데이터베이스 프로그래밍을 위해 API 제공
--> 결론 : MyBatis는 JDBC를 보다 편하게 사용하기 위해 개발

# MyBatis의 특징
1. SQL문이 코드로부터 완전히 분리
   - 기존에는 DAO파일에 모든 SQL문을 작성하였다. 
     하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO 파일에서 필요할 때마다 가져와서 사용할 수 있다.
2. 생산성 
   - 코드가 짧아진다.
3. 유지보수성 향상
   - Mapper 파일에만 SQL 코드를 입력하고 나중에 SQL 코드를 변경할 때 이곳에서 유지보수만 하면, 

     DAO에서는 아무런 영향을 받지 않는다. 
     왜냐하면 DAO에서는 Mapper파일에서 작성된 SQL 코드를 갖다 쓰기만 하기 때문이다.

# Ibatis에서 MyBatis로 변경된 이유
-> Apache project팀에서 google code팀으로 이동하면서 명칭이 변경됨.


# 스프링부트에서 MyBatis 사용하기

https://doohwan-yoo.github.io/springboot-mybatis/
http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples/mybatis-spring-boot-sample-annotation
https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples/mybatis-spring-boot-sample-xml

# 참고 사이트
https://khj93.tistory.com/entry/MyBatis-MyBatis%EB%9E%80-%EA%B0%9C%EB%85%90-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC
https://iotsw.tistory.com/79?category=717332

posted by 귀염둥이채원 2019. 3. 29. 16:02

스프링부트에서 MyBatis 샘플 프로그램입니다.

 

1. MySQL DDL & DML 생성

CREATE TABLE MEMBER (ID INT PRIMARY KEY, NAME VARCHAR(50), PHONE VARCHAR(20)); 

INSERT INTO MEMBER (ID, NAME, PHONE) VALUES (1, 'xml', '010-9912-1234'); 
INSERT INTO MEMBER (ID, NAME, PHONE) VALUES (2, 'annotation', '010-2333-4321'); 
mysql> desc MEMBER;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | NO   | PRI | NULL    |       |
| NAME  | varchar(50) | YES  |     | NULL    |       |
| PHONE | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> select * from MEMBER;
+----+------------+---------------+
| ID | NAME       | PHONE         |
+----+------------+---------------+
|  1 | xml        | 010-9912-1234 |
|  2 | annotation | 010-2333-4321 |
+----+------------+---------------+
2 rows in set (0.00 sec)


2. pom.xml 파일에 dependency 추가 

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.0.0</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
</dependencies>

3. application.yml 파일 생성

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://172.21.111.144:3306/test
    username: root
    password: password
logging:
  level:
    #org.springframework.boot: DEBUG
    sample.springboot.mybatis: DEBUG


4. DataBaseConfig.java 파일 생성

package com.example.demo;

import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.transaction.annotation.EnableTransactionManagement;

 
@Configuration
@MapperScan(basePackages="com.example.demo.dao")
@EnableTransactionManagement
public class DataBaseConfig {
	
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sessionFactory.setMapperLocations(resolver.getResources("classpath:com/example/dao/*.xml"));
        return sessionFactory.getObject();
    }
    
    @Bean
    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) throws Exception {
      final SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory);
      return sqlSessionTemplate;
    }
}


5. Member.java 파일 생성 

package com.example.demo.model;

public class Member {
	private Long id;
	private String name;
	private String phone;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Override
	public String toString() {
		return "Member [id=" + id + ", name=" + name + ", phone=" + phone + "]";
	}
}


6. MemberMapper.java 파일 생성

package com.example.demo.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.example.demo.model.Member;

@Mapper
public interface MemberMapper {
	List<Member> findAll();
	Member findById(Long id);
}


7. Member.xml 파일 생성

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.demo.dao.MemberMapper">

	<select id="findAll" resultType="com.example.demo.model.Member">
		SELECT ID, NAME, PHONE FROM MEMBER
	</select>
  
	<select id="findById" resultType="com.example.demo.model.Member">
		SELECT ID, NAME, PHONE FROM MEMBER WHERE ID = #{id}
	</select>
  
</mapper>


8. MemberController.java 파일 생성

package com.example.demo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.dao.MemberMapper;
import com.example.demo.model.Member;

@RestController
public class MemberController {
	
	@Autowired
	MemberMapper memberMapper;
	
	@RequestMapping("members")
	public List<Member> members() {
		return memberMapper.findAll();
	}
	
	@RequestMapping("member/{id}")
	public Member member(@PathVariable("id") Long id) {
		return memberMapper.findById(id);
	}
}


9. 실행 및 결과 확인
http://localhost:8080/members
[{"id":1,"name":"xml","phone":"010-9912-1234"},{"id":2,"name":"annotation","phone":"010-2333-4321"}]

http://localhost:8080/member/1
{"id":1,"name":"xml","phone":"010-9912-1234"}

# 참고
https://github.com/sbcoba/spring-boot-mybatis/   --> spring-boot-mybatis-sample-xml

'Spring Boot' 카테고리의 다른 글

스프링부트 로그 설정  (0) 2019.03.29
[Spring Boot] MyBatis + Mysql 샘플  (0) 2019.03.29
DAO, DTO, VO란?  (0) 2019.03.28
스프링 MVC 패턴이란?  (0) 2019.03.28
WEB MVC HelloWorld  (0) 2019.03.28
posted by 귀염둥이채원 2019. 3. 29. 11:36

먼저 mysql이 설치되어 있어야한다.
리눅스에서 docker container로 mysql을 설치하는 방법이다.
https://palyoung.tistory.com/76

1. pom.xml 파일에 dependency 추가

<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>3.3.0</version>
</dependency>

<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>1.2.3</version>
</dependency>

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>


2. application.properties 파일에 아래 내용 추가
db id, pw는 설치하신 MySQL 정보 입력

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://172.21.111.144:3306/test
spring.datasource.username=root
spring.datasource.password=password


3. DatabaseConfig.java 파일 추가

package com.example.demo;

import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@MapperScan(basePackages="com.example.demo")
@EnableTransactionManagement
public class DataBaseConfig {
	
	public class DatabaseConfig {
	 
	    @Bean
	    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
	        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
	        sessionFactory.setDataSource(dataSource);
	        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
	        sessionFactory.setMapperLocations(resolver.getResources("classpath:com/example/dao/*.xml"));
	        return sessionFactory.getObject();
	    }
	    
	    @Bean
	    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) throws Exception {
	      final SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory);
	      return sqlSessionTemplate;
	    }
	}
}


4. DbController.java 파일 추가

package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.service.DbService;

@RestController
public class DbController {
	
    @Autowired
    DbService dbService;
     
    @RequestMapping("/")
    public @ResponseBody String root_test() throws Exception{  
        return "Hello World";
    }
 
    @RequestMapping("/now")
    public @ResponseBody String now() throws Exception{
        return dbService.getDual();
    }
}


5. DbService.java 파일 추가

package com.example.demo.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.demo.dao.DbMapper;

@Service
public class DbService {
    @Autowired
    DbMapper dbMapper;
 
    /* select dual */
	public String getDual() throws Exception{
	    return dbMapper.getDual();
	}
}


6. DbMapper.java 파일 추가

package com.example.demo.dao;

public interface DbMapper {
    /* DB Select  */
    public String getDual() throws Exception;
}


7. Db.xml 파일 추가
src/main/resources/com/exmaple/dao/Db.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.DbMapper">
 
    <!-- /* select dual */ -->
    <select id="getDual" resultType="java.lang.String">
        SELECT NOW() FROM DUAL
    </select>
 
</mapper>


8. 웹브라우져 확인
http://localhost:8080/now

2019-03-29 02:27:57

'Spring Boot' 카테고리의 다른 글

스프링부트 로그 설정  (0) 2019.03.29
[Spring Boot] MyBatis + Mysql 샘플2  (0) 2019.03.29
DAO, DTO, VO란?  (0) 2019.03.28
스프링 MVC 패턴이란?  (0) 2019.03.28
WEB MVC HelloWorld  (0) 2019.03.28
posted by 귀염둥이채원 2019. 3. 28. 16:58

1. 도커 이미지를 통해 mysql 컨테이너 생성
$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql_test mysql

-p 3306:3306 : 호스트의 3306포트와 컨테이너의 3306포트를 연결한다. 즉 호스트에 3306포트 접근이 발행하면 해당 컨테이너에 접속이 된다.
-e MYSQL_ROOT_PASSWORD=password : 컨테이너를 생성하면서 환경변수를 지정한다. root계정의 비밀번호를 설정한다.
-name mysql_test : 컨테이너의 이름은 mysql_test로 지정한다.

2. mysql 컨네이너 접속
$ docker exec -it mysql_test bash

3. mysql 접속 

docker run에서 설정한 root 계정의 password를 입력하면 mysql 서버에 접속

$ root@03e1724628e8:/# mysql -u root -p
Enter password: password 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>