Visual Studio Code 에서 기존 Nodejs 소스를 실행 하는데 오류 발생 했다.

(The Node version in "블라블라" is outdated(version v6.17.1),  we require at least Node 8.x )

현재 vscode 는 디버거는 8.x 이상의 노드 버전을 지원한다는 것 같다.
2020년 4월 버전부터 그렇게 된거 같다.
난 node 6 버전 써야 하는데(소스의 버전업 계획은 없음-내꺼 아님 ㅜㅜ)

실행하고 싶다면 옵션을 변경해 주면 된다고 합니다. 

debug.javascript.usePreview: false

>> 설정 하는곳~
- File(파일) > Preferences(기본설정) > Settings(설정)
- 설정검색에서 "debug.javascript.usePreview" 조회
- 체크박스 해제 

 

 

 

반응형

'개발 > JS,NODEJS' 카테고리의 다른 글

Node.js 참고 정보 모음  (0) 2019.02.21

이게 답인지는 모르겠지만 진행중.(전 Linux 잘 몰라요 ㅠㅠ)

1. OS : 센트OS
2. 개발 : Spring Boot 2.2 , Embedded Tomcat
3. 문제 : Linux 에 80이나 443 포트로 서비스 해야 하는데  Linux 보안상 80이나 443 포트로 
   Tomcat 실행 할 수 없슴.(라우터? 에서 같은 포트 맵핑? 그런거 안해주는 상황)
4. 포트를 어찌어찌해서 쓰는 방법이 있었덴 뭔가 맘에 안듬...
5. 그래서 아파치 보니 포트 포워딩 기능이 있슴 
   80으로 서버로 들어오면 내 로컬의 8080으로 전달하는 세팅 도전중..
6. 아파치 세팅 시작...
  1) 아파치 설치되어 있나? 확인 
     >  yum list installed | grep httpd
  2) 설치가 안되어 있음 그럼 설치 시작.~~
     > sudo yum install -y httpd

  뭔지 모르지만 설치됨..

   3) 서비스 구동.... 전에 방화벽 풀어줘야 함.
     - 80,443 풀어줌~ 아 그런데 내 서버에는 방화벽 꺼져 있음.....
     - 외부 방화벽이 다 박고 있어 큰 문제는 없을 듯 합니다.
     > firewall-cmd --permanent --add-service=http 
     > firewall-cmd --permanent --add-service=https 
     > firewall-cmd --reload

   4) 아파치 서비스 구동
     - 구동 명령 내렸더니 비번 입력 하라고 해서 입력!
     > service httpd start
     - 80 포트로 접속해 보니 서비스 올라 왔음 아래 그림처럼 나와요..

  5) 이제 외부80 을  내부 8080에 연결 해야함... 어디서 설정하나?
    - 아래 경로의 httpd.conf 를 수정해야 한다고 합니다.
    - root 권한으로 수정 하셔야 수정 되네요.
    - /etc/httpd/conf/httpd.conf 
    - httpd.conf 제일 하단에 아래 소스 추가

ProxyRequests On 
<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

<VirtualHost *:80> 
ServerName 127.0.0.1 
ServerAlias 도메인
ProxyPass / http://localhost:8080/ 
ProxyPassReverse / http://localhost:8080/ 
</VirtualHost> 

   - 아파치 다시 실행 
   - 전 잘 되네요..

참고했던 사이트 : 
   1) https://blog.sanguneo.com/14

 

아파치 가상호스트 프록시를 이용한 http 포트포워딩

아파치 리버스 프록시를 이용하는 방법을 주 내용으로하고 Virtualbox 나 VMWARE등의 버추얼머신을 사용하는 환경에서 Host OS와 Guest OS를 좀더 통일성있게 사용할 수 있는 방법에 대해 적었다. 목표 :

blog.sanguneo.com

  2) https://blog.seabow.pe.kr/?p=429

 

Apache 호스트 기반 80 포트 다른 포트로 리다이렉트 시키기 | 나만의 세상~!

예를 들어서 로 접속 하는 주소를 으로 포워딩 하고 싶을때.뭐... a.site 로 들어와도 프로그램의 변수로 구분을 해서 들어가도 되겠지만특별한 경우 a.site 로 들어왔는데 포트를 달아줘야 할경우 �

blog.seabow.pe.kr

  3) http://blog.naver.com/tear230/220282531649

 

[Apache2] 포트별 도메인 포워딩

* IIS + Apache2.2 + Tomcat6 사용* 하나의 도메인에 여러개의 서브도메인을 구성하여 아이피가 같고 ...

blog.naver.com

  4) https://suwoni-codelab.com/linux/2017/05/27/Linux-CentOS-Apache/

 

07. 리눅스(CentOS) 개발 놀이터 만들기 - Apache 웹서버 설치

리눅스 CentOS에 Apache를 설치해봅니다.

suwoni-codelab.com

  5) https://nowonbun.tistory.com/121

 

[CentOS] apache 설치하기

안녕하세요. 명월입니다. 이번 포스팅에서는 apache를 설치해 보겠습니다. 지난 포스팅에서 apache-tomcat을 설치해 봤는데 apache와 apache-tomcat의 차이는 웹 서버이냐 어플리케이션 서버이냐의 차이입�

nowonbun.tistory.com

 

반응형

스프링 boot 버전이 올라 가면서 application.yml 로만 으로도 설정이 가능해 졌다고 합니다.
버전 높으시면 application.yml 찾아봐 주세요..

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

Spring Boot 를 이용해서 mysql+mybatis를 이용하여 application.yml 에 mysql 접속 정보 및
mybatis 설정을 하여 자동으로 SqlSession 을 사용해 사용 했습니다. 


이런 DB 두곳 접속 이슈가 발생 했습니다.
제가 못 찾은 건지 모르겠지만. 자동으로 멀티 데이터소스는 안되는 듯 해서 검색해서 열심히 찾아 작업을 해 보았습니다.

1. application.yml 에 db 접속정보 2개로 변경

1
2
3
4
5
6
7
8
9
10
11
12
13
spring:
    datasource1:
         driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
         jdbc-url: jdbc:log4jdbc:mysql:nananananan
         username: username
         password: password
         jmx-enabled: false
    datasource2:
         driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
         jdbc-url: jdbc:log4jdbc:mysql:nananananan
         username: username
         password: password
         jmx-enabled: false
cs


2. 우선 DataSourceConfig.java 파일을 만들어 DB 연결을 수동으로 처리 합니다. 
- Bean생성 할때 같은 종류의 Bean을 여러개 생성하면 오류 발생
- 처음 생성하는 Bean에 @Primary를 설정해야 복수게 생성 가능
  스프링부트는 기본적으로 DataSource 를 하나로 처리 하기 때문에   
  @Primary 설정을 해줘야 멀티로 잘 인식

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
 
@Configuration
@MapperScan(basePackages = {"com.pppp.tool"})
public class DataSourceConfig  {
 
    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
    /** DataSource Main 생성 */
    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource1")
    public DataSource mysql1DataSource() {
        return DataSourceBuilder.create()
                .type(HikariDataSource.class)
                .build();
    }
 
    /** DataSource Sub 생성 */
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource2")
    public DataSource mysql2DataSource() {
        return DataSourceBuilder.create()
                .type(HikariDataSource.class)
                .build();
    }
 
    /** sqlSessionFactory Main 생성 */
    @Bean
    @Primary
    public SqlSessionFactory sqlSessionFactoryMain(@Autowired @Qualifier("mysql1DataSource") DataSource dataSource) throws Exception {
        logger.info("SqlSessionFactory Main Start");
        org.apache.ibatis.session.Configuration configuration = this.getMybatisConfig();
 
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        factoryBean.setVfs(SpringBootVFS.class);
        factoryBean.setConfiguration(configuration);
        factoryBean.setTypeHandlersPackage("com.commax.tool.framework.mybatis.typehandler");
 
        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        Resource[] resource = resolver.getResources("mybatis/**/*.xml");
        factoryBean.setMapperLocations(resource);
 
        return factoryBean.getObject();
    }
 
    /** sqlSessionFactory Sub 생성 */
    @Bean
    public SqlSessionFactory sqlSessionFactory(@Autowired @Qualifier("mysql2DataSource") DataSource dataSource) throws Exception {
        logger.info("SqlSessionFactory SUB Start");
        org.apache.ibatis.session.Configuration configuration = this.getMybatisConfig();
 
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        factoryBean.setVfs(SpringBootVFS.class);
        factoryBean.setConfiguration(configuration);
        factoryBean.setTypeHandlersPackage("com.commax.tool.framework.mybatis.typehandler");
 
        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        Resource[] resource = resolver.getResources("mybatis/**/*.xml");
        factoryBean.setMapperLocations(resource);
 
        return factoryBean.getObject();
    }
 
    /** sqlSession Main 생성 */
    @Bean
    @Primary
    public SqlSession sqlSessionMain(@Autowired @Qualifier("sqlSessionFactoryMain") SqlSessionFactory factory) {
        return new SqlSessionTemplate(factory);
    }
 
    /** sqlSession Sub 생성 */
    @Bean
    public SqlSession sqlSessionSub(@Autowired @Qualifier("sqlSessionFactory") SqlSessionFactory factory) {
        return new SqlSessionTemplate(factory);
    }
 
    /** MybatisConfig 설정정보 */
    private org.apache.ibatis.session.Configuration getMybatisConfig() {
        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
        configuration.setCacheEnabled(true);
        configuration.setLazyLoadingEnabled(false);
        configuration.setAggressiveLazyLoading(false);
        configuration.setMultipleResultSetsEnabled(true);
        configuration.setUseColumnLabel(true);
        configuration.setAutoMappingBehavior(AutoMappingBehavior.PARTIAL);
        configuration.setDefaultExecutorType(ExecutorType.SIMPLE);
        configuration.setDefaultStatementTimeout(25000);
        configuration.setMapUnderscoreToCamelCase(true);
        configuration.setJdbcTypeForNull(JdbcType.NVARCHAR);
        configuration.setLazyLoadTriggerMethods(new HashSet<>(Arrays.asList("equals""clone""hashCode""toString")));
        configuration.setLogPrefix("[SQL]");
 
        return configuration;
    }
 
}
cs


3. 이제 그냥 사용 하시면 됩니다. 

1
2
3
4
5
6
7
    /** 메인DB 연결 */
    @Autowired @Qualifier("sqlSessionMain")
    protected SqlSession sqlSession;
 
    /** 서브DB 연결 */
    @Autowired @Qualifier("sqlSessionSub")
    protected SqlSession sqlSessionSub;
cs


* multi datasource 참고 블로그 
https://jodu.tistory.com/12
https://jojoldu.tistory.com/296
http://devgou.com/article/Spring-MyBatis/

반응형

+ Recent posts