분류 전체보기 155

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (25~32번 문제풀이)

25. 짝수 홀수 개수 class Solution { public int[] solution(int[] num_list) { int[] answer = new int[2]; int cnt=0; int cnt2=0; for(int a : num_list){ if(a%2 == 0) cnt++; else cnt2++; } answer[0] = cnt; answer[1] = cnt2; return answer; } } num_list의 원소들을 하나씩 꺼내서 a에 넣어주었고 값을 검증했다. 만약 짝수면 cnt를 1 증가, 홀수면 cnt2를 1 증가시켜서 각각의 개수를 구한 뒤 answer에 넣어주었다. 26. 문자 반복 출력하기 class Solution { public String solution(String..

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (20~24번 문제풀이)

20. 아이스 아메리카노 class Solution { public int[] solution(int money) { int[] answer = new int[2]; answer[0] = money / 5500; answer[1] = money - (answer[0] * 5500); return answer; } } 첫번째 배열값에는 돈에서 5500을 나눠서 마실수있는 아메리카노 잔수를 구했다. 두번째 배열값에는 money에서 사고남은 잔돈을 받아오도록 하였다. 21. 나이 출력 class Solution { public int solution(int age) { int answer = 0; answer = 2022 - age + 1; return answer; } } 2022기준이니 2022에서 나이를..

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (14~19번 문제풀이)

14. 짝수는 싫어요 import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int n) { List answerList = new ArrayList(); for(int i = 1; i= 100000){ answer = (int)(price * 0.95); } else{ answer = price; } return answer; } } if-else 문으로 풀이하였다. 가격이 50만 원 이상이면 가격의 80 퍼만큼 지불, 30만 원 이상이면 90 퍼만큼 지불, 10만 원 이상이라면 95퍼만큼 지불하도록 하였고 10만원 미만일시에는 물건의 원래 가격만큼 반환하도록 하였다.

[Spring] 최종 프로젝트 - 코끼리 (스파르타코딩클럽)

프로젝트 이름 : 코끼리 (코딩하는 사람끼리) 프로젝트 인원 : 4명(백앤드 개발자 4명) 프로젝트 기간 : 30일 프로젝트 내용 : 개발자 및 개발 공부를 하는 사람끼리 서로 정보를 공유하고 협업 프로젝트 팀을 구성해 사이트 내에서 다양한 협업 지원 기능을 이용할 수 있습니다. 개발 환경 Intellij JDK 17.0.7 Spring Boot Version 3.1.2 Gradle 8.2.1 서비스 아키텍처 프로젝트 구현 기능 회원가입(이메일 본인 인증) & 로그인 카카오, 네이버, 구글 소셜 로그인이 가능합니다. 회원가입 시, 이메일로 전송되는 인증 번호를 입력해야 가입이 가능합니다. 마이페이지 프로필을 수정하거나 회원 탈퇴가 가능합니다. 작성한 게시물 및 댓글 관리가 가능합니다. 백오피스 페이지 관..

프로젝트 2023.09.19

[Spring Boot + Websocket] 웹소켓을 사용한 채팅방 기능에서 사용자 정보 가져오기

알림 기능을 구현 중이다. 현재 프로젝트에 웹소켓을 통한 다른 유저들과의 채팅이 가능한 상태이다. 나는 메시지가 전송되면 메시지를 받는 유저에게 알림을 받도록 하려고 생각했다. 금방 구현할 줄 알았지만 복잡한 부분이 많았다. 현재 정보 - 몽고 DB에 채팅내역 저장 - private_chat_room DB에서 1:1 채팅 시 id값, title(랜덤), user1, user2의 정보가 들어있음 public PrivateChatMessageResponseDto savePrivateChatMessage(PrivateChatMessageRequestDto chatMessageRequestDto) { User user = userRepository.findByUsername(chatMessageRequestDt..

[CICD] 상황별 CI/CD 파이프라인 툴 비교

젠킨스(Jenkins)장점: 무료, 오픈 소스, 확장 가능한 CI/CD 도구로 거의 모든 환경 및 통합을 지원 다양한 플러그인을 통해 맞춤형 파이프라인을 구축가능단점: 초기 설정과 관리가 복잡할 수 있으며, 호스팅 및 유지보수가 필요 최신 CI/CD 도구에 비해 사용자 인터페이스 및 경험이 부족할 수 있음 추천 시나리오: 대규모 프로젝트 또는 고급 CI/CD 요구사항이 있는 경우에 적합하며, 특정 요구사항을 충족시키기 위한 맞춤형 설정이 필요한 경우 적합   GitLab장점: GitLab 리포지토리와 강력한 통합을 제공 오픈 소스 및 무료 계획을 제공하며, CI/CD 기능이 GitLab에 포함되어 있음 Docker를 사용한 환경 구성과 다양한 기능을 제공단점: GitLab을 사용하지 않는 경우에는 통합이..

[Spring] 팀프로젝트 - trello (스파르타코딩클럽)

프로젝트 이름 : trello 프로젝트 인원 : 4명 프로젝트 기간 : 5일 프로젝트 내용 : Trello에서 제공하는 기능들을 직접 구현해 보는 프로젝트다. 가입한 회원을 대상으로 프로젝트를 관리할 수 있는 보드, 칼럼, 카드를 만들 수 있으며, 다른 회원을 초대하여 협업을 할 수 있다. 프로젝트 구현 기능 사용자 인증 기능 프로필 관리 기능 비밀번호 변경 기능 보드 CRUD 기능, 유저초대 기능 컬럼 CRUD 기능 카드 CRUD 기능 소셜 로그인 (카카오톡, 지메일) 프론트엔드 개발 와이어프레임 ERD 역할 분담 시연영상 1조 시연영상 / - YouTube 소스코드 https://github.com/SonMyungJi/trello GitHub - SonMyungJi/trello Contribute t..

프로젝트 2023.08.17

[Spring] 자주 사용하는 Annotation (개인적)

@RestController - 클래스 / 해당 클레스가 RESTFul 웹서비스 컨트롤러임을 나타냄. 스프링은 해당 클래스를 REST 요청을 처리하는 컨트롤러로 간주하고, 메서드들이 HTTP요청을 받고 응답을 반환하는 역할을 한다. @RequestMapping - 메서드, 클래스 / 요청 URL과 HTTP메서드의 매핑을 설정한다. 어떤 URL과 HTTP 메서드에 대한 해당 메서드가 실행되어야 하는지를 정할때 사용된다. @Service - 클래스 / 해당 클래스가 비즈니스 로직을 처리하는 서비스 빈임을 나타낸다. 스프링이 해당 클래스를 빈으로 등록하여 의존성 주입을 수행하고, 비즈니스 로직을 처리하는 서비스 객체로 활용한다. @Validated - 메서드, 타입 / 메서드 인자들의 유효성을 검증하기 위해 ..

[Spring] JPA - JPQL, QueryDSL, N+1 문제

JPQL - Table 이 아닌 Entity(객체) 기준으로 작성하는 쿼리를 JPQL이라고 하며 이를 사용할 수 있도록 EntityManger 또는 @Query 구현체를 통해 JPQL 쿼리를 사용할 수 있다. JQL : Entity 명으로 쿼리짤때 쓰이는 언어 (쓰이는 곳. JPQL, QueryDSL) SQL : Table 명으로 쿼리짤때 쓰이는 언어 (쓰이는 곳. JDBC, SQL Mapper) EntityManager.createQuery() - 쿼리 문자열과 Entity 를 직접 넣어서 쿼리를 작성한다. - setParameter 와 같이 key, value 문자열을 통해서 쿼리 파라미터를 매핑할 수 있다. 코드에 문자열이 들어가는게 안 좋은 이유 - 문자열은 오타가 발생할 여지가 많다. - 개발할..

프로필사진

남건욱's 공부기록

반응형