Language

    자바 스트림 연산

    Java Stream 자바 공부를 하면서 Stream이 무엇인지, 어떻게 사용되고 있는지 인지는 하고 있었으나 실제 코드로 타이핑해보지 않았다.그러던 중 이번에 가볍게 API 훑어보는 식으로 공부를 하면서 코드를 쳐보면서 조금 더 익히게 되었다.Stream은 자바 8부터 추가된 기능으로 "컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능"이다. (InputStream, OutputStream같은 I/O Stream이 아니다.)1234567891011121314List names = Arrays.asList("jeong", "pro", "jdk", "java");// 기존의 코딩 방식long count = 0;for (String ..

    커스텀 어노테이션

    1. 어노테이션이란스프링 프레임워크를 사용하면 어노테이션을 자주 사용하게 됩니다. 아래는 스프링 웹 MVC를 사용한 예로 GET HTTP 요청(/helloworld)이 있으면 “Hello World”를 담아서 뷰에 전달되는 코드입니다. 이런 어노테이션은 내부적으로 어떻게 코드화되어 사용되는지 알아봅시다. 1 2 3 4 5 6 7 8 9 @Controller public class HelloWorldController { @RequestMapping(value="/helloworld", method=RequestMethod.GET) public ModelAndView example() { return new ModelAndView("helloworld", "message", "Hello World"); }..

    자바 Lombok - Annotation

    lombok.---.flagUsage = ALLOW---는 어노테이션명 1. val정말 굉장한 어노테이션이다. 스칼라의 val 키워드와 마찬가지로 객체의 타입을 추론한 불변 값을 선언한다. 하지만 스칼라와 달리 지역 변수와 foreach 구문에만 사용할 수 있다(메소드 파라미터, 클래스의 필드에는 사용할 수 없다)val str = "Hello!"; // final String str = "Hello!"와 같다. System.out.println(str); // Hello! val lst = new ArrayList(); // 다이아몬드 연산자() 안에 타입을 넣지 않으면 // ArrayList 로 선언된다. lst.add("Hello"); lst.add("World!"); System.out.printl..

    Go언어의 특성

    Go- 싱글코어에서 강점을가짐, 문맥스위칭에서 퍼포먼스가 향상됨 많은 사람들이 Go 언어를 두고 높은 “생산성” 과 “성능”을 위한 언어라고 이야기 한다. Go 언어의 주요 특징은 아래와 같다. 정적 타입, 강 타입 C/C++, Java 와 같이 Compile Time 에 Type 결정이 이루어 지며, 코드 내에서 암시적 형변환이 일어나지 않는다. 컴파일 언어 C/C++, Java, C# 등과 같이 컴파일이 필요한 언어임. Java 나 C# 과 달리 실행파일을 만들어냄. 별도의 Runtime 환경이 필요없어 실행 환경이 복잡하지 않음. 가비지 컬렉션 실행파일 내에 Garbage Collector 가 탑재 됨. 병행성(Concurrency) Multi Thread, Multi Core 에 Go Routin..