목록분류 전체보기 (435)
보라코딩

오랜만에 코테...1단계인데 문제가 엄청 길다... 너무 막막해서 30분 이상 고민하다가 해답을 보니 생각보다 엄청 어려운 문제는 아니였다..... 다만 생각해내는게 어렵지...그래도 HashMap을 사용해야겠다는 점을 배울 수 있었다. 다른 사람 코드 보면서 한번 따라치고이후엔 다시 스스로 생각해서 풀어봤다. 정말 갈길이 멀다...ㅎ import java.util.*; class Solution { public int solution(String[] friends, String[] gifts) { int answer = 0; int len = friends.length; HashMap map = new HashMap(); i..
240513 리액트 theme 사용방법 import { createTheme } from '@mui/material';export const theme = createTheme({ palette: { primary: { main: '#2A9461', }, }, components: { .... }, },});----------import { useTheme } from '@mui/material/styles';export default function HomeView() { const theme = useTheme(); return ( Home );}..
240507 - 컨트롤러 테스트 방법이 2가지 있다 (@SpringbootTest로 전체 돌게 하는 방법과 @WebMvcTest로 컨트롤러 자체만 테스트 하는 방법) - 컨트롤러 전체를 테스트하기 위해 아래와 같이 진행했다. DB는 H2로 테스트용으로 연결하고 카프카는 Mock처리했다. SpringBoot Controller 단위테스트 & 통합테스트컨트롤러 계층에 대한 단위, 통합 테스트! (포스트맨 스웨거 매번 일일이 쓰기 귀찮아서 시작함)velog.io @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)@ActiveProfiles("test")public class MailControllerTest { ..
240429- 1. 진행도 알림 기능(websocket 이용) => controller, 카프카로 받아서 websocket으로 전송되게. page 기능 필요ㄴ RDB 사용(일정 Data 저장 후 자동 삭제 필요) 2. Mail, Slack 기능 (DB X)- 단순 구현은 websocket, mail, slack 모두 완료 (명세에 맞춰 상세 구현 예정)- 배운 점 : 알림 삭제는 DB에서 삭제하는 것이 아니라 localStorage(FE)에서 적용 (DB에서 지워버리면 한사람이 지운 알람이 다른 사람에게 적용됨)- localStorage : 영구적으로 정보를 브라우저에 보존할 수 있다. 로컬 스토리지는 물리적으로 저장된다. Local Storage는 사용자가 직접 데이터를 삭제하기 전까지 영구적으로 보..
240423 - 각 서비스 안에는 gradle폴더, src폴더, build.gradle과 Dockerfile만 있다 (application.yml과 -prod, test) ㄴ 로컬에서는 application.yml으로 돌리고 도커는 prod로 - 공통 외부에는 build.gradle, .gitignore, docker-compose.yml(-local,-system) - 코드리뷰 수정 - jira 적용 고민 중이라 함 - Git Hooks : Git 과 관련한 어떤 이벤트가 발생(ex. commit, push)했을 때 특정 스크립트를 실행할 수 있도록 하는 기능을 말한다. - 허스키 라이브러리 :git hook 설정을 도와주는 npm package. pre-commit - MIN..
점심을 먹고 나면 30분 정도의 시간이 생긴다. 이 30분마다 책을 읽으면 한권 읽는데 얼마나 걸릴지 궁금했다. 약 2달 걸렸고 보람찬 점심시간을 보내서 뿌듯하다. 개발자 6개월 정도 되었을 때 읽기 좋은 책이라 생각한다. 마침 관심을 갖고 있던 주제라 재밌게 읽을 수 있었고 엄청 어렵지 않아서 좋았다. 완전히 이해하지 못한 부분도 있기에 나중에 다시 읽고 싶은 책이며 주니어 개발자에게 추천하고 싶은 책!
240415 - Promtail : 여러 서버 또는 컨테이너에서 생성되는 로그를 쉽게 수집하고 Loki로 전송 (중앙 집중식 로그 관리 시스템 구축) - Postgres Exporter 완료 - 2pc commit : 여러 노드들 상에서의 원자적 트랜잭션 커밋을 이루기 위한 알고리즘. 독립적인 머신에서 구동되는 프로세스들의 분산 트랜젝션 보장을 위한 프로토콜 - export 명령어로 환경변수 확인가능 - docker compose에 환경변수 등록해서 이걸 application.yml에서 사용하자 - 도커 네트워크에서 external: true (외부에서 이 네트워크 사용할 수 있음을 나타냄) ㄴ docker network create kafka_network ㄴ docker network ls로 체크 가..
240411 - (OK) 테스트코드 코드리뷰받기 - 다른사람코드보기 - 도커 허브에 이미지 올리기 (publish) ㄴ 1. docker login ㄴ 2. 올리고 싶은 이미지 이름 변경 docker image tag ㄴ 3. docker push - 도커라이징 : Docker 컨테이너를 사용하여 application(응용 프로그램)을 패킹, 배포, 실행 하는 전 과정 - 도커네트워크 : 도커 컨테이너들이 서로 통신할 수 있도록 해주는 기능 - 카프카 : 브로커 안에 토픽 안에 파티션. 브로커를 주키퍼가 관리(리더선출, 클러스터 관리, 감시 등) - @PostConstruct 어노테이션은 빈이 생성되고 의존 관계 주입이 완료된 후 실행되는 '초기화 콜백'을 적용할 수 있는 어노테이션 - embedded ..
BaaaaaaaaaaarkingDog의 공개 문제집 - 1 페이지 www.acmicpc.net
MapStruct란? Java bean 유형 간의 매핑 구현을 단순화하는 코드 생성기 매핑 코드를 자동으로 생성해주어 반복적인 매핑 작업 효율적으로 처리 DTO와 Entity간의 매핑을 편리하게 도와주는 도구 MapStruct 사용 방법 * 의존성 추가 ⭐ 주의 : Lombok 뒤에 MapStruct dependency 선언 필요 MapStruct는 Lombok의 getter, setter, builder를 이용해서 생성되기 때문 dependencies { ... implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' ... } 1. 기본 사용 ..