개발 16

[Dash]Python Dash Callback (4) 동적 데이터베이스 업데이트 및 복원

동적 데이터베이스 업데이트 및 복원 Action1. Modal 팝업창에서 '수정하기' 버튼을 클릭해 DB를 업데이트했다면, AG Grid의 데이터베이스를 다시 조회 Action2. Modal 팝업창에서 '닫기' 버튼을 클릭했을 때, 팝업창에서 내용을 수정했어도 기존의 상태로 복원 사용자가 모달에서 "수정하기" 버튼을 클릭했을 때 ag_grid_1의 데이터베이스를 업데이트하려면, toggle_modal_edit 콜백에서 데이터베이스 수정 로직을 완료한 후, ag_grid_1의 rowData를 새로 고칠 수 있도록 적절한 출력(Output)을 설정해야 합니다. toggle_modal_edit 콜백에서 데이터베이스 수정이 완료되었음을 나타내는 신호를 dcc.store를 통해 전달하여 update_grid 콜백..

개발/Dash 2024.02.13

[Docker] Python Dash로 개발한 웹 페이지 Docker로 띄우기

Docker 설치 앞서 Window에서 Docker를 설치하는 과정을 업로드 했습니다. https://mz-moonzoo.tistory.com/40 [Docker]Windows 11 Pro에서 Docker 설치(Docker Desktop) Docker? Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 플랫폼 및 도구 모음입니다. 주요 목적은 소프트웨어를 컨테이너라고 불리는 표준화된 유닛 내에서 패키징하여, 코드가 일관된 환경 mz-moonzoo.tistory.com Docker에 Python dash로 개발한 웹 페이지 올리기 이번에 설치한 docker로 제가 개발한 dash 웹 페이지를 배포해보도록 하겠습니다. 우분투에 Docker 환경 설정 1.우분투 패키지 목록 업데이트 sudo apt-..

개발/Docker 2024.01.29

[Linux] 리눅스 기본 명령어 모음

리눅스 기본 명령어 모음 앞으로 리눅스를 쓰면서 자주 쓰는 명령어를 주기적으로 업데이트 하겠습니다. 시스템 관리 sudo - 다른 사용자의 보안 권한 (주로 슈퍼유저)으로 명령 실행 ls - 현재 디렉토리의 파일 목록을 표시 cd - 디렉토리 변경 pwd - 현재 작업중인 디렉토리의 경로를 표시 top - 시스템에서 실행 중인 프로세스를 실시간으로 표시 ps - 현재 실행 중인 프로세스 목록 표시 kill - 프로세스 종료 chmod - 파일이나 디렉토리의 접근 권한 변경 chown - 파일이나 디렉토리의 소유권 변경 df - 파일 시스템의 디스크 공간 사용량 표시 du - 디렉토리의 디스크 사용량 표시 파일 조작 touch - 새 파일 생성 또는 파일의 타임스탬프 변경 cp - 파일 또는 디렉토리 복사..

개발/Linux 2024.01.26

[Docker]Docker 기본 명령어 정리

Docker 기본 명령어 앞으로 docker를 사용하면서 자주 사용하는 명령어를 주기적으로 업로드 하도록 하겠습니다. docker run: 새 컨테이너를 생성하고 실행합니다. 예: docker run -d -p 8080:80 nginx docker stop: 실행 중인 컨테이너를 중지합니다. 예: docker stop docker start: 중지된 컨테이너를 다시 시작합니다. 예: docker start docker restart: 컨테이너를 재시작합니다. 예: docker restart docker rm: 컨테이너를 삭제합니다. 예: docker rm docker rmi: 이미지를 삭제합니다. 예: docker rmi docker pull: Docker Hub 또는 다른 레지스트리에서 이미지를 다운로..

개발/Docker 2024.01.26

[Docker]Windows 11 Pro에서 Docker 설치(Docker Desktop)

Docker? Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 플랫폼 및 도구 모음입니다. 주요 목적은 소프트웨어를 컨테이너라고 불리는 표준화된 유닛 내에서 패키징하여, 코드가 일관된 환경에서 실행될 수 있도록 하는 것입니다. Docker의 핵심 개념과 특징은 다음과 같습니다. 컨테이너: Docker 컨테이너는 애플리케이션과 그 애플리케이션이 의존하는 라이브러리 및 기타 요소들을 함께 묶는 경량화된 실행 환경입니다. 컨테이너는 각각 독립된 환경을 제공하기 때문에 다른 애플리케이션 또는 시스템 설정과 충돌 없이 실행됩니다. 이식성: Docker 컨테이너는 어디서나 동일하게 작동합니다. 개발자의 랩톱에서 작동하는 컨테이너는 클라우드나 서버 환경에서도 똑같이 작동합니다. 이는 "한 번 빌드하면, 어..

개발/Docker 2024.01.26

[DB]DBeaver에서 데이터베이스 제약 조건 수정 및 데이터 기본값 정의

DBeaver에서 데이터베이스 제약 조건 수정 Action. Dash에서 '추가하기' 버튼을 클릭했을 때, INSERT INTO를 사용해 데이터베이스에 데이터 추가하기 Dash에서 데이터를 입력하고 '추가하기 버튼을 클릭했을 때, 아래와 같은 INSERT INTO 쿼리를 실행하도록 했습니다. INSERT INTO bdb._set (i_id, b_id, i_group, qu, ast, c_type, b_label, u_call, i_desc, yn, as) VALUES (:i_id, :b_id, :i_group, :qu, :ast, :c_type, :b_label, :u_call, :i_desc, :yn, :as) 그러나 아래와 같은 에러가 발생했습니다. IntegrityError: (psycopg2.er..

개발/DB 2024.01.17

[Dash]Python Dash Callback (3) 팝업창에 경고 메시지 띄우기 + 콜백 합치기

Action 1. 팝업창에서 원하는 명령을 수행하지 않을 시 경고 메시지 띄우기 dbc.toast , dbc.Alert 등은 사용자에게 메시지를 표시하는 데 사용하는 컴포넌트 입니다. dbc.Alert를 사용해 dbc.Modal의 ModalBody에서 질문과 답변을 입력하지 않을 시 경고 메시지를 띄웁니다. Modal의 팝업창을 닫고 다시 여는 버튼인 '수정하기' 를 클릭할 시 기존에 있던 경고 메시지를 제거합니다. Callback_context callback_context는 Dash에서 제공하는 객체로, 현재 콜백이 실행된 맥락에 대한 정보를 포함하고 있습니다. 이 객체를 사용하여 어떤 입력(Input)이 콜백을 트리거했는지, 혹은 어떤 상태(State)가 현재 콜백에 영향을 미쳤는지 등을 알 수 있..

개발/Dash 2024.01.17

[Dash]Python Dash Callback (2) State

Dash Callback State 함수 Dash 콜백 함수에서 State는 콜백을 트리거하지 않지만 콜백 함수 내에서 사용되는 컴포넌트의 현재 상태(값)를 전달하는 데 사용됩니다. Input과 달리 State는 콜백을 활성화하지 않지만, 콜백이 실행될 때 컴포넌트의 최신 상태를 제공합니다. @app.callback( Output('edit', 'is_open'), [Input("edit_open", "n_clicks"), Input("edit_close", "n_clicks"), Input("edit_set", "n_clicks")], [State('edit', 'is_open'), State('edit_i_id', 'value'), State('edit_b_id', 'value'), State('ed..

개발/Dash 2024.01.16

[Dash]Python Dash Callback (1) 콜백 트리거 속성

Dash 콜백 트리거 속성 Dash에서 사용되는 특별한 속성들, 특히 인터랙티브한 요소들과 관련된 속성들이 존재합니다. 이들은 Dash의 콜백 메커니즘에서 중요한 역할을 하며, 사용자 인터랙션에 기반한 애플리케이션의 동적 반응을 가능하게 하는 핵심 요소입니다. 이 속성들은 사용자의 인터랙션에 의해 변경되며, 그 변경 사항이 콜백 함수의 실행을 트리거합니다. 예를 들어, n_clicks 속성은 버튼 컴포넌트와 관련되어 있으며, 사용자가 버튼을 클릭할 때마다 값이 증가합니다. 이 값의 변화는 콜백 함수를 트리거할 수 있습니다. 이벤트 속성 (Event Properties) 이벤트 속성은 사용자의 특정 행동(예: 클릭, 선택, 입력)에 반응하는 속성입니다. 이러한 속성은 사용자의 인터랙션이 발생했을 때 해당 ..

개발/Dash 2024.01.16

[DB]PostgreSQL 쿼리 작성 노트

쿼리 노트 PostgreSQL로 개발을 진행하다가 헷갈리는 쿼리의 문법이 등장했을 때, 기록을 위한 페이지 입니다. 대부분은 파이썬 dash를 활용한 대시보드에서 사용하는 쿼리를 기록하고 있습니다. S1. 동적 쿼리 query = text( f"SELECT f_id, d_id, i_group, q, a, user, uid FROM qadb.id_set WHERE {d_value} LIKE :x {operator} {d_value2} LIKE :y AND d_id IN ({c_values}) ORDER BY uid ASC") 이 쿼리의 전체적인 목적은 qadb.id_set 테이블에서 특정 조건(d_value, c_value)을 만족하는 행을 조회하고, 이를 uid 값에 따라 오름차순으로 정렬하는 것입니다...

개발/DB 2024.01.16