개발자로 성장하며 얻은 아이디어로 만들어봤어요! 혹시 부족한 점이나 잘못된 부분이 보이면 댓글로 알려주시면 정말 감사하겠습니다 🙏 문제는 꾸준히 업데이트할 예정입니다 🌊정답은 "더보기+"를 클릭하면 확인할 수 있어요! 문제 1다음 설명 중 틀린 것은?Java에 기본 자료형(Primitive Type) 종류는 8개다.new int[2]는 기본 자료형(Primitive Type)이다.기본 자료형(Primitive Type)은 null을 할당할 수 없다.Java 에서 각 기본 자료형(Primitive Type)에 대응되는 래퍼 클래스(wrapper class)가 존재한다.기본 자료형은 값 자체를 저장하고, 참조 자료형은 객체의 주소를 저장한다.더보기2번배열은 참조 자료형(Reference Type)이다. ..
Wrapper Class란?Java에서 데이터 타입은 크게 기본형(primitive type)와 참조형(reference type)으로 나뉜다.기본형은 int, char, boolean, float 등이 있고, 참조형은 기본형을 제외한 모든 타입을 말한다. Wrapper Class는 기본형에 이것저것 기능을 추가해서 포장한 객체다.“객체로 포장했다”는 의미는 단순한 기본형을 버라이어티하고 so easy~ 하게 사용할 수 있다는 뜻!먼저, Wrapper Class 종류부터 차근차근 알아보자. Wrapper Class 종류기본타입래퍼 클래스byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanJava Wrapp..
안녕하세요!오늘은 맥북을 사용하는 여러분이 절대 놓치면 안 될 필수 앱을 소개하려고 합니다. 혹시 아직도 앱 실행할 때 마우스를 쓰고 계신가요? click! click!?일단 마우스는 던져 던져!이 앱만 있으면 마우스 없이도 모든 앱을 실행할 수 있어요. 그것도 무료로!! 🎉 그건 바로 HotKey아래 링크에서 다운받아보세요!https://apps.apple.com/kr/app/hotkey-app/id975890633?mt=12 HotKey AppWith HotKey You can define keyboard shortcuts to launch Applications or to open folders in Finder. Another way is to open the Apps by selectin..
개념불변 객체(Immutable Object)는 생성된 후 내부 상태가 절대로 변하지 않는 객체를 말한다. 끝! 이름만 들으면 복잡해 보일 수 있지만, 사실 쉽고 간단하다.객체 내부 상태를 변경 불가능하게 설계하고 외부에서 변경하지 않고 사용하면 그게 바로. 불변 객체!“객체를 생성하고 변경 못하면 불편하지 않나?! 개발이 가능한가?!”우선 의문은 잠시 접어두고 불변 객체를 만드는 방법부터 차근차근 알아보자. 레고레고! 불변 객체 만들기// Person classpublic final class Person { private final String name; private final String gender; public Person(String name, String gender..
개념개발자들이 프로그래밍할 때 산술 기능, 출력 기능, 통신 기능과 같이 자주 사용되는 필수 기능들을 직접 구현하지 않도록 기본으로 제공되는 라이브러리다.Java 개발 위해 JDK를 설치하면 포함되어 있다. 표준 라이브러리 종류java.lang : 객체, 클래스, 시스템, 스레드, 예외 처리 등과 같은 핵심 기능을 포함한다. 이 패키지는 모든 Java 애플리케이션에서 자동으로 import 된다.java.util : 컬렉션 프레임워크를 포함하여 날짜와 시간 처리, 이벤트 모델, 난수 생성, 기본 유틸리티 클래스 등 다양한 유틸리티 클래스와 인터페이스를 제공한다.java.io : 입력과 출력(I/O) 기능을 담당하며, 파일 읽기와 쓰기, 데이터 스트림 처리 등을 위한 클래스와 인터페이스를 포함한다.java...
개념final은 변수, 메서드, 클래스의 값을 변경할 수 없게 만든다.한마디로 낙장불입!적절한 위치에 final을 사용하여 코드 작성 의도를 명확히 하고, 의도하지 않은 변화로부터 코드를 보호하는데 도움을 준다.변수, 메서드, 클래스 중 어떤 곳에 사용하느냐에 따라 바꿀 수 없는 제약사항이 다르게 적용되기 때문에, 아래 내용을 통해 한번 자세히 알아보자! 변수(variable)에서 final지역변수(local)public static void main(String[] args) { // 지역변수 final String superpil = "hello"; superpil = "world"; // 컴파일 에러}superpil 변수를 선언하는 동시에 “hello”를 초기화했다.다음 "world"를 재할당..
Introduction 이전 글([WebFlux] RSocket Basic)에서 WebFlux에서 RSocket 기초 사용법을 알아보았다. 이번에는 WebFlux + RSocket를 이용한 간단한 Chatting App을 구현해보자. 기본적인 기술 스택은 Server는 WebFlux, Front는 Vue로 구현한다. 아직 RSocket과 WebFlux를 공부하고 있는 단계라 깊은 지식을 가진 상태는 아니지만 지금까지 공부한 내용을 공유하고 싶어 이번 글을 작성한다. [Webflux] RSocket Basic Introduction 어렴풋 기억을 되살려 보면 RSocket과 첫 만남은 Stack Overflow에서 시작되었다. Java로(정확하게 말하면 Spring Boot)로 채팅 서버를 구축하기 위한 ..
Introduction 어렴풋 기억을 되살려 보면 RSocket과 첫 만남은 Stack Overflow에서 시작되었다. Java로(정확하게 말하면 Spring Boot)로 채팅 서버를 구축하기 위한 기술 스택을 찾던 중 우아한 형제들 기술 블로그를 보게 되었다. 역시나 우아한 형제들은 내가 지금까지 듣도 보도 못한 기술들을 나열했다. 그중 Spring Webflux가 핵심 키워드로 판단하고 구글링을 오지게 했다. (진짜 정말 오지게 했다.😶🤤😐) 오지게 한 결과 Spring Webflux로 Websocket을 사용한 채팅 서버를 구축한 몇몇의 예제를 봤고 따라 해 봤지만 Webflux의 프로그래밍 방식이 익숙지 않아 삽질의 연속이었다. 지속적인 삽질로 배추를 세는 단위인 “포기”를 선언하려다 Stack ..
시작하기 이번 프로젝트를 시작하면서 서버에서 서버(server to server)로 데이터를 주고받아 처리하는 작업이 필요했다. 특별히 인증서버를 두지않고 요청할 서버에 토큰을 받아 인증받는 정책이었다. 해당 서버에서 토큰을 받기 위해 계정 정보, 도메인 정보와 같은 필수 정보들을 db에서 한 번만 조회 후 변수에 담아 재사용하고 싶었다. 처음에는 단순하게 static에 담아 재사용 생각을 했는데 문득 싱글톤 패턴이 생각나서 지금 같은 경우에 적용하기 좋은지 생각하게 되었다. 예전에 가볍게 스쳐 지나가듯 공부를 해서 이번에 제대로 알아보려 한다. 개념 싱글톤은 이름 그대로 객체(인스턴스)를 한 개만 생성하는 패턴이다. 즉, 유일무이 하게 단 하나의 객체 생성해서 모두가 공용으로 사용한다. 굳이…!? 왜 ..
개념 Jackson을 공부하기 앞서 기본적인 용어를 알아보자. 직렬화 객체를 문자열로 변환하는 과정 역직렬화 반대로 문자열에서 객체를 변환하는 과정 Jackson은 위에서 언급한 직렬화, 역직렬화를 도와주는 자바 라이브러리다. Jackson이 객체를 문자열로 변환해서 응답해주면 응답받은 곳은 문자열의 형태가 Json포맷을 하고 있어 해당 문자열을 받은 쪽은 Json으로 파싱이 가능한 것이다. 예제에 앞서 spring boot로 프로젝트를 생성하자. 다행스럽게 spring boot의 경우 Jackson라이브러리를 기본으로 제공한다. 즉 dependency를 따로 주입할 필요가 없다. (spring boot버전 따라 다를 수 it다!) 예제 Object to Json 기초 예제 자바 객체에서 Json포맷 형..