{"id":25726576,"url":"https://github.com/timeless-residents/handson-perl","last_synced_at":"2026-05-16T09:01:54.742Z","repository":{"id":279281629,"uuid":"938300820","full_name":"timeless-residents/handson-perl","owner":"timeless-residents","description":"Hands-on Perl development template for M2 Mac Studio with Mojolicious and Plack/PSGI setup","archived":false,"fork":false,"pushed_at":"2025-02-24T19:01:16.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T19:34:06.543Z","etag":null,"topics":["apple-silicon","carton","m2","mac","mojolicious","perl","plack","psgi","template","web-development"],"latest_commit_sha":null,"homepage":"https://handson-perl.onrender.com","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timeless-residents.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-24T18:29:57.000Z","updated_at":"2025-02-24T19:01:20.000Z","dependencies_parsed_at":"2025-02-24T19:44:13.923Z","dependency_job_id":null,"html_url":"https://github.com/timeless-residents/handson-perl","commit_stats":null,"previous_names":["timeless-residents/handson-perl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeless-residents%2Fhandson-perl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeless-residents%2Fhandson-perl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeless-residents%2Fhandson-perl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeless-residents%2Fhandson-perl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timeless-residents","download_url":"https://codeload.github.com/timeless-residents/handson-perl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240761139,"owners_count":19853256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-silicon","carton","m2","mac","mojolicious","perl","plack","psgi","template","web-development"],"created_at":"2025-02-25T23:17:45.672Z","updated_at":"2025-11-20T09:01:12.208Z","avatar_url":"https://github.com/timeless-residents.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Perl ハンズオンプロジェクト\n\n## 概要\n\nこのリポジトリは、MacOS環境でのPerlアプリケーション開発のための基本的なテンプレートです。Mojoliciousフレームワークを使用したWebアプリケーション開発と、Plack/PSGIによる本番環境デプロイの基盤を提供します。\n\n## 環境要件\n\n- macOS\n- Homebrew\n- Perl 5.40.1以上（plenvでの管理を推奨）\n\n## セットアップ手順\n\n### 1. 環境構築\n\n#### Homebrewのインストール\n\n```bash\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n#### plenvとPerlのインストール\n\n```bash\n# plenvをインストール\nbrew install plenv\nbrew install perl-build\n\n# shellの設定を追加\necho 'eval \"$(plenv init -)\"' \u003e\u003e ~/.zshrc\nsource ~/.zshrc\n\n# 最新の安定版Perlをインストール\nplenv install 5.40.1\nplenv global 5.40.1\nplenv rehash\n```\n\n#### 基本モジュールのインストール\n\n```bash\n# cpanmのインストール\ncurl -L https://cpanmin.us | perl - App::cpanminus\nplenv rehash\n\n# 必要なモジュールのインストール\ncpanm Module::Install\ncpanm Carton\ncpanm Plack\ncpanm Starman\n```\n\n### 2. プロジェクトのセットアップ\n\n```bash\n# リポジトリのクローン\ngit clone https://github.com/timeless-residents/handson-perl.git\ncd handson-perl\n\n# 依存モジュールのインストール\ncarton install\n```\n\n## プロジェクト構造\n\n```\nhandson-perl/\n├── lib/                   # アプリケーションコード\n│   └── MyApp/\n│       └── Controller.pm  # コントローラークラス\n├── script/                # 実行スクリプト\n│   ├── app.pl            # 開発用サーバースクリプト\n│   └── app.psgi          # 本番用PSGIアプリケーション\n├── t/                     # テストディレクトリ\n│   └── basic.t           # 基本的なテスト\n├── local/                 # Cartonが管理する依存モジュール (gitignore)\n├── cpanfile               # 依存モジュールの定義\n├── .gitignore             # Gitで無視するファイルの定義\n└── README.md              # このファイル\n```\n\n## 使用方法\n\n### 開発サーバーの起動\n\n```bash\n# 開発モードでアプリケーションを実行\ncarton exec -- perl script/app.pl daemon\n```\n\n### テストの実行\n\n```bash\n# テストスイートの実行\ncarton exec -- prove -l t\n```\n\n### 本番環境での実行\n\n```bash\n# Starmanを使用して本番モードで実行\ncarton exec -- plackup -E production -s Starman --workers=4 script/app.psgi\n```\n\n## 機能の拡張\n\nこのテンプレートを基に、以下のような機能を追加できます：\n\n- HTMLテンプレートの使用\n- データベース接続の実装\n- ルーティングの追加\n- RESTful APIの構築\n- テストケースの拡充\n\n## トラブルシューティング\n\n### よくある問題と解決方法\n\n- **モジュールのインストールエラー**: `cpanm --force Module::Name`を試す\n- **パーミッション問題**: `sudo chown -R $USER:$USER ~/.cpanm/`\n- **plenvコマンドが見つからない**: PATHの設定を確認\n- **ビルドエラー**: Xcodeコマンドラインツールのインストールを確認\n\n## 参考リソース\n\n- [Perl公式ドキュメント](https://perldoc.perl.org/)\n- [Mojoliciousドキュメント](https://mojolicious.org/)\n- [Plack/PSGIの解説](https://metacpan.org/pod/Plack)\n- [plenvの使い方](https://github.com/tokuhirom/plenv)\n\n## ライセンス\n\nこのプロジェクトはMITライセンスの下で提供されています。詳細については[LICENSE](LICENSE)ファイルを参照してください。\n\n## コントリビューション\n\n1. このリポジトリをフォーク\n2. 機能ブランチを作成 (`git checkout -b feature/amazing-feature`)\n3. 変更をコミット (`git commit -m 'Add some amazing feature'`)\n4. ブランチをプッシュ (`git push origin feature/amazing-feature`)\n5. プルリクエストをオープン\n\n## 連絡先\n\nプロジェクトに関する質問や問題がある場合は、Issueを開いてください。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimeless-residents%2Fhandson-perl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimeless-residents%2Fhandson-perl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimeless-residents%2Fhandson-perl/lists"}