[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M72XY1BACJ8E9XKGPJSARSZP":3,"skill-same:01M72XY1BACJ8E9XKGPJSARSZP":48},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M72XY1BACJ8E9XKGPJSARSZP","quarkus-verification",null,"Verification loop for Quarkus projects: build, static analysis, tests with coverage, security scans, native compilation, and diff review before release or PR.","SriramGandhiS\u002FSkills","SriramGandhiS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F211849986?v=4","01M72WQCW12BYX71C6WN584TTA","Sriram S","01M72WQCWTJ2RD0ET1X31AF1RC",1,"MIT","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Feverything-claude-code\u002Fdocs\u002Ftr\u002Fskills\u002Fquarkus-verification\u002FSKILL.md",[],[],"2026-11-10 22:39:42",false,"---\nname: quarkus-verification\ndescription: \"Verification loop for Quarkus projects: build, static analysis, tests with coverage, security scans, native compilation, and diff review before release or PR.\"\norigin: ECC\n---\n\n# Quarkus Doğrulama Döngüsü\n\nPR'lardan önce, büyük değişikliklerden sonra ve deployment öncesi çalıştırın.\n\n## Ne Zaman Aktif Edilir\n\n- Quarkus servisi için pull request açmadan önce\n- Büyük refactoring veya bağımlılık yükseltmelerinden sonra\n- Staging veya production için deployment öncesi doğrulama\n- Tam build → lint → test → güvenlik taraması → native derleme pipeline'ı çalıştırma\n- Test kapsamının eşikleri karşıladığını doğrulama (%80+)\n- Native image uyumluluğunu test etme\n\n## Faz 1: Build\n\n```bash\n# Maven\nmvn clean verify -DskipTests\n\n# Gradle\n.\u002Fgradlew clean assemble -x test\n```\n\nBuild başarısız olursa, durdurun ve derleme hatalarını düzeltin.\n\n## Faz 2: Static Analiz\n\n### Checkstyle, PMD, SpotBugs (Maven)\n\n```bash\nmvn checkstyle:check pmd:check spotbugs:check\n```\n\n### SonarQube (yapılandırılmışsa)\n\n```bash\nmvn sonar:sonar \\\n  -Dsonar.projectKey=my-quarkus-project \\\n  -Dsonar.host.url=http:\u002F\u002Flocalhost:9000 \\\n  -Dsonar.login=${SONAR_TOKEN}\n```\n\n### Ele Alınacak Yaygın Sorunlar\n\n- Kullanılmayan import'lar veya değişkenler\n- Karmaşık metodlar (yüksek cyclomatic complexity)\n- Potansiyel null pointer dereference'ları\n- SpotBugs tarafından işaretlenen güvenlik sorunları\n\n## Faz 3: Testler + Kapsam\n\n```bash\n# Tüm testleri çalıştır\nmvn clean test\n\n# Kapsam raporu oluştur\nmvn jacoco:report\n\n# Kapsam eşiğini zorla (%80)\nmvn jacoco:check\n\n# Veya Gradle ile\n.\u002Fgradlew test jacocoTestReport jacocoTestCoverageVerification\n```\n\n### Test Kategorileri\n\n#### Unit Testler\nMock'lanmış bağımlılıklarla servis mantığını test edin:\n\n```java\n@ExtendWith(MockitoExtension.class)\nclass UserServiceTest {\n  @Mock UserRepository userRepository;\n  @InjectMocks UserService userService;\n\n  @Test\n  void createUser_validInput_returnsUser() {\n    var dto = new CreateUserDto(\"Alice\", \"alice@example.com\");\n\n    \u002F\u002F Panache persist() void döndürür — doNothing + verify kullanın\n    doNothing().when(userRepository).persist(any(User.class));\n\n    User result = userService.create(dto);\n\n    assertThat(result.name).isEqualTo(\"Alice\");\n    verify(userRepository).persist(any(User.class));\n  }\n}\n```\n\n#### Entegrasyon Testleri\nGerçek veritabanıyla (Testcontainers) test edin:\n\n```java\n@QuarkusTest\n@QuarkusTestResource(PostgresTestResource.class)\nclass UserRepositoryIntegrationTest {\n\n  @Inject\n  UserRepository userRepository;\n\n  @Test\n  @Transactional\n  void findByEmail_existingUser_returnsUser() {\n    User user = new User();\n    user.name = \"Alice\";\n    user.email = \"alice@example.com\";\n    userRepository.persist(user);\n\n    Optional\u003CUser> found = userRepository.findByEmail(\"alice@example.com\");\n\n    assertThat(found).isPresent();\n    assertThat(found.get().name).isEqualTo(\"Alice\");\n  }\n}\n```\n\n#### API Testleri\nREST Assured ile REST endpoint'lerini test edin:\n\n```java\n@QuarkusTest\nclass UserResourceTest {\n\n  @Test\n  void createUser_validInput_returns201() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"alice@example.com\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(201)\n        .body(\"name\", equalTo(\"Alice\"));\n  }\n\n  @Test\n  void createUser_invalidEmail_returns400() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"invalid\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(400);\n  }\n}\n```\n\n### Kapsam Raporu\n\nAyrıntılı kapsam için `target\u002Fsite\u002Fjacoco\u002Findex.html` sayfasını kontrol edin:\n- Genel satır kapsamı (hedef: %80+)\n- Branch kapsamı (hedef: %70+)\n- Kapsanmamış kritik yolları belirleyin\n\n## Faz 4: Güvenlik Taraması\n\n### Bağımlılık Güvenlik Açıkları (Maven)\n\n```bash\nmvn org.owasp:dependency-check-maven:check\n```\n\nCVE'ler için `target\u002Fdependency-check-report.html` raporunu inceleyin.\n\n### Quarkus Güvenlik Denetimi\n\n```bash\n# Güvenlik açığı olan extension'ları kontrol et\nmvn quarkus:audit\n\n# Tüm extension'ları listele\nmvn quarkus:list-extensions\n```\n\n### OWASP ZAP (API Güvenlik Testi)\n\n```bash\ndocker run -t owasp\u002Fzap2docker-stable zap-api-scan.py \\\n  -t http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi \\\n  -f openapi\n```\n\n### Yaygın Güvenlik Kontrolleri\n\n- [ ] Tüm gizli bilgiler ortam değişkenlerinde (kodda değil)\n- [ ] Tüm endpoint'lerde girdi doğrulama\n- [ ] Kimlik doğrulama\u002Fyetkilendirme yapılandırılmış\n- [ ] CORS düzgün yapılandırılmış\n- [ ] Güvenlik başlıkları ayarlanmış\n- [ ] Parolalar BCrypt ile hash'lenmiş\n- [ ] SQL injection koruması (parametreli sorgular)\n- [ ] Genel endpoint'lerde rate limiting\n\n## Faz 5: Native Derleme\n\nGraalVM native image uyumluluğunu test edin:\n\n```bash\n# Native executable oluştur\nmvn package -Dnative\n\n# Veya container ile\nmvn package -Dnative -Dquarkus.native.container-build=true\n\n# Native executable'ı test et\n.\u002Ftarget\u002F*-runner\n\n# Temel smoke testleri çalıştır\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n```\n\n### Native Image Sorun Giderme\n\nYaygın sorunlar:\n- **Reflection**: Dinamik sınıflar için reflection yapılandırması ekleyin\n- **Resources**: `quarkus.native.resources.includes` ile kaynakları dahil edin\n- **JNI**: Native kütüphaneler kullanıyorsanız JNI sınıflarını kaydedin\n\nÖrnek reflection yapılandırması:\n```java\n@RegisterForReflection(targets = {MyDynamicClass.class})\npublic class ReflectionConfiguration {}\n```\n\n## Faz 6: Performans Testi\n\n### K6 ile Yük Testi\n\n```javascript\n\u002F\u002F load-test.js\nimport http from 'k6\u002Fhttp';\nimport { check } from 'k6';\n\nexport const options = {\n  stages: [\n    { duration: '30s', target: 50 },\n    { duration: '1m', target: 100 },\n    { duration: '30s', target: 0 },\n  ],\n};\n\nexport default function () {\n  const res = http.get('http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fmarkets');\n  check(res, {\n    'status is 200': (r) => r.status === 200,\n    'response time \u003C 200ms': (r) => r.timings.duration \u003C 200,\n  });\n}\n```\n\nÇalıştırın:\n```bash\nk6 run load-test.js\n```\n\n### İzlenecek Metrikler\n\n- Yanıt süresi (p50, p95, p99)\n- Throughput (istek\u002Fsaniye)\n- Hata oranı\n- Bellek kullanımı\n- CPU kullanımı\n\n## Faz 7: Sağlık Kontrolleri\n\n```bash\n# Liveness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\n\n# Readiness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n\n# Tüm sağlık kontrolleri\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\n\n# Metrikler (etkinleştirilmişse)\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fmetrics\n```\n\nBeklenen yanıtlar:\n```json\n{\n  \"status\": \"UP\",\n  \"checks\": [\n    {\n      \"name\": \"Database connection\",\n      \"status\": \"UP\"\n    }\n  ]\n}\n```\n\n## Faz 8: Container Image Build\n\n```bash\n# Container image oluştur\nmvn package -Dquarkus.container-image.build=true\n\n# Veya belirli registry ile\nmvn package \\\n  -Dquarkus.container-image.build=true \\\n  -Dquarkus.container-image.registry=docker.io \\\n  -Dquarkus.container-image.group=myorg \\\n  -Dquarkus.container-image.tag=1.0.0\n\n# Container'ı test et\ndocker run -p 8080:8080 myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n### Container Güvenlik Taraması\n\n```bash\n# Trivy\ntrivy image myorg\u002Fmy-quarkus-app:1.0.0\n\n# Grype\ngrype myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n## Faz 9: Yapılandırma Doğrulama\n\n```bash\n# Tüm yapılandırma özelliklerini kontrol et\nmvn quarkus:info\n\n# Tüm yapılandırma kaynaklarını listele\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fdev\u002Fio.quarkus.quarkus-vertx-http\u002Fconfig\n```\n\n### Ortama Özgü Kontroller\n\n- [ ] Veritabanı URL'leri ortam başına yapılandırılmış\n- [ ] Gizli bilgiler dışsallaştırılmış (Vault, ortam değişkenleri)\n- [ ] Loglama seviyeleri uygun\n- [ ] CORS origin'leri doğru ayarlanmış\n- [ ] Rate limiting yapılandırılmış\n- [ ] İzleme\u002Ftracing etkinleştirilmiş\n\n## Faz 10: Dokümantasyon İncelemesi\n\n- [ ] OpenAPI\u002FSwagger dokümanları güncel (`\u002Fq\u002Fswagger-ui`)\n- [ ] README kurulum talimatlarını içeriyor\n- [ ] API değişiklikleri belgelenmiş\n- [ ] Breaking change'ler için migration rehberi\n- [ ] Yapılandırma özellikleri belgelenmiş\n\nOpenAPI spec oluşturun:\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi -o openapi.json\n```\n\n## Doğrulama Kontrol Listesi\n\n### Kod Kalitesi\n- [ ] Build uyarısız geçiyor\n- [ ] Static analiz temiz (yüksek\u002Forta sorun yok)\n- [ ] Kod ekip kurallarını takip ediyor\n- [ ] PR'da yorum satırına alınmış kod veya TODO yok\n\n### Test\n- [ ] Tüm testler geçiyor\n- [ ] Kod kapsamı ≥ %80\n- [ ] Gerçek veritabanıyla entegrasyon testleri\n- [ ] Güvenlik testleri geçiyor\n- [ ] Performans kabul edilebilir sınırlar içinde\n\n### Güvenlik\n- [ ] Bağımlılık güvenlik açığı yok\n- [ ] Kimlik doğrulama\u002Fyetkilendirme test edilmiş\n- [ ] Girdi doğrulama tamamlanmış\n- [ ] Gizli bilgiler kaynak kodda değil\n- [ ] Güvenlik başlıkları yapılandırılmış\n\n### Deployment\n- [ ] Native derleme başarılı\n- [ ] Container image oluşturuluyor\n- [ ] Sağlık kontrolleri doğru yanıt veriyor\n- [ ] Hedef ortam için yapılandırma geçerli\n\n### Native Image\n- [ ] Native executable oluşturuluyor\n- [ ] Native testler geçiyor\n- [ ] Başlangıç süresi \u003C 100ms\n- [ ] Bellek ayak izi kabul edilebilir\n\n## Otomatik Doğrulama Script'i\n\n```bash\n#!\u002Fbin\u002Fbash\nset -e\n\necho \"=== Faz 1: Build ===\"\nmvn clean verify -DskipTests\n\necho \"=== Faz 2: Static Analiz ===\"\nmvn checkstyle:check pmd:check spotbugs:check\n\necho \"=== Faz 3: Testler + Kapsam ===\"\nmvn test jacoco:report jacoco:check\n\necho \"=== Faz 4: Güvenlik Taraması ===\"\nmvn org.owasp:dependency-check-maven:check\n\necho \"=== Faz 5: Native Derleme ===\"\nmvn package -Dnative -Dquarkus.native.container-build=true\n\necho \"=== Tüm Fazlar Tamamlandı ===\"\necho \"Raporları inceleyin:\"\necho \"  - Kapsam: target\u002Fsite\u002Fjacoco\u002Findex.html\"\necho \"  - Güvenlik: target\u002Fdependency-check-report.html\"\necho \"  - Native: target\u002F*-runner\"\n```\n\n## CI\u002FCD Entegrasyonu\n\n### GitHub Actions Örneği\n\n```yaml\nname: Verification\n\non: [push, pull_request]\n\njobs:\n  verify:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v3\n\n      - name: Set up JDK 21\n        uses: actions\u002Fsetup-java@v3\n        with:\n          java-version: '21'\n          distribution: 'temurin'\n\n      - name: Cache Maven packages\n        uses: actions\u002Fcache@v3\n        with:\n          path: ~\u002F.m2\n          key: ${{ runner.os }}-m2-${{ hashFiles('**\u002Fpom.xml') }}\n\n      - name: Build\n        run: mvn clean verify -DskipTests\n\n      - name: Test with Coverage\n        run: mvn test jacoco:report jacoco:check\n\n      - name: Security Scan\n        run: mvn org.owasp:dependency-check-maven:check\n\n      - name: Upload Coverage\n        uses: codecov\u002Fcodecov-action@v3\n        with:\n          files: target\u002Fsite\u002Fjacoco\u002Fjacoco.xml\n```\n\n## En İyi Uygulamalar\n\n- Her PR öncesi doğrulama döngüsünü çalıştırın\n- CI\u002FCD pipeline'ında otomatize edin\n- Sorunları hemen düzeltin; borç biriktirmeyin\n- Kapsamı %80'in üzerinde tutun\n- Bağımlılıkları düzenli olarak güncelleyin\n- Native derlemeyi periyodik olarak test edin\n- Performans trendlerini izleyin\n- Breaking change'leri belgeleyin\n- Güvenlik tarama sonuçlarını inceleyin\n- Her ortam için yapılandırmayı doğrulayın\n","# Quarkus Doğrulama Döngüsü\n\nPR'lardan önce, büyük değişikliklerden sonra ve deployment öncesi çalıştırın.\n\n## Ne Zaman Aktif Edilir\n\n- Quarkus servisi için pull request açmadan önce\n- Büyük refactoring veya bağımlılık yükseltmelerinden sonra\n- Staging veya production için deployment öncesi doğrulama\n- Tam build → lint → test → güvenlik taraması → native derleme pipeline'ı çalıştırma\n- Test kapsamının eşikleri karşıladığını doğrulama (%80+)\n- Native image uyumluluğunu test etme\n\n## Faz 1: Build\n\n```bash\n# Maven\nmvn clean verify -DskipTests\n\n# Gradle\n.\u002Fgradlew clean assemble -x test\n```\n\nBuild başarısız olursa, durdurun ve derleme hatalarını düzeltin.\n\n## Faz 2: Static Analiz\n\n### Checkstyle, PMD, SpotBugs (Maven)\n\n```bash\nmvn checkstyle:check pmd:check spotbugs:check\n```\n\n### SonarQube (yapılandırılmışsa)\n\n```bash\nmvn sonar:sonar \\\n  -Dsonar.projectKey=my-quarkus-project \\\n  -Dsonar.host.url=http:\u002F\u002Flocalhost:9000 \\\n  -Dsonar.login=${SONAR_TOKEN}\n```\n\n### Ele Alınacak Yaygın Sorunlar\n\n- Kullanılmayan import'lar veya değişkenler\n- Karmaşık metodlar (yüksek cyclomatic complexity)\n- Potansiyel null pointer dereference'ları\n- SpotBugs tarafından işaretlenen güvenlik sorunları\n\n## Faz 3: Testler + Kapsam\n\n```bash\n# Tüm testleri çalıştır\nmvn clean test\n\n# Kapsam raporu oluştur\nmvn jacoco:report\n\n# Kapsam eşiğini zorla (%80)\nmvn jacoco:check\n\n# Veya Gradle ile\n.\u002Fgradlew test jacocoTestReport jacocoTestCoverageVerification\n```\n\n### Test Kategorileri\n\n#### Unit Testler\nMock'lanmış bağımlılıklarla servis mantığını test edin:\n\n```java\n@ExtendWith(MockitoExtension.class)\nclass UserServiceTest {\n  @Mock UserRepository userRepository;\n  @InjectMocks UserService userService;\n\n  @Test\n  void createUser_validInput_returnsUser() {\n    var dto = new CreateUserDto(\"Alice\", \"alice@example.com\");\n\n    \u002F\u002F Panache persist() void döndürür — doNothing + verify kullanın\n    doNothing().when(userRepository).persist(any(User.class));\n\n    User result = userService.create(dto);\n\n    assertThat(result.name).isEqualTo(\"Alice\");\n    verify(userRepository).persist(any(User.class));\n  }\n}\n```\n\n#### Entegrasyon Testleri\nGerçek veritabanıyla (Testcontainers) test edin:\n\n```java\n@QuarkusTest\n@QuarkusTestResource(PostgresTestResource.class)\nclass UserRepositoryIntegrationTest {\n\n  @Inject\n  UserRepository userRepository;\n\n  @Test\n  @Transactional\n  void findByEmail_existingUser_returnsUser() {\n    User user = new User();\n    user.name = \"Alice\";\n    user.email = \"alice@example.com\";\n    userRepository.persist(user);\n\n    Optional\u003CUser> found = userRepository.findByEmail(\"alice@example.com\");\n\n    assertThat(found).isPresent();\n    assertThat(found.get().name).isEqualTo(\"Alice\");\n  }\n}\n```\n\n#### API Testleri\nREST Assured ile REST endpoint'lerini test edin:\n\n```java\n@QuarkusTest\nclass UserResourceTest {\n\n  @Test\n  void createUser_validInput_returns201() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"alice@example.com\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(201)\n        .body(\"name\", equalTo(\"Alice\"));\n  }\n\n  @Test\n  void createUser_invalidEmail_returns400() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"invalid\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(400);\n  }\n}\n```\n\n### Kapsam Raporu\n\nAyrıntılı kapsam için `target\u002Fsite\u002Fjacoco\u002Findex.html` sayfasını kontrol edin:\n- Genel satır kapsamı (hedef: %80+)\n- Branch kapsamı (hedef: %70+)\n- Kapsanmamış kritik yolları belirleyin\n\n## Faz 4: Güvenlik Taraması\n\n### Bağımlılık Güvenlik Açıkları (Maven)\n\n```bash\nmvn org.owasp:dependency-check-maven:check\n```\n\nCVE'ler için `target\u002Fdependency-check-report.html` raporunu inceleyin.\n\n### Quarkus Güvenlik Denetimi\n\n```bash\n# Güvenlik açığı olan extension'ları kontrol et\nmvn quarkus:audit\n\n# Tüm extension'ları listele\nmvn quarkus:list-extensions\n```\n\n### OWASP ZAP (API Güvenlik Testi)\n\n```bash\ndocker run -t owasp\u002Fzap2docker-stable zap-api-scan.py \\\n  -t http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi \\\n  -f openapi\n```\n\n### Yaygın Güvenlik Kontrolleri\n\n- [ ] Tüm gizli bilgiler ortam değişkenlerinde (kodda değil)\n- [ ] Tüm endpoint'lerde girdi doğrulama\n- [ ] Kimlik doğrulama\u002Fyetkilendirme yapılandırılmış\n- [ ] CORS düzgün yapılandırılmış\n- [ ] Güvenlik başlıkları ayarlanmış\n- [ ] Parolalar BCrypt ile hash'lenmiş\n- [ ] SQL injection koruması (parametreli sorgular)\n- [ ] Genel endpoint'lerde rate limiting\n\n## Faz 5: Native Derleme\n\nGraalVM native image uyumluluğunu test edin:\n\n```bash\n# Native executable oluştur\nmvn package -Dnative\n\n# Veya container ile\nmvn package -Dnative -Dquarkus.native.container-build=true\n\n# Native executable'ı test et\n.\u002Ftarget\u002F*-runner\n\n# Temel smoke testleri çalıştır\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n```\n\n### Native Image Sorun Giderme\n\nYaygın sorunlar:\n- **Reflection**: Dinamik sınıflar için reflection yapılandırması ekleyin\n- **Resources**: `quarkus.native.resources.includes` ile kaynakları dahil edin\n- **JNI**: Native kütüphaneler kullanıyorsanız JNI sınıflarını kaydedin\n\nÖrnek reflection yapılandırması:\n```java\n@RegisterForReflection(targets = {MyDynamicClass.class})\npublic class ReflectionConfiguration {}\n```\n\n## Faz 6: Performans Testi\n\n### K6 ile Yük Testi\n\n```javascript\n\u002F\u002F load-test.js\nimport http from 'k6\u002Fhttp';\nimport { check } from 'k6';\n\nexport const options = {\n  stages: [\n    { duration: '30s', target: 50 },\n    { duration: '1m', target: 100 },\n    { duration: '30s', target: 0 },\n  ],\n};\n\nexport default function () {\n  const res = http.get('http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fmarkets');\n  check(res, {\n    'status is 200': (r) => r.status === 200,\n    'response time \u003C 200ms': (r) => r.timings.duration \u003C 200,\n  });\n}\n```\n\nÇalıştırın:\n```bash\nk6 run load-test.js\n```\n\n### İzlenecek Metrikler\n\n- Yanıt süresi (p50, p95, p99)\n- Throughput (istek\u002Fsaniye)\n- Hata oranı\n- Bellek kullanımı\n- CPU kullanımı\n\n## Faz 7: Sağlık Kontrolleri\n\n```bash\n# Liveness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\n\n# Readiness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n\n# Tüm sağlık kontrolleri\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\n\n# Metrikler (etkinleştirilmişse)\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fmetrics\n```\n\nBeklenen yanıtlar:\n```json\n{\n  \"status\": \"UP\",\n  \"checks\": [\n    {\n      \"name\": \"Database connection\",\n      \"status\": \"UP\"\n    }\n  ]\n}\n```\n\n## Faz 8: Container Image Build\n\n```bash\n# Container image oluştur\nmvn package -Dquarkus.container-image.build=true\n\n# Veya belirli registry ile\nmvn package \\\n  -Dquarkus.container-image.build=true \\\n  -Dquarkus.container-image.registry=docker.io \\\n  -Dquarkus.container-image.group=myorg \\\n  -Dquarkus.container-image.tag=1.0.0\n\n# Container'ı test et\ndocker run -p 8080:8080 myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n### Container Güvenlik Taraması\n\n```bash\n# Trivy\ntrivy image myorg\u002Fmy-quarkus-app:1.0.0\n\n# Grype\ngrype myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n## Faz 9: Yapılandırma Doğrulama\n\n```bash\n# Tüm yapılandırma özelliklerini kontrol et\nmvn quarkus:info\n\n# Tüm yapılandırma kaynaklarını listele\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fdev\u002Fio.quarkus.quarkus-vertx-http\u002Fconfig\n```\n\n### Ortama Özgü Kontroller\n\n- [ ] Veritabanı URL'leri ortam başına yapılandırılmış\n- [ ] Gizli bilgiler dışsallaştırılmış (Vault, ortam değişkenleri)\n- [ ] Loglama seviyeleri uygun\n- [ ] CORS origin'leri doğru ayarlanmış\n- [ ] Rate limiting yapılandırılmış\n- [ ] İzleme\u002Ftracing etkinleştirilmiş\n\n## Faz 10: Dokümantasyon İncelemesi\n\n- [ ] OpenAPI\u002FSwagger dokümanları güncel (`\u002Fq\u002Fswagger-ui`)\n- [ ] README kurulum talimatlarını içeriyor\n- [ ] API değişiklikleri belgelenmiş\n- [ ] Breaking change'ler için migration rehberi\n- [ ] Yapılandırma özellikleri belgelenmiş\n\nOpenAPI spec oluşturun:\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi -o openapi.json\n```\n\n## Doğrulama Kontrol Listesi\n\n### Kod Kalitesi\n- [ ] Build uyarısız geçiyor\n- [ ] Static analiz temiz (yüksek\u002Forta sorun yok)\n- [ ] Kod ekip kurallarını takip ediyor\n- [ ] PR'da yorum satırına alınmış kod veya TODO yok\n\n### Test\n- [ ] Tüm testler geçiyor\n- [ ] Kod kapsamı ≥ %80\n- [ ] Gerçek veritabanıyla entegrasyon testleri\n- [ ] Güvenlik testleri geçiyor\n- [ ] Performans kabul edilebilir sınırlar içinde\n\n### Güvenlik\n- [ ] Bağımlılık güvenlik açığı yok\n- [ ] Kimlik doğrulama\u002Fyetkilendirme test edilmiş\n- [ ] Girdi doğrulama tamamlanmış\n- [ ] Gizli bilgiler kaynak kodda değil\n- [ ] Güvenlik başlıkları yapılandırılmış\n\n### Deployment\n- [ ] Native derleme başarılı\n- [ ] Container image oluşturuluyor\n- [ ] Sağlık kontrolleri doğru yanıt veriyor\n- [ ] Hedef ortam için yapılandırma geçerli\n\n### Native Image\n- [ ] Native executable oluşturuluyor\n- [ ] Native testler geçiyor\n- [ ] Başlangıç süresi \u003C 100ms\n- [ ] Bellek ayak izi kabul edilebilir\n\n## Otomatik Doğrulama Script'i\n\n```bash\n#!\u002Fbin\u002Fbash\nset -e\n\necho \"=== Faz 1: Build ===\"\nmvn clean verify -DskipTests\n\necho \"=== Faz 2: Static Analiz ===\"\nmvn checkstyle:check pmd:check spotbugs:check\n\necho \"=== Faz 3: Testler + Kapsam ===\"\nmvn test jacoco:report jacoco:check\n\necho \"=== Faz 4: Güvenlik Taraması ===\"\nmvn org.owasp:dependency-check-maven:check\n\necho \"=== Faz 5: Native Derleme ===\"\nmvn package -Dnative -Dquarkus.native.container-build=true\n\necho \"=== Tüm Fazlar Tamamlandı ===\"\necho \"Raporları inceleyin:\"\necho \"  - Kapsam: target\u002Fsite\u002Fjacoco\u002Findex.html\"\necho \"  - Güvenlik: target\u002Fdependency-check-report.html\"\necho \"  - Native: target\u002F*-runner\"\n```\n\n## CI\u002FCD Entegrasyonu\n\n### GitHub Actions Örneği\n\n```yaml\nname: Verification\n\non: [push, pull_request]\n\njobs:\n  verify:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v3\n\n      - name: Set up JDK 21\n        uses: actions\u002Fsetup-java@v3\n        with:\n          java-version: '21'\n          distribution: 'temurin'\n\n      - name: Cache Maven packages\n        uses: actions\u002Fcache@v3\n        with:\n          path: ~\u002F.m2\n          key: ${{ runner.os }}-m2-${{ hashFiles('**\u002Fpom.xml') }}\n\n      - name: Build\n        run: mvn clean verify -DskipTests\n\n      - name: Test with Coverage\n        run: mvn test jacoco:report jacoco:check\n\n      - name: Security Scan\n        run: mvn org.owasp:dependency-check-maven:check\n\n      - name: Upload Coverage\n        uses: codecov\u002Fcodecov-action@v3\n        with:\n          files: target\u002Fsite\u002Fjacoco\u002Fjacoco.xml\n```\n\n## En İyi Uygulamalar\n\n- Her PR öncesi doğrulama döngüsünü çalıştırın\n- CI\u002FCD pipeline'ında otomatize edin\n- Sorunları hemen düzeltin; borç biriktirmeyin\n- Kapsamı %80'in üzerinde tutun\n- Bağımlılıkları düzenli olarak güncelleyin\n- Native derlemeyi periyodik olarak test edin\n- Performans trendlerini izleyin\n- Breaking change'leri belgeleyin\n- Güvenlik tarama sonuçlarını inceleyin\n- Her ortam için yapılandırmayı doğrulayın\n",{"name":5,"origin":24,"description":7},"ECC","master","d6ca01da0f24a3b0e26e4a8b7b66cbd25d429f5d","everything-claude-code\u002Fdocs\u002Ftr\u002Fskills\u002Fquarkus-verification",0,"https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills","https:\u002F\u002Fgithub.com\u002FSriramGandhiS","https:\u002F\u002Fsriram.website\u002F","Curious guy who keeps tinkering until something works","2026-05-20 16:21:34",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add SriramGandhiS\u002FSkills --skill quarkus-verification",{"tool":40,"command":41},"bunx","bunx skills add SriramGandhiS\u002FSkills --skill quarkus-verification",{"tool":43,"command":44},"pnpm","pnpm dlx skills add SriramGandhiS\u002FSkills --skill quarkus-verification","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Feverything-claude-code\u002Fdocs\u002Ftr\u002Fskills\u002Fquarkus-verification\u002FSKILL.md",true,[],[49,57,62,68,75,82],{"skillNo":50,"name":51,"nameZh":6,"description":52,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":55,"publishedAt":56},"01M732609EPJWV13PVTX3GT4TM","webgpu-threejs-tsl","Comprehensive guide for developing WebGPU-enabled Three.js applications using TSL (Three.js Shading Language). Covers WebGPU renderer setup, TSL syntax and node materials, compute shaders, post-processing effects, and WGSL integration. Use this skill when working with Three.js WebGPU, TSL shaders, node materials, or GPU compute in Three.js.","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fwebgpu-threejs-tsl\u002Fskills\u002Fwebgpu-threejs-tsl\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":58,"name":51,"nameZh":6,"description":52,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":56},"01M7325XM47AGWB6K6C4VXKE6B","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fwebgpu-threejs-tsl\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":56},"01M7325WP6DES69JKC840VMFEP","verification-loop","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fweb-assets\u002Fdocs\u002Fzh-TW\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":56},"01M7325TFQF1DZTQ6J3WGQQ1VR","tdd-workflow","Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fweb-assets\u002Fdocs\u002Fzh-TW\u002Fskills\u002Ftdd-workflow\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":56},"01M7325RGV9AY9PK92D2V8KKPW","strategic-compact","Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fweb-assets\u002Fdocs\u002Fzh-TW\u002Fskills\u002Fstrategic-compact\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":56},"01M7325MZC28SE86E7NMCNEFS4","security-review","Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment\u002Fsensitive features. Provides comprehensive security checklist and patterns.","https:\u002F\u002Fgithub.com\u002FSriramGandhiS\u002FSkills\u002Fblob\u002Fmaster\u002Fweb-assets\u002Fdocs\u002Fzh-TW\u002Fskills\u002Fsecurity-review\u002FSKILL.md",[],[]]