파리가 많이 모여드는 꿈 해몽

 -> 일상에서 일이 잘 풀리지 않는다는 것을 암시한 꿈이다.


파리 떼가 거리에 무수히 모여있는 꿈 해몽

 -> 인쇄물 등에 관계할 일이 생기지만 결과는 나쁜 편이다.


파리 떼가 길에 많이 붙어 있어서 본인이 더 이상 걸어가지 못 하는 꿈 해몽

 -> 본인이 계획중인 일 책자 등이 널리 알려지며, 파리들이 모두 날아가면 크게 좋은 일이 생긴다.


파리 떼가 밥상 위에 새까맣게 앉아 있는 꿈 해몽

 -> 각종 질병, 전염병, 이질, 티푸스, 시비, 소송, 시달림, 행패, 우환, 시장터, 콜레라, 위장병, 불결한 장소, 치한, 괴한, 싸움, 소란, 깡패 등을 상징하며, 영업장소에 깡패들이 들어와 갖은 욕을 하면서 행패를 부린다.


파리 떼가 요란스럽게 날아드는 꿈 해몽

 -> 진행하고 있는 일이 사사건건 방해자를 만나 어려움을 더한다.


파리에 관한 꿈 해몽

 -> 파리가 클수록 불길하면서 고민이나 걱정거리가 생긴다.


썩은 음식물에 벌레가 득실거리거나 파리가 몰려드는 꿈 해몽

 -> 재물이나 이권의 손실이 발생하고 말썽과 어려움이 생겨 곤란을 당하게 된다.


천장에 붙은 파리를 죽이거나 쫓아 버리는 꿈 해몽

 -> 걱정하던 일이나 고민이 다 해결되고 건강을 회복하게 된다.


음식물에 파리가 달려드는 꿈 해몽

 -> 자신이나 가족이 병에 걸릴 것을 암시하는 꿈이다.




파리가 주변을 맴도는 꿈 해몽

 -> 어느 누구에게 시달림을 당하거나 심한 분쟁이 있을 수 있다.


파리떼가 몰려들어 극성을 부리는 꿈 해몽

 -> 비방이나 모함을 당해 말썽을 빚거나 손해를 볼 징조이다.


몸에 파리가 붙어서 떨어지지 않는 꿈 해몽

 -> 행하는 일에 방해자가 생겨 고통을 겪게 된다.


파리를 나르고 있는 개미를 보는 꿈 해몽

 -> 안면 있는 사람이 자기의 일을 도와준다.


파리나 모기 등 해충을 잡는 꿈 해몽

 -> 경쟁자나 방해자를 굴복시켜 일을 성취하고 많은 사람의 부러움을 사게 된다.


모기가 윙윙거리는 꿈 해몽

 -> 마음에 들지 않는 인물을 상징하며 불쾌한 사건이 일어날 것을 암시한다.


모기가 높이 날고 있는 꿈 해몽

 -> 행운이 다가 온다는 암시이다.


모기 울음소리를 듣는 꿈 해몽

 -> 자신이 악의에 찬 주위의 소문 때문에 구설수에 오른다.


모기한테 물리는 꿈 해몽

 -> 실물수가 있어 재산을 손해보거나 도둑을 맞는 등 손재가 발생한다.


모기를 손으로 잡는 꿈 해몽

 -> 의견이 맞지 않아 다른 사람과 충돌하게 되고, 심하면 서로 인연이 끊어진다.


- copy coding -


postgresql을 설치하고 pgAdmin III를 이용하여 데이터베이스와 테이블을 생성하는 작업을 해봅니다.


pgAdmin III postgresql


먼저 설치된 프로그램에서 pgAdmin III을 찾아 실행 합니다.

 

1. postgreSQL 접속


pgAdmin III postgresql


접속을 하기 전에는 빨간색으로 X 표시가 되는데 postgreSQL에 마우스를 놓고 우측 버튼을 클릭하고 Connect을 선택 합니다.


pgAdmin III postgresql


접속을 위한 비밀번호를 물어보는데 설치 할때 입력한 비밀번호를 사용하면 됩니다.

비밀번호 저장을 클릭하고 OK 버튼을 클릭하면


pgAdmin III postgresql


비밀번호를 저장할거냐고 한번더 물어보는데 OK 버튼 클릭


pgAdmin III postgresql


connect가 성공하면 빨간색 X 표시가 사라지고 구성 요소를 볼 수 있습니다.

 

2. User 생성

 

먼저 새로운 사용자를 하나 생성 합니다.


pgAdmin III postgresql


Login Roles에 마우스를 놓고 우측 버튼을 클릭하여 New Login Role 메뉴를 선택 합니다.


pgAdmin III postgresql


Properties 탭에서 Role name에 이름을 입력하고 


pgAdmin III postgresql


Definition 탭에서 비밀번호도 적어주고


pgAdmin III postgresql


Role privileges에서 권한은 잘 보고 선택하면 되는데 귀찮으면 Superuser를 선택 해주고 OK 버튼 클릭 합니다.


pgAdmin III postgresql


그러면 copycoding이라는 사용자가 한명 생성되었습니다.

 

3. Database 생성

 

이제 새로운 데이터베이스를 만들어 볼까요?


pgAdmin III postgresql


Databases 항목에 마우스를 놓고 오른쪽 버튼을 클릭하고 New Database 메뉴를 선택 합니다.


pgAdmin III postgresql


Properties 탭에서 NameDB명을 입력하고

Owner에 위에서 생성한 copycoding 사용자를 선택해 줍니다.


pgAdmin III postgresql


Privileges 탭에서 DB 권한도 용도에 따라 선택을 해줍니다그리고 OK 버튼을 클릭 하면


pgAdmin III postgresql


새로운 DB도 생성이 되었습니다.

 

4. Table 생성

 

이제 DB에 테이블을 만들어 봅니다.


pgAdmin III postgresql


생성된 copycodingdb를 확장하여 Tables를 찾아 마우스를 놓고 우측버튼을 클릭하여 New Table을 선택 합니다.


pgAdmin III postgresql


properties 탭에서 Name에 만들려는 테이블 이름을 입력 하고 Owner에 사용자를 선택 해줍니다.


pgAdmin III postgresql


Columns 탭에서 Add 버튼을 클릭하고


pgAdmin III postgresql


이렇게 column을 하나씩 입력하여


pgAdmin III postgresql


필요한 column을 다 입력하고 


pgAdmin III postgresql


필요하다면 Privileges 탭에서 권한도 설정을 하고 OK 버튼을 클릭 합니다.


pgAdmin III postgresql


테이블이 하나 생성이 되었습니다필요한 수만큼 Table을 생성하여 사용하면 됩니다.


pgAdmin III postgresql


새로 생성한 테이블을 조회해 보았습니다아직 insert한 데이터가 없군요윈도우에서 작업하면 눈으로 확인이 가능해서 참 편한것 같습니다.


- copy coding -


OAuth2 인증 테스트를 진행할 때 grant typepassword로 설정하여 접속 하는 경우 필요한 파라미터는 grant_type = password, client_id, client_secret, username, password 입니다. 테스트를 진행하다 보면 Unsupported grant type: password 라는 리턴 값을 받는 경우가 있습니다.

{

"error":"unsupported_grant_type",

"error_description":"Unsupported grant type: password"

}

 

실제 리턴되는 형태는

oauth2 grant type password

 

org.springframework.web.client.HttpClientErrorException$BadRequest: 400 :

[{"error":"unsupported_grant_type","error_description":"Unsupported grant type: password"}]

 

일단 오류 결과를 얻었다는 건 OAuth2 Server 작업은 잘 되었다고 볼 수 있습니다그럼 이제 오류만 해결하면 됩니다사실 이건 오류는 아니고 설정이 빠져서 발생하는 부분입니다.


AuthorizationServerConfigurerAdapter를 상속받아 서버 인증 설정을 하게 되는데 상속하는 Method에서 configure(AuthorizationServerEndpointsConfigurer endpoints) 작업을 하지 않은 경우일 가능성이 있습니다해결책은 여기에 AuthenticationManager를 추가해 주면 됩니다.


WebSecurityConfigurerAdapter에 다음과 같이 Bean을 설정 하고

@Configuration

@EnableWebSecurity

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

 

    @Override

    @Bean

    public AuthenticationManager authenticationManagerBean() throws Exception {

        return super.authenticationManagerBean();

    }

}

 

 

AuthorizationServerConfig endpoints 추가를 해줍니다.

@Configuration

@EnableAuthorizationServer

public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {

 

   @Override

   public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {

 

          endpoints.authenticationManager(authenticationManager);

   }

 

 }

 

 

그리고 다시 테스트를 하면 원하는 결과를 얻을 수 있습니다.


oauth2 grant type password

oauth2 grant type password


- copy coding -


 

프로그램 할 때 query log가 안보이면 제대로 실행이 되고 있는 건지 디버깅도 힘들고 답답하기 때문에 로그 보는 설정을 먼저 진행하게 됩니다오늘 진행하는 작업은 대부분의 Database가 동일한 방법으로 작업이 가능 합니다.

 

먼저 maven을 이용하여 log4j2를 추가 합니다.


pom.xml 

        <dependency>

            <groupId>org.bgee.log4jdbc-log4j2</groupId>

            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>

            <version>1.16</version>

        </dependency>

 

그리고 추가한 라이브러리가 작동할 수 있도록 application.properties

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

를 추가하고 source urllog4jdbc 를 추가 해줍니다


application.properties

## PostgreSQL

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

#spring.datasource.url=jdbc:postgresql://localhost:5432/copydb

spring.datasource.url=jdbc:log4jdbc:postgresql://localhost:5432/copydb

spring.datasource.username=copycoding

spring.datasource.password=copy123

 

다른 데이터 베이스를 사용 하는 경우에도 첫 번째 라인인 DriverSpy는 추가해 주고 url 부분을 다음처럼 변경을 합니다.

spring.datasource.url=jdbc:log4jdbc:oracle:thin:@localhost:1521/xe

spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3306/testdb

spring.datasource.url=jdbc:log4jdbc:mysql://localhost/testdb

 

그리고 실행을 하면 아래 그림처럼


sql query log


모든 값들이 정리되지 않고 나오게 되는데 이제 정리를 하기 위한 설정을 추가해 줍니다.


 

src/main/resources 폴더에 properties 파일을 하나 생성 합니다.


log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4jdbc.dump.sql.maxlinelength=0

  

src/main/resources 폴더에 추가로 xml 파일을 생성 합니다.


logback.xml

<?xml version="1.0" encoding="UTF-8"?>

 

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>

      <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>

    </encoder>

  </appender>

 

  <logger name="jdbc" level="OFF"/>

 

  <logger name="jdbc.sqlonly" level="OFF"/>

  <logger name="jdbc.sqltiming" level="DEBUG"/>

  <logger name="jdbc.audit" level="OFF"/>

  <logger name="jdbc.resultset" level="OFF"/>

  <logger name="jdbc.resultsettable" level="DEBUG"/>

  <logger name="jdbc.connection" level="OFF"/>

 

  <root level="INFO">

    <appender-ref ref="STDOUT" />

  </root>

 

</configuration>

 

이제 다시 실행을 하고 console을 보게 되면 


sql query log


보기 좋게 형식을 갖추어 출력이 됩니다.


- copy coding -


1···12131415161718···62

+ Recent posts