Languages/java 51

[Java] 함수형 인터페이스(Functional Interface) 알아보기

요즘 프로그램을 짤 때 Stream API를 사용하고 있습니다. 하지만 Stream에서 주로 사용되는 여러가지 Class Type들이 너무 낯설더군요. Stream을 사용하기 위해선 lambda를 사용해야하고 lambda를 사용하기 위해선 함수형 인터페이스(Functional Interface)를 사용해야 하더군요. 그래서 함수형 인터페이스(Functional Interface)에 대해 알아보았습니다. 검색을 해 보니 Stream, lambda 그리고 Functional Interface 세가지를 활용한 프로그래밍을 Functional programming이라고 하더군요. 다음에는 Functional programming을 알아보겠습니다. 아래에 정리한 코드들은 모두 gitHub에 올려 놓았습니다. 필요..

Languages/java 2022.08.04

[Java] Lombok의 @ToString(부모의 toString() 함께 출력하기)

이번에는 프로젝트를 진행하는 중에 간단하지만 자주 잊어먹는 기능 중 하나인 lombok의 @ToString()에 대해서 작성해 보겠습니다. 예전에 프로젝트를 진행 중에 분명 사용했었는데 @Override를 직접 작성해서 사용하고 있었네요. 그럼 아래에 작성해 보도록 하겠습니다. code @Data public class ParentDTO { private String i; private String am; private String your; private String papa; } @Data public class ChildDTO extends ParentDTO { private String scream; } @Data public class LombokClientDTO { private ParentD..

Languages/java 2022.07.06

[Java] Enum변수를 json으로 변환하여 Enum 값 전달하기

회사에서 근무하던 중 DTO를 json으로 변환해 넘겨주는 작업을 했습니다. 이때 값을 넘기는 도중 발생하였는데 확인해 보니 enum의 값이 제대로 넘어가지 않는 문제였습니다. 이 문제를 해결한 기록을 남기고자 합니다. 발단 DTO 내부에 Enum 변수를 들고 있는 상황입니다. Enum변수에 enum을 전달 한 후 json으로 변환 하였을 때 enum의 값이 출력되는게 아니라 name이 출력되는 현상을 겪었습니다. DTO package com.example.dailyProgramming.enum_test; import lombok.Data; @Data public class Enum_getTest { String str; TestEnum1 enumTest; public enum TestEnum1{ AA(..

Languages/java 2022.06.30

[Java] Exception(checked, Unchecked Exception)

현재 개발중인 프로젝트에서 Exception 처리에 대한 error를 다루다 Exception 관련해서 자료를 찾아보게 되었습니다. 그런데 지금으로부터 1년 전, 국비수업을 정리했던 글 중 Exception을 다룬 글이 있더군요. 링크 예전에 한번 정리했던 내용인데 어느덧 다시 잊어먹게 되어 한번 더 정리를 해 봅니다. 예외(Exception) 프로그래밍에서의 예외(Exception)은 프로그램 실행 중 개발자의 의도와는 다르게 정상적인 프로그램 흐름을 어긋나는 것을 말합니다. 그리고 자바의 경우 개발자가 직접 예외 상황을 처리할 수 있습니다. 에러(Error)는 시스템에서 발생한 비정상적인 상황으로 개발자가 처리할 수 없습니다.(에러를 상황을 잡아도 처리할 방법이 없습니다.) Exception에는 Ch..

Languages/java 2022.06.16

[java]상속보다는 컴포지션을 사용하기

스터디에서 디자인패턴의 composite 패턴에 대해 이야기 하다 상속보다는 컴포지션을 사용하라라는 말이 나왔습니다. 이게 무슨말인가 싶어 다른 분의 간단한 설명을 듣긴 했지만 잘 와닿지 않더군요. 그러던 중 본인이 공부했던 링크를 남겨 주셔서 보았습니다. 역시 글로 읽어서도 제대로 와닿지 않아 읽은 내용을 조금 정리하면서 작성해 보았습니다. 사용 class Engine {} // The Engine class. class Automobile {} // Automobile class which is parent to Car class. class Car extends Automobile { // Car is an Automobile, so Car class extends Automobile class. ..

Languages/java 2022.05.09

[LeetCode] Remove Element문제의 Reference에 관하여

오랜만에 leetCode easy 단계를 푸는 도중에 stream에 관련한(stream인지 .toArray인지 모르겠군요.) 재밌있는 사실(저만 몰랐겠죠..? )을 발견했습니다. 이에 관해 글을 작성해 보겠습니다. leetcode 문제 링크입니다. 문제 class Solution { public void static main(String[args){ int nums[] = new int[]{3,2,2,3}; int val = 3; removeElement(nums, val); ... // nums 검사 for (int i = 0; i < expectedNums[i].length; i++) { assert nums[i] == expectedNums[i]; } } // logic 구현 public int r..

Languages/java 2022.03.27

JitPack을 활용하여 라이브러리 생성하기(maven, gradle)

JitPack을 활용하여 라이브러리 생성하기(maven, gradle) Before we go further 본인만의 custom library를 가져보자! 얼마전(불과 몇시간 전) 지인분이 참고하라고 본인이 만든 라이브러리를 알려주더군요!! 그래서 저 역시 한번 해보자는 생각으로 프로젝트를 만들어 작성해 보았습니다. 본 게시글에서는 array를 출력할 때 항상 Arrays.toString을 사용해야 함에 있어 조금 더 편하게 사용해 보고자 아래의 상황을 다루도록 하겠습니다. given System.out.println(Arrays.toString(arr))goal Eisen.printArray(arr);Create Project 아래와 같이 일반 프로젝트를 생성합니다 "일반" 프로젝트 입니다. spri..

Languages/java 2022.01.30

[VSCode] 환경설정하기

Preview Why? 앞으로의 작업을 Visual Studio를 받음. Eclipse 말고 다른 툴도 다뤄보고 싶은 개인적인 바람으로. 사용하기에 앞서 몇가지 단축키 ctrl+shift+p : 검색창 alt+shift+o : 자동 import f5 : 서버 실행 ctrl+shift+x : extention 설치 창 extentions 기호에 맞춰서 필요하다 싶은것을 골라서 깔면 됨. https://teserre.tistory.com/9 https://www.youtube.com/watch?v=bS9yTI2fC0w&t=274s https://creavart.tistory.com/174#gsc.tab=0 VsCode를 사용한 이유가 springboot를 사용하기 위함이라 관련 extention은 설치하기...

Languages/java 2021.07.30

2021_07_13)[java] Static이란?

static이란 고정의, 정적의 java의 Static 고정의, 정적의 Statically Type Variable(정적 타입 변수) 예약어 java의 Statically Type Variable(정적 타입 변수) 변수를 선언할 때 먼저 type을 정해준다. int x = 1; // 변수 앞에 type(int)를 먼저 선언한다. javascript는 Dynamically Type Variable(동적 타입 변수)를 가진다. 💡 var y = 1; 예약어 변수 앞에 static을 붙여줌으로 메모리에 먼저 적재 시킨다. public class TestClass{ static public int a = 1; public int nonStatic = 2; static public void testMethod()..

Languages/java 2021.07.13

[mac] maven 프로젝트 resources 팩키지 사라졌을 때 생성하기

window에서 test할 프로젝트를 생성한 후 깃으로 옮겨서 mac에 사용하려고 하니 resources 폴더가 사라져 있음.이건 아마도 빈 폴더들을 인식하지 않는 git이나 eclipse의 특성 때문에 발생한 일인 듯 함. source 탭에서 add Folder → resources 폴더 클릭 후 ok → Apply and close를 클릭하면 이렇게 폴더가 생성되는것을 볼 수 있음. Uploaded by Notion2Tistory v1.1.0

Languages/java 2021.04.24
728x90
반응형