분류 전체보기 176

MultipartFile

웹에서 파일을 업로드할 때 사용하는 Spring의 인터페이스multipart/form-data 형식의 데이터를 Spring이 객체로 만들어준 것public interface MultipartFile { // 원본 파일명 가져오기 String getOriginalFilename(); // "my-photo.jpg" // 파일 크기 (bytes) long getSize(); // 1024000 // 파일 내용을 byte 배열로 byte[] getBytes(); // 파일을 InputStream으로 InputStream getInputStream(); // 파일이 비어있는지 확인 boolean isEmpty(); ..

카테고리 없음 2025.12.18

[우테코 프리코스] 3주차 미션 회고록

이번 주차 과제는 개인적인 일정이 있어서 많이 공들이지 못했던 것이 아쉽다. 그러나 테스트 코드를 통과시키기 위해 기존 코드를 자주 수정하면서테스트 코드가 애플리케이션의 안정성과 사용자 경험에 있어서 중요하다는 것을 느꼈다. enum을 처음 제대로 사용해보면서 불변 데이터가 상태값을 가지고있을 때 편리한 기능이라는 것을 느꼈다.가독성도 좋아지고 컴파일러에 의해 불변성도 보장받을 수 있어서 장점이 많은 기능인 것 같다. 그리고 이전 주차와 마찬가지로 Java 기본 API에 대해서도 조금씩 습득하고 있고 (특히 collection, stream)immutable list의 필요성과 생성 과정이 너무 정리가 안 되어있어서 헷갈렸는데 이번 기회를 통해서 좀 정리가 된 것 같다. 다음 주차 때도 바쁜 시간을 쪼개..

우테코 2025.11.08

[우테코 프리코스] 1주차 미션 회고록

PR 주소 :https://github.com/woowacourse-precourse/java-calculator-8/pull/1032✍🏻 회고기능 요구사항이 간단해보였으나, 테스트 코드를 짜면서 추가/수정할 부분이 많이 발견되었다.최대한 다양한 예외 케이스를 선정하고 테스트하는 과정을 통해 코드를 더 견고하게 만들 수 있었다. 코드를 타인이 보았을 때 이해가 잘 되도록 번역기를 활용해 변수명, 함수명을 용도에 맞게 짓고 주석을 추가하였다.코드 리뷰를 통해 가독성이 좋은 코드인지 평가 받고 피드백을 적용해나가고 싶다. 예외 처리의 경우 모두 일관되게 IllegalArgumentException를 던지도록 구현하였는데, 다음 주차때 부터는 경우를 나누어 각 상황에 맞는 메시지를 리턴하도록 만들어보고 싶다..

우테코 2025.10.21

[OSSCA] 우분투 한국어 번역 오픈소스 기여하기

참여 동기학부생 때부터 지금까지 정말 자주 쓰이고 친숙한 우분투!백엔드 개발자로서 서버에 장애가 생기면 우분투를 다뤄야할 때가 많은데,마침 우분투 데스크탑 한국어 번역 오픈소스에 기여하는 프로그램이 있어서 신청하였다.런치패드 가입 번역 기여하기(1) 런치패드https://www.youtube.com/watch?v=X9qEW2xcvPs 모임은 온라인, 오프라인으로 동시에 진행했고번역에 기여하기 위한 절차를 알려주신다. https://translations.launchpad.net/ubuntu Translations : UbuntuUbuntu also includes a wide variety of software through its network of software repositories. Once y..

프로젝트 2025.10.15

모놀리식 아키텍처와 MSA / 동기 처리와 비동기 처리 / MQ

인프라 아키텍처를 설계하기 위해 꼭 알아야 할 분산 시스템과 비동기 처리에 대해 알아보자. 🤔 모놀리식 아키텍처의 문제점서버를 모놀리식 아키텍처로 설계하면, 특정 서비스에 장애가 발생한 경우 다른 모든 서비스 또한 사용할 수 없게 될 위험이 있다. 왜 그럴까? 모놀리식 아키텍처란 애플리케이션의 모든 모듈이 하나로 빌드되어 배포된 형태이다. 따라서 애플리케이션이 실행될 때, 어떤 모듈이 실행되더라도 모든 모듈이 다 들어있는 단일한 프로세스 위에서 돌아간다. 단일한 프로세스 위에서 각각의 모듈이 함수 호출로 상호작용하는 식이다. 이 형태로 설계하면 가장 큰 문제점이 '자원 부족', '장애 전파'이다. 1) 자원 부족사실 자원 부족 문제는 동기 처리에서 특정 모듈이 I/O 작업 등에 의해 처리 시간이 길어..

프로젝트 2025.10.13

[프로그래머스/Java] 도넛과 막대 그래프

📍 문제 풀이* 카카오 테크의 문제 풀이 발췌 이 문제는 세 가지 모양의 그래프와 생성된 정점의 특징을 분석하는 것이 핵심인 문제입니다. 각 그래프의 모양은 아래와 같습니다. 생성된 정점 : 나가는 간선이 2개 이상(그래프의 개수 만큼) 존재, 들어오는 간선이 없음막대 : 생성된 정점과 연결된 간선을 제외했을 때, 들어오는 간선이 없는 정점 1개, 나가는 간선이 없는 정점 1개 (두 정점이 같을 수 있음), 나머지 정점은 나가는 간선과 들어오는 간선이 하나씩 존재도넛 : 생성된 정점과 연결된 간선을 제외했을 때, 모든 정점이 나가는 간선과 들어오는 간선이 1개씩 존재8자 : 생성된 정점과 연결된 간선을 제외했을 때, 1개를 제외하면 나가는 간선과 들어오는 간선이 1개씩 존재, 1개의 정점은 나가는 간선..

코테 2025.10.05

[프로그래머스/Java] 가장 많이 받은 선물

📍 문제 풀이* 카카오 테크의 문제 풀이 발췌 자료구조, 반복문, 조건문 등 프로그래밍의 기초 개념들을 적절히 활용해서 푸는 문제N명의 이름 리스트에 인덱스를 붙이고 NxN 2차원 배열에 선물을 주고 받은 횟수를 저장하는 방법으로 요구사항을 구현할 수 있다.이름 리스트에 인덱스를 붙일 때, 언어에 따라 해시맵(HashMap) 등의 자료구조를 활용할 수 있고, 입력 사이즈가 작기 때문에 인덱스를 찾는 내장 함수를 사용하거나 반복문을 사용해 인덱스를 찾는 코드를 직접 구현해도 됩니다. 이를 위해, 각 gifts의 원소에서 선물을 준 사람 A와 받은 사람 B의 이름을 분리합니다. A의 인덱스가 i, B의 인덱스가 j라면 위에서 생성한 2차원 배열의 [i행][j열]의 값을 1 늘려 A가 B에게 보낸 선물의 수..

코테 2025.10.03