개발/JAVA
-
Spring boot application.properties 설명개발/JAVA 2019. 2. 27. 11:24
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own application. ^^^# =================================================================== # ----------------------------------------# CORE PROPERTIES# ---------------------------------------- # BANNERbanner.cha..
-
자바와 MFC 소켓 프로그래밍 참고하세요개발/JAVA 2018. 7. 24. 10:06
C와 자바로 소켓 통신을 하려고 한다면 다음과 같은 것을 지켜야 한다. 1. 와이어 샤크 같은 패킷분석기를 이용해서 오고가는 패킷을 분석해야한다. 이걸 이용해서 자바에서 쓰는 데이터를 C끼리 주고 받는 데이터 구조와 완전히 같게 만들어서 보내줬다.2. 자바에서 C로 보낼시에 문자열 같은것은 상관없지만 int형 같은 Byte단위가 넘어가는 숫자는 반드시 LittleEndian으로 변환을 한 후에 보내줘야 한다. (왜냐하면 자바 : BidEndian 사용 , C : LittleEndian 사용 )3. C에서는 struct, 자바에서는 class를 사용해서 데이터를 정의했다.C 에서는 :struct LoginModeData{int type = 0;int isLogin = 0;char id[512]; char ..
-
Image Auto-Tagging API개발/JAVA 2018. 7. 24. 09:26
Auto-Tagging APIAutomatically assign tags to your images. Powerful API that makes your images findable.이미지를 분석해서 해당 이미지의 tag를 자동적으로 생성해주는 API https://imagga.com 무료는 아니고 유료이며 java code /* Please note that this example uses the HttpURLConnection class */ String credentialsToEncode = "" + ":" + ""; String basicAuth = Base64.getEncoder().encodeToString(credentialsToEncode.getBytes(StandardCharsets.U..
-
MultipartHttpServletRequest 다중파일 업로드개발/JAVA 2018. 7. 23. 15:13
파일 업로드를 위해 Form의 인코딩타입을 multipart/form-data로 변경해줍니다.이후 업로드 할 파일을 선택할 수 있도록 file 타입의 input 태그를 작성해줍니다. Spring에서 Multipart 파일업로드를 사용하기 위한 Commons fileupload(http://jakarta.apache.org/commons/fileupload)를 지원하고 있습니다.context파일에 multipartResolver를 bean에 등록해줍니다.multipartResolver는 maxUploadSize(최대 크기), maxInMemorySize(임시 파일 생성 전 메모리 보관 최대 크기), defaultEncoding(인코딩 타입) 세가지의 속성을 지원하고 있습니다. 이후 컨트롤러에서 요청을 받아..
-
Java8#02. 함수형 인터페이스(Functional Interface)개발/JAVA 2018. 7. 20. 09:48
앞선 포스팅에서 함수형 인터페이스(Functional Interface)가 무엇인지 알아봤다. 이번 포스팅에서는 Java8에서 기본적으로 제공하는 함수형 인터페이스들을 알아보자. 보통 'API는 외울필요없다. 이런게 있다는것만 알고있으면 된다.' 이런말을 많이 하는데 개인적인 생각에 Java8에서 제공하는 API는 최대한 외울수 있는데까지는 외워야 한다고 생각한다. 다음번에 알아볼 Stream은 선언형 프로그래밍으로 API만 계속 등장하게되는데 그때마다 찾아서 쓰려면 오히려 생산성이 저하되는 일이 발생할 수도 있기때문이다. 1) Runnable기존부터 존재하던 인터페이스로 스레드를 생성할때 주로사용하였으며 가장 기본적인 함수형 인터페이스다. void 타입의 인자없는 메서드를 갖고있다.Runnable r ..
-
Java8#01. 람다 표현식(Lambda Expression)개발/JAVA 2018. 7. 20. 09:48
Java8에서 뭐가 추가됐나요? 라고 물으면 가장 먼저 들리는 대답은 십중팔구 '람다와 스트림이요' 일것이다. 당연히 맞는 말이고 틀린 답은 아니지만 람다와 스트림이 왜 추가됐는지를 알아야하는데, 자바가 기존에 없던 문법까지 만들어가면서 이런것들을 추가한건 함수형 프로그래밍을 받아들이기 위해서다. 그래서 Java8을 공부하고자하는 사람이라면 그냥 단순히 '이번에 추가된 람다랑 스트림공부해야지'가 아니라 함수형 프로그래밍을 공부해야한다. 이는 프로그래밍 자체의 패러다임이 변하기때문에 그저 추가된 문법, 추가된 API만 공부하면 되는 수준이 아니라 프로그래밍 방식 자체, 문제 해결을 위한 사고방식 자체를 기존에서 탈피해야함을 의미한다. 해보니 기존에도 못하던걸 새로운걸 받아들이려고하니까 너무 어렵다;; 그래..
-
로그인 중복체크개발/JAVA 2018. 7. 11. 09:59
/* * 로그인 중복체크 * 이미 로그인한 사용자가 있을경우 기존의 사용자 세션을 종료후 자신이 로그인. * 해시테이블에 세션과 접속자 아이디를 저장해 둔다. * 세션 Object를 저장하는 이유는 동일한 아이디로 재접속 했을경우 * 아이디로 세션Object를 찾아내어 기존의 접속을 끊기위해서다.(invalidate) */ ============== WEB-INF\src\test\LoginManager.java =============== package test; import java.util.*; import javax.servlet.http.*; /* * session이 끊어졌을때를 처리하기 위해 사용 * static메소드에서는 static만사용 하므로static으로 선언한다. */ public cl..
-
Spring Framwork 메세지 국제화(다국어 지원) 사용하기개발/JAVA 2018. 7. 10. 13:18
스프링 프레임웍에서 다국어 지원기능을 사용해 보겠습니다. 기본적으로 텍스트로 저장되는 properties 파일을 언어별로 만들어서 사용합니다. 이번에 해볼것은 다음과 같습니다. 1. 메세지 프로퍼티 파일을 작성합니다. 2. 스프링프레임웍에서 사용할 수 있도록 설정을 합니다. 3. 언어를 변경할 수 있도록 구현합니다. 4. 자바코드과 jsp 코드에서 다국어 메세지를 사용하는 방법을 알아봅니다. 파일구조는 다음과 같습니다. /WEB-INF/messges 폴더 아래에 메세지를 담은 파일이 있습니다. message.properties 파일은 기본 파일 입니다. 언어가 맞지 않으면 이것이 선택되어질 것입니다. message_ko.properties 파일은 한국어 메세지 파일 입니다.message_en.proper..