Friday, 28 April 2017

[Quartz] Cron Trigger Pattern

Quartz CronTrigger uses cron expressions. But it is not equal to UNIX cron tool.

Quartz CronTrigger uses not 5 fields expression like Unix cron, but 6 or 7 fields expression.

It can define Seconds and Year(Optional).

Expression

Field nameMandatoryAllowed ValuesAllowed Sepecial Characters
Secondstrue0~59, - * /
Minutestrue0~59, - * /
Hourstrue0~23, - * /
Day of monthtrue1~31, - * / ? L W
Monthtrue1-12 or JAN-DEC, - * /
Day of weektrue1-7 or SUN-SAT, - * / ? L #
Yearfalseempty, 1970-2099, - * /


Special Characters

CharacterNameDescription
*All valuesSelect all values within a field
?No specific value
-RangeSepecify ranges
,AddAdd values
/IncrementSpecify increments
LLastSpecify last day of months or last day of weeks
WWeekdaySpecify the weekday(Monday-Friday). As an example, if you were to specify “15W” as the value for the day-of-month field, the meaning is: “the nearest weekday to the 15th of the month”.
LWLast weekdaySpecify the last weekday of month
#Select weekused to specify “the nth” XXX day of the month. For example, the value of “6#3” in the day-of-week field means “the third Friday of the month” (day 6 = Friday and “#3” = the 3rd one in the month). Other examples: “2#1” = the first Monday of the month and “4#5” = the fifth Wednesday of the month. Note that if you specify “#5” and there is not 5 of the given day-of-week in the month, then no firing will occur that month


Example

ExpressionMeaning
0 0 12 * * ? Fire at 12pm (noon) every day
0 15 10 ? * * Fire at 10:15am every day
0 15 10 * * ? Fire at 10:15am every day
0 15 10 * * ? * Fire at 10:15am every day
0 15 10 * * ? 2005 Fire at 10:15am every day during the year 2005
0 * 14 * * ? Fire every minute starting at 2pm and ending at 2:59pm, every day
0 0/5 14 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day
0 0/5 14,18 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day
0 0-5 14 * * ? Fire every minute starting at 2pm and ending at 2:05pm, every day
0 10,44 14 ? 3 WED Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.
0 15 10 ? * MON-FRI Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday
0 15 10 15 * ? Fire at 10:15am on the 15th day of every month
0 15 10 L * ? Fire at 10:15am on the last day of every month
0 15 10 L-2 * ? Fire at 10:15am on the 2nd-to-last last day of every month
0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L 2002-2005 Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005
0 15 10 ? * 6#3 Fire at 10:15am on the third Friday of every month
0 0 12 1/5 * ? Fire at 12pm (noon) every 5 days every month, starting on the first day of the month.
0 11 11 11 11 ? Fire every November 11th at 11:11am.

Friday, 21 April 2017

[Tensorflow] How to install Tensorflow in windows

1. Install Python 3.5.x and PIP





2. Installing with native pip

for CPU-only version
C:\> pip3 install --upgrade tensorflow

for GPU version
C:\> pip3 install --upgrade tensorflow-gpu






3. Installing with Anaconda

3.1. download Anaconda and install

https://www.continuum.io/downloads




3.2. Create a conda environment named tensorflow by invoking the following command

C:> conda create -n tensorflow



3.3. Activate the conda environment


C:> activate tensorflow




3.4.  Install TensorFlow inside your conda environment

for CPU-only version
C:> pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-cp35-cp35m-win_amd64.whl

for GPU version
C:> pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.0.1-cp35-cp35m-win_amd64.whl




3. Validate installation



[Tensorflow] Tensorflow is not supported in Python 3.6.x

Tensorflow is not supported and installed in Python 3.6.x not yet.





[Tensorflow] Could not find a version that satisfies the requirement tensorflow (fromversion: )

When I install Tensorflow using pip command, 'Could not find a version that satisfies the requirement tensorflow (fromversion: )' error occurs.




This error is because python is not suitable my platform.

My platform is Windows 10 on x86 64bit. But a python that is installed is for windows on x86 32bit.




So, Install 64bit python.




Successfully installed

Wednesday, 12 April 2017

[ActiveMQ] Can't connect JMX server because of firewall

Add this JVM option

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=[jmx port]
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=

[ActiveMQ] Mirrored Queue

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="BTCBroker" useJmx="true">
    
         <destinationInterceptors>
        <virtualDestinationInterceptor>
          <virtualDestinations>
                <compositeQueue name="MY.QUEUE">
                      <forwardTo>
                            <queue physicalName="FOO" />
                            <topic physicalName="BAR" />
                      </forwardTo>
                </compositeQueue>
          </virtualDestinations>
        </virtualDestinationInterceptor>
         </destinationInterceptors>
.
.
.
</broker>

Thursday, 23 March 2017

[Eglish] 외운 문구

no way, Jose.

Not much of a difference. (도토리 키재기야)

Don't worry. You doing great.

You can pay on your way out. (계산은 한번에 하면 됩니다)

Keep it up. (열심히 해라! 힘내!, 격려의 의미)
Keep up the good work (열심히 잘해봐!!, 격려의 의미)


Hit the jackpot. (


I can't dance to save my life (난 몸치야) cf) I have two legs (관용구. 잘 안씀)
I cant' do singing to save my life (난 음치야)
I cant' ~ to save my life.


Kill them(it)! (실력발휘해)
Show 'em his boss
Do your best. (위에가 더 많이 쓰는 표현)

I'm up to my neck in work (손이 열개라도 모자라)
I got a lot of my plate right now (손이 열개라도 모자라)
I'm really busy (바뻐. 잘 안씀)
I'm too busy. (나 엄청 바뻐. 거부의 의미. 잘 안씀)


There are many fishes in the sea (짚신도 짝이 있을거다. 인연이 또 있을거다. 위로)

Wednesday, 8 March 2017

[Oracle] How to show trigger or procedure error log (트리거 또는 프로시져 에러 로그 확인 방법)

-- Current user error log
SELECT * FROM SYS.USER_ERRORS;
-- Current user error log related with trigger
SELECT * FROM SYS.USER_ERRORS WHERE TYPE ='TRIGGER';
-- Current user error log related with procedure
SELECT * FROM SYS.USER_ERRORS WHERE TYPE ='PROCEDURE';

-- All user error log
SELECT * FROM SYS.DBA_ERRORS;
-- All user error log related with trigger
SELECT * FROM SYS.DBA_ERRORS WHERE TYPE ='TRIGGER';
-- All user error log related with procedure
SELECT * FROM SYS.DBA_ERRORS WHERE TYPE ='PROCEDURE';





 

[Network] How to whether domain is registered in DNS Server( DNS서버 도메인 등록 여부 확인)

<Check whether domain is registered in default DNS server>

nslookup [DOMAIN]




<Check whether domain is registered in particular DNS server>

nslookup [DOMAIN] [DNS_SERVER]

Tuesday, 7 March 2017

[Oracle] Charset 확인

SELECT NAME, VALUE$ FROM SYS.PROPS$ WHERE NAME = 'NLS_CHARACTERSET';
SELECT NAME, VALUE$ FROM SYS.PROPS$ WHERE NAME = 'NLS_NCHAR_CHARACTERSET';
SELECT NAME, VALUE$ FROM SYS.PROPS$ WHERE NAME = 'NLS_LANGUAGE';

[Oracle] Unlock user that has expired password (사용자 계정 잠금/해제)

Check default password expiration time (기본 비밀번호 만료 기간 확인)

SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME LIKE 'PASSWORD%';











Set password expiration disabled (비밀번호 만료 해제)

ALTER PROFILE DEFAULT LIMIT  PASSWORD_LIFE_TIME UNLIMITED;






Check users have expired password (비밀번호 만료된 유저 확인)

SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE, EXPIRY_DATE FROM DBA_USERS WHERE ACCOUNT_STATUS = 'EXPIRED';






Unlock user (잠금계정 해제)

ALTER USER [USER_NAME] IDENTIFIED BY [USER_NAME];