Skip to content

Instantly share code, notes, and snippets.

View jacknie84's full-sized avatar
๐Ÿ˜Ž
Nice!!

jacknie jacknie84

๐Ÿ˜Ž
Nice!!
View GitHub Profile
@jacknie84
jacknie84 / suitable-spring-query-string.js
Last active January 21, 2019 06:16
The script is sutiable for spring-mvc. ์Šคํ”„๋ง MVC์— ์•Œ๋งž์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์Šคํฌ๋ฆฝํŠธ.
function serializeParam(name, value) {
if (typeof value === "object" && value !== null) {
var stack = [];
if (isIndexable(value)) {
for (var index in value) {
if (!isMetadataProperty(index)) {
var indexName = getIndexName(name, index);
var serialized = serializeParam(indexName, value[index]);
if (serialized) {
stack.push(serialized);
@jacknie84
jacknie84 / singlePojoInstanceReflect.jsp
Last active March 7, 2020 08:41
JSP์—์„œ ๊ฐ์ฒด ํ•œ๊ฐœ ๋ธŒ๋ผ์šฐ์ € ๋กœ๊น…
<%
String name = "[[INSERT ATTRIBUTE NAME]]";
Object object = pageContext.findAttribute(name);
if (object != null) {
java.io.Writer writer = pageContext.getOut();
Class<?> beanClass = object.getClass();
String groupName = beanClass.getName() + " instance description";
writer.write("<script>console.group('" + groupName + "');");
@jacknie84
jacknie84 / KakaoTest4.java
Last active April 13, 2018 09:18
์นด์นด์˜ค์‹ ์ž…๊ณต์ฑ„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ(JAVA)
package com.jacknie.doodle.kakao;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Queue;
import java.util.StringTokenizer;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.stream.Collectors;
@jacknie84
jacknie84 / KakaoTest3.java
Last active April 13, 2018 09:24
์นด์นด์˜ค์‹ ์ž…๊ณต์ฑ„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ(JAVA)
package com.jacknie.doodle.kakao;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.function.Supplier;
public class KakaoTest3 {
public static void main(String[] args) {
int t1 = getRunningTime(3, new String[] {"Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju", "Pangyo", "Seoul", "NewYork", "LA"});
@jacknie84
jacknie84 / KakaoTest2.java
Last active April 17, 2018 02:11
์นด์นด์˜ค์‹ ์ž…๊ณต์ฑ„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ(JAVA)
package com.jacknie.doodle.kakao;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class KakaoTest2 {
static final Pattern DART_RESULT_PATTERN = Pattern.compile("(\\d{1,2})([SDT])([*#]?)");
public static void main(String[] args) {
@jacknie84
jacknie84 / KakaoTest1.java
Created April 13, 2018 06:29
์นด์นด์˜ค์‹ ์ž…๊ณต์ฑ„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ(JAVA)
package com.jacknie.doodle.kakao;
import java.util.Arrays;
public class KakaoTest1 {
public static void main(String[] args) {
String[] r1 = decryptMap(5, new int[] {9, 20, 28, 18, 11}, new int[] {30, 1, 21, 17, 28});
String[] r2 = decryptMap(6, new int[] {46, 33, 33, 22, 31, 50}, new int[] {27, 56, 19, 14, 14, 10});
System.out.println(Arrays.toString(r1));
@jacknie84
jacknie84 / ์˜ค๋ผํด LOCK ์กฐํšŒ_์ฒ˜๋ฆฌ
Created September 28, 2017 05:48
์˜ค๋ผํด LOCK ์กฐํšŒ_์ฒ˜๋ฆฌ
ํ”„๋กœ์ ํŠธ์—์„œ LOCK ์ด ์ž์ฃผ ๊ฑธ๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์—ฐ๊ตฌํ•˜๋˜ ์ค‘์— ์•„๋ž˜์˜ sql ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ lock ์„ธ์…˜์„ ์ฐพ์•„์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด SQL ์€ System ์œ ์ €๋งŒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค.
LOCK ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋‹ค๊ฐ€ ๋ฉˆ์ถ”๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ํ—ˆ๋น„ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์•Œ๊ณ  ๋ณด๋‹ˆ ํ…Œ์ด๋ธ”์— LOCK์ด ๊ฑธ๋ฆฐ ๊ฒƒ์ด์—ˆ๋‹ค๋ฉด ํ—ˆํƒˆํ•จ์„ ๊ธˆํ•  ์ˆ˜ ์—†๋‹ค. ์ž์ฃผ LOCK ์ด ๊ฑธ๋ฆฌ๋Š” ํ…Œ์ด๋ธ”์ด๋ผ๋ฉด SELECT ํ•  ๋•Œ WAIT ํƒ€์ž„์„ 1 ์ •๋„๋กœ ์ฃผ๋ฉด 1์ดˆ๋™์•ˆ LOCK ์ด ํ’€๋ฆฌ๊ธฐ๋ฅผ ๋Œ€๊ธฐํ•˜๋‹ค๊ฐ€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ LOCK ๊ฑธ๋ฆฐ ์ƒํ™ฉ์„ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
-- ๋ฝ๊ฑธ๋ฆฐ ํ…Œ์ด๋ธ” ํ™•์ธ
SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER,
VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE
FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO
WHERE VO.OBJECT_ID = DO.OBJECT_ID;
@jacknie84
jacknie84 / comlumn2property.sql
Last active March 21, 2017 07:20
table column name convert to camelcase property name
WITH CUSTOMIZATION AS (
SELECT
UTC.TABLE_NAME AS TABLE_NAME
, (SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = UTC.TABLE_NAME) AS TABLE_COMMENT
, UTC.COLUMN_NAME AS COLUMN_NAME
, UCC.COMMENTS AS COLUMN_COMMENT
, LOWER(SUBSTR(UTC.COLUMN_NAME, 0, 1)) || SUBSTR(REPLACE(INITCAP(UTC.COLUMN_NAME), '_', ''), 2) AS PROPERTY_NAME
, UTC.DATA_TYPE || '(' || UTC.DATA_LENGTH || ')' AS DATA_TYPE
, UTC.DATA_DEFAULT
, UTC.NULLABLE
@jacknie84
jacknie84 / mybatis.xml
Last active March 1, 2019 04:08
It's tip that write functional code on default script language of mybatis
Don't speak English well. Thank you for your patience.
It's functions xml file.
<mapper namespace="org.jacknie.mybatis.Functions">
<sql id="isBlank">
<bind name="isBlank" value=":[@org.apache.commons.lang3.StringUtils@isBlank(#this)]" />
</sql>
<sql id="sysout">
<bind name="sysout" value=":[@System@out.println(#this)]" />
</sql>