스트림 (Stream)

스트림이란 ? https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html ​ Stream이 추가 되기 전인 Java 7 버전 까지에서는 많은 수의 데이터들을 다룰 때에 컬렉션이나 배열에 데이터를 담아 둔 후, 원하는 결과를 얻기 위해서 반복문 혹은 Iterator를 이용하는 방법 만으로 코드를 작성 해 왔습니다. package com.tistory.shanepark.stream; public class Stream01 { public static void main(String[] args) { int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for(int n : numbers){ System.out.println(..

Programming/Java 2021.09.05
람다식 (Lambda Expression)

Lambda는 2014년 3월 18일에 발표한 java 8에서 추가된 대표적인 기능입니다. 자바에 대한 함수형 언어의 기능 요구가 끊임없이 있어 왔고, 객체지향언어인 자바가 함수형 언어의 기능까지 갖추게 하는 일은 쉽지 않았을 테지만 그 어려운 일을 똑똑한 개발자들이 해준 덕분에 우리는 이 좋은 기능을 사용 할 수 있게 되었습니다. ​ 람다식이란? 람다는 간단하게 말해서 메서드를 하나의 식으로 표현 한 것입니다. 람다식은 함수를 간략하면서도 명확한 식으로 포현할 수 있게 해줍니다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없기 때문에 람다식을 "익명함수" 라고 부릅니다. 객체지향 언어인 자바에서는 method라는 용어를 사용하는데요, 특정 클래스에 반드시 속해야 한다는 제약이 있기 때문에 함..

Programming/Java 2021.08.29
java ) Fail-Safe Iterator vs Fail-Fast Iterator

1 소개 이번 글에서는 Fail-fast와 Fail-Safe Iterator의 개념에 대해 알아보겠습니다. 영어로 된 문서를 읽으며 공부하다보니 의미에 맞게 번역하는 과정에서 제가 전문 번역가가 아니라 다소 표현이 딱딱한 느낌이 날 수도 있습니다. 간단한 차이를 말씀드리고 시작하자면, Fail-Fast 시스템에서는 오류가 발생하는 즉시 작업을 중단하고 오류를 알립니다. 또한 진행중이던 전체 작업을 모두 중단시킵니다. 반면에 Fail-Safe 시스템에서는 문제가 생겨도 작업을 중단 하지 않습니다. 해당 시스템에서는 오류 발생을 가능한 피하려고 합니다. ​ ​ 2 Fail-Fast Iterators java의 컬렉션은 modCount 라는 내부의 counter를 운용합니다. Collection에 item이 ..

Programming/Java 2021.08.23
자바 static import 사용해서 static method (정적메소드)를 클래스 메소드 처럼 사용하기

getProjNoFromSession 이라는 static method가 있습니다. 이 메서드를 다른 클래스에서 사용 하려면, 해당 클래스 명을 다 써줘야 하는 불편함이 있습니다. 하지만 import static 을 사용하여 해당 메서드를 import 시켜둔다면, 해당 클래스에서는 언제든 이미 가지고 있는 메서드 처럼 사용 할 수 있습니다. 코드의 ReadAbility 에도 좋고 Code Assist 도 되니 알아둔다면 유용하게 사용할 수 있습니다! import static best.gaia.utils.SessionUtil.*;Copy 위와 같이 import 해둔다면 해당 클래스의 모든 메서드를 import 합니다 !

Programming/Java 2021.06.06
이클립스에서 메이븐 MAVEN 웹 프로젝트 만들기

메이븐으로 프로젝트를 만들면 빌드관리가 매우 수월해집니다. 꼭 자바에서만 쓸 수 있는건 아닌 듯 합니다. 최근엔 Gradle이 널리들 쓰이는 것 같은데 아직 학원에서는 MAVEN을 가르쳐 주고 있습니다. 여유가 있다면 MAVEN에 충분히 익숙해 진 후에 Gradle로도 연습 프로젝트를 만들어 보고 싶고, 괜찮다면 최종 프로젝트때는 Gradle을 쓰고 싶습니다. 중급프로젝트부터 Windows 에서 개발하던걸 Mac OS로 전환해 개발을 하니 학원에서 가르쳐주는걸 온전히 내 것으로 만들지 않고 무작정 따라하기만으로는 벽에 부딪히는 점이 많아 더욱 정신을 바짝 차리고 수업을 듣게 된 것처럼, DB는 오라클로 배워서 MYSQL로, 빌드관리는 Maven으로 배워서 Gradle로 프로젝트를 한다면 더 힘든만큼 더 ..

Programming/Java 2021.04.14