<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6040760585864424100</id><updated>2024-09-28T04:00:44.044+09:00</updated><category term="java"/><category term="ubuntu"/><category term="gentoo"/><category term="mssql"/><category term="sqlserver"/><category term="oracle"/><category term="MySQL"/><category term="eclipse"/><category term="android"/><category term="query"/><category term="cvs"/><category term="install"/><category term="jdbc"/><category term="swt"/><category term="tar"/><category term="tomcat"/><category term="AIX"/><category term="SQLite"/><category term="apache"/><category term="column"/><category term="comment"/><category term="ibatis"/><category term="jboss"/><category term="jdk"/><category term="procedure"/><category term="spring"/><category term="우분투"/><category term="자바"/><category term="GA630"/><category term="MyBatis"/><category term="WebSphere"/><category term="account"/><category term="cloudv"/><category term="commons"/><category term="connection"/><category term="context"/><category term="datasource"/><category term="exclude"/><category term="expression"/><category term="ffmpeg"/><category term="find"/><category term="firebird"/><category term="formatter"/><category term="iCal4j"/><category term="linux"/><category term="plugin"/><category term="solaris"/><category term="ssh"/><category term="subversion"/><category term="sun"/><category term="svn"/><category term="tomcat6"/><category term="transaction"/><category term="windows"/><category term="코멘트"/><category term="/proc/stat"/><category term="10.04"/><category term="11.10"/><category term="12.04"/><category term="2008"/><category term="3.1"/><category term="404"/><category term="ADT"/><category term="AsyncAppender"/><category term="AsyncLogger"/><category term="BufferSize"/><category term="CentOS"/><category term="DNS"/><category term="DatabaseMetaData"/><category term="DatePickerDialog"/><category term="EAP"/><category term="FreeBSD"/><category term="JailRoot"/><category term="Jeus"/><category term="KST"/><category term="LTS"/><category term="LogBack"/><category term="Mylyn"/><category term="RESTEasy"/><category term="Redmine"/><category term="RequestMapping"/><category term="Restlet mvc"/><category term="SLF4J"/><category term="StrSubstitutor"/><category term="Table Layout"/><category term="U54X"/><category term="UnsatisfiedLinkError"/><category term="WindowsBuilder"/><category term="ant"/><category term="apache2"/><category term="asyncQueueFullPolicy"/><category term="auto"/><category term="axis2"/><category term="bash"/><category term="batch"/><category term="bookmark"/><category term="browser"/><category term="callable"/><category term="camel case"/><category term="cast"/><category term="chkrootkit"/><category term="class"/><category term="collision"/><category term="compress"/><category term="connect by"/><category term="context.xml"/><category term="convert"/><category term="cpu"/><category term="create"/><category term="crontab"/><category term="cxf"/><category term="db"/><category term="ddl"/><category term="declarative"/><category term="deploy"/><category term="dynamic"/><category term="elementary OS"/><category term="encoding"/><category term="encrypt"/><category term="enum"/><category term="event"/><category term="exception"/><category term="file"/><category term="firefox"/><category term="first_value"/><category term="for"/><category term="for xml path"/><category term="format"/><category term="frontend"/><category term="ftp"/><category term="function"/><category term="get"/><category term="git"/><category term="grub"/><category term="guide"/><category term="hello"/><category term="identity"/><category term="iexplorer"/><category term="ignore"/><category term="imp"/><category term="increment"/><category term="instance"/><category term="j2ssh"/><category term="java web start"/><category term="jcmd"/><category term="jdbcTypeForNull"/><category term="jenkins"/><category term="jersey"/><category term="jndi"/><category term="jnlp"/><category term="join"/><category term="jquery"/><category term="jre"/><category term="json"/><category term="jws"/><category term="lag"/><category term="lang"/><category term="last"/><category term="last_insert_rowid"/><category term="last_value"/><category term="lead"/><category term="libfaac-dev"/><category term="list"/><category term="locale"/><category term="lock"/><category term="log4j"/><category term="log4j2"/><category term="lucid"/><category term="mac"/><category term="md5"/><category term="merge"/><category term="message"/><category term="mirror"/><category term="mod_passenger"/><category term="modified"/><category term="multiple"/><category term="nabi"/><category term="name"/><category term="nateon"/><category term="netstat"/><category term="null"/><category term="openjdk8"/><category term="osx"/><category term="package"/><category term="parameter"/><category term="path"/><category term="pattern"/><category term="pid"/><category term="placeholders"/><category term="postfix"/><category term="postgresql"/><category term="putty"/><category term="qmail"/><category term="quick"/><category term="r18"/><category term="rate"/><category term="regular"/><category term="repository"/><category term="requirements"/><category term="return"/><category term="runtime"/><category term="scheme"/><category term="sdcard"/><category term="sdk"/><category term="sequence"/><category term="server"/><category term="service"/><category term="servlet"/><category term="session"/><category term="shcema"/><category term="spring-ws"/><category term="spring3"/><category term="statement"/><category term="string"/><category term="subclipse"/><category term="table"/><category term="tail"/><category term="time"/><category term="time zone"/><category term="timeout"/><category term="tochar"/><category term="todate"/><category term="tunneling"/><category term="tutorial"/><category term="underscore"/><category term="unixd_config"/><category term="update"/><category term="url"/><category term="user"/><category term="value"/><category term="vpopmail"/><category term="wave"/><category term="wct.sh"/><category term="web"/><category term="web.xml"/><category term="wget"/><category term="wildcard"/><category term="world"/><category term="xargs"/><category term="xml"/><category term="xulrunner"/><category term="zip"/><category term="개발환경"/><category term="계정정보"/><category term="공개"/><category term="공휴일"/><category term="구분자"/><category term="날짜"/><category term="대체공휴일"/><category term="로그"/><category term="무선랜"/><category term="배열"/><category term="사용량"/><category term="선언적"/><category term="설정"/><category term="쉘스크립트"/><category term="스키마"/><category term="스펙"/><category term="시피유"/><category term="아파치 에러"/><category term="유닉스"/><category term="이름"/><category term="컬럼"/><category term="쿼리"/><category term="테이블"/><category term="테이블 정의서"/><category term="트랜젝션"/><category term="폰트"/><category term="한성"/><category term="한성컴퓨터"/><category term="함수"/><category term="형변환"/><title type='text'>자바 이야기</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>140</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-7108755411998884065</id><published>2022-07-02T11:03:00.004+09:00</published><updated>2022-07-02T11:03:13.918+09:00</updated><title type='text'>mi remote 호환 </title><content type='html'>시네아이 C55ACS
mi remote: lg tv 2번째


위니아 RA-068MH
2008년 모델
mi remote: carrier 18번째


</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/7108755411998884065/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2022/07/mi-remote.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7108755411998884065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7108755411998884065'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2022/07/mi-remote.html' title='mi remote 호환 '/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-3757463866306515979</id><published>2022-01-27T19:48:00.002+09:00</published><updated>2022-01-27T19:49:22.760+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="java web start"/><category scheme="http://www.blogger.com/atom/ns#" term="jnlp"/><category scheme="http://www.blogger.com/atom/ns#" term="jws"/><title type='text'>Java Web Start 이용해서 excel 실행</title><content type='html'>참고사이트

https://www.baeldung.com/java-web-start

https://github.com/eugenp/tutorials/tree/master/jws

https://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/development.html#security


* 이클립스에서 dynamic web app 프로젝트 생성


* Hello 클래스 구현

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

package com.example;


import javax.swing.JFrame;

import javax.swing.JLabel;


public class Hello {

public static void main(String[] args) throws Exception {

JFrame f = new JFrame(&quot;main&quot;);

f.setSize(200, 100);

f.setLocationRelativeTo(null);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel label = new JLabel(&quot;Hello, world!&quot;);

f.add(label);

f.setVisible(true);

//FilePermission p = new FilePermission(&quot;&lt;&lt;ALL FILES&gt;&gt;&quot;, &quot;execute&quot;);

Runtime.getRuntime().exec(&quot;cmd /c start excel.exe&quot;);

}

}

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


* Configure &gt; Add maven nature


* pom.xml

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

&#39;&gt;http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;

&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;

&lt;groupId&gt;webapp&lt;/groupId&gt;

&lt;artifactId&gt;webapp&lt;/artifactId&gt;

&lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;

&lt;packaging&gt;war&lt;/packaging&gt;

&lt;build&gt;

&lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt;

&lt;plugins&gt;

&lt;plugin&gt;

&lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;

&lt;version&gt;3.7.0&lt;/version&gt;

&lt;configuration&gt;

&lt;source&gt;1.8&lt;/source&gt;

&lt;target&gt;1.8&lt;/target&gt;

&lt;/configuration&gt;

&lt;/plugin&gt;

&lt;plugin&gt;

&lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;

&lt;version&gt;3.0.0&lt;/version&gt;

&lt;configuration&gt;

&lt;warSourceDirectory&gt;WebContent&lt;/warSourceDirectory&gt;

&lt;/configuration&gt;

&lt;/plugin&gt;

&lt;plugin&gt;

&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;

&lt;artifactId&gt;maven-jar-plugin&lt;/artifactId&gt;

&lt;executions&gt;

&lt;execution&gt;

&lt;phase&gt;compile&lt;/phase&gt;

&lt;goals&gt;

&lt;goal&gt;jar&lt;/goal&gt;

&lt;/goals&gt;

&lt;configuration&gt;

&lt;archive&gt;

&lt;manifest&gt;

&lt;mainClass&gt;

com.example.Hello

&lt;/mainClass&gt;

&lt;/manifest&gt;

&lt;/archive&gt;

&lt;outputDirectory&gt;

${project.basedir}/WebContent

&lt;/outputDirectory&gt;

&lt;/configuration&gt;

&lt;/execution&gt;

&lt;/executions&gt;

&lt;/plugin&gt;


&lt;/plugins&gt;

&lt;/build&gt;

&lt;/project&gt;

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


* servlet 관련 jar 파일 복사

아래 URL에서 jardiff.jar, jnlp-servlet.jar 파일을 받아 WEB-INF/lib에 복사

https://github.com/eugenp/tutorials/tree/master/jws/java-core-samples-lib


* WEB-INF/web.xml 편집

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

&lt;!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot; &quot;http://java.sun.com/dtd/web-app_2_3.dtd&quot;&gt;

&lt;web-app&gt;

&lt;display-name&gt;Java Web Start&lt;/display-name&gt;

&lt;description&gt;JNLP Example for Java Web Start Article&lt;/description&gt;


&lt;servlet&gt;

&lt;servlet-name&gt;JnlpDownloadServlet&lt;/servlet-name&gt;

&lt;servlet-class&gt;jnlp.sample.servlet.JnlpDownloadServlet&lt;/servlet-class&gt;

&lt;/servlet&gt;

&lt;servlet-mapping&gt;

&lt;servlet-name&gt;JnlpDownloadServlet&lt;/servlet-name&gt;

&lt;url-pattern&gt;*.jar&lt;/url-pattern&gt;

&lt;/servlet-mapping&gt;

&lt;servlet-mapping&gt;

&lt;servlet-name&gt;JnlpDownloadServlet&lt;/servlet-name&gt;

&lt;url-pattern&gt;*.jnlp&lt;/url-pattern&gt;

&lt;/servlet-mapping&gt;


&lt;welcome-file-list&gt;

&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;

&lt;/welcome-file-list&gt;

&lt;/web-app&gt;

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


* WebContent 디렉토리에 index.html 파일생성

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

&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta charset=&quot;UTF-8&quot;&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;a href=&quot;hello.jnlp&quot;&gt;Launch&lt;/a&gt;

&lt;/body&gt;

&lt;/html&gt;

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


* WebContent 디렉토리에 hello.jnlp 파일생성

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

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

&lt;jnlp spec=&quot;1.0+&quot; codebase=&quot;http://localhost:8080/webapp&quot;&gt;

    &lt;information&gt;

        &lt;title&gt;Hello&lt;/title&gt;

        &lt;vendor&gt;Example&lt;/vendor&gt;

    &lt;/information&gt;

    &lt;resources&gt;

        &lt;j2se version=&quot;1.2+&quot;/&gt;

        &lt;jar href=&quot;webapp-0.0.1-SNAPSHOT.jar&quot; main=&quot;true&quot; /&gt;

    &lt;/resources&gt;

    &lt;application-desc/&gt;

    &lt;security&gt;

    &lt;all-permissions/&gt;

    &lt;/security&gt;

&lt;/jnlp&gt;

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


* jar 파일생성: 프로젝트 우클릭 &gt; Run As &gt; Maven Install


* jar 파일 sign

cmd &gt; cd [webapp-dir]


# keytool -genkey -keystore myKeystore -alias myself

# keytool -selfcert -alias myself -keystore myKeystore

# keytool -list -keystore myKeystore

# jarsigner -keystore myKeystore webapp-0.0.1-SNAPSHOT.jar myself


* 톰켓에 Dynamic web app 프로젝트를 추가하고 시작


* http://localhost:8080/webapp/ 접속 &amp; Launch 버튼클릭

hello.jnlp 다운로드

hello.jnpl 파일열기</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/3757463866306515979/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2022/01/java-web-start-excel.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3757463866306515979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3757463866306515979'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2022/01/java-web-start-excel.html' title='Java Web Start 이용해서 excel 실행'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-6093245059882808053</id><published>2021-07-20T21:41:00.004+09:00</published><updated>2021-07-20T21:41:36.689+09:00</updated><title type='text'>이클립스 플러그인 다운로드 배치파일</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;* eclipse.exe 디렉토리에서 실행&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SET UPDATE_SITE_URL=http://www.domui.org/eclipse-updates/&lt;/p&gt;&lt;p&gt;SET DOWNLOAD_LOCAL_PATH=C:\java\tmp&lt;/p&gt;&lt;p&gt;SET ECLIPSE_HOME=.&lt;/p&gt;&lt;p&gt;%ECLIPSE_HOME%\eclipse.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source %UPDATE_SITE_URL% -destination %DOWNLOAD_LOCAL_PATH%&lt;/p&gt;&lt;p&gt;%ECLIPSE_HOME%\eclipse.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source %UPDATE_SITE_URL% -destination %DOWNLOAD_LOCAL_PATH%&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/6093245059882808053/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2021/07/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6093245059882808053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6093245059882808053'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2021/07/blog-post.html' title='이클립스 플러그인 다운로드 배치파일'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-5111234923064978874</id><published>2020-08-28T13:30:00.005+09:00</published><updated>2020-08-28T13:30:39.702+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle"/><title type='text'>Java System.currentTimeMillis()를 오라클에서 </title><content type='html'>&lt;p&gt;&amp;nbsp;select systimestamp&lt;/p&gt;&lt;p&gt;, to_number(sysdate - to_date(&#39;01-01-1970&#39;,&#39;DD-MM-YYYY&#39;)) * (24 * 60 * 60 * 1000) milliseconds&lt;/p&gt;&lt;p&gt;from dual&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/5111234923064978874/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/08/java-systemcurrenttimemillis.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5111234923064978874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5111234923064978874'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/08/java-systemcurrenttimemillis.html' title='Java System.currentTimeMillis()를 오라클에서 '/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-6368751411736284768</id><published>2020-07-21T17:46:00.000+09:00</published><updated>2020-07-21T17:46:06.761+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="jcmd"/><title type='text'>jcmd 사용법</title><content type='html'>* jcmd 사용법&lt;br /&gt;
1. jcmd 실행하면 실행중인 자바 프로세스 목록 출력됨&lt;br /&gt;
&lt;br /&gt;
2. jcmd &amp;lt;1의 PID&amp;gt; 명령&lt;br /&gt;
명령어 목록은 아래 링크 참조&lt;br /&gt;
https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html&lt;br /&gt;
&lt;br /&gt;
ex. 실행중인 Jmeter의 JVM 버전확인&lt;br /&gt;
$ jcmd&lt;br /&gt;
40336 ApacheJMeter.jar&lt;br /&gt;
&lt;br /&gt;
$ jcmd 40336 VM.version&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/6368751411736284768/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/07/jcmd.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6368751411736284768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6368751411736284768'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/07/jcmd.html' title='jcmd 사용법'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-7282931032246990089</id><published>2020-05-18T10:06:00.002+09:00</published><updated>2020-07-22T09:36:36.145+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AsyncAppender"/><category scheme="http://www.blogger.com/atom/ns#" term="AsyncLogger"/><category scheme="http://www.blogger.com/atom/ns#" term="asyncQueueFullPolicy"/><category scheme="http://www.blogger.com/atom/ns#" term="BufferSize"/><category scheme="http://www.blogger.com/atom/ns#" term="log4j2"/><category scheme="http://www.blogger.com/atom/ns#" term="설정"/><title type='text'>log4j2 AsyncQueueFullPolicy / asyncLoggerConfigRingBufferSize 설정</title><content type='html'>* log4j2.asyncQueueFullPolicy: AsyncQueueFull 상태일때 처리 클래스 지정&lt;br /&gt;
-Dlog4j2.asyncQueueFullPolicy= org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy&lt;br /&gt;
&lt;br /&gt;
DiscardingAsyncQueueFullPolicy(QueueFull 상태이면 무시),&amp;nbsp;DefaultAsyncQueueFullPolicy 등을 지정하거나&amp;nbsp;AsyncQueueFullPolicy 인터페이스를 상속받아 구현한 클래스 지정가능&lt;br /&gt;
&lt;br /&gt;
생성자나 상황발생시 전달되는 파라미터에 Logger나 Append 정보가 없어 어떤 Logger이나 Append 등에서 발생했는지는 확인할 수 없다. -.-&lt;br /&gt;
&lt;br /&gt;
AsyncLogger, AsyncAppender에 같이 적용&lt;br /&gt;
&lt;br /&gt;
* asyncLogger의 버퍼사이즈 설정, 최소값 128&lt;br /&gt;
-Dlog4j2.asyncLoggerConfigRingBufferSize=128&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
* log4j 2 configuration&lt;/div&gt;
&lt;div&gt;
https://logging.apache.org/log4j/2.x/manual/async.html&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/7282931032246990089/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/05/log4j-2-asyncqueuefullpolicy.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7282931032246990089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7282931032246990089'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/05/log4j-2-asyncqueuefullpolicy.html' title='log4j2 AsyncQueueFullPolicy / asyncLoggerConfigRingBufferSize 설정'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-4893015110312814754</id><published>2020-03-18T13:13:00.000+09:00</published><updated>2020-03-18T13:24:24.047+09:00</updated><title type='text'>HP Notebook - 15-db1042au</title><content type='html'>드라이버 다운로드&lt;div&gt;
&lt;a href=&quot;https://support.hp.com/kr-ko/drivers/selfservice/hp-15-db1000-laptop-pc/26210240/model/29678404&quot;&gt;https://support.hp.com/kr-ko/drivers/selfservice/hp-15-db1000-laptop-pc/26210240/model/29678404&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class=&quot;table table-bordered table-steps&quot; style=&quot;background-color: white; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #767676; font-family: HPSimplifiedLight; font-size: 17px; letter-spacing: 0.25px; margin-bottom: 20px; max-width: 100%; width: 970px;&quot;&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot; valign=&quot;top&quot;&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;제품 번호&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
7NU48PA&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;제품명&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
HP Notebook - 15-db1042au&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Microprocessor&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
AMD Ryzen ™ 5 3500U (Radeon ™ Vega 8 그래픽 포함) (2.1GHz 기본 클록, 최대 3.7GHz 최대 부스트 클록, 6MB 캐시, 4 코어)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Chipset&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
AMD 통합 SoC&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Video graphics&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
AMD Radeon ™ Vega 8 그래픽&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Hard drive&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
256 GB PCIe® NVMe ™ M.2 SSD&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Display&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
15.6 &quot;대각선 FHD IPS 눈부심 방지 마이크로 에지 WLED- 백라이트 (1920 x 1080)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;네트워크 인터페이스&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
통합 10/100/1000 GbE LAN&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;확장 슬롯&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
멀티 포맷 SD 미디어 카드 리더기 1개&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;외부 포트&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
USB 3.1 Gen 1 Type-A 2개(데이터 전송 전용); USB 2.0 Type-A 1개(데이터 전송 전용); 1 RJ-45; 1 AC 스마트 핀; HDMI 1개; 헤드폰/마이크 콤보 1개&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;최소 규격(너비 x 길이 x 높이)&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
37.6 x 24.6 x 2.25cm&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;무게&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
최소 1.8kg&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;오디오 기능&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
듀얼 스피커&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2 class=&quot;heading&quot; id=&quot;AbT1&quot; style=&quot;background-color: white; border: none; box-sizing: border-box; color: #0096d6; cursor: default; font-family: HPSimplifiedLight; font-size: 27px; font-weight: normal; letter-spacing: 0.25px; line-height: 30px; margin: 20px 0px; padding: 0px; position: relative;&quot;&gt;
소프트웨어&lt;/h2&gt;
&lt;div class=&quot;content&quot; style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: HPSimplifiedLight; font-size: 16px; margin: 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; letter-spacing: 0.25px; line-height: 22px; margin: 20px 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;table-responsive enableScrollOnOverflow&quot; style=&quot;box-sizing: border-box; margin: 0px; overflow: auto !important; padding: 0px 0px 15px;&quot;&gt;
&lt;table class=&quot;table table-bordered table-steps&quot; style=&quot;background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #767676; margin-bottom: 20px; max-width: 100%; width: 970px;&quot;&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot; valign=&quot;top&quot;&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;Operating system&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
FreeDOS 1.2&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;HP apps&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
HP Audio Switch; HP 설명서; HP ePrint; HP JumpStart; HP Support Assistant&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #373737; font-weight: inherit; margin: 0px; padding: 15px; text-align: inherit; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
&lt;strong class=&quot;bold&quot; style=&quot;box-sizing: border-box; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px !important;&quot;&gt;포함된 소프트웨어&lt;/strong&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td align=&quot;left&quot; rowspan=&quot;1&quot; style=&quot;border: 1px solid rgb(204, 204, 204); box-sizing: border-box; margin: 0px; padding: 15px; vertical-align: middle;&quot; valign=&quot;top&quot;&gt;&lt;div class=&quot;para&quot; style=&quot;box-sizing: border-box; color: black; font-size: 17px; line-height: 22px; margin: 0px !important; padding: 0px;&quot;&gt;
McAfee LiveSafe™&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;table-responsive enableScrollOnOverflow&quot; style=&quot;box-sizing: border-box; margin: 0px; overflow: auto !important; padding: 0px 0px 15px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;table-responsive enableScrollOnOverflow&quot; style=&quot;box-sizing: border-box; margin: 0px; overflow: auto !important; padding: 0px 0px 15px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/4893015110312814754/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/03/hp-notebook-15-db1042au.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/4893015110312814754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/4893015110312814754'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/03/hp-notebook-15-db1042au.html' title='HP Notebook - 15-db1042au'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-176961691379266837</id><published>2020-03-12T15:20:00.000+09:00</published><updated>2020-03-12T15:20:13.673+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Table Layout"/><category scheme="http://www.blogger.com/atom/ns#" term="테이블 정의서"/><title type='text'>MySQL 테이블 정의서 조회 쿼리</title><content type='html'>SELECT&lt;br /&gt;
IFNULL(T2.TABLE_COMMENT, T1.TABLE_NAME) AS TABLE_COMMENT&lt;br /&gt;
, T1.TABLE_NAME, T1.ORDINAL_POSITION, T1.COLUMN_COMMENT&lt;br /&gt;
, T1.COLUMN_NAME, UPPER(T1.DATA_TYPE) AS DATA_TYPE&lt;br /&gt;
, (CASE T1.DATA_TYPE WHEN &#39;varchar&#39; THEN T1.CHARACTER_MAXIMUM_LENGTH ELSE &#39;&#39; END) AS DATA_LENGTH&lt;br /&gt;
, (CASE T1.IS_NULLABLE WHEN &#39;NO&#39; THEN &#39;Y&#39; ELSE &#39;&#39; END) AS NOT_NULL&lt;br /&gt;
, (CASE T1.COLUMN_KEY WHEN &#39;PRI&#39; THEN &#39;Y&#39; ELSE &#39;&#39; END) AS IS_PK&lt;br /&gt;
, T1.COLUMN_DEFAULT&lt;br /&gt;
&lt;br /&gt;
FROM (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SELECT&lt;br /&gt;
&amp;nbsp; &amp;nbsp; *&lt;br /&gt;
&amp;nbsp; &amp;nbsp; FROM INFORMATION_SCHEMA.COLUMNS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; WHERE TABLE_SCHEMA = &#39;dbzimyung&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; AND TABLE_NAME LIKE &#39;m_%&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ORDER BY TABLE_NAME ASC, ORDINAL_POSITION ASC&lt;br /&gt;
) T1&lt;br /&gt;
INNER JOIN (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SELECT&lt;br /&gt;
&amp;nbsp; &amp;nbsp; TABLE_NAME, TABLE_COMMENT&lt;br /&gt;
&amp;nbsp; &amp;nbsp; FROM `INFORMATION_SCHEMA`.`TABLES`&lt;br /&gt;
&amp;nbsp; &amp;nbsp; WHERE TABLE_NAME LIKE &#39;m_%&#39;&lt;br /&gt;
) T2 ON T2.TABLE_NAME = T1.TABLE_NAME</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/176961691379266837/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/176961691379266837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/176961691379266837'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql.html' title='MySQL 테이블 정의서 조회 쿼리'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-6109545885061853732</id><published>2020-03-12T14:51:00.004+09:00</published><updated>2020-03-12T14:52:17.958+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="comment"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="query"/><category scheme="http://www.blogger.com/atom/ns#" term="shcema"/><category scheme="http://www.blogger.com/atom/ns#" term="스키마"/><category scheme="http://www.blogger.com/atom/ns#" term="코멘트"/><category scheme="http://www.blogger.com/atom/ns#" term="쿼리"/><title type='text'>MySQL schema query with comment</title><content type='html'>&lt;b&gt;Table&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM `INFORMATION_SCHEMA`.`TABLES`&lt;br /&gt;
WHERE TABLE_NAME LIKE &#39;m_%&#39;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Column&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM INFORMATION_SCHEMA.COLUMNS&lt;br /&gt;
WHERE TABLE_SCHEMA = &#39;dbname&#39;&lt;br /&gt;
AND TABLE_NAME LIKE &#39;T_%&#39;&lt;br /&gt;
ORDER BY TABLE_NAME ASC, ORDINAL_POSITION ASC&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/6109545885061853732/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql-schema-query.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6109545885061853732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6109545885061853732'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql-schema-query.html' title='MySQL schema query with comment'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-2685623492349916087</id><published>2020-03-12T14:45:00.001+09:00</published><updated>2020-03-12T14:45:10.174+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="KST"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="time zone"/><title type='text'>MySQL &quot;The server time zone value ‘KST’ is unrecognized or represents more than one time zone&quot; error</title><content type='html'>MySQL JDBC로 접속시 아래와 같은 에러가 발생할 경우 처리&lt;br /&gt;
&lt;br /&gt;
The server time zone value ‘KST’ is unrecognized or represents more than one time zone&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;원인&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
mysql-connector-java 버전 6.x 이후 버전부터는 KST 타임존을 인식하지 못하는 것으로 판단됨&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;해결방안1&lt;/b&gt;&lt;br /&gt;
mysql-connector-java 5.x 버전 이용 (ex.&amp;nbsp;mysql-connector-java-5.1.47)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/2685623492349916087/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql-server-time-zone-value-kst-is.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/2685623492349916087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/2685623492349916087'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2020/03/mysql-server-time-zone-value-kst-is.html' title='MySQL &quot;The server time zone value ‘KST’ is unrecognized or represents more than one time zone&quot; error'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-8779462036022514665</id><published>2017-09-11T10:55:00.002+09:00</published><updated>2017-09-11T10:55:57.038+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="jre"/><category scheme="http://www.blogger.com/atom/ns#" term="requirements"/><category scheme="http://www.blogger.com/atom/ns#" term="tomcat"/><title type='text'>apache tomcat jre requirements</title><content type='html'>http://tomcat.apache.org/whichversion.html&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSEvNPfVP_ObRCw369B0kqD5B38H_jJfSN-VYiSmgXLhWfTzoD9eTI95ovhhtOO0uBzCrp0gIFzOt00ZmGuYSl0OMQTU2lWSp3bHnrmyhgjAQ8hU4wfDN4UY9S1clY3Jf8nH95UtkHiUB/s1600/tomcat.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;405&quot; data-original-width=&quot;1109&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSEvNPfVP_ObRCw369B0kqD5B38H_jJfSN-VYiSmgXLhWfTzoD9eTI95ovhhtOO0uBzCrp0gIFzOt00ZmGuYSl0OMQTU2lWSp3bHnrmyhgjAQ8hU4wfDN4UY9S1clY3Jf8nH95UtkHiUB/s1600/tomcat.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/8779462036022514665/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2017/09/apache-tomcat-jre-requirements.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/8779462036022514665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/8779462036022514665'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2017/09/apache-tomcat-jre-requirements.html' title='apache tomcat jre requirements'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSEvNPfVP_ObRCw369B0kqD5B38H_jJfSN-VYiSmgXLhWfTzoD9eTI95ovhhtOO0uBzCrp0gIFzOt00ZmGuYSl0OMQTU2lWSp3bHnrmyhgjAQ8hU4wfDN4UY9S1clY3Jf8nH95UtkHiUB/s72-c/tomcat.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-4197980859446322722</id><published>2017-09-11T10:40:00.001+09:00</published><updated>2017-09-11T10:46:17.923+09:00</updated><title type='text'>이클립스 버전별 JRE 요구사항</title><content type='html'>출처: https://wiki.eclipse.org/Eclipse/Installation&lt;br /&gt;
&lt;br /&gt;
4.7 (Oxygen)&lt;br /&gt;
Java 8&lt;br /&gt;
&lt;br /&gt;
4.6 (Neon)&lt;br /&gt;
Java 8&lt;br /&gt;
&lt;br /&gt;
4.5 (Mars)&lt;br /&gt;
Java 7&lt;br /&gt;
&lt;br /&gt;
4.4 (Luna)&lt;br /&gt;
Java 7&lt;br /&gt;
&lt;br /&gt;
4.3 (Kepler)&lt;br /&gt;
Java 6&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/4197980859446322722/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2017/09/jdk.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/4197980859446322722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/4197980859446322722'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2017/09/jdk.html' title='이클립스 버전별 JRE 요구사항'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-3748167433939648906</id><published>2016-01-08T15:14:00.000+09:00</published><updated>2016-01-08T15:14:07.081+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeBSD"/><category scheme="http://www.blogger.com/atom/ns#" term="openjdk8"/><title type='text'>FreeBSD + openjdk8 + eclipse</title><content type='html'># vi .cshrc&lt;br /&gt;setenv&amp;nbsp; LANG ko_KR.UTF-8 &lt;br /&gt;setenv&amp;nbsp; LC_ALL ko_KR.UTF-8&lt;br /&gt;&lt;br /&gt;# pkg install gnome-desktop gdm xorg xf86-video-fbdev&lt;br /&gt;&lt;br /&gt;# vi /etc/rc.conf&lt;br /&gt;gnome_enable=&quot;YES&quot;&lt;br /&gt;moused_enable=&quot;YES&quot;&lt;br /&gt;dbus_enable=&quot;YES&quot;&lt;br /&gt;hald_enable=&quot;YES&quot;&lt;br /&gt;&lt;br /&gt;&amp;lt;reboot&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# pkg install security/sudo&lt;br /&gt;# visudo&lt;br /&gt;alice ALL=(ALL) ALL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-ports-on-freebsd-10-1&lt;br /&gt;# sudo portsnap fetch extract&lt;br /&gt;# sudo portsnap fetch update&lt;br /&gt;&lt;br /&gt;# sudo make config fetch checksum depends extract patch configure build install&lt;br /&gt;&lt;br /&gt;# cd /usr/ports/java &amp;amp;&amp;amp; ls -d openjdk*&lt;br /&gt;# sudo portmaster java/openjdk8&lt;br /&gt;&lt;br /&gt;# pkg search openjdk&lt;br /&gt;# sudo pkg install openjdk8&lt;br /&gt;&lt;br /&gt;# pkg search eclipse&lt;br /&gt;# sudo pkg install eclipse-4.5.1&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/3748167433939648906/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2016/01/freebsd-openjdk8-eclipse.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3748167433939648906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3748167433939648906'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2016/01/freebsd-openjdk8-eclipse.html' title='FreeBSD + openjdk8 + eclipse'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-443247461138047872</id><published>2015-12-15T13:08:00.002+09:00</published><updated>2015-12-15T13:08:55.020+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mod_passenger"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="unixd_config"/><category scheme="http://www.blogger.com/atom/ns#" term="아파치 에러"/><category scheme="http://www.blogger.com/atom/ns#" term="우분투"/><title type='text'>아파치 에러(mod_passenger unixd_config) 처리</title><content type='html'>&lt;b&gt;에러내용&lt;/b&gt;&lt;br /&gt;
$ /etc/apache2# service apache2 start&lt;br /&gt;&amp;nbsp;* Starting web server apache2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;* The apache2 configtest failed.&lt;br /&gt;Output of config test was:&lt;br /&gt;apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/passenger.load: Cannot load /var/lib/gems/1.8/gems/passenger-4.0.46/buildout/apache2/mod_passenger.so into server: /var/lib/gems/1.8/gems/passenger-4.0.46/buildout/apache2/mod_passenger.so: undefined symbol: unixd_config&lt;br /&gt;Action &#39;configtest&#39; failed.&lt;br /&gt;The Apache error log may have more information.&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;원인&lt;/b&gt;&lt;br /&gt;
Apache 2.4에서 unixd_config 이름이 ap_unixd_config 로 변경됨 &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;해결방안&lt;/b&gt;&lt;br /&gt;
아래 바이너러를 설치하고 아파치 실행&lt;br /&gt;
$ apt-get install libapache2-mod-passenger&lt;br /&gt;&lt;br /&gt;또는&lt;br /&gt;
./bin/passenger-install-apache2-module로 모듈 재컴파일</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/443247461138047872/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2015/12/modpassenger-unixdconfig.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/443247461138047872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/443247461138047872'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2015/12/modpassenger-unixdconfig.html' title='아파치 에러(mod_passenger unixd_config) 처리'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-5418387251060651848</id><published>2015-12-03T15:47:00.001+09:00</published><updated>2015-12-03T15:47:29.742+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="swt"/><category scheme="http://www.blogger.com/atom/ns#" term="WindowsBuilder"/><category scheme="http://www.blogger.com/atom/ns#" term="자바"/><title type='text'>WindowsBuilder 설치하기</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrB4JuqoAs9TOvvED1-snhMwlFAAaQh5hmFpQ0I99K5rhkdqy5zWUlAf0Ni42AkafipJYMS6W4tYhudiyNKeL5CiRMl9POedvahlI2WDlFSNuNrHwtBSYClrw7pdhk9pERTUyN1pMTiqSt/s1600/userinterface.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;420&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrB4JuqoAs9TOvvED1-snhMwlFAAaQh5hmFpQ0I99K5rhkdqy5zWUlAf0Ni42AkafipJYMS6W4tYhudiyNKeL5CiRMl9POedvahlI2WDlFSNuNrHwtBSYClrw7pdhk9pERTUyN1pMTiqSt/s640/userinterface.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
SWT UI 디자인을 편하게 해주는 툴이당.&lt;br /&gt;http://www.eclipse.org/windowbuilder/download.php 에서 다운로드 경로 확인&lt;br /&gt;Help &amp;gt; Install new software 선택하고 Add 클릭한 다음 위 URL 입력&lt;br /&gt;SWT Designer, WindowsBuilder Engine 체크하고 설치하기&lt;br /&gt;&lt;br /&gt;디자인할 자바 파일을 우클릭한 다음 Open With &amp;gt; WindowsBuilder Editor 선택&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/5418387251060651848/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2015/12/windowsbuilder.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5418387251060651848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5418387251060651848'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2015/12/windowsbuilder.html' title='WindowsBuilder 설치하기'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrB4JuqoAs9TOvvED1-snhMwlFAAaQh5hmFpQ0I99K5rhkdqy5zWUlAf0Ni42AkafipJYMS6W4tYhudiyNKeL5CiRMl9POedvahlI2WDlFSNuNrHwtBSYClrw7pdhk9pERTUyN1pMTiqSt/s72-c/userinterface.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-2771460328143113088</id><published>2015-12-03T15:24:00.000+09:00</published><updated>2015-12-03T15:24:03.313+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="swt"/><title type='text'>SWT 개발환경 구축하기</title><content type='html'>&lt;br /&gt;&lt;br /&gt;SWT 다운로드 &lt;br /&gt;http://www.eclipse.org/swt/&lt;br /&gt;&lt;br /&gt;File &amp;gt; Import &amp;gt; General &amp;gt; Existing Projects into Workspace&lt;br /&gt;Select archive file 선택하고 Browser 버튼을 클릭해서 다운받은 파일 지정하고 Finish 클릭&lt;br /&gt;&lt;br /&gt;File &amp;gt; New &amp;gt; Java Project 선택하고 기타 정보를 입력한 후 프로젝트 생성&lt;br /&gt;생성한 프로젝트 Properties에서 Java Build Path &amp;gt; Projects 선택하고 Add 버튼 클릭&lt;br /&gt;org.eclipse.swt 체크하고 OK&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/2771460328143113088/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2015/12/swt.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/2771460328143113088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/2771460328143113088'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2015/12/swt.html' title='SWT 개발환경 구축하기'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-6770622072291241257</id><published>2015-12-03T13:21:00.000+09:00</published><updated>2015-12-03T13:21:07.482+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="공휴일"/><category scheme="http://www.blogger.com/atom/ns#" term="대체공휴일"/><category scheme="http://www.blogger.com/atom/ns#" term="자바"/><title type='text'>공휴일 여부 확인 메서드 (대체공휴일 포함)</title><content type='html'>&lt;br /&gt;
package util;&lt;br /&gt;&lt;br /&gt;import java.text.ParseException;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.lang3.StringUtils;&lt;br /&gt;import org.apache.commons.lang3.time.DateFormatUtils;&lt;br /&gt;import org.apache.commons.lang3.time.DateUtils;&lt;br /&gt;import org.slf4j.Logger;&lt;br /&gt;import org.slf4j.LoggerFactory;&lt;br /&gt;&lt;br /&gt;import com.ibm.icu.util.ChineseCalendar;&lt;br /&gt;&lt;br /&gt;public class Holiday {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static Logger logger = LoggerFactory.getLogger(Holiday.class);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) throws Exception {&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; long date = DateUtils.parseDate(&quot;20180507&quot;, &quot;yyyyMMdd&quot;).getTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; long date = DateUtils.parseDate(&quot;20160210&quot;, &quot;yyyyMMdd&quot;).getTime();&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; long date = DateUtils.parseDate(&quot;20171006&quot;, &quot;yyyyMMdd&quot;).getTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean isLegalHoliday = isLegalHoliday(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean isWeekend = isWeekend(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean isAlternative = isAlternative(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean isHoliday = isHoliday(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(isLegalHoliday);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(isWeekend);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(isAlternative);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(isHoliday);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* 공휴일 여부&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean isHoliday(long date) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return isLegalHoliday(date) || isWeekend(date) || isAlternative(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* 음력날짜 구하기&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String getLunarDate(long date) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ChineseCalendar cc = new ChineseCalendar(new java.util.Date(date));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String m = String.valueOf(cc.get(ChineseCalendar.MONTH) + 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m = StringUtils.leftPad(m, 2, &quot;0&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String d = String.valueOf(cc.get(ChineseCalendar.DAY_OF_MONTH));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = StringUtils.leftPad(d, 2, &quot;0&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return m + d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* 법정휴일&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean isLegalHoliday(long date) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String[] solar = {&quot;0101&quot;, &quot;0301&quot;, &quot;0505&quot;, &quot;0606&quot;, &quot;0815&quot;, &quot;1225&quot;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String[] lunar = {&quot;0101&quot;, &quot;0102&quot;, &quot;0408&quot;, &quot;0814&quot;, &quot;0815&quot;, &quot;0816&quot;, &quot;1231&quot;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;String&amp;gt; solarList = Arrays.asList(solar);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;String&amp;gt; lunarList = Arrays.asList(lunar);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String solarDate = DateFormatUtils.format(date, &quot;MMdd&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ChineseCalendar cc = new ChineseCalendar(new java.util.Date(date));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String y = String.valueOf(cc.get(ChineseCalendar.EXTENDED_YEAR) - 2637);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String m = String.valueOf(cc.get(ChineseCalendar.MONTH) + 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m = StringUtils.leftPad(m, 2, &quot;0&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String d = String.valueOf(cc.get(ChineseCalendar.DAY_OF_MONTH));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = StringUtils.leftPad(d, 2, &quot;0&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String lunarDate = m + d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (solarList.indexOf(solarDate) &amp;gt;= 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (lunarList.indexOf(lunarDate) &amp;gt;= 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* 주말 (토,일)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean isWeekend(long date) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Calendar calendar = Calendar.getInstance();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTimeInMillis(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //SUNDAY:1 SATURDAY:7&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; result = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* 대체공휴일&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static boolean isAlternative(long date) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; boolean result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //설날 연휴와 추석 연휴가 다른 공휴일과 겹치는 경우 그 날 다음의 첫 번째 비공휴일을 공휴일로 하고, 어린이날이 토요일 또는 다른 공휴일과 겹치는 경우 그 날 다음의 첫 번째 비공휴일을 공휴일로 함&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //1. 어린이날&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String year = DateFormatUtils.format(date, &quot;yyyy&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; java.util.Date d = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.parseDate(year+&quot;0505&quot;, &quot;yyyyMMdd&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (ParseException e) {}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (isWeekend(d.getTime()) == true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (isWeekend(d.getTime()) == true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (DateUtils.isSameDay(new java.util.Date(date), d) == true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; result = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //2. 설 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String lunarDate = getLunarDate(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Calendar calendar = Calendar.getInstance();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = new java.util.Date(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (StringUtils.equals(lunarDate, &quot;0103&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //3. 추석&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = new java.util.Date(date);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (StringUtils.equals(lunarDate, &quot;0817&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = DateUtils.addDays(d, -1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(d);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/6770622072291241257/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2015/12/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6770622072291241257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/6770622072291241257'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2015/12/blog-post.html' title='공휴일 여부 확인 메서드 (대체공휴일 포함)'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-3743725334201542843</id><published>2015-01-14T10:16:00.001+09:00</published><updated>2015-01-14T10:16:24.218+09:00</updated><title type='text'>pitftsh</title><content type='html'>&lt;pre style=&quot;white-space: pre-wrap; word-wrap: break-word;&quot;&gt;#!/bin/bash

# PiTFT Resistive 2.8&quot; (PID 1601) or Capacitive 2.8&quot; (PID 1983) setup script or Resistive 3.5&quot; (PID 2097) or 2.2&quot; No-Touchscreen setup script!

set -e

function cleanup() {
 if [ &quot;${mountpoint}&quot; != &quot;/&quot; ]
 then
  sudo -n umount &quot;${mountpoint}/boot&quot; 2&amp;gt; /dev/null
  sudo -n umount &quot;${mountpoint}&quot; 2&amp;gt; /dev/null
  sudo -n rmdir &quot;${mountpoint}&quot; 2&amp;gt; /dev/null &amp;lt; /dev/null
 fi
}

function wgetfiles() {
# grab wget images
    wget -c http://adafruit-download.s3.amazonaws.com/libraspberrypi-bin-adafruit.deb
    wget -c http://adafruit-download.s3.amazonaws.com/libraspberrypi-dev-adafruit.deb
    wget -c http://adafruit-download.s3.amazonaws.com/libraspberrypi-doc-adafruit.deb
    wget -c http://adafruit-download.s3.amazonaws.com/libraspberrypi0-adafruit.deb
    wget -c http://adafruit-download.s3.amazonaws.com/raspberrypi-bootloader-adafruit-20140917-1.deb
}

function update_etcmodules() {
 chr=&quot;$1&quot;
 shift

 if grep -xq &quot;spi-bcm2708&quot; &quot;${chr}/etc/modules&quot; ; then
     echo &quot;Already had spi-bcm2708&quot;
 else
     echo &quot;Adding spi-bcm2708&quot;
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /etc/modules&#39; &amp;lt;&amp;lt;EOF
spi-bcm2708
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;28c&quot; ]
     then
     if grep -xq  &quot;i2c-bcm2708&quot; &quot;${chr}/etc/modules&quot; ; then
  echo &quot;Already had i2c-bcm2708&quot;
     else
  echo &quot;Adding i2c-bcm2708&quot;
  sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /etc/modules&#39; &amp;lt;&amp;lt;EOF
i2c-bcm2708
EOF
     fi
 fi 

 if grep -xq  &quot;fbtft_device&quot; &quot;${chr}/etc/modules&quot; ; then
     echo &quot;Already had fbtft_device&quot;
 else
     echo &quot;Adding fbtft_device&quot;
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /etc/modules&#39; &amp;lt;&amp;lt;EOF
fbtft_device
EOF
 fi
}

function install_onoffbutton() {
 chr=&quot;$1&quot;
 shift

 echo &quot;Adding rpi_power_switch to /etc/modules&quot;
 if grep -xq &quot;rpi_power_switch&quot; &quot;${chr}/etc/modules&quot; ; then
     echo &quot;Already had rpi_power_switch&quot;
 else
     echo &quot;Adding rpi_power_switch&quot;
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /etc/modules&#39; &amp;lt;&amp;lt;EOF
rpi_power_switch
EOF
 fi

 echo &quot;Adding rpi_power_switch config to /etc/modprobe.d/adafruit.conf&quot;
 if grep -xq &quot;options rpi_power_switch gpio_pin=23 mode=0&quot; &quot;${chr}/etc/modprobe.d/adafruit.conf&quot; ; then
     echo &quot;Already had rpi_power_switch config&quot;
 else
     echo &quot;Adding rpi_power_switch&quot;
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /etc/modprobe.d/adafruit.conf&#39; &amp;lt;&amp;lt;EOF
options rpi_power_switch gpio_pin=23 mode=0
EOF
 fi 

}

function update_x11profile() {
 chr=&quot;$1&quot;
 shift

 echo &quot;Moving 99-fbturbo.conf to /home/pi&quot;
 sudo chroot &quot;${chr}&quot; mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf /home/pi

 if grep -xq &quot;export FRAMEBUFFER=/dev/fb1&quot; &quot;${chr}/home/pi/.profile&quot; ; then
     echo &quot;Already had &#39;export FRAMEBUFFER=/dev/fb1&#39;&quot;
 else
     echo &quot;Adding &#39;export FRAMEBUFFER=/dev/fb1&#39;&quot;
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt;&amp;gt; /home/pi/.profile&#39; &amp;lt;&amp;lt;EOF
export FRAMEBUFFER=/dev/fb1
EOF
 fi
}


function update_adafruitconf() {
 chr=&quot;$1&quot;
 shift

 if [ &quot;${pitfttype}&quot; == &quot;22&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/modprobe.d/adafruit.conf&#39; &amp;lt;&amp;lt;EOF
options fbtft_device name=adafruit22a gpios=dc:25 rotate=270 frequency=32000000
EOF
 fi
 
 if [ &quot;${pitfttype}&quot; == &quot;28r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/modprobe.d/adafruit.conf&#39; &amp;lt;&amp;lt;EOF
options fbtft_device name=adafruitrt28 rotate=90 frequency=32000000
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;28c&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/modprobe.d/adafruit.conf&#39; &amp;lt;&amp;lt;EOF
options fbtft_device name=adafruitct28 rotate=90 frequency=32000000
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;35r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/modprobe.d/adafruit.conf&#39; &amp;lt;&amp;lt;EOF
options fbtft_device name=adafruitrt35 rotate=90 frequency=32000000
EOF
 fi
}

# currently for &#39;90&#39; rotation only
function update_xorg() {
 chr=&quot;$1&quot;
 shift
 sudo chroot &quot;${chr}&quot; mkdir -p /etc/X11/xorg.conf.d

 if [ &quot;${pitfttype}&quot; == &quot;28r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/X11/xorg.conf.d/99-calibration.conf&#39; &amp;lt;&amp;lt;EOF
Section &quot;InputClass&quot;
        Identifier      &quot;calibration&quot;
        MatchProduct    &quot;stmpe-ts&quot;
        Option  &quot;Calibration&quot;   &quot;3800 200 200 3800&quot;
        Option  &quot;SwapAxes&quot;      &quot;1&quot;
EndSection
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;35r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/X11/xorg.conf.d/99-calibration.conf&#39; &amp;lt;&amp;lt;EOF
Section &quot;InputClass&quot;
        Identifier      &quot;calibration&quot;
        MatchProduct    &quot;stmpe-ts&quot;
        Option  &quot;Calibration&quot;   &quot;3800 120 200 3900&quot;
        Option  &quot;SwapAxes&quot;      &quot;1&quot;
EndSection
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;28c&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/X11/xorg.conf.d/99-calibration.conf&#39; &amp;lt;&amp;lt;EOF
Section &quot;InputClass&quot;
         Identifier &quot;captouch&quot;
         MatchProduct &quot;ft6x06_ts&quot;
         Option &quot;SwapAxes&quot; &quot;1&quot;
         Option &quot;InvertY&quot; &quot;1&quot;
         Option &quot;Calibration&quot; &quot;0 320 0 240&quot;
EndSection
EOF
 fi

}

function update_udev() {
 chr=&quot;$1&quot;
 shift
 if [ &quot;${pitfttype}&quot; == &quot;28r&quot; ] || [ &quot;${pitfttype}&quot; == &quot;35r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/udev/rules.d/95-stmpe.rules&#39; &amp;lt;&amp;lt;EOF
SUBSYSTEM==&quot;input&quot;, ATTRS{name}==&quot;stmpe-ts&quot;, ENV{DEVNAME}==&quot;*event*&quot;, SYMLINK+=&quot;input/touchscreen&quot;
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;28c&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/udev/rules.d/95-ft6206.rules&#39; &amp;lt;&amp;lt;EOF
SUBSYSTEM==&quot;input&quot;, ATTRS{name}==&quot;ft6x06_ts&quot;, ENV{DEVNAME}==&quot;*event*&quot;, SYMLINK+=&quot;input/touchscreen&quot; 
EOF
 fi
}

# currently for &#39;90&#39; rotation only
function update_pointercal() {
 chr=&quot;$1&quot;
 shift
 if [ &quot;${pitfttype}&quot; == &quot;28r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/pointercal&#39; &amp;lt;&amp;lt;EOF
-30 -5902 22077792 4360 -105 -1038814 65536
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;35r&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/pointercal&#39; &amp;lt;&amp;lt;EOF
8 -8432 32432138 5699 -112 -965922 65536
EOF
 fi

 if [ &quot;${pitfttype}&quot; == &quot;28c&quot; ]
     then
     sudo chroot &quot;${chr}&quot; /bin/sh -c &#39;cat &amp;gt; /etc/pointercal&#39; &amp;lt;&amp;lt;EOF
320 65536 0 -65536 0 15728640 65536
EOF
 fi
}


function success() {
 exit 0
}

function is_zip() {
 unzip -qq -l &quot;$*&quot; &amp;gt; /dev/null 2&amp;gt; /dev/null
}


function is_image() {
 partitions=$(($(echo p | fdisk &quot;${imagename}&quot; 2&amp;gt; /dev/null | grep &quot;${imagename}&quot; | wc -l) - 1))

 # We need at least two partitions
 if [ $partitions -lt 2 ]
 then
  return 1
 fi
 return 0
}

function print_version() {
 echo &quot;Adafruit PiTFT v1.1&quot;
 exit 1
}

function print_help() {
 echo &quot;Usage: $0 -r [-i input-file] [-o output.img] -t [pitfttype]&quot;
 echo &quot;    -h            Print this help&quot;
 echo &quot;    -v  Print version information&quot;
 echo &quot;    -r            Turn the root filesystem into PiTFT compatible&quot;
 echo &quot;    -t [type]     Specify the type of PiTFT: &#39;28r&#39; (PID 1601) or &#39;28c&#39; (PID 1983) or &#39;35r&#39; or &#39;22&#39;&quot;
 echo &quot;Or, you can work on an image file:&quot;
 echo &quot;    -i [file]     Source Raspbian input file&quot;
 echo &quot;    -o [output]   Output name of image file&quot;
 echo &quot;&quot;
 echo &quot;You must specify either -r (to update this system) or -i &amp;amp; -o (to&quot;
 echo &quot;patch a fresh Raspbian image.)&quot;
 exit 1
}

function mount_image() {
 imagename=&quot;$1&quot;
 mountpoint=&quot;$2&quot;
 line1=$(echo p | fdisk &quot;${imagename}&quot; 2&amp;gt; /dev/null | grep &quot;${imagename}1&quot;)
 if [ $? -ne 0 ]
 then
  bail &quot;Unable to read partition table from image&quot;
 fi

 line2=$(echo p | fdisk &quot;${imagename}&quot; 2&amp;gt; /dev/null | grep &quot;${imagename}2&quot;)
 if [ $? -ne 0 ]
 then
  bail &quot;Unable to read partition table from image&quot;
 fi

 vfat_offset=$(($(echo ${line1} | awk &#39;{print $2}&#39;) * 512))
 ext_offset=$(($(echo ${line2} | awk &#39;{print $2}&#39;) * 512))

 sudo mkdir -p &quot;${mountpoint}&quot; || bail &quot;Unable to make mountpoint&quot;
 sudo mount -oloop,offset=${ext_offset} &quot;${imagename}&quot; &quot;${mountpoint}&quot; \
  || bail &quot;Unable to mount root filesystem&quot;
 sudo mount -oloop,offset=${vfat_offset} &quot;${imagename}&quot; &quot;${mountpoint}/boot&quot; \
  || bail &quot;Unable to mount root filesystem&quot;
}

function unmount_image() {
 mountpoint=&quot;$1&quot;
 sudo -n umount &quot;${mountpoint}/boot&quot; 2&amp;gt; /dev/null
 sudo -n umount &quot;${mountpoint}&quot; 2&amp;gt; /dev/null
 sudo -n rmdir &quot;${mountpoint}&quot; 2&amp;gt; /dev/null &amp;lt; /dev/null
}

group=ADAFRUIT
function info() {
 system=&quot;$1&quot;
 group=&quot;${system}&quot;
 shift
 FG=&quot;1;32m&quot;
 BG=&quot;40m&quot;
 echo -e &quot;[\033[${FG}\033[${BG}${system}\033[0m] $*&quot;
}

function bail() {
 FG=&quot;1;31m&quot;
 BG=&quot;40m&quot;
 echo -en &quot;[\033[${FG}\033[${BG}${group}\033[0m] &quot;
 if [ -z &quot;$1&quot; ]
 then
  echo &quot;Exiting due to error&quot;
 else
  echo &quot;Exiting due to error: $*&quot;
 fi
 exit 1
}

function apt_update() {
 chr=&quot;$1&quot;
 shift
 sudo chroot &quot;${chr}&quot; apt-get -y update
}

function apt_install() {
 chr=&quot;$1&quot;
 shift
 sudo chroot &quot;${chr}&quot; apt-get -y install $*
}


function dpkg_install_kernel() {
    chr=&quot;$1&quot;
    shift

    cp libraspberrypi-bin-adafruit.deb libraspberrypi-dev-adafruit.deb libraspberrypi-doc-adafruit.deb libraspberrypi0-adafruit.deb raspberrypi-bootloader-adafruit-20140917-1.deb &quot;${chr}&quot;/tmp
    #ls -l &quot;${chr}&quot;/tmp
    sudo chroot &quot;${chr}&quot; dpkg -i -B /tmp/libraspberrypi-bin-adafruit.deb /tmp/libraspberrypi-dev-adafruit.deb /tmp/libraspberrypi-doc-adafruit.deb /tmp/libraspberrypi0-adafruit.deb /tmp/raspberrypi-bootloader-adafruit-20140917-1.deb
}

function install_console() {
    chr=&quot;$1&quot;
    shift
    
    sudo sed -i &#39;s/rootwait$/rootwait fbcon=map:10 fbcon=font:VGA8x8/g&#39; &quot;${mountpoint}/boot/cmdline.txt&quot;
    sudo sed -i &#39;s/BLANK_TIME=.*/BLANK_TIME=0/g&#39; &quot;${mountpoint}/etc/kbd/config&quot;
}

function ask() {
# http://djm.me/ask
    while true; do
 
 if [ &quot;${2:-}&quot; = &quot;Y&quot; ]; then
     prompt=&quot;Y/n&quot;
     default=Y
 elif [ &quot;${2:-}&quot; = &quot;N&quot; ]; then
     prompt=&quot;y/N&quot;
     default=N
 else
     prompt=&quot;y/n&quot;
     default=
 fi
 
# Ask the question
 read -p &quot;$1 [$prompt] &quot; REPLY
 
# Default?
 if [ -z &quot;$REPLY&quot; ]; then
     REPLY=$default
 fi
 
# Check if the reply is valid
 case &quot;$REPLY&quot; in
     Y*|y*) return 0 ;;
            N*|n*) return 1 ;;
 esac
    done
}

trap cleanup EXIT

echo &quot;START&quot;
is_zipped=0
mountpoint=/

args=$(getopt -uo &#39;hvri:t:o:b:&#39; -- $*)
[ $? != 0 ] &amp;amp;&amp;amp; print_help
set -- $args

for i
do
 case &quot;$i&quot;
 in
  -h)
   print_help
   ;;
  -v)
   print_version
   ;;
  -i)
   imagename=&quot;$2&quot;
   echo &quot;Image file: ${imagename}&quot;
   if [ ! -e &quot;${imagename}&quot; ]
   then
    bail &quot;Image \&quot;${imagename}\&quot; doesn&#39;t exist&quot;
    
   fi

   # Determine if it&#39;s a zipfile, or a valid image file
   if is_zip &quot;${imagename}&quot;
   then
    info ADAFRUIT &quot;File is zipped&quot;
    is_zipped=1
   elif is_image &quot;${imagename}&quot;
   then
    info ADAFRUIT &quot;Image file is not zipped&quot;
    is_zipped=0
   else
    bail &quot;Image file is not valid&quot;
   fi
   shift
   shift
   ;;
  -o)
   pitftname=&quot;$2&quot;
   mountpoint=&quot;/media/rpi&quot;
   shift
   shift
   ;;
  -r)
   mountpoint=&quot;/&quot;
   shift
   ;;
  -t)
          pitfttype=&quot;$2&quot;
   echo &quot;Type = ${2}&quot;
   shift
   shift
   ;;
     
 esac
done

if [ &quot;${mountpoint}&quot; != &quot;/&quot; ] &amp;amp;&amp;amp; [ -z &quot;${imagename}&quot; ]
then
 print_help
fi

if  [ &quot;${pitfttype}&quot; != &quot;28r&quot; ] &amp;amp;&amp;amp; [ &quot;${pitfttype}&quot; != &quot;28c&quot; ] &amp;amp;&amp;amp; [ &quot;${pitfttype}&quot; != &quot;35r&quot; ] &amp;amp;&amp;amp; [ &quot;${pitfttype}&quot; != &quot;22&quot; ]
then
    echo &quot;Type must be &#39;28r&#39; (2.8\&quot; resistive, PID 1601) or &#39;28c&#39; (2.8\&quot; capacitive, PID 1983)  or &#39;35r&#39; (3.5\&quot; Resistive) or &#39;22&#39; (2.2\&quot; no touch)&quot;
    print_help
fi
# Make sure we have a job to do
if [ &quot;${mountpoint}&quot; != &quot;/&quot; ] &amp;amp;&amp;amp; [ -z &quot;${pitftname}&quot; ]
then
 echo &quot;Must specify output image file&quot;
 print_help
fi

info ADAFRUIT &quot;Starting image modification&quot;

needs_clone=1
if [ ${is_zipped} -eq 1 ] &amp;amp;&amp;amp; [ &quot;${mountpoint}&quot; != &quot;/&quot; ]
then
 extracted=$((unzip -l -qq &quot;${imagename}&quot; | awk &#39;{print $4}&#39;))
 unzip -qq &quot;${imagename}&quot; || bail &quot;Unable to extract zip&quot;
 if ! is_image &quot;${extracted}&quot;
 then
  rm -f &quot;${extracted}&quot;
  bail &quot;Zip does not contain a valid image&quot;
 fi
 needs_clone=0
 imagename=&quot;${extracted}&quot;
fi


wgetfiles

if [ &quot;${mountpoint}&quot; != &quot;/&quot; ]
    then
    if [ ${needs_clone} -eq 1 ]
 then
 info PITFT &quot;Cloning image...&quot;
 info PITFT &quot;---&amp;gt; cp ${imagename} ${pitftname}&quot; 
 cp &quot;${imagename}&quot; &quot;${pitftname}&quot; \
     || bail &quot;Unable to create PiTFT image&quot;
    else
 info PITFT &quot;Renaming image...&quot;
 info PITFT &quot;---&amp;gt; mv ${imagename} ${pitftname}&quot; 
 mv &quot;${imagename}&quot; &quot;${pitftname}&quot; \
     || bail &quot;Unable to rename PiTFT image&quot;
    fi
    
    info PITFT &quot;Mounting image...&quot;
    mount_image &quot;${pitftname}&quot; &quot;${mountpoint}&quot; \
 || bail &quot;Unable to mount PiTFT image&quot;
fi

info PITFT &quot;Updating apt cache...&quot;

apt_update &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update apt cache&quot;

# info PITFT &quot;Slimming down image...&quot;
# apt_cleanup &quot;${mountpoint}&quot; &quot;pkgs.txt&quot; \
#  || bail &quot;Unable to update package list&quot;

info PITFT &quot;Installing Adafruit kernel...&quot;

dpkg_install_kernel &quot;${mountpoint}&quot; \
    || bail &quot;Unable to dpkg debs&quot;

info PITFT &quot;Updating /etc/modules...&quot;
update_etcmodules &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update /etc/modules&quot;

info PITFT &quot;Updating /etc/modprobe.d/adafruit.conf...&quot;
update_adafruitconf &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update /etc/modprobe.d/adafruit.conf&quot;

info PITFT &quot;Updating X11 default calibration...&quot;
update_xorg &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update /etc/X11/xorg.conf.d/99-calibration.conf&quot;

info PITFT &quot;Updating X11 setup tweaks...&quot;
update_x11profile &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update X11 setup&quot;

info PITFT &quot;Updating TSLib default calibration...&quot;
update_pointercal &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update /etc/pointercal&quot;

info PITFT &quot;Updating SysFS rules for Touchscreen...&quot;
update_udev &quot;${mountpoint}&quot; \
    || bail &quot;Unable to update /etc/udev/rules.d&quot;

info PITFT &quot;Installing evtest tslib libts-bin...&quot;
apt_install &quot;${mountpoint}&quot; evtest tslib libts-bin \
    || bail &quot;Unable to install evtest tslib libts-bin&quot;


# ask for console access?
if ask &quot;Would you like the console to appear on the PiTFT display?&quot;
    then
    info PITFT &quot;Updating console to PiTFT...&quot;
    install_console &quot;${mountpoint}&quot; \
 || bail &quot;Unable to configure console&quot;
fi



if [ &quot;${pitfttype}&quot; != &quot;35r&quot; ]
    then
# ask for &#39;on/off&#39; button
    if ask &quot;Would you like GPIO #23 to act as a on/off button?&quot;
 then
 info PITFT &quot;Adding GPIO #23 on/off to PiTFT...&quot;
     install_onoffbutton &quot;${mountpoint}&quot; \
  || bail &quot;Unable to add on/off button&quot;
    fi
fi

if [ &quot;${mountpoint}&quot; != &quot;/&quot; ]
    then
    info PITFT &quot;Unmounting image...&quot;
    unmount_image &quot;${mountpoint}&quot;
fi

info PITFT &quot;Done&quot;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/3743725334201542843/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2015/01/pitftsh.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3743725334201542843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/3743725334201542843'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2015/01/pitftsh.html' title='pitftsh'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-527697003810027144</id><published>2014-08-01T15:38:00.000+09:00</published><updated>2014-08-01T15:38:04.623+09:00</updated><title type='text'>Install IBM Worklight Studio</title><content type='html'>1. 요구사항&lt;br /&gt;a. OS&lt;br /&gt;Mac OS X: 10.8 or 10.9&lt;br /&gt;Windows: 7 or 8&lt;br /&gt;Linux: RHEL 6, SUSE 11, or Ubuntu 12.04&lt;br /&gt;&lt;br /&gt;b. Eclipse&lt;br /&gt;Eclipse IDE for Java EE Developers : Juno SR2 (4.2.2), Kepler SR1 (4.3.1), Kepler SR2 (4.3.2), or Luna R (4.4)&lt;br /&gt;&lt;br /&gt;2. Eclipse 실행&lt;br /&gt;Help &amp;gt; Eclipse Marketplace&lt;br /&gt;&lt;br /&gt;3. Worklight로 검색&lt;br /&gt;&lt;br /&gt;4. 설치&lt;br /&gt;&quot;IBM Worklight Studio&quot;은 필수고 &quot;IBM Dojo Mobile Tools&quot;, &quot;IBM jQuery Mobile Tools&quot;은 옵션&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* 참고 : http://www.ibm.com/developerworks/mobile/worklight/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/527697003810027144/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/08/install-ibm-worklight-studio.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/527697003810027144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/527697003810027144'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/08/install-ibm-worklight-studio.html' title='Install IBM Worklight Studio'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-5458220671895212546</id><published>2014-07-31T16:33:00.001+09:00</published><updated>2014-07-31T16:33:19.995+09:00</updated><title type='text'>mysql tips</title><content type='html'>&lt;br /&gt;
* 사용자 추가&lt;br /&gt;
CREATE DATABASE databasename;&lt;br /&gt;CREATE USER &#39;userid&#39;@&#39;%&#39; IDENTIFIED BY &#39;password&#39;;&lt;br /&gt;GRANT ALL PRIVILEGES ON databasename.* TO &#39;userid&#39;@&#39;%&#39;;&lt;br /&gt;CREATE USER &#39;userid&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;password&#39;;&lt;br /&gt;GRANT ALL PRIVILEGES ON databasename.* TO &#39;userid&#39;@&#39;localhost&#39;;&lt;br /&gt;flush privileges;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
* table의 DB engine 변경&lt;br /&gt;
alter table s3board type=innodb;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/5458220671895212546/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/07/mysql-tips.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5458220671895212546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/5458220671895212546'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/07/mysql-tips.html' title='mysql tips'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-503391076698639077</id><published>2014-07-16T19:33:00.002+09:00</published><updated>2014-07-16T19:33:24.573+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12.04"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="LTS"/><category scheme="http://www.blogger.com/atom/ns#" term="Mylyn"/><category scheme="http://www.blogger.com/atom/ns#" term="plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="Redmine"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Install Redmine on Ubuntu 12.04 LTS (with MyLyn and Eclipse plugins)</title><content type='html'>http://ioriy2k.pe.kr/archives/4762&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install tasksel&lt;br /&gt;$ sudo tasksel install lamp-server&lt;br /&gt;&lt;br /&gt;$ sudo add-apt-repository ppa:ondrej/redmine&lt;br /&gt;$ sudo apt-get update&lt;br /&gt;$ sudo apt-get install redmine redmine-mysql&lt;br /&gt;&lt;br /&gt;$ sudo ln -s /usr/share/redmine/public /var/www/redmine&lt;br /&gt;&lt;br /&gt;$ sudo apt-get remove libapache2-mod-passenger&lt;br /&gt;&lt;br /&gt;$ sudo gem install passenger&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install libcurl4-openssl-dev libssl-dev zlib1g-dev apache2-prefork-dev libapr1-dev libaprutil1-dev&lt;br /&gt;$ sudo passenger-install-apache2-module&lt;br /&gt;&lt;br /&gt;* 빌드후 다음과 같은 메세지가 출력되면 메모&lt;br /&gt;&amp;nbsp;&amp;nbsp; LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-4.0.46/buildout/apache2/mod_passenger.so&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;IfModule mod_passenger.c&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PassengerRoot /var/lib/gems/1.8/gems/passenger-4.0.46&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PassengerDefaultRuby /usr/bin/ruby1.8&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/IfModule&amp;gt;&lt;br /&gt;&lt;br /&gt;$ sudo vi /etc/apache2/mods-available/passenger.load&lt;br /&gt;LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-4.0.46/buildout/apache2/mod_passenger.so&lt;br /&gt;&lt;br /&gt;$ sudo vi /etc/apache2/mods-available/passenger.conf&lt;br /&gt;&amp;lt;IfModule mod_passenger.c&amp;gt;&lt;br /&gt;&amp;nbsp; PassengerRoot /var/lib/gems/1.8/gems/passenger-4.0.46&lt;br /&gt;&amp;nbsp; PassengerDefaultRuby /usr/bin/ruby1.8&lt;br /&gt;&amp;nbsp; PassengerDefaultUser www-data&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;&lt;br /&gt;$ sudo vi /etc/apache2/sites-available/default&lt;br /&gt;&amp;lt;Directory /var/www/redmine&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RailsBaseURI /redmine&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PassengerResolveSymlinksInDocumentRoot on&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;$ sudo a2enmod passenger&lt;br /&gt;$ sudo service apache2 restart&lt;br /&gt;&lt;br /&gt;$ sudo ufw allow 80&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://ioriy2k.pe.kr/archives/4843&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install git-core ruby-git&lt;br /&gt;$ cd /usr/share/redmine&lt;br /&gt;$ sudo ruby script/plugin install --force git://redmin-mylyncon.git.sourceforge.net/gitroot/redmin-mylyncon/redmine-mylyn-connector&lt;br /&gt;$ sudo service apache2 restart&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/503391076698639077/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/07/install-redmine-on-ubuntu-1204-lts-with.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/503391076698639077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/503391076698639077'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/07/install-redmine-on-ubuntu-1204-lts-with.html' title='Install Redmine on Ubuntu 12.04 LTS (with MyLyn and Eclipse plugins)'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-846410888781521939</id><published>2014-07-03T13:21:00.003+09:00</published><updated>2014-07-03T13:21:46.972+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><category scheme="http://www.blogger.com/atom/ns#" term="날짜"/><title type='text'>Subversion 특정 날짜동안 변경된 목록 조회</title><content type='html'>svn diff --username &amp;lt;userid&amp;gt; --password &amp;lt;password&amp;gt; &amp;lt;svn_url&amp;gt; --summarize -r {2014-06-20}:{2014-07-02} &amp;gt; log.txt&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/846410888781521939/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/07/subversion.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/846410888781521939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/846410888781521939'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/07/subversion.html' title='Subversion 특정 날짜동안 변경된 목록 조회'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-561653572092486978</id><published>2014-07-02T17:32:00.000+09:00</published><updated>2014-07-24T14:48:59.253+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cloudv"/><category scheme="http://www.blogger.com/atom/ns#" term="jenkins"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>[cloudv] Installing Jenkins on Ubuntu</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install openjdk-7-jdk&lt;br /&gt;
&lt;br /&gt;
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
sudo sh -c &#39;echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list&#39;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
* start jenkins service&lt;br /&gt;
sudo service jenkins start&lt;br /&gt;
&lt;br /&gt;
* Change Jenkins HTTP Port&lt;br /&gt;
sudo vi /etc/default/jenkins&lt;br /&gt;
HTTP_PORT=&amp;lt;port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open firewall using ufw&lt;br /&gt;
sudo ufw allow &amp;lt;port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
* set post scripts for deploy&lt;br /&gt;&lt;br /&gt;$ sudo passwd jenkins&lt;br /&gt;$ sudo vi /etc/sudoers&lt;br /&gt;Defaults:jenkins !requiretty&lt;br /&gt;jenkins ALL = NOPASSWD: /var/lib/jenkins/post_scripts/deploy_myapp.sh&lt;br /&gt;&lt;br /&gt;$ sudo su - jenkins&lt;br /&gt;jenkins$ mkdir /var/lib/jenkins/post_scripts&lt;br /&gt;jenkins$ vi /var/lib/jenkins/post_scripts/deploy_myapp.sh&lt;br /&gt;service tomcat6 stop&lt;br /&gt;rm -rf /var/lib/tomcat6/webapps/huyang/&lt;br /&gt;service tomcat6 start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://localhost:8080/job/&amp;lt;myapp&amp;gt;/configure&lt;br /&gt;Post Steps &amp;gt; Execute shell &amp;gt; Command&lt;br /&gt;sudo /var/lib/jenkins/post_scripts/deploy_myapp.sh&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/561653572092486978/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/07/cloudv-installing-jenkins-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/561653572092486978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/561653572092486978'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/07/cloudv-installing-jenkins-on-ubuntu.html' title='[cloudv] Installing Jenkins on Ubuntu'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-7647868515805064962</id><published>2014-06-30T10:00:00.002+09:00</published><updated>2019-05-17T17:39:12.190+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cloudv"/><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>[cloudv] Install subversion on ubuntu</title><content type='html'>$ sudo apt-get install subversion&lt;br /&gt;
$ sudo svnadmin create --fs-type fsfs /var/lib/subversion&lt;br /&gt;
$ sudo vi /var/lib/subversion/conf/svnserve.conf&lt;br /&gt;
anon-access = none&lt;br /&gt;
auth-access = write&lt;br /&gt;
password-db = passwd&lt;br /&gt;
&lt;br /&gt;
$ sudo vi /var/lib/subversion/conf/passwd&lt;br /&gt;
[users]&lt;br /&gt;
&amp;lt;id&amp;gt; = &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ sudo svnserve -d -r /var/lib/subversion --listen-port 443&lt;br /&gt;
&lt;br /&gt;
$ sudo vi /etc/rc.local&lt;br /&gt;
# Subversion&lt;br /&gt;
svnserve -d -r /var/lib/subversion&amp;nbsp;--listen-port 443&lt;br /&gt;
&lt;br /&gt;
$ svn mkdir --parents svn://localhost/public/trunk --username &amp;lt;id&amp;gt;&lt;br /&gt;
$ svn mkdir --parents svn://localhost/public/branches --username &amp;lt;id&amp;gt;&lt;br /&gt;
$ svn mkdir --parents svn://localhost/public/tags --username &amp;lt;id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Subversion 종료&lt;br /&gt;
killall svnserve&lt;br /&gt;
&lt;br /&gt;
* SVN 접속확인&lt;br /&gt;
svn://&amp;lt;ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* start svn subversion on OS starts&lt;br /&gt;
$ cd /etc/init.d&lt;br /&gt;
$ sudo vi svnserve&lt;br /&gt;
svnserve -d -r /var/lib/subversion&lt;br /&gt;
chmod a+x ./svnserve&lt;br /&gt;
$ sudo update-rc.d svnserve defaults</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/7647868515805064962/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/06/install-subversion-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7647868515805064962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/7647868515805064962'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/06/install-subversion-on-ubuntu.html' title='[cloudv] Install subversion on ubuntu'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6040760585864424100.post-1233284014583187683</id><published>2014-05-21T12:04:00.000+09:00</published><updated>2014-05-21T12:04:03.367+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="file"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="last"/><category scheme="http://www.blogger.com/atom/ns#" term="modified"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="wildcard"/><title type='text'>get last modified file by pattern(wildcard)</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.io.File;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.io.FileFilter;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.util.Arrays;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.util.Comparator;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.apache.commons.io.filefilter.WildcardFileFilter;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.slf4j.Logger;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.slf4j.LoggerFactory;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; LastModifiedFileByPattern {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; Logger &lt;span class=&quot;s2&quot;&gt;logger&lt;/span&gt; = LoggerFactory.getLogger(FileFilterTest.&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;@SuppressWarnings&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;({ &lt;/span&gt;&quot;unchecked&quot;&lt;span class=&quot;s3&quot;&gt;, &lt;/span&gt;&quot;rawtypes&quot;&lt;span class=&quot;s3&quot;&gt; })&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; File getLastModifiedFile(File dir, String wildcard) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;File file = &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; (dir == &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt; || dir.isDirectory() == &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;false&lt;/b&gt;&lt;/span&gt;) {&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;return&lt;/b&gt;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;b&gt;null&lt;/b&gt;&lt;span class=&quot;s3&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;FileFilter fileFilter = &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; WildcardFileFilter(wildcard);&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;File[] files = dir.listFiles(fileFilter);&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; (files == &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt; || files.&lt;span class=&quot;s2&quot;&gt;length&lt;/span&gt; == 0) {&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;return&lt;/b&gt;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;b&gt;null&lt;/b&gt;&lt;span class=&quot;s3&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;Arrays.sort(files, &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; Comparator() {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt; compare(Object o1, Object o2) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; (((File)o1).lastModified() &amp;gt; ((File)o2).lastModified()) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; -1;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; (((File)o1).lastModified() &amp;lt; ((File)o2).lastModified()) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; +1;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt; {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; 0;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;file = files[0];&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; file;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; main(String[] args) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;File dir = &lt;span class=&quot;s1&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; File(&lt;span class=&quot;s5&quot;&gt;&quot;/somepath/&quot;&lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;String wildcard = &lt;span class=&quot;s5&quot;&gt;&quot;service_*.log&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;File f = getLastModifiedFile(dir, wildcard);&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;logger&lt;/span&gt;.debug(f.toString());&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
}&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gharimto.blogspot.com/feeds/1233284014583187683/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://gharimto.blogspot.com/2014/05/get-last-modified-file-by.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/1233284014583187683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6040760585864424100/posts/default/1233284014583187683'/><link rel='alternate' type='text/html' href='http://gharimto.blogspot.com/2014/05/get-last-modified-file-by.html' title='get last modified file by pattern(wildcard)'/><author><name>1</name><uri>http://www.blogger.com/profile/08888874474492155650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>