Skip to content

Instantly share code, notes, and snippets.

View benelog's full-sized avatar

Sanghyuk Jung benelog

View GitHub Profile
@benelog
benelog / AppTests.java
Created February 12, 2014 21:35
test gist
package com.springapp.mvc;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
@benelog
benelog / ExcelUtils.java
Last active December 29, 2015 22:09
퀴즈
package net.benelog.quiz;
import java.util.Arrays;
import java.util.List;
public class ExcelUtils {
private static int RADIX = 'Z' - 'A' + 1;
private static List<Integer> levelBase = Arrays.asList(1, 27, 703, 18279, 475255, 12356631);
public static String getColumnName(int index) {
@benelog
benelog / CookieManagerTest.java
Last active December 29, 2015 10:19
CookieManagerTest
package helloworld.android;
import java.util.concurrent.TimeUnit;
import android.content.Context;
import android.test.AndroidTestCase;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
public class CookieManagerTest extends AndroidTestCase {
@benelog
benelog / README.md
Last active December 26, 2015 19:49
코드 골프
@benelog
benelog / Volley.md
Last active October 20, 2023 02:05
Volley 설명

안드로이드 개발에서 많은 비중을 차지하는 UI패턴은 ListView에서 여러 이미지를 보여주는 Activity입니다. 전형적인 흐름을 정리하면 아래와 같습니다.

​1. 목록조회 API호출

​2. API를 파싱하고 ListView에 데이터를 보여 줌.

​3. 각 아이템마다의 이미지 주소로 다시 서버를 호출

​4. 이미지를 디코딩하고 ImageView에서 보여줌.

@benelog
benelog / AsyncTask-executor-problem.md
Last active August 27, 2021 16:15
AsyncTask 분석

변경이력

  • 2013/10/15: Dianne Hackborn의 언급에 대한 번역은 안세원님이 교정해주신 내용으로 교체합나디.

AsyncTask는 API Level 13이상 버전이 설치된 기기에서 android:targetSdkVersion가 13이상 일 때 여러 개의 AsyncTask가 동시에 실행되어도 순차적으로 호출됩니다.

기기의 버전뿐만 아니라 targetSDK 설정에도 영향을 받으므로 target SDK 설정을 변경할 때 유의해야 합니다. 그리고 가능하다면 목적별로 스레드풀을 분리하고, 스레드의 갯수가 늘어나는 것에 대비해 무작정 큰 최대값을 주는것보다는 Timeout과 RejectionPolicy로 관리를 하는 편이 바람직합니다.

@benelog
benelog / IpFilter.java
Last active February 27, 2019 13:00
IpFilter
package net.benelog.markerboard.filter;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
@benelog
benelog / EL_Injection.md
Last active October 17, 2022 15:02
EL inejection in Spring framework

'내가 만든 코드에 취약점이 있을까?'를 우려하시는 분들을 위해 아래와 같이 정리했습니다.

취약점의 조건

아래 조건을 모두 충족시킨다면 코드는 치명적인 Remote code execution 취약성이 존재할 여지가 있습니다.

  1. EL 2.2를 지원하는 서블릿 컨테이너를 쓰거나 EL 2.2 라이브러리를 직접 jar파일로 참조해서 쓰고 있다. (대표적으로 Tomcat 7.x혹은 Glassfish 2.2.x)
  2. Spring 3.1.x 미만 버전을 쓰고 있다.
  3. Spring의 JSP Tag( <spring:message.. 등)을 쓰고 있다.
  4. Spring의 JSP Tag에서 EL을 지원하는 속성에 사용자가 입력한 값이 들어갈 수 있다.
@benelog
benelog / Exception.rb
Created January 4, 2013 08:27
Ruby basic
def testException
begin
File.read 'myfile'
rescue SystemCallError => e
puts 'system call failed : ' + e
puts e.class
puts "Backtrace" + e.backtrace.join("\n")
rescue Exceptoin => e
puts 'generics failure of some kind'
else