본문 바로가기

전체 글58

자바 모듈 시작모듈은 자바 9부터 추가된 기능이다. 모듈의 도입은 애플리케이션 아키텍처에 깊은 영향을 미친다. 그래서 모듈을 이해하고 사용하는 것은 중요하다고 생각하여 이 글을 작성하게 되었다.본문배경모듈은 런타임에 의미를 가지는 응용 프로그램 배포 및 의존성의 단위다.이는 다음과 같은 자바 개념과 다르다.JAR 파일은 런타임에는 보이지 않으며 단순히 클래스 파일들을 포함하고 있는 압축된 디렉터리다.패키지는 실제로 접근 제어를 위해 클래스를 그룹화하기 위한 네임스페이스다.의존성은 클래스 레벨에서만 정의한다접근 제어와 리플렉션이 결합돼 명확한 배포 단위 경계 없이 최소한의 시행으로 개방적인 시스템을 생성한다.반면에 모듈은 다음과 같은 특징을 가진다.모듈은 모듈 간의 의존성 정보를 정의하므로 컴파일 또는 애플리케이션 .. 2024. 12. 4.
자바 11에서의 작은 변경 사항 시작The Well-Grounded Java Developer 책을 읽으면서 책 내용 기반으로 자바 11에서의 작은 변경 사항을 정리합니다.본문var 키워드를 지원하는 지역 변수 타입 추론var 키워드를 사용하여 지역 변수의 타입을 추론할 수 있습니다.var example = "Hello, Java 11!";example.getClass();$1 ==> class java.lang.String컬렉션 팩토리(JEP 213)ListList에 of() 메서드가 추가하여 불변 리스트를 쉽게 생성할 수 있습니다.var listExample = List.of(1,2,3);listExample ==> [1, 2, 3]listExample.getClass();$3 ==> class java.util.ImmutableC.. 2024. 12. 2.
STATICFILES_DIR vs STATIC_ROOT 시작Django에서 정적 파일을 사용하는 과정에서 SETTINGS의 STATIC_ROOT를 설정했음에도 불구하고 파일을 찾을 수 없는 문제가 발생했습니다.본문정적 파일 설정 방법1. INSTALLED_APPS 에 django.contrib.staticfiles를 추가합니다. 2.SETTINGS에 STATIC_URL를 설정합니다. STATIC_URL = "static/" 3. 템플릿에서 정적 파일 템플릿 태그를 사용하여 지정된 경로에 대한 URL을 작성합니다. staticfiles STORAGES 별칭을 활용할 수 있습니다. {% load static %} 4. 정적 파일을 앱의 static 디렉토리에 저장합니다. app-name/static/assets/images/example.jpg 개발 중 (DEB.. 2024. 10. 21.
오픔캠프 Django 백엔드 부트캠프 후기 시작2024년 10월 16일에 모두의 연구소에서 진행한 Django 백엔드 부트캠프를 수료했습니다. 이번 기회를 통해 후기를 작성하며 돌아보고자 합니다. 내용2023년 11월에 Java 부트캠프를 수료한 후 2024년까지 프로젝트를 준비하며 구직 활동을 이어갔습니다. 처음에는 자신만만했고 단시간 내에 취업할 수 있을 거라고 생각했습니다. 부트캠프 중 멘토님들뿐만 아니라 외부 멘토님들도 긍정적인 피드백을 주셨고 일부 멘토님께서는 추천까지 해주셨습니다. 하지만 현실적으로 취업 시장상황이 그렇게 좋지 않았고 기회를 얻고 잡는 것이 쉽지 않았습니다.이력서에 제 강점을 녹여내는 것이 어려웠고 서류 합격조차 쉽지 않았습니다. 서류에 통과하더라도 과제 전형이 있었는데 과제는 쉽게 통과했지만 면접에서 기회를 잡지 못한.. 2024. 10. 18.
DRF Tutorial 6 ViewSets & Routers 시작이번 포스트에서는 DRF(Django Rest Framework) 튜토리얼을 통해 ViewSets와 Routers를 사용하는 방법에 대해 알아보겠습니다. 본 포스트는 macOS와 VS Code 환경에서 진행됩니다.본문ViewSets으로 리팩토링UserList와 UserDetail을 하나의 UserViewSet 클래스로 리팩터링 합니다.from rest_framework import viewsetsclass UserViewSet(viewsets.ReadOnlyModelViewSet): """ 이 뷰셋은 `list` 및 `retrieve` 액션을 자동으로 제공합니다. """ queryset = User.objects.all() serializer_class = UserSeria.. 2024. 9. 14.
DRF Tutorial 5 Relationships & Hyperlinked APIs 시작이번 포스트에서는 DRF(Django Rest Framework) 튜토리얼을 따라 Relationships와 Hyperlinked APIs을 다루는 방법을 알아보겠습니다. 본 포스트는 macOS와 VS Code 환경에서 진행됩니다.본문루트 API Endpoint 생성API에서 각 엔드포인트를 명확하게 탐색할 수 있도록 루트 엔드포인트를 만들겠습니다.snippets/views.py에 api_root 뷰를 추가하여 모든 API의 시작점을 정의합니다.# ...from rest_framework.decorators import api_viewfrom rest_framework.response import Responsefrom rest_framework.reverse import reverse@api_vie.. 2024. 9. 14.
DRF Tutorial 4 Authentication & Permissions 시작이번 포스트에서는 DRF(Django Rest Framework) 튜토리얼을 따라 Authentication와 Permissions을 다루는 방법을 알아보겠습니다. 본 포스트는 macOS와 VS Code 환경에서 진행됩니다.본문Snippet 모델과 유저 모델 관계 추가먼저 snippets/models.py의 Snippet 모델에 새로운 필드를 추가하여 사용자와 연결합니다.owner = models.ForeignKey('auth.User', related_name='snippets', on_delete=models.CASCADE)highlighted = models.TextField() 또한 pygments 라이브러리를 사용하여 코드 조각의 HTML 표현을 강조 표시할 수 있는 save 메서드를 정의합.. 2024. 9. 14.
DRF Tutorial 3 Class-based Views 시작이번 포스트에서는 DRF(Django Rest Framework) 튜토리얼을 따라 Class-based Views을 다루는 방법을 알아보겠습니다. 본 포스트는 macOS와 VS Code 환경에서 진행됩니다.본문Class-based Views를 사용하여 API 재작성Function-based Views에서 if request.method == 'GET'와 같은 분기 처리를 메서드로 분리하여 코드를 더욱 간결하고 효율적으로 만들 수 있습니다. snippets/views.py를 Class-based Views를 활용하여 리팩터링 합니다.from django.http import Http404from rest_framework import statusfrom rest_framework.response imp.. 2024. 9. 14.
DRF Tutorial 2 Requests and Responses 시작이번 포스트에서는 DRF(Django Rest Framework) 튜토리얼을 따라 Requests와 Responses를 다루는 방법을 알아보겠습니다. 본 포스트는 macOS와 VS Code 환경에서 진행됩니다.본문DRF에서 제공하는 객체DRF는 Request 객체, Response 객체, Status codes 등을 제공하며 API 뷰를 작성하는 데 사용할 수 있는 두 가지 주요 래퍼를 지원합니다. 함수 기반 뷰를 위한 @api_view 데코레이터클래스 기반 뷰를 위한 APIView 클래스이러한 객체들을 사용하면 더 간결하고 효율적인 코드를 작성할 수 있습니다.코드 개선이제 Request 객체, Response 객체, Status codes를 사용하여 코드를 좀 더 개선해 보겠습니다.from rest.. 2024. 9. 11.
DRF Tutorial 1 Serialization 시작DRF(Django Rest Framework) 튜토리얼을 따라 Serialization에 대해 알아보려고 합니다. 본 포스트에서는 macOS와 VS Code를 사용하여 진행합니다.본문프로젝트 생성 및 설정먼저 프로젝트를 생성하고 필요한 설정을 진행합니다. 다음 명령어를 차례대로 실행하여 Django와 Django Rest Framework(DRF)를 설치하고 프로젝트를 생성합니다.# 'drf_tutorial'이라는 디렉터리를 생성합니다.mkdir drf_tutorial# 'drf_tutorial' 디렉터리로 이동합니다.cd drf_tutorial/# 가상 환경(venv)을 생성합니다.python3 -m venv venv# 가상 환경을 활성화합니다.source venv/bin/activate# Dja.. 2024. 9. 11.