├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── CONTRIBUTING.md ├── README.en.md ├── README.md ├── backend └── Dockerfile ├── book ├── PseudoLab_logo.png ├── _build │ ├── .doctrees │ │ ├── docs │ │ │ ├── appendix.doctree │ │ │ ├── pr-ground.doctree │ │ │ ├── pr-guide.doctree │ │ │ └── pull_request_guide.doctree │ │ ├── environment.pickle │ │ └── intro.doctree │ └── html │ │ ├── .buildinfo │ │ ├── _images │ │ ├── git-tutorial-step1.png │ │ ├── git-tutorial-step10.png │ │ ├── git-tutorial-step2.png │ │ ├── git-tutorial-step3.png │ │ ├── git-tutorial-step4.png │ │ ├── git-tutorial-step5.png │ │ ├── git-tutorial-step6.png │ │ ├── git-tutorial-step7.png │ │ ├── git-tutorial-step8.png │ │ ├── git-tutorial-step9.png │ │ ├── guide0.png │ │ ├── guide1.png │ │ ├── guide2.png │ │ ├── guide3.png │ │ └── guide4.png │ │ ├── _sources │ │ ├── docs │ │ │ ├── appendix.md │ │ │ ├── pr-ground.md │ │ │ ├── pr-guide.md │ │ │ └── pull_request_guide.md │ │ └── intro.md │ │ ├── _sphinx_design_static │ │ ├── design-style.4045f2051d55cab465a707391d5b2007.min.css │ │ └── design-tabs.js │ │ ├── _static │ │ ├── PseudoLab_logo.png │ │ ├── _sphinx_javascript_frameworks_compat.js │ │ ├── basic.css │ │ ├── check-solid.svg │ │ ├── clipboard.min.js │ │ ├── copy-button.svg │ │ ├── copybutton.css │ │ ├── copybutton.js │ │ ├── copybutton_funcs.js │ │ ├── design-style.4045f2051d55cab465a707391d5b2007.min.css │ │ ├── design-tabs.js │ │ ├── doctools.js │ │ ├── documentation_options.js │ │ ├── file.png │ │ ├── images │ │ │ ├── logo_binder.svg │ │ │ ├── logo_colab.png │ │ │ ├── logo_deepnote.svg │ │ │ └── logo_jupyterhub.svg │ │ ├── jquery-3.6.0.js │ │ ├── jquery.js │ │ ├── language_data.js │ │ ├── locales │ │ │ ├── ar │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── bg │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── bn │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ca │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── cs │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── da │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── de │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── el │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── eo │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── es │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── et │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── fi │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── fr │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── hr │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── id │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── it │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── iw │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ja │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ko │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── lt │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── lv │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ml │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── mr │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ms │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── nl │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── no │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── pl │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── pt │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ro │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ru │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── sk │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── sl │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── sr │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── sv │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ta │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── te │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── tg │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── th │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── tl │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── tr │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── uk │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── ur │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── vi │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ ├── zh_CN │ │ │ │ └── LC_MESSAGES │ │ │ │ │ ├── booktheme.mo │ │ │ │ │ └── booktheme.po │ │ │ └── zh_TW │ │ │ │ └── LC_MESSAGES │ │ │ │ ├── booktheme.mo │ │ │ │ └── booktheme.po │ │ ├── minus.png │ │ ├── mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css │ │ ├── plus.png │ │ ├── pygments.css │ │ ├── sbt-webpack-macros.html │ │ ├── scripts │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.LICENSE.txt │ │ │ ├── bootstrap.js.map │ │ │ ├── pydata-sphinx-theme.js │ │ │ ├── pydata-sphinx-theme.js.map │ │ │ ├── sphinx-book-theme.js │ │ │ └── sphinx-book-theme.js.map │ │ ├── searchtools.js │ │ ├── sphinx-thebe.css │ │ ├── sphinx-thebe.js │ │ ├── styles │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── pydata-sphinx-theme.css │ │ │ ├── pydata-sphinx-theme.css.map │ │ │ ├── sphinx-book-theme.css │ │ │ └── theme.css │ │ ├── togglebutton.css │ │ ├── togglebutton.js │ │ ├── underscore-1.13.1.js │ │ ├── underscore.js │ │ ├── vendor │ │ │ └── fontawesome │ │ │ │ └── 6.1.2 │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── css │ │ │ │ └── all.min.css │ │ │ │ ├── js │ │ │ │ ├── all.min.js │ │ │ │ └── all.min.js.LICENSE.txt │ │ │ │ └── webfonts │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ ├── fa-regular-400.woff2 │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ ├── fa-v4compatibility.ttf │ │ │ │ └── fa-v4compatibility.woff2 │ │ └── webpack-macros.html │ │ ├── docs │ │ ├── appendix.html │ │ ├── pr-ground.html │ │ ├── pr-guide.html │ │ └── pull_request_guide.html │ │ ├── genindex.html │ │ ├── index.html │ │ ├── intro.html │ │ ├── objects.inv │ │ ├── search.html │ │ └── searchindex.js ├── _config.yml ├── _toc.yml ├── assets │ └── imgs │ │ ├── docker_tutorial │ │ ├── docker-compose-icon.webp │ │ └── docker-logo-blue.png │ │ ├── git-tutorial │ │ ├── git-tutorial-step1.png │ │ ├── git-tutorial-step10.png │ │ ├── git-tutorial-step2.png │ │ ├── git-tutorial-step3.png │ │ ├── git-tutorial-step4.png │ │ ├── git-tutorial-step5.png │ │ ├── git-tutorial-step6.png │ │ ├── git-tutorial-step7.png │ │ ├── git-tutorial-step8.png │ │ └── git-tutorial-step9.png │ │ └── pratice-guide │ │ ├── guide0.png │ │ ├── guide1.png │ │ ├── guide2.png │ │ ├── guide3.png │ │ └── guide4.png ├── docker_tutorial │ ├── 00.docker_intro.md │ ├── 00.pytorch_example.md │ ├── 01.what_is_docker.md │ ├── 02.image_and_container.md │ ├── 03.docker-compose.md │ ├── 04.ollama.md │ ├── 05.webui.md │ └── 06.ollama_and_webui.md ├── docs │ ├── appendix.md │ ├── github_intro.md │ ├── pr-ground.md │ ├── pr-guide.md │ └── pull_request_guide.md └── intro.md ├── docker-compose.yaml ├── docs ├── 10th_plan.md ├── docker_tutorial │ ├── 00.pytorch_example.md │ ├── 01.what_is_docker.md │ ├── 02.image_and_container.md │ ├── 03.docker-compose.md │ ├── 04.ollama.md │ ├── 05.webui.md │ ├── 06.ollama_and_webui.md │ ├── README.md │ ├── example │ │ ├── Dockerfile │ │ ├── docker-compose.yaml │ │ ├── example.py │ │ └── html │ │ │ └── index.html │ └── ollama-webui │ │ └── docker-compose.yaml ├── imgs │ ├── Toolbox.png │ ├── bingo.png │ ├── docker-git-tutorial.png │ └── members │ │ ├── seungkyu.jpg │ │ ├── soohyun.png │ │ └── yesin.jpg └── webpage-plan.md └── frontend ├── .gitignore ├── Dockerfile ├── README.md ├── eslint.config.js ├── index.html ├── nginx.conf ├── package-lock.json ├── package.json ├── public ├── logo.png └── vite.svg ├── src ├── App.css ├── App.tsx ├── assets │ ├── fonts │ │ └── pretendard │ │ │ └── woff2 │ │ │ ├── Pretendard-Bold.woff2 │ │ │ ├── Pretendard-Regular.woff2 │ │ │ └── PretendardVariable.woff2 │ ├── logo.png │ └── react.svg ├── components │ └── common │ │ ├── Button.tsx │ │ ├── Footer.tsx │ │ └── Header.tsx ├── index.css ├── main.tsx ├── modules │ └── Home │ │ ├── components │ │ ├── CertificateModal.tsx │ │ ├── ContentRequestModal.tsx │ │ ├── Features.tsx │ │ ├── Hero.tsx │ │ ├── Services.tsx │ │ └── StudyRoomRequestModal.tsx │ │ └── index.tsx ├── styles │ ├── ThemeContext.tsx │ ├── theme.d.ts │ └── theme.ts └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build and Deploy Jupyter Book 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - 'book/**' 9 | 10 | jobs: 11 | build-and-deploy: 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - name: Checkout Repository 16 | uses: actions/checkout@v4 17 | 18 | - name: Set up Python 19 | uses: actions/setup-python@v4 20 | with: 21 | python-version: '3.8' 22 | 23 | - name: Install Jupyter Book 24 | run: | 25 | pip install -U pip 26 | pip install jupyter-book ghp-import 27 | 28 | - name: Build Jupyter Book 29 | run: | 30 | set -e # 오류 발생 시 스크립트 중지 31 | jupyter-book build book || { echo "Jupyter Book build failed!"; exit 1; } 32 | 33 | - name: Deploy to GitHub Pages 34 | run: | 35 | COMMIT_ID=$(git rev-parse --short HEAD) 36 | ghp-import -n -p -f book/_build/html -m "Deploying Jupyter Book - Commit: $COMMIT_ID" 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vite -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | # 🛠️ DevFactory Contributing Guide 3 | 4 | ## 1. 브랜치 전략 5 | - 기본 브랜치: `main`, `dev` 6 | - 작업 브랜치: `feat/`, `fix/`, `docs/` 등 prefix 사용 7 | - 예시: `feat/login`, `fix/navbar-crash` 8 | - 머지는 `PR(Pull Request)`를 통해 진행 9 | 10 | ## 2. 커밋 메시지 규칙 11 | - [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) 형식 사용 12 | ``` 13 | 14 | │ │ 15 | │ └─⫸ Summary in present tense. Not capitalized. No period at the end. 16 | │ 17 | └─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test 18 | ``` 19 | - Commit type (ex: feat: commit message) 20 | ``` 21 | build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) 22 | ci: Changes to our CI configuration files and scripts (examples: CircleCi, SauceLabs) 23 | docs: Documentation only changes 24 | feat: A new feature 25 | fix: A bug fix 26 | perf: A code change that improves performance 27 | refactor: A code change that neither fixes a bug nor adds a feature 28 | test: Adding missing tests or correcting existing tests 29 | ``` 30 | 31 | ## 3. PR(Pull Request) 규칙 32 | - PR 제목은 작업 목적이 드러나도록 작성 33 | - PR 설명에 **작업 내용**, **관련 이슈**, **스크린샷** 등 포함 34 | - 최소 1명 이상의 리뷰어 승인 후 머지 35 | - 상황에 따라 유동적으로 적용 36 | - 리뷰 후 **본인이 머지 진행** 37 | 38 | ## 4. 코드 품질 39 | - Lint, Test는 PR 전에 반드시 통과 40 | - CI 자동 검사(GitHub Actions 등) 적용 41 | 42 | ## 5. Issue 관리(선택) 43 | - 작업 시작 전 관련 이슈 생성 또는 연결 44 | - 라벨(label) 지정: `bug`, `feature`, `question`, `urgent` 등 45 | - 완료된 이슈는 PR과 함께 자동 닫힘 (`Fixes #이슈번호`) 46 | 47 | ## 6. 보안 및 환경 변수 48 | - `.env` 파일 또는 민감한 정보는 Git에 커밋 금지 49 | - `gitignore`에 포함된 파일 목록 확인 필수 50 | - 필요시 `.env.example` 제공 51 | 52 | 53 | 54 | ## EX) 예시 워크플로우 55 | 1. `dev` 브랜치 최신 상태로부터 작업 브랜치 생성 56 | `git checkout -b feat/search dev` 57 | 58 | 2. 기능 개발 및 커밋 59 | `git commit -m "feat: 검색 기능 구현"` 60 | 61 | 3. 원격 푸시 및 PR 생성 62 | `git push origin feat/search` 63 | 64 | 4. `feat/search` -> `dev` PR 생성 → 리뷰어 지정 → 리뷰 후 머지 65 | `main` 브랜치는 배포용으로만 사용 66 | -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/backend/Dockerfile -------------------------------------------------------------------------------- /book/PseudoLab_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/PseudoLab_logo.png -------------------------------------------------------------------------------- /book/_build/.doctrees/docs/appendix.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/docs/appendix.doctree -------------------------------------------------------------------------------- /book/_build/.doctrees/docs/pr-ground.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/docs/pr-ground.doctree -------------------------------------------------------------------------------- /book/_build/.doctrees/docs/pr-guide.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/docs/pr-guide.doctree -------------------------------------------------------------------------------- /book/_build/.doctrees/docs/pull_request_guide.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/docs/pull_request_guide.doctree -------------------------------------------------------------------------------- /book/_build/.doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/environment.pickle -------------------------------------------------------------------------------- /book/_build/.doctrees/intro.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/.doctrees/intro.doctree -------------------------------------------------------------------------------- /book/_build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 0e99e210533ebb8de57934154e10e184 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step1.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step10.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step2.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step3.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step4.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step5.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step6.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step7.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step8.png -------------------------------------------------------------------------------- /book/_build/html/_images/git-tutorial-step9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/git-tutorial-step9.png -------------------------------------------------------------------------------- /book/_build/html/_images/guide0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/guide0.png -------------------------------------------------------------------------------- /book/_build/html/_images/guide1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/guide1.png -------------------------------------------------------------------------------- /book/_build/html/_images/guide2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/guide2.png -------------------------------------------------------------------------------- /book/_build/html/_images/guide3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/guide3.png -------------------------------------------------------------------------------- /book/_build/html/_images/guide4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_images/guide4.png -------------------------------------------------------------------------------- /book/_build/html/_sources/docs/appendix.md: -------------------------------------------------------------------------------- 1 | # Appendix: -------------------------------------------------------------------------------- /book/_build/html/_sources/docs/pr-ground.md: -------------------------------------------------------------------------------- 1 | # PR을 실습해보세요! 👥 2 | 3 | > [PR 실습 가이드](pr-guide.md)를 참고하여 아래 표에 본인의 간단한 인사와 스터디에 대한 기대를 작성한 후 첫 번째 PR을 생성해 보세요. 4 | 5 | ## Welcome to PseudoLab! 6 | 7 | | 이름 | GitHub | 한줄 인사 | 8 | |-----|--------|-------| 9 | | 김개발 | [@kim-dev](https://github.com/) | 안녕하세요! 개발 중독자 입니다. | 10 | | 김예신 | [@yesinkim](https://github.com/yesinkim) | 반갑습니다. 방가방가 :) | -------------------------------------------------------------------------------- /book/_build/html/_sources/docs/pr-guide.md: -------------------------------------------------------------------------------- 1 | # Github.dev 편집기로 작업하기 🚀 2 | 아래의 가이드를 따라하면서 직접 PR을 올려보아요! 3 | 4 | **실습 가이드** 5 | > 이 가이드는 [DevFactory 리포지토리](https://github.com/Pseudo-Lab/DevFactory)를 fork하여, IDE 환경에서 진행하는 것을 전제로 작성되었습니다.
자세한 fork 방법은 [이 문서](./pull_request_guide.md)를 참고하세요. 6 | 7 | **Github.dev 편집기 실행하기** 8 | 9 | ![Github.dev 편집기 실행하기](../assets/imgs/pratice-guide/guide0.png) 10 | 11 | ## 0. 미리보기 화면 세팅하기 (Optional) 12 | 13 | `book/docs/ground.md` 파일을 열어 참여자 목록 테이블에 자신의 정보를 `markdown`으로 작성해주세요. 14 | 오른쪽 상단의 미리보기 버튼을 클릭하면 작성한 Markdown이 어떻게 보이는지 확인할 수 있습니다. 15 | 16 | ![Markdown 미리보기](../assets/imgs/pratice-guide/guide1.png) 17 | 18 | 19 | 작업화면 오른편에 미리보기 화면이 생겼습니다! 20 | ![미리보기 확인](../assets/imgs/pratice-guide/guide2.png) 21 | 22 | 23 | ## 1. 한줄 인사 작성하기 24 | 아래 양식을 참고해 작성해보세요! 25 | 26 | ```markdown 27 | | 이름 | GitHub | 한줄 인사 | 28 | |-----|--------|-------| 29 | | 김개발 | [@kim-dev](https://github.com/) | 안녕하세요! 개발 중독자 입니다. | 30 | ``` 31 | 32 | 33 | 34 | ## 2. 변경사항 추가하기 35 | 36 | 아래 처럼 변경사항을 작성했습니다. 37 | 1번을 눌러 코드 관리 툴에 접근해 2번 버튼으로 변경 사항을 추가해주세요. 38 | 39 | ![변경사항 커밋](../assets/imgs/pratice-guide/guide3.png) 40 | 41 | ## 4. 커밋 및 푸시하기 42 | ![PR 생성하기](../assets/imgs/pratice-guide/guide4.png) 43 | 44 | 45 | ## 5. Pull Request 생성하기 46 | 47 | GitHub에서 Pull Request를 생성합니다. PR 제목과 내용을 작성하고 'Create pull request' 버튼을 클릭합니다. 48 | 49 | 50 | 51 | > **TIP**
PR 제목은 명확하게, 내용은 상세하게 작성해주세요. 변경사항에 대한 설명과 함께 리뷰어가 이해하기 쉽도록 작성하면 좋습니다. 52 | 53 | -------------------------------------------------------------------------------- /book/_build/html/_sources/docs/pull_request_guide.md: -------------------------------------------------------------------------------- 1 | # Github 파일 편집기로 작업하기 🚀 2 | 3 | ## Pull Request(PR) 소개 4 | 5 | **Pull Request(PR)** 는 오픈소스 프로젝트나 조직의 저장소에 직접적인 수정 권한이 없는 사용자가 변경 사항을 제안하고 반영할 수 있도록 하는 협업 도구입니다. 6 | 7 | 🚀 PR을 사용하는 주요 이유: 8 | - 저장소에 직접적인 쓰기 권한이 없는 경우에도 기여 가능 9 | - 코드 리뷰를 통해 더 나은 품질의 코드 유지 10 | - 여러 기여자가 같은 프로젝트에서 안전하게 협업 가능 11 | 12 | 보통 팀 프로젝트나 오픈소스 프로젝트에서는 직접 코드 변경이 불가능하기 때문에, 13 | PR을 생성하고 관리자의 검토 후 병합(merge)하는 방식으로 기여합니다. 14 | 15 | 📖 이 가이드에서는 스터디 리포지토리에 프로필을 업데이트하는 과정을 통해 PR 사용법을 익혀보겠습니다. 16 | 17 | ## PR을 활용해 스터디 리포지토리 프로필 업데이트 하기 18 | GitHub에서는 저장소에 **직접적인 수정 권한이 없는 경우**, 변경 사항을 적용하려면 **Pull Request(PR)** 를 통해 기여해야 합니다. 19 | 따라서, 스터디 리포지토리에 수정 권한이 없다면 먼저 자신의 GitHub 계정으로 **Fork(포크)** 해야 합니다. 20 | 21 | 45 | ### 1️⃣ 저장소 포크(Fork)하기 46 | 47 | 1. GitHub에서 본인의 스터디 저장소로 이동합니다.
본 가이드에서는 [DevFactory 리포지토리](https://github.com/Pseudo-Lab/DevFactory)를 예시로 사용합니다. 48 | 49 | 2. 본인이 속한 스터디 저장소에서 오른쪽 상단의 **Fork** 버튼을 클릭합니다. 50 | ![](../assets/imgs/git-tutorial/git-tutorial-step1.png) 51 | 52 | 3. **Create fork** 버튼을 클릭합니다. 53 | ![](../assets/imgs/git-tutorial/git-tutorial-step2.png) 54 | 55 | ### 2️⃣ 프로필 내용 추가하기 56 | 1. 포크한 저장소의 최상위 디렉터리에서 [README.md](https://github.com/Pseudo-Lab/DevFactory/blob/main/README.md) 파일을 열고, 프로필에 해당하는 영역을 찾습니다.
57 | 📌 포크가 완료된 저장소는 본인 Github 저장소에 존재합니다.
58 | ![](../assets/imgs/git-tutorial/git-tutorial-step3.png) 59 | 60 | 2. 프로필 코드 한줄을 복사하여 본인 프로필에 맞게 내용을 수정하시면 됩니다.
61 | ![](../assets/imgs/git-tutorial/git-tutorial-step4.png) 62 | 63 | 3. 내용 변경 후 **Commit changes...** 버튼을 클릭합니다.
64 | ![](../assets/imgs/git-tutorial/git-tutorial-step5.png) 65 | 66 | 4. **Badge 추가하기(Option)**
67 | 추가적인 Badge(아이콘)를 생성하려면 [Shields.io](https://shields.io)를 참고하세요.
68 | 이 사이트에서 다양한 스타일의 배지를 만들고, Markdown 형식으로 쉽게 적용할 수 있습니다. 69 | 70 | ### 3️⃣ 변경 사항 스테이징 및 커밋 + 변경 사항을 GitHub에 푸시하기 71 | 1. 아래와 같이 commit 메시지와 설명을 작성하고, **Commit changes** 버튼을 클릭합니다.
72 | ![](../assets/imgs/git-tutorial/git-tutorial-step6.png) 73 | 74 | 2. 커밋 및 Push가 완료되면, Fork한 저장소에서 다음과 같이 내용이 업데이트 됩니다.
75 | ![](../assets/imgs/git-tutorial/git-tutorial-step7.png) 76 | 77 | ### 4️⃣ Pull Request 생성 78 | 1. 현재 변경 사항은 **포크한 저장소**에만 반영된 상태이므로, 원본 저장소에 적용하려면 PR을 생성해야 합니다. 79 | 2. **포크한 저장소**에서 **Contribute** 버튼을 클릭한 후, **Open pull request** 버튼 클릭을 선택하여 PR을 생성합니다.
80 | ![](../assets/imgs/git-tutorial/git-tutorial-step8.png) 81 | 82 | 3. 변경사항에 대한 내용을 간략히 작성한 뒤 **Create pull request** 버튼을 클릭합니다. 83 | ![](../assets/imgs/git-tutorial/git-tutorial-step9.png) 84 | 85 | ### 5️⃣ PR 리뷰 및 업데이트 86 | PR이 생성되면 팀원들이 변경된 내용을 검토하고, 문제가 없으면 승인합니다.
87 | ![](../assets/imgs/git-tutorial/git-tutorial-step10.png) 88 | 89 | ### 6️⃣ Pull Request 병합 90 | PR이 승인되면 다음 단계로 병합할 수 있습니다. 91 | 1. GitHub에서 **Merge Pull Request** 버튼 클릭. 92 | 2. 더 이상 필요하지 않은 경우 브랜치를 삭제합니다. 93 | 94 | 이제 프로필 업데이트가 완료되었습니다! 95 | -------------------------------------------------------------------------------- /book/_build/html/_sources/intro.md: -------------------------------------------------------------------------------- 1 | # PseudoLab Tutorial 2 | 3 | PseudoLab 빌더와 러너를 위한 튜토리얼 페이지입니다. 4 | 다양한 컨텐츠가 업데이트될 예정입니다. 5 | 6 | 튜토리얼 목차는 다음과 같습니다. 7 | 8 | 1. Github 저장소 프로필 업데이트하기
9 | - Github 파일 편집기로 작업하기
10 | - Github.dev 편집기로 작업하기
11 | - 직접해보기 -------------------------------------------------------------------------------- /book/_build/html/_sphinx_design_static/design-tabs.js: -------------------------------------------------------------------------------- 1 | var sd_labels_by_text = {}; 2 | 3 | function ready() { 4 | const li = document.getElementsByClassName("sd-tab-label"); 5 | for (const label of li) { 6 | syncId = label.getAttribute("data-sync-id"); 7 | if (syncId) { 8 | label.onclick = onLabelClick; 9 | if (!sd_labels_by_text[syncId]) { 10 | sd_labels_by_text[syncId] = []; 11 | } 12 | sd_labels_by_text[syncId].push(label); 13 | } 14 | } 15 | } 16 | 17 | function onLabelClick() { 18 | // Activate other inputs with the same sync id. 19 | syncId = this.getAttribute("data-sync-id"); 20 | for (label of sd_labels_by_text[syncId]) { 21 | if (label === this) continue; 22 | label.previousElementSibling.checked = true; 23 | } 24 | window.localStorage.setItem("sphinx-design-last-tab", syncId); 25 | } 26 | 27 | document.addEventListener("DOMContentLoaded", ready, false); 28 | -------------------------------------------------------------------------------- /book/_build/html/_static/PseudoLab_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/PseudoLab_logo.png -------------------------------------------------------------------------------- /book/_build/html/_static/check-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /book/_build/html/_static/copy-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /book/_build/html/_static/copybutton.css: -------------------------------------------------------------------------------- 1 | /* Copy buttons */ 2 | button.copybtn { 3 | position: absolute; 4 | display: flex; 5 | top: .3em; 6 | right: .3em; 7 | width: 1.7em; 8 | height: 1.7em; 9 | opacity: 0; 10 | transition: opacity 0.3s, border .3s, background-color .3s; 11 | user-select: none; 12 | padding: 0; 13 | border: none; 14 | outline: none; 15 | border-radius: 0.4em; 16 | /* The colors that GitHub uses */ 17 | border: #1b1f2426 1px solid; 18 | background-color: #f6f8fa; 19 | color: #57606a; 20 | } 21 | 22 | button.copybtn.success { 23 | border-color: #22863a; 24 | color: #22863a; 25 | } 26 | 27 | button.copybtn svg { 28 | stroke: currentColor; 29 | width: 1.5em; 30 | height: 1.5em; 31 | padding: 0.1em; 32 | } 33 | 34 | div.highlight { 35 | position: relative; 36 | } 37 | 38 | /* Show the copybutton */ 39 | .highlight:hover button.copybtn, button.copybtn.success { 40 | opacity: 1; 41 | } 42 | 43 | .highlight button.copybtn:hover { 44 | background-color: rgb(235, 235, 235); 45 | } 46 | 47 | .highlight button.copybtn:active { 48 | background-color: rgb(187, 187, 187); 49 | } 50 | 51 | /** 52 | * A minimal CSS-only tooltip copied from: 53 | * https://codepen.io/mildrenben/pen/rVBrpK 54 | * 55 | * To use, write HTML like the following: 56 | * 57 | *

Short

58 | */ 59 | .o-tooltip--left { 60 | position: relative; 61 | } 62 | 63 | .o-tooltip--left:after { 64 | opacity: 0; 65 | visibility: hidden; 66 | position: absolute; 67 | content: attr(data-tooltip); 68 | padding: .2em; 69 | font-size: .8em; 70 | left: -.2em; 71 | background: grey; 72 | color: white; 73 | white-space: nowrap; 74 | z-index: 2; 75 | border-radius: 2px; 76 | transform: translateX(-102%) translateY(0); 77 | transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); 78 | } 79 | 80 | .o-tooltip--left:hover:after { 81 | display: block; 82 | opacity: 1; 83 | visibility: visible; 84 | transform: translateX(-100%) translateY(0); 85 | transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); 86 | transition-delay: .5s; 87 | } 88 | 89 | /* By default the copy button shouldn't show up when printing a page */ 90 | @media print { 91 | button.copybtn { 92 | display: none; 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /book/_build/html/_static/copybutton_funcs.js: -------------------------------------------------------------------------------- 1 | function escapeRegExp(string) { 2 | return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string 3 | } 4 | 5 | /** 6 | * Removes excluded text from a Node. 7 | * 8 | * @param {Node} target Node to filter. 9 | * @param {string} exclude CSS selector of nodes to exclude. 10 | * @returns {DOMString} Text from `target` with text removed. 11 | */ 12 | export function filterText(target, exclude) { 13 | const clone = target.cloneNode(true); // clone as to not modify the live DOM 14 | if (exclude) { 15 | // remove excluded nodes 16 | clone.querySelectorAll(exclude).forEach(node => node.remove()); 17 | } 18 | return clone.innerText; 19 | } 20 | 21 | // Callback when a copy button is clicked. Will be passed the node that was clicked 22 | // should then grab the text and replace pieces of text that shouldn't be used in output 23 | export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { 24 | var regexp; 25 | var match; 26 | 27 | // Do we check for line continuation characters and "HERE-documents"? 28 | var useLineCont = !!lineContinuationChar 29 | var useHereDoc = !!hereDocDelim 30 | 31 | // create regexp to capture prompt and remaining line 32 | if (isRegexp) { 33 | regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') 34 | } else { 35 | regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') 36 | } 37 | 38 | const outputLines = []; 39 | var promptFound = false; 40 | var gotLineCont = false; 41 | var gotHereDoc = false; 42 | const lineGotPrompt = []; 43 | for (const line of textContent.split('\n')) { 44 | match = line.match(regexp) 45 | if (match || gotLineCont || gotHereDoc) { 46 | promptFound = regexp.test(line) 47 | lineGotPrompt.push(promptFound) 48 | if (removePrompts && promptFound) { 49 | outputLines.push(match[2]) 50 | } else { 51 | outputLines.push(line) 52 | } 53 | gotLineCont = line.endsWith(lineContinuationChar) & useLineCont 54 | if (line.includes(hereDocDelim) & useHereDoc) 55 | gotHereDoc = !gotHereDoc 56 | } else if (!onlyCopyPromptLines) { 57 | outputLines.push(line) 58 | } else if (copyEmptyLines && line.trim() === '') { 59 | outputLines.push(line) 60 | } 61 | } 62 | 63 | // If no lines with the prompt were found then just use original lines 64 | if (lineGotPrompt.some(v => v === true)) { 65 | textContent = outputLines.join('\n'); 66 | } 67 | 68 | // Remove a trailing newline to avoid auto-running when pasting 69 | if (textContent.endsWith("\n")) { 70 | textContent = textContent.slice(0, -1) 71 | } 72 | return textContent 73 | } 74 | -------------------------------------------------------------------------------- /book/_build/html/_static/design-tabs.js: -------------------------------------------------------------------------------- 1 | var sd_labels_by_text = {}; 2 | 3 | function ready() { 4 | const li = document.getElementsByClassName("sd-tab-label"); 5 | for (const label of li) { 6 | syncId = label.getAttribute("data-sync-id"); 7 | if (syncId) { 8 | label.onclick = onLabelClick; 9 | if (!sd_labels_by_text[syncId]) { 10 | sd_labels_by_text[syncId] = []; 11 | } 12 | sd_labels_by_text[syncId].push(label); 13 | } 14 | } 15 | } 16 | 17 | function onLabelClick() { 18 | // Activate other inputs with the same sync id. 19 | syncId = this.getAttribute("data-sync-id"); 20 | for (label of sd_labels_by_text[syncId]) { 21 | if (label === this) continue; 22 | label.previousElementSibling.checked = true; 23 | } 24 | window.localStorage.setItem("sphinx-design-last-tab", syncId); 25 | } 26 | 27 | document.addEventListener("DOMContentLoaded", ready, false); 28 | -------------------------------------------------------------------------------- /book/_build/html/_static/documentation_options.js: -------------------------------------------------------------------------------- 1 | var DOCUMENTATION_OPTIONS = { 2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), 3 | VERSION: '', 4 | LANGUAGE: 'en', 5 | COLLAPSE_INDEX: false, 6 | BUILDER: 'html', 7 | FILE_SUFFIX: '.html', 8 | LINK_SUFFIX: '.html', 9 | HAS_SOURCE: true, 10 | SOURCELINK_SUFFIX: '', 11 | NAVIGATION_WITH_KEYS: false, 12 | SHOW_SEARCH_SUMMARY: true, 13 | ENABLE_SEARCH_SHORTCUTS: false, 14 | }; -------------------------------------------------------------------------------- /book/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/file.png -------------------------------------------------------------------------------- /book/_build/html/_static/images/logo_binder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | logo 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /book/_build/html/_static/images/logo_colab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/images/logo_colab.png -------------------------------------------------------------------------------- /book/_build/html/_static/images/logo_deepnote.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /book/_build/html/_static/images/logo_jupyterhub.svg: -------------------------------------------------------------------------------- 1 | logo_jupyterhubHub 2 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ar/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ar/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ar/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ar\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "أقترح تحرير" 13 | 14 | msgid "Last updated on" 15 | msgstr "آخر تحديث في" 16 | 17 | msgid "Edit this page" 18 | msgstr "قم بتحرير هذه الصفحة" 19 | 20 | msgid "Launch" 21 | msgstr "إطلاق" 22 | 23 | msgid "Print to PDF" 24 | msgstr "طباعة إلى PDF" 25 | 26 | msgid "open issue" 27 | msgstr "قضية مفتوحة" 28 | 29 | msgid "Download notebook file" 30 | msgstr "تنزيل ملف دفتر الملاحظات" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "تبديل التنقل" 34 | 35 | msgid "Source repository" 36 | msgstr "مستودع المصدر" 37 | 38 | msgid "By the" 39 | msgstr "بواسطة" 40 | 41 | msgid "next page" 42 | msgstr "الصفحة التالية" 43 | 44 | msgid "repository" 45 | msgstr "مخزن" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "موضوع كتاب أبو الهول" 49 | 50 | msgid "Download source file" 51 | msgstr "تنزيل ملف المصدر" 52 | 53 | msgid "Contents" 54 | msgstr "محتويات" 55 | 56 | msgid "By" 57 | msgstr "بواسطة" 58 | 59 | msgid "Copyright" 60 | msgstr "حقوق النشر" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "وضع ملء الشاشة" 64 | 65 | msgid "Open an issue" 66 | msgstr "افتح قضية" 67 | 68 | msgid "previous page" 69 | msgstr "الصفحة السابقة" 70 | 71 | msgid "Download this page" 72 | msgstr "قم بتنزيل هذه الصفحة" 73 | 74 | msgid "Theme by the" 75 | msgstr "موضوع بواسطة" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/bg/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/bg/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/bg/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: bg\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "предложи редактиране" 13 | 14 | msgid "Last updated on" 15 | msgstr "Последна актуализация на" 16 | 17 | msgid "Edit this page" 18 | msgstr "Редактирайте тази страница" 19 | 20 | msgid "Launch" 21 | msgstr "Стартиране" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Печат в PDF" 25 | 26 | msgid "open issue" 27 | msgstr "отворен брой" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Изтеглете файла на бележника" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Превключване на навигацията" 34 | 35 | msgid "Source repository" 36 | msgstr "Хранилище на източника" 37 | 38 | msgid "By the" 39 | msgstr "По" 40 | 41 | msgid "next page" 42 | msgstr "Следваща страница" 43 | 44 | msgid "repository" 45 | msgstr "хранилище" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Тема на книгата Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Изтеглете изходния файл" 52 | 53 | msgid "Contents" 54 | msgstr "Съдържание" 55 | 56 | msgid "By" 57 | msgstr "От" 58 | 59 | msgid "Copyright" 60 | msgstr "Авторско право" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Режим на цял екран" 64 | 65 | msgid "Open an issue" 66 | msgstr "Отворете проблем" 67 | 68 | msgid "previous page" 69 | msgstr "предишна страница" 70 | 71 | msgid "Download this page" 72 | msgstr "Изтеглете тази страница" 73 | 74 | msgid "Theme by the" 75 | msgstr "Тема от" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/bn/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/bn/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/bn/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: bn\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "Last updated on" 12 | msgstr "সর্বশেষ আপডেট" 13 | 14 | msgid "Edit this page" 15 | msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন" 16 | 17 | msgid "Launch" 18 | msgstr "শুরু করা" 19 | 20 | msgid "Print to PDF" 21 | msgstr "পিডিএফ প্রিন্ট করুন" 22 | 23 | msgid "open issue" 24 | msgstr "খোলা সমস্যা" 25 | 26 | msgid "Download notebook file" 27 | msgstr "নোটবুক ফাইল ডাউনলোড করুন" 28 | 29 | msgid "Toggle navigation" 30 | msgstr "নেভিগেশন টগল করুন" 31 | 32 | msgid "Source repository" 33 | msgstr "উত্স সংগ্রহস্থল" 34 | 35 | msgid "By the" 36 | msgstr "দ্বারা" 37 | 38 | msgid "next page" 39 | msgstr "পরবর্তী পৃষ্ঠা" 40 | 41 | msgid "Sphinx Book Theme" 42 | msgstr "স্পিনিক্স বুক থিম" 43 | 44 | msgid "Download source file" 45 | msgstr "উত্স ফাইল ডাউনলোড করুন" 46 | 47 | msgid "By" 48 | msgstr "দ্বারা" 49 | 50 | msgid "Copyright" 51 | msgstr "কপিরাইট" 52 | 53 | msgid "Open an issue" 54 | msgstr "একটি সমস্যা খুলুন" 55 | 56 | msgid "previous page" 57 | msgstr "আগের পৃষ্ঠা" 58 | 59 | msgid "Download this page" 60 | msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন" 61 | 62 | msgid "Theme by the" 63 | msgstr "থিম দ্বারা" 64 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ca/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ca/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ca/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ca\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "suggerir edició" 13 | 14 | msgid "Last updated on" 15 | msgstr "Darrera actualització el" 16 | 17 | msgid "Edit this page" 18 | msgstr "Editeu aquesta pàgina" 19 | 20 | msgid "Launch" 21 | msgstr "Llançament" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Imprimeix a PDF" 25 | 26 | msgid "open issue" 27 | msgstr "número obert" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Descarregar fitxer de quadern" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Commuta la navegació" 34 | 35 | msgid "Source repository" 36 | msgstr "Dipòsit de fonts" 37 | 38 | msgid "By the" 39 | msgstr "Per la" 40 | 41 | msgid "next page" 42 | msgstr "pàgina següent" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "Tema del llibre Esfinx" 46 | 47 | msgid "Download source file" 48 | msgstr "Baixeu el fitxer font" 49 | 50 | msgid "By" 51 | msgstr "Per" 52 | 53 | msgid "Copyright" 54 | msgstr "Copyright" 55 | 56 | msgid "Open an issue" 57 | msgstr "Obriu un número" 58 | 59 | msgid "previous page" 60 | msgstr "Pàgina anterior" 61 | 62 | msgid "Download this page" 63 | msgstr "Descarregueu aquesta pàgina" 64 | 65 | msgid "Theme by the" 66 | msgstr "Tema del" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/cs/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/cs/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/cs/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: cs\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "navrhnout úpravy" 13 | 14 | msgid "Last updated on" 15 | msgstr "Naposledy aktualizováno" 16 | 17 | msgid "Edit this page" 18 | msgstr "Upravit tuto stránku" 19 | 20 | msgid "Launch" 21 | msgstr "Zahájení" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Tisk do PDF" 25 | 26 | msgid "open issue" 27 | msgstr "otevřené číslo" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Stáhnout soubor poznámkového bloku" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Přepnout navigaci" 34 | 35 | msgid "Source repository" 36 | msgstr "Zdrojové úložiště" 37 | 38 | msgid "By the" 39 | msgstr "Podle" 40 | 41 | msgid "next page" 42 | msgstr "další strana" 43 | 44 | msgid "repository" 45 | msgstr "úložiště" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Téma knihy Sfinga" 49 | 50 | msgid "Download source file" 51 | msgstr "Stáhněte si zdrojový soubor" 52 | 53 | msgid "Contents" 54 | msgstr "Obsah" 55 | 56 | msgid "By" 57 | msgstr "Podle" 58 | 59 | msgid "Copyright" 60 | msgstr "autorská práva" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Režim celé obrazovky" 64 | 65 | msgid "Open an issue" 66 | msgstr "Otevřete problém" 67 | 68 | msgid "previous page" 69 | msgstr "předchozí stránka" 70 | 71 | msgid "Download this page" 72 | msgstr "Stáhněte si tuto stránku" 73 | 74 | msgid "Theme by the" 75 | msgstr "Téma od" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/da/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/da/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/da/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: da\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "foreslå redigering" 13 | 14 | msgid "Last updated on" 15 | msgstr "Sidst opdateret den" 16 | 17 | msgid "Edit this page" 18 | msgstr "Rediger denne side" 19 | 20 | msgid "Launch" 21 | msgstr "Start" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Udskriv til PDF" 25 | 26 | msgid "open issue" 27 | msgstr "åbent nummer" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Download notesbog-fil" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Skift navigation" 34 | 35 | msgid "Source repository" 36 | msgstr "Kildelager" 37 | 38 | msgid "By the" 39 | msgstr "Ved" 40 | 41 | msgid "next page" 42 | msgstr "Næste side" 43 | 44 | msgid "repository" 45 | msgstr "lager" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx bogtema" 49 | 50 | msgid "Download source file" 51 | msgstr "Download kildefil" 52 | 53 | msgid "Contents" 54 | msgstr "Indhold" 55 | 56 | msgid "By" 57 | msgstr "Ved" 58 | 59 | msgid "Copyright" 60 | msgstr "ophavsret" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Fuldskærmstilstand" 64 | 65 | msgid "Open an issue" 66 | msgstr "Åbn et problem" 67 | 68 | msgid "previous page" 69 | msgstr "forrige side" 70 | 71 | msgid "Download this page" 72 | msgstr "Download denne side" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema af" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/de/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/de/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/de/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: de\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "vorschlagen zu bearbeiten" 13 | 14 | msgid "Last updated on" 15 | msgstr "Zuletzt aktualisiert am" 16 | 17 | msgid "Edit this page" 18 | msgstr "Bearbeite diese Seite" 19 | 20 | msgid "Launch" 21 | msgstr "Starten" 22 | 23 | msgid "Print to PDF" 24 | msgstr "In PDF drucken" 25 | 26 | msgid "open issue" 27 | msgstr "offenes Thema" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Notebook-Datei herunterladen" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Navigation umschalten" 34 | 35 | msgid "Source repository" 36 | msgstr "Quell-Repository" 37 | 38 | msgid "By the" 39 | msgstr "Bis zum" 40 | 41 | msgid "next page" 42 | msgstr "Nächste Seite" 43 | 44 | msgid "repository" 45 | msgstr "Repository" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx-Buch-Thema" 49 | 50 | msgid "Download source file" 51 | msgstr "Quelldatei herunterladen" 52 | 53 | msgid "Contents" 54 | msgstr "Inhalt" 55 | 56 | msgid "By" 57 | msgstr "Durch" 58 | 59 | msgid "Copyright" 60 | msgstr "Urheberrechte ©" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Vollbildmodus" 64 | 65 | msgid "Open an issue" 66 | msgstr "Öffnen Sie ein Problem" 67 | 68 | msgid "previous page" 69 | msgstr "vorherige Seite" 70 | 71 | msgid "Download this page" 72 | msgstr "Laden Sie diese Seite herunter" 73 | 74 | msgid "Theme by the" 75 | msgstr "Thema von der" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/el/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/el/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/el/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: el\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "προτείνω επεξεργασία" 13 | 14 | msgid "Last updated on" 15 | msgstr "Τελευταία ενημέρωση στις" 16 | 17 | msgid "Edit this page" 18 | msgstr "Επεξεργαστείτε αυτήν τη σελίδα" 19 | 20 | msgid "Launch" 21 | msgstr "Εκτόξευση" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Εκτύπωση σε PDF" 25 | 26 | msgid "open issue" 27 | msgstr "ανοιχτό ζήτημα" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Λήψη αρχείου σημειωματάριου" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Εναλλαγή πλοήγησης" 34 | 35 | msgid "Source repository" 36 | msgstr "Αποθήκη πηγής" 37 | 38 | msgid "By the" 39 | msgstr "Από το" 40 | 41 | msgid "next page" 42 | msgstr "επόμενη σελίδα" 43 | 44 | msgid "repository" 45 | msgstr "αποθήκη" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Θέμα βιβλίου Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Λήψη αρχείου προέλευσης" 52 | 53 | msgid "Contents" 54 | msgstr "Περιεχόμενα" 55 | 56 | msgid "By" 57 | msgstr "Με" 58 | 59 | msgid "Copyright" 60 | msgstr "Πνευματική ιδιοκτησία" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ" 64 | 65 | msgid "Open an issue" 66 | msgstr "Ανοίξτε ένα ζήτημα" 67 | 68 | msgid "previous page" 69 | msgstr "προηγούμενη σελίδα" 70 | 71 | msgid "Download this page" 72 | msgstr "Λήψη αυτής της σελίδας" 73 | 74 | msgid "Theme by the" 75 | msgstr "Θέμα από το" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/eo/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/eo/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/eo/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: eo\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "sugesti redaktadon" 13 | 14 | msgid "Last updated on" 15 | msgstr "Laste ĝisdatigita la" 16 | 17 | msgid "Edit this page" 18 | msgstr "Redaktu ĉi tiun paĝon" 19 | 20 | msgid "Launch" 21 | msgstr "Lanĉo" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Presi al PDF" 25 | 26 | msgid "open issue" 27 | msgstr "malferma numero" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Elŝutu kajeran dosieron" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Ŝalti navigadon" 34 | 35 | msgid "Source repository" 36 | msgstr "Fonto-deponejo" 37 | 38 | msgid "By the" 39 | msgstr "Per la" 40 | 41 | msgid "next page" 42 | msgstr "sekva paĝo" 43 | 44 | msgid "repository" 45 | msgstr "deponejo" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sfinksa Libro-Temo" 49 | 50 | msgid "Download source file" 51 | msgstr "Elŝutu fontodosieron" 52 | 53 | msgid "Contents" 54 | msgstr "Enhavo" 55 | 56 | msgid "By" 57 | msgstr "De" 58 | 59 | msgid "Copyright" 60 | msgstr "Kopirajto" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Plenekrana reĝimo" 64 | 65 | msgid "Open an issue" 66 | msgstr "Malfermu numeron" 67 | 68 | msgid "previous page" 69 | msgstr "antaŭa paĝo" 70 | 71 | msgid "Download this page" 72 | msgstr "Elŝutu ĉi tiun paĝon" 73 | 74 | msgid "Theme by the" 75 | msgstr "Temo de la" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/es/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/es/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/es/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: es\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "sugerir editar" 13 | 14 | msgid "Last updated on" 15 | msgstr "Ultima actualización en" 16 | 17 | msgid "Edit this page" 18 | msgstr "Edita esta página" 19 | 20 | msgid "Launch" 21 | msgstr "Lanzamiento" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Imprimir en PDF" 25 | 26 | msgid "open issue" 27 | msgstr "Tema abierto" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Descargar archivo de cuaderno" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Navegación de palanca" 34 | 35 | msgid "Source repository" 36 | msgstr "Repositorio de origen" 37 | 38 | msgid "By the" 39 | msgstr "Por el" 40 | 41 | msgid "next page" 42 | msgstr "siguiente página" 43 | 44 | msgid "repository" 45 | msgstr "repositorio" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema del libro de la esfinge" 49 | 50 | msgid "Download source file" 51 | msgstr "Descargar archivo fuente" 52 | 53 | msgid "Contents" 54 | msgstr "Contenido" 55 | 56 | msgid "By" 57 | msgstr "Por" 58 | 59 | msgid "Copyright" 60 | msgstr "Derechos de autor" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Modo de pantalla completa" 64 | 65 | msgid "Open an issue" 66 | msgstr "Abrir un problema" 67 | 68 | msgid "previous page" 69 | msgstr "pagina anterior" 70 | 71 | msgid "Download this page" 72 | msgstr "Descarga esta pagina" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema por el" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/et/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/et/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/et/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: et\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "soovita muuta" 13 | 14 | msgid "Last updated on" 15 | msgstr "Viimati uuendatud" 16 | 17 | msgid "Edit this page" 18 | msgstr "Muutke seda lehte" 19 | 20 | msgid "Launch" 21 | msgstr "Käivitage" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Prindi PDF-i" 25 | 26 | msgid "open issue" 27 | msgstr "avatud küsimus" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Laadige sülearvuti fail alla" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Lülita navigeerimine sisse" 34 | 35 | msgid "Source repository" 36 | msgstr "Allikahoidla" 37 | 38 | msgid "By the" 39 | msgstr "Autor" 40 | 41 | msgid "next page" 42 | msgstr "järgmine leht" 43 | 44 | msgid "repository" 45 | msgstr "hoidla" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sfinksiraamatu teema" 49 | 50 | msgid "Download source file" 51 | msgstr "Laadige alla lähtefail" 52 | 53 | msgid "Contents" 54 | msgstr "Sisu" 55 | 56 | msgid "By" 57 | msgstr "Kõrval" 58 | 59 | msgid "Copyright" 60 | msgstr "Autoriõigus" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Täisekraanirežiim" 64 | 65 | msgid "Open an issue" 66 | msgstr "Avage probleem" 67 | 68 | msgid "previous page" 69 | msgstr "eelmine leht" 70 | 71 | msgid "Download this page" 72 | msgstr "Laadige see leht alla" 73 | 74 | msgid "Theme by the" 75 | msgstr "Teema" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/fi/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/fi/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/fi/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: fi\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "ehdottaa muokkausta" 13 | 14 | msgid "Last updated on" 15 | msgstr "Viimeksi päivitetty" 16 | 17 | msgid "Edit this page" 18 | msgstr "Muokkaa tätä sivua" 19 | 20 | msgid "Launch" 21 | msgstr "Tuoda markkinoille" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Tulosta PDF-tiedostoon" 25 | 26 | msgid "open issue" 27 | msgstr "avoin ongelma" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Lataa muistikirjatiedosto" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Vaihda navigointia" 34 | 35 | msgid "Source repository" 36 | msgstr "Lähteen arkisto" 37 | 38 | msgid "By the" 39 | msgstr "Mukaan" 40 | 41 | msgid "next page" 42 | msgstr "seuraava sivu" 43 | 44 | msgid "repository" 45 | msgstr "arkisto" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx-kirjan teema" 49 | 50 | msgid "Download source file" 51 | msgstr "Lataa lähdetiedosto" 52 | 53 | msgid "Contents" 54 | msgstr "Sisällys" 55 | 56 | msgid "By" 57 | msgstr "Tekijä" 58 | 59 | msgid "Copyright" 60 | msgstr "Tekijänoikeus" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Koko näytön tila" 64 | 65 | msgid "Open an issue" 66 | msgstr "Avaa ongelma" 67 | 68 | msgid "previous page" 69 | msgstr "Edellinen sivu" 70 | 71 | msgid "Download this page" 72 | msgstr "Lataa tämä sivu" 73 | 74 | msgid "Theme by the" 75 | msgstr "Teeman tekijä" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/fr/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/fr/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/fr/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: fr\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "suggestion de modification" 13 | 14 | msgid "Last updated on" 15 | msgstr "Dernière mise à jour le" 16 | 17 | msgid "Edit this page" 18 | msgstr "Modifier cette page" 19 | 20 | msgid "Launch" 21 | msgstr "lancement" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Imprimer au format PDF" 25 | 26 | msgid "open issue" 27 | msgstr "signaler un problème" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Télécharger le fichier notebook" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Basculer la navigation" 34 | 35 | msgid "Source repository" 36 | msgstr "Dépôt source" 37 | 38 | msgid "By the" 39 | msgstr "Par le" 40 | 41 | msgid "next page" 42 | msgstr "page suivante" 43 | 44 | msgid "repository" 45 | msgstr "dépôt" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Thème du livre Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Télécharger le fichier source" 52 | 53 | msgid "Contents" 54 | msgstr "Contenu" 55 | 56 | msgid "By" 57 | msgstr "Par" 58 | 59 | msgid "Copyright" 60 | msgstr "droits d'auteur" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Mode plein écran" 64 | 65 | msgid "Open an issue" 66 | msgstr "Ouvrez un problème" 67 | 68 | msgid "previous page" 69 | msgstr "page précédente" 70 | 71 | msgid "Download this page" 72 | msgstr "Téléchargez cette page" 73 | 74 | msgid "Theme by the" 75 | msgstr "Thème par le" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/hr/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/hr/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/hr/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: hr\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "predloži uređivanje" 13 | 14 | msgid "Last updated on" 15 | msgstr "Posljednje ažuriranje:" 16 | 17 | msgid "Edit this page" 18 | msgstr "Uredite ovu stranicu" 19 | 20 | msgid "Launch" 21 | msgstr "Pokrenite" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Ispis u PDF" 25 | 26 | msgid "open issue" 27 | msgstr "otvoreno izdanje" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Preuzmi datoteku bilježnice" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Uključi / isključi navigaciju" 34 | 35 | msgid "Source repository" 36 | msgstr "Izvorno spremište" 37 | 38 | msgid "By the" 39 | msgstr "Od strane" 40 | 41 | msgid "next page" 42 | msgstr "sljedeća stranica" 43 | 44 | msgid "repository" 45 | msgstr "spremište" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema knjige Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Preuzmi izvornu datoteku" 52 | 53 | msgid "Contents" 54 | msgstr "Sadržaj" 55 | 56 | msgid "By" 57 | msgstr "Po" 58 | 59 | msgid "Copyright" 60 | msgstr "Autorska prava" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Način preko cijelog zaslona" 64 | 65 | msgid "Open an issue" 66 | msgstr "Otvorite izdanje" 67 | 68 | msgid "previous page" 69 | msgstr "Prethodna stranica" 70 | 71 | msgid "Download this page" 72 | msgstr "Preuzmite ovu stranicu" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema autora" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/id/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/id/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/id/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: id\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "menyarankan edit" 13 | 14 | msgid "Last updated on" 15 | msgstr "Terakhir diperbarui saat" 16 | 17 | msgid "Edit this page" 18 | msgstr "Edit halaman ini" 19 | 20 | msgid "Launch" 21 | msgstr "Meluncurkan" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Cetak ke PDF" 25 | 26 | msgid "open issue" 27 | msgstr "masalah terbuka" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Unduh file notebook" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Alihkan navigasi" 34 | 35 | msgid "Source repository" 36 | msgstr "Repositori sumber" 37 | 38 | msgid "By the" 39 | msgstr "Oleh" 40 | 41 | msgid "next page" 42 | msgstr "halaman selanjutnya" 43 | 44 | msgid "repository" 45 | msgstr "gudang" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema Buku Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Unduh file sumber" 52 | 53 | msgid "Contents" 54 | msgstr "Isi" 55 | 56 | msgid "By" 57 | msgstr "Oleh" 58 | 59 | msgid "Copyright" 60 | msgstr "hak cipta" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Mode layar penuh" 64 | 65 | msgid "Open an issue" 66 | msgstr "Buka masalah" 67 | 68 | msgid "previous page" 69 | msgstr "halaman sebelumnya" 70 | 71 | msgid "Download this page" 72 | msgstr "Unduh halaman ini" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema oleh" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/it/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/it/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/it/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: it\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "suggerisci modifica" 13 | 14 | msgid "Last updated on" 15 | msgstr "Ultimo aggiornamento il" 16 | 17 | msgid "Edit this page" 18 | msgstr "Modifica questa pagina" 19 | 20 | msgid "Launch" 21 | msgstr "Lanciare" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Stampa in PDF" 25 | 26 | msgid "open issue" 27 | msgstr "questione aperta" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Scarica il file del taccuino" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Attiva / disattiva la navigazione" 34 | 35 | msgid "Source repository" 36 | msgstr "Repository di origine" 37 | 38 | msgid "By the" 39 | msgstr "Dal" 40 | 41 | msgid "next page" 42 | msgstr "pagina successiva" 43 | 44 | msgid "repository" 45 | msgstr "repository" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema del libro della Sfinge" 49 | 50 | msgid "Download source file" 51 | msgstr "Scarica il file sorgente" 52 | 53 | msgid "Contents" 54 | msgstr "Contenuti" 55 | 56 | msgid "By" 57 | msgstr "Di" 58 | 59 | msgid "Copyright" 60 | msgstr "Diritto d'autore" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Modalità schermo intero" 64 | 65 | msgid "Open an issue" 66 | msgstr "Apri un problema" 67 | 68 | msgid "previous page" 69 | msgstr "pagina precedente" 70 | 71 | msgid "Download this page" 72 | msgstr "Scarica questa pagina" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema di" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/iw/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/iw/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/iw/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: iw\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "מציע לערוך" 13 | 14 | msgid "Last updated on" 15 | msgstr "עודכן לאחרונה ב" 16 | 17 | msgid "Edit this page" 18 | msgstr "ערוך דף זה" 19 | 20 | msgid "Launch" 21 | msgstr "לְהַשִׁיק" 22 | 23 | msgid "Print to PDF" 24 | msgstr "הדפס לקובץ PDF" 25 | 26 | msgid "open issue" 27 | msgstr "בעיה פתוחה" 28 | 29 | msgid "Download notebook file" 30 | msgstr "הורד קובץ מחברת" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "החלף ניווט" 34 | 35 | msgid "Source repository" 36 | msgstr "מאגר המקורות" 37 | 38 | msgid "By the" 39 | msgstr "דרך" 40 | 41 | msgid "next page" 42 | msgstr "עמוד הבא" 43 | 44 | msgid "repository" 45 | msgstr "מאגר" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "נושא ספר ספינקס" 49 | 50 | msgid "Download source file" 51 | msgstr "הורד את קובץ המקור" 52 | 53 | msgid "Contents" 54 | msgstr "תוכן" 55 | 56 | msgid "By" 57 | msgstr "על ידי" 58 | 59 | msgid "Copyright" 60 | msgstr "זכויות יוצרים" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "מצב מסך מלא" 64 | 65 | msgid "Open an issue" 66 | msgstr "פתח גיליון" 67 | 68 | msgid "previous page" 69 | msgstr "עמוד קודם" 70 | 71 | msgid "Download this page" 72 | msgstr "הורד דף זה" 73 | 74 | msgid "Theme by the" 75 | msgstr "נושא מאת" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ja/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ja/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ja/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ja\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "編集を提案する" 13 | 14 | msgid "Last updated on" 15 | msgstr "最終更新日" 16 | 17 | msgid "Edit this page" 18 | msgstr "このページを編集" 19 | 20 | msgid "Launch" 21 | msgstr "起動" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDFに印刷" 25 | 26 | msgid "open issue" 27 | msgstr "未解決の問題" 28 | 29 | msgid "Download notebook file" 30 | msgstr "ノートブックファイルをダウンロード" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "ナビゲーションを切り替え" 34 | 35 | msgid "Source repository" 36 | msgstr "ソースリポジトリ" 37 | 38 | msgid "By the" 39 | msgstr "によって" 40 | 41 | msgid "next page" 42 | msgstr "次のページ" 43 | 44 | msgid "repository" 45 | msgstr "リポジトリ" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "スフィンクスの本のテーマ" 49 | 50 | msgid "Download source file" 51 | msgstr "ソースファイルをダウンロード" 52 | 53 | msgid "Contents" 54 | msgstr "目次" 55 | 56 | msgid "By" 57 | msgstr "著者" 58 | 59 | msgid "Copyright" 60 | msgstr "Copyright" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "全画面モード" 64 | 65 | msgid "Open an issue" 66 | msgstr "問題を報告" 67 | 68 | msgid "previous page" 69 | msgstr "前のページ" 70 | 71 | msgid "Download this page" 72 | msgstr "このページをダウンロード" 73 | 74 | msgid "Theme by the" 75 | msgstr "のテーマ" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ko/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ko/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ko/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ko\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "편집 제안" 13 | 14 | msgid "Last updated on" 15 | msgstr "마지막 업데이트" 16 | 17 | msgid "Edit this page" 18 | msgstr "이 페이지 편집" 19 | 20 | msgid "Launch" 21 | msgstr "시작하다" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDF로 인쇄" 25 | 26 | msgid "open issue" 27 | msgstr "열린 문제" 28 | 29 | msgid "Download notebook file" 30 | msgstr "노트북 파일 다운로드" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "탐색 전환" 34 | 35 | msgid "Source repository" 36 | msgstr "소스 저장소" 37 | 38 | msgid "By the" 39 | msgstr "에 의해" 40 | 41 | msgid "next page" 42 | msgstr "다음 페이지" 43 | 44 | msgid "repository" 45 | msgstr "저장소" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "스핑크스 도서 테마" 49 | 50 | msgid "Download source file" 51 | msgstr "소스 파일 다운로드" 52 | 53 | msgid "Contents" 54 | msgstr "내용" 55 | 56 | msgid "By" 57 | msgstr "으로" 58 | 59 | msgid "Copyright" 60 | msgstr "저작권" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "전체 화면으로보기" 64 | 65 | msgid "Open an issue" 66 | msgstr "이슈 열기" 67 | 68 | msgid "previous page" 69 | msgstr "이전 페이지" 70 | 71 | msgid "Download this page" 72 | msgstr "이 페이지 다운로드" 73 | 74 | msgid "Theme by the" 75 | msgstr "테마별" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/lt/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/lt/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/lt/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: lt\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "pasiūlyti redaguoti" 13 | 14 | msgid "Last updated on" 15 | msgstr "Paskutinį kartą atnaujinta" 16 | 17 | msgid "Edit this page" 18 | msgstr "Redaguoti šį puslapį" 19 | 20 | msgid "Launch" 21 | msgstr "Paleiskite" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Spausdinti į PDF" 25 | 26 | msgid "open issue" 27 | msgstr "atviras klausimas" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Atsisiųsti nešiojamojo kompiuterio failą" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Perjungti naršymą" 34 | 35 | msgid "Source repository" 36 | msgstr "Šaltinio saugykla" 37 | 38 | msgid "By the" 39 | msgstr "Prie" 40 | 41 | msgid "next page" 42 | msgstr "Kitas puslapis" 43 | 44 | msgid "repository" 45 | msgstr "saugykla" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sfinkso knygos tema" 49 | 50 | msgid "Download source file" 51 | msgstr "Atsisiųsti šaltinio failą" 52 | 53 | msgid "Contents" 54 | msgstr "Turinys" 55 | 56 | msgid "By" 57 | msgstr "Iki" 58 | 59 | msgid "Copyright" 60 | msgstr "Autorių teisės" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Pilno ekrano režimas" 64 | 65 | msgid "Open an issue" 66 | msgstr "Atidarykite problemą" 67 | 68 | msgid "previous page" 69 | msgstr "Ankstesnis puslapis" 70 | 71 | msgid "Download this page" 72 | msgstr "Atsisiųskite šį puslapį" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/lv/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/lv/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/lv/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: lv\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "ieteikt rediģēt" 13 | 14 | msgid "Last updated on" 15 | msgstr "Pēdējoreiz atjaunināts" 16 | 17 | msgid "Edit this page" 18 | msgstr "Rediģēt šo lapu" 19 | 20 | msgid "Launch" 21 | msgstr "Uzsākt" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Drukāt PDF formātā" 25 | 26 | msgid "open issue" 27 | msgstr "atklāts jautājums" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Lejupielādēt piezīmju grāmatiņu" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Pārslēgt navigāciju" 34 | 35 | msgid "Source repository" 36 | msgstr "Avota krātuve" 37 | 38 | msgid "By the" 39 | msgstr "Ar" 40 | 41 | msgid "next page" 42 | msgstr "nākamā lapaspuse" 43 | 44 | msgid "repository" 45 | msgstr "krātuve" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sfinksa grāmatas tēma" 49 | 50 | msgid "Download source file" 51 | msgstr "Lejupielādēt avota failu" 52 | 53 | msgid "Contents" 54 | msgstr "Saturs" 55 | 56 | msgid "By" 57 | msgstr "Autors" 58 | 59 | msgid "Copyright" 60 | msgstr "Autortiesības" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Pilnekrāna režīms" 64 | 65 | msgid "Open an issue" 66 | msgstr "Atveriet problēmu" 67 | 68 | msgid "previous page" 69 | msgstr "iepriekšējā lapa" 70 | 71 | msgid "Download this page" 72 | msgstr "Lejupielādējiet šo lapu" 73 | 74 | msgid "Theme by the" 75 | msgstr "Autora tēma" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ml/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ml/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ml/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ml\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "എഡിറ്റുചെയ്യാൻ നിർദ്ദേശിക്കുക" 13 | 14 | msgid "Last updated on" 15 | msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്" 16 | 17 | msgid "Edit this page" 18 | msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക" 19 | 20 | msgid "Launch" 21 | msgstr "സമാരംഭിക്കുക" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക" 25 | 26 | msgid "open issue" 27 | msgstr "തുറന്ന പ്രശ്നം" 28 | 29 | msgid "Download notebook file" 30 | msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക" 34 | 35 | msgid "Source repository" 36 | msgstr "ഉറവിട ശേഖരം" 37 | 38 | msgid "By the" 39 | msgstr "എഴുതിയത്" 40 | 41 | msgid "next page" 42 | msgstr "അടുത്ത പേജ്" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം" 46 | 47 | msgid "Download source file" 48 | msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക" 49 | 50 | msgid "By" 51 | msgstr "എഴുതിയത്" 52 | 53 | msgid "Copyright" 54 | msgstr "പകർപ്പവകാശം" 55 | 56 | msgid "Open an issue" 57 | msgstr "ഒരു പ്രശ്നം തുറക്കുക" 58 | 59 | msgid "previous page" 60 | msgstr "മുൻപത്തെ താൾ" 61 | 62 | msgid "Download this page" 63 | msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക" 64 | 65 | msgid "Theme by the" 66 | msgstr "പ്രമേയം" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/mr/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/mr/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/mr/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: mr\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "संपादन सुचवा" 13 | 14 | msgid "Last updated on" 15 | msgstr "अखेरचे अद्यतनित" 16 | 17 | msgid "Edit this page" 18 | msgstr "हे पृष्ठ संपादित करा" 19 | 20 | msgid "Launch" 21 | msgstr "लाँच करा" 22 | 23 | msgid "Print to PDF" 24 | msgstr "पीडीएफवर मुद्रित करा" 25 | 26 | msgid "open issue" 27 | msgstr "खुला मुद्दा" 28 | 29 | msgid "Download notebook file" 30 | msgstr "नोटबुक फाईल डाउनलोड करा" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "नेव्हिगेशन टॉगल करा" 34 | 35 | msgid "Source repository" 36 | msgstr "स्त्रोत भांडार" 37 | 38 | msgid "By the" 39 | msgstr "द्वारा" 40 | 41 | msgid "next page" 42 | msgstr "पुढील पृष्ठ" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "स्फिंक्स बुक थीम" 46 | 47 | msgid "Download source file" 48 | msgstr "स्त्रोत फाइल डाउनलोड करा" 49 | 50 | msgid "By" 51 | msgstr "द्वारा" 52 | 53 | msgid "Copyright" 54 | msgstr "कॉपीराइट" 55 | 56 | msgid "Open an issue" 57 | msgstr "एक मुद्दा उघडा" 58 | 59 | msgid "previous page" 60 | msgstr "मागील पान" 61 | 62 | msgid "Download this page" 63 | msgstr "हे पृष्ठ डाउनलोड करा" 64 | 65 | msgid "Theme by the" 66 | msgstr "द्वारा थीम" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ms/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ms/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ms/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ms\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "cadangkan edit" 13 | 14 | msgid "Last updated on" 15 | msgstr "Terakhir dikemas kini pada" 16 | 17 | msgid "Edit this page" 18 | msgstr "Edit halaman ini" 19 | 20 | msgid "Launch" 21 | msgstr "Lancarkan" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Cetak ke PDF" 25 | 26 | msgid "open issue" 27 | msgstr "isu terbuka" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Muat turun fail buku nota" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Togol navigasi" 34 | 35 | msgid "Source repository" 36 | msgstr "Repositori sumber" 37 | 38 | msgid "By the" 39 | msgstr "Oleh" 40 | 41 | msgid "next page" 42 | msgstr "muka surat seterusnya" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "Tema Buku Sphinx" 46 | 47 | msgid "Download source file" 48 | msgstr "Muat turun fail sumber" 49 | 50 | msgid "By" 51 | msgstr "Oleh" 52 | 53 | msgid "Copyright" 54 | msgstr "hak cipta" 55 | 56 | msgid "Open an issue" 57 | msgstr "Buka masalah" 58 | 59 | msgid "previous page" 60 | msgstr "halaman sebelumnya" 61 | 62 | msgid "Download this page" 63 | msgstr "Muat turun halaman ini" 64 | 65 | msgid "Theme by the" 66 | msgstr "Tema oleh" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/nl/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/nl/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/nl/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: nl\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "suggereren bewerken" 13 | 14 | msgid "Last updated on" 15 | msgstr "Laatst geupdate op" 16 | 17 | msgid "Edit this page" 18 | msgstr "bewerk deze pagina" 19 | 20 | msgid "Launch" 21 | msgstr "Lancering" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Afdrukken naar pdf" 25 | 26 | msgid "open issue" 27 | msgstr "open probleem" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Download notebookbestand" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Schakel navigatie" 34 | 35 | msgid "Source repository" 36 | msgstr "Bronopslagplaats" 37 | 38 | msgid "By the" 39 | msgstr "Door de" 40 | 41 | msgid "next page" 42 | msgstr "volgende bladzijde" 43 | 44 | msgid "repository" 45 | msgstr "repository" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx-boekthema" 49 | 50 | msgid "Download source file" 51 | msgstr "Download het bronbestand" 52 | 53 | msgid "Contents" 54 | msgstr "Inhoud" 55 | 56 | msgid "By" 57 | msgstr "Door" 58 | 59 | msgid "Copyright" 60 | msgstr "auteursrechten" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Volledig scherm" 64 | 65 | msgid "Open an issue" 66 | msgstr "Open een probleem" 67 | 68 | msgid "previous page" 69 | msgstr "vorige pagina" 70 | 71 | msgid "Download this page" 72 | msgstr "Download deze pagina" 73 | 74 | msgid "Theme by the" 75 | msgstr "Thema door de" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/no/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/no/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/no/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: no\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "foreslå redigering" 13 | 14 | msgid "Last updated on" 15 | msgstr "Sist oppdatert den" 16 | 17 | msgid "Edit this page" 18 | msgstr "Rediger denne siden" 19 | 20 | msgid "Launch" 21 | msgstr "Start" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Skriv ut til PDF" 25 | 26 | msgid "open issue" 27 | msgstr "åpent nummer" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Last ned notatbokfilen" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Bytt navigasjon" 34 | 35 | msgid "Source repository" 36 | msgstr "Kildedepot" 37 | 38 | msgid "By the" 39 | msgstr "Ved" 40 | 41 | msgid "next page" 42 | msgstr "neste side" 43 | 44 | msgid "repository" 45 | msgstr "oppbevaringssted" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx boktema" 49 | 50 | msgid "Download source file" 51 | msgstr "Last ned kildefilen" 52 | 53 | msgid "Contents" 54 | msgstr "Innhold" 55 | 56 | msgid "By" 57 | msgstr "Av" 58 | 59 | msgid "Copyright" 60 | msgstr "opphavsrett" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Fullskjerm-modus" 64 | 65 | msgid "Open an issue" 66 | msgstr "Åpne et problem" 67 | 68 | msgid "previous page" 69 | msgstr "forrige side" 70 | 71 | msgid "Download this page" 72 | msgstr "Last ned denne siden" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema av" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/pl/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/pl/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/pl/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: pl\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "zaproponuj edycję" 13 | 14 | msgid "Last updated on" 15 | msgstr "Ostatnia aktualizacja" 16 | 17 | msgid "Edit this page" 18 | msgstr "Edytuj tę strone" 19 | 20 | msgid "Launch" 21 | msgstr "Uruchomić" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Drukuj do PDF" 25 | 26 | msgid "open issue" 27 | msgstr "otwarty problem" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Pobierz plik notatnika" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Przełącz nawigację" 34 | 35 | msgid "Source repository" 36 | msgstr "Repozytorium źródłowe" 37 | 38 | msgid "By the" 39 | msgstr "Przez" 40 | 41 | msgid "next page" 42 | msgstr "Następna strona" 43 | 44 | msgid "repository" 45 | msgstr "magazyn" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Motyw książki Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Pobierz plik źródłowy" 52 | 53 | msgid "Contents" 54 | msgstr "Zawartość" 55 | 56 | msgid "By" 57 | msgstr "Przez" 58 | 59 | msgid "Copyright" 60 | msgstr "prawa autorskie" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Pełny ekran" 64 | 65 | msgid "Open an issue" 66 | msgstr "Otwórz problem" 67 | 68 | msgid "previous page" 69 | msgstr "Poprzednia strona" 70 | 71 | msgid "Download this page" 72 | msgstr "Pobierz tę stronę" 73 | 74 | msgid "Theme by the" 75 | msgstr "Motyw autorstwa" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/pt/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/pt/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/pt/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: pt\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "sugerir edição" 13 | 14 | msgid "Last updated on" 15 | msgstr "Última atualização em" 16 | 17 | msgid "Edit this page" 18 | msgstr "Edite essa página" 19 | 20 | msgid "Launch" 21 | msgstr "Lançamento" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Imprimir em PDF" 25 | 26 | msgid "open issue" 27 | msgstr "questão aberta" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Baixar arquivo de notebook" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Alternar de navegação" 34 | 35 | msgid "Source repository" 36 | msgstr "Repositório fonte" 37 | 38 | msgid "By the" 39 | msgstr "Pelo" 40 | 41 | msgid "next page" 42 | msgstr "próxima página" 43 | 44 | msgid "repository" 45 | msgstr "repositório" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema do livro Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Baixar arquivo fonte" 52 | 53 | msgid "Contents" 54 | msgstr "Conteúdo" 55 | 56 | msgid "By" 57 | msgstr "De" 58 | 59 | msgid "Copyright" 60 | msgstr "direito autoral" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Modo tela cheia" 64 | 65 | msgid "Open an issue" 66 | msgstr "Abra um problema" 67 | 68 | msgid "previous page" 69 | msgstr "página anterior" 70 | 71 | msgid "Download this page" 72 | msgstr "Baixe esta página" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema por" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ro/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ro/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ro/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ro\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "sugerează editare" 13 | 14 | msgid "Last updated on" 15 | msgstr "Ultima actualizare la" 16 | 17 | msgid "Edit this page" 18 | msgstr "Editați această pagină" 19 | 20 | msgid "Launch" 21 | msgstr "Lansa" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Imprimați în PDF" 25 | 26 | msgid "open issue" 27 | msgstr "problema deschisă" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Descărcați fișierul notebook" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Comutare navigare" 34 | 35 | msgid "Source repository" 36 | msgstr "Depozit sursă" 37 | 38 | msgid "By the" 39 | msgstr "Langa" 40 | 41 | msgid "next page" 42 | msgstr "pagina următoare" 43 | 44 | msgid "repository" 45 | msgstr "repertoriu" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema Sphinx Book" 49 | 50 | msgid "Download source file" 51 | msgstr "Descărcați fișierul sursă" 52 | 53 | msgid "Contents" 54 | msgstr "Cuprins" 55 | 56 | msgid "By" 57 | msgstr "De" 58 | 59 | msgid "Copyright" 60 | msgstr "Drepturi de autor" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Modul ecran întreg" 64 | 65 | msgid "Open an issue" 66 | msgstr "Deschideți o problemă" 67 | 68 | msgid "previous page" 69 | msgstr "pagina anterioară" 70 | 71 | msgid "Download this page" 72 | msgstr "Descarcă această pagină" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema de" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ru/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ru/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ru/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ru\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "предложить редактировать" 13 | 14 | msgid "Last updated on" 15 | msgstr "Последнее обновление" 16 | 17 | msgid "Edit this page" 18 | msgstr "Редактировать эту страницу" 19 | 20 | msgid "Launch" 21 | msgstr "Запуск" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Распечатать в PDF" 25 | 26 | msgid "open issue" 27 | msgstr "открытый вопрос" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Скачать файл записной книжки" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Переключить навигацию" 34 | 35 | msgid "Source repository" 36 | msgstr "Исходный репозиторий" 37 | 38 | msgid "By the" 39 | msgstr "Посредством" 40 | 41 | msgid "next page" 42 | msgstr "Следующая страница" 43 | 44 | msgid "repository" 45 | msgstr "хранилище" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Тема книги Сфинкс" 49 | 50 | msgid "Download source file" 51 | msgstr "Скачать исходный файл" 52 | 53 | msgid "Contents" 54 | msgstr "Содержание" 55 | 56 | msgid "By" 57 | msgstr "По" 58 | 59 | msgid "Copyright" 60 | msgstr "авторское право" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Полноэкранный режим" 64 | 65 | msgid "Open an issue" 66 | msgstr "Открыть вопрос" 67 | 68 | msgid "previous page" 69 | msgstr "Предыдущая страница" 70 | 71 | msgid "Download this page" 72 | msgstr "Загрузите эту страницу" 73 | 74 | msgid "Theme by the" 75 | msgstr "Тема от" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sk/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/sk/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sk/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: sk\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "navrhnúť úpravu" 13 | 14 | msgid "Last updated on" 15 | msgstr "Posledná aktualizácia dňa" 16 | 17 | msgid "Edit this page" 18 | msgstr "Upraviť túto stránku" 19 | 20 | msgid "Launch" 21 | msgstr "Spustiť" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Tlač do PDF" 25 | 26 | msgid "open issue" 27 | msgstr "otvorené vydanie" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Stiahnite si zošit" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Prepnúť navigáciu" 34 | 35 | msgid "Source repository" 36 | msgstr "Zdrojové úložisko" 37 | 38 | msgid "By the" 39 | msgstr "Podľa" 40 | 41 | msgid "next page" 42 | msgstr "ďalšia strana" 43 | 44 | msgid "repository" 45 | msgstr "Úložisko" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Téma knihy Sfinga" 49 | 50 | msgid "Download source file" 51 | msgstr "Stiahnite si zdrojový súbor" 52 | 53 | msgid "Contents" 54 | msgstr "Obsah" 55 | 56 | msgid "By" 57 | msgstr "Autor:" 58 | 59 | msgid "Copyright" 60 | msgstr "Autorské práva" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Režim celej obrazovky" 64 | 65 | msgid "Open an issue" 66 | msgstr "Otvorte problém" 67 | 68 | msgid "previous page" 69 | msgstr "predchádzajúca strana" 70 | 71 | msgid "Download this page" 72 | msgstr "Stiahnite si túto stránku" 73 | 74 | msgid "Theme by the" 75 | msgstr "Téma od" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sl/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/sl/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sl/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: sl\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "predlagajte urejanje" 13 | 14 | msgid "Last updated on" 15 | msgstr "Nazadnje posodobljeno dne" 16 | 17 | msgid "Edit this page" 18 | msgstr "Uredite to stran" 19 | 20 | msgid "Launch" 21 | msgstr "Kosilo" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Natisni v PDF" 25 | 26 | msgid "open issue" 27 | msgstr "odprto vprašanje" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Prenesite datoteko zvezka" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Preklopi navigacijo" 34 | 35 | msgid "Source repository" 36 | msgstr "Izvorno skladišče" 37 | 38 | msgid "By the" 39 | msgstr "Avtor" 40 | 41 | msgid "next page" 42 | msgstr "Naslednja stran" 43 | 44 | msgid "repository" 45 | msgstr "odlagališče" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Tema knjige Sphinx" 49 | 50 | msgid "Download source file" 51 | msgstr "Prenesite izvorno datoteko" 52 | 53 | msgid "Contents" 54 | msgstr "Vsebina" 55 | 56 | msgid "By" 57 | msgstr "Avtor" 58 | 59 | msgid "Copyright" 60 | msgstr "avtorske pravice" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Celozaslonski način" 64 | 65 | msgid "Open an issue" 66 | msgstr "Odprite številko" 67 | 68 | msgid "previous page" 69 | msgstr "Prejšnja stran" 70 | 71 | msgid "Download this page" 72 | msgstr "Prenesite to stran" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema avtorja" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sr/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/sr/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sr/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: sr\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "предложи уређивање" 13 | 14 | msgid "Last updated on" 15 | msgstr "Последње ажурирање" 16 | 17 | msgid "Edit this page" 18 | msgstr "Уредите ову страницу" 19 | 20 | msgid "Launch" 21 | msgstr "Лансирање" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Испис у ПДФ" 25 | 26 | msgid "open issue" 27 | msgstr "отворено издање" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Преузмите датотеку бележнице" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Укључи / искључи навигацију" 34 | 35 | msgid "Source repository" 36 | msgstr "Изворно спремиште" 37 | 38 | msgid "By the" 39 | msgstr "Од" 40 | 41 | msgid "next page" 42 | msgstr "Следећа страна" 43 | 44 | msgid "repository" 45 | msgstr "спремиште" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Тема књиге Спхинк" 49 | 50 | msgid "Download source file" 51 | msgstr "Преузми изворну датотеку" 52 | 53 | msgid "Contents" 54 | msgstr "Садржај" 55 | 56 | msgid "By" 57 | msgstr "Од стране" 58 | 59 | msgid "Copyright" 60 | msgstr "Ауторско право" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Режим целог екрана" 64 | 65 | msgid "Open an issue" 66 | msgstr "Отворите издање" 67 | 68 | msgid "previous page" 69 | msgstr "Претходна страница" 70 | 71 | msgid "Download this page" 72 | msgstr "Преузмите ову страницу" 73 | 74 | msgid "Theme by the" 75 | msgstr "Тхеме би" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sv/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/sv/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/sv/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: sv\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "föreslå redigering" 13 | 14 | msgid "Last updated on" 15 | msgstr "Senast uppdaterad den" 16 | 17 | msgid "Edit this page" 18 | msgstr "Redigera den här sidan" 19 | 20 | msgid "Launch" 21 | msgstr "Lansera" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Skriv ut till PDF" 25 | 26 | msgid "open issue" 27 | msgstr "öppet problem" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Ladda ner anteckningsbokfilen" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Växla navigering" 34 | 35 | msgid "Source repository" 36 | msgstr "Källförvar" 37 | 38 | msgid "By the" 39 | msgstr "Vid" 40 | 41 | msgid "next page" 42 | msgstr "nästa sida" 43 | 44 | msgid "repository" 45 | msgstr "förvar" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx boktema" 49 | 50 | msgid "Download source file" 51 | msgstr "Ladda ner källfil" 52 | 53 | msgid "Contents" 54 | msgstr "Innehåll" 55 | 56 | msgid "By" 57 | msgstr "Förbi" 58 | 59 | msgid "Copyright" 60 | msgstr "upphovsrätt" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Fullskärmsläge" 64 | 65 | msgid "Open an issue" 66 | msgstr "Öppna ett problem" 67 | 68 | msgid "previous page" 69 | msgstr "föregående sida" 70 | 71 | msgid "Download this page" 72 | msgstr "Ladda ner den här sidan" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tema av" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ta/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ta/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ta/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ta\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "திருத்த பரிந்துரைக்கவும்" 13 | 14 | msgid "Last updated on" 15 | msgstr "கடைசியாக புதுப்பிக்கப்பட்டது" 16 | 17 | msgid "Edit this page" 18 | msgstr "இந்தப் பக்கத்தைத் திருத்தவும்" 19 | 20 | msgid "Launch" 21 | msgstr "தொடங்க" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDF இல் அச்சிடுக" 25 | 26 | msgid "open issue" 27 | msgstr "திறந்த பிரச்சினை" 28 | 29 | msgid "Download notebook file" 30 | msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "வழிசெலுத்தலை நிலைமாற்று" 34 | 35 | msgid "Source repository" 36 | msgstr "மூல களஞ்சியம்" 37 | 38 | msgid "By the" 39 | msgstr "மூலம்" 40 | 41 | msgid "next page" 42 | msgstr "அடுத்த பக்கம்" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்" 46 | 47 | msgid "Download source file" 48 | msgstr "மூல கோப்பைப் பதிவிறக்குக" 49 | 50 | msgid "By" 51 | msgstr "வழங்கியவர்" 52 | 53 | msgid "Copyright" 54 | msgstr "பதிப்புரிமை" 55 | 56 | msgid "Open an issue" 57 | msgstr "சிக்கலைத் திறக்கவும்" 58 | 59 | msgid "previous page" 60 | msgstr "முந்தைய பக்கம்" 61 | 62 | msgid "Download this page" 63 | msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்" 64 | 65 | msgid "Theme by the" 66 | msgstr "வழங்கிய தீம்" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/te/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/te/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/te/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: te\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "సవరించమని సూచించండి" 13 | 14 | msgid "Last updated on" 15 | msgstr "చివరిగా నవీకరించబడింది" 16 | 17 | msgid "Edit this page" 18 | msgstr "ఈ పేజీని సవరించండి" 19 | 20 | msgid "Launch" 21 | msgstr "ప్రారంభించండి" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDF కి ముద్రించండి" 25 | 26 | msgid "open issue" 27 | msgstr "ఓపెన్ ఇష్యూ" 28 | 29 | msgid "Download notebook file" 30 | msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "నావిగేషన్‌ను టోగుల్ చేయండి" 34 | 35 | msgid "Source repository" 36 | msgstr "మూల రిపోజిటరీ" 37 | 38 | msgid "By the" 39 | msgstr "ద్వారా" 40 | 41 | msgid "next page" 42 | msgstr "తరువాతి పేజీ" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "సింహిక పుస్తక థీమ్" 46 | 47 | msgid "Download source file" 48 | msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి" 49 | 50 | msgid "By" 51 | msgstr "ద్వారా" 52 | 53 | msgid "Copyright" 54 | msgstr "కాపీరైట్" 55 | 56 | msgid "Open an issue" 57 | msgstr "సమస్యను తెరవండి" 58 | 59 | msgid "previous page" 60 | msgstr "ముందు పేజి" 61 | 62 | msgid "Download this page" 63 | msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి" 64 | 65 | msgid "Theme by the" 66 | msgstr "ద్వారా థీమ్" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tg/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/tg/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tg/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: tg\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "пешниҳод вироиш" 13 | 14 | msgid "Last updated on" 15 | msgstr "Last навсозӣ дар" 16 | 17 | msgid "Edit this page" 18 | msgstr "Ин саҳифаро таҳрир кунед" 19 | 20 | msgid "Launch" 21 | msgstr "Оғоз" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Чоп ба PDF" 25 | 26 | msgid "open issue" 27 | msgstr "барориши кушод" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Файли дафтарро зеркашӣ кунед" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Гузаришро иваз кунед" 34 | 35 | msgid "Source repository" 36 | msgstr "Анбори манбаъ" 37 | 38 | msgid "By the" 39 | msgstr "Бо" 40 | 41 | msgid "next page" 42 | msgstr "саҳифаи оянда" 43 | 44 | msgid "repository" 45 | msgstr "анбор" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Сфинкс Мавзӯи китоб" 49 | 50 | msgid "Download source file" 51 | msgstr "Файли манбаъро зеркашӣ кунед" 52 | 53 | msgid "Contents" 54 | msgstr "Мундариҷа" 55 | 56 | msgid "By" 57 | msgstr "Бо" 58 | 59 | msgid "Copyright" 60 | msgstr "Ҳуқуқи муаллиф" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Ҳолати экрани пурра" 64 | 65 | msgid "Open an issue" 66 | msgstr "Масъаларо кушоед" 67 | 68 | msgid "previous page" 69 | msgstr "саҳифаи қаблӣ" 70 | 71 | msgid "Download this page" 72 | msgstr "Ин саҳифаро зеркашӣ кунед" 73 | 74 | msgid "Theme by the" 75 | msgstr "Мавзӯъи аз" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/th/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/th/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/th/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: th\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "แนะนำแก้ไข" 13 | 14 | msgid "Last updated on" 15 | msgstr "ปรับปรุงล่าสุดเมื่อ" 16 | 17 | msgid "Edit this page" 18 | msgstr "แก้ไขหน้านี้" 19 | 20 | msgid "Launch" 21 | msgstr "เปิด" 22 | 23 | msgid "Print to PDF" 24 | msgstr "พิมพ์เป็น PDF" 25 | 26 | msgid "open issue" 27 | msgstr "เปิดปัญหา" 28 | 29 | msgid "Download notebook file" 30 | msgstr "ดาวน์โหลดไฟล์สมุดบันทึก" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "ไม่ต้องสลับช่องทาง" 34 | 35 | msgid "Source repository" 36 | msgstr "ที่เก็บซอร์ส" 37 | 38 | msgid "By the" 39 | msgstr "โดย" 40 | 41 | msgid "next page" 42 | msgstr "หน้าต่อไป" 43 | 44 | msgid "repository" 45 | msgstr "ที่เก็บ" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "ธีมหนังสือสฟิงซ์" 49 | 50 | msgid "Download source file" 51 | msgstr "ดาวน์โหลดไฟล์ต้นฉบับ" 52 | 53 | msgid "Contents" 54 | msgstr "สารบัญ" 55 | 56 | msgid "By" 57 | msgstr "โดย" 58 | 59 | msgid "Copyright" 60 | msgstr "ลิขสิทธิ์" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "โหมดเต็มหน้าจอ" 64 | 65 | msgid "Open an issue" 66 | msgstr "เปิดปัญหา" 67 | 68 | msgid "previous page" 69 | msgstr "หน้าที่แล้ว" 70 | 71 | msgid "Download this page" 72 | msgstr "ดาวน์โหลดหน้านี้" 73 | 74 | msgid "Theme by the" 75 | msgstr "ธีมโดย" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tl/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/tl/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tl/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: tl\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "iminumungkahi i-edit" 13 | 14 | msgid "Last updated on" 15 | msgstr "Huling na-update noong" 16 | 17 | msgid "Edit this page" 18 | msgstr "I-edit ang pahinang ito" 19 | 20 | msgid "Launch" 21 | msgstr "Ilunsad" 22 | 23 | msgid "Print to PDF" 24 | msgstr "I-print sa PDF" 25 | 26 | msgid "open issue" 27 | msgstr "bukas na isyu" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Mag-download ng file ng notebook" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "I-toggle ang pag-navigate" 34 | 35 | msgid "Source repository" 36 | msgstr "Pinagmulan ng imbakan" 37 | 38 | msgid "By the" 39 | msgstr "Sa pamamagitan ng" 40 | 41 | msgid "next page" 42 | msgstr "Susunod na pahina" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "Tema ng Sphinx Book" 46 | 47 | msgid "Download source file" 48 | msgstr "Mag-download ng file ng pinagmulan" 49 | 50 | msgid "By" 51 | msgstr "Ni" 52 | 53 | msgid "Copyright" 54 | msgstr "Copyright" 55 | 56 | msgid "Open an issue" 57 | msgstr "Magbukas ng isyu" 58 | 59 | msgid "previous page" 60 | msgstr "Nakaraang pahina" 61 | 62 | msgid "Download this page" 63 | msgstr "I-download ang pahinang ito" 64 | 65 | msgid "Theme by the" 66 | msgstr "Tema ng" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tr/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/tr/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/tr/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: tr\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "düzenleme öner" 13 | 14 | msgid "Last updated on" 15 | msgstr "Son güncelleme tarihi" 16 | 17 | msgid "Edit this page" 18 | msgstr "Bu sayfayı düzenle" 19 | 20 | msgid "Launch" 21 | msgstr "Başlatmak" 22 | 23 | msgid "Print to PDF" 24 | msgstr "PDF olarak yazdır" 25 | 26 | msgid "open issue" 27 | msgstr "Açık konu" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Defter dosyasını indirin" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Gezinmeyi değiştir" 34 | 35 | msgid "Source repository" 36 | msgstr "Kaynak kod deposu" 37 | 38 | msgid "By the" 39 | msgstr "Tarafından" 40 | 41 | msgid "next page" 42 | msgstr "sonraki Sayfa" 43 | 44 | msgid "repository" 45 | msgstr "depo" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sfenks Kitap Teması" 49 | 50 | msgid "Download source file" 51 | msgstr "Kaynak dosyayı indirin" 52 | 53 | msgid "Contents" 54 | msgstr "İçindekiler" 55 | 56 | msgid "By" 57 | msgstr "Tarafından" 58 | 59 | msgid "Copyright" 60 | msgstr "Telif hakkı" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Tam ekran modu" 64 | 65 | msgid "Open an issue" 66 | msgstr "Bir sorunu açın" 67 | 68 | msgid "previous page" 69 | msgstr "önceki sayfa" 70 | 71 | msgid "Download this page" 72 | msgstr "Bu sayfayı indirin" 73 | 74 | msgid "Theme by the" 75 | msgstr "Tarafından tema" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/uk/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/uk/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/uk/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: uk\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "запропонувати редагувати" 13 | 14 | msgid "Last updated on" 15 | msgstr "Останнє оновлення:" 16 | 17 | msgid "Edit this page" 18 | msgstr "Редагувати цю сторінку" 19 | 20 | msgid "Launch" 21 | msgstr "Запуск" 22 | 23 | msgid "Print to PDF" 24 | msgstr "Друк у форматі PDF" 25 | 26 | msgid "open issue" 27 | msgstr "відкритий випуск" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Завантажте файл блокнота" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Переключити навігацію" 34 | 35 | msgid "Source repository" 36 | msgstr "Джерело сховища" 37 | 38 | msgid "By the" 39 | msgstr "По" 40 | 41 | msgid "next page" 42 | msgstr "Наступна сторінка" 43 | 44 | msgid "repository" 45 | msgstr "сховище" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Тема книги \"Сфінкс\"" 49 | 50 | msgid "Download source file" 51 | msgstr "Завантажити вихідний файл" 52 | 53 | msgid "Contents" 54 | msgstr "Зміст" 55 | 56 | msgid "By" 57 | msgstr "Автор" 58 | 59 | msgid "Copyright" 60 | msgstr "Авторське право" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Повноекранний режим" 64 | 65 | msgid "Open an issue" 66 | msgstr "Відкрийте випуск" 67 | 68 | msgid "previous page" 69 | msgstr "Попередня сторінка" 70 | 71 | msgid "Download this page" 72 | msgstr "Завантажте цю сторінку" 73 | 74 | msgid "Theme by the" 75 | msgstr "Тема від" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ur/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/ur/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/ur/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: ur\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "ترمیم کی تجویز کریں" 13 | 14 | msgid "Last updated on" 15 | msgstr "آخری بار تازہ کاری ہوئی" 16 | 17 | msgid "Edit this page" 18 | msgstr "اس صفحے میں ترمیم کریں" 19 | 20 | msgid "Launch" 21 | msgstr "لانچ کریں" 22 | 23 | msgid "Print to PDF" 24 | msgstr "پی ڈی ایف پرنٹ کریں" 25 | 26 | msgid "open issue" 27 | msgstr "کھلا مسئلہ" 28 | 29 | msgid "Download notebook file" 30 | msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "نیویگیشن ٹوگل کریں" 34 | 35 | msgid "Source repository" 36 | msgstr "ماخذ ذخیرہ" 37 | 38 | msgid "By the" 39 | msgstr "کی طرف" 40 | 41 | msgid "next page" 42 | msgstr "اگلا صفحہ" 43 | 44 | msgid "Sphinx Book Theme" 45 | msgstr "سپنکس بک تھیم" 46 | 47 | msgid "Download source file" 48 | msgstr "سورس فائل ڈاؤن لوڈ کریں" 49 | 50 | msgid "By" 51 | msgstr "بذریعہ" 52 | 53 | msgid "Copyright" 54 | msgstr "کاپی رائٹ" 55 | 56 | msgid "Open an issue" 57 | msgstr "ایک مسئلہ کھولیں" 58 | 59 | msgid "previous page" 60 | msgstr "سابقہ ​​صفحہ" 61 | 62 | msgid "Download this page" 63 | msgstr "اس صفحے کو ڈاؤن لوڈ کریں" 64 | 65 | msgid "Theme by the" 66 | msgstr "کے ذریعہ تھیم" 67 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/vi/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/vi/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/vi/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: vi\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "đề nghị chỉnh sửa" 13 | 14 | msgid "Last updated on" 15 | msgstr "Cập nhật lần cuối vào" 16 | 17 | msgid "Edit this page" 18 | msgstr "chỉnh sửa trang này" 19 | 20 | msgid "Launch" 21 | msgstr "Phóng" 22 | 23 | msgid "Print to PDF" 24 | msgstr "In sang PDF" 25 | 26 | msgid "open issue" 27 | msgstr "vấn đề mở" 28 | 29 | msgid "Download notebook file" 30 | msgstr "Tải xuống tệp sổ tay" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "Chuyển đổi điều hướng thành" 34 | 35 | msgid "Source repository" 36 | msgstr "Kho nguồn" 37 | 38 | msgid "By the" 39 | msgstr "Bằng" 40 | 41 | msgid "next page" 42 | msgstr "Trang tiếp theo" 43 | 44 | msgid "repository" 45 | msgstr "kho" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Chủ đề sách nhân sư" 49 | 50 | msgid "Download source file" 51 | msgstr "Tải xuống tệp nguồn" 52 | 53 | msgid "Contents" 54 | msgstr "Nội dung" 55 | 56 | msgid "By" 57 | msgstr "Bởi" 58 | 59 | msgid "Copyright" 60 | msgstr "Bản quyền" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "Chế độ toàn màn hình" 64 | 65 | msgid "Open an issue" 66 | msgstr "Mở một vấn đề" 67 | 68 | msgid "previous page" 69 | msgstr "trang trước" 70 | 71 | msgid "Download this page" 72 | msgstr "Tải xuống trang này" 73 | 74 | msgid "Theme by the" 75 | msgstr "Chủ đề của" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/zh_CN/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: zh_CN\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "提出修改建议" 13 | 14 | msgid "Last updated on" 15 | msgstr "上次更新时间:" 16 | 17 | msgid "Edit this page" 18 | msgstr "编辑此页面" 19 | 20 | msgid "Launch" 21 | msgstr "启动" 22 | 23 | msgid "Print to PDF" 24 | msgstr "列印成 PDF" 25 | 26 | msgid "open issue" 27 | msgstr "创建议题" 28 | 29 | msgid "Download notebook file" 30 | msgstr "下载笔记本文件" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "显示或隐藏导航栏" 34 | 35 | msgid "Source repository" 36 | msgstr "源码库" 37 | 38 | msgid "By the" 39 | msgstr "作者:" 40 | 41 | msgid "next page" 42 | msgstr "下一页" 43 | 44 | msgid "repository" 45 | msgstr "仓库" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx Book 主题" 49 | 50 | msgid "Download source file" 51 | msgstr "下载源文件" 52 | 53 | msgid "Contents" 54 | msgstr "目录" 55 | 56 | msgid "By" 57 | msgstr "作者:" 58 | 59 | msgid "Copyright" 60 | msgstr "版权" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "全屏模式" 64 | 65 | msgid "Open an issue" 66 | msgstr "创建议题" 67 | 68 | msgid "previous page" 69 | msgstr "上一页" 70 | 71 | msgid "Download this page" 72 | msgstr "下载此页面" 73 | 74 | msgid "Theme by the" 75 | msgstr "主题作者:" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo -------------------------------------------------------------------------------- /book/_build/html/_static/locales/zh_TW/LC_MESSAGES/booktheme.po: -------------------------------------------------------------------------------- 1 | 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: Sphinx-Book-Theme\n" 5 | "MIME-Version: 1.0\n" 6 | "Content-Type: text/plain; charset=UTF-8\n" 7 | "Content-Transfer-Encoding: 8bit\n" 8 | "Language: zh_TW\n" 9 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 10 | 11 | msgid "suggest edit" 12 | msgstr "提出修改建議" 13 | 14 | msgid "Last updated on" 15 | msgstr "最後更新時間:" 16 | 17 | msgid "Edit this page" 18 | msgstr "編輯此頁面" 19 | 20 | msgid "Launch" 21 | msgstr "啟動" 22 | 23 | msgid "Print to PDF" 24 | msgstr "列印成 PDF" 25 | 26 | msgid "open issue" 27 | msgstr "公開的問題" 28 | 29 | msgid "Download notebook file" 30 | msgstr "下載 Notebook 檔案" 31 | 32 | msgid "Toggle navigation" 33 | msgstr "顯示或隱藏導覽列" 34 | 35 | msgid "Source repository" 36 | msgstr "來源儲存庫" 37 | 38 | msgid "By the" 39 | msgstr "作者:" 40 | 41 | msgid "next page" 42 | msgstr "下一頁" 43 | 44 | msgid "repository" 45 | msgstr "儲存庫" 46 | 47 | msgid "Sphinx Book Theme" 48 | msgstr "Sphinx Book 佈景主題" 49 | 50 | msgid "Download source file" 51 | msgstr "下載原始檔" 52 | 53 | msgid "Contents" 54 | msgstr "目錄" 55 | 56 | msgid "By" 57 | msgstr "作者:" 58 | 59 | msgid "Copyright" 60 | msgstr "Copyright" 61 | 62 | msgid "Fullscreen mode" 63 | msgstr "全螢幕模式" 64 | 65 | msgid "Open an issue" 66 | msgstr "開啟議題" 67 | 68 | msgid "previous page" 69 | msgstr "上一頁" 70 | 71 | msgid "Download this page" 72 | msgstr "下載此頁面" 73 | 74 | msgid "Theme by the" 75 | msgstr "佈景主題作者:" 76 | -------------------------------------------------------------------------------- /book/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/minus.png -------------------------------------------------------------------------------- /book/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/plus.png -------------------------------------------------------------------------------- /book/_build/html/_static/sbt-webpack-macros.html: -------------------------------------------------------------------------------- 1 | 5 | {% macro head_pre_bootstrap() %} 6 | 7 | {% endmacro %} 8 | 9 | {% macro body_post() %} 10 | 11 | {% endmacro %} 12 | -------------------------------------------------------------------------------- /book/_build/html/_static/scripts/bootstrap.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v5.3.2 (https://getbootstrap.com/) 3 | * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5 | */ 6 | -------------------------------------------------------------------------------- /book/_build/html/_static/scripts/sphinx-book-theme.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";n.r(t);n.p;var r=e=>{"loading"!=document.readyState?e():document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",(function(){"complete"==document.readyState&&e()}))};window.initThebeSBT=()=>{var e=document.querySelector("section h1");e.nextElementSibling.classList.contains("thebe-launch-button")||e.insertAdjacentHTML("afterend",""),initThebe()},window.toggleFullScreen=()=>{var e=document.fullscreenElement&&null!==document.fullscreenElement||document.webkitFullscreenElement&&null!==document.webkitFullscreenElement;let t=document.documentElement;e?(console.log("[SBT]: Exiting full screen"),document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()):(console.log("[SBT]: Entering full screen"),t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen())},r(()=>{var e=[];let t=new IntersectionObserver((t,n)=>{t.forEach(t=>{if(t.isIntersecting)e.push(t.target);else for(let n=0;n0?document.querySelector("div.bd-sidebar-secondary").classList.add("hide"):document.querySelector("div.bd-sidebar-secondary").classList.remove("hide")},{rootMargin:"0px 0px -33% 0px"});let n=[];["marginnote","sidenote","margin","margin-caption","full-width","sidebar","popout"].forEach(e=>{n.push("."+e,".tag_"+e,"."+e.replace("-","_"),".tag_"+e.replace("-","_"))}),document.querySelectorAll(n.join(", ")).forEach(e=>{t.observe(e)}),new IntersectionObserver((e,t)=>{e[0].boundingClientRect.y<0?document.body.classList.add("scrolled"):document.body.classList.remove("scrolled")}).observe(document.querySelector(".sbt-scroll-pixel-helper"))}),r((function(){var e=[".bd-header-announcement",".bd-header",".bd-header-article",".bd-sidebar-primary",".bd-sidebar-secondary",".bd-footer-article",".bd-footer-content",".bd-footer"].join(",");document.querySelectorAll(e).forEach(e=>{e.classList.add("noprint")})}))}]); 2 | //# sourceMappingURL=sphinx-book-theme.js.map -------------------------------------------------------------------------------- /book/_build/html/_static/sphinx-thebe.css: -------------------------------------------------------------------------------- 1 | /* Thebelab Buttons */ 2 | .thebelab-button { 3 | z-index: 999; 4 | display: inline-block; 5 | padding: 0.35em 1.2em; 6 | margin: 0px 1px; 7 | border-radius: 0.12em; 8 | box-sizing: border-box; 9 | text-decoration: none; 10 | font-family: "Roboto", sans-serif; 11 | font-weight: 300; 12 | text-align: center; 13 | transition: all 0.2s; 14 | background-color: #dddddd; 15 | border: 0.05em solid white; 16 | color: #000000; 17 | } 18 | 19 | .thebelab-button:hover { 20 | border: 0.05em solid black; 21 | background-color: #fcfcfc; 22 | } 23 | 24 | .thebe-launch-button { 25 | height: 2.2em; 26 | font-size: 0.8em; 27 | border: 1px black solid; 28 | } 29 | 30 | /* Thebelab Cell */ 31 | .thebelab-cell pre { 32 | background: none; 33 | } 34 | 35 | .thebelab-cell .thebelab-input { 36 | padding-left: 1em; 37 | margin-bottom: 0.5em; 38 | margin-top: 0.5em; 39 | } 40 | 41 | .thebelab-cell .jp-OutputArea { 42 | margin-top: 0.5em; 43 | margin-left: 1em; 44 | } 45 | 46 | button.thebelab-button.thebelab-run-button { 47 | margin-left: 1.5em; 48 | margin-bottom: 0.5em; 49 | } 50 | 51 | /* Loading button */ 52 | button.thebe-launch-button div.spinner { 53 | float: left; 54 | margin-right: 1em; 55 | } 56 | 57 | /* Remove the spinner when thebelab is ready */ 58 | .thebe-launch-button.thebe-status-ready .spinner { 59 | display: none; 60 | } 61 | 62 | .thebe-launch-button span.status { 63 | font-family: monospace; 64 | font-weight: bold; 65 | } 66 | 67 | .thebe-launch-button.thebe-status-ready span.status { 68 | color: green; 69 | } 70 | 71 | .spinner { 72 | height: 2em; 73 | text-align: center; 74 | font-size: 0.7em; 75 | } 76 | 77 | .spinner > div { 78 | background-color: #f37726; 79 | height: 100%; 80 | width: 6px; 81 | display: inline-block; 82 | 83 | -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out; 84 | animation: sk-stretchdelay 1.2s infinite ease-in-out; 85 | } 86 | 87 | .spinner .rect2 { 88 | -webkit-animation-delay: -1.1s; 89 | animation-delay: -1.1s; 90 | } 91 | 92 | .spinner .rect3 { 93 | -webkit-animation-delay: -1s; 94 | animation-delay: -1s; 95 | } 96 | 97 | .spinner .rect4 { 98 | -webkit-animation-delay: -0.9s; 99 | animation-delay: -0.9s; 100 | } 101 | 102 | .spinner .rect5 { 103 | -webkit-animation-delay: -0.8s; 104 | animation-delay: -0.8s; 105 | } 106 | 107 | @-webkit-keyframes sk-stretchdelay { 108 | 0%, 109 | 40%, 110 | 100% { 111 | -webkit-transform: scaleY(0.4); 112 | } 113 | 20% { 114 | -webkit-transform: scaleY(1); 115 | } 116 | } 117 | 118 | @keyframes sk-stretchdelay { 119 | 0%, 120 | 40%, 121 | 100% { 122 | transform: scaleY(0.4); 123 | -webkit-transform: scaleY(0.4); 124 | } 125 | 20% { 126 | transform: scaleY(1); 127 | -webkit-transform: scaleY(1); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /book/_build/html/_static/styles/theme.css: -------------------------------------------------------------------------------- 1 | /* Provided by Sphinx's 'basic' theme, and included in the final set of assets */ 2 | @import "../basic.css"; 3 | -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/js/all.min.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | * Copyright 2022 Fonticons, Inc. 5 | */ 6 | -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /book/_build/html/_static/webpack-macros.html: -------------------------------------------------------------------------------- 1 | 5 | {# Load FontAwesome icons #} 6 | {% macro head_pre_icons() %} 7 | 8 | 9 | 10 | 11 | {% endmacro %} 12 | 13 | {% macro head_pre_assets() %} 14 | 15 | 16 | 17 | 18 | {% endmacro %} 19 | 20 | {% macro head_js_preload() %} 21 | 22 | 23 | 24 | 25 | {% endmacro %} 26 | 27 | {% macro body_post() %} 28 | 29 | 30 | 31 | {% endmacro %} -------------------------------------------------------------------------------- /book/_build/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /book/_build/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/_build/html/objects.inv -------------------------------------------------------------------------------- /book/_config.yml: -------------------------------------------------------------------------------- 1 | ####################################################################################### 2 | # Book settings 3 | title : PseudoLab Git Tutorial 4 | author: PseudoLab - DevFactory 5 | logo: 'PseudoLab_logo.png' 6 | 7 | # Information about where the book exists on the web 8 | description: >- 9 | Tutorial for using Git 10 | 11 | ####################################################################################### 12 | # Execution settings 13 | execute: 14 | execute_notebooks : off 15 | 16 | ####################################################################################### 17 | # HTML-specific settings 18 | html: 19 | home_page_in_navbar : false 20 | 21 | # ####################################################################################### 22 | # Interact link settings 23 | notebook_interface : "notebook" 24 | 25 | ####################################################################################### 26 | # Launch button settings 27 | repository: 28 | url : https://github.com/Pseudo-Lab/DevFactory 29 | path_to_book : "book" 30 | 31 | latex: 32 | latex_engine : "xelatex" 33 | latex_documents: 34 | targetname: book.tex 35 | 36 | html: 37 | favicon: 'PseudoLab_logo.png' 38 | use_issues_button: true 39 | use_repository_button: true -------------------------------------------------------------------------------- /book/_toc.yml: -------------------------------------------------------------------------------- 1 | format: jb-book 2 | root: intro 3 | 4 | chapters: 5 | - file: docs/github_intro.md 6 | title: "Github 저장소 프로필 업데이트하기" 7 | sections: 8 | - file: docs/pull_request_guide 9 | title: "Github 파일 편집기로 작업하기" 10 | - file: docs/pr-guide 11 | title: "Github.dev 편집기로 작업하기" 12 | - file: docs/pr-ground 13 | title: "직접해보기" 14 | - file: docker_tutorial/00.docker_intro.md 15 | title: "나만의 local ChatGPT 만들기: Docker 실습 튜토리얼" 16 | sections: 17 | - file: docker_tutorial/00.pytorch_example 18 | title: "Pytorch example" 19 | - file: docker_tutorial/01.what_is_docker 20 | title: "Docker란 무엇인가?" 21 | - file: docker_tutorial/02.image_and_container 22 | title: "Docker 기본 명령어 실습" 23 | - file: docker_tutorial/03.docker-compose 24 | title: "Docker Compose 개념 & 실습" 25 | - file: docker_tutorial/04.ollama 26 | title: "Ollama로 로컬 LLM 실행" 27 | - file: docker_tutorial/05.webui 28 | title: "Open-WebUI 실행" 29 | - file: docker_tutorial/06.ollama_and_webui 30 | title: "Ollama + WebUI (Docker Compose)" -------------------------------------------------------------------------------- /book/assets/imgs/docker_tutorial/docker-compose-icon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/docker_tutorial/docker-compose-icon.webp -------------------------------------------------------------------------------- /book/assets/imgs/docker_tutorial/docker-logo-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/docker_tutorial/docker-logo-blue.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step1.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step10.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step2.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step3.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step4.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step5.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step6.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step7.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step8.png -------------------------------------------------------------------------------- /book/assets/imgs/git-tutorial/git-tutorial-step9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/git-tutorial/git-tutorial-step9.png -------------------------------------------------------------------------------- /book/assets/imgs/pratice-guide/guide0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/pratice-guide/guide0.png -------------------------------------------------------------------------------- /book/assets/imgs/pratice-guide/guide1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/pratice-guide/guide1.png -------------------------------------------------------------------------------- /book/assets/imgs/pratice-guide/guide2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/pratice-guide/guide2.png -------------------------------------------------------------------------------- /book/assets/imgs/pratice-guide/guide3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/pratice-guide/guide3.png -------------------------------------------------------------------------------- /book/assets/imgs/pratice-guide/guide4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/book/assets/imgs/pratice-guide/guide4.png -------------------------------------------------------------------------------- /book/docker_tutorial/00.docker_intro.md: -------------------------------------------------------------------------------- 1 | # 나만의 local ChatGPT 만들기: Docker 실습 튜토리얼 2 | 3 | PseudoLab 빌더와 러너를 위한 Docker 실습 튜토리얼 페이지입니다. 4 | 5 | 이 튜토리얼은 [PseudoLab Docker 실습 워크샵](https://lu.ma/bwypwh0p)에서 진행된 내용을 바탕으로 작성되었습니다. 6 | 실습형 튜토리얼을 통해 Docker의 기본 개념부터 실제 AI 서비스 구축까지 단계별로 학습할 수 있습니다. 7 | 8 | 이 튜토리얼에서는 Docker를 활용하여 로컬 환경에서 ChatGPT와 같은 AI 서비스를 구축하는 방법을 단계별로 학습합니다: 9 | 1. Docker의 기본 개념과 필요성 이해하기 10 | 2. Docker 기본 명령어를 통한 실습 11 | 3. Docker Compose를 활용한 서비스 구성 12 | 4. Ollama를 통한 로컬 LLM 실행 13 | 5. Open WebUI를 통한 AI 대화 인터페이스 구축 14 | 6. 실제 프로젝트 실습 15 | 16 | 각 단계별로 상세한 가이드와 실습 예제를 제공하며, 최종적으로는 나만의 로컬 AI 서비스를 구축할 수 있습니다. 17 | 18 | ## 목차 19 | 20 | - [Pytorch example](docker_tutorial/00.pytorch_example.md) 21 | - [Docker란 무엇인가?](docker_tutorial/01.what_is_docker.md) 22 | - [Docker 기본 명령어 실습](docker_tutorial/02.image_and_container.md) 23 | - [Docker Compose 개념 & 실습](docker_tutorial/03.docker-compose.md) 24 | - [Ollama로 로컬 LLM 실행](docker_tutorial/04.ollama.md) 25 | - [Open-WebUI 실행](docker_tutorial/05.webui.md) 26 | - [Ollama + WebUI (Docker Compose)](docker_tutorial/06.ollama_and_webui.md) -------------------------------------------------------------------------------- /book/docker_tutorial/00.pytorch_example.md: -------------------------------------------------------------------------------- 1 | # Pytorch example code 2 | 3 | ## 예제 코드 실행해보기 4 | 아래 예제 코드를 현재 환경에서 실행시켜봅시다. 5 | 6 | ```python 7 | # -*- coding: utf-8 -*- 8 | import numpy as np 9 | import math 10 | 11 | # 무작위로 입력과 출력 데이터를 생성합니다 12 | x = np.linspace(-math.pi, math.pi, 2000) 13 | y = np.sin(x) 14 | 15 | # 무작위로 가중치를 초기화합니다 16 | a = np.random.randn() 17 | b = np.random.randn() 18 | c = np.random.randn() 19 | d = np.random.randn() 20 | 21 | learning_rate = 1e-6 22 | for t in range(2000): 23 | # 순전파 단계: 예측값 y를 계산합니다 24 | # y = a + b x + c x^2 + d x^3 25 | y_pred = a + b * x + c * x ** 2 + d * x ** 3 26 | 27 | # 손실(loss)을 계산하고 출력합니다 28 | loss = np.square(y_pred - y).sum() 29 | if t % 100 == 99: 30 | print(t, loss) 31 | 32 | # 손실에 따른 a, b, c, d의 변화도(gradient)를 계산하고 역전파합니다. 33 | grad_y_pred = 2.0 * (y_pred - y) 34 | grad_a = grad_y_pred.sum() 35 | grad_b = (grad_y_pred * x).sum() 36 | grad_c = (grad_y_pred * x ** 2).sum() 37 | grad_d = (grad_y_pred * x ** 3).sum() 38 | 39 | # 가중치를 갱신합니다. 40 | a -= learning_rate * grad_a 41 | b -= learning_rate * grad_b 42 | c -= learning_rate * grad_c 43 | d -= learning_rate * grad_d 44 | 45 | print(f'Result: y = {a} + {b} x + {c} x^2 + {d} x^3') 46 | ``` 47 | 48 | ## 예상되는 결과 49 | 1. Python 미설치 50 | ```bash 51 | bash: python: command not found 52 | ``` 53 | 54 | 2. NumPy 미설치 55 | ```vbnet 56 | Traceback (most recent call last): 57 | File "example.py", line 1, in 58 | import numpy as np 59 | ModuleNotFoundError: No module named 'numpy' 60 | ``` 61 | 62 | 3. 코드 실행 63 | ```bash 64 | Step 100 — loss: 1234.56 65 | Step 200 — loss: 789.01 66 | … 67 | 최종 모델: y = 0.0012 + 1.0003 x + … 68 | ``` 69 | 이처럼 환경 차이로 인해 같은 코드를 실행해도 전혀 다른 결과가 나타날 수 있습니다. 70 | 이런 예기치 못한 문제를 방지하려면, **동일한 실행 환경**을 갖춰야 합니다. 71 | 72 | ### Ref. 73 | PyTorch Tutorials “PyTorch with Examples”, https://tutorials.pytorch.kr/beginner/pytorch_with_examples.html -------------------------------------------------------------------------------- /book/docker_tutorial/01.what_is_docker.md: -------------------------------------------------------------------------------- 1 | # Docker의 개념과 필요성 2 | ## Docker란 무엇인가? 3 | ![alt text](../assets/imgs/docker_tutorial/docker-logo-blue.png) 4 | Docker의 공식 홈페이지에서는 Docker를 아래와 같이 정의하고 있습니다. 5 | 6 | > Docker는 애플리케이션 개발, 배포 및 실행을 위한 개방형 플랫폼입니다. 7 | > Docker를 사용하면 애플리케이션과 인프라를 분리하여 소프트웨어를 신속하게 배포할 수 있습니다. 8 | > 또한 애플리케이션 관리 방식과 동일한 방법으로 인프라를 관리할 수 있으며, 9 | > 코드 배포·테스트·배포 방법론을 활용해 코드 작성부터 프로덕션 실행까지의 지연 시간을 크게 줄일 수 있습니다. 10 | 11 | 여기서 집중해야할 부분은 **애플리케이션과 인프라를 분리**하여 소프트웨어를 배포한다는 점입니다. 12 | 13 | ### 핵심 개념 14 | - **컨테이너 기반 가상화** 기술 15 | - 호스트 커널을 공유하면서도 프로세스·네트워크·파일시스템을 격리 16 | - 전통적 VM 대비 훨씬 가볍고 빠름 17 | 18 | - **이미지(Image)** 19 | - 애플리케이션 실행에 필요한 파일·라이브러리 스냅샷 20 | - Dockerfile로 정의하고, 계층(layer) 단위로 캐시 활용 21 | 22 | - **컨테이너(Container)** 23 | - 이미지의 실행 인스턴스 24 | - 생성·시작·중지·삭제가 자유롭고, 일관된 실행 환경을 보장 25 | 26 | ## 왜 Docker가 필요한가? 27 | #### 환경 일관성 보장 28 | - "제 PC에서는 잘 되는데요?" 문제 해결 29 | - 개발 · 테스트 · 프로덕션 전 단계에서 동일한 환경 제공 30 | 31 | #### 높은 이식성(Portability) 32 | - 로컬 노트북, 온프레미스 서버, 퍼블릭 클라우드 **어디서나 실행** 33 | - 레지스트리(Docker Hub, Private Registry)에 이미지를 중앙화 34 | 35 | #### 빠른 배포 및 스케일링 36 | - 컨테이너 단위로 서비스 확장·축소 37 | - 오케스트레이션(Kubernetes, Docker Swarm)과 연동해 자동 스케일링 38 | 39 | #### 리소스 효율성 40 | - VM 대비 오버헤드 적음 → 동일 하드웨어에서 더 많은 워크로드 실행 41 | - cgroups를 통한 CPU·메모리 제한 가능 42 | 43 | #### 협업 및 CI/CD 최적화 44 | - 컨테이너 이미지를 코드처럼 버전 관리 45 | - 파이프라인 내 `docker build` → `docker push` → `docker run`을 통한 자동화 46 | 47 | ## Image & Container 48 | ### 이미지(Image) 49 | 50 | - **정의** 51 | 읽기 전용 템플릿(스냅샷)으로, 컨테이너 실행에 필요한 애플리케이션 코드·라이브러리·설정 파일을 **레이어(layer)** 단위로 저장 52 | - **특징** 53 | - **불변(Immutable)**: 한 번 빌드된 이미지는 변경되지 않음 54 | - **레이어 캐시**: 변경 없는 레이어는 재빌드하지 않아 빌드 속도 및 저장 효율 증가 55 | - **공유 가능**: 여러 이미지가 동일한 레이어를 참조 56 | - **주요 명령어** 57 | - `docker build -t <이름>:<태그> .` → Dockerfile로 이미지 생성 58 | - `docker images` → 로컬 이미지 목록 59 | - `docker pull <이미지>` / `docker push <이미지>` → 레지스트리와 동기화 60 | 61 | ### 컨테이너(Container) 62 | 63 | - **정의** 64 | 이미지에 **읽기-쓰기 레이어**를 더해 실제 프로세스가 실행되는 인스턴스 65 | 66 | - **특징** 67 | - **격리(Isolation)**: 네트워크, 프로세스, 파일시스템이 분리 68 | - **라이프사이클**: 생성(create) → 시작(start) → 중지(stop) → 삭제(rm) 69 | - **일관성**: 어디서 실행해도 동일 동작 보장 70 | 71 | - **주요 명령어** 72 | - `docker run <이미지>` → 컨테이너 생성·시작 73 | - `docker ps` / `docker ps -a` → 실행 중/전체 컨테이너 74 | - `docker exec -it <컨테이너>` → 내부 명령 실행 75 | - `docker stop/start/rm <컨테이너>` → 중지·재시작·삭제 76 | 77 | 지금까지 Docker의 개념과 필요성을 살펴보았습니다. 78 | 다음 세션에서는 Docker 기본 명령어(`docker run`, `docker ps`, `docker exec`, `docker logs` 등)를 직접 실습하며 컨테이너를 생성하고 관리하는 방법을 배워봅니다. 79 | -------------------------------------------------------------------------------- /book/docker_tutorial/04.ollama.md: -------------------------------------------------------------------------------- 1 | # Ollama로 로컬 LLM 실행 2 | 3 | 이번 세션에서는 Docker를 이용하여 **Ollama 서버**를 띄우고, 로컬 환경에서 대규모 언어 모델(LLM)을 간편하게 실행하는 방법을 실습합니다. 4 | 5 | --- 6 | 7 | ## Ollama란? 8 | 9 | - **로컬에서 실행 가능한 경량 LLM 서버** 10 | - ChatGPT 호환 API를 제공해 누구나 자신의 머신에서 손쉽게 LLM을 사용 가능 11 | - GPU가 있으면 가속 활용 가능, 없으면 CPU로도 실행 가능 12 | 13 | - GitHub Repository : https://github.com/ollama/ollama 14 | 15 | --- 16 | 17 | ## Ollama Docker 이미지 가져오기 18 | 19 | Ollama 팀이 제공하는 [공식 이미지](https://hub.docker.com/r/ollama/ollama) 사용 20 | 21 | ```bash 22 | docker pull ollama/ollama 23 | ``` 24 | 25 | - 최신 이미지 Pull 26 | - 특정 버전 사용 시:`ollama/ollama:` 형식으로 지정 가능 27 | 28 | ## Ollama 서버 컨테이너 실행 29 | 30 | ```bash 31 | docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 32 | 33 | ``` 34 | 35 | - `-d` : 백그라운드 모드로 실행 36 | - `--name ollama` : 컨테이너 이름 지정 37 | - `-v ollama:/root/.ollama` : 모델·설정 파일을 named volume에 영구 저장 38 | - `-p 11434:11434` : 호스트 포트 11434 ↔ 컨테이너 포트 11434 매핑 (API 접근용) 39 | 40 | ## Ollama 서버 정상 기동 확인 41 | 42 | **컨테이너 상태 확인** 43 | ```bash 44 | docker ps 45 | ``` 46 | 47 | **예상 출력** 48 | ```bash 49 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50 | 0cae5a78228c ollama/ollama "/bin/ollama serve" 12 seconds ago Up 12 seconds 0.0.0.0:11434->11434/tcp ollama 51 | ``` 52 | 53 | ## `ollama` 컨테이너 실행 여부 확인 54 | **API 엔드포인트 접근 테스트** 55 | ```bash 56 | curl http://localhost:11434/api/tags 57 | ``` 58 | - 설치된 모델 목록이 출력되거나 빈 배열(`[]`) 반환 59 | 60 | ## Gemma 3 모델 다운로드 61 | - 개인 PC에서도 사용할 수 있도록 가벼운 gemma 3 모델 다운로드 62 | - 다양한 모델을 다운로드하여 사용 가능 63 | 64 | ## 모델 선택하기 65 | #### 모델 파라미터 및 크기 66 | > 예시에서는 Gemma 3를 사용하지만, 아래의 모델표를 참고하여, 자신의 컴퓨터 사양에 맞는 모델을 선택할 수 있습니다. (추가 모델은 [여기](https://github.com/ollama/ollama?tab=readme-ov-file#model-library)에서 확인할 수 있습니다.) 67 | 68 | - 사양을 모른다면, 작은 모델 선택을 권장합니다. 69 | 70 | ## 모델 정보 71 | 72 | | 모델 이름 | 파라미터 수 | 크기 | 모델 명(코드) | 73 | |----------------|------------|---------|-------------------------------| 74 | | Gemma 3 (1B) | 1B | 815MB | `gemma3:1b` | 75 | | Gemma 3 (4B) | 4B | 3.3GB | `gemma3` | 76 | | Gemma 3 (12B) | 12B | 8.1GB | `gemma3:12b` | 77 | | Gemma 3 (27B) | 27B | 17GB | `gemma3:27b` | 78 | | QwQ | 32B | 20GB | `qwq` | 79 | | DeepSeek-R1 | 7B | 4.7GB | `deepseek-r1` | 80 | | DeepSeek-R1 | 671B | 404GB | `deepseek-r1:671b` | 81 | | Llama 3.3 | 70B | 43GB | `llama3.3` | 82 | | Llama 3.2 (3B)| 3B | 2.0GB | `llama3.2` | 83 | | Llama 3.2 (1B)| 1B | 1.3GB | `llama3.2:1b` | 84 | | Llama 3.2 Vision | 11B | 7.9GB | `llama3.2-vision` | 85 | 86 | 87 | ### bash 88 | ```bash 89 | docker exec ollama ollama pull gemma3 90 | ``` 91 | 92 | ### REST API 93 | ```bash 94 | curl http://localhost:11434/api/pull -d '{ 95 | "model": "gemma3" 96 | }' 97 | ``` 98 | 99 | ## Gemma3 모델로 질문하기 100 | ### bash 101 | ```bash 102 | docker exec ollama ollama generate -m gemma3 -p "Why is the sky blue?" 103 | ``` 104 | 105 | ### REST API 106 | ```bash 107 | curl -s http://localhost:11434/api/generate -d '{ 108 | "model": "gemma3", 109 | "prompt": "Why is the sky blue?", 110 | "options": { 111 | "num_predict": 10 112 | } 113 | }' 114 | ``` 115 | 116 | ## Ollama 서버 주요 기능 117 | 118 | - 모델 다운로드 · 실행 (CLI 명령어, REST API) 119 | - OpenAI API 호환 서버로 활용 가능 120 | - 로컬 PC 또는 서버에 자체 LLM 인프라 구축 가능 121 | 122 | --- 123 | 124 | **다음 세션**에서는 Ollama 위에 **Open-webui**를 띄워 웹 브라우저로 대화형 AI를 사용해 봅시다. 125 | -------------------------------------------------------------------------------- /book/docker_tutorial/05.webui.md: -------------------------------------------------------------------------------- 1 | # Open-WebUI 실행 2 | 3 | 이번 세션에서는 **Open-WebUI** 리포지토리(https://github.com/open-webui/open-webui)를 참고하여, Docker 컨테이너로 Web UI를 실행하고 Ollama 서버와 연동하는 방법을 실습합니다. 4 | 5 | --- 6 | 7 | ## Open-WebUI란? 8 | 9 | - **Open-WebUI**: 오픈소스 웹 기반 LLM 인터페이스 10 | - 깔끔한 React/Next.js 프론트엔드로, 다양한 로컬 LLM 서버(예: Ollama, llama.cpp)와 연동 가능 11 | - GitHub Repository : https://github.com/open-webui/open-webui 12 | 13 | --- 14 | 15 | ## Open-WebUI Docker 이미지 가져오기 16 | 17 | ```bash 18 | docker pull ghcr.io/open-webui/open-webui:git-1349bc4-cuda 19 | ``` 20 | 21 | - GitHub Container Registry에서 `git-1349bc4-cuda` 태그의 이미지를 가져옵니다. 22 | (2025.04.27, 현재 latest 버전 다운로드 오류 발생) 23 | 24 | --- 25 | 26 | ## Open-WebUI 컨테이너 실행 27 | 28 | ```bash 29 | docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \ 30 | -v open-webui:/app/backend/data --name open-webui --restart always \ 31 | ghcr.io/open-webui/open-webui:git-1349bc4-cuda 32 | ``` 33 | 34 | - `-d` : 백그라운드(detached) 모드로 컨테이너를 실행합니다. 35 | - `-p 3000:8080` : 호스트의 포트 3000을 컨테이너 내부의 8080 포트와 연결하여, 브라우저에서 `http://localhost:3000`으로 접속 시 Open-WebUI에 접근합니다. 36 | - `--add-host=host.docker.internal:host-gateway` : 컨테이너 내에서 `host.docker.internal` 호스트명을 호스트 머신의 게이트웨이 주소로 매핑하여, Ollama 서버 등 호스트의 서비스에 쉽게 접근할 수 있도록 설정합니다. 37 | - `-v open-webui:/app/backend/data` : `open-webui`라는 named volume을 컨테이너의 `/app/backend/data`에 마운트하여, 캐시된 모델 파일과 사용자 설정 데이터를 영구 저장합니다. 38 | - `--name open-webui` : 컨테이너 이름을 `open-webui`로 지정하여, 이후 명령에서 편리하게 참조할 수 있습니다. 39 | - `--restart always` : 컨테이너가 중단되거나 Docker가 재시작된 경우에도 자동으로 재실행되도록 설정합니다. 40 | - `ghcr.io/open-webui/open-webui:git-1349bc4-cuda` : GitHub Container Registry의 Open-WebUI CUDA 빌드 태그 이미지입니다. 41 | 42 | ## Web UI 접속 및 사용 43 | 44 | - 브라우저에서 [http://localhost:3000](http://localhost:3000) 접속 45 | - 로그인 진행 -> 임의의 값을 넣어줘도 상관없음 46 | - 좌측 패널에서 **Ollama** 백엔드 선택 47 | - 다운로드 했던 **gemma3** 모델을 선택 후 프롬프트 입력 48 | - **Send** 버튼 클릭하여 응답 확인 49 | 50 | ## Ollama 모델 추가하기 51 | 52 | ```bash 53 | docker exec ollama ollama pull gemma3:1b 54 | ``` 55 | 56 | 모델 다운로드 이후 브라우저를 새로고침하고 모델이 추가된 것을 확인합니다. 57 | 58 | --- 59 | 60 | **다음 세션**에서는 **Docker Compose**로 Ollama 서버와 Open-WebUI를 함께 띄우는 방법을 배워봅시다. 61 | -------------------------------------------------------------------------------- /book/docker_tutorial/06.ollama_and_webui.md: -------------------------------------------------------------------------------- 1 | # Ollama + WebUI (Docker Compose) 2 | 3 | 이번 세션에서는 **Docker Compose**를 사용해 **Ollama 서버**와 **Open-WebUI**를 동시에 실행하는 전체 스택을 구성합니다. 4 | 단일 `docker compose up` 명령만으로 LLM 서버와 웹 인터페이스가 함께 기동됩니다. 5 | 6 | --- 7 | 8 | ## 디렉터리 구조 9 | 10 | ``` 11 | └── ollama-webui/ 12 | └── docker-compose.yaml 13 | ``` 14 | 15 | --- 16 | 17 | ## `docker-compose.yaml` 작성 18 | 19 | ```yaml 20 | version: "3.8" 21 | 22 | services: 23 | ollama: 24 | image: ollama/ollama 25 | container_name: ollama 26 | volumes: 27 | - ollama-data:/root/.ollama 28 | ports: 29 | - "11434:11434" 30 | 31 | open-webui: 32 | image: ghcr.io/open-webui/open-webui:git-1349bc4-cuda 33 | container_name: open-webui 34 | depends_on: 35 | - ollama 36 | ports: 37 | - "3000:8080" 38 | volumes: 39 | - open-webui-data:/app/backend/data 40 | extra_hosts: 41 | - "host.docker.internal:host-gateway" 42 | restart: always 43 | 44 | volumes: 45 | ollama-data: 46 | open-webui-data: 47 | ``` 48 | 49 | - **ollama** 50 | - `ollama/ollama` 이미지를 사용해 로컬 LLM 서버 실행 51 | - 모델과 설정을 `ollama-data` 볼륨에 영구 저장 52 | - 포트 `11434`로 API 요청 수신 53 | 54 | - **open-webui** 55 | - Open-WebUI 인터페이스를 실행하는 컨테이너 56 | - 호스트 `3000` 포트를 컨테이너 `8080`으로 매핑 57 | - 사용자 데이터 및 캐시를 `open-webui-data` 볼륨에 저장 58 | - `depends_on`으로 Ollama 서비스 기동을 보장 59 | - `extra_hosts` 설정으로 호스트 접근 지원 60 | 61 | --- 62 | ## 기존 리소스 정리 63 | `docker compose`를 통한 스택을 실행하기 전에 기존에 실행 중인 컨테이너들을 정리합니다. 64 | 65 | ```bash 66 | docker stop ollama open-webui 67 | docker rm ollama open-webui 68 | ``` 69 | 70 | ## 전체 스택 실행 71 | 72 | ```bash 73 | # Compose 파일이 위치한 디렉터리에서 74 | docker compose up -d 75 | ``` 76 | 77 | - `-d`: 백그라운드 실행 78 | 79 | --- 80 | 81 | ## 서비스 상태 확인 82 | 83 | ```bash 84 | docker compose ps 85 | ``` 86 | 87 | - `ollama`와 `open-webui` 컨테이너가 **Up** 상태인지 확인합니다. 88 | 89 | --- 90 | 91 | ## 서비스 로그 확인 92 | 93 | ```bash 94 | docker compose logs -f 95 | ``` 96 | 97 | - `-f` : 실시간(follow) 로그 스트리밍 98 | 99 | ## Web UI 접속 100 | 101 | - 브라우저에서 [http://localhost:3000](http://localhost:3000) 접속 102 | - 다운로드된 LLM 모델(예: `gemma3`)을 선택 후 프롬프트 입력 및 **Send** 클릭 103 | 104 | --- 105 | 106 | ## 스택 중지 및 정리 107 | 108 | ```bash 109 | docker compose down --volumes 110 | ``` 111 | 112 | - `--volumes`: 정의된 볼륨까지 함께 삭제 \ 113 | ※ 주의 : 볼륨을 삭제할 경우 다운로드한 모델까지 같이 삭제됨 114 | 115 | --- 116 | 117 | > **🎉축하합니다!** 118 | > 이로써 Docker를 이용하여 **로컬 ChatGPT 환경**을 성공적으로 구축하였습니다. 119 | -------------------------------------------------------------------------------- /book/docs/appendix.md: -------------------------------------------------------------------------------- 1 | # Appendix: -------------------------------------------------------------------------------- /book/docs/github_intro.md: -------------------------------------------------------------------------------- 1 | # Github 저장소 프로필 업데이트하기 2 | 3 | PseudoLab 빌더와 러너를 위한 튜토리얼 페이지입니다. 4 | 5 | 이 튜토리얼에서는 PseudoLab 프로젝트를 시작하기 전에 필요한 Github 기본 사용법을 단계별로 학습합니다: 6 | 1. Github 저장소 프로필 업데이트 방법 7 | 2. Github.dev 편집기를 활용한 코드 작성 방법 8 | 3. Github 파일 편집기를 통한 프로젝트 관리 방법 9 | 4. 실제 프로젝트 기여 실습 10 | 11 | 각 단계별로 상세한 가이드를 제공하며, 실습을 통해 직접 경험해볼 수 있습니다. 12 | 13 | ## 목차 14 | 15 | - [Github.dev 편집기로 작업하기](docs/pr-guide.md) 16 | - [Github 파일 편집기로 작업하기](docs/pull_request_guide.md) 17 | - [직접해보기](docs/pr-ground.md) -------------------------------------------------------------------------------- /book/docs/pr-ground.md: -------------------------------------------------------------------------------- 1 | # PR을 실습해보세요! 👥 2 | 3 | > [PR 실습 가이드](pr-guide.md)를 참고하여 아래 표에 본인의 간단한 인사와 스터디에 대한 기대를 작성한 후 첫 번째 PR을 생성해 보세요. 4 | 5 | ## Welcome to PseudoLab! 6 | 7 | | 이름 | GitHub | 한줄 인사 | 8 | |-----|--------|-------| 9 | | 김개발 | [@kim-dev](https://github.com/) | 안녕하세요! 개발 중독자 입니다. | 10 | | 김예신 | [@yesinkim](https://github.com/yesinkim) | 반갑습니다. 방가방가 :) | -------------------------------------------------------------------------------- /book/docs/pr-guide.md: -------------------------------------------------------------------------------- 1 | # Github.dev 편집기로 작업하기 🚀 2 | 아래의 가이드를 따라하면서 직접 PR을 올려보아요! 3 | 4 | **실습 가이드** 5 | > 이 가이드는 [DevFactory 리포지토리](https://github.com/Pseudo-Lab/DevFactory)를 fork하여, IDE 환경에서 진행하는 것을 전제로 작성되었습니다.
자세한 fork 방법은 [이 문서](./pull_request_guide.md)를 참고하세요. 6 | 7 | **Github.dev 편집기 실행하기** 8 | 9 | ![Github.dev 편집기 실행하기](../assets/imgs/pratice-guide/guide0.png) 10 | 11 | ## 0. 미리보기 화면 세팅하기 (Optional) 12 | 13 | `book/docs/ground.md` 파일을 열어 참여자 목록 테이블에 자신의 정보를 `markdown`으로 작성해주세요. 14 | 오른쪽 상단의 미리보기 버튼을 클릭하면 작성한 Markdown이 어떻게 보이는지 확인할 수 있습니다. 15 | 16 | ![Markdown 미리보기](../assets/imgs/pratice-guide/guide1.png) 17 | 18 | 19 | 작업화면 오른편에 미리보기 화면이 생겼습니다! 20 | ![미리보기 확인](../assets/imgs/pratice-guide/guide2.png) 21 | 22 | 23 | ## 1. 한줄 인사 작성하기 24 | 아래 양식을 참고해 작성해보세요! 25 | 26 | ```markdown 27 | | 이름 | GitHub | 한줄 인사 | 28 | |-----|--------|-------| 29 | | 김개발 | [@kim-dev](https://github.com/) | 안녕하세요! 개발 중독자 입니다. | 30 | ``` 31 | 32 | 33 | 34 | ## 2. 변경사항 추가하기 35 | 36 | 아래 처럼 변경사항을 작성했습니다. 37 | 1번을 눌러 코드 관리 툴에 접근해 2번 버튼으로 변경 사항을 추가해주세요. 38 | 39 | ![변경사항 커밋](../assets/imgs/pratice-guide/guide3.png) 40 | 41 | ## 4. 커밋 및 푸시하기 42 | ![PR 생성하기](../assets/imgs/pratice-guide/guide4.png) 43 | 44 | 45 | ## 5. Pull Request 생성하기 46 | 47 | GitHub에서 Pull Request를 생성합니다. PR 제목과 내용을 작성하고 'Create pull request' 버튼을 클릭합니다. 48 | 49 | 50 | 51 | > **TIP**
PR 제목은 명확하게, 내용은 상세하게 작성해주세요. 변경사항에 대한 설명과 함께 리뷰어가 이해하기 쉽도록 작성하면 좋습니다. 52 | 53 | -------------------------------------------------------------------------------- /book/docs/pull_request_guide.md: -------------------------------------------------------------------------------- 1 | # Github 파일 편집기로 작업하기 🚀 2 | 3 | ## Pull Request(PR) 소개 4 | 5 | **Pull Request(PR)** 는 오픈소스 프로젝트나 조직의 저장소에 직접적인 수정 권한이 없는 사용자가 변경 사항을 제안하고 반영할 수 있도록 하는 협업 도구입니다. 6 | 7 | 🚀 PR을 사용하는 주요 이유: 8 | - 저장소에 직접적인 쓰기 권한이 없는 경우에도 기여 가능 9 | - 코드 리뷰를 통해 더 나은 품질의 코드 유지 10 | - 여러 기여자가 같은 프로젝트에서 안전하게 협업 가능 11 | 12 | 보통 팀 프로젝트나 오픈소스 프로젝트에서는 직접 코드 변경이 불가능하기 때문에, 13 | PR을 생성하고 관리자의 검토 후 병합(merge)하는 방식으로 기여합니다. 14 | 15 | 📖 이 가이드에서는 스터디 리포지토리에 프로필을 업데이트하는 과정을 통해 PR 사용법을 익혀보겠습니다. 16 | 17 | ## PR을 활용해 스터디 리포지토리 프로필 업데이트 하기 18 | GitHub에서는 저장소에 **직접적인 수정 권한이 없는 경우**, 변경 사항을 적용하려면 **Pull Request(PR)** 를 통해 기여해야 합니다. 19 | 따라서, 스터디 리포지토리에 수정 권한이 없다면 먼저 자신의 GitHub 계정으로 **Fork(포크)** 해야 합니다. 20 | 21 | 45 | ### 1️⃣ 저장소 포크(Fork)하기 46 | 47 | 1. GitHub에서 본인의 스터디 저장소로 이동합니다.
본 가이드에서는 [DevFactory 리포지토리](https://github.com/Pseudo-Lab/DevFactory)를 예시로 사용합니다. 48 | 49 | 2. 본인이 속한 스터디 저장소에서 오른쪽 상단의 **Fork** 버튼을 클릭합니다. 50 | ![](../assets/imgs/git-tutorial/git-tutorial-step1.png) 51 | 52 | 3. **Create fork** 버튼을 클릭합니다. 53 | ![](../assets/imgs/git-tutorial/git-tutorial-step2.png) 54 | 55 | ### 2️⃣ 프로필 내용 추가하기 56 | 1. 포크한 저장소의 최상위 디렉터리에서 [README.md](https://github.com/Pseudo-Lab/DevFactory/blob/main/README.md) 파일을 열고, 프로필에 해당하는 영역을 찾습니다.
57 | 📌 포크가 완료된 저장소는 본인 Github 저장소에 존재합니다.
58 | ![](../assets/imgs/git-tutorial/git-tutorial-step3.png) 59 | 60 | 2. 프로필 코드 한줄을 복사하여 본인 프로필에 맞게 내용을 수정하시면 됩니다.
61 | ![](../assets/imgs/git-tutorial/git-tutorial-step4.png) 62 | 63 | 3. 내용 변경 후 **Commit changes...** 버튼을 클릭합니다.
64 | ![](../assets/imgs/git-tutorial/git-tutorial-step5.png) 65 | 66 | 4. **Badge 추가하기(Option)**
67 | 추가적인 Badge(아이콘)를 생성하려면 [Shields.io](https://shields.io)를 참고하세요.
68 | 이 사이트에서 다양한 스타일의 배지를 만들고, Markdown 형식으로 쉽게 적용할 수 있습니다. 69 | 70 | ### 3️⃣ 변경 사항 스테이징 및 커밋 + 변경 사항을 GitHub에 푸시하기 71 | 1. 아래와 같이 commit 메시지와 설명을 작성하고, **Commit changes** 버튼을 클릭합니다.
72 | ![](../assets/imgs/git-tutorial/git-tutorial-step6.png) 73 | 74 | 2. 커밋 및 Push가 완료되면, Fork한 저장소에서 다음과 같이 내용이 업데이트 됩니다.
75 | ![](../assets/imgs/git-tutorial/git-tutorial-step7.png) 76 | 77 | ### 4️⃣ Pull Request 생성 78 | 1. 현재 변경 사항은 **포크한 저장소**에만 반영된 상태이므로, 원본 저장소에 적용하려면 PR을 생성해야 합니다. 79 | 2. **포크한 저장소**에서 **Contribute** 버튼을 클릭한 후, **Open pull request** 버튼 클릭을 선택하여 PR을 생성합니다.
80 | ![](../assets/imgs/git-tutorial/git-tutorial-step8.png) 81 | 82 | 3. 변경사항에 대한 내용을 간략히 작성한 뒤 **Create pull request** 버튼을 클릭합니다. 83 | ![](../assets/imgs/git-tutorial/git-tutorial-step9.png) 84 | 85 | ### 5️⃣ PR 리뷰 및 업데이트 86 | PR이 생성되면 빌더 또는 스터디원이 변경된 내용을 검토하고, 문제가 없으면 승인합니다.
87 | ![](../assets/imgs/git-tutorial/git-tutorial-step10.png) 88 | 89 | ### 6️⃣ Pull Request 병합 90 | PR이 승인되면 다음 단계로 병합할 수 있습니다. 91 | 1. GitHub에서 **Merge Pull Request** 버튼 클릭. 92 | 2. 더 이상 필요하지 않은 경우 브랜치를 삭제합니다. 93 | 94 | 이제 프로필 업데이트가 완료되었습니다! 95 | -------------------------------------------------------------------------------- /book/intro.md: -------------------------------------------------------------------------------- 1 | # PseudoLab Tutorial 2 | 3 | PseudoLab 빌더와 러너를 위한 튜토리얼 페이지입니다. 4 | 다양한 컨텐츠가 업데이트될 예정입니다. 5 | 6 | 튜토리얼 목차는 다음과 같습니다. 7 | 8 | 1. Github 저장소 프로필 업데이트하기
9 | - Github 파일 편집기로 작업하기
10 | - Github.dev 편집기로 작업하기
11 | - 직접해보기 12 | 13 | 2. 나만의 local ChatGPT 만들기: Docker 실습 튜토리얼
14 | - 시작하기
15 | - Pytorch example
16 | - Docker란 무엇인가?
17 | - Docker 기본 명령어 실습
18 | - Docker Compose 개념 & 실습
19 | -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: '3.8' 2 | 3 | services: 4 | frontend: 5 | build: 6 | context: ./frontend 7 | ports: 8 | - "8080:80" # 내부 80포트를 8080으로 매핑 9 | restart: always 10 | 11 | # backend: 12 | # build: 13 | # context: ./backend 14 | # container_name: backend 15 | # ports: 16 | # - "8000:8000" 17 | # restart: always 18 | -------------------------------------------------------------------------------- /docs/10th_plan.md: -------------------------------------------------------------------------------- 1 | # DevFactory 10th 2 | 3 | ## 🌟 프로젝트 목표 (Project Vision) 4 | _"가짜연구소의 개발 문화를 만들어가는 DevFactory"_ 5 | - 신규 러너들의 Git 사용을 위한 Git Tutorial 6 | - 수도콘 네트워킹 프로그램 개발 7 | - 가짜연구소 수료증 발급 시스템 개발 8 | - 가짜연구소 개발 문화를 위해 꾸준히 노력하기 9 | 10 | ## 🚀 프로젝트 로드맵 (Project Roadmap) 11 | ```mermaid 12 | gantt 13 | title 2025 DevFactory 개발라인 여정 14 | section 핵심 마일스톤 15 | OT : a1, 2025-02-17, 1w 16 | Git Tutorial :a2, after a1, 2w 17 | 가짜연구소 플랫폼 기획 :a3, after a2, 1w 18 | sample page 개발 :a4, after a3, 1w 19 | 20 | 홈페이지 운영 환경 구축 :a5, after b1, 2w 21 | 인증서/수료증 발급 기능 개발 part 1 :a6, after a5, 1w 22 | PseudoCon 프로젝트 : a7, after a6, 4w 23 | 인증서/수료증 발급 기능 개발 part 2 :a8, after a7, 1w 24 | 컨텐츠 요청 기능 개발 :a9, after a8, 2w 25 | UI/UX 개선 :a10, after a9, 2w 26 | ✨Magical Week :b1, 2025-03-23, 1w 27 | ✨Magical Week :b2, 2025-04-27, 1w 28 | PseudoCon : 2025-05-17, 1d 29 | ``` 30 | 31 | ## 📈 성과 지표 (Achievement Metrics) 32 | **2025 주요 KPI** 33 | | 지표 | 목표치 | 현재 진행률 | 34 | | -------------- | ---- | ----------- | 35 | | 튜토리얼 및 데모 제작 수 | 3 개 | 2 개 (66.7%) | 36 | | 커밋 수 | 500 Commit | 270 Commit (54%) | 37 | | 플랫폼 방문수 | 200 회 | 110 회 (55%) | 38 | 39 | 40 | ## 💻 주차별 활동 (Activity History) 41 | 42 | | 날짜 | 내용 | 발표자 | 43 | | -------- | -------- |:----:| 44 | | 2025/02/19 | OT | DevFactory | 45 | | 2025/02/26 | Github Tutorial 기획 및 문서 작성 | DevFactory | 46 | | 2025/03/05 | Github Tutorial 최종 수정 및 배포| DevFactory | 47 | | 2025/03/12 | 가짜연구소 플랫폼 기획 | DevFactory | 48 | | 2025/03/19 | Sample page 개발 | DevFactory | 49 | | 2025/03/26 | ✨1st Magical Week | - | 50 | | 2025/04/02 | 운영 환경 구축 및 코드 컨벤션 논의 | DevFactory | 51 | | 2025/04/09 | 코드 컨벤션 문서 작성 or 적용 | DevFactory | 52 | | 2025/04/16 | 인증서/수료증 발급 기능 개발 Part 1. | DevFactory | 53 | | 2025/04/23 | PseudoCon 프로젝트 기획 및 개발 착수 | DevFactory | 54 | | 2025/04/30 | ✨2nd Magical Week | - | 55 | | 2025/05/07 | PseudoCon 프로젝트 개발 진행 | DevFactory | 56 | | 2025/05/14 | PseudoCon 프로젝트 테스트 | DevFactory | 57 | | 2025/05/17 | ✨PseudoCon | - | 58 | | 2025/05/21 | PseudoCon 프로젝트 회고 | DevFactory | 59 | | 2025/05/28 | 인증서/수료증 발급 기능 개발 Part 2. | DevFactory | 60 | | 2025/06/04 | 컨텐츠 요청 기능 개발 Part 1. | DevFactory | 61 | | 2025/06/11 | 컨텐츠 요청 기능 개발 Part 2. | DevFactory | 62 | | 2025/06/18 | 가짜연구소 플랫폼 UI/UX 개선 Part 1. | DevFactory | 63 | | 2025/06/25 | 가짜연구소 플랫폼 UI/UX 개선 Part 2. | DevFactory | 64 | | 2025/07/02 | 10th DevFactory 마무리 회식 | DevFactory | 65 | 66 | 67 | 68 | ## 💡 학습 자원 (Learning Resources) 69 | **우리가 만든 지식 허브** 70 | - [Git tutorial](https://pseudo-lab.github.io/DevFactory/docs/github_intro.html) 71 | - [Docker tutorial](https://pseudo-lab.github.io/DevFactory/docker_tutorial/00.docker_intro.html) 72 | -------------------------------------------------------------------------------- /docs/docker_tutorial/00.pytorch_example.md: -------------------------------------------------------------------------------- 1 | # Pytorch example 2 | 3 | ## 예제 코드 실행해보기 4 | 아래 예제 코드를 현재 환경에서 실행시켜봅시다. 5 | 6 | ```python 7 | # -*- coding: utf-8 -*- 8 | import numpy as np 9 | import math 10 | 11 | # 무작위로 입력과 출력 데이터를 생성합니다 12 | x = np.linspace(-math.pi, math.pi, 2000) 13 | y = np.sin(x) 14 | 15 | # 무작위로 가중치를 초기화합니다 16 | a = np.random.randn() 17 | b = np.random.randn() 18 | c = np.random.randn() 19 | d = np.random.randn() 20 | 21 | learning_rate = 1e-6 22 | for t in range(2000): 23 | # 순전파 단계: 예측값 y를 계산합니다 24 | # y = a + b x + c x^2 + d x^3 25 | y_pred = a + b * x + c * x ** 2 + d * x ** 3 26 | 27 | # 손실(loss)을 계산하고 출력합니다 28 | loss = np.square(y_pred - y).sum() 29 | if t % 100 == 99: 30 | print(t, loss) 31 | 32 | # 손실에 따른 a, b, c, d의 변화도(gradient)를 계산하고 역전파합니다. 33 | grad_y_pred = 2.0 * (y_pred - y) 34 | grad_a = grad_y_pred.sum() 35 | grad_b = (grad_y_pred * x).sum() 36 | grad_c = (grad_y_pred * x ** 2).sum() 37 | grad_d = (grad_y_pred * x ** 3).sum() 38 | 39 | # 가중치를 갱신합니다. 40 | a -= learning_rate * grad_a 41 | b -= learning_rate * grad_b 42 | c -= learning_rate * grad_c 43 | d -= learning_rate * grad_d 44 | 45 | print(f'Result: y = {a} + {b} x + {c} x^2 + {d} x^3') 46 | ``` 47 | 48 | ## 예상되는 결과 49 | 1. Python 미설치 50 | ```bash 51 | bash: python: command not found 52 | ``` 53 | 54 | 2. NumPy 미설치 55 | ```vbnet 56 | Traceback (most recent call last): 57 | File "example.py", line 1, in 58 | import numpy as np 59 | ModuleNotFoundError: No module named 'numpy' 60 | ``` 61 | 62 | 3. 코드 실행 63 | ```bash 64 | Step 100 — loss: 1234.56 65 | Step 200 — loss: 789.01 66 | … 67 | 최종 모델: y = 0.0012 + 1.0003 x + … 68 | ``` 69 | 이처럼 환경 차이로 인해 같은 코드를 실행해도 전혀 다른 결과가 나타날 수 있습니다. 70 | 이런 예기치 못한 문제를 방지하려면, **동일한 실행 환경**을 갖춰야 합니다. 71 | 72 | ### Ref. 73 | PyTorch Tutorials “PyTorch with Examples”, https://tutorials.pytorch.kr/beginner/pytorch_with_examples.html -------------------------------------------------------------------------------- /docs/docker_tutorial/01.what_is_docker.md: -------------------------------------------------------------------------------- 1 | # Docker의 개념과 필요성 2 | ## Docker란 무엇인가? 3 | Docker의 공식 홈페이지에서는 Docker를 아래와 같이 정의하고 있습니다. 4 | 5 | > Docker는 애플리케이션 개발, 배포 및 실행을 위한 개방형 플랫폼입니다. 6 | > Docker를 사용하면 애플리케이션과 인프라를 분리하여 소프트웨어를 신속하게 배포할 수 있습니다. 7 | > 또한 애플리케이션 관리 방식과 동일한 방법으로 인프라를 관리할 수 있으며, 8 | > 코드 배포·테스트·배포 방법론을 활용해 코드 작성부터 프로덕션 실행까지의 지연 시간을 크게 줄일 수 있습니다. 9 | 10 | 여기서 집중해야할 부분은 **애플리케이션과 인프라를 분리**하여 소프트웨어를 배포한다는 점입니다. 11 | 12 | ### 핵심 개념 13 | - **컨테이너 기반 가상화** 기술 14 | - 호스트 커널을 공유하면서도 프로세스·네트워크·파일시스템을 격리 15 | - 전통적 VM 대비 훨씬 가볍고 빠름 16 | 17 | - **이미지(Image)** 18 | - 애플리케이션 실행에 필요한 파일·라이브러리 스냅샷 19 | - Dockerfile로 정의하고, 계층(layer) 단위로 캐시 활용 20 | 21 | - **컨테이너(Container)** 22 | - 이미지의 실행 인스턴스 23 | - 생성·시작·중지·삭제가 자유롭고, 일관된 실행 환경을 보장 24 | 25 | ## 왜 Docker가 필요한가? 26 | #### 환경 일관성 보장 27 | - "제 PC에서는 잘 되는데요?" 문제 해결 28 | - 개발 · 테스트 · 프로덕션 전 단계에서 동일한 환경 제공 29 | 30 | #### 높은 이식성(Portability) 31 | - 로컬 노트북, 온프레미스 서버, 퍼블릭 클라우드 **어디서나 실행** 32 | - 레지스트리(Docker Hub, Private Registry)에 이미지를 중앙화 33 | 34 | #### 빠른 배포 및 스케일링 35 | - 컨테이너 단위로 서비스 확장·축소 36 | - 오케스트레이션(Kubernetes, Docker Swarm)과 연동해 자동 스케일링 37 | 38 | #### 리소스 효율성 39 | - VM 대비 오버헤드 적음 → 동일 하드웨어에서 더 많은 워크로드 실행 40 | - cgroups를 통한 CPU·메모리 제한 가능 41 | 42 | #### 협업 및 CI/CD 최적화 43 | - 컨테이너 이미지를 코드처럼 버전 관리 44 | - 파이프라인 내 `docker build` → `docker push` → `docker run`을 통한 자동화 45 | 46 | ## Image & Container 47 | ### 이미지(Image) 48 | 49 | - **정의** 50 | 읽기 전용 템플릿(스냅샷)으로, 컨테이너 실행에 필요한 애플리케이션 코드·라이브러리·설정 파일을 **레이어(layer)** 단위로 저장 51 | - **특징** 52 | - **불변(Immutable)**: 한 번 빌드된 이미지는 변경되지 않음 53 | - **레이어 캐시**: 변경 없는 레이어는 재빌드하지 않아 빌드 속도 및 저장 효율 증가 54 | - **공유 가능**: 여러 이미지가 동일한 레이어를 참조 55 | - **주요 명령어** 56 | - `docker build -t <이름>:<태그> .` → Dockerfile로 이미지 생성 57 | - `docker images` → 로컬 이미지 목록 58 | - `docker pull <이미지>` / `docker push <이미지>` → 레지스트리와 동기화 59 | 60 | ### 컨테이너(Container) 61 | 62 | - **정의** 63 | 이미지에 **읽기-쓰기 레이어**를 더해 실제 프로세스가 실행되는 인스턴스 64 | 65 | - **특징** 66 | - **격리(Isolation)**: 네트워크, 프로세스, 파일시스템이 분리 67 | - **라이프사이클**: 생성(create) → 시작(start) → 중지(stop) → 삭제(rm) 68 | - **일관성**: 어디서 실행해도 동일 동작 보장 69 | 70 | - **주요 명령어** 71 | - `docker run <이미지>` → 컨테이너 생성·시작 72 | - `docker ps` / `docker ps -a` → 실행 중/전체 컨테이너 73 | - `docker exec -it <컨테이너>` → 내부 명령 실행 74 | - `docker stop/start/rm <컨테이너>` → 중지·재시작·삭제 75 | 76 | 지금까지 Docker의 개념과 필요성을 살펴보았습니다. 77 | 다음 세션에서는 Docker 기본 명령어(`docker run`, `docker ps`, `docker exec`, `docker logs` 등)를 직접 실습하며 컨테이너를 생성하고 관리하는 방법을 배워봅니다. 78 | -------------------------------------------------------------------------------- /docs/docker_tutorial/03.docker-compose.md: -------------------------------------------------------------------------------- 1 | # Docker Compose 개념 & 실습 2 | 3 | Docker Compose는 “여러 컨테이너를 하나의 애플리케이션으로 정의·실행”하기 위한 도구입니다. 4 | 여러 서비스를 하나의 설정 파일(`docker-compose.yml`)에 선언하고, 단일 명령으로 전체 스택을 관리할 수 있습니다. 5 | 6 | ## Docker compose 7 | 8 | ### Compose의 역할 9 | - 여러 컨테이너(서비스)를 선언적(Declarative)으로 정의 10 | - 네트워크, 볼륨, 의존성 등 설정을 코드로 관리 11 | - 개발·테스트·CI 환경에서 동일한 스택을 쉽게 재현 12 | 13 | ### 주요 구성 요소 14 | - **services** 15 | - 애플리케이션을 구성하는 각 컨테이너(service)를 정의 16 | - **networks** (Option) 17 | - 서비스 간 통신을 위한 네트워크 설정 18 | - **volumes** (Option) 19 | - 컨테이너를 지워도 데이터가 사라지지 않도록 호스트의 디스크나 Docker 볼륨을 연결하여 파일을 보관 20 | - **depends_on** (Option) 21 | - 서비스 간 “시작 순서” 의존성을 선언 22 | 23 | ### 장점 24 | - **일관성**: 로컬 · CI · 프로덕션에서 동일한 설정 25 | - **편의성**: `up`·`down`·`logs`만으로 전체 스택 관리 26 | - **버전 관리**: YAML 파일로 Git에 커밋 가능 27 | 28 | ## Docker compose example 29 | 30 | 아래 예제는 **웹 서버(Nginx) + Redis** 스택입니다. 31 | 32 | ### 프로젝트 구조 33 | ``` 34 | . 35 | ├── docker-compose.yaml 36 | └── html/ 37 | └── index.html 38 | ``` 39 | 40 | ### `docker-compose.yaml` 작성 41 | ```yaml 42 | version: "3.8" # Compose 파일 형식 버전 43 | 44 | services: 45 | web: # 웹 서버 서비스 정의 46 | image: nginx:stable-alpine # 경량 Alpine 기반 Nginx 공식 이미지 사용 47 | ports: 48 | - "8080:80" # 호스트 8080 포트를 컨테이너 80 포트로 포워딩 49 | volumes: 50 | - ./html:/usr/share/nginx/html:ro 51 | # 로컬의 html/ 디렉터리를 컨테이너의 웹 루트(/usr/share/nginx/html)에 52 | # 읽기 전용(ro)으로 마운트 53 | depends_on: 54 | - redis # web 서비스가 시작되기 전에 redis 서비스가 먼저 기동되도록 설정 55 | 56 | redis: # Redis 서비스 정의 (캐시/데이터 저장소) 57 | image: redis:6-alpine # 경량 Alpine 기반 Redis 6 공식 이미지 사용 58 | volumes: 59 | - redis-data:/data # named volume 'redis-data'를 컨테이너의 /data에 마운트하여 60 | # 데이터 영속성 확보 61 | 62 | volumes: 63 | redis-data: # named volume 정의 64 | # - Redis 컨테이너가 삭제되어도 데이터가 유지됨 65 | # - 호스트에서 위치는 Docker가 관리하며 필요 시 직접 마운트 가능 66 | ``` 67 | 68 | ### `html/index.html` 작성 69 | ```html 70 | 71 | Hello World ! 72 | ``` 73 | 74 | ## `docker compose up` 75 | - **역할** 76 | - `docker-compose.yml`에 정의된 모든 서비스를 **생성**하고 **시작**합니다. 77 | 78 | - **주요 옵션** 79 | - `-d`, `--detach` : 백그라운드 모드로 실행 80 | - `--build` : 시작 전에 이미지 재빌드 81 | - `--force-recreate` : 기존 컨테이너를 강제로 재생성 82 | - `--remove-orphans` : YAML 파일에 없는 이전에 생성된 컨테이너(orphans)를 삭제 83 | 84 | 85 | ## `docker compose down` 86 | - **역할** 87 | - up으로 생성한 컨테이너, 네트워크, 기본적으로 생성된 볼륨 등을 일괄 삭제합니다. 88 | 89 | - **주요 옵션** 90 | - `--volumes` : 정의된 named volumes까지 함께 삭제 91 | - `--remove-orphans` : 현재 YAML에 없는 orphan 컨테이너도 삭제 92 | 93 | ## `docker compose ps` 94 | - **역할** 95 | - Compose 프로젝트 내 서비스별 컨테이너 상태를 조회합니다. 96 | 97 | - **주요 옵션** 98 | - `-a`, `--all` : 중지된 컨테이너까지 모두 표시 99 | - `--services` : 서비스 이름만 나열 100 | 101 | 102 | ## `docker compose logs` 103 | - **역할** 104 | - 전체 또는 특정 서비스의 로그를 조회 및 실시간 스트리밍합니다. 105 | 106 | - **주요 옵션** 107 | - `-f`, `--follow` : 실시간 로그 스트리밍 108 | - `--tail ` : 최근 N줄만 출력 109 | - `--timestamps` : 로그에 타임스탬프 포함 110 | 111 | ## 실습 112 | ```bash 113 | # 백그라운드 실행 114 | docker compose up -d 115 | 116 | # 실행 중인 컨테이너 조회 117 | docker compose ps 118 | 119 | # web 서비스 로그 120 | docker compose logs web 121 | 122 | # 전체 서비스 실시간 로그 123 | docker compose logs -f 124 | 125 | # 컨테이너·네트워크·볼륨(옵션) 일괄 제거 126 | docker compose down --volumes 127 | ``` 128 | 129 | > **Tip**: 130 | > - `docker compose build`로 서비스 이미지를 재빌드할 수 있습니다. 131 | > - `docker compose up --build` 로 실행 시 자동 빌드 후 재시작합니다. 132 | 133 | --- 134 | 135 | 이제 Docker에 대한 기본 명령어들을 모두 익혔습니다. 136 | 다음 챕터에서는 Docker를 이용해서 Ollama 내 로컬에 띄워봅시다. 137 | -------------------------------------------------------------------------------- /docs/docker_tutorial/04.ollama.md: -------------------------------------------------------------------------------- 1 | # Ollama로 로컬 LLM 실행 2 | 3 | 이번 세션에서는 Docker를 이용하여 **Ollama 서버**를 띄우고, 로컬 환경에서 대규모 언어 모델(LLM)을 간편하게 실행하는 방법을 실습합니다. 4 | 5 | --- 6 | 7 | ## Ollama란? 8 | 9 | - **로컬에서 실행 가능한 경량 LLM 서버** 10 | - ChatGPT 호환 API를 제공해 누구나 자신의 머신에서 손쉽게 LLM을 사용 가능 11 | - GPU가 있으면 가속 활용 가능, 없으면 CPU로도 실행 가능 12 | 13 | - GitHub Repository : https://github.com/ollama/ollama 14 | 15 | --- 16 | 17 | ## Ollama Docker 이미지 가져오기 18 | 19 | Ollama 팀이 제공하는 [공식 이미지](https://hub.docker.com/r/ollama/ollama) 사용 20 | 21 | ```bash 22 | docker pull ollama/ollama 23 | ``` 24 | 25 | - 최신 이미지 Pull 26 | - 특정 버전 사용 시:`ollama/ollama:` 형식으로 지정 가능 27 | 28 | ## Ollama 서버 컨테이너 실행 29 | 30 | ```bash 31 | docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 32 | 33 | ``` 34 | 35 | - `-d` : 백그라운드 모드로 실행 36 | - `--name ollama` : 컨테이너 이름 지정 37 | - `-v ollama:/root/.ollama` : 모델·설정 파일을 named volume에 영구 저장 38 | - `-p 11434:11434` : 호스트 포트 11434 ↔ 컨테이너 포트 11434 매핑 (API 접근용) 39 | 40 | ## Ollama 서버 정상 기동 확인 41 | 42 | **컨테이너 상태 확인** 43 | ```bash 44 | docker ps 45 | ``` 46 | 47 | **예상 출력** 48 | ```bash 49 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50 | 0cae5a78228c ollama/ollama "/bin/ollama serve" 12 seconds ago Up 12 seconds 0.0.0.0:11434->11434/tcp ollama 51 | ``` 52 | 53 | ## `ollama` 컨테이너 실행 여부 확인 54 | **API 엔드포인트 접근 테스트** 55 | ```bash 56 | curl http://localhost:11434/api/tags 57 | ``` 58 | - 설치된 모델 목록이 출력되거나 빈 배열(`[]`) 반환 59 | 60 | ## Gemma 3 모델 다운로드 61 | - 개인 PC에서도 사용할 수 있도록 가벼운 gemma 3 모델 다운로드 62 | - 다양한 모델을 다운로드하여 사용 가능 63 | 64 | ### bash 65 | ```bash 66 | docker exec ollama ollama pull gemma3 67 | ``` 68 | 69 | ### REST API 70 | ```bash 71 | curl http://localhost:11434/api/pull -d '{ 72 | "model": "gemma3" 73 | }' 74 | ``` 75 | 76 | ## Gemma3 모델로 질문하기 77 | ### bash 78 | ```bash 79 | ``` 80 | 81 | ### REST API 82 | ```bash 83 | curl -s http://localhost:11434/api/generate -d '{ 84 | "model": "gemma3", 85 | "prompt": "Why is the sky blue?", 86 | "options": { 87 | "num_predict": 10 88 | } 89 | }' 90 | ``` 91 | 92 | ## Ollama 서버 주요 기능 93 | 94 | - 모델 다운로드 · 실행 (CLI 명령어, REST API) 95 | - OpenAI API 호환 서버로 활용 가능 96 | - 로컬 PC 또는 서버에 자체 LLM 인프라 구축 가능 97 | 98 | --- 99 | 100 | **다음 세션**에서는 Ollama 위에 **Open-webui**를 띄워 웹 브라우저로 대화형 AI를 사용해 봅시다. 101 | -------------------------------------------------------------------------------- /docs/docker_tutorial/05.webui.md: -------------------------------------------------------------------------------- 1 | # Open-WebUI 실행 2 | 3 | 이번 세션에서는 **Open-WebUI** 리포지토리(https://github.com/open-webui/open-webui)를 참고하여, Docker 컨테이너로 Web UI를 실행하고 Ollama 서버와 연동하는 방법을 실습합니다. 4 | 5 | --- 6 | 7 | ## Open-WebUI란? 8 | 9 | - **Open-WebUI**: 오픈소스 웹 기반 LLM 인터페이스 10 | - 깔끔한 React/Next.js 프론트엔드로, 다양한 로컬 LLM 서버(예: Ollama, llama.cpp)와 연동 가능 11 | - GitHub Repository : https://github.com/open-webui/open-webui 12 | 13 | --- 14 | 15 | ## Open-WebUI Docker 이미지 가져오기 16 | 17 | ```bash 18 | docker pull ghcr.io/open-webui/open-webui:git-1349bc4-cuda 19 | ``` 20 | 21 | - GitHub Container Registry에서 `git-1349bc4-cuda` 태그의 이미지를 가져옵니다. 22 | (2025.04.27, 현재 latest 버전 다운로드 오류 발생) 23 | 24 | --- 25 | 26 | ## Open-WebUI 컨테이너 실행 27 | 28 | ```bash 29 | docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \ 30 | -v open-webui:/app/backend/data --name open-webui --restart always \ 31 | ghcr.io/open-webui/open-webui:git-1349bc4-cuda 32 | ``` 33 | 34 | - `-d` : 백그라운드(detached) 모드로 컨테이너를 실행합니다. 35 | - `-p 3000:8080` : 호스트의 포트 3000을 컨테이너 내부의 8080 포트와 연결하여, 브라우저에서 `http://localhost:3000`으로 접속 시 Open-WebUI에 접근합니다. 36 | - `--add-host=host.docker.internal:host-gateway` : 컨테이너 내에서 `host.docker.internal` 호스트명을 호스트 머신의 게이트웨이 주소로 매핑하여, Ollama 서버 등 호스트의 서비스에 쉽게 접근할 수 있도록 설정합니다. 37 | - `-v open-webui:/app/backend/data` : `open-webui`라는 named volume을 컨테이너의 `/app/backend/data`에 마운트하여, 캐시된 모델 파일과 사용자 설정 데이터를 영구 저장합니다. 38 | - `--name open-webui` : 컨테이너 이름을 `open-webui`로 지정하여, 이후 명령에서 편리하게 참조할 수 있습니다. 39 | - `--restart always` : 컨테이너가 중단되거나 Docker가 재시작된 경우에도 자동으로 재실행되도록 설정합니다. 40 | - `ghcr.io/open-webui/open-webui:git-1349bc4-cuda` : GitHub Container Registry의 Open-WebUI CUDA 빌드 태그 이미지입니다. 41 | 42 | ## Web UI 접속 및 사용 43 | 44 | - 브라우저에서 [http://localhost:3000](http://localhost:3000) 접속 45 | - 로그인 진행 -> 임의의 값을 넣어줘도 상관없음 46 | - 좌측 패널에서 **Ollama** 백엔드 선택 47 | - 다운로드 했던 **gemma3** 모델을 선택 후 프롬프트 입력 48 | - **Send** 버튼 클릭하여 응답 확인 49 | 50 | ## Ollama 모델 추가하기 51 | 52 | ```bash 53 | docker exec ollama ollama pull gemma3:1b 54 | ``` 55 | 56 | 모델 다운로드 이후 브라우저를 새로고침하고 모델이 추가된 것을 확인합니다. 57 | 58 | --- 59 | 60 | **다음 세션**에서는 **Docker Compose**로 Ollama 서버와 Open-WebUI를 함께 띄우는 방법을 배워봅시다. 61 | -------------------------------------------------------------------------------- /docs/docker_tutorial/06.ollama_and_webui.md: -------------------------------------------------------------------------------- 1 | # Ollama + WebUI (Docker Compose) 2 | 3 | 이번 세션에서는 **Docker Compose**를 사용해 **Ollama 서버**와 **Open-WebUI**를 동시에 실행하는 전체 스택을 구성합니다. 4 | 단일 `docker compose up` 명령만으로 LLM 서버와 웹 인터페이스가 함께 기동됩니다. 5 | 6 | --- 7 | 8 | ## 디렉터리 구조 9 | 10 | ``` 11 | └── ollama-webui/ 12 | └── docker-compose.yaml 13 | ``` 14 | 15 | --- 16 | 17 | ## `docker-compose.yaml` 작성 18 | 19 | ```yaml 20 | version: "3.8" 21 | 22 | services: 23 | ollama: 24 | image: ollama/ollama 25 | container_name: ollama 26 | volumes: 27 | - ollama-data:/root/.ollama 28 | ports: 29 | - "11434:11434" 30 | 31 | open-webui: 32 | image: ghcr.io/open-webui/open-webui:git-1349bc4-cuda 33 | container_name: open-webui 34 | depends_on: 35 | - ollama 36 | ports: 37 | - "3000:8080" 38 | volumes: 39 | - open-webui-data:/app/backend/data 40 | extra_hosts: 41 | - "host.docker.internal:host-gateway" 42 | restart: always 43 | 44 | volumes: 45 | ollama-data: 46 | open-webui-data: 47 | ``` 48 | 49 | - **ollama** 50 | - `ollama/ollama` 이미지를 사용해 로컬 LLM 서버 실행 51 | - 모델과 설정을 `ollama-data` 볼륨에 영구 저장 52 | - 포트 `11434`로 API 요청 수신 53 | 54 | - **open-webui** 55 | - Open-WebUI 인터페이스를 실행하는 컨테이너 56 | - 호스트 `3000` 포트를 컨테이너 `8080`으로 매핑 57 | - 사용자 데이터 및 캐시를 `open-webui-data` 볼륨에 저장 58 | - `depends_on`으로 Ollama 서비스 기동을 보장 59 | - `extra_hosts` 설정으로 호스트 접근 지원 60 | 61 | --- 62 | ## 기존 리소스 정리 63 | `docker compose`를 통한 스택을 실행하기 전에 기존에 실행 중인 컨테이너들을 정리합니다. 64 | 65 | ```bash 66 | docker stop ollama open-webui 67 | docker rm ollama open-webui 68 | ``` 69 | 70 | ## 전체 스택 실행 71 | 72 | ```bash 73 | # Compose 파일이 위치한 디렉터리에서 74 | docker compose up -d 75 | ``` 76 | 77 | - `-d`: 백그라운드 실행 78 | 79 | --- 80 | 81 | ## 서비스 상태 확인 82 | 83 | ```bash 84 | docker compose ps 85 | ``` 86 | 87 | - `ollama`와 `open-webui` 컨테이너가 **Up** 상태인지 확인합니다. 88 | 89 | --- 90 | 91 | ## 서비스 로그 확인 92 | 93 | ```bash 94 | docker compose logs -f 95 | ``` 96 | 97 | - `-f` : 실시간(follow) 로그 스트리밍 98 | 99 | ## Web UI 접속 100 | 101 | - 브라우저에서 [http://localhost:3000](http://localhost:3000) 접속 102 | - 다운로드된 LLM 모델(예: `gemma3`)을 선택 후 프롬프트 입력 및 **Send** 클릭 103 | 104 | --- 105 | 106 | ## 스택 중지 및 정리 107 | 108 | ```bash 109 | docker compose down --volumes 110 | ``` 111 | 112 | - `--volumes`: 정의된 볼륨까지 함께 삭제 \ 113 | ※ 주의 : 볼륨을 삭제할 경우 다운로드한 모델까지 같이 삭제됨 114 | 115 | --- 116 | 117 | > **🎉축하합니다!** 118 | > 이로써 Docker를 이용하여 **로컬 ChatGPT 환경**을 성공적으로 구축하였습니다. 119 | -------------------------------------------------------------------------------- /docs/docker_tutorial/README.md: -------------------------------------------------------------------------------- 1 | ### 0. LLM Model Download 2 | 3 | ### 1. Docker 개념 및 필요성 (15분) 4 | 5 | - 컨테이너와 이미지의 개념 6 | - Docker가 왜 필요한가 (부제 : 저는 잘 되는데요?) (환경 재현, 배포 편의성 등) 7 | 8 | ### 2. Docker 기본 명령어 실습 (15분) 9 | 10 | - 간단한 커스텀 컨테이너 제공 (pytorch example) 11 | - `docke build & run` , `ps`, `exec`, `logs` 등 12 | - 컨테이너 상태 확인 및 진입 실습 13 | 14 | ### 3. Docker compose (30분) 15 | 16 | - Docker Compose 개념 소개 17 | - 복수 컨테이너를 하나의 구성 파일로 정의 18 | - `docker run`을 반복하지 않아도 됨 19 | - `docker-compose.yaml` 구조 설명 20 | - `services`, `volumes`, `ports`, `depends_on` 등 필수 필드 21 | - 간단한 예제 실습 22 | - 예: nginx + html 서버, 또는 redis + flask 등 23 | - 명령어 실습 24 | - `docker compose up`, `down`, `ps`, `logs`, `restart` 등 25 | - 정리: 단일 명령으로 여러 컨테이너 구성 및 실행 26 | 27 | ### 4. Ollama 실행 (Docker 사용) (20분) 28 | 29 | - `docker run`으로 Ollama 실행 30 | - 로컬 LLM API 호출 31 | 32 | ### 5. Web UI 실행 (15분) 33 | 34 | - Open WebUI 컨테이너 실행 35 | - 브라우저에서 로컬 ChatGPT 환경 접속 36 | 37 | ### 6. Docker Compose로 통합 구성 (30분) 38 | 39 | - `docker-compose.yaml` 작성 40 | - Ollama + WebUI를 함께 실행 41 | - 구성 이해 및 명령어 정리 42 | 43 | ### 7. Q&A -------------------------------------------------------------------------------- /docs/docker_tutorial/example/Dockerfile: -------------------------------------------------------------------------------- 1 | # 1. 베이스 이미지 설정 2 | # - Python 3.9 런타임을 제공하는 공식 이미지 3 | # - 불필요한 파일을 제거해 용량을 줄인 슬림(slim) 버전 사용 4 | FROM python:3.9-slim 5 | 6 | # 2. 작업 디렉터리 생성 및 설정 7 | # - 컨테이너 내에서 이후 명령이 실행될 기본 디렉터리 8 | WORKDIR /app 9 | 10 | # 3. 애플리케이션 코드와 의존성 파일 복사 11 | # - 로컬의 example.py 파일을 컨테이너의 /app 디렉터리로 복사 12 | COPY example.py . 13 | 14 | # 4. 필수 라이브러리 설치 15 | # - example.py 실행에 필요한 numpy 패키지를 설치 16 | # - 캐시를 남기지 않는 옵션(--no-cache-dir)으로 이미지 크기 최적화 17 | RUN pip install --no-cache-dir numpy 18 | 19 | # 5. 컨테이너 시작 시 실행할 명령어 지정 20 | # - 컨테이너가 기동되면 자동으로 example.py 스크립트 실행 21 | CMD ["python", "example.py"] -------------------------------------------------------------------------------- /docs/docker_tutorial/example/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "3.8" # Compose 파일 형식 버전 2 | 3 | services: 4 | web: # 웹 서버 서비스 정의 5 | image: nginx:stable-alpine # 경량 Alpine 기반 Nginx 공식 이미지 사용 6 | ports: 7 | - "8080:80" # 호스트 8080 포트를 컨테이너 80 포트로 포워딩 8 | volumes: 9 | - ./html:/usr/share/nginx/html:ro 10 | # 로컬의 html/ 디렉터리를 컨테이너의 웹 루트(/usr/share/nginx/html)에 11 | # 읽기 전용(ro)으로 마운트 12 | depends_on: 13 | - redis # web 서비스가 시작되기 전에 redis 서비스가 먼저 기동되도록 설정 14 | 15 | redis: # Redis 서비스 정의 (캐시/데이터 저장소) 16 | image: redis:6-alpine # 경량 Alpine 기반 Redis 6 공식 이미지 사용 17 | volumes: 18 | - redis-data:/data # named volume 'redis-data'를 컨테이너의 /data에 마운트하여 19 | # 데이터 영속성 확보 20 | 21 | volumes: 22 | redis-data: # named volume 정의 23 | # - Redis 컨테이너가 삭제되어도 데이터가 유지됨 24 | # - 호스트에서 위치는 Docker가 관리하며 필요 시 직접 마운트 가능 -------------------------------------------------------------------------------- /docs/docker_tutorial/example/example.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import numpy as np 3 | import math 4 | 5 | # 무작위로 입력과 출력 데이터를 생성합니다 6 | x = np.linspace(-math.pi, math.pi, 2000) 7 | y = np.sin(x) 8 | 9 | # 무작위로 가중치를 초기화합니다 10 | a = np.random.randn() 11 | b = np.random.randn() 12 | c = np.random.randn() 13 | d = np.random.randn() 14 | 15 | learning_rate = 1e-6 16 | for t in range(2000): 17 | # 순전파 단계: 예측값 y를 계산합니다 18 | # y = a + b x + c x^2 + d x^3 19 | y_pred = a + b * x + c * x ** 2 + d * x ** 3 20 | 21 | # 손실(loss)을 계산하고 출력합니다 22 | loss = np.square(y_pred - y).sum() 23 | if t % 100 == 99: 24 | print(t, loss) 25 | 26 | # 손실에 따른 a, b, c, d의 변화도(gradient)를 계산하고 역전파합니다. 27 | grad_y_pred = 2.0 * (y_pred - y) 28 | grad_a = grad_y_pred.sum() 29 | grad_b = (grad_y_pred * x).sum() 30 | grad_c = (grad_y_pred * x ** 2).sum() 31 | grad_d = (grad_y_pred * x ** 3).sum() 32 | 33 | # 가중치를 갱신합니다. 34 | a -= learning_rate * grad_a 35 | b -= learning_rate * grad_b 36 | c -= learning_rate * grad_c 37 | d -= learning_rate * grad_d 38 | 39 | print(f'Result: y = {a} + {b} x + {c} x^2 + {d} x^3') -------------------------------------------------------------------------------- /docs/docker_tutorial/example/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | Hello World ! -------------------------------------------------------------------------------- /docs/docker_tutorial/ollama-webui/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | 3 | services: 4 | ollama: 5 | image: ollama/ollama 6 | container_name: ollama 7 | volumes: 8 | - ollama-data:/root/.ollama 9 | ports: 10 | - "11434:11434" 11 | 12 | open-webui: 13 | image: ghcr.io/open-webui/open-webui:git-1349bc4-cuda 14 | container_name: open-webui 15 | depends_on: 16 | - ollama 17 | ports: 18 | - "3000:8080" 19 | volumes: 20 | - open-webui-data:/app/backend/data 21 | extra_hosts: 22 | - "host.docker.internal:host-gateway" 23 | restart: always 24 | 25 | volumes: 26 | ollama-data: 27 | open-webui-data: -------------------------------------------------------------------------------- /docs/imgs/Toolbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/Toolbox.png -------------------------------------------------------------------------------- /docs/imgs/bingo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/bingo.png -------------------------------------------------------------------------------- /docs/imgs/docker-git-tutorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/docker-git-tutorial.png -------------------------------------------------------------------------------- /docs/imgs/members/seungkyu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/members/seungkyu.jpg -------------------------------------------------------------------------------- /docs/imgs/members/soohyun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/members/soohyun.png -------------------------------------------------------------------------------- /docs/imgs/members/yesin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/docs/imgs/members/yesin.jpg -------------------------------------------------------------------------------- /docs/webpage-plan.md: -------------------------------------------------------------------------------- 1 | # PseudoLab ToolBox 2 | 3 | ## 1. 프로젝트 개요 4 | - **프로젝트 이름**: 가짜연구소 ToolBox 5 | - **목적**: 가짜연구소 내에서 수료증 발급, 콘텐츠/디자인 요청, 공간 신청 등의 기능을 제공하는 웹 플랫폼 구축 6 | - **대상 사용자**: 가짜연구소 빌더 및 러너 7 | - **주요 기능**: 8 | - 수료증 발급 9 | - 콘텐츠/디자인 요청 10 | - (공간 신청) 11 | - **플랫폼**: 웹(Web) 12 | 13 | ## 2. 요구사항 분석 14 | ### 2.1. 기능 요구사항 15 | - 수료증 발급 신청 및 출력 16 | - 콘텐츠/디자인 요청 17 | - (공간 대여 신청) 18 | - API 연동 (외부 서비스와 데이터 공유 - Notion) 19 | 20 | ### 2.2. 비기능 요구사항 21 | - 사용성 고려 22 | - 접근성 고려 23 | 24 | ## 3. 페이지 구성 및 UI/UX 25 | ### 3.1. 주요 페이지 목록 26 | - 홈 페이지 27 | - 수료증 발급 페이지 28 | - 콘텐츠/디자인 요청 페이지 29 | - (공간 신청 페이지) 30 | 31 | ### 3.2. 와이어프레임 및 디자인 가이드 32 | - 컬러 팔레트: `#F2913B`, `#21709A`, `#FFFFFF` 33 | - 폰트 스타일: [프리텐다드](https://noonnu.cc/font_page/694) 34 | 35 | ## 4. 기술 스택 36 | - **프론트엔드**: React 37 | - **백엔드**: FastAPI 38 | - **데이터베이스**: PostgreSQL, Notion 39 | - **호스팅/배포**: Oracle 40 | 41 | ## 5. 개발 일정 42 | 개발 일정은 [DevFactory 주차별 활동](https://github.com/Pseudo-Lab/DevFactory?tab=readme-ov-file#-%EC%A3%BC%EC%B0%A8%EB%B3%84-%ED%99%9C%EB%8F%99-activity-history) 참고 43 | 44 | ## 6. 개발 Flow 45 | ### 수료증 발급 46 | - 사용자/스터디 정보 조회 47 | - 수료증 발급 48 | ### 콘텐츠/디자인 요청 49 | - 콘덴츠/디자인 요청 50 | ### 공간 신청 51 | - 공간 신청 52 | 53 | ## 7. 유지보수 및 확장 계획 54 | - 버그 수정 및 패치 주기 55 | - 신규 기능 업데이트 계획 56 | - 사용자 피드백 반영 57 | 58 | ## 8. 기타 사항 59 | - 협업 툴 및 버전 관리 (Githun, Notion 등) 60 | - 기타 참고 자료 61 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- 1 | # 1단계: 빌드 2 | FROM node:20 AS builder 3 | WORKDIR /app 4 | 5 | COPY package*.json . 6 | RUN npm install 7 | 8 | COPY . . 9 | RUN npm run build 10 | 11 | # 2단계: nginx로 정적 파일 서빙 12 | FROM nginx:alpine 13 | COPY --from=builder /app/dist /usr/share/nginx/html 14 | COPY nginx.conf /etc/nginx/conf.d/default.conf 15 | 16 | EXPOSE 80 17 | CMD ["nginx", "-g", "daemon off;"] 18 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # React + TypeScript + Vite 2 | ## Getting Started 3 | ```bash 4 | npm install 5 | npm run dev 6 | ``` 7 | -------------------------------------------------------------------------------- /frontend/eslint.config.js: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js' 2 | import globals from 'globals' 3 | import reactHooks from 'eslint-plugin-react-hooks' 4 | import reactRefresh from 'eslint-plugin-react-refresh' 5 | import tseslint from 'typescript-eslint' 6 | 7 | export default tseslint.config( 8 | { ignores: ['dist'] }, 9 | { 10 | extends: [js.configs.recommended, ...tseslint.configs.recommended], 11 | files: ['**/*.{ts,tsx}'], 12 | languageOptions: { 13 | ecmaVersion: 2020, 14 | globals: globals.browser, 15 | }, 16 | plugins: { 17 | 'react-hooks': reactHooks, 18 | 'react-refresh': reactRefresh, 19 | }, 20 | rules: { 21 | ...reactHooks.configs.recommended.rules, 22 | 'react-refresh/only-export-components': [ 23 | 'warn', 24 | { allowConstantExport: true }, 25 | ], 26 | }, 27 | }, 28 | ) 29 | -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PseudoLab ToolBox 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /frontend/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name localhost; 4 | 5 | root /usr/share/nginx/html; 6 | index index.html; 7 | 8 | location / { 9 | try_files $uri /index.html; 10 | } 11 | 12 | location ~* \.(?:js|css|jpg|jpeg|gif|png|ico|svg|woff|woff2)$ { 13 | expires 7d; 14 | add_header Cache-Control "public, max-age=604800, immutable"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc -b && vite build", 9 | "lint": "eslint .", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "@emotion/react": "^11.14.0", 14 | "@emotion/styled": "^11.14.0", 15 | "@mui/icons-material": "^6.4.8", 16 | "@mui/material": "^6.4.8", 17 | "react": "^19.0.0", 18 | "react-dom": "^19.0.0", 19 | "react-router-dom": "^7.4.0" 20 | }, 21 | "devDependencies": { 22 | "@eslint/js": "^9.21.0", 23 | "@types/react": "^19.0.10", 24 | "@types/react-dom": "^19.0.4", 25 | "@vitejs/plugin-react": "^4.3.4", 26 | "eslint": "^9.21.0", 27 | "eslint-plugin-react-hooks": "^5.1.0", 28 | "eslint-plugin-react-refresh": "^0.4.19", 29 | "globals": "^15.15.0", 30 | "typescript": "~5.7.2", 31 | "typescript-eslint": "^8.24.1", 32 | "vite": ">=6.2.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /frontend/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pseudo-Lab/DevFactory/e829ca14a8911509383c520bff7e53106b6d3827/frontend/public/logo.png -------------------------------------------------------------------------------- /frontend/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/App.css: -------------------------------------------------------------------------------- 1 | #root { 2 | max-width: 1280px; 3 | margin: 0 auto; 4 | padding: 2rem; 5 | text-align: center; 6 | } 7 | 8 | .logo { 9 | height: 6em; 10 | padding: 1.5em; 11 | will-change: filter; 12 | transition: filter 300ms; 13 | } 14 | .logo:hover { 15 | filter: drop-shadow(0 0 2em #646cffaa); 16 | } 17 | .logo.react:hover { 18 | filter: drop-shadow(0 0 2em #61dafbaa); 19 | } 20 | 21 | @keyframes logo-spin { 22 | from { 23 | transform: rotate(0deg); 24 | } 25 | to { 26 | transform: rotate(360deg); 27 | } 28 | } 29 | 30 | @media (prefers-reduced-motion: no-preference) { 31 | a:nth-of-type(2) .logo { 32 | animation: logo-spin infinite 20s linear; 33 | } 34 | } 35 | 36 | .card { 37 | padding: 2em; 38 | } 39 | 40 | .read-the-docs { 41 | color: #888; 42 | } 43 | -------------------------------------------------------------------------------- /frontend/src/App.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Header from './components/common/Header'; 3 | import Hero from './modules/Home/components/Hero'; 4 | import Homepage from './modules/Home/index'; 5 | import Features from './modules/Home/components/Features'; 6 | import Footer from './components/common/Footer'; 7 | import logo from './assets/logo.png'; 8 | 9 | const App: React.FC = () => { 10 | return ( 11 | <> 12 |
13 | 14 | 15 | 16 |