분류 전체보기 85

제네릭 메서드

제네릭 메서드의 작성법은 제네릭 타입 작성법과 비슷하다. 아래는 두 집합(Set)의 합 집합을 반환하는 문제가 있는 메서드다. public static Set union(Set s1, Set s2) { Set result = new HashSet(s1); // Type safety : unchecked call... 경고 result.addAll(s2); // Type Safety.. return result; } 컴파일은 되지만 경고가 발생한다. 메서드를 타입 안전하게 만들어야 경고가 사라진다. 메서드 선언에서의 세 집합(입력 2개, 반환 1개)의 원소 타입을 타입 매개변수로 명시하고, 메서드 안에서도 이 타입 매개변수만 사용하게 수정하면 된다.타입 매개변수의 목록은 메서드의 제한자와 반환 타입에서 온..

Java 2020.07.14

@NotNull @NotEmpty @NotBlank 차이

Bean Validation API의 NotNull, NotEmpty, NotBlank의 차이에 대해 설명한다. @NotNull The annotated element must not be null. Accepts any type. 모든 타입에 대해 null을 허용하지 않는다. @NotEmpty The annotated element must not be null nor empty. Supported types are: CharSequence (length of character sequence is evaluated) Collection (collection size is evaluated) Map (map size is evaluated) Array (array length is evaluated) ..

Java 2020.03.04

Http Response Code에 대한 간단한 정리

400과 404의 차이에 대해 구글링하던 결과에 대해 정리해 보고자 한다. 자세한 사항은 표준문서 RFC 2616(https://tools.ietf.org/html/rfc2616#section-10.4)을 참고하자. RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 [Docs] [txt|pdf] [draft-ietf-http...] [Tracker] [Diff1] [Diff2] [Errata] Obsoleted by: 7230, 7231, 7232, 7233, 7234, 7235 DRAFT STANDARD Updated by: 2817, 5785, 6266, 6585 Errata Exist Network Working Group R. Fielding Request..

프로그래밍 2020.02.21

Spring Security + Rest

Spring Security는 기본적으로 인증 과정에서의 결과를 redirect로 처리합니다. 인증 성공 시 success page 인증 실패 시 failure page 비인가 접근 시 authentication page 크게 세가지의 행동에 대한 처리를 page redirect가 아닌 response를 반환하게 만들면 됩니다. 이러한 컨셉을 잡고 구현해 나가봅시다. 모든 소스는 https://github.com/lteawoo/RestSpringSecurity에서 확인 하실 수 있습니다. Spring Security 기본 인증의 경우 UsernamePasswordAuthenticationFilter에서 formlogin 요청을 필터링하여 처리합니다. 이 클래스는 AbstractAuthenticationP..

Spring 2020.02.19

람다 (Lambda)

람다 람다 표현식이란 클로져(Closures)나 익명 함수, 익명 메서드(anonymous methods, anonymous functions)로 알려져있다. 다시 말해 자바에서는 익명 메서드를 나타내기 위한 표현식(expression)이라 생각하면 된다. (int x, int y) -> x + y () -> 42 (String s) -> { System.out.println(s); } 첫번째 식은 매개변수로 x, y를 받고 x, y의 합을 반환한다 두번째는 integer 42를 반환한다. 마지막은 매개변수로 String s를 받고 그것을 콘솔에 출력, 아무것도 반환하지 않는다. 일반적인 문법은 매개변수들, ->(화살표) 그리고 body로 이루어진다. body는 단독으로 표현 하거나 { } 중괄호 블럭으..

Java 2020.02.18

Netgear 공유기 DHCP 임대시간 변경하기(R7800)

KT인터넷에 Netgear 공유기 사용 중인데 1시간마다 인터넷이 끊기는 현상 발생 DHCP 임대 요청하면서 끊기는거 같아 임대시간 변경하여 이상 없음 확인했습니다. ※Telnet 활성화가 되어있어야 진행 가능합니다. Netgear 공유기 Telnet 활성화 하기(R7800) Netgear 공유기 Telnet 활성화 하기(R7800) Netgear R7800를 사용중인데 아마 같은 라인이면 비슷할거라 봅니다. 텔넷 활성화 제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Telnet Client 활성화 Netgear 공유기의 텔넷 활성화 1.Debug 모드.. lteawoo.tistory.com Telnet 접속 후 설정 확인 config show | grep -i lease 명령어..

IT Tip 2020.01.05

Netgear 공유기 Telnet 활성화 하기(R7800)

Netgear R7800를 사용중인데 아마 같은 라인이면 비슷할거라 봅니다. 텔넷 활성화 제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Telnet Client 활성화 Netgear 공유기의 텔넷 활성화 1.Debug 모드 이용 http://192.168.1.1/debug.html에 접속한다. 공유기 관리자 id/pw로 로그인 Enable Telnet 옵션 활성화 해당 옵션은 라우터 재부팅 시 비활성화 됩니다. 2.Telnetenable 프로그램 이용 https://github.com/insanid/NetgearTelnetEnable에서 다운로드 혹은 첨부된 파일 다운로드 명령 프롬프트에서 다음 명령어로 Telnetenable 실행(mac주소는 관리자 페이지 혹은 제품 아래 라벨..

IT Tip 2020.01.05

STS4 + Spring Boot + Gradle 기본 세팅하기

환경 구성 개발 툴 : STS 4 -> Spring boot 개발을 위한 최적화 툴이라고 생각함. Intellij CE(무료버전)으로 개발하다 Web과 Spring 그리고 JSP에 대한 기능 미비로 대체함 빌드도구 : Gradle -> Maven Repository도 지원하면서 빠름, Maven에 비해 간결한 설정 프레임워크 : Spring Boot -> Spring 레거시보다 빠른 프로젝트 시작 가능이 최대의 장점이라고 생각한다. 그리고 확장성 부분도 부트가 나온지 꽤 됐기 때문에.. 레거시보단 못하겠지만 그래도 훌륭하지 않을까. 귀찮음을 해결한 대가라고 생각하자. Spring Boot makes it easy to create stand-alone, production-grade Spring base..

Spring 2019.12.23

Flutter 튜토리얼 시작하기 - 3.2

저번 Flutter 튜토리얼 시작하기 - 3.1에 이어서 3단계를 진행해보도록 하겠다. 3단계 : Stateful widget 추가하기 Stateless widget은 변경할 수 없다 불변이다, 해당 widget의 속성들은 변경이 불가능하다. Stateful widget은 자신의 생명주기 동안 변경되는 상태를 그대로 유지한다. stateful widget을 구현하는 것은 최소 2개의 클래스가 필요하다. 1) StatefulWidget 클래스와 , 2) State 클래스가 필요하다. StatefulWidget 클래스는 State 클래스의 인스턴스를 구현하고 자기 자신은 변경할 수 없다 하지만 State 클래스는 widget의 생명주기 동안 지속된다. 이번 단계에서는, State 클래스인 RandomWord..

Flutter 2019.09.28