본문 바로가기
728x90
반응형
SMALL

App Programming255

[React] 템플릿 언어 (1) 템플릿 언어 장고 프레임워크에서 파이썬 변수 및 문법을 html 안에서 쓸 수 있도록 장고에서 제공해주는 언어이다. JSX (JavaScript XML) 리액트에서 사용하는 자바스크립트를 확장한 언어이다. HTML 태그와 컴포넌트로 컴포넌트의 구조를 표현한다. 중괄호 ({,})에 자바스크립 표현식을 사용할 수 있다. HTML과 다르게 클래스 적용을 위해서는 className을 사용해야 한다. 컴포넌트는 반드시 루트 요소 하나를 반환해야 한다. 훅 (Hook) Hook은 React 버전 16.8부터 React 요소로 새로 추가되었다. Hook을 이용하여 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 있다. 컴포넌트 코드를 간단하게 해준다. useState 상.. 2023. 2. 20.
[React] 프로젝트 구조 프로젝트 구조 npx create-react-app web --template typescript npm start : 프로젝트 실행 npm build : 프로젝트 빌드 프로젝트 확인 : 크롬 주소창에서 localhost:3000 SPA (Single Page App) 싱글 페이지 애플리케이션은 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹 사이트를 말한다. 기존 앱은 전체 페이지를 서버에서 받아왔다. SPA는 처음 필요한 데이터를 가져오고 페이지 전환없이 일부를 렌더링한다. 컴포넌트 컴포넌트는 리액트로 만들어진 앱을 이루는 최소한의 단위를 말한다. 사용자 정의 태그 클래스 기반 컴포넌트 함수 기반 컴포넌트 2023. 2. 20.
[Django] 기본 요소 (2) Viewsets 모델의 컨트롤러들의 집합이다. 일반적으로 객체 생성과 객체 리스트 조회, 객체 상세 조회, 객체 수정, 객체 삭제가 있다. queryset serializer_class permission_classes ulrs.py URL은 웹 주소이다. 웹사이트를 방문할 때마다 URL을 볼 수 있다. URL은 브라우저의 주소 표시줄에 표시된다. as_view : HTTP 메서드와 컨트롤러를 매칭 AbstractUser 사용자 정의 회원 모델을 위한 Django의 추상 모델이다. 필요한 필드가 있다면 하위 모델에서 정의한다. USERNAME_FIELD : 사용자를 식별하는데 사용 REQUIRED_FIELDS : USERNAME 필드는 항상 필수 settings.py에 AUTH_USER_MODEL 설정 .. 2023. 2. 20.
[Django] 기본 요소 (1) 모델 장고는 모델 (Model)을 이용하여 데이터베이스를 처리한다. 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만 장고의 모델 (Model)을 사용하면 이런 SQL 쿼리문의 도움없이 데이터를 쉽게 처리할 수 있다. 모델 데이터베이스 테이블 필드 데이터베이스 속성 매니저 Manager는 Django Model에 제공되는 데이터베이스 쿼리 인터페이스이다. 모든 Model은 하나 이상의 Manager를 가지게 된다. 데이터베이스 관련 동작을 정의한다. 장고는 웹 요청 ➡ urls.py ➡ view ➡ 모델 ➡ 데이터베이스의 데이터 흐름을 가지고 있다. Django REST Framework (DRF) Django의 REST API를 위한 프레임워크이다. 웹 탐색 ​​가능.. 2023. 2. 20.
[Django] Search (검색 기능) Search (검색 기능) 웹 애플리케이션의 일반적인 작업은 사용자 입력으로 데이터베이스의 일부 데이터를 검색하는 것이다. 간단한 경우 범주별로 개체 목록을 필터링할 수 있다. 보다 복잡한 사용 사례에서는 가중치, 범주화, 강조 표시, 여러 언어 등을 사용한 검색이 필요할 수 있다. home.html topics별로 browse 가능한 home.html을 구현한다. {% extends 'main.html' %} {% block content %} Browse Topics All {% for topic in topics %} {{topic.name}} {% endfor %} {{room_count}} rooms available Create Room {% for room in rooms %} Edit De.. 2023. 2. 17.
[Django] CRUD CRUD (Create, Read, Update, Delete) CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create (생성), Read (읽기), Update (갱신), Delete (삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능 (정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. home.html update와 delete가 추가된 home.html을 만든다. {% extends 'main.html' %} {% block content %} Home Template Create Room {% for room in rooms %} Edit Delete @{{room.host.username}} {{room.id}} -- {{room.nam.. 2023. 2. 17.
[Django] Admin (Room) Admin Django Admin을 이용해서 관리자 사이트에 모델을 등록하고 이후 로그인하여 데이터를 추가할 수 있다. 터미널에서 다음 코드를 입력하여 슈퍼 계정을 생성한다. python manage.py createsuperuser 그 다음, http://127.0.0.1:8000/admin/에서 앞서 생성한 슈퍼 계정으로 로그인하면 관리자 페이지로 접속 가능하다. models.py from django.db import models from django.contrib.auth.models import User class Topic(models.Model): name = models.CharField(max_length = 200) def __str__(self): return self.name cla.. 2023. 2. 17.
[Android Studio] RecyclerView (리사이클러뷰) RecyclerView (리사이클러뷰) 리사이클러뷰 (RecyclerView)는 메모리 사용량을 최소화하면서 UI에 많은 양의 데이터를 표시한다. 리사이클러뷰는 이미지나 텍스트를 리스트화 해서 스크롤하면서 볼 수 있게 해주는 컨테이너이다. 기존에 사용하던 그리드 뷰와 리스트뷰의 단점들을 보완한 리스트뷰의 확장판 또는 개선판이라고 볼 수 있다. 리스트뷰 (ListView)는 리스트 항목이 갱신될 때마다 매번 아이템 뷰를 새로 구성해야 하는데, 이는 많은 수의 데이터 집합을 표시하는 데 있어 성능 저하를 야기할 수 있다. 리사이클러뷰는 이러한 리스트뷰의 단점을 보완하여 아이템을 표시하기 위해 생성한 뷰를 재활용한다. build.gradle (종속 항목 선언) dependencies { implementati.. 2023. 2. 14.
[Android Studio] Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.9.0-runtime gradle.properties android.useAndroidX=true android.enableJetifier=true 위 코드를 추가하면 해결된다. 2023. 2. 14.
[Docker] 명령어 docker build Dockerfile을 기반으로 이미지를 생성하는 작업을 하는 명령어이다. -t, --tag : 이미지 이름 (이미지 : 태그) -f, --file : Dockerfile 이름 (Dockerfile의 위치) --rm : 빌드 후 컨테이너 삭제 --build-arg : ARG 값 전달 docker run docker run은 docker의 이미지를 기반으로, 컨테이너를 실행하는 명령어이다. -d : 백그라운드 실행 -l : 컨테이너 입력 -t : 컨테이너 출력 --net : 네트워크 지정 -p, --port : 포트 번호 연결 -v, --volume : 바운드 마운트 --name : 컨테이너 이름 -e, --env : 환경 변수 전달하기 --rm : 컨테이너 종료시 컨테이너 삭제 --.. 2023. 2. 13.
728x90
반응형
LIST