728x90
반응형

전체 글 842

원격지의 이미지 파일을 읽어서 원하는 곳에 업로드 하기

보통 개발 시에 파일 업로드를 하려 하면 html form에서 multipart/form-data로 파일을 선택해서 업로드 하고, 이를 서버 단에서 받아 처리를 하게 된다. 하지만 이런 방법이 아니라 원격지의 이미지 파일을 읽어온 후 필요 시 리사이지, 그리고 나서 다시 다른 곳에 있는 서버로 파일을 업로드 하는 기능이 필요해 개발을 하다 보니, 많이 사용되는 방법이 아니기에 정리해 둔다. import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.net.URL; import java.nio.file.Files; impor..

Java 2017.02.09

코딩 하면서 유용한 Tool Site

코딩하면서 유용하게 사용하고 있는 사이트들이 몇 개 있는데... 자주 사용하다 보니... 그냥 이렇게 정리해 두고 필요할 때 끄집어 내서 사용하면 좋겠다 싶어 정리 ^^ 순서는 중요도랑 아무 상관 없이... 그냥... 1. Json online Editor http://www.jsoneditoronline.org/ JSON Editor Online - view, edit and format JSON online Ooops! Looks like you opened the website of jsoneditoronline having the url prefixed with www, whilst the official url doesn't have this prefix. You will be redirecte..

Develop!/etc 2017.01.24

잡설...

요즘 주변에서 일어나는 일들을 보면서 드는 생각들을 적어본다.정리된 생각이 아니니... 주저리 주저리 잡설이 될 듯 싶다. * 개발을 잘 한다는 의미는 무엇일까? 한 쪽 사람은 다른 사람을 개발 못한다고 욕하고, 다른 쪽에서는 이 사람을 개발 못한다고 욕한다.요즘 드는 생각으로는 뭐가 개발을 잘하는 것이고, 뭐가 못하는 것인지... 이제 잘 모르겠다는...예전에는 뭔가 명확한 원칙, 기똥찬 코딩 실력...여러가지 어려운 전문용어...새로운 개념 도입... 깔끔한 정리 등등뭔가 개발 잘하는 것에 따라오는 수식어들이 있었는데...상황에 따라, 권력을 쥐고 있는 사람에 따라 관점이 달라지듯... 개발을 잘 하는 지의 여부도 달라지는 현상을 본다. 그냥 정확하게 알게 된 결론은...서로 잘난척을 할 뿐...뭐가..

바이크의 꿈은 날라가고...

야마하 mt-03 타고 싶은데...배기량 때문에 2종 소형이 필요해서... 학원을 알아 봤는데...마나님이 안된다고 하셔서 야마하 mt-03은 꿈을 버리게 되었습니다. 그래서 좀 배기량 작은 스쿠터는 어떨까 하고 검색하다가 우연찮게... 이뻐 보이는 스쿠터가 있어서... http://storefarm.naver.com/lsl19690/products/485629786 요놈 ㅎㅎ사고 싶어 마나님에게 링크를 보냈더니...단박에 거절 ㅠㅠ ( 저 죽으면 어떻게 가족이 먹고 사냐고... 바퀴 2개 짜리는 안된다네요 ㅠㅠ) 그냥 오래된 구아방이나 몰고 다녀야 겠네요 ㅠㅠ

인생이야기 2016.11.16

사회 생활 잘 한다는 말의 의미는...

얍삽하다는 의미인 것 같다...그런 사람들이 알아서 먼저 살길 찾아가는 것 같고... 그러다 보면 가만히 있는 사람이 쓰레기 청소 다 하고... 피해 보는 것 같다. 알아서 살길 찾아 가는 것 까지야 뭐라 안하는데...가기 전까지 왜 이리 잘난척 다하면서, 조직에 혼신을 다 바칠 것처럼 하면서...이제와서 나 몰라라 하는거냐 -.-;; 그렇게 살지마라...

HTML5 Canvas를 이용한 브라우저에서 이미지 용량 줄이기

이 역시 티몬 구매후기에서 이미지 업로드와 관련된 기능을 적용하면서 나온 내용을 정리 차원에서 적어 둡니다. 구매후기 작성 시 이미지를 선택해서 업로드를 하게 되는데, 기존에는 이미지의 사이즈를 제한하는 기능이 있었고 이로 인해 이미지 제한에 걸려 이미지를 업로드 하지 못하거나, 업로드 된 원본 이미지도 용량이 너무 큰 문제가 있었습니다. (장당 3MB) 아무런 제약 없이 이용자는 이미지를 마음껏 올릴 수 있으려면 이미지 리사이즈가 필요한데, 서버단에서 용량 리사이징을 하게 되면 아까운 네트웍 비용이 들어가게 되므로 클라이언트 단에서 용량을 줄일 필요가 있었습니다. 그래서 사용하게 된 것이 HTML5의 Canvas 기능이죠. 물론 이전에 HTML5를 제대로 사용해 본 적이 없어서... 모든 기능은 최고의..

Develop!/script, Ajax 2016.11.09 (4)

이미지 파일 업로드 오류 수정 기록...

구매후기 이미지 업로드에서 오류가 나고 있어서 해당 내용을 검토 중에 알게 된 내용을 정리합니다. 기본적으로 아래와 같은 방식으로 업로드가 되고 있습니다. 브라우저 -> php -> Java 그런데 문제는 어느 한쪽의 문제가 아니라 php, Java 둘다 문제가 발생... 그리고 문제의 원인은 둘다 Version Up이였습니다. 1. 먼저 Java Error Message가 "Required MultipartFile parameter 'file' is not present" 라고 발생. 구글링 하니 http://stackoverflow.com/questions/25830503/spring-mvc-http-status-400-required-multipartfile-parameter-file-is-not-..

Java/Spring 2016.11.08

Spring Batch(스프링 배치)에서 작업 시간이 길어지는 경우

Spring Batch를 그닦 많이 써본 경험이 없지만, 특정 요구 사항이 있어서 개발하게 되었습니다.작업을 하면서 겪은 오류를 어떻게 해결 했는지 History 및 Backup을 위해 적어 둡니다. 보통 배치는 Reader와 Writer로 구분합니다.특정 정보를 Reader에서 읽어 들여서 필요한 내용을 가공하고 Writer에서 필요한 행동을 합니다. 그런데 Reader에서 정보를 읽어 들이고 가공하는 시간이 오래 걸리면서 Writer에서 DB Connection을 못 찾게 되고, Writer 작업을 수행하지 못하게 되는 경우가 발생했습니다. 구글링을 한 결과 "autoReconnect 값을 true로 해라", "validationQuery를 날려라" 등등이 나왔지만 유효하지 않은 해결책이였습니다. 결..

Java/Spring 2016.10.27

PHP curl로 파일 전송할 때 mime type 같이 전송하기

필요에 의해 html -> php -> java api로 파일을 전송해야 할 일이 생겼다. Java Api는 UI에서 바로 사용하면 안되는 상태라서 php를 거쳐 가야 하는데 html에서 올린 파일을 Java API로 전달 하는 과정이 생각보다 쉽지 않아 정리 차원에서 글을 남긴다. Html에서 php로 파일을 올리게 되면 $_FILES 라는 전역변수 안에 정보가 담기고, 실제 파일은 php.ini에서 지정한 임시 디렉토리에 저장된다. 해당 경로는 $_FILES['업로드한 html form name']['tmp_name'] 에 저장되어 있으며, 해당 파일을 다시 Java API 쪽으로 넘겨 주면 된다. 넘겨주는 방법은 curl을 사용하면 된다. 다음과 같은 방법으로 하면 된다. $headers = arr..

Develop!/php 2016.05.23

List에서 특정 요소 제거하기

List에서 불필요한 item을 제거하기 위해 loop를 돌리게 되면 제거 후 size가 맞지 않는 일로 인해 null point exception을 만나기가 쉽다. 이럴 경우 제대로 된 방법이 무엇인지는 모르지만... 실제로 돌려보고 Exception이 나지 않은 방법을 찾아 정리 차원에서 남겨 둔다. 검색해서 참고한 URL은 https://stackoverflow.com/questions/17279519/removing-items-from-list-in-java/17279565#17279565?newreg=0dee1db24aaa4154a0cebdc173ed5aeb List toRemove = new ArrayList(); for(Object a: list){ if(a.getXXX().equalsIgn..

Java/Etc 2016.02.11

php의 람다식, 가변 함수

오랜만에 php 코드를 들여다 볼 일이 생겼는데, 알지 못할만한 소스코드들이 있어 헤메다가 정리 차원에서 적어둔다. 1. php의 람다식. http://php.net/manual/kr/function.array-walk.php array_walk($data, function(&$value, $key, $joinUsing) { $value = $key . $joinUsing . $value; }, $glue); array_walk의 2번째 인자값을 function 변수로 넘길 수도 있지만 위에처럼 람다식으로 그냥 적어버릴 수 있다. 안드로이드에서 Callback 함수로 람다식으로 적는 경우가 많은데, 그런식으로 작성하나 보다. 오랜만에 php 하니 새롭다 ^^;; 2. 가변함수 이런말 첨 들어보는데, 위의..

Develop!/php 2015.08.20

MySQL의 Float, Double에서 Length와 Decimal이 의미하는 것...

위도와 경도를 표기하기 위해서 DB Column을 만드는 중 알게 된 내용을 정리해 본다.정확한 내용이 아닐 수도 있으니 참고 사항으로만 보길... MySQL에서 float, double 타입을 Create할 때 float(length, decimals) 와 같은 형식으로 만든다.여기서 length와 decimal이 의미하는 내용이 정확히 무엇인지 알기 위해 구글링을 했지만, 매뉴얼에나 나올법한 알아듣지 못할 소리를 번역기로 돌린 듯한 글만 있... 그래서 좀더 검색해 보니 얻어 걸린 글에서 아래와 같은 내용이 보였다. https://dev.mysql.com/doc/refman/5.0/en/floating-point-types.html M(length)는 전체 길이 즉 정수 부분과 소수 부분을 합친 길이..

Develop!/MySQL 2015.06.02

바코드 인식기 만들기

급하게 바코드 인식 관련 프로그램을 만들다 보니 오픈소스를 검색하게 되었고 Google에서 제작한 zxing 이란 것을 발견하게 되었습니다. (GitHub : https://github.com/zxing/zxing) 해당 코드와 관련된 포스팅들이 여럿 나왔지만 다 조금 씩 부족한 부분들이 있어서 정리 차원에서 올립니다. 물론 제가 올린 내용도 부족한 부분이 많습니다. 1. 외부 앱을 이용한 방법 이미 외부 앱을 이용해서 구동하는 방법은 잘 정리된 곳이 있습니다. 관련 포스팅은 http://code.tutsplus.com/tutorials/android-sdk-create-a-barcode-reader--mobile-17162 를 참고하시면 됩니다. 간단하게 정리하자면 Github에서 다운로드 받은 소스 ..

Java/Android 2015.05.13 (1)

체리 웨스트 게이트 터보차져 수리 및 eni 0W-30 오일 교환

오일전문 커뮤니티(http://cafe.naver.com/redzonekr) 에서 복돌님이 주구장창 이야기 하셨던 엄청난 반응을 보여준다는 eni 0W-30으로 오일을 교환하고 왔습니다.언제나 그렇듯이 오일은 '오일스마트 수원점'에서 했구요. (평가 봐 보세요 ㅎㅎ 장난 아닙니다 ^^)오일 교환 전에 스포텁 4년차 정기 정검 받으러 '기아자동차 수원 서비스센터' 가야 했기에 먼저 서비스 센터에 입고했습니다.접수 받아 주시는 분이 정기 정검 말고 특이점 이야기 하라고 하길래, 와이프가 주행 중 기어를 R로 놓는 순간 시동이 2번 꺼진 적이 있어서 그 이야기를 했습니다.접수 완료 후 미케닉이 시동 꺼질 당시의 상황을 물어보았지만... 제가 있을 때 꺼진게 아니라 와이프가 있을 때 꺼진거라서 정확한 설명을 하..

MySQL의 zero date("0000-00-00 00:00:00") 값이 Date 값으로 넘어오지 않는 경우

MySQL에 DateTime 필드에 값이 없을 경우 기본 값으로 "0000-00-00 00:00:00" 들어가는 경우가 있다. 이럴 경우 쿼리해 온 값이 Java의 Model 객체에 Setter로 값을 넣는 과정에서 에러가 발생한다. 에러 메시지는 다음과 같다. "Cannot convert value '0000-00-00 00:00:00' from column 4 to TIMESTAMP" 뭐 '0000-00-00 00:00:00' 값은 timestamp 값으로 바꿀 수 없다는 메시지 같은데... 이럴 경우 어떻게 해결해야 하나 고민하다가 구글링을 통해 알게 된 내용을 정리한다. 보통 Model 객체의 Setter를 아래와 같이 작성하게 된다. setter에서 Date 객체로 받아야 하는데 값을 넘겨줄 수..

Java 2015.04.06

이클립스에서 jquery.min.js 파일의 오류 제거하기

이클립스 사용하다 보면 jquery.min 파일에서 "Missing semicolon" 이라는 오류가 뜨게 된다.이럴 경우 다음과 같은 방법으로 예외 처리를 하게 되면 된다. 출처 : http://metalbird.tistory.com/59 ============================================================================================= query min.js 의 경우 이상없이 작동하나 에러가 표시되게 된다. 이게 싫어서 일반 jquery*.js로 쓰기도 했으나 간단하게 해결할수 있는 방법이 있어서 메모한다. 에러 예외처리에 추가하는것이다. Project > Properties > JavaScript > Include Path > 아래..

Spring에서 MessageUtil 사용하기

다국어 사용을 위해서 그동안 Struts2 기반 MessageUtil만 사용하다가 Spring 기반으로 변경하기 위해 구글링, 작업한 내용을 정리 차원에서 올립니다. 1. applicationContext.xml에 다음 내용을 추가 /WEB-INF/messages/messages 2. MessageUtil import java.util.Locale; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.context.support.MessageSourceAccessor; import org.springframework.web.context.reques..

Java/Spring 2015.02.24

메소드 파라미터(parameter) 및 어노테이션(Annotation) 정리

출처 : http://warmz.tistory.com/727 1. HttpServletRequest, HttpServletResponse 2. HttpSession 3. Local - java.util.Locale 지역 정보 4. InputStream, Reader - HttpServletRequest의 getInputStream(), Reader 5. OutputStream, Writer - HttpServletResponse의 getOutputStream(), Writer - 서블릿 형태로 만들때 사용한다. 6. @PathVariable - @RequestMapping의 URL {} 부분의 패스 변수를 받는다. 만약 타입이 틀린 값이 들어오면 HTTP 400 - Bad Request 가 전달 된다.?..

Java/Spring 2015.02.24

[Redis] redis 정리

1. overcommit_memory 값 변경 https://charsyam.wordpress.com/2013/01/24/%EC%9E%85-%EA%B0%9C%EB%B0%9C-redis-vm-overcommit_memory-%EC%9D%84-%EC%95%84%EC%8B%9C%EB%82%98%EC%9A%94/#comment-1256 위 포스트를 보다가 overcommit_memory 값은 어디에 셋팅되어 있고, 어떻게 변경하는 것인지 궁금해서 구글링.아래와 같은 포스트 찾음. http://redis.io/topics/faq 현재 셋팅 된 값은 /proc/sys/vm/overcommit_memory 에 있음. http://redis.io/topics/admin 값 셋팅은 /etc/sysctl.conf 안에 v..

Server/Etc 2014.12.01

콘솔에서 특정 파일명 또는 특정 단어가 들어간 파일 찾기

오랜 기간 콘솔 작업을 안하다가 다시 콘솔에서 작업할 일이 생겼는데...그동안 잘 사용해 오던 명령어들이 생각이 안나서 구글링... 이왕 찾게 된 김에 정리해 둘 겸 적어 둡니다.필요하신 분들은 사용해 보세요 ㅎㅎ 1. 해당 파일 안에 특정 문구가 들어간 파일 찾기 (하위 디렉토리 포함) grep -rl "원하는 단어" pathex) [user@server redis]$ grep -rl "sysctl.conf" ././src/redis-server./src/redis.c./src/redis-sentinel./src/redis.o 요즘 redis를 보고 있는데 sysctl.conf라는 단어가 들어간 파일을 찾을 경우 위와 같이 하면 된다.위 내용은 src/redis-server 라는 파일 안에 sysctl..

Server/Shell 2014.12.01

시승기 관련 전문 사이트를 개설하였습니다.

제 블로그에 차량 시승 관련 내용들이 간간히 올라오는데요.관련해서 아예 별도 사이트로 개설하였습니다.그래서 자동차 시승 관련된 내용은 한쪽으로 몰아서 운영하려구요. 관리자 모드에서 리퍼러로 살펴보면 자동차 검색으로 들어오시는 분들이 꽤 되는데...앞으로 http://testdrive.reviews 를 즐겨 찾기 해 두시고 들어오시면 좋은 내용을 많이 보실 수 있을 것입니다. ^^ (과연 좋은 내용일지 ^^;;;)도메인은 생소한 최상위 도메인인데... 한국말로 하면 '시승 ' + '리뷰' 입니다. 간단히 말해서 '시승.기' ㅎㅎㅎ저 단에는 좋다고 생각해서 잡은건데... 다른 분들에게도 좋을지 모르겠네요 ㅎㅎ 그리고 간단한 회원 가입 이후에 자동차 관련해서 질 높은 토론, 논의 등이 있으면 좋을거 같습니다...

비오기 전 체리 세차 하기...

토요일 오후에... 세차를 힘들게 하고나서 사진 몇방 찍었습니다.일요일날 비올 것을 알았기에... 세차 후 얼른 지하 주차장으로 고고씽 하고...출퇴근 용으로 사용하는 구아방이만 끌고 다녔다는 ㅎㅎㅎ 엔진 오일 간지 6,000km가 넘어 가고 있는데... 엔진 오일은 아직까지 괜찮아 보이네요.그래도 7,000km에는 꼭 오일 갈기 ^^ 그리고 문에 생긴 수 많은 문콕들을 보며... 맘이 아픈... ㅠㅠ제발 상식적인 사람들이라면... 옆 차량들 문콕 좀 하지 말자구요 ㅠㅠ하긴 비 상식적인 사람들이 넘쳐나는 시대에... 바랄껄 바래야겠죠? -.-;;

운전대만 잡으면 격투기 선수로 변하는 분들에게...

오늘 이 영상 보고 너무 웃겨 죽는 줄 알았습니다.도로 위에 올라 운전하다 보면 이런 경우 많거든요. 온라인 상에는 키보드 워리가 많듯이, 도로 위에도 워리어들이 많습니다.물론 자기보다 강한 사람이 나타나면 깨갱하지만... 그리고 차와 자신을 동일시 하는 이상한 습성이 있어서, 차량이 작은 차량을 보면 무시하기 일수이지요. 도로에, 아니 우리 사회에 개념 충만한 사람들이 많아져서, 조금더 합리적이고 양보하며 융통성 있는 교통 문화가 이루어 졌으면 좋겠습니다. "세상엔 나보다 더 강한 사람이 많다." 라고 한 마지막이 와닿네요 ^^

LaFerrari vs Ferrari Enzo Driving Fast in the Hills!

현 시대의 최고의 하이퍼카인 LaFerrari와 한시대의 최고 하이퍼카였던 Enzo Ferrari가 같이 와인딩에 나섰네요. 길 가다가 한번만 보기도 힘든 두대의 차량이 같이 와인딩을 하는 진귀한 풍경입니다. ^^ 영상 내내 들리는 LaFerrai의 업, 다운 쉬프트 소리는 아드레날린을 자극하네요 ^^ 덧. 언제 한번 스포텁으로라도 와인딩을... ^^ 그 전에 전복 될려나 ^^;;;

약장사가 먹고 사는 방법...

저는 원래 차량에 첨가제가 필요 없다고 믿는 사람입니다.효과가 없을 뿐더러, 있더라도 아주 미세한 만큼의 효과가 있어서 가격대비 효과가 그리 크지 않다고 생각했기 때문이죠. 그래서 그동안 첨가제를 사용하지 않았었는데... 이번에 카드 포인트가 좀 남아서... 포인트로 쇼핑을 하던 도중... 아래 첨가제가 눈에 딱 들어오더군요. 흠... 속는 셈 치고 한번 사 볼까? 라는 생각도 들었고...출퇴근 용도로 쓰는 구아방이 매우 오래된 차라서, 연식이 오래된 차일 수록 왠지 이런 첨가제가 잘 먹힐거 같다는 생각에 1+1으로 두통을 구매했습니다.그리고 스포텁(체리)과 구아방이에 한통씩 넣어 줬죠. 뭐 별 기대는 안하고... 그런데...그런데... 차량 반응이 좀 다르네요 ^^;;엔진 rpm도 조금 더 부드럽고 나..

얌체 운전

오늘 오전 출근길에 본 얌체 운전입니다. 출근용 구아방에 달린 싸구려 블박이라서 화질도 안 좋고, 날짜도 완전 이상하게 나오네요 ㅎ 날짜는 2014년 1월 22일 오전 8시 40 ~ 50분 경입니다. 초반 20초 정도에 나오는 구간은, 가장 하위 차로인데 하위 차선이 조금 넓고, 우회전 하는 차량을 위해서 직진 차량하는 차량들이 왼쪽에 보통 바짝 붙여서 운행합니다. 초반에 몇대는 양보해 주는 직진 차량들이 있기에 우회전 할 수 있었던 거구요. 그런데 갑자기 어디선가 모닝니 나타나더니, 제 앞으로 오네요. 저때 드는 생각이, "아 중간에 어디 골목에서 나왔는데, 직진 차선에 끼여들지 못해서 여기까지 왔나보다" 였습니다. 그리고서는 그냥 제 갈길을 갔죠. 그런데 이번에 다시 만나게 됬네요. 뭐 어째든 1차선..

더 베스트랩의 재미난 배틀 이야기

The Bestlap이란 곳에서 재미난 영상을 올렸네요. 장소는 코리아 인터네셔날 서킷이고, 배틀에 참여한 차량은 재규어 Ftype 6기통과 8기통, 포르쉐 박스터 S, 카레라 S, 캘리포니아가 참여했네요. 역시 가격대비 가성비는 박스터군요 ^^ 촬영에 핼리캠까지 동원된거 보니, 쉽게 촬영된거 같지는 않고 막대한 자원이 들어간거 같네요 ^^ 부럽습니다. ㅎ

투아렉 3.0 TDI Blue motion 간단 시승기

우연찮은 기회에 투아렉 3.0 TDI Blue motion을 타볼 기회가 있어서 잠깐 몰아봤습니다.기본적인 샷시나 엔진, 동력계통등은 카이엔 디젤과 동일하다고 알고 있는데, 일전에 몰아본 카이엔과 비슷한 느낌을 주네요. 뭐 익스테리어나 인테리어는 많이 다를지 몰라도, 기본적인 파워트레인이 동일해서 그런가 운동 성능은 비슷한거 같습니다.그에 반해 인테리어는 포르쉐와는 전혀 다른 느낌이죠.골프에서 느낄 수 있는 것처럼 전형적인 독일인들의 꼼꼼함을 엿볼 수 있는 스타일이구요.차량이 매우 커서 시트 포지션도 낮게 느껴 집니다. 실지 시트 포지션이 낮은게 아니라, 본넷 라인이 많이 올라와 보인다고 할까요?파노라마 선루프도 매우 광활하더군요.하지만, 좀 투박합니다. 같은 회사임에도 폴스바겐과 포르쉐와의 인테리어 감..

오랜만에 고속도로 달린 이야기...

12월 31일 2013년도의 마지막 날, 처가집에 내려가는 도 중, 천안 논산에서 아래 녀석을 만났습니다.넓고 낮은 포지션을 가지고 ㅎㄷㄷ한 포스로 달리더군요. 비교하기도 힘든 제 차이지만, 같이 한번 달려 보니, x00 ~ x70까지는 달릴 만 하더군요.같이 앞서거니, 뒷서거니 하면서 달렸는데, 뭐 제가 만만해 보여서 그런 것일 수도 있고... 아님 sls amg 드라이버가 맘이 넓어서도 그럴 수 있고, 살살 같이 달려 주더군요. 서로 서로 앞서거니 뒷서거니 하다가, 한버은 버스와 트럭 사이에 의도치 않게 제가 SLS AMG를 가둬 버리는 사태도 발생하고, 나중에는 2차선으로 비켜 줘서 먼저 가라고 했는데, 휴게소 한번씩들 들리니 서로 다시 만나더라는 ㅎㅎ 휴게소 들려서 주유하고, 살살 달리니 고속도로..

728x90
반응형