목차 지난 글에선 CNN과 CIFAR-10 데이터셋을 이용한 이미지 분류 문제를 살펴보았다. [PyTorch]CNN을 활용한 이미지 분류 문제(CIFAR-10) [PyTorch]CNN을 활용한 이미지 분류 문제(CIFAR-10)목차 지난 글에선 기초적인 MLP를 이용한 집값 예측 모델을 만들어 보았다. 이번 글에서는 컴퓨터 비전 쪽으로 넘어와서 CNN을 이용해 CIFAR-10 데이터셋을 학습하고, 테스트 데이터를 분류하는gnidinger.tistory.com 이번 글에서는 순환 신경망RNN(Recurrent Neural Network)을 사용해 코스피 데이터를 기반으로 주식 가격을 예측하는 문제를 살펴본다. RNN은 시계열 데이터와 같은 순차적 데이터에서 매우 유용한데, 주식 가격은 과거 데이터가 현재와..
목차 지난 글에선 기초적인 MLP를 이용한 집값 예측 모델을 만들어 보았다. 이번 글에서는 컴퓨터 비전 쪽으로 넘어와서 CNN을 이용해 CIFAR-10 데이터셋을 학습하고, 테스트 데이터를 분류하는 코드를 구현해 보겠다. 참고로 CIFAR-10은 10가지 클래스(예: 자동차, 개, 새 등)의 컬러 이미지를 포함한 데이터셋이며, 딥러닝에서 CNN은 이미지 데이터의 특성을 잘 학습하기 때문에 이미지 분류 문제에 자주 사용된다. 사실 구현이라기 보단 학습 코드를 뜯어보는 것에 가깝기 때문에, 별 새로운 내용은 없다. 선 요약 먼저 오늘 뜯어볼 코드와 결과는 다음과 같다:import torchimport torchvision.datasets as datasetsimport torchvision.transform..
목차 오랜만에, 그리고 다소 뜬금없이 파이토치에 대한 글이다. 지난 글에 이어 아주 기초적인 코드를 가지고 데이터 준비부터 모델 학습 및 평가까지의 과정을 알아보려 한다. 총 세 개의 완전 연결층(Fully Connected Layer)로 이루어진 기초적인 MLP 모델이며 활성화 함수는 ReLU를, 과적합 방지를 위해 드롭 아웃을, 손실함수는 MSE, 최적화 알고리즘은 Adam을 사용하였다. 나도 이 단어의 나열이 정확히 무엇을 뜻하는지는 모른다. 코드를 보며 정리해보자. 선 요약 먼저 오늘 구현할 코드와 결과는 다음과 같다:import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitimport torch..
목차 Spring Data JPA는 데이터를 다루는 데 있어 강력한 도구다. 그중에서도 새로운 Entity인지 여부를 판단하는 기능은 데이터 처리 효율성과 무결성을 보장하는 데 중요한 역할을 한다. 이번 글에서는 Spring Data JPA가 새로운 Entity를 어떻게 식별하는지, 그리고 이를 구현하기 위해 필요한 핵심 원리를 간단히 정리해 보자. 선 요약 새로운 Entity 식별 기준기본적으로 JpaEntityInformation 인터페이스의 isNew() 메서드로 판단.@Version 필드와 @Id 필드의 값으로 새 객체 여부를 결정.@Version 필드의 역할필드 없음: 기본 로직으로 판단.Wrapper 타입: null 여부 확인.Primitive 타입: 기본값 여부 확인.@Id 필드와 키 ..
목차 스프링 부트(Spring Boot)로 개발을 진행할 때, 설정 파일에 정의된 값을 쉽게 주입하기 위해 @Value 어노테이션을 자주 사용한다. 이 어노테이션은 특정 클래스에 값을 주입하여 환경별로 달라질 수 있는 값을 유연하게 관리할 수 있는 유용한 방법을 제공한다. 이 글에선 @Value 어노테이션의 사용법과 함께 주의해야 할 몇 가지 사항에 대해 간단히 살펴보자. 선 요약 기본 사용법: @Value("${property.key}") 형식으로 설정 파일의 값을 주입한다.프로파일 적용 가능: 스프링 프로파일을 사용해 환경별 다른 값을 주입할 수 있다.주입 방식: 필드 주입, 생성자 주입, 세터 주입 중 상황에 맞게 선택하여 사용한다. -> 생성자 주입이 안전하고 테스트에 유리함.@Configurat..
목차서론 웹 개발 라이프사이클은 웹사이트나 웹 애플리케이션을 계획, 제작, 운영하는 전체 과정을 체계적으로 정리한 프로세스다. 이는 단순히 코드를 작성하는 것 이상으로, 아이디어 구상부터 지속적인 유지보수와 개선까지 아우르는 포괄적인 과정을 의미한다. 효과적인 웹 개발 라이프사이클은 프로젝트의 성공률을 높이고, 리소스를 효율적으로 활용하며, 고품질의 결과물을 일관되게 제공할 수 있게 해 준다. 이 라이프사이클 내에서 '기획'은 특히 중요한 위치를 차지한다. 기획이란 프로젝트의 방향을 설정하고, 구체적인 실행 계획을 수립하는 단계다. 이는 단순히 아이디어를 구체화하는 것을 넘어, 프로젝트의 목표, 범위, 요구사항, 제약사항 등을 명확히 정의하고 문서화하는 과정을 포함한다. 기획의 중요성을 조금 ..
N+1 문제는 데이터베이스를 사용하는 애플리케이션에서 자주 발생하는 성능 문제 중 하나로, 특히 ORM(Object-Relational Mapping) 도구를 사용할 때 자주 나타난다. 이 문제는 하나의 메인 쿼리를 실행한 후에, 그 결과로 얻어진 N개의 레코드 각각에 대해 추가적인 쿼리(N개의 쿼리)를 실행하는 상황에서 발생하며, 불필요하게 많은 쿼리를 보내게 되어 성능 저하를 초래한다. 요약하자면 N+1 문제는 다음과 같은 상황에서 발생한다. N개의 항목을 가져오는 쿼리를 실행한다.각각의 항목에 대해 추가로 1개의 쿼리를 실행한다.결과적으로, 처음에 실행한 1개의 쿼리(N개를 가져오는)와 각 항목에 대해 실행한 N개의 쿼리를 합쳐 N+1개의 쿼리가 실행된다. Example 이어서 코드로 예를 들어보..
프로젝트 초기에 CI/CD를 구성하며 최대 저장 개수를 정해놓지 않아 20기가 가까운 빌드가 쌓인 적이 있다. 그럴때 우선 해야 할 조치는 최대 저장 개수를 설정하는 것이고, 두 번째로 해야 할 일이 쌓여있는 빌드를 지워주는 것이다. 방법은 다음과 같다. 젠킨스 웹에서 Jenkins 관리>Script Console에 들어가 다음 코드를 실행시킨다.def job = Jenkins.instance.getItemByFullName("your-job-name")def builds = job.getBuilds()int buildCount = 0builds.each { build -> if (buildCount >= 5) { build.delete() } buildCount++}여기서 ..
자바에서 의존성 주입이란 객체 지향 프로그래밍에서 객체 간의 의존성을 외부에서 주입하는 것을 가리킨다. 이를 통해 객체 간의 결합도를 낮추고 코드의 유지보수성을 높일 수 있다. 이 글에서는 의존성 주입을 구현하는 몇 가지 방법과 특징에 대해 간단히 알아본다. 늘 그렇듯이 선요약부터: 생성자 주입: 강한 의존성을 보장하며 불변성을 유지할 수 있다.세터 주입: 유연하고 지연 주입이 가능하지만 의존성이 강제되지 않는다.필드 주입: 코드가 간결해지지만 가독성이 떨어지고 테스트가 어렵다.인터페이스 주입: 유연하지만 복잡도가 증가한다. Constructor Injection 생성자 주입은 객체가 생성될 때 필요한 의존성을 생성자를 통해 주입하는 방법이다.public class Service { private..
SQL에서 'UNION'과 'UNION ALL'은 두 개 이상의 SELECT 문에서 반환된 결과를 결합하는 데 사용된다. 말로 하니까 어려운데 예를 들어 아래와 같이 사용한다고 보면 된다.SELECT column1, column2 FROM table1UNIONSELECT column1, column2 FROM table2;그럼 'UNION'과 'UNION ALL', 두 명령어의 차이는 뭐냐, 결론부터 말하자면 '중복제거 연산의 유무'이다. 조금 상세히 정리하자면 다음과 같다. UNION 'UNION'은 결과 세트에서 중복된 행을 제거한다. 그러니까 두 SELECT 문에서 동일한 데이터를 반환하면 해당 데이터는 결과 세트에 한 번만 포함된다. 이와 같은 중복 제거 작업 때문에 'UNION' 은 'UNI..
- Total
- Today
- Yesterday
- Python
- 남미
- 세모
- 리스트
- 세계일주
- 스트림
- a6000
- Backjoon
- Algorithm
- 백준
- 기술면접
- 스프링
- 칼이사
- 면접 준비
- BOJ
- spring
- 유럽여행
- 알고리즘
- 자바
- 유럽
- 동적계획법
- 지지
- java
- RX100M5
- 여행
- 파이썬
- 야경
- 중남미
- 맛집
- 세계여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |