728x90
반응형
SMALL

개발지식 32

SSL VS TLS 차이점 비교!

SSL(Secure Sockets Layer) 이란? SSL(Secure Sockets Layer)은 암호화 기반 인터넷 보안 프로토콜입니다. 인터넷 통신의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 Netscape 가 1995년 처음으로 개발했습니다. SSL은 현재 사용중인 TLS 암호화의 전신입니다. SSL/TLS를 사용하는 웹사이트의 URL에는 "HTTP" 대신 "HTTPS"가 있습니다. SSL/TLS의 동작 방법 SSL은 높은 수준의 개인정보 보호를 제공하기 위해, 웹에서 전송되는 데이터를 암호화합니다. 따라서, 데이터를 가로채려는 자는 거의 해독할 수 없는 복잡한 문자만 보게 됩니다. SSL은 두 통신 장치 사이에 핸드셰이크라는 인증 프로세스를 시작하여 두 장치의 ID를 확인합니다. ..

개발지식 2024.04.19

[Vue.js] vue create [파일명] 보안 오류 해결

Vue CLI를 사용하여 Vue 프로젝트를 생성할 때 에러가 발생할 때 해결 방법입니다! vue 파일을 생성할 때 아래와 같은 에러가 발생했습니다. 에러에 대해서 확인해보니 보안 오류(pssecurityexception)로 powerShell의 Set-ExecutionPolicy 설정 변경이 필요합니다. 이것은 Execution Policy와 관련한 문제로 Windows PowerShell을 관리자 권한으로 실행해줍니다. 이후 "Get-ExecutionPolicy" 를 입력하여 현재 정책을 확인해봅니다. 여기에서 Restricted인 경우 "Set-ExecutionPolicy RemoteSigned" 를 입력하여 RemoteSigned로 변경해줍니다. 이후 문제가 해결된 것을 확인할 수 있습니다!

개발지식 2024.04.16

[클라우드] IaaS vs PaaS vs SaaS 에 대하여!

클라우드 컴퓨팅은 가상화된 IT 리소스를 통해 서버, 스토리지, 데이터베이스, 네트워킹, 애널리틱스 등의 서비스를 제공하는 기술입니다. 사용자는 필요에 따라 이러한 리소스를 원격으로 사용하고, 사용한 만큼의 비용을 지불합니다. 클라우드 컴퓨팅은 물리적인 하드웨어 관리의 필요성을 줄이며, 빠르게 확장 가능한 인프라를 제공함으로써 기업이나 개인이 보다 유연하게 컴퓨팅 리소스를 사용할 수 있도록 합니다. IaaS (Infrastructure as a Service) 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 리소스를 인터넷을 통해 제공합니다. 사용자는 서버, 스토리지, 네트워크와 같은 인프라를 임대하여 사용하고, 필요에 따라 확장하거나 축소할 수 있습니다. IaaS는 사용자에게 가장 높은 수준의 ..

개발지식 2024.03.25

DI를 하지 않았을 때 NullPointerException 발생 이유

이 게시글은 이동욱 - "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 에서 참고하였습니다. 위 책을 참고하여 JUnit 에서 값을 등록하는 테스트를 만들어보았습니다. 문제 상황 JUnit 을 수행하는 과정에서 posts api 까지 정상적으로 값이 전달되지만 NullPointerException 에러가 발생 ■ PostsApiControllerTest.java @Test public void Posts_등록된다() throws Exception { //given String title = "title"; String content = "content"; PostsSaveRequestDto requestDto = PostsSaveRequestDto.builder() .title(title) .cont..

개발지식 2024.03.22

닷넷(.net) 이란?!

닷넷(.net)이란 닷넷 프레임워크(.NET Framework)는 마이크로소프트에서 출시한 윈도우 프로그램 개발 및 실행 환경입니다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(CLR)이라는 이름의 가상 머신 위에서 작동합니다. 주요 특징 언어의 다양성 지원 C#, VB.NET 등 다양한 프로그래밍 언어를 지원하여 개발자가 선호하는 언어를 선택하여 개발할 수 있습니다. 통합 개발 환경(IDE) 비주얼 스튜디오(Visual Studio)와 같은 강력한 통합 개발 환경을 제공하여, 개발의 효율성을 높여줍니다. 풍부한 라이브러리 .NET Framework는 다양한 기능을 제공하는 방대한 라이브러리를 포함하고 있어, 개발 시 필요한 기능을 쉽게 구현할 수 있습니다. 멀티 플랫폼..

개발지식 2024.03.21

이벤트 기반 아키텍처 (feat. 배달의민족 마이크로서비스 여행기)

우아콘 2020 - 배달의 민족 마이크로서비스를 보던 중 이벤트 기반 아키텍처 부분에 흥미가 생겨 공부도 할 겸 정리를 해보았습니다! API 기반 데이터 전달 방식의 문제 배달의 민족에서는 주문시스템에서 주문이 들어오면 아래의 순서대로 처리가 되는데 주문 생성 ▶ 접수 ▶ 배달완료 ▶ 리뷰 알림 예를 들어 리뷰 시스템은 리뷰를 작성해 달라는 푸쉬 알림을 위해 주문 완료 정보가 필요합니다. 이는 주문 시스템에서 리뷰 시스템으로 API를 전달해주어야하는데, 리뷰시스템 측 API 에서 timeout 또는 500 에러(내부서버 오류)가 발생하는 상황이 있을 수 있습니다. 장애의 전파를 막기위해 MSA 를 도입하였지만 연계가 되는 API들의 요청이 실패한다면 주문 시스템에도 영향이 갈 수 있습니다. 이에 대한 난..

개발지식 2024.03.19

스프링 웹 계층에 대하여..

스프링 프레임워크에서의 웹 계층은 사용자의 요청을 처리하고 응답을 생성하는 데 관련된 컴포넌트들을 포함합니다. 스프링 웹 계층은 크게 컨트롤러(Controller), 서비스(Service), 리포지토리(Repository), DTO(Data Transfer Object), 모델(Model) 등으로 구성됩니다. 이러한 계층 구조는 애플리케이션의 유지 보수성, 확장성 및 테스트 용이성을 높이기 위해 설계되었습니다. 컨트롤러(Controller) 컨트롤러 계층은 HTTP 요청을 받아들이는 진입점입니다. 클라이언트의 요청에 따라 어떤 처리를 할지 결정하고, 요청에 맞는 서비스 메소드를 호출합니다. 컨트롤러는 주로 @Controller 또는 @RestController 어노테이션을 사용하여 정의됩니다. @Rest..

개발지식 2024.03.18

사용자 중심의 서비스 개발 방법

IT 백엔드 개발자로서 사용자 중심의 서비스 개발 방법을 알아가는 것은 매우 중요합니다. 사용자 중심의 개발은 사용자의 필요와 경험을 최우선으로 고려하여 개발하는 방식을 말합니다. 이러한 접근 방식은 사용자 만족도를 높이고, 서비스의 성공 가능성을 크게 향상시킬 수 있습니다. 다음은 백엔드 개발자가 사용자 중심의 서비스를 개발하기 위해 고려할 수 있는 몇 가지 방법을 설명해드리겠습니다! ① 사용자 요구 사항 이해하기 사용자의 요구를 이해하는 것이 첫 걸음입니다. 사용자 인터뷰, 설문조사, 피드백 세션 등을 통해 사용자의 필요와 문제점을 파악해야 합니다. ② 사용자 스토리 작성 사용자의 요구 사항을 바탕으로 사용자 스토리를 작성합니다. 사용자 스토리는 사용자가 서비스를 통해 달성하고자 하는 목표를 간결하게..

개발지식 2024.03.15

Access Token이란?!

Access Token이란? Access Token은 사용자나 컴퓨터 프로그램이 접근할 권리를 증명하는데 사용되는 문자열이며, 일반적으로 인터넷에서 사용자 인증 및 권한 부여를 위해 주로 사용됩니다. 예들 들어, 소셜 미디어 플랫폼이나 웹 애플리케이션에서 사용자가 로그인할 때, 서버는 사용자의 인증 정보를 확인한 후 엑세스 토큰을 발급합니다. 그리고 사용자가 이후 서비스를 이용할 때마다 이 토큰을 사용하여 자신의 인증 상태를 증명하게 됩니다. 권한을 부여받는 데에는 Access Token만 있으면 인증이 가능 하지만, 해커에 의해 토큰이 탈취된다면, 로그인을 하여 여러 나쁜 행위들을 할 수 있습니다. 그래서 주로 Access Token의 만료기간을 짧게 주고 시간이 지나면 만료되어 사용할 수 없게끔 합니..

개발지식 2024.03.13

롬복(Lombok)이란?!

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

개발지식 2024.03.12
728x90
반응형
LIST