본문 바로가기

분류 전체보기

(109)
똑똑한 스타트업처럼 토이 프로젝트하는 비결 (Velog에서 작성한 글을 똑같이 옮겨온 글입니다!) 안녕하세요! 이번에 루비콘 멘토링 프로젝트에 합류해서 팀 프로젝트를 하게 되었는데, 그 경험이 너무 좋아서 여러분께 공유하고자 포스팅을 작성하게 되었습니다! 😄 🤔 원래 진행했던 프로젝트 방법 저는 원래 토이 프로젝트를 진행하면, 브레인 스토밍으로 아이디어 내기 팀원끼리 괜찮다고 생각하면 바로 기능 분석하기 개발하기 릴리즈하기 이런 방식으로 토이 프로젝트를 진행했습니다. 대부분이 이렇게 진행하셨을텐데요, 이렇게 진행하는 프로젝트에는 문제가 있습니다. 🤨 정말로 니즈가 있는지 모름 원하는만큼의 반응을 얻기 힘듦 MVP가 명확하지 않으므로 쓸데 없는 기능이 계속 붙다가 영원히 안 끝날 수 있음 프로젝트 중간에 많은 변수가 생길 수 있음 그런데 루비콘에서..
웹과 네트워크의 기초 1. 웹은 HTTP로 나타낸다 주소창에 URL을 입력하면 내가 원하는 웹 페이지를 얻을 수 있습니다. 그런데 URL을 입력하는 과정부터 웹 페이지가 뜨기까지 무슨 과정을 거치는걸까요? 🚀 간단하게 설명하면 클라이언트가 웹 브라우저에 띄워줘야 하는 정보를 서버에 요청하면, 서버에서는 우리가 필요한 정보들을 응답해줍니다. 이렇게 인터넷 상에서 클라이언트부터 서버까지 데이터를 주고 받을 수 있는 프로토콜을 바로 HTTP(Hyper Text Transfer Protocol)라고 합니다. HTTP의 탄생 배경 HTTP는 멀리 떨어져 있는 동료와 지식을 공유하기 위해 처음으로 등장했습니다. 최초로 고안된 것은 여러 문서를 상호간에 관련 짓는 하이퍼 텍스트와 상호간 참조할 수 있는 WWW(World Wide Web)..
[AWS] Elastic Beanstalk 502 Bad Gatway 해결방법 문제 발생 AWS Elastic Beanstalk을 사용하여 Spring Boot 프로젝트의 첫 배포를 했는데, 502 Bad Gateway 오류가 발생했다. 해결 방법 AWS Elastic Beanstalk은 기본적으로 5000 포트를 사용하기 때문에, 포트 변경을 해주어야한다. 구성으로 이동한다. 소프트웨어의 편집으로 이동한다. 포트를 5000으로 바꿔준다. 잘 나온다!
JUnit5의 기본적인 사용법들 🔐 JUnit5란? 세 가지 모듈(JUnit Platform + JUnit Jupiter + JUnit Vintage)로 구성된 테스트 라이브러리로, Java 8 이상부터 제공합니다. JUit Platform JVM에서 테스트를 하기 위한 기반 역할을 한다. 테스트 프레임 워크를 개발하기위한 API를 정의한다. JUnit4 기반 실행 환경을 제공한다. JUnit Jupiter JUnit5에서 새롭게 탄생한 프로그래밍 모델과 확장 모델의 조합이다. Jupiter 기반 테스트를 실해앟기 위한 TestEngine을 제공한다. JUnit Vintage JUnit3, JUnit4 기반 테스트를 실행하기위한 TestEngine을 제공한다. 💛 사용해보기 모든 예제는 공식 문서에 있는 예제들을 기반으로 작성되었습니다..
JUnit4에서 JUnitParams 이용해서 파라미터 테스트하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 JUnit4에서 사용할 수 있는 JUnitParams에 대해 소개해드리려고 합니다. // 만약 위 세 개의 테스트를 하나의 테스트로 돌릴 수 있다면? @Test public void positiveTest1() { Positive positive = new Positive(1); assertThat(positive.isPositive()).isEqualTo(true); } @Test public void positiveTest2() { Positive positive = new Positive(5); assertThat(positive.isPositive()).isEqualTo(true); } @Test public void positiveTest3() { Po..
무한 스크롤링을 이용하여 성능 개선하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 기존 리스트에 무한 스크롤링 방식을 추가하여 성능을 개선한 사례를 소개해드리려고 합니다. 🐤 기존 로직 SELECT * FROM 테이블 WHERE 검색조건 ORDER BY id 기존에 리스트를 가져올 때는 SELECT 된 결괐값들을 모두 가져와서 리스트에 담아서 View 단에서 반복문을 돌려서 뿌리는 방법을 사용하곤 했습니다. 위 사진과 같이 조회한 결괏값이 51,000개가 나오면 51,000개의 결괏값이 모두 리스트에 담겨 뷰에서 51,000개를 반복을 돌리곤 했죠. 그런데 ... 너무 느렸습니다! 안 그래도 하루에 많은 양의 데이터가 쌓이는데 단순 로그성 데이터들을 보려고 몇 초나 기다려야 하는 것은 정말 고된 기다림이였습니다 ... 😱 그래서 어떻게하면 성..
[Spring Boot & intelliJ] lombok cannot find symbol 해결 방법 문제 발생 lombok을 적용해서 코드를 작성했는데 관련 코드에 cannot find symbol 에러가 발생했다. 사실 예전부터 자주 발생하던거였는데 해결 방법을 자꾸 까먹는다 ... 😂 해결 방법 (1) intelliJ 설정 확인 Ctrl + Shift + A - Plugins에서 Lombok plugin이 깔려있는지 확인한다. 깔려있지 않다면 install을 한다. File - Setting - Build, Execution, Deployment에서 Enable annotation processing에 체크 표시가 되어있는지 확인한다. 만약 체크 표시가 안되어있으면 체크 해준 후에 Apply해준다. (2) 의존성 확인 build.gradle dependencies { compile('org.proj..
단위 테스트에 Spring Securiy 인증 관련 어노테이션들 사용하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 테스트할 때 Spring Security 인증을 할 수 있게 제공되는 어노테이션들을 소개하려고 합니다. 이 포스팅에서 다루는 어노테이션 목록은 다음과 같습니다. @WithMockUser : UserDetail 생성 @WithAnonymousUser : 익명의 유저 생성 @WithUserDetails : UserDetail 조회 👻 의존성 추가 testCompile('org.springframework.security:spring-security-test') testCompile("org.springframework.boot:spring-boot-starter-test") 위 어노테이션들을 사용하기 위해 반드시 필요한 spring security test와, JU..