본문 바로가기

일단고39

백엔드 응답모델(result) 구성하기 안녕하세요 여러분! 일단고 팀입니다. 요즘 독감이 유행이라고 들었습니다. 모두 독감 조심하세요. 오늘은 백엔드의 응답모델에 대해 알아보고, 이를 구현하는 코드를 직접 작성하겠습니다. 응답 모델이 필요한 이유 백엔드에서 응답모델을 구현 할 필요는 없습니다. 하지만 응답 모델을 구현해두면 재활용성이 높아지고, 서비스를 구성할 때 코드를 간결하게 만들 수 있다는 장점이 있습니다. 응답 모델의 구성 응답 모델에서 필요한 내용은 다음과 같습니다. 상태 코드 (Status Code): HTTP 응답의 가장 기본적인 요소 중 하나로, 요청의 성공 여부나 실패 원인을 나타냅니다. 예를 들어, 200은 성공, 404는 찾을 수 없음, 500은 서버 오류를 나타냅니다. 메시지 (Message): 상태 코드에 대한 설명으로.. 2023. 12. 8.
Vue Router : 네비게이션 가드 여러분 베하! 오늘은 Vue router의 네비게이션 가드라는 것을 알아볼게요. 네비게이션 가드란? 명칭에서 느껴지는 것처럼 Vue.js 애플리케이션에서 라우터 네비게이션을 제어하기 위한 기능입니다. 쉽게 말해 Vue Router를 통해 특정 URL에 접근할 때 해당 URL의 접근 또는 탐색을 막는(보호하는) 방법을 말합니다. 또한 리디렉션을 도와주는 역할도 합니다. 네비게이션 가드를 잘 사용하면 특정 조건에 따라 라우팅을 허용하거나 막을 수 있습니다. 가드의 인자 to : 이동할 라우트 객체의 정보(객체) from : 이동하기 전 라우트 객체의 정보(객체) next : 다음 단계로 진행하기 위한 함수. 트리거 되는 탐색 가드별 정확히 한 번만 next를 호출해야 합니다. 그렇지 않으면 영원히 훅이 해결.. 2023. 12. 6.
Java의 List Stream() 안녕하세요 여러분! 일단고 팀입니다. 벌써 크리스마스의 시즌이 느껴지면서 날씨가 추워집니다. 몸과 마음 모두 따뜻하게 해야 할 계절이네요. 오늘은 Java의 List 인터페이스에서 제공하는 Stream() 메서드에 대해 알아보고, 이를 활용하여 코드를 간결하게 작성하고 성능을 향상시킬 수 있는 방법에 대해 살펴보겠습니다. 1. Stream 이란 Java 8부터 추가된 Stream은 컬렉션 요소들을 처리하기 위한 연속적인 데이터 흐름을 나타내는 인터페이스입니다. Stream을 활용하면 간단하고 선언적인 방식으로 데이터를 처리할 수 있습니다. 이를 통해 병렬 처리 및 다양한 연산을 수행할 수 있어 코드의 가독성과 유연성이 증가합니다. 2. List.stream() 과 foreach 구문 List.stream.. 2023. 11. 24.
좋은 주석이란 안녕하세요 여러분! 일단고 팀입니다. 벌써 크리스마스가 기다려지는 시기네요. 모두 감기 조심하세요. 오늘 이야기 할 주제는 개발할 때 ‘좋은 주석이란 무엇인가’입니다. 주석은 코딩을 할 때 코드의 내용을 메모하는 목적으로 쓰이며 협업할 때 코드의 이해를 높이는 등 유용하게 쓰이죠. 이러한 주석은 코드의 의도를 명확히할 때 좋은 작용이 되지만, 혼란을 야기하는 좋지 않은 작용을 일으킬 때도 있습니다. 그래서 좋은 주석이란 무엇인가에 대해 이야기를 해보고자 합니다. 좋은 주석 달기 코드를 의도를 명확히 설명하는 주석 (혼란을 없애는 주석) 변수 명 자체만으로 어떤 목적을 가진 변수인지 알 수 있으면 가장 좋지만, 라이브러리 등에 종속되어 이름을 변경하지 못하는 등의 상황에는 주석을 활용하면 좋습니다. 또한 .. 2023. 11. 17.
Chat GPT 사용 패턴 베하! 일단고 팀 입니다. 이번 시간에는 일반적인 IT 지식에서 벗어나 hot한 chat gpt에 대한 주제를 가지고 왔습니다. Chat Gpt 모두들 들어봤기도 했을거고 누구는 빼놓지 않고 사용하기도 합니다. 저는 아주 옆에 달고 살기도 하죠. 이 GPT를 그냥 사용하지말고 잘! 사용할 수 있도록 gpt 사용패턴에 대해 설명하고 저의 후기 또한 포함해보겠습니다. 서론 GPT는 아시다시피 거짓말을 참 잘 합니다. 이게 GPT의 특징입니다. 거짓을 그럴싸한 말로 표현하는게 정말 기가 막히죠. 실제로 GPT에게 수학연산을 시키면 제대로 계산하지 못하는 경우가 있습니다. 자연어 모델처리 AI 이기 때문이죠. 어쨋든 저는 이 GPT가 거짓말을 하기도 하고 제가 질문한 맥락에서 벗어나거나 코드같은 경우 동작하지 .. 2023. 11. 10.
Javascript에서 웹소켓 구현하기 베하! '일단고' 팀입니다. 저어번 시간에 웹소켓이 무엇인지에 대한 글을 남겼었어요. 기억하시나요? 오늘은 직접 웹소켓을 코드로 구현해보는 시간을 가져보겠습니다. 사용할 코드는 Javascript 입니다. 구현하기에 앞서 Javascript로 웹소켓을 구현하기에 앞서서 이전에 알려드린 웹소켓에 대하여 잠깐 리뷰하는 시간을 가져보겠습니다. 웹 소켓은 양방향 통신을 지원하는 프로토콜로, 클라이언트와 서버 간에 실시간 데이터를 교환할 수 있도록 해줍니다. 이는 HTTP와는 다르게 연결을 유지하고 있어 실시간으로 데이터를 주고받을 수 있습니다. 이때 데이터는 ‘패킷(packet)’ 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP 요청 없이 양방향으로 이뤄집니다. 구현하기 Javascript에서 웹소켓은 생.. 2023. 11. 5.
Transactional 애노테이션 상황별 commit, rollback 전략 안녕하세요 여러분 베하입니다! 훌쩍 겨울이 다가왔네요! 다들 올해는 잘 보내고 계신가요? 오늘 이야기 저번 주제를 이어 spring boot의 @Transactional 애노테이션의 commit, rollback 전략을 이야기 하고자 합니다. 사실 저는 이 부분에 대해 몰랐기 때문에 트랜잭션 처리에 있어 많은 삽질을 해버렸습니다… 오늘의 내용이 꼭 도움이 되길 바라는 마음으로 시작하겠습니다. 서론 Spring Boot 애플리케이션을 개발하면서 @Transactional 애노테이션은 데이터베이스 트랜잭션 관리를 용이하게 해주는 중요한 도구 중 하나입니다. 그러나, 이 애노테이션을 사용할 때 어떻게 예외 상황을 처리하고, 언제 커밋 또는 롤백해야 하는지에 대한 전략을 제대로 이해하는 것은 매우 중요합니다. .. 2023. 10. 27.
[SpringBoot] Lombok 어노테이션 안녕하세요 여러분 베하입니다! 훌쩍 겨울이 다가왔네요! 다들 올해는 잘 보내고 계신가요? 오늘 이야기 할 주제는 스프링 부트에서 자주 사용되는 Lombok 어노테이션입니다! 스프링 부트와 롬복(Lombok)은 자바 기반의 개발을 더 간편하고 효율적으로 만들어주는 강력한 기술 스택 중 하나입니다. 특히 롬복은 번거로운 코드를 자동으로 생성해주는 어노테이션들을 제공하여 개발자의 생산성을 높여줍니다. 이제 본격적으로 들어가볼까요? 롬복(Lombok)이란? 롬복은 자바에서의 반복적이고 상투적인 코드 작성을 줄여주기 위한 프로젝트입니다. 롬복은 어노테이션을 사용하여 Getter, Setter, toString 등의 메서드를 자동으로 생성해줍니다. 이를 통해 코드의 가독성을 향상시키고, 수정이 필요할 때마다 반복되.. 2023. 10. 24.