반응형

개발해놓은 결제로직 테스트를 위한

테스트페이지를 만들어보다가 다양한 경우의 수 테스트를 가로로 정렬해서 한눈에 보면 좋겠다고

생각해서 찾아보았다.

 

백엔드 개발자라서 html/css쪽은 잘 모르는데 flex속성으로 간단하게 정렬할수 있다는걸 알고 WOW

 

우선 각 table들을 div로 감싸고 

상위 div로 전체를 감싸준다.  

 

상위 div에는 "display: flex;" 속성을 주고

각 table을 감싼 div에는 "flex: 1"  속성을 주면 끝

 

 

<예제소스>

<div style="display: flex;">
	<div style="flex: 1">
		<form name="payForm1" action="" method="post" >
			<table>
				<tr>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                	<td></td>
                    <td></td>
                </tr>
			</table>
		</form>
	</div>
	<div style="flex: 1">
		<form name="payForm2" action="" method="post" >
            <table>
                <tr>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                </tr>
            </table>         
        </form> 
	</div>
	<div style="flex: 1">
		<form name="payForm3" action="" method="post" >
			<table>
                <tr>
                	<td></td>
                	<td></td>
                </tr>
			</table>     	
    	</form>
	</div>
</div>

flex : 숫자 는 비율을 뜻함

3개의 div에 1을 선언하므로써 1:1:1 똑같은 비율로 정렬

 

반응형에서 사용하기 좋은 css속성인듯~

 

<결과화면>

참고문서

 

flex - CSS: Cascading Style Sheets | MDN

flex CSS 속성은 하나의 플렉스 아이템이 자신의 컨테이너가 차지하는 공간에 맞추기 위해 크기를 키우거나 줄이는 방법을 설정하는 속성입니다.

developer.mozilla.org

 

반응형

log4j 보안 취약점 대응 가이드 및 매뉴얼 참고

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

기존 pom.xml

<properties>
	<log4j.version>1.2.12</log4j.version>
</properties>
    
<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.13</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.13</version>
        <scope>test</scope>
    </dependency>
</dependencies>

최신 log4j 다운로드 경로

 

Log4j – Download Apache Log4j 2

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

logging.apache.org

1. pom.xml 변경(라이브러리 추가/제거)

log4j 1.2.12 제거하고 log4j 2.17.2 버전으로 업데이트 

( 참고로 현재 사용하고 있는 java 버전은 1.8)

 

log4j-1.2.12.jar 제거하고 log4j-api-2.17.2.jar , log4j-core-2.17.2.jar, log4j-web-2.17.2.jar 3개 추가

slf4j-log4j12-1.7.13.jar 제거하고 log4j-slf4j-impl-2.17.2.jar 추가

slf4j-api-1.7.13.jar 를 slf4j-api-1.7.25.jar로 변경

 

변경 pom.xml

<properties>
	<log4j.version>2.17.2</log4j.version>
</properties>
    
<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j-web</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j-impl</artifactId>
        <version>1.7.13</version>
        <scope>test</scope>
    </dependency>
</dependencies>

local PC에서 진행 시 pom.xml 수정 후 maven Update 이용

 

2. log4j2.xml 추가

log4j-2.x 버전에서는 log4j2.xml 파일을 찾게 되므로

기존 경로 src/main/resources에 log4j2.xml 추가

* log4j.xml과 log4j2.xml 문법 다름

 

AS-IS TO-BE


<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">

<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %-30c{2} (%-24M : %-5L) %3x : %m%n" />
</layout>
</appender>


<Configuration status="DEBUG">

<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p %-30c{2} (%-24M : %-5L) %3x : %m%n" />
    </Console>

log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">

	<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d %-5p %-30c{2} (%-24M : %-5L) %3x : %m%n" />
		</layout>
	</appender>

	<appender name="default" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="file" value="${log.path}/framework/default.log" />
		<param name="Append" value="true" />
		<param name="DatePattern" value="'.'yyyy-MM-dd" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d %-5p %-30c{2} (%-24M : %-5L) %3x : %m%n" />
		</layout>
	</appender>

	<appender name="asyncLogFile" class="org.apache.log4j.AsyncAppender">
		<param name="BufferSize" value="1024" />
		<appender-ref ref="default" />
	</appender>

	<logger name="com.jein.framework.core" additivity="false">
		<level value="INFO" />
		<appender-ref ref="default" />
		<appender-ref ref="stdout"/>
	</logger>
    
	<root>
		<level value="ERROR" />
		<appender-ref ref="stdout" />
	</root>
</log4j:configuration>

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
	<Appenders>
		<Console name="stdout" target="SYSTEM_OUT">
			<PatternLayout pattern="%d %-5p %-30c{2} (%-24M : %-5L) %3x : %m%n" />
   		</Console>
  
		<RollingFile name="default" fileName="${log.path}/framework/default.log" 
			filePattern="${log.path}/framework/default.log.%d{yyyy-MM-dd}">
			<PatternLayout pattern="${ConversionPattern}" />
			<Policies>
				<SizeBasedTriggeringPolicy size="10MB" />      
				<TimeBasedTriggeringPolicy module="true" interval="1"/>
			</Policies>
		</RollingFile>
	</Appenders>

	<Async name="asyncLogFile" includeLocation="true">
        <AppenderRef ref="default" />
    </Async>

	<Loggers>
		<logger name="com.jein.framework.core" level="INFO" additivity="false" >
            <AppenderRef ref="default" />
            <AppenderRef ref="stdout" />
        </logger>

        <Root level="ERROR" additivity="false" >
            <AppenderRef ref="stdout" />
        </Root>
	</Loggers>
</Configuration>

 

3. 실행시 컴파일 에러해결 -> import 변경

log4j2로 업그레이드 하면서 AS-IS 에서 아래와 같이 선언해서 사용하던 logger에서 에러남

import org.apache.log4j.Logger;


public class Test {
private Logger logger = Logger.getLogger(Test .class);

	public Test(Object request){
		logger.info("here");
    }
   }

TO-BE 변경 내용

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Test {
private Logger logger = LogManager.getLogger(Test .class);

	public Test(Object request){
		logger.info("here");
    }
   }

import org.apache.log4j.Logger; -> (log4j2) import org.apache.logging.log4j.Logger; 로 수정

Logger.gtLogger(); ->  (log4j2) LogManager.getLogger () 로 수정

 

수정할 java파일이 너무많.....흑흑흑흑흑

위와 같이 변경 후 재실행하면 log4j2로 업그레이드 완료

반응형

이클립스에서 창을 드래그하다가 이상하게 배치되어서

닫히지도않고 난감한 상황이 왔을 때 해결방법

 

재배치하려고 노력하다가 초기화하는 방법을 택하는게 젤 속편함 ㅎㅎ

 

 

Window > prespective > Reset Perspective

초기 레이아웃으로 재배치됨

 

해결 

반응형

svn에 commit 하려고하면 아래와 같이 에러가 남

찾아보니 Team > Cleanup 하면된다고해서 시도했으나 실패

 

해결방법!!!

workspace 내 프로젝트 경로 접속 후 숨긴항목 표시하면 .svn폴더가 보이는 것을 확인

.svn폴더에서 WC.db 파일을 읽기 위해 DB 툴 필요

 

SQLLite 다운로드

https://sqlitebrowser.org/dl/

 

설치 후 실행하여 데이터베이스 열기를 통해 wc.db파일을 연다

해당 테이블 2개에 대해 내용들 지워주기

delete * from WC_LOCK / delete * from WORK_QUEUE

sql 실행 후 꼭 변경사항 저장하기 클릭

 

LOCK이 걸린 프로젝트를 다시 Team > Cleanup 실행하면 성공

Commit 재시도 시 성공~~~~

반응형

이클립스에서 search하면 자꾸 아래와 같은 경로에서도 검색되는게

너무 불편해서 .svn폴더를 제거해보기로 함

1. 프로젝트 우클릭 > Properties > Resource > Resource Filters

2. Add Fileter... 클릭

AS-IS    /      TO-BE

   Filter Type : exclude all 
   Applies to : Folders 선택 후 아래 All children(recursive) 체크

   Filter Details : Name, matches 기본선택된거 그대로 두고 뒤  .svn 입력 후 OK버튼 클릭

 

3. Apply and Close

결과 : 

search 실행 시 목록에 .svn폴더는 보이지 않고 프로젝트 경로만 표시됨을 확인

반응형

문제점1  : DB에서 값을 불러와 목록작성시 화면에서 한글깨짐 현상 발생

              톰캣 구동시 인코딩 깨짐

해결방안

 server 더블클릭 후 Open launch configuration 선택

Arguments탭에서 아래와 같이 -Dfile.encoding=UTF-8추가 한 후 Apply

결과 

문제점2  : 파일 내 한글 깨질 경우

해결방안

Preferences > General > Content Types 에서 해당확장자 선택 후 default encoding 설정 후 update

ex) java, class, css, jsp 등등

문제점3 : console로그 찍을 때 한글깨짐

해결방안

preferences > General > Workspace

하단에 text file encoding 부분에 기존 default로 체크되어 있던 부분을 UTF-8로 변경

결과

 

 

+ Recent posts