728x90
반응형
SMALL

2024/03 23

롬복(Lombok)이란?!

Lombok이란 롬복(Lombok)이란 여러가지 @어노테이션을 제공하고 컴파일 과정에서 자동으로 개발자가 원하는 메소드를 생성/주입 하는 방식으로 동작하는 라이브러리입니다. 보통 DTO나 Model, Entity의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해서 Getter, Setter, 생성자 등을 매번 작성해줘야하는데 이러한 부분을 자동으로 만들어주는 라이브러리입니다. Lombok을 이용하여 작성한 코드는 컴파일 과정에서 Annotation을 이용하여 코드를 생성하고 .class에 자동 컴파일이 됩니다. Lombok의 기능 Lombok은 model 클래스나 Entity 같은 도메인 클래스 등에 반복되는 getter, setter, toString 등의 메소드를 자동으로 만들어주는 기능을 ..

개발지식 2024.03.12

RabbitMQ란?!

RabbitMQ란 RabbitMQ는 오픈 소스 메시지 브로커 소프트웨어로, 복잡한 데이터 흐름과 메시지 관리를 단순화하여 개발자가 애플리케이션 간에 데이터를 쉽게 전송할 수 있게 해줍니다. 메시지 큐의 한 종류로, 분산된 애플리케이션 간의 메시지 전달 및 통신을 용이하게 해주는 오픈 소스 메시지 브로커이며, 메시지 큐는 시스템 간의 비동기적인 통신을 지원하고, 장애 발생 시 메시지를 안전하게 보관하여 손실 없이 처리할 수 있게 해줍니다. MSA 구조의 서버를 사용하다 보면, 서버와 서버끼리 메시지를 주고받아야할 때가 있는데 이 때 RabbitMQ를 사용합니다. 서버1이 서버2에게 메시지를 보낼 때 rabbitMQ를 통해 메시지를 전송합니다. 이 때 서버1이 producer가 되는 것이고, 서버2가 con..

개발지식 2024.03.11

프라이빗 VS 퍼블릭 클라우드

클라우드(Cloud)란? 클라우드란 인터넷을 통해 컴퓨팅 자원, 데이터 저장, 소프트웨어, 플랫폼 및 기타 IT 관련 서비스를 원격으로 제공하는 것을 말합니다. 클라우드 서비스는 필요한 리소스(하드웨어, 소프트웨어, 데이터 저장소 등)을 필요한 만큼 제공받는 온디맨드(on-demand) 방식으로 작동하므로, 사용자가 필요한 시점에 적절한 양의 자원을 신속하게 할당받거나 반환할 수 있습니다. 이렇게 함으로써 사용자는 자원의 유연성과 확장성을 활용하여 비용을 절감하고 IT 인프라를 효율적으로 관리할 수 있습니다. 서비스 개방 여부에 따라 2가지 유형으로 나뉘는데, 이것이 퍼블릭 클라우드(Public Cloud)와 프라이빗 클라우드(Private Cloud)입니다. 퍼블릭 클라우드(Public Cloud)란 ..

개발지식 2024.03.10

JWT 란?!

JWT 란?! JWT 는 Json Web Token의 약자로 인증에 필요한 정보들을 암호화 시킨 JSON 토큰을 의미합니다. 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰이며, 웹 상에서 정보를 Json 형태로 주고 받기 위해 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 없는 String 형태로 저장되어 있습니다. JWT는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있습니다. 따라서 사용자가 JWT 를 서버로 전송하면 서버는 서명을 검증하는 과정을 거치게 되며 검증이 완료되면 요청한 응답을 돌려줍니다. Cookie 인증 VS Session 인증 V..

개발지식 2024.03.09

[프로그래머스] 로또의 최고 순위와 최저 순위 Lv1

문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 모두 일치 3 4개 번호가 모두 일치 4 3개 번호가 모두 일치 5 2개 번호가 모두 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25..

코딩 테스트 2024.03.08

OCI 란 무엇인가?!

OCI란? Oracle Cloud Infrastructure(OCI)는 오라클이 제공하는 클라우드 서비스 플랫폼입니다. OCI는 컴퓨팅, 스토리지, 네트워킹, 데이터베이스 등 다양한 애플리케이션 서비스를 제공하며, 이를 통해 사용자는 자신의 비즈니스 요구사항에 맞게 IT 리소스를 확장하거나 축소할 수 있습니다. OCI의 특징 성능 OCI는 고성능 컴퓨팅, 높은 I/O 처리능력, 빠른 네트워킹 속도 등을 제공합니다. 이를 통해서 대용량 데이터 처리, 머신러닝, AI 등의 고성능 작업을 수행할 수 있습니다. 호환성 OCI는 오라클 데이터베이스 및 애플리케이션과의 통합을 강조하고 있습니다. 이로 인해 오라클 기반 시스템을 클라우드로 이전하는데에 이점을 제공합니다. 비용 효율성 OCI는 사용한 만큼만 비용을 지..

개발지식 2024.03.07

[프로그래머스] 개인정보 수집 유효기간 Lv1

문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 모든 달은 28일까지 있다고 가정합니다. 다음은 오늘 날짜가 2022.05.19일 ..

코딩 테스트 2024.03.06

[프로그래머스] 완주하지 못한 선수 Lv1

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 풀이 먼저 문제를 처음 봤을 때 for 문을 돌려서 수행해야겠다 생각을 했고, 최소한 ..

코딩 테스트 2024.03.05

레디스(Redis)란 무엇인가?!

Redis 란? Redis는 Remote Dictionary Server의 약자로 빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어입니다. 키(Key) - 값(Value) 쌍의 해시 맵과 같은 구조를 가진 비관계형(NoSQL) 데이터베이스 관리 시스템(DBMS)이며, 오픈 소스 기반으로 인-메모리(In-memory) 데이터 구조 저장소로 메모리에 데이터를 저장합니다. 모든 데이터를 메모리로 불러와서 처리하는 In-Memory기반의 DBMS로 데이터베이스, 캐시, 메시지 브로커 등으로 사용되어지며, 주로 캐시 서버를 구현할 때 많이 사용됩니다. Redis의 특징 및 장단점 레디스는 다음과 같은 다양한 자료 구조를 지원합니다. (Strings, JSON, Sets, Lists, Sorted set .....

개발지식 2024.03.04
728x90
반응형
LIST