프로그래밍(TA, AA) (269) 리스트형 [자바] 자바8 Optional 클래스 자바에서 null 레퍼런스를 사용하면서 발생할수 있는 이론적/실용적 문제를 확인하자. NullPointerException은 자바에서 가장 흔히 발생하는 에러다. 때로는 중첩된 null 확인 코드를 추가해야 하므로 null 때문에 코드 가독성이 떨어진다. null은 아무 의미도 표현하지 않는다. 특히 정적 형식 언어에서 값이 없음을 포현하는 방법으로는 적절하지 ㅇ낳다. 자바는 개발자로부터 모든 포인터를 숨겼다. 하지만 예외가 있는데 그것이 바로 null 포인터이다. null은 무형식이며 정보를 포함하고 있지 않으므로 모든 레퍼런스 형식에 null을 할당할 수 있다. 이런 식으로 null이 할당되기 시작하면서 시스템의 다른 부분으로 null이 퍼졌을때 애초에 null이 어떤 의미로 사용되었는지 알 수 없다.. [자바] 자바8 스트림으로 데이터 수집 (Collector) 자바의 스트림 긴으을 사용하면 데이터베이스 같은 연산을 할 수 있다. 데이터 집합을 유연하게 처리할 수 있는 lazy iterator의 개념으로 이해해도 좋다. 스트림 연산은 중간연산/최종연산으로 구분되는데 중간 연산은 한 스트림을 다른 스트림으로 변환하는 연산으로서, 여러 연산을 연결할 수 있다. (파이프의 역할)중간 연산은 스트림 파이프라인을 구성하며, 스트림의 요소를 consume하지는 않는다. 반면 최종 연산은 스트림의 요소를 소비해서 최종 결과를 도출한다. 최종 연산은 스트림 파이프라인을 최적화하면서 계산 과정을 짧게 생략하기도 한다. 스트림의 최종 연산중 collect가 존재하는데, 다양한 요소 누적 방식을 인수로 받아서 스트림을 최종 결과로 도출하는 리듀싱 연산을 수행할 수 있다. 다양한 요.. [자바] 자바8 스트림이란? 거의 모든 자바 애플리케이션은 컬렉션을 만들고 처리하는 과정을 포함한다. 컬렉션으로 데이터를 그룹화하고 처리할 수있다. 컬렉션은 대부분의 프로그래밍 작업에 필수적인 요소다. 많은 요소를 포함하는 커다란 컬렉션은 어떻게 처리를 해야할까? 성능을 높이려면 멀티코어 아키텍처를 활용해서 병렬로 컬렉션의 요소를 처리해야 한다. 람다 표현식은 메서드로 전달할 수 있는 익명함수를 단순화한 것이다. 람다 표현식에는 이름은 없지만, 파라미터 리스트/바디/반환형식/발생할수 있는 예외 리스트는 가질 수 있다. 파라미터: 메서드의 파라미터화살표: ->는 람다의 파라미터 리스트와 바디를 구분람다의 바디: 람다의 반환값에 해당하는 표현식 스트림이란 무엇인가? 스트림을 이용하면 선언형(즉, 데이터를 처리하는 임시 구현 코드 대신 .. [스프링] 스프링 프레임워크 5.0 (2) - 스프링부트 스프링 부트의 목표는 새로운 컴포넌트로 문제를 빠르게 해결하는 것이다. - 왜 스프링 부트인가? - 스프링 부트가 제공하는 기능은 무엇인가? - 자동 설정이란 무엇인가? - 스프링 부트란 무엇인가? - 스프링 부트를 사용할때 백그라운드에서는 어떤 일이 발생할까? - 스프링 Initializer를 사용해 새로운 스프링 부트를 어떻게 만들까? - 스프링 부트로 기본적인 RESTful 서비스를 어떻게 만들까? 스프링 부트는 무엇인가? 스프링 부트는 코드 생성 프레임워크가 아니기 때문에 코드를 생성하지 않는다. 스프링 부트는 애플리케이션 섭도, 웹서버도 아니다. 다양한 애플리케이션, 웹서버와의 통합을 제공한다. 스프링 부트는 특정 프레임워크나 스펙을 구현하지 않는다. 스프링부트란 무엇이며, 지난 2년동안 왜 인.. [스프링] 스프링 프레임워크 5.0 (1) 스프링 프레임워크"스프링 프레임워크는 최신 자바-기반 엔터프라이즈 애플리케이션을 위한 포괄적인 프로그래밍 및 구성 모델을 제공한다." 스프링 프레임워크는 엔터프라이즈 자바 애플리케이션을 연결하는데 사용된다. 스프링 프레임워크의 주요 목표는 애플리케이션의 여러 부분을 연결하는데 필요한 모든 기술을 제공하고 전담 처리하는 것이다. 스프링 프레임워크가 중요한 이유는 "단순화된 단위 테스팅 / 복잡한 코드 감소 / 아키텍처의 유연성" 등이 있다. 단순화된 단위 테스팅스프링 프레임워크의 의존성 주입은 의존성을 자신의 mock로 쉽게 대체함으로써 단위 테스팅을 가능하게 한다. 단위 테스트를 위해 전체 애플리케이션을 배포할 필요가 없다. 복잡한 코드 감소스프링 프레임워크 이전의 일반적인 J2EE 애플리케이션에는 복잡.. 이전 1 ··· 19 20 21 22 23 24 25 ··· 54 다음