전체 글 123

Java Spring Scheduler 정의 및 사용법 예시

개요웹 사이트를 운영하다 보면 주기적으로 특정 작업을 해야 할 때가 있습니다. 예를 들어, 매월 마지막 날에 어떤 통계를 내야 한다던지, 매일 쌓이는 로그를 지정해 둔 사이즈에 도달했을 때 순차적으로 삭제하는 등의 작업들입니다. 개발자가 직접적으로 해당 시간마다 작업을 진행할 수 없기에 Java에서는 Scheduler라는 기능을 제공합니다. 아래에서 좀 더 자세히 살펴볼까요? Spring Scheduler 란?📙Java Spring Scheduler는 개요에서 설명한 바와 같이 스프링 프레임워크에서 제공하는 작업 스케줄링 기능입니다.  해당 기능을 통해 개발자는 지정된 시간 간격이나 특정 시점에 자동으로 실행되어야 하는 작업을 쉽게 구성할 수 있고, 스프링 스케줄러는 멀티스레딩과 비동기 실행을 지원하..

TIL 2024.09.13

Java HTTP Server 쉽게 이해하기 및 예제

개요현직에서 업무를 하다 보면 기업 간의 API 통신이 이루어질 때가 왕왕 있습니다. 예를 들어, 생체 인증을 해서 로그인을 한다던가 또는 메일 발송을 해당 기업의 API를 사용할 때입니다. 그럴 때마다 서로 API 문서를 주고받고 필요한 값들을 넘겨주게 됩니다.  예를 들어, 메일 발송이라 가정했을 때 발신자, 제목, 본문, 파일, 수신자 등 다양한 정보를 넘겨주게 됩니다. 하지만 외부 API를 직접 테스트 할 수는 없기에 내가 보내는 값만 정상적으로 보내는지 체크할 수 있을 뿐, 응답값이 제대로 나오는지 확인이 불가능합니다. 이럴 때 유용하게 사용하는 기능이 HTTP Server입니다. 하단에서 좀 더 자세히 살펴볼까요? HTTP Server란?📙HTTPServer는 Java에서 간단한 웹 서버를 ..

TIL 2024.09.09

SMTP 정의 및 Java에서 메일 발송 기능 활용해보기(간단 예시)

개요 안녕하세요 빈코입니다. 오늘은 메일 발송 기능인 SMTP에 대해 자세히 알아보려고 합니다. SMTP 프로토콜은 Simple Mail Transfer Protocol의 약자로 인터넷에서 이메일을 전송하는 통신 규약 중 하나를 일컫습니다. 그럼 하단에서 자세히 알아볼까요? SMTP📙SMTP는 개요에서 설명한 바와 같이 이메일을 전송하는 통신 규약입니다. 주로 이메일 클라이언트와 서버 간, 그리고 서버와 서버 간의 이메일 전송을 관리하는 역할을 합니다. SMTP의 주요 기능은 이메일 전송, 서버 간 이메일 릴레이, 포트와 연결 등이 있습니다. 여기서 서버 간 이메일 릴레이는 이메일이 발신자의 메일 서버에 도착하면, 이 서버는 수신자의 메일 서버로 이메일을 전송하게 되는데 해당 과정을 서버 간의 릴레이라..

TIL 2024.09.04

리눅스 파티션 추가 및 디스크 포맷 & 마운트 설정하는 방법(예시포함)

개요안녕하세요 빈코입니다. 오늘은 서버 세팅 요소 중 하나인 리눅스 파티션 설정과 디스크 마운트 하는 방법에 대해 알아보려고 합니다. 리눅스 시스템에서 디스크는 하나 이상의 파티션으로 나뉘고 각 파티션은 논리적으로 독립된 공간으로 분할된 디스크 영역을 나타냅니다. 이것은 파일 시스템을 구성하고 데이터를 저장하기 위한 공간을 제공합니다. 그럼 설정하는 방법을 바로 알아볼까요?  파티션 설정📙첫 번째로는 fdisk를 활용하여 마운트 할 디스크명을 확인합니다.fdisk -l  두 번째로 파티션을 추가해줍니다.fdisk /dev/vdb  위 명령어를 치면 아래와 같은 질문이 나오는데, 새로운 파티션을 추가하기 위해 n을 입력해 주고 기본값으로 설정하기 위해 질문이 끝날때까지 엔터를 치시면 됩니다. 마지막에 똑..

TIL 2024.04.30

HTTP와 HTTPS의 차이점

개요안녕하세요 빈코입니다. 오늘은 저번 포스팅인 HTTP Method 사용법에 이어서 HTTP와 HTTPS의 차이에 대해 포스팅하려고 합니다. HTTP와 HTTPS는 모두 클라이언트와 서버 간 통신을 위한 통신 프로토콜입니다. 하지만 개인정보가 중요해짐에 따라 프로토콜의 보안도 강화되면서 HTTP보다 더 안전한 버전 HTTPS가 탄생하였습니다. 그럼 하단에서 자세히 살펴볼까요?  HTTP📙HTTP(Hypertext Transfer Protocol)는 데이터를 평문으로 전송합니다. 따라서 데이터가 네트워크를 통해 전송되는 동안에는 제3자가 가로채어 볼 수 있습니다. 민감한 정보가 포함된 경우에는 보안상 문제가 될 수 있겠죠? 예를 들어, 로그인 정보나 카드 정보 등 민감한 개인정보를 전송할 경우 HTTP..

TIL 2024.04.25

HTTP Method 종류 및 사용 방법(GET, POST, PUT, DELETE)

개요 안녕하세요 빈코입니다! 오늘은 웹 개발자라면 누구나 접해봤을 HTTP에 대해 포스팅하려 합니다. HTTP는 하이퍼텍스트 전송 프로토콜로 웹 브라우저와 웹 서버 간에 데이터를 주고받을 때 사용되는 프로토콜입니다. 이 프로토콜은 클라이언트(웹 브라우저)가 서버로 요청을 보내고, 서버가 클라이언트에게 응답을 보내는 방식으로 동작하는데, 주요 메서드로는 GET, POST, PUT, DELETE가 있습니다. 하단에서 좀 더 자세히 다뤄볼게요😄 HTTP Method📙 HTTP Method는 위에서 언급한 바와 같이 GET,POST,PUT,DELETE가 대표적입니다. GET은 조회, POST는 등록, PUT은 수정, DELETE는 삭제에 사용하죠. 더 다양한 메서드로는 아래와 같습니다. Method Conten..

TIL 2024.04.19

E2E(End-to-End) 테스트 요약 정리

개요 안녕하세요 빈코입니다. 오늘은 저번 포스팅인 Unit 테스트와 Integration 테스트 정리에 이어서 테스트의 마지막 종착지인 E2E테스트에 대해 포스팅하려고 합니다. E2E 테스트는 End-to-End 테스트로 애플리케이션의 흐름을 처음부터 끝까지 테스트하는 것을 말합니다. 그럼 하단에서 자세히 살펴볼까요? E2E 테스트?📙 E2E(End-to-End) 테스트는 개요에서 설명했듯이, 소프트웨어 시스템의 전체적인 기능과 성능을 검증하는 테스트 방법론입니다. 사용자가 실제로 시스템을 사용할 때와 유사한 환경에서 시스템이 예상대로 작동하는지 확인하기 위해 사용되며, 소프트웨어의 모든 구성 요소를 포함하여 전체적인 시나리오를 실행하고 결과를 검증합니다. 쉽게 말해서, A개발자가 개발한 소프트웨어를 각..

TIL 2024.04.11

Unit(단위 테스트)와 Integration(통합 테스트) 정리 및 예시

개요 개발 테스트 방법은 크게 Unit(단위) 테스트와 Integration(통합) 테스트, E2E(End-to-End) 테스트로 나뉩니다. 오늘의 포스팅은 단위 테스트와 통합테스를 다뤄보고 E2E테스트는 다음 포스팅에서 진행할 예정입니다. 개발 테스트는 소프트웨어의 각 구성 요소와 각각의 상호작용을 테스트하는 것이기 때문에, 개발 과정에서 무척 중요합니다. 3가지의 테스트 방법 모두 장단점이 있으니 알아두시면 좋을 것 같습니다😁 개발 테스트 종류📙 개발 테스트는 위의 그림과 같이 Unit(단위 테스트), Integration(통합 테스트), E2E(End to End 테스트)로 나뉩니다. 서론에서 언급했듯이 오늘의 포스팅은 통합테스트까지만 포스팅해볼게요 :) Unit(단위 테스트)📘 단위 테스트 Uni..

TIL 2024.04.03

Java 날짜 함수 DateUtil 모음집

개요 안녕하세요 빈코입니다! 오늘은 Java 프로젝트를 진행하면서 제가 실무에서 자주 사용한 날짜 함수 몇 가지를 소개하려고 합니다. 실무에서는 대부분 자주 사용하는 함수들을 Util 클래스로 따로 만들어서 Controller나 Service단에서 호출하여 사용을 하는데, 특정 커스텀을 제외하고 대중적으로 사용되는 Data 관련 함수들을 살펴볼게요😊 DateUtil 생성📙 public class DateUtil { private Calendar c; private String dateSep = "-"; private String timeSep = ":"; private final String[] day = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; pub..

TIL 2024.03.27

개발자 포트폴리오 작성 시 중요 Tip

개요 안녕하세요 빈코입니다! 오늘은 개발자 포트폴리오에 대해 이야기해보려고 합니다. 이야기의 초점은 신입개발자분들의 포트폴리오에 관점이 맞춰질 예정입니다. 제가 4년 전에 준비했던 그 마음으로 되돌아가 저와 같은 실수를 미연에 방지시켜 드리고 싶고, 개발자로 재직하면서 봐왔던 많은 이력서들에서 보고 배울만한 점들을 소개하고 싶어서 포스팅하게 되었습니다😊 오픈채팅방을 운영하면서 받았던 질문 중에 가장 많이 받았던 질문을 먼저 살펴본 후 포트폴리오의 좋은 예시들을 소개하겠습니다. Q&A📙 위의 예시와 같은 질문이 포트폴리오를 준비하시면서 제일 많이 질문 받았던 내용입니다. 특히, 국비지원을 수료하신 비전공자분들께서는 주변에 개발자 인맥이 없는 경우가 많기 때문에, 학원이라는 틀 안에서 모든 것을 결정해야 합..

ETC 2024.03.21