Java

안녕하세요✋오늘은 Redis 데이터 타입에 대하여 설명을 해보겠습니다. Redis 는 Key/Value 구조을 저장을 지원하는 NoSQL 데이터 베이스 입니다. Key는 Redis data에 접근할 수 있는 식별자이며Key 에는 binary, text를 사용할 수 있습니다. 하나의 Key 에는 최대 512MB 까지 저장할 수 있다. 이제 Redis 의 DataType 에 대하여 알아보겠습니다. 대표적으로 Key/Value(Data type) 에는 1) Strings2) Lists3) Sets4) Sorted sets5) Hashes6) Geospatial7) Bitmap Java 컬렉션 프레임 워크에도 비슷한 자료구조가 있습니다. 그리고 위에 있는 데이터 타입들은 자바 컬렉션 프레임워크랑 거의 유사하다고..
· Spring/Boot
들어가며오늘은 프로젝트에서 로그 메시지에 대한 내용을 수정하기 위한 작업을 해볼 예정입니다. 로그 메세지를 왜 수정해야 할까요? 이미 스프링부트 환경에서는 자동으로 로그메세지도 제공해주고,Error 면 Error, Info 면 Info 알아서 나오지 않나요? 라는 생각을 할 수 있습니다. 하지만 로그도 하나의 코드라는 생각으로 스프링에서 제공해주는 일반적인 로그가 아닌내가 알아보기 편한, 즉 가독성(=읽기 편한) 로그를 만들어주는 것 또한 중요하다고 생각합니다.  실질적으로 서비스를 운영하면, 다양한 환경에서 Error 및 Info 로그를 체크해야 할 일이 많습니다. 그 로그들을 편리함,가독성, 팀원 과 공통적인 설정, 여러가지 보안적인 부분 프로젝트 스펙을 클라이언트와 맞추기 위해서 로그 스펙을 설정..
· Spring/Boot
안녕하세요✋오늘은 JWT Token에 대해서 간단하게 알아보려고 합니다. JWT Token은 보통 로그인 로직을 짤 때 많이 활용하고는 합니다.Spring Security에서 JWT 를 사용하기 위해서 공부를 해보았고아래 내용을 보면서 기본 개념이랑 어떻게 활용하는지에 대해서 더 알아보겠습니다.  📌 기본 개념JWT(JSON Web Token) 은 웹 표준으로써 데이터의 JSON 객체를 사용하여 가볍고 자가 수용적인 방식으로 정보를 안전하게 전달할 수 있도록 전달할 수 있도록 설계된 토큰 기반의 인증 방식입니다. 토큰이라는 개념이 생소할 수도 있습니다. 일단 내용을 쭉 읽으시면서 자연스럽게 알 수 있습니다. JWT는 URL, HTTP Header, Cookie, HTML Form 과 같은 다양한 방식으..
· Java/Java
안녕하세요 🤚 오늘은 모던 자바인 액션 책에 있는 스트림API 활용하는 실전 문제를 직접 풀어보며 Stream API에 대한 이해도를 높여보고자 합니다. 위 과정은 모던 자바 인 액션 에 있는 챕터에 실전문제중 하나 이며, 자세한 내용은 책을 참고해주시면 감사하겠습니다. 문제를 보기전에 아래 코드는 사전에 작성을 해둬야하는 코드 입니다 public class Trader { private final String name; private final String city; public Trader (String name, String city) { this.name = name; this.city = city; } public String getName () { return name; } public Str..
· Java/Java
들어가며 오늘은 Java 에서 제네릭 에대해 알아보겠습니다. 제가 간단하게 알았던 제네릭 타입은 그냥List list = new ArrayList();List linkedList = new LinkedList();  안에 들어가는 타입을 미리 결정하는게 제네릭 타입 이구나 정도로 알고 있었습니다. 그러다가 저 리스트에 String이 아닌 객체가 들어올수도 있고, Integer, Double 등 다른값이 들어올수도 있는 상황을 생각해 봤습니다.   즉 나중에 저 List 안에 String 도 들어갈수도 있고, Integer 도 들어갈 수 있는즉, 재사용성이 가능한 코드를 어떻게 하면 만들 수 있을까?라는 고민을 해봤고, 그에 대한 해답은 바로 제네릭 을 잘 이해하고 사용하자 였습니다.  고민1어떠한 타입이..
· Java/Java
안녕하세요 오늘은 String 객체에 대한 이야기를 해보겠습니다. 문자열 생성 문자열은 자바에서 객체로 취급한다는거 알고 계셨나요? int,double,char는 원시 타입으로 해서 객체가 아닙니다. 그러므로 자체적으로 구현된 메소드들 또한 없죠. 위 타입을 객체 처럼 사용하기 위해서는 이미 만들어진 Wrapper 클래스를 사용하면 됩니다. 한번 String 객체를 생성해 보겠습니다. // 1 String str1 = new String("Hello World"); String str2 = new String("Hello World"); // 2 String str3 = "Hello World"; String str4 = "Hello world"; 위 사진은 보기 코드에 첫번째 new 로 객체를 생성했을..
· Java
안녕하세요 오늘은 자바 최상위 객체인 Object에 대해서 다뤄보겠습니다 자바 최상위 객체 Object 이해하기 public class ObjectEx { } 위 코드를 생성을 하면은 기본적으로 생략된 것이 3개가 있다 그 3개가 무엇일까요? 1) import java.lang.* 2) public class -> extends Object 3) public ObjectEx() { super(); } 위 3가지가 생략이 되어있습니다. 자바에서 자동으로 생략을 해주는 것 입니다. 컴파일러에서 자동으로 넣은 상태로 실행을 시켜주는 것입니다 묵시적으로 위 코드들은 무조건 들어가 있어야 합니다 위 3가지는 항상 들어가야하는 default 값 이라고 생각하면 됩니다 Object는 java.lang에 들어가있는 객..
· Java/Java
안녕하세요오늘은 자바가 어떻게 동작하는지 랑 JVM 관점에서 Static이 어떻게 작동하는지 알아보겠습니다. 자바에서 클래스를 실행시키기 위해서는 메인메소드가 필요합니다.그러면 메인 메소드는 무엇일까요?public static void main(String[] args) { } 를 메인 메소드라고 부릅니다. 정확하게 말하면 스프링 환경이 아닌, 일반 자바를 다루는 환경에서 클래스의 어떠한 값을 콘솔에 출력하기 위해서꼭 있어야 하는 게 바로 메인메소드 입니다.public class StaticTest { public static void main(String[] args) { System.out.println("Hello World"); }} 위 값이 없다면 출력을 할 수가 없죠. 그리고 값,메소드 등을..
hyeonkyu
'Java' 태그의 글 목록 (3 Page)